Changes in trunk/wp-admin/users.php [4349:3483]
- File:
-
- 1 edited
-
trunk/wp-admin/users.php (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/users.php
r4349 r3483 1 1 <?php 2 2 require_once('admin.php'); 3 require_once( ABSPATH . WPINC . '/registration .php');3 require_once( ABSPATH . WPINC . '/registration-functions.php'); 4 4 5 5 $title = __('Users'); 6 if ( current_user_can('edit_users') ) 7 $parent_file = 'users.php'; 8 else 9 $parent_file = 'profile.php'; 10 6 $parent_file = 'profile.php'; 7 11 8 $action = $_REQUEST['action']; 12 9 $update = ''; 13 10 14 if ( empty($_POST) ) {15 $referer = '<input type="hidden" name="wp_http_referer" value="'. wp_specialchars(stripslashes($_SERVER['REQUEST_URI'])) . '" />';16 } elseif ( isset($_POST['wp_http_referer']) ) {17 $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), urlencode(stripslashes($_POST['wp_http_referer'])));18 $referer = '<input type="hidden" name="wp_http_referer" value="' . wp_specialchars($redirect) . '" />';19 } else {20 $redirect = 'users.php';21 }22 23 24 // WP_User_Search class25 // by Mark Jaquith26 27 28 class WP_User_Search {29 var $results;30 var $search_term;31 var $page;32 var $raw_page;33 var $users_per_page = 50;34 var $first_user;35 var $last_user;36 var $query_limit;37 var $query_from_where;38 var $total_users_for_query = 0;39 var $too_many_total_users = false;40 var $search_errors;41 42 function WP_User_Search ($search_term = '', $page = '') { // constructor43 $this->search_term = $search_term;44 $this->raw_page = ( '' == $page ) ? false : (int) $page;45 $this->page = (int) ( '' == $page ) ? 1 : $page;46 47 $this->prepare_query();48 $this->query();49 $this->prepare_vars_for_template_usage();50 $this->do_paging();51 }52 53 function prepare_query() {54 global $wpdb;55 $this->first_user = ($this->page - 1) * $this->users_per_page;56 $this->query_limit = 'LIMIT ' . $this->first_user . ',' . $this->users_per_page;57 if ( $this->search_term ) {58 $searches = array();59 $search_sql = 'AND (';60 foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col )61 $searches[] = $col . " LIKE '%$this->search_term%'";62 $search_sql .= implode(' OR ', $searches);63 $search_sql .= ')';64 }65 $this->query_from_where = "FROM $wpdb->users WHERE 1=1 $search_sql";66 67 }68 69 function query() {70 global $wpdb;71 $this->results = $wpdb->get_col('SELECT ID ' . $this->query_from_where . $this->query_limit);72 73 if ( $this->results )74 $this->total_users_for_query = $wpdb->get_var('SELECT COUNT(ID) ' . $this->query_from_where); // no limit75 else76 $this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));77 }78 79 function prepare_vars_for_template_usage() {80 $this->search_term = stripslashes($this->search_term); // done with DB, from now on we want slashes gone81 }82 83 function do_paging() {84 if ( $this->total_users_for_query > $this->users_per_page ) { // have to page the results85 $this->paging_text = paginate_links( array(86 'total' => ceil($this->total_users_for_query / $this->users_per_page),87 'current' => $this->page,88 'prev_text' => '« Previous Page',89 'next_text' => 'Next Page »',90 'base' => 'users.php?%_%',91 'format' => 'userspage=%#%',92 'add_args' => array( 'usersearch' => urlencode($this->search_term) )93 ) );94 }95 }96 97 function get_results() {98 return (array) $this->results;99 }100 101 function page_links() {102 echo $this->paging_text;103 }104 105 function results_are_paged() {106 if ( $this->paging_text )107 return true;108 return false;109 }110 111 function is_search() {112 if ( $this->search_term )113 return true;114 return false;115 }116 }117 118 119 11 switch ($action) { 120 12 121 13 case 'promote': 122 check_admin_referer( 'bulk-users');14 check_admin_referer(); 123 15 124 16 if (empty($_POST['users'])) { 125 wp_redirect($redirect);17 header('Location: users.php'); 126 18 } 127 19 128 20 if ( !current_user_can('edit_users') ) 129 wp_die(__('You can’t edit users.'));130 131 $userids = $_POST['users'];21 die(__('You can’t edit users.')); 22 23 $userids = $_POST['users']; 132 24 $update = 'promote'; 133 foreach($userids as $id) { 134 if ( ! current_user_can('edit_user', $id) ) 135 wp_die(__('You can’t edit that user.')); 25 foreach($userids as $id) { 136 26 // The new role of the current user must also have edit_users caps 137 27 if($id == $current_user->id && !$wp_roles->role_objects[$_POST['new_role']]->has_cap('edit_users')) { … … 140 30 } 141 31 142 $user = new WP_User($id);143 $user->set_role($_POST['new_role']);144 }145 146 wp_redirect(add_query_arg('update', $update, $redirect));32 $user = new WP_User($id); 33 $user->set_role($_POST['new_role']); 34 } 35 36 header('Location: users.php?update=' . $update); 147 37 148 38 break; … … 150 40 case 'dodelete': 151 41 152 check_admin_referer( 'delete-users');42 check_admin_referer(); 153 43 154 44 if ( empty($_POST['users']) ) { 155 wp_redirect($redirect);156 } 157 158 if ( !current_user_can(' delete_users') )159 wp_die(__('You can’t delete users.'));45 header('Location: users.php'); 46 } 47 48 if ( !current_user_can('edit_users') ) 49 die(__('You can’t delete users.')); 160 50 161 51 $userids = $_POST['users']; 52 162 53 $update = 'del'; 163 $delete_count = 0; 164 165 foreach ( (array) $userids as $id) { 166 if ( ! current_user_can('delete_user', $id) ) 167 wp_die(__('You can’t delete that user.')); 168 54 foreach ($userids as $id) { 169 55 if($id == $current_user->id) { 170 56 $update = 'err_admin_del'; 171 57 continue; 172 58 } 173 switch($_POST['delete_option']) {59 switch($_POST['delete_option']) { 174 60 case 'delete': 175 61 wp_delete_user($id); … … 179 65 break; 180 66 } 181 ++$delete_count; 182 } 183 184 $redirect = add_query_arg('delete_count', $delete_count, $redirect); 185 186 wp_redirect(add_query_arg('update', $update, $redirect)); 67 } 68 69 header('Location: users.php?update=' . $update); 187 70 188 71 break; … … 190 73 case 'delete': 191 74 192 check_admin_referer('bulk-users'); 193 194 if ( empty($_POST['users']) ) 195 wp_redirect($redirect); 196 197 if ( !current_user_can('delete_users') ) 198 $errors = new WP_Error('edit_users', __('You can’t delete users.')); 75 check_admin_referer(); 76 77 if (empty($_POST['users'])) { 78 header('Location: users.php'); 79 } 80 81 if ( !current_user_can('edit_users') ) 82 $error['edit_users'] = __('You can’t delete users.'); 199 83 200 84 $userids = $_POST['users']; … … 203 87 ?> 204 88 <form action="" method="post" name="updateusers" id="updateusers"> 205 <?php wp_nonce_field('delete-users') ?>206 <?php echo $referer; ?>207 89 <div class="wrap"> 208 90 <h2><?php _e('Delete Users'); ?></h2> … … 211 93 <?php 212 94 $go_delete = false; 213 foreach ( (array) $userids as $id) {214 $user = new WP_User($id);215 if ( $id == $current_user->id) {95 foreach ($userids as $id) { 96 $user = new WP_User($id); 97 if ($id == $current_user->id) { 216 98 echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be deleted.</strong>'), $id, $user->user_login) . "</li>\n"; 217 99 } else { … … 219 101 $go_delete = true; 220 102 } 221 } 222 $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login"); 223 $user_dropdown = '<select name="reassign_user">'; 224 foreach ( (array) $all_logins as $login ) 225 if ( $login->ID == $current_user->id || !in_array($login->ID, $userids) ) 226 $user_dropdown .= "<option value=\"{$login->ID}\">{$login->user_login}</option>"; 227 $user_dropdown .= '</select>'; 228 ?> 229 </ul> 230 <?php if ( $go_delete ) : ?> 231 <p><?php _e('What should be done with posts and links owned by this user?'); ?></p> 103 } 104 $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login"); 105 $user_dropdown = '<select name="reassign_user">'; 106 foreach ($all_logins as $login) { 107 if ( $login->ID == $current_user->id || !in_array($login->ID, $userids) ) { 108 $user_dropdown .= "<option value=\"{$login->ID}\">{$login->user_login}</option>"; 109 } 110 } 111 $user_dropdown .= '</select>'; 112 ?> 113 </ul> 114 <?php if($go_delete) : ?> 115 <p><?php _e('What should be done with posts and links owned by this user?'); ?></p> 232 116 <ul style="list-style:none;"> 233 117 <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" checked="checked" /> … … 248 132 249 133 case 'adduser': 250 check_admin_referer('add-user'); 251 252 if ( ! current_user_can('create_users') ) 253 wp_die(__('You can’t create users.')); 254 255 $user_id = add_user(); 256 $update = 'add'; 257 if ( is_wp_error( $user_id ) ) 258 $add_user_errors = $user_id; 259 else { 260 $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_POST['user_login']), true)); 261 $redirect = add_query_arg('usersearch', $new_user_login, $redirect); 262 wp_redirect(add_query_arg('update', $update, $redirect) . '#user-' . $user_id); 134 check_admin_referer(); 135 136 $errors = add_user(); 137 138 if(count($errors) == 0) { 139 header('Location: users.php?update=add'); 263 140 die(); 264 141 } 265 142 266 143 default: 267 wp_enqueue_script('admin-users'); 268 269 include('admin-header.php'); 270 271 // Query the users 272 $wp_user_search = new WP_User_Search($_GET['usersearch'], $_GET['userspage']); 273 274 // Make the user objects 275 foreach ( $wp_user_search->get_results() as $userid ) { 144 145 include ('admin-header.php'); 146 147 $userids = $wpdb->get_col("SELECT ID FROM $wpdb->users;"); 148 149 foreach($userids as $userid) { 276 150 $tmp_user = new WP_User($userid); 277 151 $roles = $tmp_user->roles; 278 152 $role = array_shift($roles); 279 153 $roleclasses[$role][$tmp_user->user_login] = $tmp_user; 280 } 281 282 if ( isset($_GET['update']) ) : 154 } 155 156 ?> 157 158 <?php 159 if (isset($_GET['update'])) : 283 160 switch($_GET['update']) { 284 161 case 'del': 285 case 'del_many': 286 ?> 287 <?php $delete_count = (int) $_GET['delete_count']; ?> 288 <div id="message" class="updated fade"><p><?php printf(__('%1$s %2$s deleted.'), $delete_count, __ngettext('user', 'users', $delete_count) ); ?></p></div> 162 ?> 163 <div id="message" class="updated fade"><p><?php _e('User deleted.'); ?></p></div> 289 164 <?php 290 165 break; … … 312 187 break; 313 188 } 314 endif; ?> 315 316 <?php if ( is_wp_error( $errors ) ) : ?> 189 endif; 190 if ( isset($errors) ) : ?> 317 191 <div class="error"> 318 192 <ul> 319 193 <?php 320 foreach ( $errors->get_error_messages() as $message ) 321 echo "<li>$message</li>"; 194 foreach($errors as $error) echo "<li>$error</li>"; 322 195 ?> 323 196 </ul> 324 197 </div> 325 <?php endif; ?> 326 198 <?php 199 endif; 200 ?> 201 202 <form action="" method="post" name="updateusers" id="updateusers"> 327 203 <div class="wrap"> 328 329 <?php if ( $wp_user_search->is_search() ) : ?> 330 <h2><?php printf(__('Users Matching "%s" by Role'), wp_specialchars($wp_user_search->search_term)); ?></h2> 331 <?php else : ?> 332 <h2><?php _e('User List by Role'); ?></h2> 333 <?php endif; ?> 334 335 <form action="" method="get" name="search" id="search"> 336 <p><input type="text" name="usersearch" id="usersearch" value="<?php echo wp_specialchars($wp_user_search->search_term, 1); ?>" /> <input type="submit" value="<?php _e('Search users »'); ?>" class="button" /></p> 337 </form> 338 339 <?php if ( is_wp_error( $wp_user_search->search_errors ) ) : ?> 340 <div class="error"> 341 <ul> 342 <?php 343 foreach ( $wp_user_search->search_errors->get_error_messages() as $message ) 344 echo "<li>$message</li>"; 345 ?> 346 </ul> 347 </div> 348 <?php endif; ?> 349 350 351 <?php if ( $wp_user_search->get_results() ) : ?> 352 353 <?php if ( $wp_user_search->is_search() ) : ?> 354 <p><a href="users.php"><?php _e('« Back to All Users'); ?></a></p> 355 <?php endif; ?> 356 357 <h3><?php 358 if ( 0 == $wp_user_search->first_user && $wp_user_search->total_users_for_query <= 50 ) 359 printf(__('%3$s shown below'), $wp_user_search->first_user + 1, min($wp_user_search->first_user + $wp_user_search->users_per_page, $wp_user_search->total_users_for_query), $wp_user_search->total_users_for_query); 360 else 361 printf(__('%1$s – %2$s of %3$s shown below'), $wp_user_search->first_user + 1, min($wp_user_search->first_user + $wp_user_search->users_per_page, $wp_user_search->total_users_for_query), $wp_user_search->total_users_for_query); ?></h3> 362 363 <?php if ( $wp_user_search->results_are_paged() ) : ?> 364 <div class="user-paging-text"><p><?php $wp_user_search->page_links(); ?></p></div> 365 <?php endif; ?> 366 367 <form action="" method="post" name="updateusers" id="updateusers"> 368 <?php wp_nonce_field('bulk-users') ?> 369 <table class="widefat"> 370 <?php 371 foreach($roleclasses as $role => $roleclass) { 372 uksort($roleclass, "strnatcasecmp"); 373 ?> 374 375 <tr> 376 <?php if ( !empty($role) ) : ?> 377 <th colspan="7"><h3><?php echo $wp_roles->role_names[$role]; ?></h3></th> 378 <?php else : ?> 379 <th colspan="7"><h3><em><?php _e('No role for this blog'); ?></h3></th> 380 <?php endif; ?> 381 </tr> 382 <tr class="thead"> 204 <h2><?php _e('User List by Role'); ?></h2> 205 <table cellpadding="3" cellspacing="3" width="100%"> 206 <?php 207 foreach($roleclasses as $role => $roleclass) { 208 ksort($roleclass); 209 ?> 210 211 <tr> 212 <th colspan="8" align="left"> 213 <h3><?php echo $wp_roles->role_names[$role]; ?></h3> 214 </th></tr> 215 216 <tr> 383 217 <th><?php _e('ID') ?></th> 384 218 <th><?php _e('Username') ?></th> … … 386 220 <th><?php _e('E-mail') ?></th> 387 221 <th><?php _e('Website') ?></th> 388 <th colspan="2" style="text-align: center"><?php _e('Actions') ?></th> 389 </tr> 390 </thead> 391 <tbody id="role-<?php echo $role; ?>"><?php 392 $style = ''; 393 foreach ( (array) $roleclass as $user_object ) { 394 $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"'; 395 echo "\n\t" . user_row($user_object, $style); 222 <th><?php _e('Posts') ?></th> 223 <th> </th> 224 </tr> 225 <?php 226 $style = ''; 227 foreach ($roleclass as $user_object) { 228 $email = $user_object->user_email; 229 $url = $user_object->user_url; 230 $short_url = str_replace('http://', '', $url); 231 $short_url = str_replace('www.', '', $short_url); 232 if ('/' == substr($short_url, -1)) 233 $short_url = substr($short_url, 0, -1); 234 if (strlen($short_url) > 35) 235 $short_url = substr($short_url, 0, 32).'...'; 236 $style = ('class="alternate"' == $style) ? '' : 'class="alternate"'; 237 $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = '$user_object->ID' and post_status = 'publish'"); 238 if (0 < $numposts) $numposts = "<a href='edit.php?author=$user_object->ID' title='" . __('View posts') . "'>$numposts</a>"; 239 echo " 240 <tr $style> 241 <td><input type='checkbox' name='users[]' id='user_{$user_object->ID}' value='{$user_object->ID}' /> <label for='user_{$user_object->ID}'>{$user_object->ID}</label></td> 242 <td><label for='user_{$user_object->ID}'><strong>$user_object->user_login</strong></label></td> 243 <td><label for='user_{$user_object->ID}'>$user_object->first_name $user_object->last_name</label></td> 244 <td><a href='mailto:$email' title='" . sprintf(__('e-mail: %s'), $email) . "'>$email</a></td> 245 <td><a href='$url' title='website: $url'>$short_url</a></td>"; 246 echo "<td align='right'>$numposts</td>"; 247 echo '<td>'; 248 if (current_user_can('edit_users')) 249 echo "<a href='user-edit.php?user_id=$user_object->ID' class='edit'>".__('Edit')."</a>"; 250 echo '</td>'; 251 echo '</tr>'; 252 } 253 254 ?> 255 256 257 <?php 258 } 259 ?> 260 </table> 261 262 263 <h2><?php _e('Update Users'); ?></h2> 264 <?php 265 $role_select = '<select name="new_role">'; 266 foreach($wp_roles->role_names as $role => $name) { 267 $role_select .= "<option value=\"{$role}\">{$name}</option>"; 396 268 } 397 ?> 398 399 </tbody> 400 <?php } ?> 401 </table> 402 403 <?php if ( $wp_user_search->results_are_paged() ) : ?> 404 <div class="user-paging-text"><p><?php $wp_user_search->page_links(); ?></p></div> 405 <?php endif; ?> 406 407 <h3><?php _e('Update Selected'); ?></h3> 408 <ul style="list-style:none;"> 409 <li><input type="radio" name="action" id="action0" value="delete" /> <label for="action0"><?php _e('Delete checked users.'); ?></label></li> 410 <li> 411 <input type="radio" name="action" id="action1" value="promote" /> <label for="action1"><?php _e('Set the Role of checked users to:'); ?></label> 412 <select name="new_role" onchange="getElementById('action1').checked = 'true'"><?php wp_dropdown_roles(); ?></select> 413 </li> 414 </ul> 415 <p class="submit" style="width: 420px"> 416 <?php echo $referer; ?> 417 <input type="submit" value="<?php _e('Bulk Update »'); ?>" /> 418 </p> 419 </form> 420 <?php endif; ?> 421 </div> 422 423 <?php 424 if ( is_wp_error($add_user_errors) ) { 425 foreach ( array('user_login' => 'user_login', 'first_name' => 'user_firstname', 'last_name' => 'user_lastname', 'email' => 'user_email', 'url' => 'user_uri', 'role' => 'user_role') as $formpost => $var ) { 426 $var = 'new_' . $var; 427 $$var = wp_specialchars(stripslashes($_POST[$formpost])); 428 } 429 unset($name); 430 } 431 ?> 432 433 <div class="wrap"> 434 <h2 id="add-new-user"><?php _e('Add New User') ?></h2> 435 <div class="narrow"> 436 <?php echo '<p>'.sprintf(__('Users can <a href="%1$s">register themselves</a> or you can manually create users here.'), get_option('siteurl').'/wp-register.php').'</p>'; ?> 437 <form action="#add-new-user" method="post" name="adduser" id="adduser"> 438 <?php wp_nonce_field('add-user') ?> 439 <table class="editform" width="100%" cellspacing="2" cellpadding="5"> 440 <tr> 441 <th scope="row" width="33%"><?php _e('Username (required)') ?><input name="action" type="hidden" id="action" value="adduser" /></th> 442 <td width="66%"><input name="user_login" type="text" id="user_login" value="<?php echo $new_user_login; ?>" /></td> 443 </tr> 444 <tr> 445 <th scope="row"><?php _e('First Name') ?> </th> 446 <td><input name="first_name" type="text" id="first_name" value="<?php echo $new_user_firstname; ?>" /></td> 447 </tr> 448 <tr> 449 <th scope="row"><?php _e('Last Name') ?> </th> 450 <td><input name="last_name" type="text" id="last_name" value="<?php echo $new_user_lastname; ?>" /></td> 451 </tr> 452 <tr> 453 <th scope="row"><?php _e('E-mail (required)') ?></th> 454 <td><input name="email" type="text" id="email" value="<?php echo $new_user_email; ?>" /></td> 455 </tr> 456 <tr> 457 <th scope="row"><?php _e('Website') ?></th> 458 <td><input name="url" type="text" id="url" value="<?php echo $new_user_uri; ?>" /></td> 459 </tr> 460 461 <?php if ( apply_filters('show_password_fields', true) ) : ?> 462 <tr> 463 <th scope="row"><?php _e('Password (twice)') ?> </th> 464 <td><input name="pass1" type="password" id="pass1" /> 465 <br /> 466 <input name="pass2" type="password" id="pass2" /></td> 467 </tr> 468 <?php endif; ?> 469 470 <tr> 471 <th scope="row"><?php _e('Role'); ?></th> 472 <td><select name="role" id="role"> 473 <?php 474 if ( !$new_user_role ) 475 $new_user_role = get_option('default_role'); 476 wp_dropdown_roles($new_user_role); 477 ?> 478 </select> 479 </td> 480 </tr> 481 </table> 482 <p class="submit"> 483 <?php echo $referer; ?> 484 <input name="adduser" type="submit" id="addusersub" value="<?php _e('Add User »') ?>" /> 485 </p> 269 $role_select .= '</select>'; 270 ?> 271 <ul style="list-style:none;"> 272 <li><input type="radio" name="action" id="action0" value="delete" /> <label for="action0"><?php _e('Delete checked users.'); ?></label></li> 273 <li><input type="radio" name="action" id="action1" value="promote" /> <?php echo '<label for="action1">'.__('Set the Role of checked users to:')."</label> $role_select"; ?></li> 274 </ul> 275 <p class="submit"><input type="submit" value="<?php _e('Update »'); ?>" /></p> 486 276 </div> 487 277 </form> 488 278 489 <?php if ( is_wp_error( $add_user_errors ) ) : ?> 490 <div class="error"> 491 <?php 492 foreach ( $add_user_errors->get_error_messages() as $message ) 493 echo "<p>$message</p>"; 494 ?> 495 </div> 279 <div class="wrap"> 280 <h2><?php _e('Add New User') ?></h2> 281 <?php echo '<p>'.sprintf(__('Users can <a href="%1$s">register themselves</a> or you can manually create users here.'), get_settings('siteurl').'/wp-register.php').'</p>'; ?> 282 <form action="" method="post" name="adduser" id="adduser"> 283 <table class="editform" width="100%" cellspacing="2" cellpadding="5"> 284 <tr> 285 <th scope="row" width="33%"><?php _e('Nickname') ?> 286 <input name="action" type="hidden" id="action" value="adduser" /></th> 287 <td width="66%"><input name="user_login" type="text" id="user_login" value="<?php echo $new_user_login; ?>" /></td> 288 </tr> 289 <tr> 290 <th scope="row"><?php _e('First Name') ?> </th> 291 <td><input name="first_name" type="text" id="first_name" value="<?php echo $new_user_firstname; ?>" /></td> 292 </tr> 293 <tr> 294 <th scope="row"><?php _e('Last Name') ?> </th> 295 <td><input name="last_name" type="text" id="last_name" value="<?php echo $new_user_lastname; ?>" /></td> 296 </tr> 297 <tr> 298 <th scope="row"><?php _e('E-mail') ?></th> 299 <td><input name="email" type="text" id="email" value="<?php echo $new_user_email; ?>" /></td> 300 </tr> 301 <tr> 302 <th scope="row"><?php _e('Website') ?></th> 303 <td><input name="url" type="text" id="url" value="<?php echo $new_user_uri; ?>" /></td> 304 </tr> 305 <?php 306 $show_password_fields = apply_filters('show_password_fields', true); 307 if ( $show_password_fields ) : 308 ?> 309 <tr> 310 <th scope="row"><?php _e('Password (twice)') ?> </th> 311 <td><input name="pass1" type="password" id="pass1" /> 312 <br /> 313 <input name="pass2" type="password" id="pass2" /></td> 314 </tr> 496 315 <?php endif; ?> 497 <div id="ajax-response"></div> 316 </table> 317 <p class="submit"> 318 <input name="adduser" type="submit" id="adduser" value="<?php _e('Add User') ?> »" /> 319 </p> 320 </form> 498 321 </div> 499 500 <?php 322 <?php 323 501 324 break; 502 503 } // end of the $action switch 325 } 504 326 505 327 include('admin-footer.php');
Note: See TracChangeset
for help on using the changeset viewer.