| [ Index ] |
PHP Cross Reference of MyBB 1.6.5 |
[Summary view] [Print] [Text view]
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 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sun Dec 11 14:16:27 2011 | Cross-referenced by PHPXref 0.7.1 |