TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

Members
  • Total Members: 3,963
  • Latest: BiZaJe
Stats
  • Total Posts: 195,917
  • Total Topics: 21,308
  • Online today: 884
  • Online ever: 8,223 (February 19, 2025, 04:35:35 AM)
Users Online
  • Users: 0
  • Guests: 349
  • Total: 349

Roster Page

Started by londonhogfan, May 31, 2006, 06:56:37 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

jacortina

OK < h2 > < /h2 > is used for page title, group name, user name. If you get rid of that in the places you want 'normal' sized, thay'll use the default text size.

RJL61

#181
I'm using the following code:

global $db_prefix, $scripturl, $txt, $settings, $options;


// These must be in the order you wish them to print out on your roster.
// VERY IMPORTANT!!!! -- they must be exactly the same as the group names in the database, including
// capitalization and spaces.
$rankorder = array(
  'Administrator',
  'Clan Admin',
  'Clan Member',
);

$groups = '';
//Does all the real work here for showing groups.
$query = db_query("SELECT ID_GROUP, groupName, onlineColor, stars
  FROM {$db_prefix}membergroups", __FILE__, __LINE__);
while ($row = mysql_fetch_assoc($query))
{
  $groups[$row['groupName']]  = array(
    'id' => $row['ID_GROUP'],
    'color' => empty($row['onlineColor']) ? '' : $row['onlineColor'],
    'stars' => empty($row['stars']) ? '' : substr($row['stars'],2),
  );
}
mysql_free_result($query);

foreach ($rankorder as $rank)
{
//Now get all the users
  $query2 = db_query("
     SELECT ID_GROUP, ID_MEMBER, realName, avatar, usertitle,
           emailAddress, hideEmail, lastLogin, location, personalText,
           totalTimeLoggedIn, dateRegistered, ICQ, AIM, YIM, MSN,
           hideEmail, emailAddress
    FROM {$db_prefix}members
    WHERE ID_GROUP = '" . $groups[$rank]['id'] . "' ", __FILE__, __LINE__);

  if(db_affected_rows() != 0)
  {
    echo '<table border="0" cellspacing="1" cellpadding="5" align="center" class="bordercolor">
      <tr><td colspan="7" class="catbg"><font size="4" face="verdana"><b>' . $rank . '</b></font></td></tr>
      <tr><td rowspan="70" width="85" class="profilebg" valign="top">
        <center><img src="' . $settings['images_url'] . '/' . $groups[$rank]['stars'] . '"></center></td>';
      echo '<td class="catinfo" width="270"><b>ALIAS</b></td>';
      echo '<td class="catinfo" width="130"><b>CUSTOM TITLE</b></td>';
      echo '<td class="catinfo" width="175"><b>LAST ONLINE</b></td>';
      echo '<td class="catinfo" width="100"><b>LOCATION</b></td>';
      echo '<td class="catinfo" width="175"><b>CONTACT</b></td></tr><tr>';
      while ($row2 = mysql_fetch_assoc($query2))
      {
echo '<td class="windowbg" height="40"><a href="' . $scripturl . '?action=profile;u=' . $row2['ID_MEMBER'] . '"><b><font color="' . $groups[$rank]['color'] . '" size="3" face="verdana">' . $row2['realName'] . '</b>';

echo '</font></font></a><br><font size="1"> ' . $row2['personalText'] . '</font></a></td><td class="windowbg">' . $row2['usertitle'] . '</td>';
        echo '<td class="windowbg">' . timeformat($row2['lastLogin']) . '</td>';
        echo '<td class="windowbg" align="center">';
        echo '<i>' . $row2['location'] . '</i>';
        echo '</td><td class="windowbg">';
//Send email row
        if($row2['hideEmail'] == 0)
          echo '<a href="mailto:', $row2['emailAddress'], '"><img src="' . $settings['images_url'] . '/email_sm.gif" alt="email" /></a> ';

        if($row2['ICQ'] != '')
          echo '<a href="http://www.icq.com/whitepages/about_me.php?uin=' . $row2['ICQ'] . '" target="_blank"><img src="http://status.icq.com/online.gif?img=5&icq=' . $row2['ICQ'] . '" alt="' . $row2['ICQ'] . '" width="18" height="18" border="0" /></a> ';
        if($row2['AIM'] != '')
          echo '<a href="aim:goim?screenname=' . urlencode(strtr($row2['AIM'], array(' ' => '%20'))) . '&message=' . $txt['aim_default_message'] . '"><img src="' . $settings['images_url'] . '/aim.gif" alt="' . $row2['AIM'] . '" border="0" /></a> ';
        if($row2['YIM'] != '')
          echo '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . urlencode($row2['YIM']) . '"><img src="http://opi.yahoo.com/online?u=' . urlencode($row2['YIM']) . '&m=g&t=0" alt="' . $row2['YIM'] . '" border="0" /></a> ';
        if($row2['MSN'] != '')
          echo '<a href="http://members.msn.com/' . $row2['MSN'] . '" target="_blank"><img src="' . $settings['images_url'] . '/msntalk.gif" alt="' . $row2['MSN'] . '" border="0" /></a> ';

//Send PM row
        echo '<a href="' . $scripturl . '?action=pm;sa=send;u=' . $row2['ID_MEMBER'] . '"><img src="' . $settings['images_url'] . '/im_on.gif" alt="email" /></a></a>';
        echo '</td>';
        echo '</tr>';
      }
    echo '</table><br>';
  }
}


It looks OK in Firefox, but in IE the tables below Administrator look bloated. How can I fix that?
Thanks

tick

RJL61 please place code within the code brackets when posting code. thanks :)

IchBin

I can only suggest you try adjusting the cellspacing cellpadding etc. Even add some CSS styling padding and margin to see if it does what you want.

Velocity

I'm using this code:

<?php
function template_main()
{
global $txt$scripturl$user_info$context$modSettings$ID_MEMBER$board_info$settings$db_prefix;

////////////////////////////////////////  Enter the desired groups - in order of appearance, if listing by group
$groups_list = array(12);
////////////////////////////////////////

$list_by_group true; // 'true' for separate sections by group; 'false' for consolidated list
$include_nonprimary_groups true; // 'true' to check for group membership in additional groups; 'false' for primary only
$include_post_groups false; // 'true' to include post-count based group in membership search
$include_moderators false; // 'true' to include board moderators on page
$repeats_allowed false; // 'true' to allow multiple appearances by member on page (for $list_by_group = true only)

$sort_by 'name' // choices - 'id' ascending(default), 'posts' descending, 'name' ascending

$extra_type 'none'; // choices - 'none'(default), 'board' links, 'page' (article) links
///////////////////
// Format - $extra_links['<member userid #>'] = '<forum board #>';
//       or $extra_links['<member userid #>'] = '<TP article #>';
$extra_links = array();
$extra_links[3] = '5';
$extra_links[2] = '11';

$extra_label_prefix 'Page of '; // text to precede member's name in link label for extra link
$extra_label_suffix ''; // text to append to member's name in link label for extra link

$moderator_group 2;
///////////////////////////////////////////////////////////////////////////////////////

$sort_ord 'mem.ID_MEMBER ASC';
if (
$sort_by == 'posts'$sort_ord 'mem.posts DESC';
if (
$sort_by == 'name'$sort_ord 'mem.realName ASC';

if ((
$extra_type != 'board') && ($extra_type != 'page')) $extra_type 'none';

if (
$include_moderators)
{if (!in_array($moderator_group$groups_list)) $groups_list[] = $moderator_group;}

$groups_to_use = array();
if (
$list_by_group)
{$groups_to_use $groups_list;}
else
{$groups_to_use[] = 0;}

$users_already_listed = array();
$users_already_listed[] = 0;

loadLanguage('Profile');

echo 
'<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td width="100%" align="left" valign="top" style="padding-top: 10px; padding-bottom: 10px;"><div class="tborder" ><table border="0" cellspacing="0" cellpadding="2" width="100%">
<td class="windowbg"><table align="center" width="96%" cellpadding="3" cellspacing="2">'
;

if (!
$list_by_group)
echo '<tr><td colspan="4"><br /></td></tr><tr width="95%" style="margin-top: 4px;">
<td class="catbg" colspan="4" style="border-top: 2px solid #d0d0d0; padding-top: 4px; ">
</td></tr>'
;

foreach(
$groups_to_use as $groupnumber)
{
$loaded_ids = array();
$user_profile=array();
$memberContext=array();
$profile=array();
$context['TPortal']['team']=array();

// get the name of the group
$request db_query("
SELECT groupName FROM 
{$db_prefix}membergroups WHERE ID_GROUP=$groupnumber"__FILE____LINE__);
if(mysql_num_rows($request)>0){
$row mysql_fetch_row($request);
$groupNameX=$row[0];
mysql_free_result($request);
}

if ($list_by_group) {
$select_where 'mem.ID_GROUP = '.$groupnumber;
if ($include_nonprimary_groups$select_where .= ' OR FIND_IN_SET('.$groupnumber.', mem.additionalGroups)';
if ($include_post_groups$select_where .= ' OR mem.ID_POST_GROUP = '.$groupnumber;
if ($include_moderators && ($groupnumber == $moderator_group)) $select_where 'mem.ID_MEMBER = m.ID_MEMBER';
}
else {
$select_where 'mem.ID_GROUP IN (' implode(', '$groups_list) . ')';
if ($include_nonprimary_groups$select_where .= ' OR FIND_IN_SET(' implode(', mem.additionalGroups) OR FIND_IN_SET('$groups_list) . ', mem.additionalGroups)';
if ($include_post_groups$select_where .= ' OR mem.ID_POST_GROUP IN (' implode(', '$groups_list) . ')';
if ($include_moderators$select_where .= 'OR mem.ID_MEMBER = m.ID_MEMBER';
}

$select_where '(' $select_where ') AND mem.ID_MEMBER NOT IN (' implode(', '$users_already_listed) . ')';

// Load the member's data.
$request db_query("
SELECT IFNULL(lo.logTime, 0) AS isOnline, IFNULL(a.ID_ATTACH, 0) AS ID_ATTACH, a.filename, a.attachmentType,
mem.personalText, mem.avatar, mem.additionalGroups, mem.ID_MEMBER as memnum, mem.memberName, mem.ID_GROUP,
mem.usertitle, mem.karmaBad, mem.karmaGood, mem.realName, mem.lastLogin, mem.websiteTitle, 
mem.websiteUrl, mem.location, mem.posts, them.value AS teamtext, m.ID_MEMBER as modmem, g.groupName
FROM (
{$db_prefix}members AS mem)
LEFT JOIN 
{$db_prefix}moderators AS m ON (m.ID_MEMBER = mem.ID_MEMBER)
LEFT JOIN 
{$db_prefix}membergroups AS g ON (g.ID_GROUP = mem.ID_GROUP)
LEFT JOIN 
{$db_prefix}log_online AS lo ON (lo.ID_MEMBER = mem.ID_MEMBER)
LEFT JOIN 
{$db_prefix}attachments AS a ON (a.ID_MEMBER = mem.ID_MEMBER)
LEFT JOIN 
{$db_prefix}themes AS them ON (mem.ID_MEMBER = them.ID_MEMBER AND them.variable = 'teamtext' AND them.ID_THEME=1)
WHERE 
$select_where
GROUP BY mem.ID_MEMBER
ORDER BY 
$sort_ord"__FILE____LINE__);
$new_loaded_ids = array();
$member_count 0;


while ($row mysql_fetch_assoc($request))
{
if (!$repeats_allowed$users_already_listed[$row['memnum']] = $row['memnum'];

$member_count += 1;

$avatar_width '';
$avatar_height '';
if($context['browser']['is_ie6']) $avatar_width 'width="' $modSettings['avatar_max_width_external'] . '"';

$context['TPortal']['team'][] = array(
'username' => $row['memberName'],
'usertitle' => $row['usertitle'],
'name' => $row['realName'],
'groupname' => ($groupnumber == 0) ? $row['groupName'] : $groupNameX ,
'posts' => $row['posts'],
'karmabad' => $row['karmaBad'],
'karmagood' => $row['karmaGood'],
'location' => $row['location'],
'href' => $scripturl '?action=profile;u=' $row['memnum'],
'link' => '<a href="' $scripturl '?action=profile;u=' $row['memnum'] . '" title="' $txt[92] . ' ' $row['realName'] . '">' $row['realName'] . '</a>',
'blurb' => $row['personalText'],
'avatar' => array(
'name' => $row['avatar'],
'image' => $row['avatar'] == '' ? ($row['ID_ATTACH'] > '<img  src="' . (empty($row['attachmentType']) ? $scripturl '?action=dlattach;attach=' $row['ID_ATTACH'] . ';type=avatar' $modSettings['custom_avatar_url'] . '/' $row['filename']) . '" alt="" style="max-height:280px;max-width:180px;" border="0" />' '') : (stristr($row['avatar'], 'http://') ? '<img src="' $row['avatar'] . '"' $avatar_width $avatar_height ' alt="" style="max-height:280px;max-width:180px;" border="0" />' '<img src="' $modSettings['avatar_url'] . '/' htmlspecialchars($row['avatar']) . '" alt="" style="max-height:280px;max-width:180px;" border="0" />'),
'href' => $row['avatar'] == '' ? ($row['ID_ATTACH'] > ? (empty($row['attachmentType']) ? $scripturl '?action=dlattach;attach=' $row['ID_ATTACH'] . ';type=avatar' $modSettings['custom_avatar_url'] . '/' $row['filename']) : '') : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' $row['avatar']),
'url' => $row['avatar'] == '' '' : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' $row['avatar'])
),
'last_login' => empty($row['lastLogin']) ? $txt['never'] : timeformat($row['lastLogin']),
'last_login_timestamp' => empty($row['lastLogin']) ? forum_time(0$row['lastLogin']),
'website' => array(
'title' => $row['websiteTitle'],
'url' => $row['websiteUrl']
),
'online' => array(
'is_online' => $row['isOnline'],
'text' => &$txt[$row['isOnline'] ? 'online2' 'online3'],
'image_href' => $settings['images_url'] . '/' . ($row['isOnline'] ? 'useron' 'useroff') . '.gif',
),
'teamtext' => $row['teamtext'],
'member_page' => ($extra_type == 'none') ? '' : (!isset($extra_links[intval($row['memnum'])]) ? '' $extra_links[$row['memnum']]),
);

}
mysql_free_result($request);

if ($member_count 0)
{
if ($list_by_group)
echo '<tr><td colspan="4"><br /></td></tr><tr width="95%" height="30px" style="margin-top: 4px;">
<td class="menubar" colspan="4" style="border: 1px solid #888888; padding-top: 4px;"><div align="center"><h2 style="margin-top: 0; margin-bottom: 0px;"><b>' 
$groupNameX '</b></h2></div>
</td></tr>'
;

echo '<tr>';
        $newrow=0;

foreach($context['TPortal']['team'] as $team)
        {
echo '
<td valign="top" width="18%">'
.$team['avatar']['image'].'</td>';

echo ' <td valign="top" class="middletext" style="padding: 2px;">';

echo '<h2 style="margin-top: 0; margin-bottom: 4px;"><b>'.$team['link'].'</b></h2>';

// echo '<b>'. $team['usertitle'].'</b><br />';

if (!$list_by_group)
echo '<b>'.$txt[87].'</b>: '.$team['groupname'].'<br />';

if ($modSettings['karmaMode'] == '1')
echo '<b>'$modSettings['karmaLabel'], '</b> '$team['karmagood'] - $team['karmabad'], '<br />';
elseif ($modSettings['karmaMode'] == '2')
echo '<b>'$modSettings['karmaLabel'], '</b> +'$team['karmagood'], ' | -'$team['karmabad'], '<br />';

echo '<b>'.$txt['lastLoggedIn'].'</b>: '.$team['last_login'].'<br />';

// echo !empty($team['location']) ? '<b>'.$txt[227].'</b>: '.$team['location'].'<br />' : '';

// echo !empty($team['website']['title']) ? '<b>'.$txt[96].'</b>: <a href="'.$team['website']['url'].'" target="_blank"><u>'.$team['website']['title'].'</u></a><br />' : '';

echo '<b>'.$txt[86].'</b>: '.$team['posts'].'<br />';

echo $team['online']['is_online'] ? '<img src="'.$team['online']['image_href'].'" alt="" /> '.$team['online']['text'].'<br />' $team['online']['text'].'<br />';

// echo !empty($team['blurb']) ? '<i>- '.$team['blurb'].'</i><br />' : '';

// echo !empty($team['teamtext']) ? $team['teamtext'].'<br />' : '';

if (($extra_type == 'board') && !empty($team['member_page']))
echo '<a href="' $scripturl '?board=' $team['member_page'] . '"><u>'$extra_label_prefix $team['name'] . $extra_label_suffix '</u></a><br />';
if (($extra_type == 'page') && !empty($team['member_page']))
echo '<a href="' $scripturl '?page=' $team['member_page'] . '"><u>'$extra_label_prefix $team['name'] . $extra_label_suffix '</u></a><br />';

echo '
</td>'
;

$newrow++;
if($newrow>1){
$newrow=0;
echo '</tr><tr><td colspan="4"></td></tr><tr>';
}
        }
if($newrow=1) echo '<td colspan="2"></td>';
echo '</tr>';
}

}
echo 
'</table></table></div></td></tr></table>';
}
?>


But I don't no how to add the contact things into it, when I try, it don't work.
Things like email, msn, aim and other things.

jacortina

Where/how are you using this (the php tag won't work and function isn't necessary in a block or article)?

You need to find the column names in the members table for the things you want to show. Then you need to look in something like Load.php and Display.template.php for an example of how to generate and display the correct icons for them.


Get extra fields: mem.emailAddress, mem.hideEmail, mem.ICQ, mem.AIM, mem.YIM, mem.MSN.
Change:
SELECT IFNULL(lo.logTime, 0) AS isOnline, IFNULL(a.ID_ATTACH, 0) AS ID_ATTACH, a.filename, a.attachmentType,
mem.personalText, mem.avatar, mem.additionalGroups, mem.ID_MEMBER as memnum, mem.memberName, mem.ID_GROUP,
mem.usertitle, mem.karmaBad, mem.karmaGood, mem.realName, mem.lastLogin, mem.websiteTitle,
mem.websiteUrl, mem.location, mem.posts, them.value AS teamtext, m.ID_MEMBER as modmem, g.groupName


To:
SELECT IFNULL(lo.logTime, 0) AS isOnline, IFNULL(a.ID_ATTACH, 0) AS ID_ATTACH, a.filename, a.attachmentType,
mem.personalText, mem.avatar, mem.additionalGroups, mem.ID_MEMBER as memnum, mem.memberName, mem.ID_GROUP,
mem.usertitle, mem.karmaBad, mem.karmaGood, mem.realName, mem.lastLogin, mem.websiteTitle,
mem.emailAddress, mem.hideEmail, mem.ICQ, mem.AIM, mem.YIM, mem.MSN,
mem.websiteUrl, mem.location, mem.posts, them.value AS teamtext, m.ID_MEMBER as modmem, g.groupName



Generate the array members -
Change:
'posts' => $row['posts'],
'karmabad' => $row['karmaBad'],
'karmagood' => $row['karmaGood'],
'location' => $row['location'],


To:
'posts' => $row['posts'],
'karmabad' => $row['karmaBad'],
'karmagood' => $row['karmaGood'],
'location' => $row['location'],
'email' => $row['emailAddress'],
'hide_email' => $row['emailAddress'] == '' || (!empty($modSettings['guest_hideContacts']) && $user_info['is_guest']) || (!empty($row['hideEmail']) && !empty($modSettings['allow_hideEmail']) && !allowedTo('moderate_forum')),
'icq' => $row['ICQ'] != '' && (empty($modSettings['guest_hideContacts']) || !$user_info['is_guest']) ? array(
'link' => '<a href="http://www.icq.com/whitepages/about_me.php?uin=' . $row['ICQ'] . '" target="_blank"><img src="http://status.icq.com/online.gif?img=5&amp;icq=' . $row['ICQ'] . '" alt="' . $row['ICQ'] . '" width="18" height="18" border="0" /></a>',
) : array('link' => ''),
'aim' => $row['AIM'] != '' && (empty($modSettings['guest_hideContacts']) || !$user_info['is_guest']) ? array(
'link' => '<a href="aim:goim?screenname=' . urlencode(strtr($row['AIM'], array(' ' => '%20'))) . '&amp;message=' . $txt['aim_default_message'] . '"><img src="' . $settings['images_url'] . '/aim.gif" alt="' . $row['AIM'] . '" border="0" /></a>',
) : array('link' => ''),
'yim' => $row['YIM'] != '' && (empty($modSettings['guest_hideContacts']) || !$user_info['is_guest']) ? array(
'link' => '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . urlencode($row['YIM']) . '"><img src="http://opi.yahoo.com/online?u=' . urlencode($row['YIM']) . '&amp;m=g&amp;t=0" alt="' . $row['YIM'] . '" border="0" /></a>',
) : array('link' => ''),
'msn' => $row['MSN'] !='' && (empty($modSettings['guest_hideContacts']) || !$user_info['is_guest']) ? array(
'link' => '<a href="http://members.msn.com/' . $row['MSN'] . '" target="_blank"><img src="' . $settings['images_url'] . '/msntalk.gif" alt="' . $row['MSN'] . '" border="0" /></a>',
) : array('link' => ''),



Output the new fields -
Change:
if (($extra_type == 'board') && !empty($team['member_page']))
echo '<a href="' . $scripturl . '?board=' . $team['member_page'] . '"><u>'. $extra_label_prefix . $team['name'] . $extra_label_suffix . '</u></a><br />';
if (($extra_type == 'page') && !empty($team['member_page']))
echo '<a href="' . $scripturl . '?page=' . $team['member_page'] . '"><u>'. $extra_label_prefix . $team['name'] . $extra_label_suffix . '</u></a><br />';


To:
if (($extra_type == 'board') && !empty($team['member_page']))
echo '<a href="' . $scripturl . '?board=' . $team['member_page'] . '"><u>'. $extra_label_prefix . $team['name'] . $extra_label_suffix . '</u></a><br />';
if (($extra_type == 'page') && !empty($team['member_page']))
echo '<a href="' . $scripturl . '?page=' . $team['member_page'] . '"><u>'. $extra_label_prefix . $team['name'] . $extra_label_suffix . '</u></a><br />';
echo '
', $team['icq']['link'], '
', $team['msn']['link'], '
', $team['aim']['link'], '
', $team['yim']['link'], ' ';

// Don't show the email address if they want it hidden.
if (empty($team['hide_email']))
echo '
<a href="mailto:', $team['email'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . '" border="0" />' : $txt[69]), '</a>';


Velocity

Thanks, I'm using php cause it's set up like a page with a template. Like a page added through a mod. It's not in a block or article :)

Earache

I'm using londonhogfan's snippet from page 13, i'm trying to add code to it so it will display secondary groups but, i keep getting php and sql errors when I try adding

$query2 = db_query("SELECT ID_GROUP, ID_MEMBER, realName, usertitle, emailAddress, hideEmail, lastLogin, location, personalText, totalTimeLoggedIn, dateRegistered, ICQ, AIM, YIM, MSN, hideEmail, emailAddress
FROM {$db_prefix}members WHERE ID_GROUP = " . $data['id'] . " OR FIND_IN_SET(".$data['id'].", additionalGroups) ", __FILE__, __LINE__);


Can someone help?

richtofen

am trying to add this mod to my page but every time i try to add the Staff mod i get an error....when i try to install this mod there is a message modification error staff.xml

Fatal error: require() [function.require]: Failed opening required '/www/yeahost.com/r/richtofen.yeahost.com/forum/Packages/temp/./staffsql.php' (include_path='.:/opt/php5/lib/php') in /www/yeahost.com/r/richtofen.yeahost.com/forum/Sources/Packages.php on line 552


can anyone help me? am new with this but am trying....thanks

IchBin

For support on the staff mod you should seek help from the mod author.

This website is proudly hosted on Crocweb Cloud Website Hosting.