[ Index ]
 

Code source de XOOPS 2.0.17.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/htdocs/modules/system/admin/findusers/ -> main.php (source)

   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, "&nbsp;");
  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, "&nbsp;");
  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, "&nbsp;");
  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, "&nbsp;");
  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, "&nbsp;");
  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, "&nbsp;");
  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, "&nbsp;");
  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&amp;op=form'>". _AM_FINDUS ."</a>&nbsp;<span style='font-weight:bold;'>&raquo;&raquo;</span>&nbsp;". _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'>&nbsp;</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='' />" : "&nbsp;";
 374              $fuser_name = $foundusers[$j]->getVar("name") ? $foundusers[$j]->getVar("name") : "&nbsp;";
 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&amp;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 "&nbsp;";
 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 "&nbsp;";
 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&amp;uid=".$foundusers[$j]->getVar("uid")."&amp;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>&nbsp;";
 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>&nbsp;\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 .= "&nbsp;<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  ?>


Généré le : Sun Nov 25 11:44:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics