WordPress.org

Make WordPress Core

Ticket #37699: 37699-version.2.diff

File 37699-version.2.diff, 47.4 KB (added by wonderboymusic, 3 years ago)
  • src/wp-admin/about.php

     
    4242
    4343$title = __( 'About' );
    4444
    45 list( $display_version ) = explode( '-', $wp_version );
     45list( $display_version ) = explode( '-', WP::get( 'wp_version' ) );
    4646
    4747include( ABSPATH . 'wp-admin/admin-header.php' );
    4848?>
  • src/wp-admin/admin-header.php

     
    1818 * @global WP_Screen $current_screen
    1919 * @global WP_Locale $wp_locale
    2020 * @global string    $pagenow
    21  * @global string    $wp_version
    2221 * @global string    $update_title
    2322 * @global int       $total_update_count
    2423 * @global string    $parent_file
    2524 */
    26 global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version,
     25global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow,
    2726        $update_title, $total_update_count, $parent_file;
    2827
    2928// Catch plugins that include admin-header.php before admin.php completes.
     
    154153if ( $current_screen->taxonomy )
    155154        $admin_body_class .= ' taxonomy-' . $current_screen->taxonomy;
    156155
     156$wp_version = WP::get( 'wp_version' );
     157
    157158$admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
    158159$admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
    159160$admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
  • src/wp-admin/credits.php

     
    1212
    1313$title = __( 'Credits' );
    1414
    15 list( $display_version ) = explode( '-', $wp_version );
     15list( $display_version ) = explode( '-', WP::get( 'wp_version' ) );
    1616
    1717include( ABSPATH . 'wp-admin/admin-header.php' );
    1818?>
  • src/wp-admin/freedoms.php

     
    1111
    1212$title = __( 'Freedoms' );
    1313
    14 list( $display_version ) = explode( '-', $wp_version );
     14list( $display_version ) = explode( '-', WP::get( 'wp_version' ) );
    1515
    1616include( ABSPATH . 'wp-admin/admin-header.php' );
    1717?>
  • src/wp-admin/includes/class-core-upgrader.php

     
    6565
    6666                include( ABSPATH . WPINC . '/version.php' ); // $wp_version;
    6767
     68                $wp_version = WP::get( 'wp_version' );
     69
    6870                $start_time = time();
    6971
    7072                $defaults = array(
     
    238240        public static function should_update_to_version( $offered_ver ) {
    239241                include( ABSPATH . WPINC . '/version.php' ); // $wp_version; // x.y.z
    240242
     243                $wp_version = WP::get( 'wp_version' );
     244
    241245                $current_branch = implode( '.', array_slice( preg_split( '/[.-]/', $wp_version  ), 0, 2 ) ); // x.y
    242246                $new_branch     = implode( '.', array_slice( preg_split( '/[.-]/', $offered_ver ), 0, 2 ) ); // x.y
    243247                $current_is_development_version = (bool) strpos( $wp_version, '-' );
     
    339343         * @since 3.7.0
    340344         * @access public
    341345         *
    342          * @global string $wp_version
    343346         * @global string $wp_local_package
    344347         *
    345348         * @return bool True if the checksums match, otherwise false.
    346349         */
    347350        public function check_files() {
    348                 global $wp_version, $wp_local_package;
     351                global $wp_local_package;
    349352
    350                 $checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
     353                $checksums = get_core_checksums( WP::get( 'wp_version' ), isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
    351354
    352355                if ( ! is_array( $checksums ) )
    353356                        return false;
  • src/wp-admin/includes/class-wp-automatic-updater.php

     
    373373         * @access public
    374374         *
    375375         * @global wpdb   $wpdb
    376          * @global string $wp_version
    377376         */
    378377        public function run() {
    379                 global $wpdb, $wp_version;
     378                global $wpdb;
    380379
    381380                if ( $this->is_disabled() )
    382381                        return;
     
    457456
    458457                // Send debugging email to all development installs.
    459458                if ( ! empty( $this->update_results ) ) {
    460                         $development_version = false !== strpos( $wp_version, '-' );
     459                        $development_version = false !== strpos( WP::get( 'wp_version' ), '-' );
    461460
    462461                        /**
    463462                         * Filters whether to send a debugging email for each automatic background update.
     
    494493         * @since Unknown
    495494         * @access protected
    496495         *
    497          * @global string $wp_version
    498          *
    499496         * @param object $update_result The result of the core update. Includes the update offer and result.
    500497         */
    501498        protected function after_core_update( $update_result ) {
    502                 global $wp_version;
    503 
     499                $wp_version  = WP::get( 'wp_version' );
    504500                $core_update = $update_result->item;
    505501                $result      = $update_result->result;
    506502
     
    584580         * @since 3.7.0
    585581         * @access protected
    586582         *
    587          * @global string $wp_version
    588          *
    589583         * @param string $type        The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'.
    590584         * @param object $core_update The update offer that was attempted.
    591585         * @param mixed  $result      Optional. The result for the core update. Can be WP_Error.
     
    722716
    723717                if ( 'critical' == $type && is_wp_error( $result ) ) {
    724718                        $body .= "\n***\n\n";
    725                         $body .= sprintf( __( 'Your site was running version %s.' ), $GLOBALS['wp_version'] );
     719                        $body .= sprintf( __( 'Your site was running version %s.' ), WP::get( 'wp_version' ) );
    726720                        $body .= ' ' . __( 'We have some data that describes the error your site encountered.' );
    727721                        $body .= ' ' . __( 'Your hosting company, support forum volunteers, or a friendly developer may be able to use this information to help you:' );
    728722
  • src/wp-admin/includes/class-wp-plugin-install-list-table.php

     
    6969         * @global int    $paged
    7070         * @global string $type
    7171         * @global string $term
    72          * @global string $wp_version
    7372         */
    7473        public function prepare_items() {
    7574                include( ABSPATH . 'wp-admin/includes/plugin-install.php' );
     
    8887                if ( 'search' === $tab ) {
    8988                        $tabs['search'] = __( 'Search Results' );
    9089                }
    91                 if ( $tab === 'beta' || false !== strpos( $GLOBALS['wp_version'], '-' ) ) {
     90                if ( $tab === 'beta' || false !== strpos( WP::get( 'wp_version' ), '-' ) ) {
    9291                        $tabs['beta'] = _x( 'Beta Testing', 'Plugin Installer' );
    9392                }
    9493                $tabs['featured']    = _x( 'Featured', 'Plugin Installer' );
     
    391390                }
    392391        }
    393392
    394         /**
    395          * @global string $wp_version
    396          */
    397393        public function display_rows() {
     394                $wp_version = WP::get( 'wp_version' );
     395
    398396                $plugins_allowedtags = array(
    399397                        'a' => array( 'href' => array(),'title' => array(), 'target' => array() ),
    400398                        'abbr' => array( 'title' => array() ),'acronym' => array( 'title' => array() ),
     
    574572                                </div>
    575573                                <div class="column-compatibility">
    576574                                        <?php
    577                                         if ( ! empty( $plugin['tested'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['tested'] ) ), $plugin['tested'], '>' ) ) {
     575                                        if ( ! empty( $plugin['tested'] ) && version_compare( substr( $wp_version, 0, strlen( $plugin['tested'] ) ), $plugin['tested'], '>' ) ) {
    578576                                                echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>';
    579                                         } elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) {
     577                                        } elseif ( ! empty( $plugin['requires'] ) && version_compare( substr( $wp_version, 0, strlen( $plugin['requires'] ) ), $plugin['requires'], '<' ) ) {
    580578                                                echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>';
    581579                                        } else {
    582580                                                echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>';
  • src/wp-admin/includes/class-wp-press-this.php

     
    267267         * @return string Source's HTML sanitized markup
    268268         */
    269269        public function fetch_source_html( $url ) {
    270                 global $wp_version;
    271 
    272270                if ( empty( $url ) ) {
    273271                        return new WP_Error( 'invalid-url', __( 'A valid URL was not provided.' ) );
    274272                }
     
    276274                $remote_url = wp_safe_remote_get( $url, array(
    277275                        'timeout' => 30,
    278276                        // Use an explicit user-agent for Press This
    279                         'user-agent' => 'Press This (WordPress/' . $wp_version . '); ' . get_bloginfo( 'url' )
     277                        'user-agent' => 'Press This (WordPress/' . WP::get( 'wp_version' ) . '); ' . get_bloginfo( 'url' )
    280278                ) );
    281279
    282280                if ( is_wp_error( $remote_url ) ) {
     
    11891187         * @access public
    11901188         *
    11911189         * @global WP_Locale $wp_locale
    1192          * @global string    $wp_version
    11931190         * @global bool      $is_IE
    11941191         */
    11951192        public function html() {
    1196                 global $wp_locale, $wp_version;
     1193                global $wp_locale;
    11971194
    11981195                // Get data, new (POST) and old (GET).
    11991196                $data = $this->merge_or_fetch_data();
     
    13071304        ?>
    13081305</head>
    13091306<?php
     1307        $wp_version = WP::get( 'wp_version' );
    13101308
    13111309        $admin_body_class  = 'press-this';
    13121310        $admin_body_class .= ( is_rtl() ) ? ' rtl' : '';
  • src/wp-admin/includes/credits.php

     
    1010/**
    1111 * Retrieve the contributor credits.
    1212 *
    13  * @global string $wp_version The current WordPress version.
    14  *
    1513 * @since 3.2.0
    1614 *
    1715 * @return array|false A list of all of the contributors, or false on error.
    1816 */
    1917function wp_credits() {
    20         global $wp_version;
     18        $wp_version = WP::get( 'wp_version' );
    2119        $locale = get_locale();
    2220
    2321        $results = get_site_transient( 'wordpress_credits_' . $locale );
  • src/wp-admin/includes/dashboard.php

     
    13931393 *
    13941394 * @since 3.2.0
    13951395 *
    1396  * @global string $wp_version
    1397  *
    13981396 * @return array|bool False on failure, array of browser data on success.
    13991397 */
    14001398function wp_check_browser_version() {
     
    14041402        $key = md5( $_SERVER['HTTP_USER_AGENT'] );
    14051403
    14061404        if ( false === ($response = get_site_transient('browser_' . $key) ) ) {
    1407                 global $wp_version;
    1408 
    14091405                $options = array(
    14101406                        'body'                  => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
    1411                         'user-agent'    => 'WordPress/' . $wp_version . '; ' . home_url()
     1407                        'user-agent'    => 'WordPress/' . WP::get( 'wp_version' ) . '; ' . home_url()
    14121408                );
    14131409
    14141410                $response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.1/', $options );
  • src/wp-admin/includes/import.php

     
    125125function wp_get_popular_importers() {
    126126        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
    127127
     128        $wp_version = WP::get( 'wp_version' );
    128129        $locale = get_locale();
    129130        $cache_key = 'popular_importers_' . md5( $locale . $wp_version );
    130131        $popular_importers = get_site_transient( $cache_key );
  • src/wp-admin/includes/plugin-install.php

     
    423423 * @since 2.7.0
    424424 *
    425425 * @global string $tab
    426  * @global string $wp_version
    427426 */
    428427function install_plugin_information() {
    429428        global $tab;
     
    432431                return;
    433432        }
    434433
     434        $wp_version = WP::get( 'wp_version' );
     435
    435436        $api = plugins_api( 'plugin_information', array(
    436437                'slug' => wp_unslash( $_REQUEST['plugin'] ),
    437438                'is_ssl' => is_ssl(),
     
    630631        </div>
    631632        <div id="section-holder" class="wrap">
    632633        <?php
    633         if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
     634        if ( ! empty( $api->tested ) && version_compare( substr( $wp_version, 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
    634635                echo '<div class="notice notice-warning notice-alt"><p>' . __( '<strong>Warning:</strong> This plugin has <strong>not been tested</strong> with your current version of WordPress.' ) . '</p></div>';
    635         } elseif ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
     636        } elseif ( ! empty( $api->requires ) && version_compare( substr( $wp_version, 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
    636637                echo '<div class="notice notice-warning notice-alt"><p>' . __( '<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.' ) . '</p></div>';
    637638        }
    638639
  • src/wp-admin/includes/translation-install.php

     
    4343                $options = array(
    4444                        'timeout' => 3,
    4545                        'body' => array(
    46                                 'wp_version' => $wp_version,
     46                                'wp_version' => WP::get( 'wp_version' ),
    4747                                'locale'     => get_locale(),
    4848                                'version'    => $args['version'], // Version of plugin, theme or core
    4949                        ),
     
    100100
    101101        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
    102102
    103         $api = translations_api( 'core', array( 'version' => $wp_version ) );
     103        $api = translations_api( 'core', array( 'version' => WP::get( 'wp_version' ) ) );
    104104
    105105        if ( is_wp_error( $api ) || empty( $api['translations'] ) ) {
    106106                return array();
  • src/wp-admin/includes/update-core.php

     
    796796 * @global array              $_old_files
    797797 * @global array              $_new_bundled_files
    798798 * @global wpdb               $wpdb
    799  * @global string             $wp_version
    800799 * @global string             $required_php_version
    801800 * @global string             $required_mysql_version
    802801 *
     
    844843
    845844
    846845        /**
    847          * Import $wp_version, $required_php_version, and $required_mysql_version from the new version
     846         * Import $required_php_version, and $required_mysql_version from the new version
    848847         * $wp_filesystem->wp_content_dir() returned unslashed pre-2.8
    849848         *
    850          * @global string $wp_version
    851849         * @global string $required_php_version
    852850         * @global string $required_mysql_version
    853851         */
    854         global $wp_version, $required_php_version, $required_mysql_version;
     852        global $required_php_version, $required_mysql_version;
    855853
    856854        $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php';
    857855        if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $versions_file ) ) {
     
    863861        require( WP_CONTENT_DIR . '/upgrade/version-current.php' );
    864862        $wp_filesystem->delete( $versions_file );
    865863
     864        $wp_version = WP::get( 'wp_version' );
    866865        $php_version    = phpversion();
    867866        $mysql_version  = $wpdb->db_version();
    868867        $old_wp_version = $wp_version; // The version of WordPress we're updating from
     
    12001199 *
    12011200 * @since 3.3.0
    12021201 *
    1203  * @global string $wp_version
    12041202 * @global string $pagenow
    12051203 * @global string $action
    12061204 *
     
    12071205 * @param string $new_version
    12081206 */
    12091207function _redirect_to_about_wordpress( $new_version ) {
    1210         global $wp_version, $pagenow, $action;
     1208        global $pagenow, $action;
    12111209
    1212         if ( version_compare( $wp_version, '3.4-RC1', '>=' ) )
     1210        if ( version_compare( WP::get( 'wp_version' ), '3.4-RC1', '>=' ) )
    12131211                return;
    12141212
    12151213        // Ensure we only run this on the update-core.php page. The Core_Upgrader may be used in other contexts.
  • src/wp-admin/includes/update.php

     
    595595                 * This flag is cleared whenever a successful update occurs using Core_Upgrader.
    596596                 */
    597597                $comparison = ! empty( $failed['critical'] ) ? '>=' : '>';
    598                 if ( version_compare( $failed['attempted'], $wp_version, $comparison ) )
     598                if ( version_compare( $failed['attempted'], WP::get( 'wp_version' ), $comparison ) )
    599599                        $nag = true;
    600600        }
    601601
  • src/wp-admin/install.php

     
    217217}
    218218
    219219/**
    220  * @global string $wp_version
    221220 * @global string $required_php_version
    222221 * @global string $required_mysql_version
    223222 * @global wpdb   $wpdb
    224223 */
    225 global $wp_version, $required_php_version, $required_mysql_version;
     224global $required_php_version, $required_mysql_version;
    226225
     226$wp_version     = WP::get( 'wp_version' );
    227227$php_version    = phpversion();
    228228$mysql_version  = $wpdb->db_version();
    229229$php_compat     = version_compare( $php_version, $required_php_version, '>=' );
  • src/wp-admin/load-scripts.php

     
    3737$wp_scripts = new WP_Scripts();
    3838wp_default_scripts($wp_scripts);
    3939
     40$wp_version = WP::get( 'wp_version' );
     41
    4042if ( isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) && stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) === $wp_version ) {
    4143        $protocol = $_SERVER['SERVER_PROTOCOL'];
    4244        if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) ) {
  • src/wp-admin/load-styles.php

     
    3838$wp_styles = new WP_Styles();
    3939wp_default_styles($wp_styles);
    4040
     41$wp_version = WP::get( 'wp_version' );
     42
    4143if ( isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) && stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) === $wp_version ) {
    4244        $protocol = $_SERVER['SERVER_PROTOCOL'];
    4345        if ( ! in_array( $protocol, array( 'HTTP/1.1', 'HTTP/2', 'HTTP/2.0' ) ) ) {
  • src/wp-admin/plugin-editor.php

     
    260260                <input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
    261261                </div>
    262262                <?php if ( !empty( $docs_select ) ) : ?>
    263                 <div id="documentation" class="hide-if-no-js"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'https://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" /></div>
     263                <div id="documentation" class="hide-if-no-js"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'https://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( WP::get( 'wp_version' ) ) ?>&amp;redirect=true'); }" /></div>
    264264                <?php endif; ?>
    265265<?php if ( is_writeable($real_file) ) : ?>
    266266        <?php if ( in_array( $file, (array) get_option( 'active_plugins', array() ) ) ) { ?>
  • src/wp-admin/theme-editor.php

     
    263263                <div id="documentation" class="hide-if-no-js">
    264264                <label for="docs-list"><?php _e('Documentation:') ?></label>
    265265                <?php echo $docs_select; ?>
    266                 <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ); ?>" onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'https://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( $wp_version ) ?>&amp;redirect=true'); }" />
     266                <input type="button" class="button" value="<?php esc_attr_e( 'Look Up' ); ?>" onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'https://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&amp;locale=<?php echo urlencode( get_locale() ) ?>&amp;version=<?php echo urlencode( WP::get( 'wp_version' ) ) ?>&amp;redirect=true'); }" />
    267267                </div>
    268268        <?php endif; ?>
    269269
  • src/wp-admin/update-core.php

     
    2626 *
    2727 * @global string $wp_local_package
    2828 * @global wpdb   $wpdb
    29  * @global string $wp_version
    3029 *
    3130 * @staticvar bool $first_pass
    3231 *
     
    3332 * @param object $update
    3433 */
    3534function list_core_update( $update ) {
    36         global $wp_local_package, $wpdb, $wp_version;
     35        global $wp_local_package, $wpdb;
    3736        static $first_pass = true;
    3837
    39         if ( 'en_US' == $update->locale && 'en_US' == get_locale() )
     38        $wp_version = WP::get( 'wp_version' );
     39
     40        if ( 'en_US' == $update->locale && 'en_US' == get_locale() ) {
    4041                $version_string = $update->current;
    4142        // If the only available update is a partial builds, it doesn't need a language-specific version string.
    42         elseif ( 'en_US' == $update->locale && $update->packages->partial && $wp_version == $update->partial_version && ( $updates = get_core_updates() ) && 1 == count( $updates ) )
     43        } elseif ( 'en_US' == $update->locale && $update->packages->partial && $wp_version == $update->partial_version && ( $updates = get_core_updates() ) && 1 == count( $updates ) ) {
    4344                $version_string = $update->current;
    44         else
     45        } else {
    4546                $version_string = sprintf( "%s&ndash;<strong>%s</strong>", $update->current, $update->locale );
    46 
     47        }
    4748        $current = false;
    4849        if ( !isset($update->response) || 'latest' == $update->response )
    4950                $current = true;
     
    149150 *
    150151 * @since 2.7.0
    151152 *
    152  * @global string $wp_version
    153153 * @global string $required_php_version
    154154 * @global string $required_mysql_version
    155155 */
    156156function core_upgrade_preamble() {
    157         global $wp_version, $required_php_version, $required_mysql_version;
     157        global $required_php_version, $required_mysql_version;
    158158
    159159        $updates = get_core_updates();
    160160
     161        $wp_version = WP::get( 'wp_version' );
     162
    161163        if ( !isset($updates[0]->response) || 'latest' == $updates[0]->response ) {
    162164                echo '<h2>';
    163165                _e('You have the latest version of WordPress.');
     
    211213        dismissed_updates();
    212214}
    213215
    214 /**
    215  *
    216  * @global string $wp_version
    217  */
    218216function list_plugin_updates() {
    219         global $wp_version;
     217        $cur_wp_version = preg_replace('/-.*$/', '', WP::get( 'wp_version' ) );
    220218
    221         $cur_wp_version = preg_replace('/-.*$/', '', $wp_version);
    222 
    223219        require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');
    224220        $plugins = get_plugin_updates();
    225221        if ( empty( $plugins ) ) {
  • src/wp-admin/upgrade.php

     
    3636}
    3737
    3838/**
    39  * @global string $wp_version
    4039 * @global string $required_php_version
    4140 * @global string $required_mysql_version
    4241 * @global wpdb   $wpdb
    4342 */
    44 global $wp_version, $required_php_version, $required_mysql_version;
     43global $required_php_version, $required_mysql_version;
    4544
     45$wp_version = WP::get( 'wp_version' );
     46
    4647$step = (int) $step;
    4748
    4849$php_version    = phpversion();
  • src/wp-includes/class-http.php

     
    101101         * @access public
    102102         * @since 2.7.0
    103103         *
    104          * @global string $wp_version
    105          *
    106104         * @param string       $url  The request URL.
    107105         * @param string|array $args {
    108106         *     Optional. Array or string of HTTP request arguments.
     
    148146         *                        A WP_Error instance upon error.
    149147         */
    150148        public function request( $url, $args = array() ) {
    151                 global $wp_version;
    152 
    153149                $defaults = array(
    154150                        'method' => 'GET',
    155151                        /**
     
    185181                         *
    186182                         * @param string $user_agent WordPress user agent string.
    187183                         */
    188                         'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) ),
     184                        'user-agent' => apply_filters( 'http_headers_useragent', 'WordPress/' . WP::get( 'wp_version' ) . '; ' . get_bloginfo( 'url' ) ),
    189185                        /**
    190186                         * Filters whether to pass URLs through wp_http_validate_url() in an HTTP request.
    191187                         *
  • src/wp-includes/class-wp-container.php

     
     1<?php
     2
     3class WP_Container {
     4        private $data = array();
     5        private static $instance;
     6
     7        public static function instance() {
     8                if ( ! self::$instance ) {
     9                        self::$instance = new self;
     10                }
     11                return self::$instance;
     12        }
     13
     14        public function reset() {
     15                foreach ( $this->data as $name => $opts ) {
     16                        if ( ! $opts['global'] ) {
     17                                continue;
     18                        }
     19
     20                        unset( $GLOBALS[ $name ] );
     21                }
     22
     23                $this->data = array();
     24        }
     25
     26        public function get( $name ) {
     27                if ( ! $this->has( $name ) ) {
     28                        return;
     29                }
     30
     31                $data = $this->data[ $name ];
     32                if ( is_callable( $data['value'] ) ) {
     33                        return call_user_func_array( $data['value'], $data['args'] );
     34                }
     35                return $data['value'];
     36        }
     37
     38        public function has( $name ) {
     39                return array_key_exists( $name, $this->data );
     40        }
     41
     42        public function set( $name, $value, $opts = array() ) {
     43                $defaults = array(
     44                        'global' => false,
     45                        'mutable' => true,
     46                        'args' => array()
     47                );
     48
     49                foreach ( $defaults as $key => $val ) {
     50                        if ( array_key_exists( $key, $opts ) ) {
     51                                continue;
     52                        }
     53
     54                        $opts[ $key ] = $val;
     55                }
     56
     57                $opts['value'] = $value;
     58
     59                if ( $this->has( $name ) ) {
     60                        $data = $this->data[ $name ];
     61                        if ( ! $data['mutable'] ) {
     62                                return;
     63                        }
     64                }
     65
     66                $this->data[ $name ] = $opts;
     67                if ( $opts['global'] ) {
     68                        $GLOBALS[ $name ] = $value;
     69                }
     70        }
     71}
  • src/wp-includes/class-wp-editor.php

     
    296296        /**
    297297         * @static
    298298         *
    299          * @global string $wp_version
    300299         * @global string $tinymce_version
    301300         *
    302301         * @param string $editor_id
     
    303302         * @param array  $set
    304303         */
    305304        public static function editor_settings($editor_id, $set) {
    306                 global $wp_version, $tinymce_version;
     305                global $tinymce_version;
    307306
    308307                if ( empty(self::$first_init) ) {
    309308                        if ( is_admin() ) {
     
    559558                                }
    560559
    561560                                $suffix = SCRIPT_DEBUG ? '' : '.min';
    562                                 $version = 'ver=' . $wp_version;
     561                                $version = 'ver=' . WP::get( 'wp_version' );
    563562                                $dashicons = includes_url( "css/dashicons$suffix.css?$version" );
    564563
    565564                                // WordPress default stylesheet and dashicons
     
    11311130        /**
    11321131         *
    11331132         * @static
    1134          * @global string $wp_version
    11351133         * @global string $tinymce_version
    11361134         * @global bool   $concatenate_scripts
    11371135         * @global bool   $compress_scripts
    11381136         */
    11391137        public static function editor_js() {
    1140                 global $wp_version, $tinymce_version, $concatenate_scripts, $compress_scripts;
     1138                global $tinymce_version, $concatenate_scripts, $compress_scripts;
    11411139
    11421140                /**
    11431141                 * Filters "tiny_mce_version" is deprecated
     
    12151213
    12161214                $baseurl = self::$baseurl;
    12171215                // Load tinymce.js when running from /src, else load wp-tinymce.js.gz (production) or tinymce.min.js (SCRIPT_DEBUG)
    1218                 $mce_suffix = false !== strpos( $wp_version, '-src' ) ? '' : '.min';
     1216                $mce_suffix = false !== strpos( WP::get( 'wp_version' ), '-src' ) ? '' : '.min';
    12191217
    12201218                if ( $tmce_on ) {
    12211219                        if ( $compressed ) {
  • src/wp-includes/class-wp-locale.php

     
    125125         * @access private
    126126         *
    127127         * @global string $text_direction
    128          * @global string $wp_version
    129128         */
    130129        public function init() {
    131130                // The Weekdays
     
    231230                elseif ( 'rtl' == _x( 'ltr', 'text direction' ) )
    232231                        $this->text_direction = 'rtl';
    233232
    234                 if ( 'rtl' === $this->text_direction && strpos( $GLOBALS['wp_version'], '-src' ) ) {
     233                if ( 'rtl' === $this->text_direction && strpos( WP::get( 'wp_version' ), '-src' ) ) {
    235234                        $this->text_direction = 'ltr';
    236235                        add_action( 'all_admin_notices', array( $this, 'rtl_src_admin_notice' ) );
    237236                }
  • src/wp-includes/class-wp-xmlrpc-server.php

     
    413413         * Passes property through {@see 'xmlrpc_blog_options'} filter.
    414414         *
    415415         * @since 2.6.0
    416          *
    417          * @global string $wp_version
    418416         */
    419417        public function initialise_blog_option_info() {
    420                 global $wp_version;
    421 
    422418                $this->blog_options = array(
    423419                        // Read only options
    424420                        'software_name'     => array(
     
    429425                        'software_version'  => array(
    430426                                'desc'          => __( 'Software Version' ),
    431427                                'readonly'      => true,
    432                                 'value'         => $wp_version
     428                                'value'         => WP::get( 'wp_version' )
    433429                        ),
    434430                        'blog_url'          => array(
    435431                                'desc'          => __( 'WordPress Address (URL)' ),
     
    61866182         *
    61876183         * @since 1.5.0
    61886184         *
    6189          * @global string $wp_version
    6190          *
    61916185         * @param array  $args {
    61926186         *     Method arguments. Note: arguments must be ordered as documented.
    61936187         *
     
    61976191         * @return string|IXR_Error
    61986192         */
    61996193        public function pingback_ping( $args ) {
    6200                 global $wp_version;
    6201 
    62026194                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
    62036195                do_action( 'xmlrpc_call', 'pingback.ping' );
    62046196
     
    62856277                $remote_ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR'] );
    62866278
    62876279                /** This filter is documented in wp-includes/class-http.php */
    6288                 $user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' ) );
     6280                $user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . WP::get( 'wp_version' ) . '; ' . get_bloginfo( 'url' ) );
    62896281
    62906282                // Let's check the remote site
    62916283                $http_api_args = array(
  • src/wp-includes/class-wp.php

     
    737737                 */
    738738                do_action_ref_array( 'wp', array( &$this ) );
    739739        }
     740
     741        public static function get( $name ) {
     742                return WP_Container::instance()->get( $name );
     743        }
     744
     745        public static function set( $name, $value, $opts = array() ) {
     746                return WP_Container::instance()->set( $name, $value, $opts );
     747        }
    740748}
  • src/wp-includes/comment.php

     
    23622362 *
    23632363 * @since 0.71
    23642364 *
    2365  * @global string $wp_version
    2366  *
    23672365 * @param string $content Post content to check for links.
    23682366 * @param int $post_ID Post ID.
    23692367 */
    23702368function pingback($content, $post_ID) {
    2371         global $wp_version;
    2372 
    23732369        // original code by Mort (http://mort.mine.nu:8080)
    23742370        $post_links = array();
    23752371
     
    24352431                         * @param string $pagelinkedto        URL of page linked to.
    24362432                         * @param string $pagelinkedfrom      URL of page linked from.
    24372433                         */
    2438                         $client->useragent = apply_filters( 'pingback_useragent', $client->useragent . ' -- WordPress/' . $wp_version, $client->useragent, $pingback_server_url, $pagelinkedto, $pagelinkedfrom );
     2434                        $client->useragent = apply_filters( 'pingback_useragent', $client->useragent . ' -- WordPress/' . WP::get( 'wp_version' ), $client->useragent, $pingback_server_url, $pagelinkedto, $pagelinkedfrom );
    24392435                        // when set to true, this outputs debug messages by itself
    24402436                        $client->debug = false;
    24412437
     
    25042500 *
    25052501 * @since 1.2.0
    25062502 *
    2507  * @global string $wp_version
    2508  *
    25092503 * @param string $server Host of blog to connect to.
    25102504 * @param string $path Path to send the ping.
    25112505 */
    25122506function weblog_ping($server = '', $path = '') {
    2513         global $wp_version;
    2514 
    25152507        // using a timeout of 3 seconds should be enough to cover slow servers
    25162508        $client = new WP_HTTP_IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path));
    25172509        $client->timeout = 3;
    2518         $client->useragent .= ' -- WordPress/'.$wp_version;
     2510        $client->useragent .= ' -- WordPress/' . WP::get( 'wp_version' );
    25192511
    25202512        // when set to true, this outputs debug messages by itself
    25212513        $client->debug = false;
  • src/wp-includes/formatting.php

     
    49274927 * @ignore
    49284928 * @since 4.6.0
    49294929 * @access private
    4930  *
    4931  * @global string $wp_version WordPress version string.
    49324930 */
    49334931function _print_emoji_detection_script() {
    4934         global $wp_version;
    4935 
    49364932        $settings = array(
    49374933                /**
    49384934                 * Filters the URL where emoji png images are hosted.
     
    49714967                'svgExt' => apply_filters( 'emoji_svg_ext', '.svg' ),
    49724968        );
    49734969
    4974         $version = 'ver=' . $wp_version;
     4970        $version = 'ver=' . WP::get( 'wp_version' );
    49754971
    49764972        if ( SCRIPT_DEBUG ) {
    49774973                $settings['source'] = array(
  • src/wp-includes/general-template.php

     
    637637 *
    638638 * @since 0.71
    639639 *
    640  * @global string $wp_version
    641  *
    642640 * @param string $show   Optional. Site info to retrieve. Default empty (site name).
    643641 * @param string $filter Optional. How to filter what is retrieved. Default 'raw'.
    644642 * @return string Mostly string values, might be empty.
     
    705703                        $output = get_option('html_type');
    706704                        break;
    707705                case 'version':
    708                         global $wp_version;
    709                         $output = $wp_version;
     706                        $output = WP::get( 'wp_version' );
    710707                        break;
    711708                case 'language':
    712709                        /* translators: Translate this to the correct language tag for your locale,
     
    33443341 * Registers the default Admin color schemes
    33453342 *
    33463343 * @since 3.0.0
    3347  *
    3348  * @global string $wp_version
    33493344 */
    33503345function register_admin_color_schemes() {
    33513346        $suffix = is_rtl() ? '-rtl' : '';
     
    33583353        );
    33593354
    33603355        // Other color schemes are not available when running out of src
    3361         if ( false !== strpos( $GLOBALS['wp_version'], '-src' ) )
     3356        if ( false !== strpos( WP::get( 'wp_version' ), '-src' ) )
    33623357                return;
    33633358
    33643359        wp_admin_css_color( 'light', _x( 'Light', 'admin color scheme' ),
  • src/wp-includes/link-template.php

     
    28982898 * @since 2.6.0
    28992899 *
    29002900 * @global bool   $is_IE      Whether the browser matches an Internet Explorer user agent.
    2901  * @global string $wp_version WP version.
    2902  *
    2903  * @global bool          $is_IE
    2904  * @global string        $wp_version
    29052901 * @global WP_Press_This $wp_press_this
    29062902 *
    29072903 * @return string The Press This bookmarklet link URL.
    29082904 */
    29092905function get_shortcut_link() {
    2910         global $is_IE, $wp_version;
     2906        global $is_IE;
    29112907
    29122908        $GLOBALS['wp_press_this'] = new WP_Press_This();
    29132909        $bookmarklet_version = $GLOBALS['wp_press_this']->version;
  • src/wp-includes/load.php

     
    118118 * @access private
    119119 *
    120120 * @global string $required_php_version The required PHP version string.
    121  * @global string $wp_version           The WordPress version string.
    122121 */
    123122function wp_check_php_mysql_versions() {
    124         global $required_php_version, $wp_version;
     123        global $required_php_version;
    125124        $php_version = phpversion();
    126125
    127126        if ( version_compare( $required_php_version, $php_version, '>' ) ) {
     
    130129                $protocol = wp_get_server_protocol();
    131130                header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 );
    132131                header( 'Content-Type: text/html; charset=utf-8' );
    133                 die( sprintf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, $wp_version, $required_php_version ) );
     132                die( sprintf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, WP::get( 'wp_version' ), $required_php_version ) );
    134133        }
    135134
    136135        if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! extension_loaded( 'mysqlnd' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
  • src/wp-includes/media.php

     
    38103810 *
    38113811 * @since 4.0.0
    38123812 *
    3813  * @global string $wp_version
    3814  *
    38153813 * @return array The relevant CSS file URLs.
    38163814 */
    38173815function wpview_media_sandbox_styles() {
    3818         $version = 'ver=' . $GLOBALS['wp_version'];
     3816        $version = 'ver=' . WP::get( 'wp_version' );
    38193817        $mediaelement = includes_url( "js/mediaelement/mediaelementplayer.min.css?$version" );
    38203818        $wpmediaelement = includes_url( "js/mediaelement/wp-mediaelement.css?$version" );
    38213819
  • src/wp-includes/script-loader.php

     
    3636function wp_default_scripts( &$scripts ) {
    3737        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
    3838
     39        $wp_version = WP::get( 'wp_version' );
     40
    3941        $develop_src = false !== strpos( $wp_version, '-src' );
    4042
    4143        if ( ! defined( 'SCRIPT_DEBUG' ) ) {
     
    746748function wp_default_styles( &$styles ) {
    747749        include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version
    748750
    749         if ( ! defined( 'SCRIPT_DEBUG' ) )
     751        $wp_version = WP::get( 'wp_version' );
     752
     753        if ( ! defined( 'SCRIPT_DEBUG' ) ) {
    750754                define( 'SCRIPT_DEBUG', false !== strpos( $wp_version, '-src' ) );
     755        }
    751756
    752         if ( ! $guessurl = site_url() )
     757        if ( ! $guessurl = site_url() ) {
    753758                $guessurl = wp_guess_url();
     759        }
    754760
    755761        $styles->base_url = $guessurl;
    756762        $styles->content_url = defined('WP_CONTENT_URL')? WP_CONTENT_URL : '';
  • src/wp-includes/update.php

     
    1414 * isn't installing.
    1515 *
    1616 * @since 2.3.0
    17  * @global string $wp_version Used to check against the newest WordPress version.
    1817 * @global wpdb   $wpdb
    1918 * @global string $wp_local_package
    2019 *
     
    2928        global $wpdb, $wp_local_package;
    3029        // include an unmodified $wp_version
    3130        include( ABSPATH . WPINC . '/version.php' );
     31
     32        $wp_version = WP::get( 'wp_version' );
     33
    3234        $php_version = phpversion();
    3335
    3436        $current = get_site_transient( 'update_core' );
     
    183185 * api.wordpress.org. Will only check if WordPress isn't installing.
    184186 *
    185187 * @since 2.3.0
    186  * @global string $wp_version Used to notify the WordPress version.
    187188 *
    188189 * @param array $extra_stats Extra statistics to report to the WordPress.org API.
    189190 */
     
    195196        // include an unmodified $wp_version
    196197        include( ABSPATH . WPINC . '/version.php' );
    197198
     199        $wp_version = WP::get( 'wp_version' );
     200
    198201        // If running blog-side, bail unless we've not checked in the last 12 hours
    199202        if ( !function_exists( 'get_plugins' ) )
    200203                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
     
    360363        // include an unmodified $wp_version
    361364        include( ABSPATH . WPINC . '/version.php' );
    362365
     366        $wp_version = WP::get( 'wp_version' );
     367
    363368        $installed_themes = wp_get_themes();
    364369        $translations = wp_get_installed_translations( 'themes' );
    365370
     
    597602 * Determines whether core should be updated.
    598603 *
    599604 * @since 2.8.0
    600  *
    601  * @global string $wp_version
    602605 */
    603606function _maybe_update_core() {
    604607        // include an unmodified $wp_version
    605608        include( ABSPATH . WPINC . '/version.php' );
    606609
     610        $wp_version = WP::get( 'wp_version' );
     611
    607612        $current = get_site_transient( 'update_core' );
    608613
    609614        if ( isset( $current->last_checked, $current->version_checked ) &&
  • src/wp-includes/version.php

     
    55 * @global string $wp_version
    66 */
    77$wp_version = '4.7-alpha-38178-src';
    8 
     8WP::set( 'wp_version', $wp_version, array( 'global' => true ) );
    99/**
    1010 * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
    1111 *
  • src/wp-includes/wp-db.php

     
    616616         * @link https://core.trac.wordpress.org/ticket/3354
    617617         * @since 2.0.8
    618618         *
    619          * @global string $wp_version
    620          *
    621619         * @param string $dbuser     MySQL database user
    622620         * @param string $dbpassword MySQL database password
    623621         * @param string $dbname     MySQL database name
     
    640638                                $this->use_mysqli = ! WP_USE_EXT_MYSQL;
    641639                        } elseif ( version_compare( phpversion(), '5.5', '>=' ) || ! function_exists( 'mysql_connect' ) ) {
    642640                                $this->use_mysqli = true;
    643                         } elseif ( false !== strpos( $GLOBALS['wp_version'], '-' ) ) {
     641                        } elseif ( false !== strpos( WP::get( 'wp_version' ), '-' ) ) {
    644642                                $this->use_mysqli = true;
    645643                        }
    646644                }
     
    31963194         *
    31973195         * @since 2.5.0
    31983196         *
    3199          * @global string $wp_version
    32003197         * @global string $required_mysql_version
    32013198         *
    32023199         * @return WP_Error|void
    32033200         */
    32043201        public function check_database_version() {
    3205                 global $wp_version, $required_mysql_version;
     3202                global $required_mysql_version;
    32063203                // Make sure the server has the required MySQL version
    32073204                if ( version_compare($this->db_version(), $required_mysql_version, '<') )
    3208                         return new WP_Error('database_version', sprintf( __( '<strong>ERROR</strong>: WordPress %1$s requires MySQL %2$s or higher' ), $wp_version, $required_mysql_version ));
     3205                        return new WP_Error('database_version', sprintf( __( '<strong>ERROR</strong>: WordPress %1$s requires MySQL %2$s or higher' ), WP::get( 'wp_version' ), $required_mysql_version ));
    32093206        }
    32103207
    32113208        /**
  • src/wp-vendor/autoload_52.php

     
    44
    55require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
    66
    7 return ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9::getLoader();
     7return ComposerAutoloaderInit2f31acae96c6d487f86d469e989d96d5::getLoader();
  • src/wp-vendor/composer/autoload_classmap.php

     
    4444    'WP_Comment' => $baseDir . '/wp-includes/class-wp-comment.php',
    4545    'WP_Comment_Query' => $baseDir . '/wp-includes/class-wp-comment-query.php',
    4646    'WP_Comments_List_Table' => $baseDir . '/wp-admin/includes/class-wp-comments-list-table.php',
     47    'WP_Container' => $baseDir . '/wp-includes/class-wp-container.php',
    4748    'WP_Customize_Background_Image_Control' => $baseDir . '/wp-includes/customize/class-wp-customize-background-image-control.php',
    4849    'WP_Customize_Background_Image_Setting' => $baseDir . '/wp-includes/customize/class-wp-customize-background-image-setting.php',
    4950    'WP_Customize_Color_Control' => $baseDir . '/wp-includes/customize/class-wp-customize-color-control.php',
  • src/wp-vendor/composer/autoload_real_52.php

     
    22
    33// autoload_real_52.php generated by xrstf/composer-php52
    44
    5 class ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9 {
     5class ComposerAutoloaderInit2f31acae96c6d487f86d469e989d96d5 {
    66        private static $loader;
    77
    88        public static function loadClassLoader($class) {
     
    1919                        return self::$loader;
    2020                }
    2121
    22                 spl_autoload_register(array('ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9', 'loadClassLoader'), true /*, true */);
     22                spl_autoload_register(array('ComposerAutoloaderInit2f31acae96c6d487f86d469e989d96d5', 'loadClassLoader'), true /*, true */);
    2323                self::$loader = $loader = new xrstf_Composer52_ClassLoader();
    24                 spl_autoload_unregister(array('ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9', 'loadClassLoader'));
     24                spl_autoload_unregister(array('ComposerAutoloaderInit2f31acae96c6d487f86d469e989d96d5', 'loadClassLoader'));
    2525
    2626                $vendorDir = dirname(dirname(__FILE__));
    2727                $baseDir   = dirname($vendorDir);
  • tests/phpunit/tests/container.php

     
     1<?php
     2/**
     3 * @group container
     4 */
     5class Tests_WP_Container extends WP_UnitTestCase {
     6        public function setUp() {
     7                parent::setUp();
     8
     9                WP_Container::instance()->reset();
     10        }
     11
     12        public function test_get_unset() {
     13                $this->assertEmpty( WP::get( 'taco' )  );
     14        }
     15
     16        public function test_set_mutable_global() {
     17                WP::set( 'taco', 'carnitas', array(
     18                        'global' => true,
     19                ) );
     20
     21                $this->assertArrayHasKey( 'taco', $GLOBALS );
     22                $this->assertEquals( 'carnitas', $GLOBALS['taco'] );
     23                $this->assertEquals( 'carnitas', WP::get( 'taco' ) );
     24
     25                WP::set( 'taco', 'pollo', array(
     26                        'global' => true,
     27                ) );
     28
     29                $this->assertEquals( 'pollo', $GLOBALS['taco'] );
     30                $this->assertEquals( 'pollo', WP::get( 'taco' ) );
     31
     32                WP::set( 'taco', 'bistec' );
     33
     34                $this->assertEquals( 'pollo', $GLOBALS['taco'] );
     35                $this->assertEquals( 'bistec', WP::get( 'taco' ) );
     36        }
     37
     38        public function test_set_immutable_global() {
     39                WP::set( 'taco', 'carnitas', array(
     40                        'global' => true,
     41                        'mutable' => false
     42                ) );
     43
     44                $this->assertArrayHasKey( 'taco', $GLOBALS );
     45                $this->assertEquals( 'carnitas', $GLOBALS['taco'] );
     46                $this->assertEquals( 'carnitas', WP::get( 'taco' ) );
     47
     48                WP::set( 'taco', 'pollo' );
     49
     50                $this->assertEquals( 'carnitas', $GLOBALS['taco'] );
     51                $this->assertEquals( 'carnitas', WP::get( 'taco' ) );
     52        }
     53}
     54 No newline at end of file