Seite 1 von 3

Anzeige wer in welchem Forum On ist

Verfasst: 01.01.2005 12:50
von [nTc]Phoenix
Hi Leute,
Ich habe des Smooth Blue Template auf meiner phpBB version drauf, und das Prob ist aber das Mod war es hier schon gibt von dem "Acid" oder so, geht bei mir nicht!
Es wird NICHTS angezeigt.
Gibts es irgend wie ein Mod was man richtig installieren kann?

Denn Die Variablen zb. die man zetzten muss ind die index_Body gibts es bei meinem Template net!

URL zum Forum lautet: http://forum.webspace-4you.info

Verfasst: 01.01.2005 13:20
von Nico Haase
normalerweise kommt die anzeige ja auch in der viewonline.php zustande, da ist aber ein dicker fehler drin, siehe http://www.webspace-4you.info/php/forum/viewonline.php. zu dem anderen mod: was soll denn da in die index_body.tpl eingebaut werden? ich kenne den mod leider nicht und kann so auch nciht helfen

Verfasst: 01.01.2005 13:22
von [nTc]Phoenix
##########################################################################################
##
## MOD Titel: Wer ist in welchem Forum aktiv - Index
## MOD Version: 1.2.0
## Autor: Acid
##
## Beschreibung: Dieser Hack zeigt auf dem Index an, welcher User in welchem
## Forum aktiv ist.
##
## Dateien zu ändern: 3
## index.php
## language/lang_german/lang_main.php
## templates/xxx/index_body.tpl
##
##########################################################################################
##
## Notiz:
## Als erstes sollte man alle betreffenden Dateien sichern.
##
## Der Code stammt teilweise aus der page_header.php.
## Am Ende dieser Datei findet man noch einen optionalen Teil.
##
##########################################################################################
##
## Versionen:
##
## v1.2.0 - umgeschrieben (weniger Queries)
## v1.0.3 - Junior Admins/Supermoderatoren werden nun auch farblich hervorgehoben
## - hatte noch vergessen einen Testcode zu löschen
## v1.0.2 - Fehler in index_body.tpl behoben
## v1.0.1 - Code bereinigt und optionalen Teil hinzugefügt
## v1.0.0 - Veröffentlichung
##
##########################################################################################
#
#-----[ ÖFFNEN ]------------------------------------------
#
# index.php
#
#-----[ FINDE ]------------------------------------------
#
while( $row = $db->sql_fetchrow($result) )
{
$forum_moderators[$row['forum_id']][] = '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=" . $row['group_id']) . '">' . $row['group_name'] . '</a>';
}
$db->sql_freeresult($result);

#
#-----[ DARUNTER EINFÜGEN ]------------------------------------------
#
$sql_active = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip, f.forum_id
FROM ". USERS_TABLE ." u, ". SESSIONS_TABLE ." s, ". FORUMS_TABLE ." f
WHERE u.user_id = s.session_user_id AND s.session_time >= ". (time() - 300) ." AND s.session_page = f.forum_id
ORDER BY u.username ASC, s.session_ip ASC";
if( !($result_active = $db->sql_query($sql_active)) )
{
message_die(GENERAL_ERROR, 'could not obtain user/online information.', '', __LINE__, __FILE__, $sql_active);
}

$userlist_ary = array();
$userlist_visible = array();
$prev_userid = 0;
$prev_userip = $prev_sessionip = '';
while( $active = $db->sql_fetchrow($result_active) )
{
if( $active['session_logged_in'] )
{
if( $active['user_id'] != $prev_userid )
{
if( file_exists(@phpbb_realpath($phpbb_root_path .'includes/functions_color_groups.'.$phpEx)) )
{
include_once($phpbb_root_path .'includes/functions_color_groups.'.$phpEx);
$active['username'] = color_group_colorize_name($active['user_id']);
}
else
{

if( file_exists(@phpbb_realpath($phpbb_root_path .'includes/functions_jr_admin.'.$phpEx)) )
{
include_once($phpbb_root_path .'includes/functions_jr_admin.' . $phpEx);
$jr_admin_userdata = jr_admin_get_user_info($active['user_id']);
}

$style_color = '';
if( $active['user_level'] == ADMIN )
{
$active['username'] = '<b>'. $active['username'] .'</b>';
$style_color = 'style="color:#'. $theme['fontcolor3'] .'"';
}
else if( $active['user_id'] == $jr_admin_userdata['user_id'] || $active['user_level'] == LESS_ADMIN )
{
$active['username'] = '<b>'. $active['username'] .'</b>';
$style_color = 'style="color:#FF0000"';
}
else if( $active['user_level'] == MOD )
{
$active['username'] = '<b>'. $active['username'] .'</b>';
$style_color = 'style="color:#'. $theme['fontcolor2'] .'"';
}
}

if( $active['user_allow_viewonline'] )
{
$onlinerow[$active['forum_id']][] = '<a href="'. append_sid("profile.$phpEx?mode=viewprofile&". POST_USERS_URL ."=". $active['user_id']) .'" '. $style_color .'>'. $active['username'] .'</a>';
$logged_visible_active[$active['forum_id']][]++;
}
else
{
$onlinerow[$active['forum_id']][] = ( $active['user_allow_viewonline'] || $userdata['user_level'] == ADMIN ) ? '<a href="'. append_sid("profile.$phpEx?mode=viewprofile&". POST_USERS_URL ."=". $active['user_id']) .'" '. $style_color .'><i>'. $active['username'] .'</i></a>' : '';
$logged_hidden_active[$active['forum_id']][]++;
}
}
$prev_userid = $active['user_id'];
}
else
{
if( $active['session_ip'] != $prev_sessionip )
{
$guestrow[$active['forum_id']][] = '';
$guests_active[$active['forum_id']][]++;
}
}
$prev_sessionip = $active['session_ip'];
}
$db->sql_freeresult($result_active);

#
#-----[ FIND ]------------------------------------------
#
$template->assign_block_vars('catrow.forumrow', array(
'ROW_COLOR' => '#' . $row_color,

#
#-----[ REPLACE WITH ]------------------------------------------
#
if( count($onlinerow[$forum_id]) > '0' )
{
$users_total_guests = count($guests_active[$forum_id]);
$l_guests_total = ( $users_total_guests != '0' ) ? (( $users_total_guests == '1' ) ? $lang['Forum_one_guest_active'] : $lang['Forum_more_guests_active']) : '';
}
else
{
$users_total_guests = '&nbsp;';
$l_guests_total = '';
}

if( count($onlinerow[$forum_id]) > '0' )
{
$users_total = count($onlinerow[$forum_id]);
$users_total_hidden = count($logged_hidden_active[$forum_id]);
$users_active = implode(', ', $onlinerow[$forum_id]);

$l_active_total = ( $users_total == '1' ) ? $lang['Forum_one_active'] : $lang['Forum_more_active'];
$l_hidden_total = ( ($users_total_hidden != '0' ) ? ( $userdata['user_level'] == ADMIN ) ? '' : (( $users_total_hidden == '1' ) ? $lang['Forum_one_hidden_active'] : $lang['Forum_more_hidden_active']) : '');
}
else
{
$users_total = '&nbsp;';
$users_total_hidden = '&nbsp;';
$users_active = '&nbsp;';

$l_active_total = $lang['Forum_no_active'];
$l_hidden_total = '';
}

$template->assign_block_vars('catrow.forumrow', array(
'ACTIVE' => $users_active,
'ACTIVE_TOTAL' => sprintf($l_active_total, ($users_total+$users_total_guests)),
'ACTIVE_INFO' => sprintf($l_hidden_total, $users_total_hidden).sprintf($l_guests_total, $users_total_guests),


#
#-----[ ÖFFNEN ]------------------------------------------
#
# language/lang_german/lang_main.php
#
#-----[ FINDE ]------------------------------------------
#
$lang['Moderators'] = 'Moderatoren';

#
#-----[ DARUNTER EINFÜGEN ]------------------------------------------
#
// wenn man keine "0 users" anzeigen will, muss man die Auskommentierung (//) der
// folgenden Zeile entfernen und die Slashes vor die darauffolgende Zeile einfügen
// $lang['Forum_no_active'] = '';
$lang['Forum_no_active'] = '<b>0</b> User aktiv'; // <-- diese
$lang['Forum_one_active'] = '<b>%d</b> User aktiv: ';
$lang['Forum_more_active'] = '<b>%d</b> User aktiv: ';
$lang['Forum_one_hidden_active'] = '<b>%d</b> versteckter';
$lang['Forum_more_hidden_active'] = '<b>%d</b> versteckte';
$lang['Forum_one_guest_active'] = '<b>%d</b> Gast';
$lang['Forum_more_guests_active'] = '<b>%d</b> Gäste';


#
#-----[ ÖFFNEN ]------------------------------------------
#
# templates/xxx/index_body.tpl
#
#-----[ FINDE ]------------------------------------------
#
</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>

#
#-----[ MIT FOLGENDEM ERSETZEN ]------------------------------------------
# falls man ein anderes Template als subSilver benutzt und/oder den obigen Code nicht
# finden kann, muss man nach nur einem Teil von diesem suchen

</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span><br />
<span class="gensmall">{catrow.forumrow.ACTIVE_TOTAL} {catrow.forumrow.ACTIVE} {catrow.forumrow.ACTIVE_INFO}</span></td>


##########################################################################################
#
#-----[ OPTIONALER TEIL ]---------------------------------------------
#
# wenn man den "Junior Admin" oder "Supermoderator" MOD installiert hat und die angezeigte
# Farbe ändern möchte
#
#-----[ FINDE (index.php) ]------------------------------------------
#
# ersetze #FF0000 mit der jeweiligen Farbe

else if( $active['user_id'] == $jr_admin_userdata['user_id'] || $active['user_level'] == LESS_ADMIN )
{
$active['username'] = '<b>'. $active['username'] .'</b>';
$style_color = 'style="color:#FF0000"';
}

#
#-------------------------------------------------------------------
#
# wenn diese Aktivitäten nur für Admins angezeigt werden sollen
#
#-----[ FINDE (index.php) ]------------------------------------------
#
if( count($onlinerow[$forum_id]) > '0' )

#
#-----[ MIT FOLGENDEM ERSETZEN ]------------------------------------------
#
if( count($onlinerow[$forum_id]) > '0' && $userdata['user_level'] == ADMIN )


#
#-------------------------------------------------------------------
#
# wenn diese Aktivitäten jeweils nur für den jeweiligen Moderator
# des Forums angezeigt werden sollen
#
#-----[ FINDE (index.php) ]------------------------------------------
#
if( count($onlinerow[$forum_id]) > '0' )

#
#-----[ MIT FOLGENDEM ERSETZEN ]------------------------------------------
#
$is_auth = array();
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_topic_data);
if( count($onlinerow[$forum_id]) > '0' && $is_auth['auth_mod'] )

##########################################################################################
##########################################################################################
##########################################################################################

Verfasst: 01.01.2005 13:34
von Nico Haase
erstmal ersetzt du bitte in der index_body.tpl

Code: Alles auswählen

	<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
	  </span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
mit

Code: Alles auswählen

	<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a></span><br />
	  <span class="genmed">{catrow.forumrow.FORUM_DESC}</span></td>
und dann

Code: Alles auswählen

{catrow.forumrow.FORUM_DESC}</span>
mit

Code: Alles auswählen

{catrow.forumrow.FORUM_DESC}</span></br /> 
<span class="gensmall">{catrow.forumrow.ACTIVE_TOTAL} {catrow.forumrow.ACTIVE} {catrow.forumrow.ACTIVE_INFO}</span></td> 
nach den restlichen ersetzungen sollte es klappen

Verfasst: 01.01.2005 13:51
von [nTc]Phoenix
Nico Haase hat geschrieben:erstmal ersetzt du bitte in der index_body.tpl

Code: Alles auswählen

	<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
	  </span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
mit

Code: Alles auswählen

	<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a></span><br />
	  <span class="genmed">{catrow.forumrow.FORUM_DESC}</span></td>
und dann

Code: Alles auswählen

{catrow.forumrow.FORUM_DESC}</span>
mit

Code: Alles auswählen

{catrow.forumrow.FORUM_DESC}</span></br /> 
<span class="gensmall">{catrow.forumrow.ACTIVE_TOTAL} {catrow.forumrow.ACTIVE} {catrow.forumrow.ACTIVE_INFO}</span></td> 
nach den restlichen ersetzungen sollte es klappen
Geht net, sieh bei mir!

Verfasst: 01.01.2005 14:14
von Nico Haase
mit den restlichen ersetzungen meine ich, dass damit die änderungen an der index_body.tpl abgeschlossen sind - oder was geht nicht?

Verfasst: 01.01.2005 14:19
von [nTc]Phoenix
Nico Haase hat geschrieben:mit den restlichen ersetzungen meine ich, dass damit die änderungen an der index_body.tpl abgeschlossen sind - oder was geht nicht?

es kammen fehler

Verfasst: 01.01.2005 14:20
von Andy120
Poste die Fehler doch mal ;)

Gruss, Andy

Verfasst: 01.01.2005 15:02
von ATARI
was geht denn nicht?
also ich hab ich den mod auch drinnen und er funzt einwandfrei!

Verfasst: 01.01.2005 17:11
von [nTc]Phoenix
Andy120 hat geschrieben:Poste die Fehler doch mal ;)

Gruss, Andy
Also der Fehler war, das sich die Tabellen verschiebten und die Spalte "Letzter Beitrag" leer war.