Log in with username/password: lyceum/lyceum

Changeset 1079

Show
Ignore:
Timestamp:
08/18/07 22:34:40 (1 year ago)
Author:
jjb
Message:

Improved, AJAXier code for user selection.

#681

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/lyceum/wp-admin/user-list.php

    r1067 r1079  
    33require_once( ABSPATH . WPINC . '/registration-functions.php'); 
    44 
    5 $filter = array_key_exists('filter', $_GET) ? $_GET['filter'] : ''; 
     5$filter = array_key_exists('filter', $_GET) ? mysql_real_escape_string($_GET['filter']) : ''; 
    66 
    7 $users_without_privileges = $wpdb->get_col("SELECT DISTINCT u.ID, u.user_login FROM users u INNER JOIN usermeta umf ON (u.ID = umf.user_id) INNER JOIN usermeta um ON (u.ID != um.user_id) WHERE um.blog = '$blog' AND (u.user_login LIKE '%$filter%' OR (umf.meta_key = 'first_name' AND umf.meta_value LIKE '%$filter%') OR (umf.meta_key = 'last_name' AND umf.meta_value LIKE '%$filter%')) LIMIT 20;"); 
    87 
    9 foreach($users_without_privileges as $userid) { 
    10    $tmp_user = new WP_User($userid); 
    11    $roles = $tmp_user->roles; 
    12    $role = array_shift($roles); 
    13    $roleclasses_without_privileges[$role][$tmp_user->user_login] = $tmp_user; 
     8if ($filter != '') { 
     9  $filter = "%$filter%"; 
     10   
     11  $users_without_privileges = $wpdb->get_col("SELECT DISTINCT u.ID FROM users u INNER JOIN usermeta umf ON (u.ID = umf.user_id) INNER JOIN usermeta um ON (u.ID != um.user_id) WHERE um.blog = '$blog' AND (u.user_login LIKE '$filter' OR (umf.meta_key = 'first_name' AND umf.meta_value LIKE '$filter') OR (umf.meta_key = 'last_name' AND umf.meta_value LIKE '$filter')) LIMIT 20;"); 
     12 
     13  foreach($users_without_privileges as $userid) { 
     14   $tmp_user = new WP_User($userid); 
     15   $roles = $tmp_user->roles; 
     16   $role = array_shift($roles); 
     17   $roleclasses_without_privileges[$role][$tmp_user->user_login] = $tmp_user; 
     18  } 
     19   
     20} else { 
     21  $users_without_privileges = 0; 
    1422} 
    1523 
     
    3442      $style = ''; 
    3543      foreach ($roleclass as $user_object) { 
    36         if (1 == $user_object->user_admin) 
    37            continue; 
     44      if (1 == $user_object->user_admin) 
     45       continue; 
    3846         $disabled = ($current_user->id==$user_object->ID )  
    3947            ? " disabled = 'disabled'" 
  • trunk/src/lyceum/wp-admin/users.php

    r1067 r1079  
    267267    
    268268   <p> 
    269    <label>Search Users:</label> <input type="text" name="user_filter" value="" id="user_filter"><input type="button" name="user_search" id="user_search" value="Go" id="search"
     269   <label>Search Users:</label> <input type="text" name="user_filter" value="" id="user_filter"><span id="user_search_spinner" style="padding-left: 10px; display: none;"><img src="<?php echo LURL?>/wp-admin/images/ajax-loader.gif" width="16" height="16" alt="Loading..."></span
    270270   </p> 
    271271    
    272272   <script type="text/javascript" charset="utf-8"> 
    273      search_users = function () { 
    274         $('user_search').onclick = new Ajax.Updater('noprivs', 'user-list.php', { method:'get', parameters: { filter: $('user_filter').value } }); 
    275      } 
    276      Event.observe('user_search', 'click', search_users, false); 
     273    SearchUsers = { 
     274      search_users: function () { 
     275           new Ajax.Updater('noprivs', 'user-list.php', { method:'get', parameters: { filter: $('user_filter').value }, onSuccess: SearchUsers.display_success, onFailure: SearchUsers.display_failure }); 
     276           $('user_search_spinner').style.display = 'inline'; 
     277         }, 
     278         hide_spinner: function () { 
     279           $('user_search_spinner').style.display = 'none'; 
     280         }, 
     281         display_success: function () { 
     282           SearchUsers.hide_spinner(); 
     283           Fat.fade_element('noprivs',null,700,'#FFBE33'); 
     284         }, 
     285         display_failure: function () { 
     286            $('noprivs').update('<tr><td><strong>User search failed.</strong></td></tr>'); 
     287            SearchUsers.hide_spinner(); 
     288         } 
     289    } 
     290    Event.observe('user_filter', 'keyup', SearchUsers.search_users, true); 
    277291   </script> 
    278292    
    279   <table cellpadding="3" cellspacing="3" width="100%" id="noprivs"> 
    280     
    281   </table> 
     293  <table cellpadding="3" cellspacing="3" width="100%" id="noprivs"></table> 
    282294 
    283295   <h2><?php _e('Update Users'); ?></h2> 
Log in with username/password: lyceum/lyceum