Chat wer ist online Anzeige

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Chat wer ist online Anzeige

Beitrag von 4seven »

dann müsstest du den fehler ja erkennen

Code: Alles auswählen

$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
und, klingelts?
Woodstock
Mitglied
Beiträge: 61
Registriert: 16.05.2009 12:18

Re: Chat wer ist online Anzeige

Beitrag von Woodstock »

Steh auf dem Schlauch, es klingelt nicht.... nicht mal entfernt.

Hab ich den Code vor

Code: Alles auswählen

$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
falsch eingebaut oder ist da noch ein anderer Fehler, den ich einfach nicht sehe? Dazu muss ich zugeben,
dass meine Kenntnisse nicht gerade umwerfend sind und ich daher keinen
blassen Schimmer hab, worauf Du mich gerade zu bringen versuchst. :roll:

LG Woodstock
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Chat wer ist online Anzeige

Beitrag von 4seven »

guck mal genau

includes/functions.php

du hast das

Code: Alles auswählen

                      if(in_array($row['user_id'], getChatOnlineUserIDs()))
                      {
                         $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                      }
nicht genau vor dem hier eingefügt

Code: Alles auswählen

                      $online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;

und nächstes mal füge den code ein, bei einem screenshot kann ich nichts kopieren oder meinst du ich tip jetzt den code ab. guck dir mal den screen genau an und vergleich es mit dem oben geschriebenen.

--------------------------

ferne checke alle einbauten nochmal ganz genau

besonders auch den part *** auch nochmal gegenchecken
Integrierung

*** Als erstes, das AddIn vom Autor :
(habs mal hierher übertragen)


In der Datei includes/functions.php

Füge das...

Code: Alles auswählen

    function getChatInterface() {
       static $ajaxChat;
 
       if(!$ajaxChat) {
          // URL to the chat directory:
          if(!defined('AJAX_CHAT_URL')) {
             define('AJAX_CHAT_URL', './chat/');
          }
 
          // Path to the chat directory:
          if(!defined('AJAX_CHAT_PATH')) {
             define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/chat').'/');
          }
 
          // Validate the path to the chat:
          if(@is_file(AJAX_CHAT_PATH.'lib/classes.php')) {
 
             // Include Class libraries:
             require_once(AJAX_CHAT_PATH.'lib/classes.php');
 
             // Initialize the chat interface:
             $ajaxChat = new CustomAJAXChatInterface();
          }
       }
 
       return $ajaxChat;
    }
 
    function getChatOnlineUsers() {
       return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUsers() : array();
    }
 
    function getChatOnlineUserIDs() {
       return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUserIDs() : array();
    }
vor dem ein

Füge das...

Code: Alles auswählen

                      if(in_array($row['user_id'], getChatOnlineUserIDs()))
                      {
                         $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                      }
vor dem ein

Code: Alles auswählen

                      $online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;

Füge das...
'CHAT_LINK' => 'chat/',
'CHAT_LABEL' => 'Chat ['.count(getChatOnlineUserIDs()).']',
'CHAT_TITLE' => 'Online: '.htmlentities(implode(', ', getChatOnlineUsers()), ENT_QUOTES, 'UTF-8'),
Anm: Bei Problemen, an fettmarkierter Stelle anpassen.

Siehe dazu auch hier:
http://www.phpbb.de/viewtopic.php?p=958092#958092

nach dem ein

Code: Alles auswählen

    // The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array(
------------------

Dann (My Version)

Öffne

styles/xxxxx/template/index_body.html

für prosilver
<br />{LOGGED_IN_USER_LIST}<br />User im {CHAT_LABEL} - {CHAT_TITLE}
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
für subsilver2
<br />{LOGGED_IN_USER_LIST}<br />User im {CHAT_LABEL} - {CHAT_TITLE}</span></td>
</tr>
<!-- IF LEGEND -->
<tr>
<td class="row1"><b class="gensmall">{L_LEGEND} : {LEGEND}</b>
Jeweils Fettmarkiertes einbauen. Dann erscheint es so, wie im Demo-Board unten: Gäste in (Klammern), Board-Member normal.

-----------------------------

Als Mouseover in der styles/xxxxx/template/overall_header.html (Standard) folgendermaßen.

für prosilver
<ul class="linklist rightside">
<li class="icon-chat"><a href="{CHAT_LINK}" title="{CHAT_TITLE}">{CHAT_LABEL}</a></li>
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
für subsilver2
<td class="genmed" align="{S_CONTENT_FLOW_END}">
<a href="{CHAT_LINK}" title="{CHAT_TITLE}">{CHAT_LABEL}</a>
<a href="{U_FAQ}"><img src="{T_THEME_PATH}/images/icon_mini_faq.gif" width="12" height="13" alt="*" /> {L_FAQ}</a>
Wieder jeweils Fettmarkiertes einbauen. Dann erscheint es so, wie hier im Demo-Board oben.
Woodstock
Mitglied
Beiträge: 61
Registriert: 16.05.2009 12:18

Re: Chat wer ist online Anzeige

Beitrag von Woodstock »

Ok hier die Code-Zeilen (3800 - 3819) der functions.php

Code: Alles auswählen

// User is logged in and therefore not a guest
			if ($row['user_id'] != ANONYMOUS)
			{
				if (isset($online_users['hidden_users'][$row['user_id']]))
				{
					$row['username'] = '<em>' . $row['username'] . '</em>';
				}

				if (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline'))
				{
					$user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);                     
		 if(in_array($row['user_id'], getChatOnlineUserIDs()))
                      {
                         $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                      }
		$online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
				}
			}
		}
		$db->sql_freeresult($result);
	}
Zeilen 4069 - 4085

Code: Alles auswählen

	// The following assigns all _common_ variables that may be used at any point in a template.
	$template->assign_vars(array(
		'CHAT_LINK' => '../../chat/',
		'CHAT_LABEL' => 'Chat ['.count(getChatOnlineUserIDs()).']',
		'CHAT_TITLE' => 'Online: '.htmlentities(implode(', ', getChatOnlineUsers()), ENT_QUOTES, 'UTF-8'),
		'SITENAME'						=> $config['sitename'],
		'SITE_DESCRIPTION'				=> $config['site_desc'],
		'PAGE_TITLE'					=> $page_title,
		'SCRIPT_NAME'					=> str_replace('.' . $phpEx, '', $user->page['page_name']),
		'LAST_VISIT_DATE'				=> sprintf($user->lang['YOU_LAST_VISIT'], $s_last_visit),
		'LAST_VISIT_YOU'				=> $s_last_visit,
		'CURRENT_TIME'					=> sprintf($user->lang['CURRENT_TIME'], $user->format_date(time(), false, true)),
		'TOTAL_USERS_ONLINE'			=> $l_online_users,
		'LOGGED_IN_USER_LIST'			=> $online_userlist,
		'RECORD_USERS'					=> $l_online_record,
		'PRIVATE_MESSAGE_INFO'			=> $l_privmsgs_text,
		'PRIVATE_MESSAGE_INFO_UNREAD'	=> $l_privmsgs_text_unread,
Zeilen 4374 - 4408

Code: Alles auswählen

 function getChatInterface() {
       static $ajaxChat;

       if(!$ajaxChat) {
          // URL to the chat directory:
          if(!defined('AJAX_CHAT_URL')) {
             define('AJAX_CHAT_URL', './chat/');
          }

          // Path to the chat directory:
          if(!defined('AJAX_CHAT_PATH')) {
             define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/chat').'/');
          }

          // Validate the path to the chat:
          if(@is_file(AJAX_CHAT_PATH.'lib/classes.php')) {

             // Include Class libraries:
             require_once(AJAX_CHAT_PATH.'lib/classes.php');

             // Initialize the chat interface:
             $ajaxChat = new CustomAJAXChatInterface();
          }
       }

       return $ajaxChat;
    }

    function getChatOnlineUsers() {
       return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUsers() : array();
    }

    function getChatOnlineUserIDs() {
       return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUserIDs() : array();
    }
?>
index_body.html (Prosilver)

Code: Alles auswählen

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<!-- IF U_VIEWONLINE --><h3><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a></h3><!-- ELSE --><h3>{L_WHO_IS_ONLINE}</h3><!-- ENDIF -->
	<p>{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /> 
	<br />{LOGGED_IN_USER_LIST}<br />User im {CHAT_LABEL} - {CHAT_TITLE}
<!-- IF LEGEND --><br /><em>{L_LEGEND}: {LEGEND}</em><!-- ENDIF --></p>
LG Woodstock
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Chat wer ist online Anzeige

Beitrag von 4seven »

und dennoch läufts nicht? sehr merkwürdig

ich habe grade gesehen, das der ug. teil in meiner functions.php garnicht drin ist.
möglicherweise war das damals ein fix, ist ewig her, kann mich da nicht mehr genau erinnern.

schmeiß das mal testweise aus der anleitung raus

Code: Alles auswählen

                      if(in_array($row['user_id'], getChatOnlineUserIDs()))
                      {
                         $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                      } 
und leere ausnahmslos alle board- und browser-caches
Woodstock
Mitglied
Beiträge: 61
Registriert: 16.05.2009 12:18

Re: Chat wer ist online Anzeige

Beitrag von Woodstock »

So hab die roten Bereiche rausgeworfen,

Code: Alles auswählen

 if(in_array($row[], getChatOnlineUserIDs()))
                      {
                         $user_online_link = .strip_tags($row[]). .$user_online_link.;
Es kommt die Fehleranzeige

Fatal error: Cannot use [] for reading in /xxxxx/xxxx/www/phpbb3/includes/functions.php on line 3811

Wie gesagt.. meine Kenntnisse sind sehr bescheiden und trotzdem schon mal Danke für Deine
Mühe und Geduld.


LG Woodstock
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Chat wer ist online Anzeige

Beitrag von 4seven »

Code: Alles auswählen

                          if(in_array($row['user_id'], getChatOnlineUserIDs()))
                          {
                             $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                          }  
meint dasselbe wie das

Code: Alles auswählen

                          if(in_array($row['user_id'], getChatOnlineUserIDs()))
                          {
                             $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
                          } 
ist nur als highlight formatiert

hier siehst du den unterschied

Code: Alles auswählen

[code=php]$code;

Code: Alles auswählen

$code;
[/code]

es sollte natürlich alles raus :wink:
Woodstock
Mitglied
Beiträge: 61
Registriert: 16.05.2009 12:18

Re: Chat wer ist online Anzeige

Beitrag von Woodstock »

achso, lol :D

Also ich hab diesen Part jetzt komplett rausgenommen,alle Caches geleert, leider immer noch mit demselben Ergebnis,
dass im Chat befindliche User nicht angezeigt werden.

LG Woodstock
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Chat wer ist online Anzeige

Beitrag von 4seven »

dann hast du einen problem-style oder problem-board oder beides, nichts zu machen. versuchs mal mit einer frischen phpbb3 3.0.6 zweit-installation in einem anderen ordner auf deinem space und teste das mal mit einem standard-style (prosilver oder subsilver2). wenn es dann klappt, vergleiche mal die chat-relevanten phpbb3-dateien mit windiff oä.
eine andere chance seh ich da nicht..
Woodstock
Mitglied
Beiträge: 61
Registriert: 16.05.2009 12:18

Re: Chat wer ist online Anzeige

Beitrag von Woodstock »

So noch mal ich.. ich hab jetzt den Chat testweise ins Forenverzeichnis ..forum/chat....
gelegt, alles andere bis auf die zuletzt hier von Dir vorgeschlagenen Änderungen belassen,
den Pfad zum Chat natürlich noch angepasst.

Jetzt klappt es! Die User im Chat werden angezeigt.

Kapier ich zwar nicht, aber Dir schon mal einen Riesen Dank.

Das war einfach super klasse Support.


LG Woodstock
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“