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

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.

BD.shumar

#280
I found how to "extract" value that I need.

SELECT value
FROM smf_themes
WHERE variable = 'CP4'


How to add that to roster page ?
I need only username and that value on page...

JPDeni


  global $db_prefix;
  $query = db_query("SELECT realName, value, th.ID_MEMBER
                     FROM {$db_prefix}themes as th,{$db_prefix}members as mem
                     WHERE variable LIKE 'CP4'
                         AND th.ID_MEMBER = mem.ID_MEMBER
                     ORDER BY realName", __FILE__, __LINE__);
  while ($row = mysql_fetch_assoc($query))
  {
    echo $row['realName'] . ' ' . $row['CP4'] . '<br />';


This is quite similar to the List Mod topic.

BD.shumar

I make mistake when I tried to explain what I need. :(
I need this:
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(13, 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

$page_title = 'Hall of Fame';
$page_subtitle = 'Clanovi grupe na koje smo posebno ponosni';

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

but without "lastloggedin" and with value from CP4 field.
Sorry for making mistake. It's almost 2AM here.

Thank you.

JPDeni

Can you do without the "teamtext" value? If so, do a search-and-replace on the code, replacing teamtext with CP4.

If not, I don't know how to do it.

BD.shumar

It's work.
Thank you.

BD.shumar

#285
But now I have a different problem...
I get a LOT of errors in my log file.
All errors are have 2 similarities:

8: Undefined offset: 0

Line: 762

Problem is that file is different every time...

Maybe this is starter of problem:
Undefined variable: groupnum

JPDeni

Try changing


'groupname' => ($groupnum == 0) ? $row['groupName'] : $groupNameX ,


to



'groupname' => ($groupnumber == 0) ? $row['groupName'] : $groupNameX ,

BD.shumar

hm...
Still get errors...

8: Undefined offset: 0
File: /htdocs/Themes/default/Display.template.php (eval?)
Line: 762

8: Undefined offset: 0
File: /htdocs/Themes/default/TPortal.template.php (eval?)
Line: 762

....
etc...

JPDeni

I don't know what the problem is. Are you sure that it only occurs when you use this script?

BD.shumar

I found where is problem. :)
index.template.php
Quote//Hall of fame menu button
if ($context[$current_action == 'halloffame'])
      $current_action = 'halloffame';
      echo ($current_action=='halloffame' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
            <td valign="top" class="maintab_' , $current_action == 'halloffame' ? 'active_back' : 'back' , '">
               <a href="./hall_of_fame-p9.html">Hall of Fame</a>
            </td>' , $current_action == 'halloffame' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

Bold is in line 762...

how to make a button in menu to call this article ??

This website is proudly hosted on Crocweb Cloud Website Hosting.