Changeset 25472


Ignore:
Timestamp:
11/13/13 12:08:22 (6 years ago)
Author:
mistic100
Message:

feature 2976: improve lisiblity of pwg.users.getList options on APi explore + optimizations (remove in_array())

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/ws_functions/pwg.users.php

    r25461 r25472  
    3434 *    @option int page 
    3535 *    @option string order 
     36 *    @option string display 
    3637 */ 
    3738function ws_users_getList($params, &$service) 
     
    7879  if ($params['display'] != 'none') 
    7980  { 
    80     $params['display'] = explode(',', $params['display']); 
     81    $params['display'] = array_map('trim', explode(',', $params['display'])); 
    8182 
    8283    if (in_array('all', $params['display'])) 
    8384    { 
    84       $params['display'] = array_merge($params['display'], array( 
     85      $params['display'] = array( 
    8586        'username','email','status','level','groups','language','theme', 
    8687        'nb_image_page','recent_period','expand','show_nb_comments','show_nb_hits', 
     
    8889        'registration_date_since', 'last_visit', 'last_visit_string', 
    8990        'last_visit_since' 
    90         )); 
     91        ); 
    9192    } 
    9293    else if (in_array('basics', $params['display'])) 
     
    9697        )); 
    9798    } 
     99    $params['display'] = array_flip($params['display']); 
    98100 
    99101    // if registration_date_string or registration_date_since is requested, 
    100102    // then registration_date is automatically added 
    101     if (in_array('registration_date_string', $params['display']) and !in_array('registration_date', $params['display'])) 
    102     { 
    103       $params['display'][] = 'registration_date'; 
    104     } 
    105  
    106     if (in_array('registration_date_since', $params['display']) and !in_array('registration_date', $params['display'])) 
    107     { 
    108       $params['display'][] = 'registration_date'; 
     103    if (isset($params['display']['registration_date_string']) or isset($params['display']['registration_date_since'])) 
     104    { 
     105      $params['display']['registration_date'] = true; 
    109106    } 
    110107 
    111108    // if last_visit_string or last_visit_since is requested, then 
    112109    // last_visit is automatically added 
    113     if (in_array('last_visit_string', $params['display']) and !in_array('last_visit', $params['display'])) 
    114     { 
    115       $params['display'][] = 'last_visit'; 
    116     } 
    117  
    118     if (in_array('last_visit_since', $params['display']) and !in_array('last_visit', $params['display'])) 
    119     { 
    120       $params['display'][] = 'last_visit'; 
    121     } 
    122  
    123     if (in_array('username', $params['display'])) 
     110    if (isset($params['display']['last_visit_string']) or isset($params['display']['last_visit_since'])) 
     111    { 
     112      $params['display']['last_visit'] = true; 
     113    } 
     114 
     115    if (isset($params['display']['username'])) 
    124116    { 
    125117      $display['u.'.$conf['user_fields']['username']] = 'username'; 
    126118    } 
    127     if (in_array('email', $params['display'])) 
     119    if (isset($params['display']['email'])) 
    128120    { 
    129121      $display['u.'.$conf['user_fields']['email']] = 'email'; 
     
    136128    foreach ($ui_fields as $field) 
    137129    { 
    138       if (in_array($field, $params['display'])) 
     130      if (isset($params['display'][$field])) 
    139131      { 
    140132        $display['ui.'.$field] = $field; 
     
    157149    $query.= $field .' AS '. $name; 
    158150  } 
    159   if (in_array('groups', $params['display'])) 
     151  if (isset($params['display']['groups'])) 
    160152  { 
    161153    if (!$first) $query.= ', '; 
     
    180172  if (count($users) > 0) 
    181173  { 
    182     if (in_array('groups', $params['display'])) 
     174    if (isset($params['display']['groups'])) 
    183175    { 
    184176      $query = ' 
     
    195187    } 
    196188     
    197     if (in_array('registration_date_string', $params['display'])) 
     189    if (isset($params['display']['registration_date_string'])) 
    198190    { 
    199191      foreach ($users as $cur_user) 
     
    203195    } 
    204196 
    205     if (in_array('registration_date_since', $params['display'])) 
     197    if (isset($params['display']['registration_date_since'])) 
    206198    { 
    207199      foreach ($users as $cur_user) 
     
    211203    } 
    212204 
    213     if (in_array('last_visit', $params['display'])) 
     205    if (isset($params['display']['last_visit'])) 
    214206    { 
    215207      $query = ' 
     
    241233        $users[ $row['user_id'] ]['last_visit'] = $last_visit; 
    242234         
    243         if (in_array('last_visit_string', $params['display'])) 
     235        if (isset($params['display']['last_visit_string'])) 
    244236        { 
    245237          $users[ $row['user_id'] ]['last_visit_string'] = format_date($last_visit, false, false); 
    246238        } 
    247239         
    248         if (in_array('last_visit_since', $params['display'])) 
     240        if (isset($params['display']['last_visit_since'])) 
    249241        { 
    250242          $users[ $row['user_id'] ]['last_visit_since'] = time_since($last_visit, 'day'); 
  • trunk/ws.php

    r25394 r25472  
    827827                              'info'=>'id, username, level, email'), 
    828828        'display' =>    array('default'=>'basics', 
    829                               'info'=>'all,basics,none,username,email,status,level,groups,language,theme,nb_image_page,recent_period,expand,show_nb_comments,show_nb_hits,enabled_high'), 
    830         ), 
    831       'Retrieves a list of all the users. 
    832 <br>"display" controls which data are returned, "basics" stands for "username,email,status,level,groups"', 
     829                              'info'=>'Comma saparated list (see method description)'), 
     830        ), 
     831      'Retrieves a list of all the users.<br> 
     832<br> 
     833<b>display</b> controls which data are returned, possible values are:<br> 
     834all, basics, none,<br> 
     835username, email, status, level, groups,<br> 
     836language, theme, nb_image_page, recent_period, expand, show_nb_comments, show_nb_hits,<br> 
     837enabled_high, registration_date, registration_date_string, registration_date_since, last_visit, last_visit_string, last_visit_since<br> 
     838<b>basics</b> stands for "username,email,status,level,groups"', 
    833839      $ws_functions_root . 'pwg.users.php', 
    834840      array('admin_only'=>true) 
Note: See TracChangeset for help on using the changeset viewer.