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: 206
  • Total: 206

Roster Page

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JPDeni

Find the numbers of the groups that you want to include. Let's say you want to include groups 3, 5 and 7, in addition to group 1 (admin).

Look for


$groups_list = array(1);


It's near the top.

Change it to


$groups_list = array(1,3,5,7);


Just put the numbers of the groups you want to include within the parentheses, separated by commas.

Plectrum

Ah Thanks, But how do you know the number of each group? Like I saw Admin, Then global Modertor, Then Moderator, Then Clan Member. Clan member is my own membergroup. I added "4" after 1 in the code and refreshed the page but nothing changed

Ken.

#302
In your Admin panel look under "Manage Membergroups" and hover over the group name you want to include... you should then see the membergroup number in the address string in the lower left of your browser window.

EDIT: Using a low number may not return a result because you may not have any members in the group... numbers for groups that you have added tend to be higher, like 10 or 11 or 12 etc.
" If everything seems under control, you're not going fast enough." - Mario Andretti
Yesterday When I was Young.

Plectrum

YAY!! It worked. Thank you so much JP and Ken!!!

Kristos

#304
This works out great, but I have a question. I have multiple custom profile fields that I would like to show up in the roster. I'm using the code straight from the page and made no changes to it other then the teamtext which I changed to FN1 which displays a family name. But I have other custom fields that I would also like to add. They are under smf_themes, CP1, FN2, etc.. how would I go about adding those? I tried, but nothing I did worked. My coding is weak at best. :'(

         mem.websiteUrl, mem.location, mem.posts, them.value AS FN1, 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 = 'FN1' AND them.ID_THEME=1)


FN1 took the spot of teamtext in the code.

tarmer

Thanks for all the work you guys do... This is great stuff

Question for anyone - this code below works great, What if I am running a fantasy baseball or soccer site  - How can I modify this code to create a "player roster" vs a "member roster"

Do I have to enter each name in as a member - or is there something I can do to enter the names into the DB (lets say Derek Jeter) and get the DB to read from this rather than the memeber ID section ?

Thanks in advance

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

JPDeni

As it is written, you would have to create member accounts for each of the players.

I don't know exactly how these fantasy sports things work, but I'm pretty sure that this code wouldn't work for it.

I don't know if there are previous topics about this or not. I guess the first thing to do would be to do a search and see what other code has already been written. If you don't find anything, you might want to start a new topic and explain in detail exactly what you want. If it seems to be doable, I might be able to give it a try. 

tarmer

Thank You......  I will do so

nutcase82

IS there any way to take away the avatars?  Also I want to put the member group pictures in the main title for each group.

nutcase82

nevermind about the avatars..I just deleted this code

echo '
            <td valign="top" width="18%">'.$team['avatar']['image'].'</td>';


This website is proudly hosted on Crocweb Cloud Website Hosting.