Mitarbeiterliste + Group Colors
Verfasst: 06.12.2003 14:18
Wie muss ich die staff.php oder staff_body.tpl verändern, damit die Gruppenfarben vom Hack "Group Colors 1.20" übernommen werden und wie muss ich die Staffliste verändern, das die moderierten Foren je nach Berechtigung der Betrachter angezeigt werden?
Kleine Hilfestellung bzw. Lösung erwünscht.THX
Firestarter
Anlage => Staff.php
Anlage => staff.tpl
Kleine Hilfestellung bzw. Lösung erwünscht.THX
Firestarter
Anlage => Staff.php
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_STAFF, $session_length);
init_userprefs($userdata);
$page_title = $lang['Staff'];
include('includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'staff_body.tpl')
);
// forums
// $sql = "SELECT ug.user_id, f.forum_id, f.forum_name
// FROM " . FORUMS_TABLE . " f, " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug
// LEFT JOIN " . USER_GROUP_TABLE . " ug2 ON ug2.user_id = " . $userdata['user_id'] . "
// LEFT JOIN " . AUTH_ACCESS_TABLE . " aa2 ON aa2.group_id = ug2.group_id AND aa2.auth_view = " . TRUE . "
// WHERE aa.auth_mod = " . TRUE . "
// AND ug.group_id = aa.group_id
// AND f.forum_id = aa.forum_id
// AND ( f.auth_view <= '.$auth.'
// OR aa2.auth_view = " . TRUE . ")
// GROUP BY ug.user_id, ug2.user_id
// ORDER BY ug.user_id";
$sql = "SELECT ug.user_id, f.forum_id, f.forum_name
FROM ".AUTH_ACCESS_TABLE." aa, ".USER_GROUP_TABLE." ug, ".FORUMS_TABLE." f
WHERE aa.auth_mod = " . TRUE . "
AND ug.group_id = aa.group_id
AND f.forum_id = aa.forum_id";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not query forums.', '', __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$forum_id = $row['forum_id'];
$staff2[$row['user_id']][$row['forum_id']] = 'ø <a href='.append_sid("viewforum.$phpEx?f=$forum_id").' class=genmed>'.$row['forum_name'].'</a><br />';
}
//main
$sql = "SELECT * FROM ".USERS_TABLE."
WHERE user_level >= 1
ORDER BY user_level = 2, user_level = 3";
if ( !($results = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user information.', '', __LINE__, __FILE__, $sql);
}
while($staff = $db->sql_fetchrow($results))
{
if ( $staff['user_avatar'] )
{
switch( $staff['user_avatar_type'] )
{
case USER_AVATAR_UPLOAD:
$avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $staff['user_avatar'] . '" border="0" />' : '';
break;
case USER_AVATAR_REMOTE:
$avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $staff['user_avatar'] . '" width="60" height="40" alt="" border="0" />' : '';
break;
case USER_AVATAR_GALLERY:
$avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $staff['user_avatar'] . '" alt="" border="0" />' : '';
break;
}
}
else
{
$avatar = '';
}
$level = ( $staff['user_level'] == 1 ) ? '<b style="color:#' . $theme['fontcolor3'] . '">'.$lang['Admin'].'</b>' : '';
$level .= ( $staff['user_level'] == 9 ) ? '<b style="color:#' . $theme['fontcolor1'] . '">'.$lang['Junior'].'</b>' : '';
$level .= ( $staff['user_level'] == 3 ) ? '<b style="color:#' . $theme['fontcolor1'] . '">'.$lang['Super'].'</b>' : '';
$level .= ( $staff['user_level'] == 2 ) ? '<b style="color:#' . $theme['fontcolor2'] . '">'.$lang['Mod'].'</b>' : '';
$forums = '';
if ( !empty($staff2[$staff['user_id']]) )
{
asort($staff2[$staff['user_id']]);
$forums = implode(' ',$staff2[$staff['user_id']]);
}
$memberdays = max(1, round( ( time() - $staff['user_regdate'] ) / 86400 ));
$posts_per_day = $staff['user_posts'] / $memberdays;
if ( $staff['user_posts'] != 0 )
{
$total_posts = get_db_stat('postcount');
$percentage = ( $total_posts ) ? min(100, ($staff['user_posts'] / $total_posts) * 100) : 0;
}
else
{
$percentage = 0;
}
$user_id = $staff['user_id'];
$sql = "SELECT post_time, post_id FROM ".POSTS_TABLE." WHERE poster_id = " . $user_id . " ORDER BY post_time DESC LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error getting user last post time', '', __LINE__, __FILE__, $post_time_sql);
}
$row = $db->sql_fetchrow($result);
$last_post = ( isset($row['post_time']) ) ? '<a href="'.append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=$row[post_id]#$row[post_id]").'" class=gensmall>'.create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']).'</a>' : $lang['None'];
$mailto = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $staff['user_id']) : 'mailto:' . $staff['user_email'];
$mail = ( $staff['user_email'] ) ? '<a href="' . $mailto . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>' : '';
$pmto = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$staff[user_id]");
$pm = '<a href="' . $pmto . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$msn = ( $staff['user_msnm'] ) ? '<a href="mailto: '.$staff['user_msnm'].'"><img src="' . $images['icon_msnm'] . '" alt="' . $lang['MSNM'] . '" title="' . $lang['MSNM'] . '" border="0" /></a>' : '';
$yim = ( $staff['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $staff['user_yim'] . '&.src=pg"><img src="' . $images['icon_yim'] . '" alt="' . $lang['YIM'] . '" title="' . $lang['YIM'] . '" border="0" /></a>' : '';
$aim = ( $staff['user_aim'] ) ? '<a href="aim:goim?screenname=' . $staff['user_aim'] . '&message=Hello+Are+you+there?"><img src="' . $images['icon_aim'] . '" alt="' . $lang['AIM'] . '" title="' . $lang['AIM'] . '" border="0" /></a>' : '';
$icq = ( $staff['user_icq'] ) ? '<a href="http://wwp.icq.com/scripts/contact.dll?msgto=' . $staff['user_icq'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a>' : '';
$www = ( $staff['user_website'] ) ? '<a href="' . $staff['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
$sql = "SELECT * FROM " . RANKS_TABLE . " ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
}
$ranksrow = array();
while ( $row = $db->sql_fetchrow($result) )
{
$ranksrow[] = $row;
}
$db->sql_freeresult($result);
$rank = '';
$rank_image = '';
if ( $staff['user_rank'] )
{
for($j = 0; $j < count($ranksrow); $j++)
{
if ( $staff['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
{
$rank = $ranksrow[$j]['rank_title'];
$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $rank . '" title="' . $rank . '" border="0" /><br />' : '';
}
}
}
else
{
for($j = 0; $j < count($ranksrow); $j++)
{
if ( $staff['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
{
$rank = $ranksrow[$j]['rank_title'];
$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $rank . '" title="' . $rank . '" border="0" /><br />' : '';
}
}
}
$template->assign_block_vars('staff', array(
'AVATAR' => $avatar,
'RANK' => $rank,
'RANK_IMAGE' => $rank_image,
'U_NAME' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$staff[user_id]"),
'NAME' => $staff[username],
'LEVEL' => $level,
'FORUMS' => $forums,
'JOINED' => create_date($board_config['default_dateformat'], $staff['user_regdate'], $board_config['board_timezone']),
'PERIOD' => sprintf($lang['Period'], $memberdays),
'POSTS' => $staff['user_posts'],
'POST_DAY' => sprintf($lang['User_post_day_stats'], $posts_per_day),
'POST_PERCENT' => sprintf($lang['User_post_pct_stats'], $percentage),
'LAST_POST' => $last_post,
'MAIL' => $mail,
'PM' => $pm,
'MSN' => $msn,
'YIM' => $yim,
'AIM' => $aim,
'ICQ' => $icq,
'WWW' => $www)
);
}
$template->assign_vars(array(
'L_AVATAR' => $lang['Avatar'],
'L_USERNAME' => $lang['Username'],
'L_FORUMS' => $lang['Forums'],
'L_POSTS' => $lang['Posts'],
'L_JOINED' => $lang['Joined'],
'L_EMAIL' => $lang['Email'],
'L_PM' => $lang['Private_Message'],
'L_MESSENGER' => $lang['Messenger'],
'L_WWW' => $lang['Website'])
);
$template->pparse('body');
include('includes/page_tail.'.$phpEx);
?>
Code: Alles auswählen
table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></td>
</tr>
</table>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<th class="thTop">{L_USERNAME}</th>
<th class="thTop">{L_FORUMS}</th>
<th class="thTop">{L_POSTS}</th>
<th class="thTop">{L_JOINED}</th>
<th class="thTop">{L_EMAIL}</th>
<th class="thTop">{L_PM}</th>
<th class="thTop">{L_MESSENGER}</th>
<th class="thCornerR">{L_WWW}</th>
</tr>
<!-- BEGIN staff -->
<tr>
<td valign="top" class="row1" nowrap="nowrap"><a href="{staff.U_NAME}" class="genmed">{staff.NAME}</a><br /> <span class="postdetails">{staff.LEVEL}<br />{staff.RANK}<br />{staff.RANK_IMAGE}<br />{staff.AVATAR}</span></td>
<td valign="top" class="row2" nowrap="nowrap"><span class="genmed">{staff.FORUMS}</span> </td>
<td valign="top" align="right" class="row1" nowrap="nowrap"><span class="gensmall">{staff.POSTS} ø <br />
{staff.POST_PERCENT} ø <br />{staff.POST_DAY} ø
<br />[{staff.LAST_POST}]</span> </td>
<td valign="top" class="row2" align="right" nowrap="nowrap"><span class="gensmall">{staff.JOINED}<br />[{staff.PERIOD}]</span></td>
<td align="center" class="row1">{staff.MAIL}</td>
<td align="center" class="row2">{staff.PM}</td>
<td align="center" class="row1">{staff.MSN} {staff.YIM}<br />{staff.AIM} {staff.ICQ}</td>
<td align="center" class="row2">{staff.WWW}</td>
</tr>
<!-- END staff -->
</table>