| 1 | <?php |
|---|
| 2 | // $Id: index.php,v 1.4 2005/09/04 20:46:12 onokazu Exp $ |
|---|
| 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 | include "../../mainfile.php"; |
|---|
| 28 | |
|---|
| 29 | $op = "form"; |
|---|
| 30 | if ( isset($_POST['op']) && $_POST['op'] == "submit" ) { |
|---|
| 31 | $op = "submit"; |
|---|
| 32 | } |
|---|
| 33 | |
|---|
| 34 | if ( $op == "form" ) { |
|---|
| 35 | $xoopsOption['template_main'] = 'xoopsmembers_searchform.html'; |
|---|
| 36 | include XOOPS_ROOT_PATH."/header.php"; |
|---|
| 37 | $member_handler =& xoops_gethandler('member'); |
|---|
| 38 | $total = $member_handler->getUserCount(new Criteria('level', 0, '>')); |
|---|
| 39 | include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php"; |
|---|
| 40 | $uname_text = new XoopsFormText("", "user_uname", 30, 60); |
|---|
| 41 | $uname_match = new XoopsFormSelectMatchOption("", "user_uname_match"); |
|---|
| 42 | $uname_tray = new XoopsFormElementTray(_MM_UNAME, " "); |
|---|
| 43 | $uname_tray->addElement($uname_match); |
|---|
| 44 | $uname_tray->addElement($uname_text); |
|---|
| 45 | $name_text = new XoopsFormText("", "user_name", 30, 60); |
|---|
| 46 | $name_match = new XoopsFormSelectMatchOption("", "user_name_match"); |
|---|
| 47 | $name_tray = new XoopsFormElementTray(_MM_REALNAME, " "); |
|---|
| 48 | $name_tray->addElement($name_match); |
|---|
| 49 | $name_tray->addElement($name_text); |
|---|
| 50 | $email_text = new XoopsFormText("", "user_email", 30, 60); |
|---|
| 51 | $email_match = new XoopsFormSelectMatchOption("", "user_email_match"); |
|---|
| 52 | $email_tray = new XoopsFormElementTray(_MM_EMAIL, " "); |
|---|
| 53 | $email_tray->addElement($email_match); |
|---|
| 54 | $email_tray->addElement($email_text); |
|---|
| 55 | $url_text = new XoopsFormText(_MM_URLC, "user_url", 30, 100); |
|---|
| 56 | //$theme_select = new XoopsFormSelectTheme(_MM_THEME, "user_theme"); |
|---|
| 57 | //$timezone_select = new XoopsFormSelectTimezone(_MM_TIMEZONE, "user_timezone_offset"); |
|---|
| 58 | $icq_text = new XoopsFormText("", "user_icq", 30, 100); |
|---|
| 59 | $icq_match = new XoopsFormSelectMatchOption("", "user_icq_match"); |
|---|
| 60 | $icq_tray = new XoopsFormElementTray(_MM_ICQ, " "); |
|---|
| 61 | $icq_tray->addElement($icq_match); |
|---|
| 62 | $icq_tray->addElement($icq_text); |
|---|
| 63 | $aim_text = new XoopsFormText("", "user_aim", 30, 100); |
|---|
| 64 | $aim_match = new XoopsFormSelectMatchOption("", "user_aim_match"); |
|---|
| 65 | $aim_tray = new XoopsFormElementTray(_MM_AIM, " "); |
|---|
| 66 | $aim_tray->addElement($aim_match); |
|---|
| 67 | $aim_tray->addElement($aim_text); |
|---|
| 68 | $yim_text = new XoopsFormText("", "user_yim", 30, 100); |
|---|
| 69 | $yim_match = new XoopsFormSelectMatchOption("", "user_yim_match"); |
|---|
| 70 | $yim_tray = new XoopsFormElementTray(_MM_YIM, " "); |
|---|
| 71 | $yim_tray->addElement($yim_match); |
|---|
| 72 | $yim_tray->addElement($yim_text); |
|---|
| 73 | $msnm_text = new XoopsFormText("", "user_msnm", 30, 100); |
|---|
| 74 | $msnm_match = new XoopsFormSelectMatchOption("", "user_msnm_match"); |
|---|
| 75 | $msnm_tray = new XoopsFormElementTray(_MM_MSNM, " "); |
|---|
| 76 | $msnm_tray->addElement($msnm_match); |
|---|
| 77 | $msnm_tray->addElement($msnm_text); |
|---|
| 78 | $location_text = new XoopsFormText(_MM_LOCATION, "user_from", 30, 100); |
|---|
| 79 | $occupation_text = new XoopsFormText(_MM_OCCUPATION, "user_occ", 30, 100); |
|---|
| 80 | $interest_text = new XoopsFormText(_MM_INTEREST, "user_intrest", 30, 100); |
|---|
| 81 | |
|---|
| 82 | //$bio_text = new XoopsFormText(_MM_EXTRAINFO, "user_bio", 30, 100); |
|---|
| 83 | $lastlog_more = new XoopsFormText(_MM_LASTLOGMORE, "user_lastlog_more", 10, 5); |
|---|
| 84 | $lastlog_less = new XoopsFormText(_MM_LASTLOGLESS, "user_lastlog_less", 10, 5); |
|---|
| 85 | $reg_more = new XoopsFormText(_MM_REGMORE, "user_reg_more", 10, 5); |
|---|
| 86 | $reg_less = new XoopsFormText(_MM_REGLESS, "user_reg_less", 10, 5); |
|---|
| 87 | $posts_more = new XoopsFormText(_MM_POSTSMORE, "user_posts_more", 10, 5); |
|---|
| 88 | $posts_less = new XoopsFormText(_MM_POSTSLESS, "user_posts_less", 10, 5); |
|---|
| 89 | $sort_select = new XoopsFormSelect(_MM_SORT, "user_sort"); |
|---|
| 90 | $sort_select->addOptionArray(array("uname"=>_MM_UNAME,"email"=>_MM_EMAIL,"last_login"=>_MM_LASTLOGIN,"user_regdate"=>_MM_REGDATE,"posts"=>_MM_POSTS)); |
|---|
| 91 | $order_select = new XoopsFormSelect(_MM_ORDER, "user_order"); |
|---|
| 92 | $order_select->addOptionArray(array("ASC"=>_MM_ASC,"DESC"=>_MM_DESC)); |
|---|
| 93 | $limit_text = new XoopsFormText(_MM_LIMIT, "limit", 6, 2); |
|---|
| 94 | $op_hidden = new XoopsFormHidden("op", "submit"); |
|---|
| 95 | $submit_button = new XoopsFormButton("", "user_submit", _SUBMIT, "submit"); |
|---|
| 96 | |
|---|
| 97 | $form = new XoopsThemeForm("", "searchform", "index.php"); |
|---|
| 98 | $form->addElement($uname_tray); |
|---|
| 99 | $form->addElement($name_tray); |
|---|
| 100 | $form->addElement($email_tray); |
|---|
| 101 | //$form->addElement($theme_select); |
|---|
| 102 | //$form->addElement($timezone_select); |
|---|
| 103 | $form->addElement($icq_tray); |
|---|
| 104 | $form->addElement($aim_tray); |
|---|
| 105 | $form->addElement($yim_tray); |
|---|
| 106 | $form->addElement($msnm_tray); |
|---|
| 107 | $form->addElement($url_text); |
|---|
| 108 | $form->addElement($location_text); |
|---|
| 109 | $form->addElement($occupation_text); |
|---|
| 110 | $form->addElement($interest_text); |
|---|
| 111 | //$form->addElement($bio_text); |
|---|
| 112 | $form->addElement($lastlog_more); |
|---|
| 113 | $form->addElement($lastlog_less); |
|---|
| 114 | $form->addElement($reg_more); |
|---|
| 115 | $form->addElement($reg_less); |
|---|
| 116 | $form->addElement($posts_more); |
|---|
| 117 | $form->addElement($posts_less); |
|---|
| 118 | $form->addElement($sort_select); |
|---|
| 119 | $form->addElement($order_select); |
|---|
| 120 | $form->addElement($limit_text); |
|---|
| 121 | $form->addElement($op_hidden); |
|---|
| 122 | $form->addElement($submit_button); |
|---|
| 123 | $form->assign($xoopsTpl); |
|---|
| 124 | $xoopsTpl->assign('lang_search', _MM_SEARCH); |
|---|
| 125 | $xoopsTpl->assign('lang_totalusers', sprintf(_MM_TOTALUSERS, '<span style="color:#ff0000;">'.$total.'</span>')); |
|---|
| 126 | } |
|---|
| 127 | |
|---|
| 128 | if ( $op == "submit" ) { |
|---|
| 129 | $xoopsOption['template_main'] = 'xoopsmembers_searchresults.html'; |
|---|
| 130 | include XOOPS_ROOT_PATH."/header.php"; |
|---|
| 131 | $iamadmin = $xoopsUserIsAdmin; |
|---|
| 132 | $myts =& MyTextSanitizer::getInstance(); |
|---|
| 133 | $criteria = new CriteriaCompo(); |
|---|
| 134 | if ( !empty($_POST['user_uname']) ) { |
|---|
| 135 | $match = (!empty($_POST['user_uname_match'])) ? intval($_POST['user_uname_match']) : XOOPS_MATCH_START; |
|---|
| 136 | switch ( $match ) { |
|---|
| 137 | case XOOPS_MATCH_START: |
|---|
| 138 | $criteria->add(new Criteria('uname', $myts->addSlashes(trim($_POST['user_uname'])).'%', 'LIKE')); |
|---|
| 139 | break; |
|---|
| 140 | case XOOPS_MATCH_END: |
|---|
| 141 | $criteria->add(new Criteria('uname', '%'.$myts->addSlashes(trim($_POST['user_uname'])), 'LIKE')); |
|---|
| 142 | break; |
|---|
| 143 | case XOOPS_MATCH_EQUAL: |
|---|
| 144 | $criteria->add(new Criteria('uname', $myts->addSlashes(trim($_POST['user_uname'])))); |
|---|
| 145 | break; |
|---|
| 146 | case XOOPS_MATCH_CONTAIN: |
|---|
| 147 | $criteria->add(new Criteria('uname', '%'.$myts->addSlashes(trim($_POST['user_uname'])).'%', 'LIKE')); |
|---|
| 148 | break; |
|---|
| 149 | } |
|---|
| 150 | } |
|---|
| 151 | if ( !empty($_POST['user_name']) ) { |
|---|
| 152 | $match = (!empty($_POST['user_name_match'])) ? intval($_POST['user_name_match']) : XOOPS_MATCH_START; |
|---|
| 153 | switch ($match) { |
|---|
| 154 | case XOOPS_MATCH_START: |
|---|
| 155 | $criteria->add(new Criteria('name', $myts->addSlashes(trim($_POST['user_name'])).'%', 'LIKE')); |
|---|
| 156 | break; |
|---|
| 157 | case XOOPS_MATCH_END: |
|---|
| 158 | $criteria->add(new Criteria('name', '%'.$myts->addSlashes(trim($_POST['user_name'])).'%', 'LIKE')); |
|---|
| 159 | break; |
|---|
| 160 | case XOOPS_MATCH_EQUAL: |
|---|
| 161 | $criteria->add(new Criteria('name', $myts->addSlashes(trim($_POST['user_name'])))); |
|---|
| 162 | break; |
|---|
| 163 | case XOOPS_MATCH_CONTAIN: |
|---|
| 164 | $criteria->add(new Criteria('name', '%'.$myts->addSlashes(trim($_POST['user_name'])).'%', 'LIKE')); |
|---|
| 165 | break; |
|---|
| 166 | } |
|---|
| 167 | } |
|---|
| 168 | if ( !empty($_POST['user_email']) ) { |
|---|
| 169 | $match = (!empty($_POST['user_email_match'])) ? intval($_POST['user_email_match']) : XOOPS_MATCH_START; |
|---|
| 170 | switch ($match) { |
|---|
| 171 | case XOOPS_MATCH_START: |
|---|
| 172 | $criteria->add(new Criteria('email', $myts->addSlashes(trim($_POST['user_email'])).'%', 'LIKE')); |
|---|
| 173 | break; |
|---|
| 174 | case XOOPS_MATCH_END: |
|---|
| 175 | $criteria->add(new Criteria('email', '%'.$myts->addSlashes(trim($_POST['user_email'])), 'LIKE')); |
|---|
| 176 | break; |
|---|
| 177 | case XOOPS_MATCH_EQUAL: |
|---|
| 178 | $criteria->add(new Criteria('email', $myts->addSlashes(trim($_POST['user_email'])))); |
|---|
| 179 | break; |
|---|
| 180 | case XOOPS_MATCH_CONTAIN: |
|---|
| 181 | $criteria->add(new Criteria('email', '%'.$myts->addSlashes(trim($_POST['user_email'])).'%', 'LIKE')); |
|---|
| 182 | break; |
|---|
| 183 | } |
|---|
| 184 | if ( !$iamadmin ) { |
|---|
| 185 | $criteria->add(new Criteria('user_viewemail', 1)); |
|---|
| 186 | } |
|---|
| 187 | } |
|---|
| 188 | if ( !empty($_POST['user_url']) ) { |
|---|
| 189 | $url = formatURL(trim($_POST['user_url'])); |
|---|
| 190 | $criteria->add(new Criteria('url', $myts->addSlashes($url).'%', 'LIKE')); |
|---|
| 191 | } |
|---|
| 192 | if ( !empty($_POST['user_icq']) ) { |
|---|
| 193 | $match = (!empty($_POST['user_icq_match'])) ? intval($_POST['user_icq_match']) : XOOPS_MATCH_START; |
|---|
| 194 | switch ($match) { |
|---|
| 195 | case XOOPS_MATCH_START: |
|---|
| 196 | $criteria->add(new Criteria('user_icq', $myts->addSlashes(trim($_POST['user_icq'])).'%', 'LIKE')); |
|---|
| 197 | break; |
|---|
| 198 | case XOOPS_MATCH_END: |
|---|
| 199 | $criteria->add(new Criteria('user_icq', '%'.$myts->addSlashes(trim($_POST['user_icq'])), 'LIKE')); |
|---|
| 200 | break; |
|---|
| 201 | case XOOPS_MATCH_EQUAL: |
|---|
| 202 | $criteria->add(new Criteria('user_icq', $myts->addSlashes(trim($_POST['user_icq'])))); |
|---|
| 203 | break; |
|---|
| 204 | case XOOPS_MATCH_CONTAIN: |
|---|
| 205 | $criteria->add(new Criteria('user_icq', '%'.$myts->addSlashes(trim($_POST['user_icq'])).'%', 'LIKE')); |
|---|
| 206 | break; |
|---|
| 207 | } |
|---|
| 208 | } |
|---|
| 209 | if ( !empty($_POST['user_aim']) ) { |
|---|
| 210 | $match = (!empty($_POST['user_aim_match'])) ? intval($_POST['user_aim_match']) : XOOPS_MATCH_START; |
|---|
| 211 | switch ($match) { |
|---|
| 212 | case XOOPS_MATCH_START: |
|---|
| 213 | $criteria->add(new Criteria('user_aim', $myts->addSlashes(trim($_POST['user_aim'])).'%', 'LIKE')); |
|---|
| 214 | break; |
|---|
| 215 | case XOOPS_MATCH_END: |
|---|
| 216 | $criteria->add(new Criteria('user_aim', '%'.$myts->addSlashes(trim($_POST['user_aim'])), 'LIKE')); |
|---|
| 217 | break; |
|---|
| 218 | case XOOPS_MATCH_EQUAL: |
|---|
| 219 | $criteria->add(new Criteria('user_aim', $myts->addSlashes(trim($_POST['user_aim'])))); |
|---|
| 220 | break; |
|---|
| 221 | case XOOPS_MATCH_CONTAIN: |
|---|
| 222 | $criteria->add(new Criteria('user_aim', '%'.$myts->addSlashes(trim($_POST['user_aim'])).'%', 'LIKE')); |
|---|
| 223 | break; |
|---|
| 224 | } |
|---|
| 225 | } |
|---|
| 226 | if ( !empty($_POST['user_yim']) ) { |
|---|
| 227 | $match = (!empty($_POST['user_yim_match'])) ? intval($_POST['user_yim_match']) : XOOPS_MATCH_START; |
|---|
| 228 | switch ($match) { |
|---|
| 229 | case XOOPS_MATCH_START: |
|---|
| 230 | $criteria->add(new Criteria('user_yim', $myts->addSlashes(trim($_POST['user_yim'])).'%', 'LIKE')); |
|---|
| 231 | break; |
|---|
| 232 | case XOOPS_MATCH_END: |
|---|
| 233 | $criteria->add(new Criteria('user_yim', '%'.$myts->addSlashes(trim($_POST['user_yim'])), 'LIKE')); |
|---|
| 234 | break; |
|---|
| 235 | case XOOPS_MATCH_EQUAL: |
|---|
| 236 | $criteria->add(new Criteria('user_yim', $myts->addSlashes(trim($_POST['user_yim'])))); |
|---|
| 237 | break; |
|---|
| 238 | case XOOPS_MATCH_CONTAIN: |
|---|
| 239 | $criteria->add(new Criteria('user_yim', '%'.$myts->addSlashes(trim($_POST['user_yim'])).'%', 'LIKE')); |
|---|
| 240 | break; |
|---|
| 241 | } |
|---|
| 242 | } |
|---|
| 243 | if ( !empty($_POST['user_msnm']) ) { |
|---|
| 244 | $match = (!empty($_POST['user_msnm_match'])) ? intval($_POST['user_msnm_match']) : XOOPS_MATCH_START; |
|---|
| 245 | switch ($match) { |
|---|
| 246 | case XOOPS_MATCH_START: |
|---|
| 247 | $criteria->add(new Criteria('user_msnm', $myts->addSlashes(trim($_POST['user_msnm'])).'%', 'LIKE')); |
|---|
| 248 | break; |
|---|
| 249 | case XOOPS_MATCH_END: |
|---|
| 250 | $criteria->add(new Criteria('user_msnm', '%'.$myts->addSlashes(trim($_POST['user_msnm'])), 'LIKE')); |
|---|
| 251 | break; |
|---|
| 252 | case XOOPS_MATCH_EQUAL: |
|---|
| 253 | $criteria->add(new Criteria('user_msnm', $myts->addSlashes(trim($_POST['user_msnm'])))); |
|---|
| 254 | break; |
|---|
| 255 | case XOOPS_MATCH_CONTAIN: |
|---|
| 256 | $criteria->add(new Criteria('user_msnm', '%'.$myts->addSlashes(trim($_POST['user_msnm'])).'%', 'LIKE')); |
|---|
| 257 | break; |
|---|
| 258 | } |
|---|
| 259 | } |
|---|
| 260 | if ( !empty($_POST['user_from']) ) { |
|---|
| 261 | $criteria->add(new Criteria('user_from', '%'.$myts->addSlashes(trim($_POST['user_from'])).'%', 'LIKE')); |
|---|
| 262 | } |
|---|
| 263 | if ( !empty($_POST['user_intrest']) ) { |
|---|
| 264 | $criteria->add(new Criteria('user_intrest', '%'.$myts->addSlashes(trim($_POST['user_intrest'])).'%', 'LIKE')); |
|---|
| 265 | } |
|---|
| 266 | if ( !empty($_POST['user_occ']) ) { |
|---|
| 267 | $criteria->add(new Criteria('user_occ', '%'.$myts->addSlashes(trim($_POST['user_occ'])).'%', 'LIKE')); |
|---|
| 268 | } |
|---|
| 269 | |
|---|
| 270 | if ( !empty($_POST['user_lastlog_more']) && is_numeric($_POST['user_lastlog_more']) ) { |
|---|
| 271 | $f_user_lastlog_more = intval(trim($_POST['user_lastlog_more'])); |
|---|
| 272 | $time = time() - (60 * 60 * 24 * $f_user_lastlog_more); |
|---|
| 273 | if ( $time > 0 ) { |
|---|
| 274 | $criteria->add(new Criteria('last_login', $time, '<')); |
|---|
| 275 | } |
|---|
| 276 | } |
|---|
| 277 | if ( !empty($_POST['user_lastlog_less']) && is_numeric($_POST['user_lastlog_less']) ) { |
|---|
| 278 | $f_user_lastlog_less = intval(trim($_POST['user_lastlog_less'])); |
|---|
| 279 | $time = time() - (60 * 60 * 24 * $f_user_lastlog_less); |
|---|
| 280 | if ( $time > 0 ) { |
|---|
| 281 | $criteria->add(new Criteria('last_login', $time, '>')); |
|---|
| 282 | } |
|---|
| 283 | } |
|---|
| 284 | if ( !empty($_POST['user_reg_more']) && is_numeric($_POST['user_reg_more']) ) { |
|---|
| 285 | $f_user_reg_more = intval(trim($_POST['user_reg_more'])); |
|---|
| 286 | $time = time() - (60 * 60 * 24 * $f_user_reg_more); |
|---|
| 287 | if ( $time > 0 ) { |
|---|
| 288 | $criteria->add(new Criteria('user_regdate', $time, '<')); |
|---|
| 289 | } |
|---|
| 290 | } |
|---|
| 291 | if ( !empty($_POST['user_reg_less']) && is_numeric($_POST['user_reg_less']) ) { |
|---|
| 292 | $f_user_reg_less = intval($_POST['user_reg_less']); |
|---|
| 293 | $time = time() - (60 * 60 * 24 * $f_user_reg_less); |
|---|
| 294 | if ( $time > 0 ) { |
|---|
| 295 | $criteria->add(new Criteria('user_regdate', $time, '>')); |
|---|
| 296 | } |
|---|
| 297 | } |
|---|
| 298 | if ( isset($_POST['user_posts_more']) && is_numeric($_POST['user_posts_more']) ) { |
|---|
| 299 | $criteria->add(new Criteria('posts', intval($_POST['user_posts_more']), '>')); |
|---|
| 300 | } |
|---|
| 301 | if ( !empty($_POST['user_posts_less']) && is_numeric($_POST['user_posts_less']) ) { |
|---|
| 302 | $criteria->add(new Criteria('posts', intval($_POST['user_posts_less']), '<')); |
|---|
| 303 | } |
|---|
| 304 | $criteria->add(new Criteria('level', 0, '>')); |
|---|
| 305 | $validsort = array("uname", "email", "last_login", "user_regdate", "posts"); |
|---|
| 306 | $sort = (!in_array($_POST['user_sort'], $validsort)) ? "uname" : $_POST['user_sort']; |
|---|
| 307 | $order = "ASC"; |
|---|
| 308 | if ( isset($_POST['user_order']) && $_POST['user_order'] == "DESC") { |
|---|
| 309 | $order = "DESC"; |
|---|
| 310 | } |
|---|
| 311 | $limit = (!empty($_POST['limit'])) ? intval($_POST['limit']) : 20; |
|---|
| 312 | if ( $limit == 0 || $limit > 50 ) { |
|---|
| 313 | $limit = 50; |
|---|
| 314 | } |
|---|
| 315 | $start = (!empty($_POST['start'])) ? intval($_POST['start']) : 0; |
|---|
| 316 | $member_handler =& xoops_gethandler('member'); |
|---|
| 317 | $total = $member_handler->getUserCount($criteria); |
|---|
| 318 | $xoopsTpl->assign('lang_search', _MM_SEARCH); |
|---|
| 319 | $xoopsTpl->assign('lang_results', _MM_RESULTS); |
|---|
| 320 | $xoopsTpl->assign('total_found', $total); |
|---|
| 321 | if ( $total == 0 ) { |
|---|
| 322 | $xoopsTpl->assign('lang_nonefound', _MM_NOFOUND); |
|---|
| 323 | } elseif ( $start < $total ) { |
|---|
| 324 | $xoopsTpl->assign('lang_username', _MM_UNAME); |
|---|
| 325 | $xoopsTpl->assign('lang_realname', _MM_REALNAME); |
|---|
| 326 | $xoopsTpl->assign('lang_avatar', _MM_AVATAR); |
|---|
| 327 | $xoopsTpl->assign('lang_email', _MM_EMAIL); |
|---|
| 328 | $xoopsTpl->assign('lang_privmsg', _MM_PM); |
|---|
| 329 | $xoopsTpl->assign('lang_regdate', _MM_REGDATE); |
|---|
| 330 | $xoopsTpl->assign('lang_lastlogin', _MM_LASTLOGIN); |
|---|
| 331 | $xoopsTpl->assign('lang_posts', _MM_POSTS); |
|---|
| 332 | $xoopsTpl->assign('lang_url', _MM_URL); |
|---|
| 333 | $xoopsTpl->assign('lang_admin', _MM_ADMIN); |
|---|
| 334 | if ( $iamadmin ) { |
|---|
| 335 | $xoopsTpl->assign('is_admin', true); |
|---|
| 336 | } |
|---|
| 337 | $criteria->setSort($sort); |
|---|
| 338 | $criteria->setOrder($order); |
|---|
| 339 | $criteria->setStart($start); |
|---|
| 340 | $criteria->setLimit($limit); |
|---|
| 341 | $foundusers =& $member_handler->getUsers($criteria, true); |
|---|
| 342 | foreach (array_keys($foundusers) as $j) { |
|---|
| 343 | $userdata['avatar'] = $foundusers[$j]->getVar("user_avatar") ? "<img src='".XOOPS_UPLOAD_URL."/".$foundusers[$j]->getVar("user_avatar")."' alt='' />" : " "; |
|---|
| 344 | $userdata['realname'] = $foundusers[$j]->getVar("name") ? $foundusers[$j]->getVar("name") : " "; |
|---|
| 345 | $userdata['name'] = $foundusers[$j]->getVar("uname"); |
|---|
| 346 | $userdata['id'] = $foundusers[$j]->getVar("uid"); |
|---|
| 347 | if ( $foundusers[$j]->getVar("user_viewemail") == 1 || $iamadmin ) { |
|---|
| 348 | $userdata['email'] = "<a href='mailto:".$foundusers[$j]->getVar("email")."'><img src='".XOOPS_URL."/images/icons/email.gif' border='0' alt='".sprintf(_SENDEMAILTO,$foundusers[$j]->getVar("uname", "E"))."' /></a>"; |
|---|
| 349 | } else { |
|---|
| 350 | $userdata['email'] = " "; |
|---|
| 351 | } |
|---|
| 352 | if ( $xoopsUser ) { |
|---|
| 353 | $userdata['pmlink'] = "<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='".sprintf(_SENDPMTO,$foundusers[$j]->getVar("uname", "E"))."' /></a>"; |
|---|
| 354 | } else { |
|---|
| 355 | $userdata['pmlink'] = " "; |
|---|
| 356 | } |
|---|
| 357 | if ( $foundusers[$j]->getVar("url","E") != "" ) { |
|---|
| 358 | $userdata['website'] = "<a href='".$foundusers[$j]->getVar("url","E")."' target='_blank'><img src='".XOOPS_URL."/images/icons/www.gif' border='0' alt='"._VISITWEBSITE."' /></a>"; |
|---|
| 359 | } else { |
|---|
| 360 | $userdata['website'] = " "; |
|---|
| 361 | } |
|---|
| 362 | $userdata['registerdate'] = formatTimeStamp($foundusers[$j]->getVar("user_regdate"),"s"); |
|---|
| 363 | if ( $foundusers[$j]->getVar("last_login") != 0 ) { |
|---|
| 364 | $userdata['lastlogin'] = formatTimeStamp($foundusers[$j]->getVar("last_login"),"m"); |
|---|
| 365 | } else { |
|---|
| 366 | $userdata['lastlogin'] = " "; |
|---|
| 367 | } |
|---|
| 368 | $userdata['posts'] = $foundusers[$j]->getVar("posts"); |
|---|
| 369 | if ( $iamadmin ) { |
|---|
| 370 | $userdata['adminlink'] = "<a href='".XOOPS_URL."/modules/system/admin.php?fct=users&uid=".$foundusers[$j]->getVar("uid")."&op=modifyUser'>"._EDIT."</a> | <a href='".XOOPS_URL."/modules/system/admin.php?fct=users&op=delUser&uid=".$foundusers[$j]->getVar("uid")."'>"._DELETE."</a>"; |
|---|
| 371 | } |
|---|
| 372 | $xoopsTpl->append('users', $userdata); |
|---|
| 373 | } |
|---|
| 374 | $totalpages = ceil($total / $limit); |
|---|
| 375 | if ( $totalpages > 1 ) { |
|---|
| 376 | $hiddenform = "<form name='findnext' action='index.php' method='post'>"; |
|---|
| 377 | foreach ( $_POST as $k => $v ) { |
|---|
| 378 | $hiddenform .= "<input type='hidden' name='".$myts->oopsHtmlSpecialChars($k)."' value='".$myts->makeTboxData4PreviewInForm($v)."' />\n"; |
|---|
| 379 | } |
|---|
| 380 | if (!isset($_POST['limit'])) { |
|---|
| 381 | $hiddenform .= "<input type='hidden' name='limit' value='".$limit."' />\n"; |
|---|
| 382 | } |
|---|
| 383 | if (!isset($_POST['start'])) { |
|---|
| 384 | $hiddenform .= "<input type='hidden' name='start' value='".$start."' />\n"; |
|---|
| 385 | } |
|---|
| 386 | $prev = $start - $limit; |
|---|
| 387 | if ( $start - $limit >= 0 ) { |
|---|
| 388 | $hiddenform .= "<a href='#0' onclick='javascript:document.findnext.start.value=".$prev.";document.findnext.submit();'>"._MM_PREVIOUS."</a> \n"; |
|---|
| 389 | } |
|---|
| 390 | $counter = 1; |
|---|
| 391 | $currentpage = ($start+$limit) / $limit; |
|---|
| 392 | while ( $counter <= $totalpages ) { |
|---|
| 393 | if ( $counter == $currentpage ) { |
|---|
| 394 | $hiddenform .= "<b>".$counter."</b> "; |
|---|
| 395 | } elseif ( ($counter > $currentpage-4 && $counter < $currentpage+4) || $counter == 1 || $counter == $totalpages ) { |
|---|
| 396 | if ( $counter == $totalpages && $currentpage < $totalpages-4 ) { |
|---|
| 397 | $hiddenform .= "... "; |
|---|
| 398 | } |
|---|
| 399 | $hiddenform .= "<a href='#".$counter."' onclick='javascript:document.findnext.start.value=".($counter-1)*$limit.";document.findnext.submit();'>".$counter."</a> "; |
|---|
| 400 | if ( $counter == 1 && $currentpage > 5 ) { |
|---|
| 401 | $hiddenform .= "... "; |
|---|
| 402 | } |
|---|
| 403 | } |
|---|
| 404 | $counter++; |
|---|
| 405 | } |
|---|
| 406 | $next = $start+$limit; |
|---|
| 407 | if ( $total > $next ) { |
|---|
| 408 | $hiddenform .= " <a href='#".$total."' onclick='javascript:document.findnext.start.value=".$next.";document.findnext.submit();'>"._MM_NEXT."</a>\n"; |
|---|
| 409 | } |
|---|
| 410 | $hiddenform .= "</form>"; |
|---|
| 411 | $xoopsTpl->assign('pagenav', $hiddenform); |
|---|
| 412 | $xoopsTpl->assign('lang_numfound', sprintf(_MM_USERSFOUND, $total)); |
|---|
| 413 | } |
|---|
| 414 | } |
|---|
| 415 | } |
|---|
| 416 | |
|---|
| 417 | include_once XOOPS_ROOT_PATH."/footer.php"; |
|---|
| 418 | ?> |
|---|