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.

IchBin

I do believe I answered your question about this at SMF.

BD.shumar

hm...
I saw that and make some changes but problem is changed too. :)

JPDeni

It really would help if you would stick to one place to find answers to your problems. It's difficult for those who want to help you to know what is said elsewhere. If you come to the point where you think we can't help you here, tell us that you're going somewhere else so we don't continue to work on your problem.

trench

Wheres the final coding for this? I tried clicking the link in the first page and was sent to an error page.

JPDeni


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(1);
////////////////////////////////////////

$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

$page_title = 'Roster';
$page_subtitle = '';

$moderator_group = 3;
///////////////////////////////////////////////////////////////////////////////////////

$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 align="center" width="96%" cellpadding="3" cellspacing="2"><tr>
   <td colspan="4"><h2 align="center">', $page_title, '</h2>
   <span class="smalltext"><h3 align="center">', $page_subtitle, '</h3></span>
</td></tr>';

if (!$list_by_group)
   echo '<tr><td colspan="4">
</td></tr><tr width="95%" style="margin-top: 4px;">
      <td class="windowbg3" colspan="4" style="border-top: 2px solid #d0d0d0; padding-top: 4px; "><h2> </h2>
      </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'],
         'comment' => $row['comment'],
         'groupname' => ($groupnum == 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'] > 0 ? '<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'] > 0 ? (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']) ? 0 : 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') ? '' : empty($extra_links[$row['memnum']]) ? '' : $extra_links[$row['memnum']],
      );

   }
   mysql_free_result($request);

   if ($member_count > 0)
   {
      if ($list_by_group)
      echo '<tr><td colspan="4">
</td></tr><tr width="95%" style="margin-top: 4px;">
         <td class="windowbg3" colspan="4" style="border-top: 2px solid #d0d0d0; padding-top: 4px; "><h2 align="center">' . $groupNameX . '</h2>
         </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;">'.$team['link'].'</h2>';

            echo ''. $team['usertitle'].'
';

            echo ''. $team['comment'].'
';

            if (!$list_by_group)
               echo ''.$txt[87].': '.$team['groupname'].'
';

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

            echo ''.$txt['lastLoggedIn'].': '.$team['last_login'].'
';



            echo !empty($team['location']) ? ''.$txt[227].': '.$team['location'].'
' : '';

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


            echo !empty($team['blurb']) ? '- '.$team['blurb'].'
' : '';

            echo !empty($team['teamtext']) ? $team['teamtext'].'
' : '';

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

         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>';

trench

Thanks JP! Fabulous! I LOVE YOU!

trench

How come it doesn't look like this in tables?

http://www.the-rota.com/?page=30

IchBin

Probably because the rota site has customized it.

trench

cheers! I got it working nicely!

Plectrum

I'm sort of confused. I don't know PHP at all but i copied the final code put together by JPDeni and put it into a PHP Article. It shows the Administrator group but i don't know how to make it show another group. Can someone explain to me how i make the "Administrator" group and Another group show as well?

This website is proudly hosted on Crocweb Cloud Website Hosting.