Teamseite...
Verfasst: 25.11.2009 14:25
Ich möchte auch gerne so ne Ähnliche TeamSeite, wie Ihr habt. Gibt´s sowas hier ?
Nö gibt's bislang nicht.DayWalker74 hat geschrieben:Gibt´s sowas hier?
Code: Alles auswählen
leaders.php:
<?php
$abmelden = '';
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpbb/';
//$phpbb_root_path = 'phpbb/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'topic_top.php');
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$resultat = '';
$status = '';
// Grab data
$mode = request_var('mode', '');
if (!in_array($mode, array('', 'viewprofile')))
{
trigger_error('NO_MODE');
}
switch ($mode)
{
case 'viewprofile':
// Display a profile
if ($user_id == ANONYMOUS && !$username)
{
trigger_error('NO_USER');
}
// Get user...
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id");
$result = $db->sql_query($sql);
$member = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$member)
{
trigger_error('NO_USER');
}
// a_user admins and founder are able to view inactive users and bots to be able to manage them more easily
// Normal users are able to see at least users having only changed their profile settings but not yet reactivated.
if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER)
{
if ($member['user_type'] == USER_IGNORE)
{
trigger_error('NO_USER');
}
else if ($member['user_type'] == USER_INACTIVE && $member['user_inactive_reason'] != INACTIVE_PROFILE)
{
trigger_error('NO_USER');
}
}
$user_id = (int) $member['user_id'];
// Do the SQL thang
$sql = 'SELECT g.group_id, g.group_name, g.group_type
FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug
WHERE ug.user_id = $user_id
AND g.group_id = ug.group_id" . ((!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? ' AND g.group_type <> ' . GROUP_HIDDEN : '') . '
AND ug.user_pending = 0
ORDER BY g.group_type, g.group_name';
$result = $db->sql_query($sql);
$group_options = '';
while ($row = $db->sql_fetchrow($result))
{
$group_options .= '<option value="' . $row['group_id'] . '"' . (($row['group_id'] == $member['group_id']) ? ' selected="selected"' : '') . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
}
$db->sql_freeresult($result);
// What colour is the zebra
$sql = 'SELECT friend, foe
FROM ' . ZEBRA_TABLE . "
WHERE zebra_id = $user_id
AND user_id = {$user->data['user_id']}";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$foe = ($row['foe']) ? true : false;
$friend = ($row['friend']) ? true : false;
$db->sql_freeresult($result);
if ($config['load_onlinetrack'])
{
$sql = 'SELECT MAX(session_time) AS session_time, MIN(session_viewonline) AS session_viewonline
FROM ' . SESSIONS_TABLE . "
WHERE session_user_id = $user_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$member['session_time'] = (isset($row['session_time'])) ? $row['session_time'] : 0;
$member['session_viewonline'] = (isset($row['session_viewonline'])) ? $row['session_viewonline'] : 0;
unset($row);
}
if ($config['load_user_activity'])
{
display_user_activity($member);
}
// Do the relevant calculations
$memberdays = max(1, round((time() - $member['user_regdate']) / 86400));
$posts_per_day = $member['user_posts'] / $memberdays;
$percentage = ($config['num_posts']) ? min(100, ($member['user_posts'] / $config['num_posts']) * 100) : 0;
if ($member['user_sig'])
{
$member['user_sig'] = censor_text($member['user_sig']);
if ($member['user_sig_bbcode_bitfield'])
{
include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$bbcode = new bbcode();
$bbcode->bbcode_second_pass($member['user_sig'], $member['user_sig_bbcode_uid'], $member['user_sig_bbcode_bitfield']);
}
$member['user_sig'] = bbcode_nl2br($member['user_sig']);
$member['user_sig'] = smiley_text($member['user_sig']);
}
$poster_avatar = get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']);
$template->assign_vars(show_profile($member));
// Custom Profile Fields
$profile_fields = array();
if ($config['load_cpf_viewprofile'])
{
include_once($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$profile_fields = $cp->generate_profile_fields_template('grab', $user_id);
$profile_fields = (isset($profile_fields[$user_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields[$user_id]) : array();
}
// We need to check if the module 'zebra' is accessible
$zebra_enabled = false;
if ($user->data['user_id'] != $user_id && $user->data['is_registered'])
{
include_once($phpbb_root_path . 'includes/functions_module.' . $phpEx);
$module = new p_master();
$module->list_modules('ucp');
$module->set_active('zebra');
$zebra_enabled = ($module->active_module === false) ? false : true;
unset($module);
}
// If the user has m_approve permission or a_user permission, then list then display unapproved posts
if ($auth->acl_getf_global('m_approve') || $auth->acl_get('a_user'))
{
$sql = 'SELECT COUNT(post_id) as posts_in_queue
FROM ' . POSTS_TABLE . '
WHERE poster_id = ' . $user_id . '
AND post_approved = 0';
$result = $db->sql_query($sql);
$member['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
$db->sql_freeresult($result);
}
else
{
$member['posts_in_queue'] = 0;
}
$template->assign_vars(array(
'L_POSTS_IN_QUEUE' => $user->lang('NUM_POSTS_IN_QUEUE', $member['posts_in_queue']),
'POSTS_DAY' => sprintf($user->lang['POST_DAY'], $posts_per_day),
'POSTS_PCT' => sprintf($user->lang['POST_PCT'], $percentage),
'OCCUPATION' => (!empty($member['user_occ'])) ? censor_text($member['user_occ']) : '',
'INTERESTS' => (!empty($member['user_interests'])) ? censor_text($member['user_interests']) : '',
'SIGNATURE' => $member['user_sig'],
'POSTS_IN_QUEUE'=> $member['posts_in_queue'],
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
'AVATAR_IMG' => $poster_avatar,
'PM_IMG' => $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']),
'EMAIL_IMG' => $user->img('icon_contact_email', $user->lang['EMAIL']),
'WWW_IMG' => $user->img('icon_contact_www', $user->lang['WWW']),
'ICQ_IMG' => $user->img('icon_contact_icq', $user->lang['ICQ']),
'AIM_IMG' => $user->img('icon_contact_aim', $user->lang['AIM']),
'MSN_IMG' => $user->img('icon_contact_msnm', $user->lang['MSNM']),
'YIM_IMG' => $user->img('icon_contact_yahoo', $user->lang['YIM']),
'JABBER_IMG' => $user->img('icon_contact_jabber', $user->lang['JABBER']),
'SEARCH_IMG' => $user->img('icon_user_search', $user->lang['SEARCH']),
'S_PROFILE_ACTION' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group'),
'S_GROUP_OPTIONS' => $group_options,
'S_CUSTOM_FIELDS' => (isset($profile_fields['row']) && sizeof($profile_fields['row'])) ? true : false,
'U_USER_ADMIN' => ($auth->acl_get('a_user')) ? append_sid("{$phpbb_root_path}adm/index.$phpEx", 'i=users&mode=overview&u=' . $user_id, true, $user->session_id) : '',
'U_USER_BAN' => ($auth->acl_get('m_ban') && $user_id != $user->data['user_id']) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=ban&mode=user&u=' . $user_id, true, $user->session_id) : '',
'U_MCP_QUEUE' => ($auth->acl_getf_global('m_approve')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue', true, $user->session_id) : '',
'U_SWITCH_PERMISSIONS' => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&u={$user_id}") : '',
'S_ZEBRA' => ($user->data['user_id'] != $user_id && $user->data['is_registered'] && $zebra_enabled) ? true : false,
'U_ADD_FRIEND' => (!$friend) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&add=' . urlencode(htmlspecialchars_decode($member['username']))) : '',
'U_ADD_FOE' => (!$foe) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&mode=foes&add=' . urlencode(htmlspecialchars_decode($member['username']))) : '',
'U_REMOVE_FRIEND' => ($friend) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&remove=1&usernames[]=' . $user_id) : '',
'U_REMOVE_FOE' => ($foe) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&remove=1&mode=foes&usernames[]=' . $user_id) : '',
));
if (!empty($profile_fields['row']))
{
$template->assign_vars($profile_fields['row']);
}
if (!empty($profile_fields['blockrow']))
{
foreach ($profile_fields['blockrow'] as $field_data)
{
$template->assign_block_vars('custom_fields', $field_data);
}
}
// Inactive reason/account?
if ($member['user_type'] == USER_INACTIVE)
{
$user->add_lang('acp/common');
$inactive_reason = $user->lang['INACTIVE_REASON_UNKNOWN'];
switch ($member['user_inactive_reason'])
{
case INACTIVE_REGISTER:
$inactive_reason = $user->lang['INACTIVE_REASON_REGISTER'];
break;
case INACTIVE_PROFILE:
$inactive_reason = $user->lang['INACTIVE_REASON_PROFILE'];
break;
case INACTIVE_MANUAL:
$inactive_reason = $user->lang['INACTIVE_REASON_MANUAL'];
break;
case INACTIVE_REMIND:
$inactive_reason = $user->lang['INACTIVE_REASON_REMIND'];
break;
}
$template->assign_vars(array(
'S_USER_INACTIVE' => true,
'USER_INACTIVE_REASON' => $inactive_reason)
);
}
// Now generate page title
$page_title = sprintf($user->lang['VIEWING_PROFILE'], $member['username']);
$template_html = 'leaders.html';
break;
}
// Set some stats, get posts count from forums data if we... hum... retrieve all forums data
$total_posts = $config['num_posts'];
$total_topics = $config['num_topics'];
$total_users = $config['num_users'];
$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';
$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';
//
if($user->data['is_registered'])
{
$abmelden = $phpbb_root_path . 'ucp.php?mode=logout&redirect=../portal.php' . '&sid=' . $user->data['session_id'];
}
//
if ($auth->acl_get('a_')){
$status = '[A]';
}
else if ($auth->acl_get('m_')){
$status = '[M]';
}
else if ($auth->acl_get('u_')){
$status = '';
}
else $status = 'Gast';
include($phpbb_root_path . 'topic_bottom.php');
page_header('Portal');
$template->set_filenames(array(
'body' => 'leaders.html')
);
//
// Recent topic (only show normal topic)
//
/* Censor title, return short title
*
* @param $title string title to censor
* @param $limit int short title character limit
*
*/
function character_limit(&$title, $limit = 0)
{
$title = censor_text($title);
if ($limit > 0)
{
return (strlen(utf8_decode($title)) > $limit + 3) ? truncate_string($title, $limit) . '...' : $title;
}
else
{
return $title;
}
}
$sql = 'SELECT t.topic_title, t.forum_id, t.topic_id, t.topic_last_post_id, t.topic_last_post_time, u.username
FROM ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u
WHERE topic_status <> 2
AND topic_approved = 1
AND topic_type = 0
AND t.topic_last_poster_id = u.user_id
ORDER BY t.topic_last_post_time DESC';
// ' . $sql_where . ' entfernt in vorletzter Zeile, direkt vor ORDER BY
$result = $db->sql_query_limit($sql, 100);
$i=0;
while( ($row = $db->sql_fetchrow($result)) && ($row['topic_title'] != '') )
{
// auto auth
if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{
if ($i<15) {
$template->assign_block_vars('latest_topics', array(
'USERNAME' => $row['username'],
'TITLE' => character_limit($row['topic_title'], 30),
'FULL_TITLE' => censor_text($row['topic_title']),
'U_VIEW_TOPIC' => append_sid($phpbb_root_path . "viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id']),
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time'])
)
);
$i++;
}
}
}
$db->sql_freeresult($result);
// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'])
{
$now = getdate(time() + $user->timezone + $user->dst - (date('H', time()) - gmdate('H', time())) * 3600);
$sql = 'SELECT user_id, username, user_colour, user_birthday
FROM ' . USERS_TABLE . "
WHERE user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$user_colour = ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '';
$birthday_list .= (($birthday_list != '') ? ', ' : '') . '<a' . $user_colour . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) . '">' . $row['username'] . '</a>';
if ($age = (int) substr($row['user_birthday'], -4))
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
}
}
$db->sql_freeresult($result);
}
// Assign specific vars
$template->assign_vars(array(
'BIRTHDAY_LIST' => $birthday_list,
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
)
);
$template->assign_vars(array(
'U_LASTTOPICS' => $resultat,
'U_USERSTATUS' => $status,
'U_USERNAME' => $user->data['username'],
'U_SID' => $user->data['session_id'],
'U_ABMELDEN' => $abmelden)
);
$db->sql_freeresult($result);
$user_ary = $auth->acl_get_list(false, array('a_', 'm_'), false);
$admin_id_ary = $global_mod_id_ary = $mod_id_ary = $forum_id_ary = array();
foreach ($user_ary as $forum_id => $forum_ary)
{
foreach ($forum_ary as $auth_option => $id_ary)
{
if (!$forum_id)
{
if ($auth_option == 'a_')
{
$admin_id_ary = array_merge($admin_id_ary, $id_ary);
}
else
{
$global_mod_id_ary = array_merge($global_mod_id_ary, $id_ary);
}
continue;
}
else
{
$mod_id_ary = array_merge($mod_id_ary, $id_ary);
}
if ($forum_id)
{
foreach ($id_ary as $id)
{
$forum_id_ary[$id][] = $forum_id;
}
}
}
}
$admin_id_ary = array_unique($admin_id_ary);
$global_mod_id_ary = array_unique($global_mod_id_ary);
$mod_id_ary = array_merge($mod_id_ary, $global_mod_id_ary);
$mod_id_ary = array_unique($mod_id_ary);
// Admin group id...
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'ADMINISTRATORS'";
$result = $db->sql_query($sql);
$admin_group_id = (int) $db->sql_fetchfield('group_id');
$db->sql_freeresult($result);
// Get group memberships for the admin id ary...
$admin_memberships = group_memberships($admin_group_id, $admin_id_ary);
$admin_user_ids = array();
if (!empty($admin_memberships))
{
// ok, we only need the user ids...
foreach ($admin_memberships as $row)
{
$admin_user_ids[$row['user_id']] = true;
}
}
unset($admin_memberships);
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE;
$result = $db->sql_query($sql);
$forums = array();
while ($row = $db->sql_fetchrow($result))
{
$forums[$row['forum_id']] = $row['forum_name'];
}
$db->sql_freeresult($result);
$sql = $db->sql_build_query('SELECT', array(
'SELECT' => 'u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id',
'FROM' => array(
USERS_TABLE => 'u',
GROUPS_TABLE => 'g'
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USER_GROUP_TABLE => 'ug'),
'ON' => 'ug.group_id = g.group_id AND ug.user_pending = 0 AND ug.user_id = ' . $user->data['user_id']
)
),
'WHERE' => $db->sql_in_set('u.user_id', array_unique(array_merge($admin_id_ary, $mod_id_ary)), false, true) . '
AND u.group_id = g.group_id',
'ORDER_BY' => 'g.group_name ASC, u.username_clean ASC'
));
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$which_row = (in_array($row['user_id'], $admin_id_ary)) ? 'admin' : 'mod';
// We sort out admins not within the 'Administrators' group.
// Else, we will list those as admin only having the permission to view logs for example.
if ($which_row == 'admin' && empty($admin_user_ids[$row['user_id']]))
{
// Remove from admin_id_ary, because the user may be a mod instead
unset($admin_id_ary[array_search($row['user_id'], $admin_id_ary)]);
if (!in_array($row['user_id'], $mod_id_ary) && !in_array($row['user_id'], $global_mod_id_ary))
{
continue;
}
else
{
$which_row = 'mod';
}
}
$s_forum_select = '';
$undisclosed_forum = false;
if (isset($forum_id_ary[$row['user_id']]) && !in_array($row['user_id'], $global_mod_id_ary))
{
if ($which_row == 'mod' && sizeof(array_diff(array_keys($forums), $forum_id_ary[$row['user_id']])))
{
foreach ($forum_id_ary[$row['user_id']] as $forum_id)
{
if (isset($forums[$forum_id]))
{
if ($auth->acl_get('f_list', $forum_id))
{
$s_forum_select .= '<option value="">' . $forums[$forum_id] . '</option>';
}
else
{
$undisclosed_forum = true;
}
}
}
}
}
// If the mod is only moderating non-viewable forums we skip the user. There is no gain in displaying the person then...
$profile_fields = array();
if ($config['load_cpf_viewprofile'])
{
include_once($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$profile_fields = $cp->generate_profile_fields_template('grab', $user_id);
$profile_fields = (isset($profile_fields[$user_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields[$user_id]) : array();
}
$poster_avatar = get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']);
if (!$s_forum_select && $undisclosed_forum)
{
// $s_forum_select = '<option value="">' . $user->lang['FORUM_UNDISCLOSED'] . '</option>';
continue;
}
// The person is moderating several "public" forums, therefore the person should be listed, but not giving the real group name if hidden.
if ($row['group_type'] == GROUP_HIDDEN && !$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel') && $row['ug_user_id'] != $user->data['user_id'])
{
$group_name = $user->lang['GROUP_UNDISCLOSED'];
$u_group = '';
}
else
{
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
$u_group = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']);
}
$rank_title = $rank_img = '';
get_user_rank($row['user_rank'], (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']), $rank_title, $rank_img, $rank_img_src);
$template->assign_block_vars($which_row, array(
'USER_ID' => $row['user_id'],
'FORUMS' => $s_forum_select,
'RANK_TITLE' => $rank_title,
'GROUP_NAME' => $group_name,
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
'GROUP_COLOR' => $row['group_colour'],
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics),
'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users),
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
'U_GROUP' => $u_group,
'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($row['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $row['user_id']) : '',
'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], "#ffffff"),
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
'USER_COLOR' => "#ffffff", //get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
'U_VIEW_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
));
}
$db->sql_freeresult($result);
page_footer();
?>
Code: Alles auswählen
Auszug aus der meiner TemplateDatei:
<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border forum_idx_table'>
<thead>
<tr>
<th class="tbl2" width='50%'>Name:</th>
<th class="tbl2" width='50%'>Aufgabe:</th>
</tr>
</thead>
<tbody>
<!-- BEGIN admin -->
<tr class="<!-- IF admin.S_ROW_COUNT is even -->tbl2<!-- ELSE -->tbl2<!-- ENDIF -->">
<td class="tbl2" width='50%'><font style="color:#ffffff">{admin.USERNAME_FULL}</font><br />
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({admin.USER_ID});">
<span style="float: right; width: auto"><a href="?mode=viewprofile&u={admin.USER_ID}" onclick="toggle_data({admin.USER_ID});stop_handler(event);return false;" class="teamexpand" id="link{admin.USER_ID}">Anzeigen</a> </span>
</li>
<li id="row{admin.USER_ID}" style="display: none;" class="row bg1" onclick="toggle_data({admin.USER_ID});">
<!-- IF admin.AVATAR_IMG -->
{admin.AVATAR_IMG}<br/>
<!-- IF admin.RANK_TITLE -->{admin.RANK_TITLE}<!-- ENDIF -->
<!-- ENDIF -->
Profil von: {admin.USERNAME}<br/>
<!-- IF not admin.AVATAR_IMG -->
<!-- IF admin.RANK_TITLE -->{admin.L_RANK}:{admin.RANK_TITLE}<br/><!-- ENDIF -->
<!-- ENDIF -->
<!-- IF admin.S_USER_INACTIVE -->{admin.L_USER_IS_INACTIVE}:{admin.USER_INACTIVE_REASON}<br/><!-- ENDIF -->
<!-- IF admin.LOCATION -->{admin.L_LOCATION}:{admin.LOCATION}<br/><!-- ENDIF -->
<!-- IF admin.AGE -->{admin.L_AGE}:{admin.AGE}<br/><!-- ENDIF -->
<!-- IF admin.OCCUPATION -->{admin.L_OCCUPATION}:{admin.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF admin.INTERESTS -->{admin.L_INTERESTS}:{admin.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
<noscript>
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({admin.USER_ID});">
<!-- IF admin.AVATAR_IMG -->
{admin.AVATAR_IMG}<br/>
<!-- IF admin.RANK_TITLE -->{admin.RANK_TITLE}<!-- ENDIF -->
<!-- ENDIF -->
Profil von: {admin.USERNAME}<br/>
<!-- IF not admin.AVATAR_IMG -->
<!-- IF admin.RANK_TITLE -->{admin.L_RANK}:{admin.RANK_TITLE}<br/><!-- ENDIF -->
<!-- ENDIF -->
<!-- IF admin.S_USER_INACTIVE -->{admin.L_USER_IS_INACTIVE}:{admin.USER_INACTIVE_REASON}<br/><!-- ENDIF -->
<!-- IF admin.LOCATION -->{admin.L_LOCATION}:{admin.LOCATION}<br/><!-- ENDIF -->
<!-- IF admin.AGE -->{admin.L_AGE}:{admin.AGE}<br/><!-- ENDIF -->
<!-- IF admin.OCCUPATION -->{admin.L_OCCUPATION}:{admin.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF admin.INTERESTS -->{admin.L_INTERESTS}:{admin.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
</noscript>
</td>
<td class="tbl2" width='50%'><!-- IF admin.U_GROUP -->
<a<!-- IF admin.GROUP_COLOR --> style="font-weight: bold; color:#ffffff"<!-- ENDIF --> href="{admin.U_GROUP}">{admin.GROUP_NAME}</a>
<!-- ELSE -->
{admin.GROUP_NAME}
<!-- ENDIF --></td>
</tr>
<!-- BEGINELSE -->
<tr class="tbl2">
<td colspan="3"><strong>{L_NO_ADMINISTRATORS}</strong></td>
</tr>
<!-- END admin -->
</tbody>
</table>
Code: Alles auswählen
<?php
$abmelden = '';
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './phpbb/';
//$phpbb_root_path = 'phpbb/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'topic_top.php');
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
//$user->setup();
$user->setup('memberlist');
$resultat = '';
$status = '';
// Grab data
$mode = request_var('mode', '');
if (!in_array($mode, array('', 'viewprofile')))
{
trigger_error('NO_MODE');
}
switch ($mode)
{
case 'viewprofile':
// Display a profile
if ($user_id == ANONYMOUS && !$username)
{
trigger_error('NO_USER');
}
// Get user...
$sql = 'SELECT *
FROM ' . USERS_TABLE . '
WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id");
$result = $db->sql_query($sql);
$member = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$member)
{
trigger_error('NO_USER');
}
// a_user admins and founder are able to view inactive users and bots to be able to manage them more easily
// Normal users are able to see at least users having only changed their profile settings but not yet reactivated.
if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER)
{
if ($member['user_type'] == USER_IGNORE)
{
trigger_error('NO_USER');
}
else if ($member['user_type'] == USER_INACTIVE && $member['user_inactive_reason'] != INACTIVE_PROFILE)
{
trigger_error('NO_USER');
}
}
$user_id = (int) $member['user_id'];
// Do the SQL thang
$sql = 'SELECT g.group_id, g.group_name, g.group_type
FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug
WHERE ug.user_id = $user_id
AND g.group_id = ug.group_id" . ((!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? ' AND g.group_type <> ' . GROUP_HIDDEN : '') . '
AND ug.user_pending = 0
ORDER BY g.group_type, g.group_name';
$result = $db->sql_query($sql);
$group_options = '';
while ($row = $db->sql_fetchrow($result))
{
$group_options .= '<option value="' . $row['group_id'] . '"' . (($row['group_id'] == $member['group_id']) ? ' selected="selected"' : '') . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
}
$db->sql_freeresult($result);
// What colour is the zebra
$sql = 'SELECT friend, foe
FROM ' . ZEBRA_TABLE . "
WHERE zebra_id = $user_id
AND user_id = {$user->data['user_id']}";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$foe = ($row['foe']) ? true : false;
$friend = ($row['friend']) ? true : false;
$db->sql_freeresult($result);
if ($config['load_onlinetrack'])
{
$sql = 'SELECT MAX(session_time) AS session_time, MIN(session_viewonline) AS session_viewonline
FROM ' . SESSIONS_TABLE . "
WHERE session_user_id = $user_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$member['session_time'] = (isset($row['session_time'])) ? $row['session_time'] : 0;
$member['session_viewonline'] = (isset($row['session_viewonline'])) ? $row['session_viewonline'] : 0;
unset($row);
}
if ($config['load_user_activity'])
{
display_user_activity($member);
}
// Do the relevant calculations
$memberdays = max(1, round((time() - $member['user_regdate']) / 86400));
$posts_per_day = $member['user_posts'] / $memberdays;
$percentage = ($config['num_posts']) ? min(100, ($member['user_posts'] / $config['num_posts']) * 100) : 0;
if ($member['user_sig'])
{
$member['user_sig'] = censor_text($member['user_sig']);
if ($member['user_sig_bbcode_bitfield'])
{
include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$bbcode = new bbcode();
$bbcode->bbcode_second_pass($member['user_sig'], $member['user_sig_bbcode_uid'], $member['user_sig_bbcode_bitfield']);
}
$member['user_sig'] = bbcode_nl2br($member['user_sig']);
$member['user_sig'] = smiley_text($member['user_sig']);
}
$poster_avatar = get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']);
$template->assign_vars(show_profile($member));
// Custom Profile Fields
$profile_fields = array();
if ($config['load_cpf_viewprofile'])
{
include_once($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$profile_fields = $cp->generate_profile_fields_template('grab', $user_id);
$profile_fields = (isset($profile_fields[$user_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields[$user_id]) : array();
}
// We need to check if the module 'zebra' is accessible
$zebra_enabled = false;
if ($user->data['user_id'] != $user_id && $user->data['is_registered'])
{
include_once($phpbb_root_path . 'includes/functions_module.' . $phpEx);
$module = new p_master();
$module->list_modules('ucp');
$module->set_active('zebra');
$zebra_enabled = ($module->active_module === false) ? false : true;
unset($module);
}
// If the user has m_approve permission or a_user permission, then list then display unapproved posts
if ($auth->acl_getf_global('m_approve') || $auth->acl_get('a_user'))
{
$sql = 'SELECT COUNT(post_id) as posts_in_queue
FROM ' . POSTS_TABLE . '
WHERE poster_id = ' . $user_id . '
AND post_approved = 0';
$result = $db->sql_query($sql);
$member['posts_in_queue'] = (int) $db->sql_fetchfield('posts_in_queue');
$db->sql_freeresult($result);
}
else
{
$member['posts_in_queue'] = 0;
}
$template->assign_vars(array(
'L_POSTS_IN_QUEUE' => $user->lang('NUM_POSTS_IN_QUEUE', $member['posts_in_queue']),
'POSTS_DAY' => sprintf($user->lang['POST_DAY'], $posts_per_day),
'POSTS_PCT' => sprintf($user->lang['POST_PCT'], $percentage),
'OCCUPATION' => (!empty($member['user_occ'])) ? censor_text($member['user_occ']) : '',
'INTERESTS' => (!empty($member['user_interests'])) ? censor_text($member['user_interests']) : '',
'SIGNATURE' => $member['user_sig'],
'POSTS_IN_QUEUE'=> $member['posts_in_queue'],
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
//'AVATAR_IMG' => $poster_avatar,
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
'PM_IMG' => $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']),
'EMAIL_IMG' => $user->img('icon_contact_email', $user->lang['EMAIL']),
'WWW_IMG' => $user->img('icon_contact_www', $user->lang['WWW']),
'ICQ_IMG' => $user->img('icon_contact_icq', $user->lang['ICQ']),
'AIM_IMG' => $user->img('icon_contact_aim', $user->lang['AIM']),
'MSN_IMG' => $user->img('icon_contact_msnm', $user->lang['MSNM']),
'YIM_IMG' => $user->img('icon_contact_yahoo', $user->lang['YIM']),
'JABBER_IMG' => $user->img('icon_contact_jabber', $user->lang['JABBER']),
'SEARCH_IMG' => $user->img('icon_user_search', $user->lang['SEARCH']),
'S_PROFILE_ACTION' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group'),
'S_GROUP_OPTIONS' => $group_options,
'S_CUSTOM_FIELDS' => (isset($profile_fields['row']) && sizeof($profile_fields['row'])) ? true : false,
'U_USER_ADMIN' => ($auth->acl_get('a_user')) ? append_sid("{$phpbb_root_path}adm/index.$phpEx", 'i=users&mode=overview&u=' . $user_id, true, $user->session_id) : '',
'U_USER_BAN' => ($auth->acl_get('m_ban') && $user_id != $user->data['user_id']) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=ban&mode=user&u=' . $user_id, true, $user->session_id) : '',
'U_MCP_QUEUE' => ($auth->acl_getf_global('m_approve')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue', true, $user->session_id) : '',
'U_SWITCH_PERMISSIONS' => ($auth->acl_get('a_switchperm') && $user->data['user_id'] != $user_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=switch_perm&u={$user_id}") : '',
'S_ZEBRA' => ($user->data['user_id'] != $user_id && $user->data['is_registered'] && $zebra_enabled) ? true : false,
'U_ADD_FRIEND' => (!$friend) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&add=' . urlencode(htmlspecialchars_decode($member['username']))) : '',
'U_ADD_FOE' => (!$foe) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&mode=foes&add=' . urlencode(htmlspecialchars_decode($member['username']))) : '',
'U_REMOVE_FRIEND' => ($friend) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&remove=1&usernames[]=' . $user_id) : '',
'U_REMOVE_FOE' => ($foe) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=zebra&remove=1&mode=foes&usernames[]=' . $user_id) : '',
));
if (!empty($profile_fields['row']))
{
$template->assign_vars($profile_fields['row']);
}
if (!empty($profile_fields['blockrow']))
{
foreach ($profile_fields['blockrow'] as $field_data)
{
$template->assign_block_vars('custom_fields', $field_data);
}
}
// Inactive reason/account?
if ($member['user_type'] == USER_INACTIVE)
{
$user->add_lang('acp/common');
$inactive_reason = $user->lang['INACTIVE_REASON_UNKNOWN'];
switch ($member['user_inactive_reason'])
{
case INACTIVE_REGISTER:
$inactive_reason = $user->lang['INACTIVE_REASON_REGISTER'];
break;
case INACTIVE_PROFILE:
$inactive_reason = $user->lang['INACTIVE_REASON_PROFILE'];
break;
case INACTIVE_MANUAL:
$inactive_reason = $user->lang['INACTIVE_REASON_MANUAL'];
break;
case INACTIVE_REMIND:
$inactive_reason = $user->lang['INACTIVE_REASON_REMIND'];
break;
}
$template->assign_vars(array(
'S_USER_INACTIVE' => true,
'USER_INACTIVE_REASON' => $inactive_reason)
);
}
// Now generate page title
$page_title = sprintf($user->lang['VIEWING_PROFILE'], $member['username']);
$template_html = 'leaders.html';
break;
}
// Set some stats, get posts count from forums data if we... hum... retrieve all forums data
$total_posts = $config['num_posts'];
$total_topics = $config['num_topics'];
$total_users = $config['num_users'];
$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';
$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';
//
if($user->data['is_registered'])
{
$abmelden = $phpbb_root_path . 'ucp.php?mode=logout&redirect=../portal.php' . '&sid=' . $user->data['session_id'];
}
//
if ($auth->acl_get('a_')){
$status = '[A]';
}
else if ($auth->acl_get('m_')){
$status = '[M]';
}
else if ($auth->acl_get('u_')){
$status = '';
}
else $status = 'Gast';
include($phpbb_root_path . 'topic_bottom.php');
page_header('Portal');
$template->set_filenames(array(
'body' => 'leaders.html')
);
//
// Recent topic (only show normal topic)
//
/* Censor title, return short title
*
* @param $title string title to censor
* @param $limit int short title character limit
*
*/
function character_limit(&$title, $limit = 0)
{
$title = censor_text($title);
if ($limit > 0)
{
return (strlen(utf8_decode($title)) > $limit + 3) ? truncate_string($title, $limit) . '...' : $title;
}
else
{
return $title;
}
}
$sql = 'SELECT t.topic_title, t.forum_id, t.topic_id, t.topic_last_post_id, t.topic_last_post_time, u.username
FROM ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u
WHERE topic_status <> 2
AND topic_approved = 1
AND topic_type = 0
AND t.topic_last_poster_id = u.user_id
ORDER BY t.topic_last_post_time DESC';
// ' . $sql_where . ' entfernt in vorletzter Zeile, direkt vor ORDER BY
$result = $db->sql_query_limit($sql, 100);
$i=0;
while( ($row = $db->sql_fetchrow($result)) && ($row['topic_title'] != '') )
{
// auto auth
if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
{
if ($i<15) {
$template->assign_block_vars('latest_topics', array(
'USERNAME' => $row['username'],
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
'TITLE' => character_limit($row['topic_title'], 30),
'FULL_TITLE' => censor_text($row['topic_title']),
'U_VIEW_TOPIC' => append_sid($phpbb_root_path . "viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id']),
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time'])
)
);
$i++;
}
}
}
$db->sql_freeresult($result);
// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'])
{
$now = getdate(time() + $user->timezone + $user->dst - (date('H', time()) - gmdate('H', time())) * 3600);
$sql = 'SELECT user_id, username, user_colour, user_birthday
FROM ' . USERS_TABLE . "
WHERE user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$user_colour = ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] .'"' : '';
$birthday_list .= (($birthday_list != '') ? ', ' : '') . '<a' . $user_colour . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']) . '">' . $row['username'] . '</a>';
if ($age = (int) substr($row['user_birthday'], -4))
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
}
}
$db->sql_freeresult($result);
}
// Assign specific vars
$template->assign_vars(array(
'BIRTHDAY_LIST' => $birthday_list,
'S_DISPLAY_BIRTHDAY_LIST' => ($config['load_birthdays']) ? true : false,
)
);
$template->assign_vars(array(
'U_LASTTOPICS' => $resultat,
'U_USERSTATUS' => $status,
'U_USERNAME' => $user->data['username'],
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
'U_SID' => $user->data['session_id'],
'U_ABMELDEN' => $abmelden)
);
$db->sql_freeresult($result);
$user_ary = $auth->acl_get_list(false, array('a_', 'm_'), false);
$admin_id_ary = $global_mod_id_ary = $mod_id_ary = $forum_id_ary = array();
foreach ($user_ary as $forum_id => $forum_ary)
{
foreach ($forum_ary as $auth_option => $id_ary)
{
if (!$forum_id)
{
if ($auth_option == 'a_')
{
$admin_id_ary = array_merge($admin_id_ary, $id_ary);
}
else
{
$global_mod_id_ary = array_merge($global_mod_id_ary, $id_ary);
}
continue;
}
else
{
$mod_id_ary = array_merge($mod_id_ary, $id_ary);
}
if ($forum_id)
{
foreach ($id_ary as $id)
{
$forum_id_ary[$id][] = $forum_id;
}
}
}
}
$admin_id_ary = array_unique($admin_id_ary);
$global_mod_id_ary = array_unique($global_mod_id_ary);
$mod_id_ary = array_merge($mod_id_ary, $global_mod_id_ary);
$mod_id_ary = array_unique($mod_id_ary);
// Admin group id...
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = 'ADMINISTRATORS'";
$result = $db->sql_query($sql);
$admin_group_id = (int) $db->sql_fetchfield('group_id');
$db->sql_freeresult($result);
// Get group memberships for the admin id ary...
$admin_memberships = group_memberships($admin_group_id, $admin_id_ary);
$admin_user_ids = array();
if (!empty($admin_memberships))
{
// ok, we only need the user ids...
foreach ($admin_memberships as $row)
{
$admin_user_ids[$row['user_id']] = true;
}
}
unset($admin_memberships);
$sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE;
$result = $db->sql_query($sql);
$forums = array();
while ($row = $db->sql_fetchrow($result))
{
$forums[$row['forum_id']] = $row['forum_name'];
}
$db->sql_freeresult($result);
$sql = $db->sql_build_query('SELECT', array(
'SELECT' => 'u.user_id, u.group_id as default_group, u.username, u.username_clean, u.user_colour, u.user_rank, u.user_posts, u.user_allow_pm, g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id',
'FROM' => array(
USERS_TABLE => 'u',
GROUPS_TABLE => 'g'
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USER_GROUP_TABLE => 'ug'),
'ON' => 'ug.group_id = g.group_id AND ug.user_pending = 0 AND ug.user_id = ' . $user->data['user_id']
)
),
'WHERE' => $db->sql_in_set('u.user_id', array_unique(array_merge($admin_id_ary, $mod_id_ary)), false, true) . '
AND u.group_id = g.group_id',
'ORDER_BY' => 'g.group_name ASC, u.username_clean ASC'
));
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$which_row = (in_array($row['user_id'], $admin_id_ary)) ? 'admin' : 'mod';
// We sort out admins not within the 'Administrators' group.
// Else, we will list those as admin only having the permission to view logs for example.
if ($which_row == 'admin' && empty($admin_user_ids[$row['user_id']]))
{
// Remove from admin_id_ary, because the user may be a mod instead
unset($admin_id_ary[array_search($row['user_id'], $admin_id_ary)]);
if (!in_array($row['user_id'], $mod_id_ary) && !in_array($row['user_id'], $global_mod_id_ary))
{
continue;
}
else
{
$which_row = 'mod';
}
}
$s_forum_select = '';
$undisclosed_forum = false;
if (isset($forum_id_ary[$row['user_id']]) && !in_array($row['user_id'], $global_mod_id_ary))
{
if ($which_row == 'mod' && sizeof(array_diff(array_keys($forums), $forum_id_ary[$row['user_id']])))
{
foreach ($forum_id_ary[$row['user_id']] as $forum_id)
{
if (isset($forums[$forum_id]))
{
if ($auth->acl_get('f_list', $forum_id))
{
$s_forum_select .= '<option value="">' . $forums[$forum_id] . '</option>';
}
else
{
$undisclosed_forum = true;
}
}
}
}
}
// If the mod is only moderating non-viewable forums we skip the user. There is no gain in displaying the person then...
$profile_fields = array();
if ($config['load_cpf_viewprofile'])
{
include_once($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$cp = new custom_profile();
$profile_fields = $cp->generate_profile_fields_template('grab', $user_id);
$profile_fields = (isset($profile_fields[$user_id])) ? $cp->generate_profile_fields_template('show', false, $profile_fields[$user_id]) : array();
}
$poster_avatar = get_user_avatar($member['user_avatar'], $member['user_avatar_type'], $member['user_avatar_width'], $member['user_avatar_height']);
if (!$s_forum_select && $undisclosed_forum)
{
// $s_forum_select = '<option value="">' . $user->lang['FORUM_UNDISCLOSED'] . '</option>';
continue;
}
// The person is moderating several "public" forums, therefore the person should be listed, but not giving the real group name if hidden.
if ($row['group_type'] == GROUP_HIDDEN && !$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel') && $row['ug_user_id'] != $user->data['user_id'])
{
$group_name = $user->lang['GROUP_UNDISCLOSED'];
$u_group = '';
}
else
{
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'];
$u_group = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']);
}
$rank_title = $rank_img = '';
get_user_rank($row['user_rank'], (($row['user_id'] == ANONYMOUS) ? false : $row['user_posts']), $rank_title, $rank_img, $rank_img_src);
$template->assign_block_vars($which_row, array(
'USER_ID' => $row['user_id'],
'FORUMS' => $s_forum_select,
'RANK_TITLE' => $rank_title,
'GROUP_NAME' => $group_name,
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
'GROUP_COLOR' => $row['group_colour'],
'AVATAR_IMG' => get_user_avatar($data['user_avatar'], $data['user_avatar_type'], $data['user_avatar_width'], $data['user_avatar_height']),
//'AVATAR_IMG' => $poster_avatar,
'RANK_IMG' => $rank_img,
'RANK_IMG_SRC' => $rank_img_src,
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics),
'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users),
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
'U_GROUP' => $u_group,
'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm') && ($row['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&u=' . $row['user_id']) : '',
'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], "#ffffff"),
'USERNAME' => get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
'USER_COLOR' => "#ffffff", get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
'U_VIEW_PROFILE' => get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
));
}
$db->sql_freeresult($result);
page_footer();
?>
Code: Alles auswählen
<!-- INCLUDE portal_header.html -->
<script type="text/javascript">
// <![CDATA[
function toggle_data(row)
{
if (document.getElementById('row' + row).style.display == 'none')
{
document.getElementById('row' + row).style.display = '';
document.getElementById('link' + row).innerHTML = 'Ausblenden';
document.getElementById('link' + row).className = 'teamcollapse';
}
else
{
document.getElementById('row' + row).style.display = 'none';
document.getElementById('link' + row).innerHTML = 'Anzeigen';
document.getElementById('link' + row).className = 'teamexpand';
}
return false;
}
function stop_handler(event)
{
if (!event)
{
event = window.event;
}
if (event.stopPropagation)
{
event.stopPropagation();
}
else
{
event.cancelBubble = true;
}
}
// ]]>
</script>
<div align="center"><table cellpadding="0" cellspacing="0" border="0" width="100%" align="center">
<tr>
<!-- [+] left block area -->
<td width="160" valign="top" style="padding-right:6px;" class='side-border-left'>
<!-- INCLUDE leftside.html --> </td>
<td valign="top">
<!-- [+] center block area -->
<br/>
<center>
<table cellpadding='0' cellspacing='0' width='95%'>
<tr>
<td><h6>Das Team</h6></td>
</tr>
</table>
</center>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain-left'></td>
<td class='capmain'>Leitung:</td>
<td class='capmain-right'></td>
</tr>
</table>
<table cellpadding='0' cellspacing='0' width='100%' class='spacer'>
<tr>
<td class='capmain-center-left'></td>
<td class='main-body'>
<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border forum_idx_table'>
<thead>
<tr>
<th class="tbl2" width='50%'>Name:</th>
<th class="tbl2" width='50%'>Aufgabe:</th>
</tr>
</thead>
<tbody>
<!-- BEGIN admin -->
<tr class="<!-- IF admin.S_ROW_COUNT is even -->tbl2<!-- ELSE -->tbl2<!-- ENDIF -->">
<td class="tbl2" width='50%'><font style="color:#ffffff">{admin.USERNAME_FULL}</font><br />
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({admin.USER_ID});">
<span style="float: right; width: auto"><a href="leaders.php?mode=viewprofile&u={admin.USER_ID}" onclick="toggle_data({admin.USER_ID});stop_handler(event);return false;" class="teamexpand" id="link{admin.USER_ID}">Anzeigen</a> </span>
</li>
<li id="row{admin.USER_ID}" style="display: none;" class="row bg1" onclick="toggle_data({admin.USER_ID});">
<!-- IF admin.AVATAR_IMG -->
{admin.AVATAR_IMG}<br/>
<!-- IF admin.RANK_TITLE -->{admin.RANK_TITLE}<!-- ENDIF -->
<!-- ENDIF -->
<br /><center>Profil von: {admin.USERNAME}</center><br/>
<img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.gif" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.jpg" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.png" width="70" height="70"><br />
<!-- IF admin.RANK_TITLE -->Rang: {admin.RANK_TITLE}<br/>
<!-- ENDIF -->
<!-- IF admin.LOCATION -->Wohnort: {admin.LOCATION}<br/><!-- ENDIF -->
<!-- IF admin.AGE -->Alter: {admin.AGE}<br/><!-- ENDIF -->
<!-- IF admin.OCCUPATION -->{admin.L_OCCUPATION}: {admin.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF admin.INTERESTS -->{admin.L_INTERESTS}: {admin.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
<noscript>
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({admin.USER_ID});">
<!-- IF admin.AVATAR_IMG -->
{admin.AVATAR_IMG}<br/>
<!-- IF admin.RANK_TITLE -->{admin.RANK_TITLE}<!-- ENDIF -->
<!-- ENDIF -->
<br /><center>Profil von: {admin.USERNAME}</center><br/>
<img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.gif" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.jpg" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={admin.USER_ID}.png" width="70" height="70"><br />
<!-- IF admin.RANK_TITLE -->Rang: {admin.RANK_TITLE}<br/>
<!-- ENDIF -->
<!-- IF admin.LOCATION -->{admin.U_LOCATION}: {admin.LOCATION}<br/><!-- ENDIF -->
<!-- IF admin.AGE -->{admin.U_AGE}: {admin.AGE}<br/><!-- ENDIF -->
<!-- IF admin.OCCUPATION -->{admin.U_OCCUPATION}: {admin.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF admin.INTERESTS -->{admin.U_INTERESTS}: {admin.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
</noscript>
</td>
<td class="tbl2" width='50%'><!-- IF admin.U_GROUP -->
<a<!-- IF admin.GROUP_COLOR --> style="font-weight: bold; color:#ffffff"<!-- ENDIF --> href="{admin.U_GROUP}">{admin.GROUP_NAME}</a>
<!-- ELSE -->
{admin.GROUP_NAME}
<!-- ENDIF --></td>
</tr>
<!-- BEGINELSE -->
<tr class="tbl2">
<td colspan="3"><strong>{L_NO_ADMINISTRATORS}</strong></td>
</tr>
<!-- END admin -->
</tbody>
</table>
</td>
<td class='capmain-center-right'></td>
</tr><tr>
<td class='capmain-bottom-left'></td>
<td class='news-footer'><span class="Stil1">Weitere Informationen, eines einzelnen DJ´s erhäst Du, wenn Du auf dem Nicknamen klickst.<br />
Um detalierte Profile anzuschauen, musst
Du <a href="http://darkness-fun-radio.de/phpbb/ucp.php?mode=register"><font style="color:#ffffff">registriert</font></a> und <a href="http://darkness-fun-radio.de/phpbb/ucp.php?mode=login"><font style="color:#ffffff">angemeldet</font></a> sein. </span></td>
<td class='capmain-bottom-right'></td>
</tr><tr>
</tr>
</table>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain-left'></td>
<td class='capmain'>DJ's / Gast DJ's / Moderatoren:</td>
<td class='capmain-right'></td>
</tr>
</table>
<table cellpadding='0' cellspacing='0' width='100%' class='spacer'>
<tr>
<td class='capmain-center-left'></td>
<td class='main-body'>
<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border forum_idx_table'>
<thead>
<tr>
<th class="tbl2" width='50%'>Name:</th>
<th class="tbl2" width='50%'>Aufgabe:</th>
</tr>
</thead>
<tbody>
<!-- BEGIN mod -->
<tr class="<!-- IF mod.S_ROW_COUNT is even -->tbl2<!-- ELSE -->tbl2<!-- ENDIF -->">
<td class="tbl2" width='50%'><font style="color:#ffffff">{mod.USERNAME_FULL}</font><br />
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({mod.USER_ID});">
<span style="float: right; width: auto"><a href="leaders.php?mode=viewprofile&u={mod.USER_ID}" onclick="toggle_data({mod.USER_ID});stop_handler(event);return false;" class="teamexpand" id="link{mod.USER_ID}">Anzeigen</a> </span>
</li>
<li id="row{mod.USER_ID}" style="display: none;" class="row bg1" onclick="toggle_data({mod.USER_ID});">
<br /><center>Profil von: {mod.USERNAME}</center><br/>
<img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.gif" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.jpg" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.png" width="70" height="70"><br />
<!-- IF mod.RANK_TITLE -->Rang: {mod.RANK_TITLE}<br/>
<!-- ENDIF -->
<!-- IF mod.LOCATION -->Wohnort: {mod.LOCATION}<br/><!-- ENDIF -->
<!-- IF mod.AGE -->{mod.L_AGE}: {mod.AGE}<br/><!-- ENDIF -->
<!-- IF mod.OCCUPATION -->{mod.L_OCCUPATION}: {mod.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF mod.INTERESTS -->{mod.L_INTERESTS}: {mod.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
<noscript>
<ul class="topiclist teamlist">
<li class="row bg1" onclick="toggle_data({mod.USER_ID});">
<br /><center>Profil von: {mod.USERNAME}</center><br/>
<img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.gif" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.jpg" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/download/file.php?avatar={mod.USER_ID}.png" width="70" height="70"><br />
<!-- IF mod.RANK_TITLE -->Rang: {mod.RANK_TITLE}<br/>
<!-- ENDIF -->
<!-- IF mod.LOCATION -->{mod.L_LOCATION}: {mod.LOCATION}<br/><!-- ENDIF -->
<!-- IF mod.AGE -->{mod.L_AGE}: {mod.AGE}<br/><!-- ENDIF -->
<!-- IF mod.OCCUPATION -->{mod.L_OCCUPATION}: {mod.OCCUPATION}<br/><!-- ENDIF -->
<!-- IF mod.INTERESTS -->{mod.L_INTERESTS}: {mod.INTERESTS}<br/><!-- ENDIF -->
</li>
</ul>
</noscript>
</td>
<td class="tbl2" width='50%'><!-- IF mod.U_GROUP -->
<a<!-- IF mod.GROUP_COLOR --> style="font-weight: bold; color:#ffffff"<!-- ENDIF --> href="{mod.U_GROUP}">{mod.GROUP_NAME}</a>
<!-- ELSE -->
{mod.GROUP_NAME}
<!-- ENDIF --></td>
</tr>
<!-- BEGINELSE -->
<tr class="tbl2">
<td colspan="3"><strong>{L_NO_MODERATORS}</strong></td>
</tr>
<!-- END mod -->
</tbody>
</table>
</td>
<td class='capmain-center-right'></td>
</tr><tr>
<td class='capmain-bottom-left'></td>
<td class='news-footer'><span class="Stil1">Weitere Informationen, eines einzelnen DJ´s erhäst Du, wenn Du auf dem Nicknamen klickst.<br />
Um detalierte Profile anzuschauen, musst
Du <a href="http://darkness-fun-radio.de/phpbb/ucp.php?mode=register"><font style="color:#ffffff">registriert</font></a> und <a href="http://darkness-fun-radio.de/phpbb/ucp.php?mode=login"><font style="color:#ffffff">angemeldet</font></a> sein. </span></td>
<td class='capmain-bottom-right'></td>
</tr><tr>
</tr>
</table>
<div id="DJ_gesucht"></div>
<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td class='capmain-left'></td>
<td class='capmain'>DJ´s / DJane´s gesucht!</td>
<td class='capmain-right'></td>
</tr>
</table>
<table cellpadding='0' cellspacing='0' width='100%' class='spacer'>
<tr>
<td class='capmain-center-left'></td>
<td class='main-body'>
<p>Werdet Teil unseres Teams, bestimmt euer Musikprogramm,
Livesendungen und Grüße indem ihr euch bewerbt und bei
uns mitwirkt:</p><br>
<p>Mindestanforderungen Moderator:<br>
- mind. 18 Jahre<br>
- mind. 1,6 GHz oder 1600+<br>
- mind. 512 MB RAM<br>
- mind. 1,2 Mbit/s Uploadgeschwindigkeit ( bei DSL ab 3000 )<br>
- Stammuser/in in unserem IRC-Channel<br>
- Aktivität in unserem Forum<br>
- Teambereitschaft<br>
- Bereitschaft 15,00 mtl. für Server/GEMA/GVL u. evtl. sonstige
Kosten beizusteuern.</p><br>
<p>Selbst wenn ihr auf diesem Gebiet noch unerfahren seid, ein wenig
Spaß an Musik und Euphorie genügen bereits.<br>
Wir bilden euch gerne aus, geben euch Tipps aus der Szene und helfen
euch während euren ersten Testsendungen.</p><br>
<p>Zur DJ-Bewerbung einfach eine Mail an: info[at]darkness-fun-radio.de
oder per PN an:</p>
<p>- <a href="http://darkness-fun-radio.de/phpbb/ucp.php?i=pm&mode=compose&u=2"><font style="color:#ffffff">DayWalker74</font></a><br>
- <a href="http://darkness-fun-radio.de/phpbb/ucp.php?i=pm&mode=compose&u=54"><font style="color:#ffffff">Ms.Candy_Cat</font></a></p>
<p>Oder stellt eine Anfrage hier: <a href="http://darkness-fun-radio.de/phpbb/viewforum.php?f=67"><font style="color:#ffffff">>> klick <<</font></a></p>
</td>
<td class='capmain-center-right'></td>
</tr><tr>
<td class='capmain-bottom-left'></td>
<td class='news-footer'></td>
<td class='capmain-bottom-right'></td>
</tr><tr>
</tr>
</table>
</div>
</td>
<!-- [-] center block area -->
<td valign="top"><!-- INCLUDE rightside.html --></td>
</tr>
<tr>
<td colspan="5" valign="top" style="padding-right:6px;"><!-- INCLUDE portal_footer.html --></td>
</tr>
</table>
</a></div>
<img src="http://darkness-fun-radio.de/phpbb/down ... ER_ID}.gif" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/down ... ER_ID}.jpg" width="70" height="70"><img src="http://darkness-fun-radio.de/phpbb/down ... ER_ID}.png" width="70" height="70">