Advertisement
jotichand

User

Aug 31st, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.90 KB | None | 0 0
  1. <?php
  2.     #script to retrieve list of users
  3.     header('Content-type: application/json'); #json
  4.  
  5.     $start_ts = microtime(true);
  6.  
  7.     $curr_dir=dirname(__FILE__);
  8.     require("{$curr_dir}/incCommon.php");
  9.  
  10.    
  11.     $results_per_page = 50; #number of return per call
  12.  
  13.     $id = false;
  14.     if(isset($_REQUEST['id'])) $id = iconv('UTF-8', datalist_db_encoding, $_REQUEST['id']);
  15.  
  16.     $search_term = false;
  17.     if(isset($_REQUEST['s'])) $search_term = iconv('UTF-8', datalist_db_encoding, $_REQUEST['s']);
  18.  
  19.     $page = intval($_REQUEST['p']);
  20.     if($page < 1) $page = 1;
  21.     $skip = $results_per_page * ($page - 1);
  22.  
  23.     $table_name = $_REQUEST['t'];
  24.     if(!in_array($table_name, array_keys(getTableList()))){
  25.         #invalid table
  26.         echo '{"results":[{"id":"","text":"Invalid table"}],"more":false,"elapsed":0}';
  27.         exit;
  28.     }
  29.  
  30.     #get the owner based on the id
  31.     $owner = false;
  32.     if($id){
  33.         $owner = sqlValue("select memberID from membership_userrecords where tableName='{$table_name}' and pkValue='" . makeSafe($id) . "'");
  34.     }
  35.  
  36.     $prepared_data = array();
  37.     $where = "g.name!='{$adminConfig['anonymousGroup']}' and p.allowView>0 ";
  38.     if($search_term){
  39.         $search_term = makeSafe($search_term);
  40.         $where .= "and (u.memberID like '%{$search_term}%' or g.name like '%{$search_term}%')";
  41.     }
  42.     $res = sql("select u.memberID, g.name from membership_users u left join membership_groups g on u.groupID=g.groupID left join  membership_grouppermissions p on g.groupID=p.groupID and p.tableName='{$table_name}' where {$where} order by g.name, u.memberID limit {$skip}, {$results_per_page}", $eo);
  43.     while($row = db_fetch_row($res)){
  44.         $prepared_data[] = array('id' => iconv(datalist_db_encoding, 'UTF-8', $row[0]), 'text' => iconv(datalist_db_encoding, 'UTF-8', "<b>{$row[1]}</b>/{$row[0]}"));
  45.     }
  46.  
  47.     echo json_encode(array(
  48.         'results' => $prepared_data,
  49.         'more' => (@db_num_rows($res) >= $results_per_page),
  50.         'elapsed' => round(microtime(true) - $start_ts, 3)
  51.     ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement