phpBB TS Mod aus phpBB2 in phpBB 3 einbinden?
Verfasst: 28.08.2009 19:12
Hallo ich versuche derzeit etwas vergeblich nach einen Update auf phpBB (3.0.5) das TS User Mod wieder an laufen zu bekommen, leider hat sich in der Datei Struktur etwas viel getan, das ich nun nicht mehr wirklich durch schaue wo was hin gehört.
Hier mal aus der mod Anleitung:
Bis hierher kein Problem ...
Auch das hab ich mit etwas suchen gefunden die Datein sind ja nun html. Habe sie aber nicht gleich komplett ersetrzt sondern erst mal nur das {tsuser} eingebaut.
Hier bin ich nicht sicher ob es wirklich die Functions sein soll ?! Oder die functions_display.php
So nun wirds richtig Lustig hier hat sich der code doch stark geändert.
Zum einen muss es nun wohl von schreibart so aussehen:
Doch in welche der vielen deutschen Lang´s gehört der Code nun ?
Wenn ich nun in der Template Datei irgendwo {tsuser} einsetzte wird dies nicht aufgeschlüsselt sondern genau so angezeigt.
Hier mal aus der mod Anleitung:
Code: Alles auswählen
#-----[ OPEN ]------------------------------------------
#
index.php
#
#-----[ FIND ]------------------------------------------
#
include($phpbb_root_path . 'common.'.$phpEx);
#
#-----[ AFTER, ADD ]------------------------------------------
#
include($phpbb_root_path . 'tsuser.'.$phpEx);
#
#-----[ 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>'),
#
#-----[ AFTER, ADD ]------------------------------------------
#
'tsuser' => getTSInfo($ip,$port,$tPort,$basic,$bgcolor),
Bis hierher kein Problem ...
Code: Alles auswählen
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/index_body.tpl
#
#-----[ FIND ]------------------------------------------
#
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} [ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
#
#-----[ REPLACE WITH ]------------------------------------------
#
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} [ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]<br /> {tsuser} <br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
Code: Alles auswählen
#-----[ OPEN ]------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
function getTSInfo($ip,$port,$tPort,$basic,$bgcolor)
{
function indexOf($str,$strChar)
{
if(strlen(strchr($str,$strChar))>0) {
$position_num = strpos($str,$strChar) + strlen($strChar);
return $position_num;
} else {
return -1;
}
}
global $name, $lang;
$out = "";
$fp = @fsockopen($ip, $tPort, $errno, $errstr, 5);
if(!$fp) {$tsuser_fkt=$lang['ts_user_off'];}
if($fp) {
fputs($fp, "sel ".$port."\n");
fputs($fp, "si\n");
fputs($fp, "quit\n");
while(!feof($fp)) {
$out .= fgets($fp, 1024);
}
$out = str_replace("[TS]", "", $out);
$out = str_replace("OK", "", $out);
$out = trim($out);
$name=substr($out,indexOf($out,"server_name="),strlen($out));
$name=substr($name,0,indexOf($name,"server_platform=")-strlen("server_platform="));
$ts_user=substr($out,indexOf($out,"server_currentusers="),strlen($out));
$ts_user=substr($ts_user,0,indexOf($ts_user,"server_currentchannels=")-strlen("server_currentchannels="));
if($ts_user >2)
{
$tsuser_fkt= "Insgesamt sind <b>".$ts_user."</b> Benutzer auf dem TeamSpeak-Server.\n";
}
elseif($ts_user >1)
{
$tsuser_fkt= $lang['ts_user_1'];
}
else
{
$tsuser_fkt = $lang['ts_user_0'];
}
fclose($fp);
}
return $tsuser_fkt;
}
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
language/lang_german/lang_main.php
#
#-----[ FIND ]------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$lang['ts_user_off'] = '<b>Unser Teamspeakserver ist leider offline</b>';
$lang['ts_user_0'] = 'Es ist <b>kein</b> Benutzer auf dem TeamSpeak-Server.';
$lang['ts_user_1'] = 'Insgesamt ist <b>ein</b> Benutzer auf dem TeamSpeak-Server.';
Zum einen muss es nun wohl von schreibart so aussehen:
Code: Alles auswählen
'ts_user_off' => 'Unser Teamspeakserver ist leider offline',
'ts_user_0' => 'Es ist <b>kein</b> Benutzer auf dem TeamSpeak-Server.',
'ts_user_1' => 'Insgesamt ist <b>ein</b> Benutzer auf dem TeamSpeak-Server.',
Wenn ich nun in der Template Datei irgendwo {tsuser} einsetzte wird dies nicht aufgeschlüsselt sondern genau so angezeigt.