[ Index ] |
|
Code source de XOOPS 2.0.17.1 |
1 <?php 2 // $Id: main.php 901 2007-07-29 09:41:01Z phppp $ 3 // ------------------------------------------------------------------------ // 4 // XOOPS - PHP Content Management System // 5 // Copyright (c) 2000 XOOPS.org // 6 // <http://www.xoops.org/> // 7 // ------------------------------------------------------------------------ // 8 // This program is free software; you can redistribute it and/or modify // 9 // it under the terms of the GNU General Public License as published by // 10 // the Free Software Foundation; either version 2 of the License, or // 11 // (at your option) any later version. // 12 // // 13 // You may not change or alter any portion of this comment or credits // 14 // of supporting developers from this source code or any supporting // 15 // source code which is considered copyrighted (c) material of the // 16 // original comment or credit authors. // 17 // // 18 // This program is distributed in the hope that it will be useful, // 19 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 21 // GNU General Public License for more details. // 22 // // 23 // You should have received a copy of the GNU General Public License // 24 // along with this program; if not, write to the Free Software // 25 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // 26 // ------------------------------------------------------------------------ // 27 // Author: Kazumi Ono (AKA onokazu) // 28 // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // 29 // Project: The XOOPS Project // 30 // ------------------------------------------------------------------------- // 31 32 if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) { 33 exit("Access Denied"); 34 } 35 $op = "form"; 36 37 if ( isset($_POST['op']) && $_POST['op'] == "submit" ) { 38 $op = "submit"; 39 } 40 41 xoops_cp_header(); 42 //OpenTable(); 43 44 if ( $op == "form" ) { 45 $member_handler =& xoops_gethandler('member'); 46 $acttotal = $member_handler->getUserCount(new Criteria('level', 0, '>')); 47 $inacttotal = $member_handler->getUserCount(new Criteria('level', 0)); 48 include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php"; 49 $group_select = new XoopsFormSelectGroup(_AM_GROUPS, "selgroups", null, false, 5, true); 50 $uname_text = new XoopsFormText("", "user_uname", 30, 60); 51 $uname_match = new XoopsFormSelectMatchOption("", "user_uname_match"); 52 $uname_tray = new XoopsFormElementTray(_AM_UNAME, " "); 53 $uname_tray->addElement($uname_match); 54 $uname_tray->addElement($uname_text); 55 $name_text = new XoopsFormText("", "user_name", 30, 60); 56 $name_match = new XoopsFormSelectMatchOption("", "user_name_match"); 57 $name_tray = new XoopsFormElementTray(_AM_REALNAME, " "); 58 $name_tray->addElement($name_match); 59 $name_tray->addElement($name_text); 60 $email_text = new XoopsFormText("", "user_email", 30, 60); 61 $email_match = new XoopsFormSelectMatchOption("", "user_email_match"); 62 $email_tray = new XoopsFormElementTray(_AM_EMAIL, " "); 63 $email_tray->addElement($email_match); 64 $email_tray->addElement($email_text); 65 $url_text = new XoopsFormText(_AM_URLC, "user_url", 30, 100); 66 //$theme_select = new XoopsFormSelectTheme(_AM_THEME, "user_theme"); 67 //$timezone_select = new XoopsFormSelectTimezone(_AM_TIMEZONE, "user_timezone_offset"); 68 $icq_text = new XoopsFormText("", "user_icq", 30, 100); 69 $icq_match = new XoopsFormSelectMatchOption("", "user_icq_match"); 70 $icq_tray = new XoopsFormElementTray(_AM_ICQ, " "); 71 $icq_tray->addElement($icq_match); 72 $icq_tray->addElement($icq_text); 73 $aim_text = new XoopsFormText("", "user_aim", 30, 100); 74 $aim_match = new XoopsFormSelectMatchOption("", "user_aim_match"); 75 $aim_tray = new XoopsFormElementTray(_AM_AIM, " "); 76 $aim_tray->addElement($aim_match); 77 $aim_tray->addElement($aim_text); 78 $yim_text = new XoopsFormText("", "user_yim", 30, 100); 79 $yim_match = new XoopsFormSelectMatchOption("", "user_yim_match"); 80 $yim_tray = new XoopsFormElementTray(_AM_YIM, " "); 81 $yim_tray->addElement($yim_match); 82 $yim_tray->addElement($yim_text); 83 $msnm_text = new XoopsFormText("", "user_msnm", 30, 100); 84 $msnm_match = new XoopsFormSelectMatchOption("", "user_msnm_match"); 85 $msnm_tray = new XoopsFormElementTray(_AM_MSNM, " "); 86 $msnm_tray->addElement($msnm_match); 87 $msnm_tray->addElement($msnm_text); 88 $location_text = new XoopsFormText(_AM_LOCATION, "user_from", 30, 100); 89 $occupation_text = new XoopsFormText(_AM_OCCUPATION, "user_occ", 30, 100); 90 $interest_text = new XoopsFormText(_AM_INTEREST, "user_intrest", 30, 100); 91 92 //$bio_text = new XoopsFormText(_AM_EXTRAINFO, "user_bio", 30, 100); 93 $lastlog_more = new XoopsFormText(_AM_LASTLOGMORE, "user_lastlog_more", 10, 5); 94 $lastlog_less = new XoopsFormText(_AM_LASTLOGLESS, "user_lastlog_less", 10, 5); 95 $reg_more = new XoopsFormText(_AM_REGMORE, "user_reg_more", 10, 5); 96 $reg_less = new XoopsFormText(_AM_REGLESS, "user_reg_less", 10, 5); 97 $posts_more = new XoopsFormText(_AM_POSTSMORE, "user_posts_more", 10, 5); 98 $posts_less = new XoopsFormText(_AM_POSTSLESS, "user_posts_less", 10, 5); 99 $mailok_radio = new XoopsFormRadio(_AM_SHOWMAILOK, "user_mailok", "both"); 100 $mailok_radio->addOptionArray(array("mailok"=>_AM_MAILOK, "mailng"=>_AM_MAILNG, "both"=>_AM_BOTH)); 101 $type_radio = new XoopsFormRadio(_AM_SHOWTYPE, "user_type", "actv"); 102 $type_radio->addOptionArray(array("actv"=>_AM_ACTIVE, "inactv"=>_AM_INACTIVE, "both"=>_AM_BOTH)); 103 $sort_select = new XoopsFormSelect(_AM_SORT, "user_sort"); 104 $sort_select->addOptionArray(array("uname"=>_AM_UNAME,"email"=>_AM_EMAIL,"last_login"=>_AM_LASTLOGIN,"user_regdate"=>_AM_REGDATE,"posts"=>_AM_POSTS)); 105 $order_select = new XoopsFormSelect(_AM_ORDER, "user_order"); 106 $order_select->addOptionArray(array("ASC"=>_AM_ASC,"DESC"=>_AM_DESC)); 107 $limit_text = new XoopsFormText(_AM_LIMIT, "limit", 6, 2); 108 $fct_hidden = new XoopsFormHidden("fct", "findusers"); 109 $op_hidden = new XoopsFormHidden("op", "submit"); 110 $submit_button = new XoopsFormButton("", "user_submit", _SUBMIT, "submit"); 111 112 $form = new XoopsThemeForm(_AM_FINDUS, "uesr_findform", "admin.php", 'post', true); 113 $form->addElement($uname_tray); 114 $form->addElement($name_tray); 115 $form->addElement($email_tray); 116 $form->addElement($group_select); 117 //$form->addElement($theme_select); 118 //$form->addElement($timezone_select); 119 $form->addElement($icq_tray); 120 $form->addElement($aim_tray); 121 $form->addElement($yim_tray); 122 $form->addElement($msnm_tray); 123 $form->addElement($url_text); 124 $form->addElement($location_text); 125 $form->addElement($occupation_text); 126 $form->addElement($interest_text); 127 //$form->addElement($bio_text); 128 $form->addElement($lastlog_more); 129 $form->addElement($lastlog_less); 130 $form->addElement($reg_more); 131 $form->addElement($reg_less); 132 $form->addElement($posts_more); 133 $form->addElement($posts_less); 134 $form->addElement($mailok_radio); 135 $form->addElement($type_radio); 136 $form->addElement($sort_select); 137 $form->addElement($order_select); 138 $form->addElement($fct_hidden); 139 $form->addElement($limit_text); 140 $form->addElement($op_hidden); 141 // if this is to find users for a specific group 142 if ( !empty($_GET['group']) && intval($_GET['group']) > 0 ) { 143 $group_hidden = new XoopsFormHidden("group", intval($_GET['group'])); 144 $form->addElement($group_hidden); 145 } 146 $form->addElement($submit_button); 147 echo "<h4 style='text-align:left;'>"._AM_FINDUS."</h4>(".sprintf(_AM_ACTUS, "<span style='color:#ff0000;'>$acttotal</span>")." ".sprintf(_AM_INACTUS, "<span style='color:#ff0000;'>$inacttotal</span>").")"; 148 $form->display(); 149 } 150 151 elseif ($op == "submit" & $GLOBALS['xoopsSecurity']->check()) { 152 $myts =& MyTextSanitizer::getInstance(); 153 $criteria = new CriteriaCompo(); 154 if ( !empty($_POST['user_uname']) ) { 155 $match = (!empty($_POST['user_uname_match'])) ? intval($_POST['user_uname_match']) : XOOPS_MATCH_START; 156 switch ($match) { 157 case XOOPS_MATCH_START: 158 $criteria->add(new Criteria('uname', $myts->addSlashes(trim($_POST['user_uname'])).'%', 'LIKE')); 159 break; 160 case XOOPS_MATCH_END: 161 $criteria->add(new Criteria('uname', '%'.$myts->addSlashes(trim($_POST['user_uname'])), 'LIKE')); 162 break; 163 case XOOPS_MATCH_EQUAL: 164 $criteria->add(new Criteria('uname', $myts->addSlashes(trim($_POST['user_uname'])))); 165 break; 166 case XOOPS_MATCH_CONTAIN: 167 $criteria->add(new Criteria('uname', '%'.$myts->addSlashes(trim($_POST['user_uname'])).'%', 'LIKE')); 168 break; 169 } 170 } 171 if ( !empty($_POST['user_name']) ) { 172 $match = (!empty($_POST['user_name_match'])) ? intval($_POST['user_name_match']) : XOOPS_MATCH_START; 173 switch ($match) { 174 case XOOPS_MATCH_START: 175 $criteria->add(new Criteria('name', $myts->addSlashes(trim($_POST['user_name'])).'%', 'LIKE')); 176 break; 177 case XOOPS_MATCH_END: 178 $criteria->add(new Criteria('name', '%'.$myts->addSlashes(trim($_POST['user_name'])), 'LIKE')); 179 break; 180 case XOOPS_MATCH_EQUAL: 181 $criteria->add(new Criteria('name', $myts->addSlashes(trim($_POST['user_name'])))); 182 break; 183 case XOOPS_MATCH_CONTAIN: 184 $criteria->add(new Criteria('name', '%'.$myts->addSlashes(trim($_POST['user_name'])).'%', 'LIKE')); 185 break; 186 } 187 } 188 if ( !empty($_POST['user_email']) ) { 189 $match = (!empty($_POST['user_email_match'])) ? intval($_POST['user_email_match']) : XOOPS_MATCH_START; 190 switch ($match) { 191 case XOOPS_MATCH_START: 192 $criteria->add(new Criteria('email', $myts->addSlashes(trim($_POST['user_email'])).'%', 'LIKE')); 193 break; 194 case XOOPS_MATCH_END: 195 $criteria->add(new Criteria('email', '%'.$myts->addSlashes(trim($_POST['user_email'])), 'LIKE')); 196 break; 197 case XOOPS_MATCH_EQUAL: 198 $criteria->add(new Criteria('email', $myts->addSlashes(trim($_POST['user_email'])))); 199 break; 200 case XOOPS_MATCH_CONTAIN: 201 $criteria->add(new Criteria('email', '%'.$myts->addSlashes(trim($_POST['user_email'])).'%', 'LIKE')); 202 break; 203 } 204 } 205 if ( !empty($_POST['user_url']) ) { 206 $url = formatURL(trim($_POST['user_url'])); 207 $criteria->add(new Criteria('url', $url.'%', 'LIKE')); 208 } 209 if ( !empty($_POST['user_icq']) ) { 210 $match = (!empty($_POST['user_icq_match'])) ? intval($_POST['user_icq_match']) : XOOPS_MATCH_START; 211 switch ($match) { 212 case XOOPS_MATCH_START: 213 $criteria->add(new Criteria('user_icq', $myts->addSlashes(trim($_POST['user_icq'])).'%', 'LIKE')); 214 break; 215 case XOOPS_MATCH_END: 216 $criteria->add(new Criteria('user_icq', '%'.$myts->addSlashes(trim($_POST['user_icq'])), 'LIKE')); 217 break; 218 case XOOPS_MATCH_EQUAL: 219 $criteria->add(new Criteria('user_icq', '%'.$myts->addSlashes(trim($_POST['user_icq'])))); 220 break; 221 case XOOPS_MATCH_CONTAIN: 222 $criteria->add(new Criteria('user_icq', '%'.$myts->addSlashes(trim($_POST['user_icq'])).'%', 'LIKE')); 223 break; 224 } 225 } 226 if ( !empty($_POST['user_aim']) ) { 227 $match = (!empty($_POST['user_aim_match'])) ? intval($_POST['user_aim_match']) : XOOPS_MATCH_START; 228 switch ($match) { 229 case XOOPS_MATCH_START: 230 $criteria->add(new Criteria('user_aim', $myts->addSlashes(trim($_POST['user_aim'])).'%', 'LIKE')); 231 break; 232 case XOOPS_MATCH_END: 233 $criteria->add(new Criteria('user_aim', '%'.$myts->addSlashes(trim($_POST['user_aim'])), 'LIKE')); 234 break; 235 case XOOPS_MATCH_EQUAL: 236 $criteria->add(new Criteria('user_aim', $myts->addSlashes(trim($_POST['user_aim'])))); 237 break; 238 case XOOPS_MATCH_CONTAIN: 239 $criteria->add(new Criteria('user_aim', '%'.$myts->addSlashes(trim($_POST['user_aim'])).'%', 'LIKE')); 240 break; 241 } 242 } 243 if ( !empty($_POST['user_yim']) ) { 244 $match = (!empty($_POST['user_yim_match'])) ? intval($_POST['user_yim_match']) : XOOPS_MATCH_START; 245 switch ($match) { 246 case XOOPS_MATCH_START: 247 $criteria->add(new Criteria('user_yim', $myts->addSlashes(trim($_POST['user_yim'])).'%', 'LIKE')); 248 break; 249 case XOOPS_MATCH_END: 250 $criteria->add(new Criteria('user_yim', '%'.$myts->addSlashes(trim($_POST['user_yim'])), 'LIKE')); 251 break; 252 case XOOPS_MATCH_EQUAL: 253 $criteria->add(new Criteria('user_yim', $myts->addSlashes(trim($_POST['user_yim'])))); 254 break; 255 case XOOPS_MATCH_CONTAIN: 256 $criteria->add(new Criteria('user_yim', '%'.$myts->addSlashes(trim($_POST['user_yim'])).'%', 'LIKE')); 257 break; 258 } 259 } 260 if ( !empty($_POST['user_msnm']) ) { 261 $match = (!empty($_POST['user_msnm_match'])) ? intval($_POST['user_msnm_match']) : XOOPS_MATCH_START; 262 switch ($match) { 263 case XOOPS_MATCH_START: 264 $criteria->add(new Criteria('user_msnm', $myts->addSlashes(trim($_POST['user_msnm'])).'%', 'LIKE')); 265 break; 266 case XOOPS_MATCH_END: 267 $criteria->add(new Criteria('user_msnm', '%'.$myts->addSlashes(trim($_POST['user_msnm'])), 'LIKE')); 268 break; 269 case XOOPS_MATCH_EQUAL: 270 $criteria->add(new Criteria('user_msnm', '%'.$myts->addSlashes(trim($_POST['user_msnm'])))); 271 break; 272 case XOOPS_MATCH_CONTAIN: 273 $criteria->add(new Criteria('user_msnm', '%'.$myts->addSlashes(trim($_POST['user_msnm'])).'%', 'LIKE')); 274 break; 275 } 276 } 277 if ( !empty($_POST['user_from']) ) { 278 $criteria->add(new Criteria('user_from', '%'.$myts->addSlashes(trim($_POST['user_from'])).'%', 'LIKE')); 279 } 280 if ( !empty($_POST['user_intrest']) ) { 281 $criteria->add(new Criteria('user_intrest', '%'.$myts->addSlashes(trim($_POST['user_intrest'])).'%', 'LIKE')); 282 } 283 if ( !empty($_POST['user_occ']) ) { 284 $criteria->add(new Criteria('user_occ', '%'.$myts->addSlashes(trim($_POST['user_occ'])).'%', 'LIKE')); 285 } 286 287 if ( !empty($_POST['user_lastlog_more']) && is_numeric($_POST['user_lastlog_more']) ) { 288 $f_user_lastlog_more = intval(trim($_POST['user_lastlog_more'])); 289 $time = time() - (60 * 60 * 24 * $f_user_lastlog_more); 290 if ( $time > 0 ) { 291 $criteria->add(new Criteria('last_login', $time, '<')); 292 } 293 } 294 if ( !empty($_POST['user_lastlog_less']) && is_numeric($_POST['user_lastlog_less']) ) { 295 $f_user_lastlog_less = intval(trim($_POST['user_lastlog_less'])); 296 $time = time() - (60 * 60 * 24 * $f_user_lastlog_less); 297 if ( $time > 0 ) { 298 $criteria->add(new Criteria('last_login', $time, '>')); 299 } 300 } 301 if ( !empty($_POST['user_reg_more']) && is_numeric($_POST['user_reg_more']) ) { 302 $f_user_reg_more = intval(trim($_POST['user_reg_more'])); 303 $time = time() - (60 * 60 * 24 * $f_user_reg_more); 304 if ( $time > 0 ) { 305 $criteria->add(new Criteria('user_regdate', $time, '<')); 306 } 307 } 308 if ( !empty($_POST['user_reg_less']) && is_numeric($_POST['user_reg_less']) ) { 309 $f_user_reg_less = intval($_POST['user_reg_less']); 310 $time = time() - (60 * 60 * 24 * $f_user_reg_less); 311 if ( $time > 0 ) { 312 $criteria->add(new Criteria('user_regdate', $time, '>')); 313 } 314 } 315 if ( !empty($_POST['user_posts_more']) && is_numeric($_POST['user_posts_more']) ) { 316 $criteria->add(new Criteria('posts', intval($_POST['user_posts_more']), '>')); 317 } 318 if ( !empty($_POST['user_posts_less']) && is_numeric($_POST['user_posts_less']) ) { 319 $criteria->add(new Criteria('posts', intval($_POST['user_posts_less']), '<')); 320 } 321 if ( isset($_POST['user_mailok']) ) { 322 if ( $_POST['user_mailok'] == "mailng" ) { 323 $criteria->add(new Criteria('user_mailok', 0)); 324 } elseif ( $_POST['user_mailok'] == "mailok" ) { 325 $criteria->add(new Criteria('user_mailok', 1)); 326 } else { 327 $criteria->add(new Criteria('user_mailok', 0, '>=')); 328 } 329 } 330 if ( isset($_POST['user_type']) ) { 331 if ( $_POST['user_type'] == "inactv" ) { 332 $criteria->add(new Criteria('level', 0, '=')); 333 } elseif ( $_POST['user_type'] == "actv" ) { 334 $criteria->add(new Criteria('level', 0, '>')); 335 } else { 336 $criteria->add(new Criteria('level', 0, '>=')); 337 } 338 } 339 $groups = empty($_POST['selgroups']) ? array() : array_map("intval", $_POST['selgroups']); 340 $validsort = array("uname", "email", "last_login", "user_regdate", "posts"); 341 $sort = (!in_array($_POST['user_sort'], $validsort)) ? "uname" : $_POST['user_sort']; 342 $order = "ASC"; 343 if ( isset($_POST['user_order']) && $_POST['user_order'] == "DESC") { 344 $order = "DESC"; 345 } 346 $limit = (!empty($_POST['limit'])) ? intval($_POST['limit']) : 50; 347 if ( $limit == 0 || $limit > 50 ) { 348 $limit = 50; 349 } 350 $start = (!empty($_POST['start'])) ? intval($_POST['start']) : 0; 351 $member_handler =& xoops_gethandler('member'); 352 $total = $member_handler->getUserCountByGroupLink($groups, $criteria); 353 echo "<a href='admin.php?fct=findusers&op=form'>". _AM_FINDUS ."</a> <span style='font-weight:bold;'>»»</span> ". _AM_RESULTS."<br /><br />"; 354 if ( $total == 0 ) { 355 echo "<h4>"._AM_NOFOUND,"</h4>"; 356 } elseif ( $start < $total ) { 357 echo sprintf(_AM_USERSFOUND, $total)."<br />"; 358 echo "<form action='admin.php' method='post' name='memberslist' id='memberslist'><input type='hidden' name='op' value='delete_many' /> 359 <table width='100%' border='0' cellspacing='1' cellpadding='4' class='outer'><tr><th align='center'><input type='checkbox' name='memberslist_checkall' id='memberslist_checkall' onclick='xoopsCheckAll(\"memberslist\", \"memberslist_checkall\");' /></th><th align='center'>"._AM_AVATAR."</th><th align='center'>"._AM_UNAME."</th><th align='center'>"._AM_REALNAME."</th><th align='center'>"._AM_EMAIL."</th><th align='center'>"._AM_PM."</th><th align='center'>"._AM_URL."</th><th align='center'>"._AM_REGDATE."</th><th align='center'>"._AM_LASTLOGIN."</th><th align='center'>"._AM_POSTS."</th><th align='center'> </th></tr>"; 360 $criteria->setSort($sort); 361 $criteria->setOrder($order); 362 $criteria->setLimit($limit); 363 $criteria->setStart($start); 364 $foundusers =& $member_handler->getUsersByGroupLink($groups, $criteria, true); 365 $ucount = 0; 366 foreach (array_keys($foundusers) as $j) { 367 if ($ucount % 2 == 0) { 368 $class = 'even'; 369 } else { 370 $class = 'odd'; 371 } 372 $ucount++; 373 $fuser_avatar = $foundusers[$j]->getVar("user_avatar") ? "<img src='".XOOPS_UPLOAD_URL."/".$foundusers[$j]->getVar("user_avatar")."' alt='' />" : " "; 374 $fuser_name = $foundusers[$j]->getVar("name") ? $foundusers[$j]->getVar("name") : " "; 375 echo "<tr class='$class'><td align='center'><input type='checkbox' name='memberslist_id[]' id='memberslist_id[]' value='".$foundusers[$j]->getVar("uid")."' /><input type='hidden' name='memberslist_uname[".$foundusers[$j]->getVar("uid")."]' id='memberslist_uname[]' value='".$foundusers[$j]->getVar("uname")."' /></td>"; 376 echo "<td>$fuser_avatar</td><td><a href='".XOOPS_URL."/userinfo.php?uid=".$foundusers[$j]->getVar("uid")."'>".$foundusers[$j]->getVar("uname")."</a></td><td>".$fuser_name."</td><td align='center'><a href='mailto:".$foundusers[$j]->getVar("email")."'><img src='".XOOPS_URL."/images/icons/email.gif' border='0' alt='"; 377 printf(_SENDEMAILTO,$foundusers[$j]->getVar("uname", "E")); 378 echo "' /></a></td><td align='center'><a href='javascript:openWithSelfMain(\"".XOOPS_URL."/pmlite.php?send2=1&to_userid=".$foundusers[$j]->getVar("uid")."\",\"pmlite\",450,370);'><img src='".XOOPS_URL."/images/icons/pm.gif' border='0' alt='"; 379 printf(_SENDPMTO,$foundusers[$j]->getVar("uname", "E")); 380 echo "' /></a></td><td align='center'>"; 381 if ( $foundusers[$j]->getVar("url","E") != "" ) { 382 echo "<a href='".$foundusers[$j]->getVar("url","E")."' target='_blank'><img src='".XOOPS_URL."/images/icons/www.gif' border='0' alt='"._VISITWEBSITE."' /></a>"; 383 } else { 384 echo " "; 385 } 386 echo "</td><td align='center'>".formatTimeStamp($foundusers[$j]->getVar("user_regdate"),"s")."</td><td align='center'>"; 387 if ( $foundusers[$j]->getVar("last_login") != 0 ) { 388 echo formatTimeStamp($foundusers[$j]->getVar("last_login"),"m"); 389 } else { 390 echo " "; 391 } 392 echo "</td><td align='center'>".$foundusers[$j]->getVar("posts")."</td>"; 393 echo "<td align='center'><a href='".XOOPS_URL."/modules/system/admin.php?fct=users&uid=".$foundusers[$j]->getVar("uid")."&op=modifyUser'>"._EDIT."</a></td></tr>\n"; 394 } 395 echo "<tr class='foot'><td><select name='fct'><option value='users'>"._DELETE."</option><option value='mailusers'>"._AM_SENDMAIL."</option>"; 396 $group = !empty($_POST['group']) ? intval($_POST['group']) : 0; 397 if ( $group > 0 ) { 398 $member_handler =& xoops_gethandler('member'); 399 $add2group =& $member_handler->getGroup($group); 400 echo "<option value='groups' selected='selected'>".sprintf(_AM_ADD2GROUP, $add2group->getVar('name'))."</option>"; 401 } 402 echo "</select> "; 403 if ( $group > 0 ) { 404 echo "<input type='hidden' name='groupid' value='".$group."' />"; 405 } 406 echo "</td><td colspan='10'>".$GLOBALS['xoopsSecurity']->getTokenHTML()."<input type='submit' value='"._SUBMIT."' /></td></tr></table></form>\n"; 407 $totalpages = ceil($total / $limit); 408 if ( $totalpages > 1 ) { 409 $hiddenform = "<form name='findnext' action='admin.php' method='post'>"; 410 $skip_vars = array('selgroups'); 411 foreach ( $_POST as $k => $v ) { 412 if ($k == 'selgroups') { 413 foreach( $_POST['selgroups'] as $_group){ 414 $hiddenform .= "<input type='hidden' name='selgroups[]' value='".$_group."' />\n"; 415 } 416 } elseif ($k == 'XOOPS_TOKEN_REQUEST') { 417 // regenerate token value 418 $hiddenform .= $GLOBALS['xoopsSecurity']->getTokenHTML()."\n"; 419 } else { 420 $hiddenform .= "<input type='hidden' name='".$myts->htmlSpecialChars($k)."' value='".$myts->htmlSpecialChars($myts->stripSlashesGPC($v))."' />\n"; 421 } 422 } 423 if (!isset($_POST['limit'])) { 424 $hiddenform .= "<input type='hidden' name='limit' value='".$limit."' />\n"; 425 } 426 if (!isset($_POST['start'])) { 427 $hiddenform .= "<input type='hidden' name='start' value='".$start."' />\n"; 428 } 429 $prev = $start - $limit; 430 if ( $start - $limit >= 0 ) { 431 $hiddenform .= "<a href='#0' onclick='javascript:document.findnext.start.value=".$prev.";document.findnext.submit();'>"._AM_PREVIOUS."</a> \n"; 432 } 433 $counter = 1; 434 $currentpage = ($start+$limit) / $limit; 435 while ( $counter <= $totalpages ) { 436 if ( $counter == $currentpage ) { 437 $hiddenform .= "<b>".$counter."</b> "; 438 } elseif ( ($counter > $currentpage-4 && $counter < $currentpage+4) || $counter == 1 || $counter == $totalpages ) { 439 if ( $counter == $totalpages && $currentpage < $totalpages-4 ) { 440 $hiddenform .= "... "; 441 } 442 $hiddenform .= "<a href='#".$counter."' onclick='javascript:document.findnext.start.value=".($counter-1)*$limit.";document.findnext.submit();'>".$counter."</a> "; 443 if ( $counter == 1 && $currentpage > 5 ) { 444 $hiddenform .= "... "; 445 } 446 } 447 $counter++; 448 } 449 $next = $start+$limit; 450 if ( $total > $next ) { 451 $hiddenform .= " <a href='#".$total."' onclick='javascript:document.findnext.start.value=".$next.";document.findnext.submit();'>"._AM_NEXT."</a>\n"; 452 } 453 $hiddenform .= "</form>"; 454 echo "<div style='text-align:center'>".$hiddenform."<br />"; 455 printf(_AM_USERSFOUND, $total); 456 echo "</div>"; 457 } 458 } 459 } 460 else { 461 redirect_header('admin.php?fct=findusers', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); 462 } 463 //CloseTable(); 464 xoops_cp_footer(); 465 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Nov 25 11:44:32 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |