NO_PM + Staffliste von AWSW
Verfasst: 11.01.2004 19:53
Also ich hab mal etwas an der Staffliste herumgespielt, um den Hack NO_PM dort mit einzubauen, doch leider hab ich es nicht geschafft, das die Abfrage bzgl. Usereinstellung noch net richtig stimmt.
So werden immer nur die Buttons von NO_PM dargestellt.
Wo ist mein Fehler versteckt, ich sehe nur Buchstaben.
Ich entschuldige mich für die Darstellung, doch ich bin zur Zeit auf der Arbeit und meine FTPzugangsdaten nicht dabei. THX für das Verständnis.
So werden immer nur die Buttons von NO_PM dargestellt.
Wo ist mein Fehler versteckt, ich sehe nur Buchstaben.
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);
include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);
color_groups_setup_list();
$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>';
if( $row['user_no_pm'] == 1 )
{
$pmto = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$staff[user_id]");
$pm_img = '<a href="' . $pmto . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $pmto . '">' . $lang['Send_private_message'] . '</a>';
}
else
{
$pm_img = '<img src="'.$images['icon_no_pm'].'" alt="'.$lang['Dont_want_pm'].'" title="'.$lang['Dont_want_pm'].'" />';
$pm = $lang['Dont_want_pm'];
}
$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' => color_group_colorize_name($staff['user_id']),
'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_img,
'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);
?>