dvadf
File manager - Edit - /home/centroca/public_html/wp-admin.zip
Back
PK .0]��fj� � ms-sites.phpnu �[��� <?php /** * Multisite sites administration panel. * * @package WordPress * @subpackage Multisite * @since 3.0.0 */ require_once __DIR__ . '/admin.php'; wp_redirect( network_admin_url( 'sites.php' ) ); exit; PK .0]���CY CY options-general.phpnu �[��� <?php /** * General settings administration panel. * * @package WordPress * @subpackage Administration */ /** WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; /** WordPress Translation Installation API */ require_once ABSPATH . 'wp-admin/includes/translation-install.php'; if ( ! current_user_can( 'manage_options' ) ) { wp_die( __( 'Sorry, you are not allowed to manage options for this site.' ) ); } // Used in the HTML title tag. $title = __( 'General Settings' ); $parent_file = 'options-general.php'; /* translators: Date and time format for exact current time, mainly about timezones, see https://www.php.net/manual/datetime.format.php */ $timezone_format = _x( 'Y-m-d H:i:s', 'timezone date format' ); add_action( 'admin_head', 'options_general_add_js' ); $options_help = '<p>' . __( 'The fields on this screen determine some of the basics of your site setup.' ) . '</p>' . '<p>' . __( 'Most themes show the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. Many themes also show the tagline.' ) . '</p>'; if ( ! is_multisite() ) { $options_help .= '<p>' . __( 'Two terms you will want to know are the WordPress URL and the site URL. The WordPress URL is where the core WordPress installation files are, and the site URL is the address a visitor uses in the browser to go to your site.' ) . '</p>' . '<p>' . sprintf( /* translators: %s: Documentation URL. */ __( 'Though the terms refer to two different concepts, in practice, they can be the same address or different. For example, you can have the core WordPress installation files in the root directory (<code>https://example.com</code>), in which case the two URLs would be the same. Or the <a href="%s">WordPress files can be in a subdirectory</a> (<code>https://example.com/wordpress</code>). In that case, the WordPress URL and the site URL would be different.' ), __( 'https://developer.wordpress.org/advanced-administration/server/wordpress-in-directory/' ) ) . '</p>' . '<p>' . sprintf( /* translators: 1: http://, 2: https:// */ __( 'Both WordPress URL and site URL can start with either %1$s or %2$s. A URL starting with %2$s requires an SSL certificate, so be sure that you have one before changing to %2$s. With %2$s, a padlock will appear next to the address in the browser address bar. Both %2$s and the padlock signal that your site meets some basic security requirements, which can build trust with your visitors and with search engines.' ), '<code>http://</code>', '<code>https://</code>' ) . '</p>' . '<p>' . __( 'If you want site visitors to be able to register themselves, check the membership box. If you want the site administrator to register every new user, leave the box unchecked. In either case, you can set a default user role for all new users.' ) . '</p>'; } $options_help .= '<p>' . __( 'You can set the language, and WordPress will automatically download and install the translation files (available if your filesystem is writable).' ) . '</p>' . '<p>' . __( 'UTC means Coordinated Universal Time.' ) . '</p>' . '<p>' . __( 'You must click the Save Changes button at the bottom of the screen for new settings to take effect.' ) . '</p>'; get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => $options_help, ) ); get_current_screen()->set_help_sidebar( '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . '<p>' . __( '<a href="https://wordpress.org/documentation/article/settings-general-screen/">Documentation on General Settings</a>' ) . '</p>' . '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>' ); require_once ABSPATH . 'wp-admin/admin-header.php'; ?> <div class="wrap"> <h1><?php echo esc_html( $title ); ?></h1> <form method="post" action="options.php" novalidate="novalidate"> <?php settings_fields( 'general' ); ?> <table class="form-table" role="presentation"> <tr> <th scope="row"><label for="blogname"><?php _e( 'Site Title' ); ?></label></th> <td><input name="blogname" type="text" id="blogname" value="<?php form_option( 'blogname' ); ?>" class="regular-text" /></td> </tr> <?php if ( ! is_multisite() ) { /* translators: Site tagline. */ $sample_tagline = __( 'Just another WordPress site' ); } else { /* translators: %s: Network title. */ $sample_tagline = sprintf( __( 'Just another %s site' ), get_network()->site_name ); } $tagline_description = sprintf( /* translators: %s: Site tagline example. */ __( 'In a few words, explain what this site is about. Example: “%s.”' ), $sample_tagline ); ?> <tr> <th scope="row"><label for="blogdescription"><?php _e( 'Tagline' ); ?></label></th> <td><input name="blogdescription" type="text" id="blogdescription" aria-describedby="tagline-description" value="<?php form_option( 'blogdescription' ); ?>" class="regular-text" /> <p class="description" id="tagline-description"><?php echo $tagline_description; ?></p></td> </tr> <?php if ( current_user_can( 'upload_files' ) ) : ?> <tr class="hide-if-no-js site-icon-section"> <th scope="row"><?php _e( 'Site Icon' ); ?></th> <td> <?php wp_enqueue_media(); wp_enqueue_script( 'site-icon' ); $classes_for_upload_button = 'upload-button button-hero button'; $classes_for_update_button = 'button'; $classes_for_wrapper = ''; if ( has_site_icon() ) { $classes_for_wrapper .= ' has-site-icon'; $classes_for_button = $classes_for_update_button; $classes_for_button_on_change = $classes_for_upload_button; } else { $classes_for_wrapper .= ' hidden'; $classes_for_button = $classes_for_upload_button; $classes_for_button_on_change = $classes_for_update_button; } // Handle alt text for site icon on page load. $site_icon_id = (int) get_option( 'site_icon' ); $app_icon_alt_value = ''; $browser_icon_alt_value = ''; $site_icon_url = get_site_icon_url(); if ( $site_icon_id ) { $img_alt = get_post_meta( $site_icon_id, '_wp_attachment_image_alt', true ); $filename = wp_basename( $site_icon_url ); $app_icon_alt_value = sprintf( /* translators: %s: The selected image filename. */ __( 'App icon preview: The current image has no alternative text. The file name is: %s' ), $filename ); $browser_icon_alt_value = sprintf( /* translators: %s: The selected image filename. */ __( 'Browser icon preview: The current image has no alternative text. The file name is: %s' ), $filename ); if ( $img_alt ) { $app_icon_alt_value = sprintf( /* translators: %s: The selected image alt text. */ __( 'App icon preview: Current image: %s' ), $img_alt ); $browser_icon_alt_value = sprintf( /* translators: %s: The selected image alt text. */ __( 'Browser icon preview: Current image: %s' ), $img_alt ); } } ?> <style> :root { --site-icon-url: url( '<?php echo esc_url( $site_icon_url ); ?>' ); } </style> <div id="site-icon-preview" class="site-icon-preview settings <?php echo esc_attr( $classes_for_wrapper ); ?>"> <div class="direction-wrap"> <img id="app-icon-preview" src="<?php echo esc_url( $site_icon_url ); ?>" class="app-icon-preview" alt="<?php echo esc_attr( $app_icon_alt_value ); ?>" /> <div class="site-icon-preview-browser"> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="browser-buttons"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm18 0a6 6 0 1 1 12 0 6 6 0 0 1-12 0Zm24-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z" /></svg> <div class="site-icon-preview-tab"> <img id="browser-icon-preview" src="<?php echo esc_url( $site_icon_url ); ?>" class="browser-icon-preview" alt="<?php echo esc_attr( $browser_icon_alt_value ); ?>" /> <div class="site-icon-preview-site-title" id="site-icon-preview-site-title" aria-hidden="true"><?php bloginfo( 'name' ); ?></div> <svg role="img" aria-hidden="true" fill="none" xmlns="http://www.w3.org/2000/svg" class="close-button"> <path d="M12 13.0607L15.7123 16.773L16.773 15.7123L13.0607 12L16.773 8.28772L15.7123 7.22706L12 10.9394L8.28771 7.22705L7.22705 8.28771L10.9394 12L7.22706 15.7123L8.28772 16.773L12 13.0607Z" /> </svg> </div> </div> </div> </div> </div> <input type="hidden" name="site_icon" id="site_icon_hidden_field" value="<?php form_option( 'site_icon' ); ?>" /> <div class="site-icon-action-buttons"> <button type="button" id="choose-from-library-button" class="<?php echo esc_attr( $classes_for_button ); ?>" data-alt-classes="<?php echo esc_attr( $classes_for_button_on_change ); ?>" data-size="512" data-choose-text="<?php esc_attr_e( 'Choose a Site Icon' ); ?>" data-update-text="<?php esc_attr_e( 'Change Site Icon' ); ?>" data-update="<?php esc_attr_e( 'Set as Site Icon' ); ?>" data-state="<?php echo esc_attr( has_site_icon() ); ?>" > <?php if ( has_site_icon() ) : ?> <?php _e( 'Change Site Icon' ); ?> <?php else : ?> <?php _e( 'Choose a Site Icon' ); ?> <?php endif; ?> </button> <button id="js-remove-site-icon" type="button" <?php echo has_site_icon() ? 'class="button button-secondary reset remove-site-icon"' : 'class="button button-secondary reset remove-site-icon hidden"'; ?> > <?php _e( 'Remove Site Icon' ); ?> </button> </div> <p class="description"> <?php printf( /* translators: 1: pixel value for icon size. 2: pixel value for icon size. */ __( 'The Site Icon is what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. It should be square and at least <code>%1$s by %2$s</code> pixels.' ), 512, 512 ); ?> </p> </td> </tr> <?php endif; /* End Site Icon */ if ( ! is_multisite() ) { $wp_site_url_class = ''; $wp_home_class = ''; if ( defined( 'WP_SITEURL' ) ) { $wp_site_url_class = ' disabled'; } if ( defined( 'WP_HOME' ) ) { $wp_home_class = ' disabled'; } ?> <tr> <th scope="row"><label for="siteurl"><?php _e( 'WordPress Address (URL)' ); ?></label></th> <td><input name="siteurl" type="url" id="siteurl" value="<?php form_option( 'siteurl' ); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php echo $wp_site_url_class; ?>" /></td> </tr> <tr> <th scope="row"><label for="home"><?php _e( 'Site Address (URL)' ); ?></label></th> <td><input name="home" type="url" id="home" aria-describedby="home-description" value="<?php form_option( 'home' ); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php echo $wp_home_class; ?>" /> <?php if ( ! defined( 'WP_HOME' ) ) : ?> <p class="description" id="home-description"> <?php printf( /* translators: %s: Documentation URL. */ __( 'Enter the same address here unless you <a href="%s">want your site home page to be different from your WordPress installation directory</a>.' ), __( 'https://developer.wordpress.org/advanced-administration/server/wordpress-in-directory/' ) ); ?> </p> <?php endif; ?> </td> </tr> <?php } ?> <tr> <th scope="row"><label for="new_admin_email"><?php _e( 'Administration Email Address' ); ?></label></th> <td><input name="new_admin_email" type="email" id="new_admin_email" aria-describedby="new-admin-email-description" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" /> <p class="description" id="new-admin-email-description"><?php _e( 'This address is used for admin purposes. If you change this, an email will be sent to your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>' ); ?></p> <?php $new_admin_email = get_option( 'new_admin_email' ); if ( $new_admin_email && get_option( 'admin_email' ) !== $new_admin_email ) { $pending_admin_email_message = sprintf( /* translators: %s: New admin email. */ __( 'There is a pending change of the admin email to %s.' ), '<code>' . esc_html( $new_admin_email ) . '</code>' ); $pending_admin_email_message .= sprintf( ' <a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( admin_url( 'options.php?dismiss=new_admin_email' ), 'dismiss-' . get_current_blog_id() . '-new_admin_email' ) ), __( 'Cancel' ) ); wp_admin_notice( $pending_admin_email_message, array( 'additional_classes' => array( 'updated', 'inline' ), ) ); } ?> </td> </tr> <?php if ( ! is_multisite() ) { $membership_title = __( 'Membership' ); ?> <tr> <th scope="row"><?php echo $membership_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $membership_title; ?></span></legend><label for="users_can_register"> <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked( '1', get_option( 'users_can_register' ) ); ?> /> <?php _e( 'Anyone can register' ); ?></label> </fieldset></td> </tr> <tr> <th scope="row"><label for="default_role"><?php _e( 'New User Default Role' ); ?></label></th> <td> <?php /** * Filters the roles to be excluded from the default_role option. * * @since 7.0.0 * * @param string[] $roles_to_exclude Array of roles to exclude from the dropdown. * Defaults to administrator and editor. */ $excluded_roles = (array) apply_filters( 'default_role_dropdown_excluded_roles', array( 'administrator', 'editor' ) ); $editable_roles = array_reverse( get_editable_roles() ); $selected = get_option( 'default_role' ); foreach ( $editable_roles as $role => $details ) { if ( in_array( $role, $excluded_roles, true ) && $role !== $selected ) { unset( $editable_roles[ $role ] ); } } ?> <select name="default_role" id="default_role"><?php wp_dropdown_roles( $selected, $editable_roles ); ?></select> </td> </tr> <?php } $languages = get_available_languages(); $translations = wp_get_available_translations(); if ( ! is_multisite() && defined( 'WPLANG' ) && '' !== WPLANG && 'en_US' !== WPLANG && ! in_array( WPLANG, $languages, true ) ) { $languages[] = WPLANG; } if ( ! empty( $languages ) || ! empty( $translations ) ) { ?> <tr> <th scope="row"><label for="WPLANG"><?php _e( 'Site Language' ); ?><span class="dashicons dashicons-translation" aria-hidden="true"></span></label></th> <td> <?php $locale = get_locale(); if ( ! in_array( $locale, $languages, true ) ) { $locale = ''; } wp_dropdown_languages( array( 'name' => 'WPLANG', 'id' => 'WPLANG', 'selected' => $locale, 'languages' => $languages, 'translations' => $translations, 'show_available_translations' => current_user_can( 'install_languages' ) && wp_can_install_language_pack(), ) ); // Add note about deprecated WPLANG constant. if ( defined( 'WPLANG' ) && ( '' !== WPLANG ) && WPLANG !== $locale ) { _deprecated_argument( 'define()', '4.0.0', /* translators: 1: WPLANG, 2: wp-config.php */ sprintf( __( 'The %1$s constant in your %2$s file is no longer needed.' ), 'WPLANG', 'wp-config.php' ) ); } ?> </td> </tr> <?php } ?> <tr> <?php $current_offset = get_option( 'gmt_offset' ); $tzstring = get_option( 'timezone_string' ); $check_zone_info = true; // Remove old Etc mappings. Fallback to gmt_offset. if ( str_contains( $tzstring, 'Etc/GMT' ) ) { $tzstring = ''; } if ( empty( $tzstring ) ) { // Create a UTC+- zone if no timezone string exists. $check_zone_info = false; if ( 0 === (int) $current_offset ) { $tzstring = 'UTC+0'; } elseif ( $current_offset < 0 ) { $tzstring = 'UTC' . $current_offset; } else { $tzstring = 'UTC+' . $current_offset; } } ?> <th scope="row"><label for="timezone_string"><?php _e( 'Timezone' ); ?></label></th> <td> <select id="timezone_string" name="timezone_string" aria-describedby="timezone-description"> <?php echo wp_timezone_choice( $tzstring, get_user_locale() ); ?> </select> <p class="description" id="timezone-description"> <?php printf( /* translators: %s: UTC abbreviation */ __( 'Choose either a city in the same timezone as you or a %s (Coordinated Universal Time) time offset.' ), '<abbr>UTC</abbr>' ); ?> </p> <p class="timezone-info"> <span id="utc-time"> <?php printf( /* translators: %s: UTC time. */ __( 'Universal time is %s.' ), '<code>' . date_i18n( $timezone_format, false, true ) . '</code>' ); ?> </span> <?php if ( get_option( 'timezone_string' ) || ! empty( $current_offset ) ) : ?> <span id="local-time"> <?php printf( /* translators: %s: Local time. */ __( 'Local time is %s.' ), '<code>' . date_i18n( $timezone_format ) . '</code>' ); ?> </span> <?php endif; ?> </p> <?php if ( $check_zone_info && $tzstring ) : ?> <p class="timezone-info"> <span> <?php $now = new DateTime( 'now', new DateTimeZone( $tzstring ) ); $dst = (bool) $now->format( 'I' ); if ( $dst ) { _e( 'This timezone is currently in daylight saving time.' ); } else { _e( 'This timezone is currently in standard time.' ); } ?> <br /> <?php if ( in_array( $tzstring, timezone_identifiers_list( DateTimeZone::ALL_WITH_BC ), true ) ) { $transitions = timezone_transitions_get( timezone_open( $tzstring ), time() ); // 0 index is the state at current time, 1 index is the next transition, if any. if ( ! empty( $transitions[1] ) ) { echo ' '; $message = $transitions[1]['isdst'] ? /* translators: %s: Date and time. */ __( 'Daylight saving time begins on: %s.' ) : /* translators: %s: Date and time. */ __( 'Standard time begins on: %s.' ); printf( $message, /* translators: Localized date and time format, see https://www.php.net/manual/datetime.format.php */ '<code>' . wp_date( __( 'F j, Y g:i a' ), $transitions[1]['ts'] ) . '</code>' ); } else { _e( 'This timezone does not observe daylight saving time.' ); } } ?> </span> </p> <?php endif; ?> </td> </tr> <?php $date_format_title = __( 'Date Format' ); ?> <tr> <th scope="row"><?php echo $date_format_title; ?></th> <td> <fieldset><legend class="screen-reader-text"><span><?php echo $date_format_title; ?></span></legend> <?php /** * Filters the default date formats. * * @since 2.7.0 * @since 4.0.0 Replaced the `Y/m/d` format with `Y-m-d` (ISO date standard YYYY-MM-DD). * @since 6.8.0 Added the `d.m.Y` format. * * @param string[] $default_date_formats Array of default date formats. */ $date_formats = array_unique( apply_filters( 'date_formats', array( __( 'F j, Y' ), 'Y-m-d', 'm/d/Y', 'd/m/Y', 'd.m.Y' ) ) ); $custom = true; foreach ( $date_formats as $format ) { echo "\t<label><input type='radio' name='date_format' value='" . esc_attr( $format ) . "'"; if ( get_option( 'date_format' ) === $format ) { // checked() uses "==" rather than "===". echo " checked='checked'"; $custom = false; } echo ' /> <span class="date-time-text format-i18n">' . date_i18n( $format ) . '</span><code>' . esc_html( $format ) . "</code></label><br />\n"; } echo '<label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"'; checked( $custom ); echo '/> <span class="date-time-text date-time-custom-text">' . __( 'Custom:' ) . '<span class="screen-reader-text"> ' . /* translators: Hidden accessibility text. */ __( 'enter a custom date format in the following field' ) . '</span></span></label>' . '<label for="date_format_custom" class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Custom date format:' ) . '</label>' . '<input type="text" name="date_format_custom" id="date_format_custom" value="' . esc_attr( get_option( 'date_format' ) ) . '" class="small-text" />' . '<br />' . '<p><strong>' . __( 'Preview:' ) . '</strong> <span class="example">' . date_i18n( get_option( 'date_format' ) ) . '</span>' . "<span class='spinner'></span>\n" . '</p>'; ?> </fieldset> </td> </tr> <?php $time_format_title = __( 'Time Format' ); ?> <tr> <th scope="row"><?php echo $time_format_title; ?></th> <td> <fieldset><legend class="screen-reader-text"><span><?php echo $time_format_title; ?></span></legend> <?php /** * Filters the default time formats. * * @since 2.7.0 * * @param string[] $default_time_formats Array of default time formats. */ $time_formats = array_unique( apply_filters( 'time_formats', array( __( 'g:i a' ), 'g:i A', 'H:i' ) ) ); $custom = true; foreach ( $time_formats as $format ) { echo "\t<label><input type='radio' name='time_format' value='" . esc_attr( $format ) . "'"; if ( get_option( 'time_format' ) === $format ) { // checked() uses "==" rather than "===". echo " checked='checked'"; $custom = false; } echo ' /> <span class="date-time-text format-i18n">' . date_i18n( $format ) . '</span><code>' . esc_html( $format ) . "</code></label><br />\n"; } echo '<label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"'; checked( $custom ); echo '/> <span class="date-time-text date-time-custom-text">' . __( 'Custom:' ) . '<span class="screen-reader-text"> ' . /* translators: Hidden accessibility text. */ __( 'enter a custom time format in the following field' ) . '</span></span></label>' . '<label for="time_format_custom" class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Custom time format:' ) . '</label>' . '<input type="text" name="time_format_custom" id="time_format_custom" value="' . esc_attr( get_option( 'time_format' ) ) . '" class="small-text" />' . '<br />' . '<p><strong>' . __( 'Preview:' ) . '</strong> <span class="example">' . date_i18n( get_option( 'time_format' ) ) . '</span>' . "<span class='spinner'></span>\n" . '</p>'; echo "\t<p class='date-time-doc'>" . __( '<a href="https://wordpress.org/documentation/article/customize-date-and-time-format/">Documentation on date and time formatting</a>.' ) . "</p>\n"; ?> </fieldset> </td> </tr> <tr> <th scope="row"><label for="start_of_week"><?php _e( 'Week Starts On' ); ?></label></th> <td><select name="start_of_week" id="start_of_week"> <?php /** * @global WP_Locale $wp_locale WordPress date and time locale object. */ global $wp_locale; for ( $day_index = 0; $day_index <= 6; $day_index++ ) : $selected = ( (int) get_option( 'start_of_week' ) === $day_index ) ? 'selected="selected"' : ''; echo "\n\t<option value='" . esc_attr( $day_index ) . "' $selected>" . $wp_locale->get_weekday( $day_index ) . '</option>'; endfor; ?> </select></td> </tr> <?php do_settings_fields( 'general', 'default' ); ?> </table> <?php do_settings_sections( 'general' ); ?> <?php submit_button(); ?> </form> </div> <?php require_once ABSPATH . 'wp-admin/admin-footer.php'; ?> PK .0]㎸`�? �? options-discussion.phpnu �[��� <?php /** * Discussion settings administration panel. * * @package WordPress * @subpackage Administration */ /** WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! current_user_can( 'manage_options' ) ) { wp_die( __( 'Sorry, you are not allowed to manage options for this site.' ) ); } // Used in the HTML title tag. $title = __( 'Discussion Settings' ); $parent_file = 'options-general.php'; add_action( 'admin_print_footer_scripts', 'options_discussion_add_js' ); get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '<p>' . __( 'This screen provides many options for controlling the management and display of comments and links to your posts/pages. So many, in fact, they will not all fit here! :) Use the documentation links to get information on what each discussion setting does.' ) . '</p>' . '<p>' . __( 'You must click the Save Changes button at the bottom of the screen for new settings to take effect.' ) . '</p>', ) ); get_current_screen()->set_help_sidebar( '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . '<p>' . __( '<a href="https://wordpress.org/documentation/article/settings-discussion-screen/">Documentation on Discussion Settings</a>' ) . '</p>' . '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>' ); require_once ABSPATH . 'wp-admin/admin-header.php'; ?> <div class="wrap"> <h1><?php echo esc_html( $title ); ?></h1> <form method="post" action="options.php"> <?php settings_fields( 'discussion' ); ?> <table class="form-table indent-children" role="presentation"> <?php $default_post_settings_title = __( 'Default post settings' ); ?> <tr> <th scope="row"><?php echo $default_post_settings_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $default_post_settings_title; ?></span></legend> <label for="default_pingback_flag"> <input name="default_pingback_flag" type="checkbox" id="default_pingback_flag" value="1" <?php checked( '1', get_option( 'default_pingback_flag' ) ); ?> /> <?php _e( 'Attempt to notify any blogs linked to from the post' ); ?></label> <br /> <label for="default_ping_status"> <input name="default_ping_status" type="checkbox" id="default_ping_status" value="open" <?php checked( 'open', get_option( 'default_ping_status' ) ); ?> /> <?php _e( 'Allow link notifications from other blogs (pingbacks and trackbacks) on new posts' ); ?></label> <br /> <label for="default_comment_status"> <input name="default_comment_status" type="checkbox" id="default_comment_status" value="open" <?php checked( 'open', get_option( 'default_comment_status' ) ); ?> /> <?php _e( 'Allow people to submit comments on new posts' ); ?></label> <br /> <p class="description"><?php _e( 'Individual posts may override these settings. Changes here will only be applied to new posts.' ); ?></p> </fieldset></td> </tr> <?php $other_comment_settings_title = __( 'Other comment settings' ); ?> <tr> <th scope="row"><?php echo $other_comment_settings_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $other_comment_settings_title; ?></span></legend> <label for="require_name_email"><input type="checkbox" name="require_name_email" id="require_name_email" value="1" <?php checked( '1', get_option( 'require_name_email' ) ); ?> /> <?php _e( 'Comment author must fill out name and email' ); ?></label> <br /> <label for="comment_registration"> <input name="comment_registration" type="checkbox" id="comment_registration" value="1" <?php checked( '1', get_option( 'comment_registration' ) ); ?> /> <?php _e( 'Users must be registered and logged in to comment' ); ?> <?php if ( ! get_option( 'users_can_register' ) && is_multisite() ) { echo ' ' . __( '(Signup has been disabled. Only members of this site can comment.)' ); } ?> </label> <br /> <input name="close_comments_for_old_posts" type="checkbox" id="close_comments_for_old_posts" value="1" <?php checked( '1', get_option( 'close_comments_for_old_posts' ) ); ?> /> <label for="close_comments_for_old_posts"><?php _e( 'Automatically close comments on old posts' ); ?></label> <ul> <li> <label for="close_comments_days_old"><?php _e( 'Close comments when post is how many days old' ); ?></label> <input name="close_comments_days_old" type="number" step="1" min="0" id="close_comments_days_old" value="<?php echo esc_attr( get_option( 'close_comments_days_old' ) ); ?>" class="small-text" /> </li> </ul> <input name="show_comments_cookies_opt_in" type="checkbox" id="show_comments_cookies_opt_in" value="1" <?php checked( '1', get_option( 'show_comments_cookies_opt_in' ) ); ?> /> <label for="show_comments_cookies_opt_in"><?php _e( 'Show comments cookies opt-in checkbox, allowing comment author cookies to be set' ); ?></label> <br /> <input name="thread_comments" type="checkbox" id="thread_comments" value="1" <?php checked( '1', get_option( 'thread_comments' ) ); ?> /> <label for="thread_comments"><?php _e( 'Enable threaded (nested) comments' ); ?></label> <?php /** * Filters the maximum depth of threaded/nested comments. * * @since 2.7.0 * * @param int $max_depth The maximum depth of threaded comments. Default 10. */ $maxdeep = (int) apply_filters( 'thread_comments_depth_max', 10 ); $thread_comments_depth = '<select name="thread_comments_depth" id="thread_comments_depth">'; for ( $i = 2; $i <= $maxdeep; $i++ ) { $thread_comments_depth .= "<option value='" . esc_attr( $i ) . "'"; if ( (int) get_option( 'thread_comments_depth' ) === $i ) { $thread_comments_depth .= " selected='selected'"; } $thread_comments_depth .= ">$i</option>"; } $thread_comments_depth .= '</select>'; ?> <ul> <li> <label for="thread_comments_depth"><?php _e( 'Number of levels for threaded (nested) comments' ); ?></label> <?php echo $thread_comments_depth; ?> </li> </ul> </fieldset></td> </tr> <?php $comment_pagination_title = __( 'Comment Pagination' ); ?> <tr> <th scope="row"><?php echo $comment_pagination_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $comment_pagination_title; ?></span></legend> <input name="page_comments" type="checkbox" id="page_comments" value="1" <?php checked( '1', get_option( 'page_comments' ) ); ?> /> <label for="page_comments"><?php _e( 'Break comments into pages' ); ?></label> <ul> <li> <label for="comments_per_page"><?php _e( 'Top level comments per page' ); ?></label> <input name="comments_per_page" type="number" step="1" min="0" id="comments_per_page" value="<?php echo esc_attr( get_option( 'comments_per_page' ) ); ?>" class="small-text" /> </li> <li> <label for="default_comments_page"><?php _e( 'Comments page to display by default' ); ?></label> <select name="default_comments_page" id="default_comments_page"> <option value="newest" <?php selected( 'newest', get_option( 'default_comments_page' ) ); ?>><?php _e( 'last page' ); ?></option> <option value="oldest" <?php selected( 'oldest', get_option( 'default_comments_page' ) ); ?>><?php _e( 'first page' ); ?></option> </select> </li> <li> <label for="comment_order"><?php _e( 'Comments to display at the top of each page' ); ?></label> <select name="comment_order" id="comment_order"> <option value="asc" <?php selected( 'asc', get_option( 'comment_order' ) ); ?>><?php _e( 'older' ); ?></option> <option value="desc" <?php selected( 'desc', get_option( 'comment_order' ) ); ?>><?php _e( 'newer' ); ?></option> </select> </li> </ul> </fieldset></td> </tr> <?php $email_me_whenever_title = __( 'Email me whenever' ); ?> <tr> <th scope="row"><?php echo $email_me_whenever_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $email_me_whenever_title; ?></span></legend> <label for="comments_notify"> <input name="comments_notify" type="checkbox" id="comments_notify" value="1" <?php checked( '1', get_option( 'comments_notify' ) ); ?> /> <?php _e( 'Anyone posts a comment' ); ?> </label> <br /> <label for="moderation_notify"> <input name="moderation_notify" type="checkbox" id="moderation_notify" value="1" <?php checked( '1', get_option( 'moderation_notify' ) ); ?> /> <?php _e( 'A comment is held for moderation' ); ?> </label> <br /> <label for="wp_notes_notify"> <input name="wp_notes_notify" type="checkbox" id="wp_notes_notify" value="1" <?php checked( '1', get_option( 'wp_notes_notify', 1 ) ); ?> /> <?php _e( 'Anyone posts a note' ); ?> </label> </fieldset></td> </tr> <?php $before_comment_appears_title = __( 'Before a comment appears' ); ?> <tr> <th scope="row"><?php echo $before_comment_appears_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $before_comment_appears_title; ?></span></legend> <label for="comment_moderation"> <input name="comment_moderation" type="checkbox" id="comment_moderation" value="1" <?php checked( '1', get_option( 'comment_moderation' ) ); ?> /> <?php _e( 'Comment must be manually approved' ); ?> </label> <br /> <label for="comment_previously_approved"><input type="checkbox" name="comment_previously_approved" id="comment_previously_approved" value="1" <?php checked( '1', get_option( 'comment_previously_approved' ) ); ?> /> <?php _e( 'Comment author must have a previously approved comment' ); ?></label> </fieldset></td> </tr> <?php $comment_moderation_title = __( 'Comment Moderation' ); ?> <tr> <th scope="row"><?php echo $comment_moderation_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $comment_moderation_title; ?></span></legend> <p><label for="comment_max_links"> <?php printf( /* translators: %s: Number of links. */ __( 'Hold a comment in the queue if it contains %s or more links. (A common characteristic of comment spam is a large number of hyperlinks.)' ), '<input name="comment_max_links" type="number" step="1" min="0" id="comment_max_links" value="' . esc_attr( get_option( 'comment_max_links' ) ) . '" class="small-text" />' ); ?> </label></p> <p><label for="moderation_keys"><?php _e( 'When a comment contains any of these words in its content, author name, URL, email, IP address, or browser’s user agent string, it will be held in the <a href="edit-comments.php?comment_status=moderated">moderation queue</a>. One word or IP address per line. It will match inside words, so “press” will match “WordPress”.' ); ?></label></p> <p> <textarea name="moderation_keys" rows="10" cols="50" id="moderation_keys" class="large-text code"><?php echo esc_textarea( get_option( 'moderation_keys' ) ); ?></textarea> </p> </fieldset></td> </tr> <?php $disallowed_comment_keys_title = __( 'Disallowed Comment Keys' ); ?> <tr> <th scope="row"><?php echo $disallowed_comment_keys_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $disallowed_comment_keys_title; ?></span></legend> <p><label for="disallowed_keys"><?php _e( 'When a comment contains any of these words in its content, author name, URL, email, IP address, or browser’s user agent string, it will be put in the Trash. One word or IP address per line. It will match inside words, so “press” will match “WordPress”.' ); ?></label></p> <p> <textarea name="disallowed_keys" rows="10" cols="50" id="disallowed_keys" class="large-text code"><?php echo esc_textarea( get_option( 'disallowed_keys' ) ); ?></textarea> </p> </fieldset></td> </tr> <?php do_settings_fields( 'discussion', 'default' ); ?> </table> <h2 class="title"><?php _e( 'Avatars' ); ?></h2> <p><?php _e( 'An avatar is an image that can be associated with a user across multiple websites. In this area, you can choose to display avatars of users who interact with the site.' ); ?></p> <?php // The above would be a good place to link to the documentation on the Gravatar functions, for putting it in themes. Anything like that? $show_avatars = get_option( 'show_avatars' ); $show_avatars_class = ''; if ( ! $show_avatars ) { $show_avatars_class = ' hide-if-js'; } ?> <table class="form-table" role="presentation"> <tr> <th scope="row"><?php _e( 'Avatar Display' ); ?></th> <td> <label for="show_avatars"> <input type="checkbox" id="show_avatars" name="show_avatars" value="1" <?php checked( $show_avatars, 1 ); ?> /> <?php _e( 'Show Avatars' ); ?> </label> </td> </tr> <?php $maximum_rating_title = __( 'Maximum Rating' ); ?> <tr class="avatar-settings<?php echo $show_avatars_class; ?>"> <th scope="row"><?php echo $maximum_rating_title; ?></th> <td><fieldset><legend class="screen-reader-text"><span><?php echo $maximum_rating_title; ?></span></legend> <?php $ratings = array( /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */ 'G' => __( 'G — Suitable for all audiences' ), /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */ 'PG' => __( 'PG — Possibly offensive, usually for audiences 13 and above' ), /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */ 'R' => __( 'R — Intended for adult audiences above 17' ), /* translators: Content suitability rating: https://en.wikipedia.org/wiki/Motion_Picture_Association_of_America_film_rating_system */ 'X' => __( 'X — Even more mature than above' ), ); foreach ( $ratings as $key => $rating ) : $selected = ( get_option( 'avatar_rating' ) === $key ) ? 'checked="checked"' : ''; echo "\n\t<label><input type='radio' name='avatar_rating' value='" . esc_attr( $key ) . "' $selected/> $rating</label><br />"; endforeach; ?> </fieldset></td> </tr> <?php $default_avatar_title = __( 'Default Avatar' ); ?> <tr class="avatar-settings<?php echo $show_avatars_class; ?>"> <th scope="row"><?php echo $default_avatar_title; ?></th> <td class="defaultavatarpicker"><fieldset><legend class="screen-reader-text"><span><?php echo $default_avatar_title; ?></span></legend> <p> <?php _e( 'For users without a custom avatar of their own, you can either display a generic logo or a generated one based on their email address.' ); ?><br /> </p> <?php $avatar_defaults = array( 'mystery' => __( 'Mystery Person' ), 'blank' => __( 'Blank' ), 'gravatar_default' => __( 'Gravatar Logo' ), 'identicon' => __( 'Identicon (Generated)' ), 'wavatar' => __( 'Wavatar (Generated)' ), 'monsterid' => __( 'MonsterID (Generated)' ), 'retro' => __( 'Retro (Generated)' ), 'robohash' => __( 'RoboHash (Generated)' ), 'initials' => __( 'Initials (Generated)' ), 'color' => __( 'Color (Generated)' ), ); /** * Filters the default avatars. * * Avatars are stored in key/value pairs, where the key is option value, * and the name is the displayed avatar name. * * @since 2.6.0 * * @param string[] $avatar_defaults Associative array of default avatars. */ $avatar_defaults = apply_filters( 'avatar_defaults', $avatar_defaults ); $default = get_option( 'avatar_default', 'mystery' ); $avatar_list = ''; // Force avatars on to display these choices. add_filter( 'pre_option_show_avatars', '__return_true', 100 ); foreach ( $avatar_defaults as $default_key => $default_name ) { $selected = ( $default === $default_key ) ? 'checked="checked" ' : ''; $avatar_list .= "\n\t<label><input type='radio' name='avatar_default' id='avatar_{$default_key}' value='" . esc_attr( $default_key ) . "' {$selected}/> "; $avatar_list .= get_avatar( $user_email, 32, $default_key, '', array( 'force_default' => true ) ); $avatar_list .= ' ' . $default_name . '</label>'; $avatar_list .= '<br />'; } remove_filter( 'pre_option_show_avatars', '__return_true', 100 ); /** * Filters the HTML output of the default avatar list. * * @since 2.6.0 * * @param string $avatar_list HTML markup of the avatar list. */ echo apply_filters( 'default_avatar_select', $avatar_list ); ?> </fieldset></td> </tr> <?php do_settings_fields( 'discussion', 'avatars' ); ?> </table> <?php do_settings_sections( 'discussion' ); ?> <?php submit_button(); ?> </form> </div> <?php require_once ABSPATH . 'wp-admin/admin-footer.php'; ?> PK .0]kU�4 font-library.phpnu �[��� <?php /** * Font Library administration screen. * * @package WordPress * @subpackage Administration * @since 7.0.0 */ /** WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to manage fonts on this site.' ) . '</p>', 403 ); } // Check if Gutenberg build files are available if ( ! function_exists( 'wp_font_library_wp_admin_render_page' ) ) { wp_die( '<h1>' . __( 'Font Library is not available.' ) . '</h1>' . '<p>' . __( 'The Font Library requires Gutenberg build files. Please run <code>npm install</code> to build the necessary files.' ) . '</p>', 503 ); } // Set the page title $title = _x( 'Fonts', 'Font Library admin page title' ); require_once ABSPATH . 'wp-admin/admin-header.php'; // Render the Font Library page wp_font_library_wp_admin_render_page(); require_once ABSPATH . 'wp-admin/admin-footer.php'; PK .0]îh�, �, customize.phpnu �[��� <?php /** * Theme Customize Screen. * * @package WordPress * @subpackage Customize * @since 3.4.0 */ define( 'IFRAME_REQUEST', true ); /** Load WordPress Administration Bootstrap */ require_once __DIR__ . '/admin.php'; if ( ! current_user_can( 'customize' ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to customize this site.' ) . '</p>', 403 ); } /** * @global WP_Scripts $wp_scripts * @global WP_Customize_Manager $wp_customize */ global $wp_scripts, $wp_customize; if ( $wp_customize->changeset_post_id() ) { $changeset_post = get_post( $wp_customize->changeset_post_id() ); if ( ! current_user_can( get_post_type_object( 'customize_changeset' )->cap->edit_post, $changeset_post->ID ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to edit this changeset.' ) . '</p>', 403 ); } $missed_schedule = ( 'future' === $changeset_post->post_status && get_post_time( 'G', true, $changeset_post ) < time() ); if ( $missed_schedule ) { /* * Note that an Ajax request spawns here instead of just calling `wp_publish_post( $changeset_post->ID )`. * * Because WP_Customize_Manager is not instantiated for customize.php with the `settings_previewed=false` * argument, settings cannot be reliably saved. Some logic short-circuits if the current value is the * same as the value being saved. This is particularly true for options via `update_option()`. * * By opening an Ajax request, this is avoided and the changeset is published. See #39221. */ $nonces = $wp_customize->get_nonces(); $request_args = array( 'nonce' => $nonces['save'], 'customize_changeset_uuid' => $wp_customize->changeset_uuid(), 'wp_customize' => 'on', 'customize_changeset_status' => 'publish', ); ob_start(); ?> <?php wp_print_scripts( array( 'wp-util' ) ); ?> <script> wp.ajax.post( 'customize_save', <?php echo wp_json_encode( $request_args, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?> ); </script> <?php $script = ob_get_clean(); wp_die( '<h1>' . __( 'Your scheduled changes just published' ) . '</h1>' . '<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>' . $script, 200 ); } if ( in_array( get_post_status( $changeset_post->ID ), array( 'publish', 'trash' ), true ) ) { wp_die( '<h1>' . __( 'An error occurred while saving your changeset.' ) . '</h1>' . '<p>' . __( 'Please try again or start a new changeset. This changeset cannot be further modified.' ) . '</p>' . '<p><a href="' . esc_url( remove_query_arg( 'changeset_uuid' ) ) . '">' . __( 'Customize New Changes' ) . '</a></p>', 403 ); } } $url = ! empty( $_REQUEST['url'] ) ? esc_url_raw( wp_unslash( $_REQUEST['url'] ) ) : ''; $return = ! empty( $_REQUEST['return'] ) ? esc_url_raw( wp_unslash( $_REQUEST['return'] ) ) : ''; $autofocus = ! empty( $_REQUEST['autofocus'] ) && is_array( $_REQUEST['autofocus'] ) ? array_map( 'sanitize_text_field', wp_unslash( $_REQUEST['autofocus'] ) ) : array(); if ( ! empty( $url ) ) { $wp_customize->set_preview_url( $url ); } if ( ! empty( $return ) ) { $wp_customize->set_return_url( $return ); } if ( ! empty( $autofocus ) ) { $wp_customize->set_autofocus( $autofocus ); } // Let's roll. header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); wp_user_settings(); _wp_admin_html_begin(); $registered = $wp_scripts->registered; $wp_scripts = new WP_Scripts(); $wp_scripts->registered = $registered; add_action( 'customize_controls_print_scripts', 'print_head_scripts', 20 ); add_action( 'customize_controls_print_footer_scripts', '_wp_footer_scripts' ); add_action( 'customize_controls_print_styles', 'print_admin_styles', 20 ); /** * Fires when Customizer controls are initialized, before scripts are enqueued. * * @since 3.4.0 */ do_action( 'customize_controls_init' ); wp_enqueue_script( 'heartbeat' ); wp_enqueue_script( 'customize-controls' ); wp_enqueue_style( 'customize-controls' ); /** * Fires when enqueuing Customizer control scripts. * * @since 3.4.0 */ do_action( 'customize_controls_enqueue_scripts' ); $body_class = 'wp-core-ui wp-customizer js'; if ( wp_is_mobile() ) : $body_class .= ' mobile'; add_filter( 'admin_viewport_meta', '_customizer_mobile_viewport_meta' ); endif; if ( $wp_customize->is_ios() ) { $body_class .= ' ios'; } if ( is_rtl() ) { $body_class .= ' rtl'; } $body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) ); $admin_color = get_user_option( 'admin_color' ); $body_class .= ' admin-color-' . sanitize_html_class( is_string( $admin_color ) ? $admin_color : '', 'modern' ); if ( wp_use_widgets_block_editor() ) { $body_class .= ' wp-embed-responsive'; } $admin_title = sprintf( $wp_customize->get_document_title_template(), __( 'Loading…' ) ); ?> <title><?php echo esc_html( $admin_title ); ?></title> <script> var ajaxurl = <?php echo wp_json_encode( admin_url( 'admin-ajax.php', 'relative' ), JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ); ?>, pagenow = 'customize'; </script> <?php /** * Fires when Customizer control styles are printed. * * @since 3.4.0 */ do_action( 'customize_controls_print_styles' ); /** * Fires when Customizer control scripts are printed. * * @since 3.4.0 */ do_action( 'customize_controls_print_scripts' ); /** * Fires in head section of Customizer controls. * * @since 5.5.0 */ do_action( 'customize_controls_head' ); ?> </head> <body class="<?php echo esc_attr( $body_class ); ?>"> <div class="wp-full-overlay expanded"> <form id="customize-controls" class="wrap wp-full-overlay-sidebar"> <div id="customize-header-actions" class="wp-full-overlay-header"> <?php $compatible_wp = is_wp_version_compatible( $wp_customize->theme()->get( 'RequiresWP' ) ); $compatible_php = is_php_version_compatible( $wp_customize->theme()->get( 'RequiresPHP' ) ); ?> <?php if ( $compatible_wp && $compatible_php ) : ?> <?php $save_text = $wp_customize->is_theme_active() ? __( 'Publish' ) : __( 'Activate & Publish' ); ?> <div id="customize-save-button-wrapper" class="customize-save-button-wrapper" > <?php submit_button( $save_text, 'primary button-compact save', 'save', false ); ?> <button id="publish-settings" class="publish-settings button-primary button-compact button dashicons dashicons-admin-generic" aria-label="<?php esc_attr_e( 'Publish Settings' ); ?>" aria-expanded="false" disabled></button> </div> <?php else : ?> <?php $save_text = _x( 'Cannot Activate', 'theme' ); ?> <div id="customize-save-button-wrapper" class="customize-save-button-wrapper disabled" > <button class="button button-primary button-compact disabled" aria-label="<?php esc_attr_e( 'Publish Settings' ); ?>" aria-expanded="false" disabled><?php echo $save_text; ?></button> </div> <?php endif; ?> <span class="spinner"></span> <button type="button" class="customize-controls-preview-toggle"> <span class="controls"><?php _e( 'Customize' ); ?></span> <span class="preview"><?php echo esc_html_x( 'Preview', 'noun' ); ?></span> </button> <a class="customize-controls-close" href="<?php echo esc_url( $wp_customize->get_return_url() ); ?>"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Close the Customizer and go back to the previous page' ); ?> </span> </a> </div> <div id="customize-sidebar-outer-content"> <div id="customize-outer-theme-controls"> <ul class="customize-outer-pane-parent"><?php // Outer panel and sections are not implemented, but its here as a placeholder to avoid any side-effect in api.Section. ?></ul> </div> </div> <div id="widgets-right" class="wp-clearfix"><!-- For Widget Customizer, many widgets try to look for instances under div#widgets-right, so we have to add that ID to a container div in the Customizer for compat --> <div id="customize-notifications-area" class="customize-control-notifications-container"> <ul></ul> </div> <div class="wp-full-overlay-sidebar-content" tabindex="-1"> <div id="customize-info" class="accordion-section customize-info" data-block-theme="<?php echo (int) wp_is_block_theme(); ?>"> <div class="accordion-section-title"> <h2 class="preview-notice"> <?php /* translators: %s: The site/panel title in the Customizer. */ printf( __( 'You are customizing %s' ), '<strong class="panel-title site-title">' . get_bloginfo( 'name', 'display' ) . '</strong>' ); ?> </h2> <button type="button" class="customize-help-toggle dashicons dashicons-editor-help" aria-expanded="false"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Help' ); ?> </span></button> </div> <div class="customize-panel-description"> <p> <?php _e( 'The Customizer allows you to preview changes to your site before publishing them. You can navigate to different pages on your site within the preview. Edit shortcuts are shown for some editable elements. The Customizer is intended for use with non-block themes.' ); ?> </p> <p> <?php _e( '<a href="https://wordpress.org/documentation/article/customizer/">Documentation on Customizer</a>' ); ?> </p> </div> </div> <div id="customize-theme-controls"> <ul class="customize-pane-parent"><?php // Panels and sections are managed here via JavaScript ?></ul> </div> </div> </div> <div id="customize-footer-actions" class="wp-full-overlay-footer"> <button type="button" class="collapse-sidebar button" aria-expanded="true" aria-label="<?php echo esc_attr_x( 'Hide Controls', 'label for hide controls button without length constraints' ); ?>"> <span class="collapse-sidebar-arrow" aria-hidden="true"></span> <span class="collapse-sidebar-label"><?php _ex( 'Hide Controls', 'short (~12 characters) label for hide controls button' ); ?></span> </button> <?php $previewable_devices = $wp_customize->get_previewable_devices(); ?> <?php if ( ! empty( $previewable_devices ) ) : ?> <div class="devices-wrapper"> <div class="devices"> <?php foreach ( (array) $previewable_devices as $device => $settings ) : ?> <?php if ( empty( $settings['label'] ) ) { continue; } $active = ! empty( $settings['default'] ); $class = 'preview-' . $device; if ( $active ) { $class .= ' active'; } ?> <button type="button" class="<?php echo esc_attr( $class ); ?>" aria-pressed="<?php echo esc_attr( $active ); ?>" data-device="<?php echo esc_attr( $device ); ?>"> <span class="screen-reader-text"><?php echo esc_html( $settings['label'] ); ?></span> </button> <?php endforeach; ?> </div> </div> <?php endif; ?> </div> </form> <div id="customize-preview" class="wp-full-overlay-main"></div> <?php /** * Prints templates, control scripts, and settings in the footer. * * @since 3.4.0 */ do_action( 'customize_controls_print_footer_scripts' ); ?> </div> </body> </html> PK .0]U�f1 1 install-helper.phpnu �[��� <?php /** * Plugins may load this file to gain access to special helper functions * for plugin installation. This file is not included by WordPress and it is * recommended, to prevent fatal errors, that this file is included using * require_once. * * These functions are not optimized for speed, but they should only be used * once in a while, so speed shouldn't be a concern. If it is and you are * needing to use these functions a lot, you might experience timeouts. * If you do, then it is advised to just write the SQL code yourself. * * check_column( 'wp_links', 'link_description', 'mediumtext' ); * * if ( check_column( $wpdb->comments, 'comment_author', 'tinytext' ) ) { * echo "ok\n"; * } * * // Check the column. * if ( ! check_column( $wpdb->links, 'link_description', 'varchar( 255 )' ) ) { * $ddl = "ALTER TABLE $wpdb->links MODIFY COLUMN link_description varchar(255) NOT NULL DEFAULT '' "; * $q = $wpdb->query( $ddl ); * } * * $error_count = 0; * $tablename = $wpdb->links; * * if ( check_column( $wpdb->links, 'link_description', 'varchar( 255 )' ) ) { * $res .= $tablename . ' - ok <br />'; * } else { * $res .= 'There was a problem with ' . $tablename . '<br />'; * ++$error_count; * } * * @package WordPress * @subpackage Plugin */ /** Load WordPress Bootstrap */ require_once dirname( __DIR__ ) . '/wp-load.php'; if ( ! function_exists( 'maybe_create_table' ) ) : /** * Creates a table in the database if it doesn't already exist. * * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $create_ddl SQL statement to create table. * @return bool True on success or if the table already exists. False on failure. */ function maybe_create_table( $table_name, $create_ddl ) { global $wpdb; foreach ( $wpdb->get_col( 'SHOW TABLES', 0 ) as $table ) { if ( $table === $table_name ) { return true; } } // Didn't find it, so try to create it. // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query. $wpdb->query( $create_ddl ); // We cannot directly tell whether this succeeded! foreach ( $wpdb->get_col( 'SHOW TABLES', 0 ) as $table ) { if ( $table === $table_name ) { return true; } } return false; } endif; if ( ! function_exists( 'maybe_add_column' ) ) : /** * Adds column to database table, if it doesn't already exist. * * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $column_name Table column name. * @param string $create_ddl SQL statement to add column. * @return bool True on success or if the column already exists. False on failure. */ function maybe_add_column( $table_name, $column_name, $create_ddl ) { global $wpdb; // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return true; } } // Didn't find it, so try to create it. // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query. $wpdb->query( $create_ddl ); // We cannot directly tell whether this succeeded! // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return true; } } return false; } endif; /** * Drops column from database table, if it exists. * * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $column_name Table column name. * @param string $drop_ddl SQL statement to drop column. * @return bool True on success or if the column doesn't exist. False on failure. */ function maybe_drop_column( $table_name, $column_name, $drop_ddl ) { global $wpdb; // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { // Found it, so try to drop it. // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query. $wpdb->query( $drop_ddl ); // We cannot directly tell whether this succeeded! // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return false; } } } } // Else didn't find it. return true; } /** * Checks that database table column matches the criteria. * * Uses the SQL DESC for retrieving the table info for the column. It will help * understand the parameters, if you do more research on what column information * is returned by the SQL statement. Pass in null to skip checking that criteria. * * Column names returned from DESC table are case sensitive and are as listed: * * - Field * - Type * - Null * - Key * - Default * - Extra * * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $col_name Table column name. * @param string $col_type Table column type. * @param bool $is_null Optional. Check is null. * @param mixed $key Optional. Key info. * @param mixed $default_value Optional. Default value. * @param mixed $extra Optional. Extra value. * @return bool True, if matches. False, if not matching. */ function check_column( $table_name, $col_name, $col_type, $is_null = null, $key = null, $default_value = null, $extra = null ) { global $wpdb; $diffs = 0; // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. $results = $wpdb->get_results( "DESC $table_name" ); foreach ( $results as $row ) { if ( $row->Field === $col_name ) { // Got our column, check the params. if ( ( null !== $col_type ) && ( $row->Type !== $col_type ) ) { ++$diffs; } if ( ( null !== $is_null ) && ( $row->Null !== $is_null ) ) { ++$diffs; } if ( ( null !== $key ) && ( $row->Key !== $key ) ) { ++$diffs; } if ( ( null !== $default_value ) && ( $row->Default !== $default_value ) ) { ++$diffs; } if ( ( null !== $extra ) && ( $row->Extra !== $extra ) ) { ++$diffs; } if ( $diffs > 0 ) { return false; } return true; } // End if found our column. } return false; } PK .0]�#K'