Changeset 2447
- Timestamp:
- 01/28/09 21:02:01 (4 years ago)
- Location:
- alternc/trunk/bureau
- Files:
-
- 2 edited
-
admin/adm_list.php (modified) (2 diffs)
-
class/m_admin.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
alternc/trunk/bureau/admin/adm_list.php
r2446 r2447 38 38 } 39 39 40 $r=$admin->get_list($_REQUEST['show'] == 'all' ? 1 : 0); 40 $creator_id = intval($_REQUEST['creator']); 41 42 $r=$admin->get_list($_REQUEST['show'] == 'all' ? 1 : 0, $creator_id); 41 43 42 44 include("head.php"); … … 54 56 <?php if($_REQUEST['show'] != 'all') { 55 57 echo '<br /><a href="adm_list.php?show=all">' . _('List all the accounts') . '</a>'; 58 59 if ($cuid == 2000) { 60 $list_creators = $admin->get_creator_list(); 61 $infos_creators = array(); 62 63 foreach ($list_creators as $key => $val) { 64 $infos_creators[] = '<a href="adm_list.php?show_all&creator=' . $val['uid'] . '">' . $val['login'] . '</a>'; 65 } 66 67 if (count($infos_creators)) { 68 echo ' (' . implode(', ', $infos_creators) . ')'; 69 } 70 } 56 71 } else { 57 72 echo '<br /><a href="adm_list.php">' . _('List only my accounts') . '</a>'; -
alternc/trunk/bureau/class/m_admin.php
r2446 r2447 115 115 } 116 116 117 /** 118 * Returns the known information about a specific hosted account 119 * Similar to get_list() but for creators/resellers. 120 */ 121 function get_creator($uid) { 122 global $err,$db; 123 // $err->log("admin","get",$uid); 124 if (!$this->enabled) { 125 $err->raise("admin",1); 126 return false; 127 } 128 129 $db->query("SELECT m.*, parent.login as parentlogin FROM membres as m LEFT JOIN membres as parent ON (parent.uid = m.creator) WHERE m.uid='$uid';"); 130 131 if ($db->num_rows()) { 132 $db->next_record(); 133 $c=$db->Record; 134 } else { 135 $err->raise("admin",2); 136 return false; 137 } 138 139 $db->query("SELECT * FROM local WHERE uid='$uid';"); 140 if ($db->num_rows()) { 141 $db->next_record(); 142 reset($db->Record); 143 while (list($key,$val)=each($db->Record)) { 144 $c[$key]=$val; 145 } 146 } 147 148 $db->query("SELECT count(*) as nbcreated FROM membres WHERE creator='$uid';"); 149 if ($db->num_rows()) { 150 $db->next_record(); 151 reset($db->Record); 152 while (list($key,$val)=each($db->Record)) { 153 $c[$key]=$val; 154 } 155 } 156 157 return $c; 158 } 159 117 160 /* ----------------------------------------------------------------- */ 118 161 /** … … 147 190 * 148 191 */ 149 function get_list($all=0 ) {192 function get_list($all=0,$creator=0) { 150 193 // PATCHBEN pour ne voir que les comptes que l'on a créé (sauf admin) 151 194 global $err,$mem,$cuid; … … 156 199 } 157 200 $db=new DB_System(); 158 if ($mem->user[uid]==2000 || $all) { 201 if ($mem->user['uid']==2000 && $creator) { 202 // Limit listing to a specific reseller 203 $db->query("SELECT uid FROM membres WHERE creator='".$creator."' ORDER BY login;"); 204 } elseif ($mem->user['uid']==2000 || $all) { 159 205 $db->query("SELECT uid FROM membres ORDER BY login;"); 160 206 } else { … … 164 210 while ($db->next_record()) { 165 211 $c[]=$this->get($db->f("uid")); 212 } 213 return $c; 214 } else { 215 return false; 216 } 217 } 218 219 /** 220 * Returns the known information about resellers (uid, login, number of accounts) 221 * May only be called by the admin account (2000) 222 */ 223 function get_creator_list() { 224 global $err,$mem,$cuid; 225 226 $err->log("admin","get_reseller_list"); 227 if (!$this->enabled) { 228 $err->raise("admin",1); 229 return false; 230 } 231 232 if ($cuid != 2000) { 233 $err->raise("admin",1); 234 return false; 235 } 236 237 $db=new DB_System(); 238 239 $db->query("SELECT distinct creator FROM membres WHERE creator <> 0 ORDER BY creator asc;"); 240 241 if ($db->num_rows()) { 242 while ($db->next_record()) { 243 $c[]=$this->get_creator($db->f("creator")); 166 244 } 167 245 return $c;
Note: See TracChangeset
for help on using the changeset viewer.
