Make WordPress Core

Changeset 12722 for trunk/wp-admin


Ignore:
Timestamp:
01/14/2010 02:02:19 AM (17 years ago)
Author:
wpmuguru
Message:

merge wp-admin user, plugins, themes, upgrade , See #11644

Location:
trunk/wp-admin
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin

    • Property svn:ignore set to
      .themes.php.swp
      .user-edit.php.swp
      .user-new.php.swp
      .users.php.swp
  • trunk/wp-admin/plugins.php

    r12673 r12722  
    232232
    233233$help = '<p>' . __('Plugins extend and expand the functionality of WordPress. Once a plugin is installed, you may activate it or deactivate it here.') . '</p>';
     234if ( !is_multisite() || is_super_admin() ) {
    234235$help .= '<p>' . sprintf(__('If something goes wrong with a plugin and you can&#8217;t use WordPress, delete or rename that file in the <code>%s</code> directory and it will be automatically deactivated.'), WP_PLUGIN_DIR) . '</p>';
    235236$help .= '<p>' . sprintf(__('You can find additional plugins for your site by using the new <a href="%1$s">Plugin Browser/Installer</a> functionality or by browsing the <a href="http://wordpress.org/extend/plugins/">WordPress Plugin Directory</a> directly and installing manually.  To <em>manually</em> install a plugin you generally just need to upload the plugin file into your <code>%2$s</code> directory.  Once a plugin has been installed, you may activate it here.'), 'plugin-install.php', WP_PLUGIN_DIR) . '</p>';
     237}
    236238
    237239add_contextual_help('plugins', $help);
     
    283285<div class="wrap">
    284286<?php screen_icon(); ?>
    285 <h2><?php echo esc_html( $title ); ?> <a href="plugin-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a></h2>
    286 
    287 <?php
    288 
    289 $all_plugins = get_plugins();
     287<h2><?php echo esc_html( $title ); if ( !is_multisite() || is_super_admin() ) { ?> <a href="plugin-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'plugin'); ?></a><?php } ?></h2>
     288
     289<?php
     290
     291$all_plugins = apply_filters( 'all_plugins', get_plugins() );
    290292$search_plugins = array();
    291293$active_plugins = array();
     
    322324    if ( isset( $current->response[ $plugin_file ] ) )
    323325        $upgrade_plugins[ $plugin_file ] = $plugin_data;
     326}
     327
     328if ( is_multisite() && !is_super_admin() ) {
     329        $upgrade_plugins = false;
    324330}
    325331
     
    516522</form>
    517523
     524<?php do_action( 'pre_current_active_plugins', $all_plugins ) ?>
     525
    518526<form method="post" action="<?php echo admin_url('plugins.php') ?>">
    519527<?php wp_nonce_field('bulk-manage-plugins') ?>
  • trunk/wp-admin/themes.php

    r12673 r12722  
    1313        wp_die( __( 'Cheatin&#8217; uh?' ) );
    1414
     15if ( is_multisite() ) {
     16        $themes = get_themes();
     17        $ct = current_theme_info();
     18        $allowed_themes = apply_filters("allowed_themes", get_site_allowed_themes() );
     19        if( $allowed_themes == false )
     20                $allowed_themes = array();
     21
     22        $blog_allowed_themes = wpmu_get_blog_allowedthemes();
     23        if( is_array( $blog_allowed_themes ) )
     24                $allowed_themes = array_merge( $allowed_themes, $blog_allowed_themes );
     25        if( $blog_id != 1 )
     26                unset( $allowed_themes[ "h3" ] );
     27
     28        if( isset( $allowed_themes[ wp_specialchars( $ct->stylesheet ) ] ) == false )
     29                $allowed_themes[ wp_specialchars( $ct->stylesheet ) ] = true;
     30
     31        reset( $themes );
     32        foreach( $themes as $key => $theme ) {
     33                if( isset( $allowed_themes[ wp_specialchars( $theme[ 'Stylesheet' ] ) ] ) == false ) {
     34                        unset( $themes[ $key ] );
     35                }
     36        }
     37        reset( $themes );
     38}
    1539if ( isset($_GET['action']) ) {
    1640        if ( 'activate' == $_GET['action'] ) {
     
    3357
    3458$help = '<p>' . __('Themes give your WordPress style. Once a theme is installed, you may preview it, activate it or deactivate it here.') . '</p>';
    35 if ( current_user_can('install_themes') ) {
     59if ( ( !is_multisite() && current_user_can('install_themes') ) || is_super_admin() ) {
    3660        $help .= '<p>' . sprintf(__('You can find additional themes for your site by using the new <a href="%1$s">Theme Browser/Installer</a> functionality or by browsing the <a href="http://wordpress.org/extend/themes/">WordPress Theme Directory</a> directly and installing manually.  To install a theme <em>manually</em>, <a href="%2$s">upload its ZIP archive with the new uploader</a> or copy its folder via FTP into your <code>wp-content/themes</code> directory.'), 'theme-install.php', 'theme-install.php?tab=upload' ) . '</p>';
    3761        $help .= '<p>' . __('Once a theme is uploaded, you should see it on this page.') . '</p>' ;
     
    4468
    4569require_once('admin-header.php');
     70if( is_multisite() && is_super_admin() ) {
     71        ?><div id="message0" class="updated fade"><p><?php _e('Administrator: new themes must be activated in the <a href="wpmu-themes.php">Themes Admin</a> page before they appear here.'); ?></p></div><?php
     72}
    4673?>
    4774
     
    5986
    6087<?php
    61 $themes = get_themes();
     88if ( !is_multisite() )
     89        $themes = get_themes();
    6290$ct = current_theme_info();
    6391unset($themes[$ct->name]);
     
    98126function theme_update_available( $theme ) {
    99127        static $themes_update;
     128
     129        if ( is_multisite() && !is_super_admin() )
     130                return;
     131
    100132        if ( !isset($themes_update) )
    101133                $themes_update = get_site_transient('update_themes');
     
    128160<div class="wrap">
    129161<?php screen_icon(); ?>
    130 <h2><?php echo esc_html( $title ); ?> <a href="theme-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'theme'); ?></a></h2>
     162<h2><?php echo esc_html( $title ); if ( !is_multisite() || is_super_admin() ) { ?> <a href="theme-install.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'theme'); ?></a><?php } ?></h2>
    131163
    132164<h3><?php _e('Current Theme'); ?></h3>
     
    139171        printf(__('%1$s %2$s by %3$s'), $ct->title, $ct->version, $ct->author) ; ?></h4>
    140172<p class="theme-description"><?php echo $ct->description; ?></p>
    141 <?php if ($ct->parent_theme) { ?>
     173<?php if ( ( !is_multisite() || is_super_admin() ) && $ct->parent_theme ) { ?>
    142174        <p><?php printf(__('The template files are located in <code>%2$s</code>.  The stylesheet files are located in <code>%3$s</code>.  <strong>%4$s</strong> uses templates from <strong>%5$s</strong>.  Changes made to the templates will affect both themes.'), $ct->title, str_replace( WP_CONTENT_DIR, '', $ct->template_dir ), str_replace( WP_CONTENT_DIR, '', $ct->stylesheet_dir ), $ct->title, $ct->parent_theme); ?></p>
    143175<?php } else { ?>
     
    218250        $actions[] = '<a href="' . $activate_link .  '" class="activatelink" title="' . $activate_text . '">' . __('Activate') . '</a>';
    219251        $actions[] = '<a href="' . $preview_link . '" class="thickbox thickbox-preview" title="' . esc_attr(sprintf(__('Preview &#8220;%s&#8221;'), $theme_name)) . '">' . __('Preview') . '</a>';
    220         if ( current_user_can('update_themes') )
     252        if ( ( !is_multisite() && current_user_can('update_themes') ) || is_super_admin() )
    221253                $actions[] = '<a class="submitdelete deletion" href="' . wp_nonce_url("themes.php?action=delete&amp;template=$stylesheet", 'delete-theme_' . $stylesheet) . '" onclick="' . "if ( confirm('" . esc_js(sprintf( __("You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete."), $theme_name )) . "') ) {return true;}return false;" . '">' . __('Delete') . '</a>';
    222254        $actions = apply_filters('theme_action_links', $actions, $themes[$theme_name]);
     
    234266<p class="description"><?php echo $description; ?></p>
    235267<span class='action-links'><?php echo $actions ?></span>
    236         <?php if ($parent_theme) {
     268        <?php if ( ( !is_multisite() || is_super_admin() ) && $parent_theme ) {
    237269        /* translators: 1: theme title, 2:  template dir, 3: stylesheet_dir, 4: theme title, 5: parent_theme */ ?>
    238270        <p><?php printf(__('The template files are located in <code>%2$s</code>.  The stylesheet files are located in <code>%3$s</code>.  <strong>%4$s</strong> uses templates from <strong>%5$s</strong>.  Changes made to the templates will affect both themes.'), $title, str_replace( WP_CONTENT_DIR, '', $template_dir ), str_replace( WP_CONTENT_DIR, '', $stylesheet_dir ), $title, $parent_theme); ?></p>
     
    267299// List broken themes, if any.
    268300$broken_themes = get_broken_themes();
    269 if ( count($broken_themes) ) {
    270 ?>
    271 
    272 <h2><?php _e('Broken Themes'); ?></h2>
     301if ( ( !is_multisite() || is_super_admin() ) && count( $broken_themes ) ) {
     302?>
     303
     304<h2><?php _e('Broken Themes'); ?> <?php if ( is_multisite() ) _e( '(Site admin only)' ); ?></h2>
    273305<p><?php _e('The following themes are installed but incomplete.  Themes must have a stylesheet and a template.'); ?></p>
    274306
  • trunk/wp-admin/upgrade.php

    r12673 r12722  
    8787                        $backto = esc_url_raw( $backto  );
    8888                        $backto = wp_validate_redirect($backto, __get_option( 'home' ) . '/');
     89                if( $wpdb->get_row( "SELECT blog_id FROM {$wpdb->blog_versions} WHERE blog_id = '{$wpdb->blogid}'" ) ) {
     90                        $wpdb->query( "UPDATE {$wpdb->blog_versions} SET db_version = '{$wp_db_version}' WHERE blog_id = '{$wpdb->blogid}'" );
     91                } else {
     92                        $wpdb->query( "INSERT INTO {$wpdb->blog_versions} ( `blog_id` , `db_version` , `last_updated` ) VALUES ( '{$wpdb->blogid}', '{$wp_db_version}', NOW());" );
     93                }
    8994?>
    9095<h2><?php _e( 'Upgrade Complete' ); ?></h2>
  • trunk/wp-admin/user-edit.php

    r12546 r12722  
    6161}
    6262
     63
     64// Only allow site admins to edit every user.
     65if ( is_multisite() && !defined( "EDIT_ANY_USER" ) && !is_super_admin() && $user_id != $current_user->ID )
     66        wp_die( __( 'You do not have permission to edit this user.' ) );
     67       
    6368switch ($action) {
    6469case 'switchposts':
     
    8287        do_action('edit_user_profile_update', $user_id);
    8388
    84 $errors = edit_user($user_id);
     89if ( !is_multisite() ) {
     90        $errors = edit_user($user_id);
     91} else {
     92        // WPMU must delete the user from the current blog if WP added him after editing.
     93        $delete_role = false;
     94        $blog_prefix = $wpdb->get_blog_prefix();
     95        if( $user_id != $current_user->ID ) {
     96                $cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" );
     97                if( null == $cap && $_POST[ 'role' ] == '' ) {
     98                        $_POST[ 'role' ] = 'contributor';
     99                        $delete_role = true;
     100                }
     101        }
     102        if ( !isset( $errors ) || ( isset( $errors ) && is_object( $errors ) && false == $errors->get_error_codes() ) )
     103                $errors = edit_user($user_id);
     104        if( $delete_role ) // stops users being added to current blog when they are edited
     105                update_usermeta( $user_id, $blog_prefix . 'capabilities' , '' );
     106}
    85107
    86108if ( !is_wp_error( $errors ) ) {
  • trunk/wp-admin/user-new.php

    r11369 r12722  
    1616require_once( ABSPATH . WPINC . '/registration.php');
    1717
     18if ( is_multisite() ) {
     19        function admin_created_user_email( $text ) {
     20                return sprintf( __( "Hi,
     21You've been invited to join '%s' at
     22%s as a %s.
     23If you do not want to join this blog please ignore
     24this email. This invitation will expire in a few days.
     25
     26Please click the following link to activate your user account:
     27%%s" ), get_bloginfo('name'), site_url(), wp_specialchars( $_REQUEST[ 'role' ] ) );
     28        }
     29        add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
     30
     31        function admin_created_user_subject( $text ) {
     32                return "[" . get_bloginfo('name') . "] Your blog invite";
     33        }
     34}
     35
    1836if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
    1937        check_admin_referer('add-user');
     
    2240                wp_die(__('You can&#8217;t create users.'));
    2341
    24         $user_id = add_user();
    25 
    26         if ( is_wp_error( $user_id ) ) {
    27                 $add_user_errors = $user_id;
     42        if ( !is_multisite() ) {
     43                $user_id = add_user();
     44
     45                if ( is_wp_error( $user_id ) ) {
     46                        $add_user_errors = $user_id;
     47                } else {
     48                        $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
     49                        $redirect = 'users.php?usersearch='. urlencode($new_user_login) . '&update=add';
     50                        wp_redirect( $redirect . '#user-' . $user_id );
     51                        die();
     52                }
    2853        } else {
    29                 $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
    30                 $redirect = 'users.php?usersearch='. urlencode($new_user_login) . '&update=add';
    31                 wp_redirect( $redirect . '#user-' . $user_id );
    32                 die();
     54                $user_login = preg_replace( "/\s+/", '', sanitize_user( $_REQUEST[ 'user_login' ], true ) );
     55                $user_details = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->users} WHERE user_login = %s AND user_email = %s", $user_login, $_REQUEST[ 'email' ] ) );
     56                if( $user_details ) {
     57                        // Adding an existing user to this blog
     58                        $new_user_email = wp_specialchars(trim($_REQUEST['email']));
     59                        $redirect = 'user-new.php';
     60                        $username = $user_details->user_login;
     61                        $user_id = $user_details->ID;
     62                        if( ($username != null && is_site_admin( $username ) == false ) && ( array_key_exists($blog_id, get_blogs_of_user($user_id)) ) ) {
     63                                $redirect = add_query_arg( array('update' => 'addexisting'), 'user-new.php' );
     64                        } else {
     65                                if ( isset( $_POST[ 'noconfirmation' ] ) && is_site_admin() ) {
     66                                        add_existing_user_to_blog( array( 'user_id' => $user_id, 'role' => $_REQUEST[ 'role' ] ) );
     67                                        $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     68                                } else {
     69                                        $newuser_key = substr( md5( $user_id ), 0, 5 );
     70                                        add_option( 'new_user_' . $newuser_key, array( 'user_id' => $user_id, 'email' => $user_details->user_email, 'role' => $_REQUEST[ 'role' ] ) );
     71                                        $message = __("Hi,\n\nYou have been invited to join '%s' at\n%s as a %s.\nPlease click the following link to confirm the invite:\n%s\n");
     72                                        wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), get_option( 'blogname' ) ),  sprintf($message, get_option('blogname'), site_url(), $_REQUEST[ 'role' ], site_url("/newbloguser/$newuser_key/")));
     73                                        $redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
     74                                }
     75                        }
     76                        wp_redirect( $redirect );
     77                        die();
     78                } else {
     79                        // Adding a new user to this blog
     80                        $user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] );
     81                        unset( $user_details[ 'errors' ]->errors[ 'user_email_used' ] );
     82                        if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
     83                                $add_user_errors = $user_details[ 'errors' ];
     84                        } else {
     85                                $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
     86                                if ( isset( $_POST[ 'noconfirmation' ] ) && is_site_admin() ) {
     87                                        add_filter( 'wpmu_signup_user_notification', create_function('', '{return false;}') ); // Disable confirmation email
     88                                }
     89                                wpmu_signup_user( $new_user_login, $_REQUEST[ 'email' ], array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST[ 'role' ] ) );
     90                                if ( isset( $_POST[ 'noconfirmation' ] ) && is_site_admin() ) {
     91                                        $key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $_REQUEST[ 'email' ] ) );
     92                                        wpmu_activate_signup( $key );
     93                                        $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     94                                } else {
     95                                        $redirect = add_query_arg( array('update' => 'newuserconfimation'), 'user-new.php' );
     96                                }
     97                                wp_redirect( $redirect );
     98                                die();
     99                        }
     100                }
    33101        }
    34102}
     
    43111require_once ('admin-header.php');
    44112
     113if ( is_multisite() ) {
     114        switch( $_GET[ 'update' ] ) {
     115                case "newuserconfimation":
     116                        $messages[] = '<div id="message" class="updated fade"><p>' . __('Invitation email sent to new user. A confirmation link must be clicked before their account is created.') . '</p></div>';
     117                        break;
     118                case "add":
     119                        $messages[] = '<div id="message" class="updated fade"><p>' . __('Invitation email sent to user. A confirmation link must be clicked for them to be added to your blog.') . '</p></div>';
     120                        break;
     121                case "addnoconfirmation":
     122                        $messages[] = '<div id="message" class="updated fade"><p>' . __('User has been added to your blog.') . '</p></div>';
     123                        break;
     124                case "addexisting":
     125                        $messages[] = '<div id="message" class="updated fade"><p>' . __('That user is already a member of this blog.') . '</p></div>';
     126                        break;
     127        }
     128}
    45129?>
    46130<div class="wrap">
     
    75159
    76160<?php
     161if ( !is_multisite() ) {
    77162        if ( get_option('users_can_register') )
    78163                echo '<p>' . sprintf(__('Users can <a href="%1$s">register themselves</a> or you can manually create users here.'), site_url('wp-register.php')) . '</p>';
    79164        else
    80165                echo '<p>' . sprintf(__('Users cannot currently <a href="%1$s">register themselves</a>, but you can manually create users here.'), admin_url('options-general.php#users_can_register')) . '</p>';
     166} else {
     167        echo '<p>' . __( 'You can add new users to your blog in two ways:' ) . '<ol><li> ' . __( 'Enter the username and email address of an existing user on this site.' ) . '</li><li> ' . __( 'Enter the username and the email address of a person who is not already a member of this site. Choose the username carefully, it cannot be changed.' ) . '</li></ol></p>';
     168        echo '<p>' . __( 'That person will be sent an email asking them to click a link confirming the invite. New users will then be sent an email with a randomly generated password and a login link.' ) . '</p>';
     169}
    81170?>
    82171<form action="#add-new-user" method="post" name="adduser" id="adduser" class="add:users: validate">
     
    93182?>
    94183<table class="form-table">
     184<?php if ( !is_multisite() ) { ?>
    95185        <tr class="form-field form-required">
    96186                <th scope="row"><label for="user_login"><?php _e('Username'); ?> <span class="description"><?php _e('(required)'); ?></span></label>
     
    131221        </tr>
    132222<?php endif; ?>
    133 
     223<?php } else { // multisite ?>
     224        <tr class="form-field form-required">
     225                <th scope="row"><label for="user_login"><?php _e('Username (required)') ?></label><input name="action" type="hidden" id="action" value="adduser" /></th>
     226                <td ><input name="user_login" type="text" id="user_login" value="<?php echo $new_user_login; ?>" aria-required="true" /></td>
     227        </tr>
     228        <tr class="form-field form-required">
     229                <th scope="row"><label for="email"><?php _e('E-mail (required)') ?></label></th>
     230                <td><input name="email" type="text" id="email" value="<?php echo $new_user_email; ?>" /></td>
     231        </tr>
     232<?php } ?>
    134233        <tr class="form-field">
    135234                <th scope="row"><label for="role"><?php _e('Role'); ?></label></th>
     
    143242                </td>
    144243        </tr>
     244
     245        <?php if ( is_multisite() && is_super_admin() ) { ?>
     246        <tr class="form-field">
     247                <th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
     248                <td><input name="noconfirmation" type="checkbox" id="noconfirmation" value="1" /> <label for="noconfirmation"><?php _e( 'Site administrators can add a user without sending the confirmation email.' ); ?></label></td>
     249        </tr>
     250        <?php } ?>
    145251</table>
    146252<p class="submit">
  • trunk/wp-admin/users.php

    r12546 r12722  
    9999                switch($_REQUEST['delete_option']) {
    100100                case 'delete':
    101                         wp_delete_user($id);
     101                        if ( !is_multisite() ) {
     102                                wp_delete_user($id);
     103                        } else {
     104                                remove_user_from_blog($id, $blog_id); // WPMU only remove user from blog
     105                        }
    102106                        break;
    103107                case 'reassign':
    104                         wp_delete_user($id, $_REQUEST['reassign_user']);
     108                        if ( !is_multisite() ) {
     109                                wp_delete_user($id, $_REQUEST['reassign_user']);
     110                        } else {
     111                                remove_user_from_blog($id, $blog_id, $_REQUEST['reassign_user']);
     112                        }
    105113                        break;
    106114                }
     
    154162                }
    155163        }
    156         $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login");
     164        if ( !is_multisite() ) {
     165                $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login");
     166        } else {
     167                // WPMU only searches users of current blog
     168                $all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users, $wpdb->usermeta WHERE $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '".$wpdb->prefix."capabilities' ORDER BY user_login");
     169        }
    157170        $user_dropdown = '<select name="reassign_user">';
    158171        foreach ( (array) $all_logins as $login )
     
    240253<div class="wrap">
    241254<?php screen_icon(); ?>
    242 <h2><?php echo esc_html( $title ); ?>  <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'user'); ?></a> <?php
     255<h2><?php echo esc_html( $title ); if ( !is_multisite() || get_site_option( 'add_new_users' ) ) { ?>  <a href="user-new.php" class="button add-new-h2"><?php echo esc_html_x('Add New', 'user'); ?></a><?php }
    243256if ( isset($_GET['usersearch']) && $_GET['usersearch'] )
    244257        printf( '<span class="subtitle">' . __('Search results for &#8220;%s&#8221;') . '</span>', esc_html( $_GET['usersearch'] ) ); ?>
     
    386399</div>
    387400
     401<?php
     402if ( is_multisite() ) {
     403        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 ) {
     404                $var = 'new_' . $var;
     405                $$var = isset($_REQUEST[$formpost]) ? esc_attr(stripslashes($_REQUEST[$formpost])) : '';
     406        }
     407        unset($name);
     408}
     409?>
     410
    388411<br class="clear" />
    389412<?php
Note: See TracChangeset for help on using the changeset viewer.