PageRenderTime 65ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 1ms

/01.Source/01.CORE/modules/users/admin/groups_search_users.php

http://creative-portal.googlecode.com/
PHP | 103 lines | 77 code | 20 blank | 6 comment | 10 complexity | 556035e8b6ee1d86a38a45c9f89c42ec MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. /**
  3. * @Project NUKEVIET 3.0
  4. * @Author VINADES.,JSC (contact@vinades.vn)
  5. * @Copyright (C) 2010 VINADES.,JSC. All rights reserved
  6. * @Createdate 2-1-2010 15:14
  7. */
  8. if ( ! defined( 'NV_IS_FILE_ADMIN' ) ) die( 'Stop!!!' );
  9. $group_id = $nv_Request->get_int( 'group_id', 'get', 0 );
  10. $query = "SELECT `users`, `title` FROM `" . NV_GROUPS_GLOBALTABLE . "` WHERE `group_id`=" . $group_id;
  11. $result = $db->sql_query( $query );
  12. $numrows = $db->sql_numrows( $result );
  13. if ( $numrows != 1 ) die( error_info_theme( $lang_module['error_group_not_found'] ) );
  14. $row = $db->sql_fetchrow( $result );
  15. $users = $row['users'];
  16. $group_title = $row['title'];
  17. $query = "SELECT `userid`, `username`, `email`, `full_name`, `regdate`, `last_login` FROM `" . NV_USERS_GLOBALTABLE . "`";
  18. $base_url = NV_BASE_ADMINURL . "index.php?" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=groups_search_users&amp;group_id=" . $group_id;
  19. $search_option = $nv_Request->get_int( 'search_option', 'get', 0 );
  20. $search_query = rawurldecode( filter_text_input( 'search_query', 'get' ) );
  21. if ( ! empty( $search_query ) ) $search_query = nv_substr( $search_query, 0, 60 );
  22. if ( ! empty( $search_query ) )
  23. {
  24. switch ( $search_option )
  25. {
  26. case 1:
  27. $query .= " WHERE `email` LIKE '%" . $db->dblikeescape( $search_query ) . "%'";
  28. break;
  29. case 2:
  30. $query .= " WHERE `userid` LIKE '%" . intval( $search_query ) . "%'";
  31. break;
  32. default:
  33. $search_query = preg_replace( '/\s+/', '_', nv_EncString( $search_query ) );
  34. $search_query = $db->dblikeescape( strtolower( $search_query ) );
  35. $query .= " WHERE (`username` LIKE '%" . $search_query . "%' OR `full_name` LIKE '%" . $search_query . "%')";
  36. }
  37. $base_url .= "&amp;search_option=" . $search_option . "&amp;search_query=" . rawurlencode( $search_query );
  38. }
  39. if ( ! empty( $users ) )
  40. {
  41. $query .= ! empty( $search_query ) ? " AND" : " WHERE";
  42. $query .= " `userid` NOT IN (" . $users . ")";
  43. }
  44. $result = $db->sql_query( $query );
  45. $all_page = $db->sql_numrows( $result );
  46. if ( empty( $all_page ) ) die( error_info_theme( $lang_module['search_not_result'] ) );
  47. $page = $nv_Request->get_int( 'page', 'get', 0 );
  48. $per_page = 10;
  49. switch ( $search_option )
  50. {
  51. case 1:
  52. $query .= " ORDER BY `email` ASC LIMIT " . $page . "," . $per_page;
  53. break;
  54. case 2:
  55. $query .= " ORDER BY `userid` ASC LIMIT " . $page . "," . $per_page;
  56. break;
  57. default:
  58. $query .= " ORDER BY `username` ASC LIMIT " . $page . "," . $per_page;
  59. }
  60. $result = $db->sql_query( $query );
  61. $search_result = array();
  62. $search_result['caption'] = $lang_module['search_result_caption'];
  63. $search_result['thead'] = array(
  64. "UserId", $lang_global['nickname'], $lang_global['full_name'], $lang_global['email'], $lang_global['regdate'], $lang_global['last_login']
  65. );
  66. $search_result['action'] = NV_BASE_ADMINURL . "index.php?" . NV_NAME_VARIABLE . "=" . $module_name . "&amp;" . NV_OP_VARIABLE . "=edit&amp;userid=";
  67. while ( $row = $db->sql_fetchrow( $result ) )
  68. {
  69. $search_result['row'][$row['userid']]['username'] = $row['username'];
  70. $search_result['row'][$row['userid']]['full_name'] = $row['full_name'];
  71. $search_result['row'][$row['userid']]['email'] = nv_EncodeEmail( $row['email'] );
  72. $search_result['row'][$row['userid']]['regdate'] = nv_date( "l, d/m/Y H:i", $row['regdate'] );
  73. $search_result['row'][$row['userid']]['last_login'] = ! empty( $row['last_login'] ) ? nv_date( "l, d/m/Y H:i", $row['last_login'] ) : $lang_global['never'];
  74. $search_result['row'][$row['userid']]['onclick'] = array(
  75. "nv_group_add_user(" . $group_id . "," . $row['userid'] . ")", sprintf( $lang_module['add_user'], $row['full_name'], $group_title )
  76. );
  77. }
  78. $search_result['generate_page'] = nv_generate_page( $base_url, $all_page, $per_page, $page, true, true, 'nv_urldecode_ajax', 'search_users_result' );
  79. $contents = nv_admin_search_users_theme( $search_result );
  80. include ( NV_ROOTDIR . "/includes/header.php" );
  81. echo $contents;
  82. include ( NV_ROOTDIR . "/includes/footer.php" );
  83. ?>