Changeset 25461


Ignore:
Timestamp:
11/11/13 23:11:11 (6 years ago)
Author:
plg
Message:

feature 2976: makes sure we output registration_date if registration_date_* is requested (same for last_visit_*)

File:
1 edited

Legend:

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

    r25459 r25461  
    9797    } 
    9898 
     99    // if registration_date_string or registration_date_since is requested, 
     100    // 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'; 
     109    } 
     110 
     111    // if last_visit_string or last_visit_since is requested, then 
     112    // 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 
    99123    if (in_array('username', $params['display'])) 
    100124    { 
     
    154178  $users = hash_from_query($query, 'id'); 
    155179 
    156   if (count($users) > 0 and in_array('groups', $params['display'])) 
    157   { 
    158     $query = ' 
     180  if (count($users) > 0) 
     181  { 
     182    if (in_array('groups', $params['display'])) 
     183    { 
     184      $query = ' 
    159185SELECT user_id, group_id 
    160186  FROM '. USER_GROUP_TABLE .' 
    161187  WHERE user_id IN ('. implode(',', array_keys($users)) .') 
    162188;'; 
    163     $result = pwg_query($query); 
    164  
    165     while ($row = pwg_db_fetch_assoc($result)) 
    166     { 
    167       $users[ $row['user_id'] ]['groups'][] = $row['group_id']; 
    168     } 
    169   } 
    170  
    171   if (count($users) > 0 and in_array('registration_date_string', $params['display'])) 
    172   { 
    173     foreach ($users as $cur_user) 
    174     { 
    175       $users[ $cur_user['id'] ]['registration_date_string'] = format_date($cur_user['registration_date'], false, false); 
    176     } 
    177   } 
    178  
    179   if (count($users) > 0 and in_array('registration_date_since', $params['display'])) 
    180   { 
    181     foreach ($users as $cur_user) 
    182     { 
    183       $users[ $cur_user['id'] ]['registration_date_since'] = time_since($cur_user['registration_date'], 'month'); 
    184     } 
    185   } 
    186  
    187   if (count($users) > 0 and in_array('last_visit', $params['display'])) 
    188   { 
    189     $query = ' 
     189      $result = pwg_query($query); 
     190       
     191      while ($row = pwg_db_fetch_assoc($result)) 
     192      { 
     193        $users[ $row['user_id'] ]['groups'][] = $row['group_id']; 
     194      } 
     195    } 
     196     
     197    if (in_array('registration_date_string', $params['display'])) 
     198    { 
     199      foreach ($users as $cur_user) 
     200      { 
     201        $users[$cur_user['id']]['registration_date_string'] = format_date($cur_user['registration_date'], false, false); 
     202      } 
     203    } 
     204 
     205    if (in_array('registration_date_since', $params['display'])) 
     206    { 
     207      foreach ($users as $cur_user) 
     208      { 
     209        $users[ $cur_user['id'] ]['registration_date_since'] = time_since($cur_user['registration_date'], 'month'); 
     210      } 
     211    } 
     212 
     213    if (in_array('last_visit', $params['display'])) 
     214    { 
     215      $query = ' 
    190216SELECT 
    191217    MAX(id) as history_id 
     
    194220  GROUP BY user_id 
    195221;'; 
    196     $history_ids = array_from_query($query, 'history_id'); 
    197  
    198     if (count($history_ids) == 0) 
    199     { 
    200       $history_ids[] = -1; 
    201     } 
    202      
    203     $query = ' 
     222      $history_ids = array_from_query($query, 'history_id'); 
     223       
     224      if (count($history_ids) == 0) 
     225      { 
     226        $history_ids[] = -1; 
     227      } 
     228       
     229      $query = ' 
    204230SELECT 
    205231    user_id, 
     
    209235  WHERE id IN ('.implode(',', $history_ids).') 
    210236;'; 
    211     $result = pwg_query($query); 
    212     while ($row = pwg_db_fetch_assoc($result)) 
    213     { 
    214       $last_visit = $row['date'].' '.$row['time']; 
    215       $users[ $row['user_id'] ]['last_visit'] = $last_visit; 
    216  
    217       if (in_array('last_visit_string', $params['display'])) 
    218       { 
    219         $users[ $row['user_id'] ]['last_visit_string'] = format_date($last_visit, false, false); 
    220       } 
    221        
    222       if (in_array('last_visit_since', $params['display'])) 
    223       { 
    224         $users[ $row['user_id'] ]['last_visit_since'] = time_since($last_visit, 'day'); 
     237      $result = pwg_query($query); 
     238      while ($row = pwg_db_fetch_assoc($result)) 
     239      { 
     240        $last_visit = $row['date'].' '.$row['time']; 
     241        $users[ $row['user_id'] ]['last_visit'] = $last_visit; 
     242         
     243        if (in_array('last_visit_string', $params['display'])) 
     244        { 
     245          $users[ $row['user_id'] ]['last_visit_string'] = format_date($last_visit, false, false); 
     246        } 
     247         
     248        if (in_array('last_visit_since', $params['display'])) 
     249        { 
     250          $users[ $row['user_id'] ]['last_visit_since'] = time_since($last_visit, 'day'); 
     251        } 
    225252      } 
    226253    } 
Note: See TracChangeset for help on using the changeset viewer.