[ Index ]

PHP Cross Reference of MyBB 1.6.5

title

Body

[close]

/ -> showteam.php (source)

   1  <?php
   2  /**
   3   * MyBB 1.6
   4   * Copyright 2010 MyBB Group, All Rights Reserved
   5   *
   6   * Website: http://mybb.com
   7   * License: http://mybb.com/about/license
   8   *
   9   * $Id: showteam.php 5590 2011-09-13 15:54:35Z Tomm $
  10   */
  11  
  12  define("IN_MYBB", 1);
  13  define('THIS_SCRIPT', 'showteam.php');
  14  
  15  $templatelist = 'showteam,showteam_row,showteam_row_mod,postbit_email,postbit_pm';
  16  $templatelist .= ',showteam_usergroup_user,showteam_usergroup,showteam_moderators_mod';
  17  $templatelist .= ',showteam_moderators,showteam_moderators_forum';
  18  require_once  "./global.php";
  19  
  20  // Load global language phrases
  21  $lang->load('showteam');
  22  
  23  add_breadcrumb($lang->nav_showteam);
  24  
  25  $plugins->run_hooks('showteam_start');
  26  
  27  $usergroups = array();
  28  $moderators = array();
  29  $users = array();
  30  
  31  // Fetch the list of groups which are to be shown on the page
  32  $query = $db->simple_select("usergroups", "gid, title, usertitle", "showforumteam=1", array('order_by' => 'disporder'));
  33  while($usergroup = $db->fetch_array($query))
  34  {
  35      $usergroups[$usergroup['gid']] = $usergroup;
  36  }
  37  
  38  if(empty($usergroups))
  39  {
  40      error($lang->error_noteamstoshow);
  41  }
  42  
  43  // Fetch specific forum moderator details
  44  if($usergroups[6]['gid'])
  45  {
  46      $query = $db->query("
  47          SELECT m.*, f.name
  48          FROM ".TABLE_PREFIX."moderators m
  49          LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=m.id)
  50          LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=m.fid)
  51          WHERE f.active = 1 AND m.isgroup = 0
  52          ORDER BY u.username
  53      ");
  54      while($moderator = $db->fetch_array($query))
  55      {
  56          $moderators[$moderator['id']][] = $moderator;
  57      } 
  58  }
  59  
  60  // Now query the users of those specific groups
  61  $groups_in = implode(",", array_keys($usergroups));
  62  $users_in = implode(",", array_keys($moderators));
  63  if(!$groups_in)
  64  {
  65      $groups_in = 0;
  66  }
  67  if(!$users_in)
  68  {
  69      $users_in = 0;
  70  }
  71  $forum_permissions = forum_permissions();
  72  
  73  $query = $db->simple_select("users", "uid, username, displaygroup, usergroup, ignorelist, hideemail, receivepms", "displaygroup IN ($groups_in) OR (displaygroup='0' AND usergroup IN ($groups_in)) OR uid IN ($users_in)", array('order_by' => 'username'));
  74  while($user = $db->fetch_array($query))
  75  {
  76      // If this user is a moderator
  77      if(isset($moderators[$user['uid']]))
  78      {
  79          foreach($moderators[$user['uid']] as $forum)
  80          {
  81              if($forum_permissions[$forum['fid']]['canview'] == 1)
  82              {
  83                  $forum_url = get_forum_link($forum['fid']);
  84                  eval("\$forumlist .= \"".$templates->get("showteam_moderators_forum")."\";");
  85              }
  86          }
  87          $user['forumlist'] = $forumlist;
  88          $forumlist = '';
  89          $usergroups[6]['user_list'][$user['uid']] = $user;
  90      }
  91      
  92      if($user['displaygroup'] == '6' || $user['usergroup'] == '6')
  93      {
  94          $usergroups[6]['user_list'][$user['uid']] = $user;
  95      }
  96      
  97      // Are they also in another group which is being shown on the list?
  98      if($user['displaygroup'] != 0)
  99      {
 100          $group = $user['displaygroup'];
 101      }
 102      else
 103      {
 104          $group = $user['usergroup'];
 105      }
 106      
 107      if($usergroups[$group] && $group != 6)
 108      {
 109          $usergroups[$group]['user_list'][$user['uid']] = $user;
 110      }
 111  }
 112  
 113  // Now we have all of our user details we can display them.
 114  $grouplist = '';
 115  foreach($usergroups as $usergroup)
 116  {
 117      // If we have no users - don't show this group
 118      if(!isset($usergroup['user_list']))
 119      {
 120          continue;
 121      }
 122  
 123      $bgcolor = '';
 124      foreach($usergroup['user_list'] as $user)
 125      {
 126          $user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
 127          $user['profilelink'] = get_profile_link($user['uid']);
 128  
 129          // For the postbit templates
 130          $post['uid'] = $user['uid'];
 131          $emailcode = $pmcode = '';
 132          if($user['hideemail'] != 1)
 133          {
 134              eval("\$emailcode = \"".$templates->get("postbit_email")."\";");
 135          }
 136          
 137          if($user['receivepms'] != 0 && $mybb->settings['enablepms'] != 0 && my_strpos(",".$user['ignorelist'].",", ",".$mybb->user['uid'].",") === false)
 138          {
 139              eval("\$pmcode = \"".$templates->get("postbit_pm")."\";");
 140          }
 141          
 142          $bgcolor = alt_trow();
 143  
 144          // If the current group is a moderator group
 145          if($usergroup['gid'] == 6 && !empty($user['forumlist']))
 146          {
 147              $forumslist = $user['forumlist'];
 148              eval("\$modrows .= \"".$templates->get("showteam_moderators_mod")."\";");
 149          }
 150          else
 151          {
 152              eval("\$usergrouprows .= \"".$templates->get("showteam_usergroup_user")."\";");
 153          }    
 154      }
 155      
 156      if($modrows && $usergroup['gid'] == 6)
 157      {
 158          eval("\$grouplist .= \"".$templates->get("showteam_moderators")."\";");
 159      }
 160  
 161      if($usergrouprows)
 162      {
 163          eval("\$grouplist .= \"".$templates->get("showteam_usergroup")."\";");
 164      }
 165  
 166      $usergrouprows = $modrows = '';
 167  }
 168  
 169  if(empty($grouplist))
 170  {
 171      error($lang->error_noteamstoshow);
 172  }
 173  
 174  $plugins->run_hooks("showteam_end");
 175  
 176  eval("\$showteam = \"".$templates->get("showteam")."\";");
 177  output_page($showteam);
 178  ?>


Generated: Sun Dec 11 14:16:27 2011 Cross-referenced by PHPXref 0.7.1