Seite 1 von 2

Probleme bei Einbinding mit PHP Code

Verfasst: 29.07.2004 20:54
von Kiss News
Hallo!
Ich habe den ChatBox Mod 1.1.9e installiert
Läuft auch perfekt auf der Index-Seite:
http://www.kissfanshop.de/phpbb2/index.php

Ich möchte den gleichen Chat aber auch in den Foren haben:
http://www.kissfanshop.de/phpbb2/viewforum.php?f=1

Prinzipiell läuft er dort auch, allerdings zeigt er mir die Chatters Online in den Foren nicht an (aber auf der Index-Seite schon). (Für Testversuche zum Einloggen: tester/tester) Das muss etwas mit dem Code in viewforum.php zu tun haben. Könnte mir bitte jemand sagen, wie ich diesen Code in viewforum.php richtig einbinde, sodass dort auch die Chatters online angezeigt werden :roll: ich denke, das Problem liegt beim letzten Teil... (die Beschreibung für den Mod ist ja nur für die Einbindung auf der Index.php)
#
#-----[ OPEN ]---------------------------------------------
#
index.php

#
#-----[ FIND ]---------------------------------------------
#
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),
'NEWEST_USER' => sprintf($lang['Newest_user'], '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$newest_uid") . '">', $newest_user, '</a>'),

#
#-----[ BEFORE, ADD ]--------------------------------------
#
// ChatBox Mod
require_once($phpbb_root_path . 'chatbox_front.php');

#
#-----[ FIND ]---------------------------------------------
#
'L_MARK_FORUMS_READ' => $lang['Mark_all_forums'],

#
#-----[ AFTER, ADD ]--------------------------------------
#
// ChatBox Mod
'TOTAL_CHATTERS_ONLINE' => sprintf($lang['How_Many_Chatters'], $howmanychat),
'CHATTERS_LIST' => sprintf($lang['Who_Are_Chatting' ], $chatters),
'L_CLICK_TO_JOIN_CHAT' => $lang['Click_to_join_chat'],
'S_JOIN_CHAT' => append_sid("chatbox_mod/chatbox.$phpEx"),
'CHATBOX_NAME' => $userdata['user_id'] . '_ChatBox', // To make easier to test on my PC
'L_LOGIN_TO_JOIN_CHAT' => $lang['Login_to_join_chat'],

#
Wäre dankbar für jeden Tipp :roll:

Verfasst: 31.07.2004 09:44
von Underhill
Hi,

wenn du die Ergaenzungen in dem Zitat deines Beitrages in die

Code: Alles auswählen

includes/page_header.php
packst, sind die Variablen auf allen Seiten verfuegbar...


Gruss
Underhill

Verfasst: 31.07.2004 11:29
von Kiss News
super :grin:

jetzt klappt es, danke für die Info :D

Verfasst: 31.07.2004 14:39
von Kiss News
leider war ich doch etwas voreilig.
seitdem ich den Code im includes/page_header.php habe, gibt es Probleme bei den Smilies.
Wenn man einen Beitrag schreibt, kommen die Smilies links im Fenster nicht, stattdessen kommt eine Error-Meldung (in dem Fenster links, und auch im Themenüberblick, wo man die letzten beiträge beim Posten lesen kann):

Allgemeiner Fehler

Could not check session for Ghosts

DEBUG MODE

SQL Error : 1146 Table 'DB86234.chatbox_session' doesn't exist

DELETE FROM chatbox_session WHERE lastactive < '1091275398'

Line : 38
File : /mnt/ls6/15/131/00000000/htdocs/phpbb2/chatbox_front.php
Die Smilies funktionieren, wenn man den Code händisch eingibt, nur sie werden links auf der Seite beim posten nicht angezeigt.
Hatte den Code übrigens in viewforum.php gelassen und nicht gelöscht.
habe ihn nun in viewforum.php gelöscht, der fehler besteht aber weiterhin.

Hier line 38 der chatbox_front.php
// Kill Ghosts
$sql = "DELETE FROM " . $table_chatbox_session_name . " WHERE lastactive < '" . (time() - 300) . "'";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not check session for Ghosts", "", __LINE__, __FILE__, $sql);
}
Wenn ich die Fehlerinformation richtig interpretiere, soll ich das machen:
DELETE FROM chatbox_session WHERE lastactive < '1091275398'
oder hab eich das falsch verstanden? Und wie soll ich das machen?

Für Infos wäre ich dankbar :roll:

UPDATE: vielleicht habe ich den Code falsch im page_header eingebaut?

hier mein Code im page_header:
ob_start();
include("counter/counter.php");
$chCounter = ob_get_contents();
ob_end_clean();
// ChatBox Mod
require_once($phpbb_root_path . 'chatbox_front.php');

//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//
$template->assign_vars(array(
// ChatBox Mod
'TOTAL_CHATTERS_ONLINE' => sprintf($lang['How_Many_Chatters'], $howmanychat),
'CHATTERS_LIST' => sprintf($lang['Who_Are_Chatting' ], $chatters),
'L_CLICK_TO_JOIN_CHAT' => $lang['Click_to_join_chat'],
'S_JOIN_CHAT' => append_sid("chatbox_mod/chatbox.$phpEx"),
'CHATBOX_NAME' => $userdata['user_id'] . '_ChatBox', // To make easier to test on my PC
'L_LOGIN_TO_JOIN_CHAT' => $lang['Login_to_join_chat'],
'L_Nickpagelist' => $lang['Nickpagelist'],
'U_Nickpagelist' => append_sid('nickpage_list.'.$phpEx),
NOCH EIN UPDATE:
nachdem ich den Code in viewforum rausgenommen habe, kann cih auch nicht mehr posten. Wenn ich auf absenden klicke, kommt folgende Meldung:
message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?
message_die() kommt in der includes/page_tail.pho übrigens NICHT vor.

Verfasst: 31.07.2004 15:48
von Underhill
hast du das

Code: Alles auswählen

require_once($phpbb_root_path . 'chatbox_front.php'); 
noch in anderen dateien eingebunden?


gruss
underhill

Verfasst: 31.07.2004 17:00
von Kiss News
ja, ich hatte den Code in viewforum.php und auch in der index.php belassen. Auch den anderen Code (den zweiten Teil).
Ich hatte dann die beiden Codeteile aus viewforum.php entfernt, hat aber nichts genutzt...

Verfasst: 31.07.2004 18:52
von Underhill
Ich glaube ich habe damals die

Code: Alles auswählen

require_once($phpbb_root_path . 'chatbox_front.php');


als

Code: Alles auswählen

include($phpbb_root_path . 'chatbox_front.php');
am ende der common.php eingefuegt...

klappt es dann?

Verfasst: 31.07.2004 19:03
von Kiss News
am Ende der common.php?

oder an dieser Stelle:
include($phpbb_root_path . 'config.'.$phpEx);

if( !defined("PHPBB_INSTALLED") )
{
header("Location: install/install.$phpEx");
exit;
}

include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/template.'.$phpEx);
include($phpbb_root_path . 'includes/sessions.'.$phpEx);
include($phpbb_root_path . 'includes/auth.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);

//
// Obtain and encode users IP
//
dort würde es "vom Aussehen her" hin passen, das ist allerdings in der Mitte. Am Ende sind da einige if-Schleifen bei mir...

und soll ich diesen Code dann vom includes/page_header.php entfernen?

und in der viewforum soll ich da auch alle Codes entfernen oder nicht?

Gruß,
Gerhard

Verfasst: 01.08.2004 10:09
von Underhill
versuche das einbinden der Datei nur einmal zentral in der common.php einzutragen... (alle anderen includes der chatbox_front wegmachen)... die andern Zuweisungen sollten keinen stress machen...

gruss
underhill

Verfasst: 01.08.2004 10:36
von Kiss News
sehr schön, danke, habe die eine Zeile nun in der common.php hinzugefügt und jetzt klappt es... hoffentlich!
Gruß,
Gerhard

P.S.: hast Du auch diesen Chat? Leider ist der ziemlich mies. kann man verbessern?