x7Chat mit PhpBB Integration klappt nicht

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Beitrag von Max »

Dann will ich mal nicht so sein.....


Vor einiger Zeit habe ich mir mal eine vernünftige Ausgabe der Anzahl der User sowie der Namen, die im Chat sind zusammengebaut, die funktioniert und bringt alle notwendigen Daten.

Code: Alles auswählen

portal.php

suche:

//
// Generate the page
//
$template->pparse('body');



davor einfügen:


// X7 Who is online Anfang
// x7chat2_ gegen den eigenen Präfix tauschen, falls bei Installation geändert
$exptime = time()-30;
$sql = "SELECT DISTINCT id, name FROM ".x7chat2_online." 
	WHERE invisible<>'1' AND time>'$exptime' 
	ORDER BY name ASC";
if( $result = $db->sql_query( $sql ) )
{
	$num_users_x7 = $db->sql_numrows( $result );
	$users_x7 = '';
	while( $row = $db->sql_fetchrow( $result ) )
	{
	$users_x7 .= $row[ 'name' ] . ", ";
	}
	$users_x7 = rtrim( $users_x7, ", " );
	$db->sql_freeresult( $result );
}
 $template->assign_vars(array( 
    'L_X7_LIST'   => $users_x7));
// X7 Who is online Ende



portal_body.tpl

suche eine passende Tabelle und füge folgenden Code ein (ggf. anpassen)

<tr>
<td class="row2"><span class="genmed"><a href="{U_X7CHAT}">{L_X7COUNT}</a><br />{L_X7_LIST}</span></td>
</tr>
<tr>
<td class="row1">
<a href="{U_X7CHAT}">Chat betreten</a>
</td>
</tr>



includes/page_header.php


suche:

	$l_online_users .= sprintf($l_g_user_s, $guests_online);
}


danach einfügen:

$chat_link = append_sid('X7-ORDNER/index.php')."\" onclick=\"window.open('".append_sid('X7-ORDNER/index.php')."', '_x7chatpop', 'WIDTH=720,HEIGHT=580,resizable=yes,scrollbars=yes');return false;\" target=\"_x7chatpop\" onLoad=\"document.x7chat.focus();";


suche:

$template->assign_vars(array(
	'SITENAME' => $board_config['sitename'],


DAVOR einfügen:

// X7 Counter Anfang
// x7chat2_ gegen den eigenen Präfix tauschen, falls bei Installation geändert
  $exptime = time()-30;
	$sql = "SELECT COUNT(id) as total_chatter	FROM " .x7chat2_online." WHERE invisible<>'1' AND time>'$exptime'";
  if ($result = $db->sql_query($sql))
  {
		$template->assign_block_vars('switch_x7_view', array());
	}
	$countrow = $db->sql_fetchrow($result);
  $x7_on = ('<b>(' . $countrow['total_chatter'] . ')</b>' . '&nbsp;' . 'User im Chat:');
  $x7_on_h = ('Chat&nbsp;/&nbsp;<b>(' . $countrow['total_chatter'] . ')</b>' . '&nbsp;' . 'Besucher');
 $template->assign_vars(array( 
    'L_H_X7COUNT'   => $x7_on_h, 
    'L_X7COUNT'   => $x7_on));
// X7 Counter Ende 


suche:

'L_USERNAME' => $lang['Username'],


danach einfügen:

'U_X7CHAT' => $chat_link,



und jetzt ist in jeder *.tpl das hier verfügbar:

{L_H_X7COUNT}

und

{L_X7COUNT}


und:

{U_X7CHAT}



denkbar wäre z.B.:

<a href="{U_X7CHAT}" title="CHAT">•&nbsp;{L_H_X7COUNT}</a>

das ergibt:

Chat / ( xx ) Besucher 

und ist als Link klickbar

Viel Spaß damit ;-)



Gruß Max



EDIT = kleine Code-Korrektur
Zuletzt geändert von Max am 23.12.2007 14:09, insgesamt 1-mal geändert.
Benutzeravatar
powersilie
Mitglied
Beiträge: 822
Registriert: 09.10.2004 13:35
Wohnort: Österreich
Kontaktdaten:

Beitrag von powersilie »

Hallo Max!

Erst mal vieeeelen dank dafür, das ist ja ein Weihnachtsgeschenk!

Muß nur in der portal.php was ändern, ich habe diese Stelle nicht.

Aaaber - bei mir funktioniert der Link {U_X7CHAT} nicht, komme immer auf die index.php meines Forums.

Und in der includes/page_header.php ist er ja als Popup drin, was ich auch nicht möchte, weil der x7 ja eine eigene index.php hat und ich möchte, daß diese Seite öffnet und kein Popup.

Hm, wie stelle ich das an??

Ich versprechs, ich quäle Dich nie wieder :wink:

Danke Dir und
lg
Powersilie
Ich bin nicht auf der Welt, um so zu sein, wie ANDERE mich gerne hätten ...
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Beitrag von Max »

powersilie hat geschrieben: - bei mir funktioniert der Link {U_X7CHAT} nicht, komme immer auf die index.php meines Forums.
Da hatte ich noch den etwas mehr auf meine Bedürfnisse spezialisierten Code nicht ganz offen angepasst.
Das ist oben nun korrigiert. Nun muss der Bereich X7-ORDNER auf den Namen des Ordners mit dem X7 angepasst werden (zwei Mal in der Zeile)
powersilie hat geschrieben: Und in der includes/page_header.php ist er ja als Popup drin, was ich auch nicht möchte, weil der x7 ja eine eigene index.php hat und ich möchte, daß diese Seite öffnet und kein Popup.

Wenn es kein Popup sein soll, dann mach das:

Diese Zeile muss gar nicht in die page_header.php

Code: Alles auswählen

$chat_link = append_sid('X7-ORDNER/index.php')."" onclick="window.open('".append_sid('X7-ORDNER/index.php')."', '_x7chatpop', 'WIDTH=720,HEIGHT=580,resizable=yes,scrollbars=yes');return false;" target="_x7chatpop" onLoad="document.x7chat.focus();"; 

dann muss statt:
'U_X7CHAT' => $chat_link,



'U_X7CHAT' => "X7-ORDNER/index.php",

in die page_header.php
(hier auch wieder X7-ORDNER dem selbst verwendeten Pfad anpassen)



Wegen Deiner portal.php musst Du dann einfach einen anderen Platz suchen, das ist aber eigentlich nicht besonders dramatisch ;-)
Oder Du packst den Code einfach mit in die page_header.php, gleich unter den Code für den Counter vom X7.


Gruß Max
Benutzeravatar
powersilie
Mitglied
Beiträge: 822
Registriert: 09.10.2004 13:35
Wohnort: Österreich
Kontaktdaten:

Beitrag von powersilie »

Lieber Max!

Ich danke Dir herzlich, das war die ERSTE brauchbare Lösung, die für den X7 funktioniert, dafür kriegst ein großes Weihnachtsbussi :D

Klappt alles. Es wird die Anzahl der Chatter angezeigt, aber nach dem Doppelpunkt keine Namen.
Ist das OK so, oder hab ich wieder Mist gebaut??

Liebe Grüße
Powersilie
Ich bin nicht auf der Welt, um so zu sein, wie ANDERE mich gerne hätten ...
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Beitrag von Max »

powersilie hat geschrieben:Klappt alles. Es wird die Anzahl der Chatter angezeigt, aber nach dem Doppelpunkt keine Namen.
Für die Namen ist das hier zuständig:

Code: Alles auswählen

// X7 Who is online Anfang 
// x7chat2_ gegen den eigenen Präfix tauschen, falls bei Installation geändert 
$exptime = time()-30; 
$sql = "SELECT DISTINCT id, name FROM ".x7chat2_online." 
   WHERE invisible<>'1' AND time>'$exptime' 
   ORDER BY name ASC"; 
if( $result = $db->sql_query( $sql ) ) 
{ 
   $num_users_x7 = $db->sql_numrows( $result ); 
   $users_x7 = ''; 
   while( $row = $db->sql_fetchrow( $result ) ) 
   { 
   $users_x7 .= $row[ 'name' ] . ", "; 
   } 
   $users_x7 = rtrim( $users_x7, ", " ); 
   $db->sql_freeresult( $result ); 
} 
 $template->assign_vars(array( 
    'L_X7_LIST'   => $users_x7)); 
// X7 Who is online Ende 

Und {L_X7_LIST} gibt die Namen aus.

Aber dafür muss dann der Codeabschnitt, den ich hier oben gepostet habe, auch in der zuständigen *.php eingebaut sein, oder in der page_header.php
Außerdem muss der Tabellenpräfix passen.



Gruß Max
Benutzeravatar
powersilie
Mitglied
Beiträge: 822
Registriert: 09.10.2004 13:35
Wohnort: Österreich
Kontaktdaten:

Beitrag von powersilie »

Jepp, alles klar, hab den Code in den page_header eingebaut und jetzt ist es perfekt!

Ich bin echt happy, daß es nun funzt und wünsche Dir frohe Weihnachten!

[ externes Bild ]

lg
Powersilie
Ich bin nicht auf der Welt, um so zu sein, wie ANDERE mich gerne hätten ...
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Beitrag von Max »

powersilie hat geschrieben:... und wünsche Dir frohe Weihnachten!
Danke, wünsche ich Dir auch :-)



Gruß Max
Benutzeravatar
Savigny
Mitglied
Beiträge: 68
Registriert: 07.06.2007 12:44
Wohnort: Berlin

Ausgabe von "Niemand" wenn 0 User im X7-Chat?

Beitrag von Savigny »

Klasse, Max, das habe ich tagelang gesucht! Vielen Dank dafür :D!


Jetzt werde ich etwas übermütig und "schiebe" noch eine Frage hinterher ;):

Ist es "einfach" möglich die Ausgabe so anzupassen, daß bei "0 Usern im Chat" als Name "niemand" ausgegeben wird? Damit ließe sich "die Leere" hinter einem Doppelpunkt vermeiden :)


und wer vielleicht nach der Beschreibung von Max vergeblich bei sich die portal.php sucht: Die hat man nur, wenn man den entsprechenden intro_and_portal Mod installiert hat. Alternativ nimmt man die index.php und dann auch die index_body.tpl ;).
Zur Ausgabe der Zahl der User im Chat kann man ergänzend auch auf den Mod auf der Seite von X7 zurückgreifen: Full PhpBB2 Integration Mod.
Max
Mitglied
Beiträge: 1051
Registriert: 20.02.2003 22:22

Re: Ausgabe von "Niemand" wenn 0 User im X7-Chat?

Beitrag von Max »

Savigny hat geschrieben:Jetzt werde ich etwas übermütig und "schiebe" noch eine Frage hinterher ;):

Ist es "einfach" möglich die Ausgabe so anzupassen, daß bei "0 Usern im Chat" als Name "niemand" ausgegeben wird? Damit ließe sich "die Leere" hinter einem Doppelpunkt vermeiden :)

Ja.

Einfach das hier:

Code: Alles auswählen

 $template->assign_vars(array( 
    'L_X7_LIST'   => $users_x7));
gegen:

Code: Alles auswählen

if (!$users_x7)
{
 $template->assign_vars(array( 
    'L_X7_LIST'   => 'niemand' ));
}
else
{
 $template->assign_vars(array( 
    'L_X7_LIST'   => $users_x7));
}
austauschen.



Gruß Max
Benutzeravatar
powersilie
Mitglied
Beiträge: 822
Registriert: 09.10.2004 13:35
Wohnort: Österreich
Kontaktdaten:

Beitrag von powersilie »

Hallo Max!

Vielen Dank, prima, hab ich auch eben geändert und es klappt super!

lg
Powersilie
Ich bin nicht auf der Welt, um so zu sein, wie ANDERE mich gerne hätten ...
Antworten

Zurück zu „phpBB 2.0: Mod Support“