diff --git src/wp-admin/includes/plugin.php src/wp-admin/includes/plugin.php
index 233d990..f26637c 100644
|
|
|
|
| 46 | 46 | * - 'TextDomain' - Plugin's text domain for localization. |
| 47 | 47 | * - 'DomainPath' - Plugin's relative directory path to .mo files. |
| 48 | 48 | * - 'Network' - Boolean. Whether the plugin can only be activated network wide. |
| | 49 | * - 'Private' - Boolean. Whether the plugin should be excluded from update checks. |
| 49 | 50 | * |
| 50 | 51 | * Some users have issues with opening large files and manipulating the contents |
| 51 | 52 | * for want is usually the first 1kiB or 2kiB. This function stops pulling in |
| … |
… |
function get_plugin_data( $plugin_file, $markup = true, $translate = true ) { |
| 81 | 82 | 'TextDomain' => 'Text Domain', |
| 82 | 83 | 'DomainPath' => 'Domain Path', |
| 83 | 84 | 'Network' => 'Network', |
| | 85 | 'Private' => 'Private', |
| 84 | 86 | // Site Wide Only is deprecated in favor of Network. |
| 85 | 87 | '_sitewide' => 'Site Wide Only', |
| 86 | 88 | ); |
| … |
… |
function get_plugin_data( $plugin_file, $markup = true, $translate = true ) { |
| 95 | 97 | $plugin_data['Network'] = ( 'true' == strtolower( $plugin_data['Network'] ) ); |
| 96 | 98 | unset( $plugin_data['_sitewide'] ); |
| 97 | 99 | |
| | 100 | $plugin_data['Private'] = ( 'true' == strtolower( $plugin_data['Private'] ) ); |
| | 101 | |
| 98 | 102 | if ( $markup || $translate ) { |
| 99 | 103 | $plugin_data = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup, $translate ); |
| 100 | 104 | } else { |
diff --git src/wp-includes/class-wp-theme.php src/wp-includes/class-wp-theme.php
index ad70a4b..223040a 100644
|
|
|
final class WP_Theme implements ArrayAccess { |
| 27 | 27 | 'Tags' => 'Tags', |
| 28 | 28 | 'TextDomain' => 'Text Domain', |
| 29 | 29 | 'DomainPath' => 'Domain Path', |
| | 30 | 'Private' => 'Private', |
| 30 | 31 | ); |
| 31 | 32 | |
| 32 | 33 | /** |
| … |
… |
final class WP_Theme implements ArrayAccess { |
| 565 | 566 | * @since 3.4.0 |
| 566 | 567 | * @access public |
| 567 | 568 | * |
| 568 | | * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags. |
| | 569 | * @param string $header Theme header. Name, Description, Author, Version, ThemeURI, AuthorURI, Status, Tags, Private. |
| 569 | 570 | * @return string|false String on success, false on failure. |
| 570 | 571 | */ |
| 571 | 572 | public function get( $header ) { |
| … |
… |
final class WP_Theme implements ArrayAccess { |
| 670 | 671 | case 'AuthorURI' : |
| 671 | 672 | $value = esc_url_raw( $value ); |
| 672 | 673 | break; |
| | 674 | case 'Private' : |
| | 675 | $value = 'true' === strtolower( $value ); |
| | 676 | break; |
| 673 | 677 | case 'Tags' : |
| 674 | 678 | $value = array_filter( array_map( 'trim', explode( ',', strip_tags( $value ) ) ) ); |
| 675 | 679 | break; |
diff --git src/wp-includes/update.php src/wp-includes/update.php
index c39322e..19ceef5 100644
|
|
|
function wp_update_plugins( $extra_stats = array() ) { |
| 200 | 200 | require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
| 201 | 201 | |
| 202 | 202 | $plugins = get_plugins(); |
| | 203 | |
| | 204 | // Omit private plugins |
| | 205 | foreach ( $plugins as $file => $p ) { |
| | 206 | if ( $p['Private'] ) { |
| | 207 | unset( $plugins[$file] ); |
| | 208 | } |
| | 209 | } |
| | 210 | |
| 203 | 211 | $translations = wp_get_installed_translations( 'plugins' ); |
| 204 | 212 | |
| 205 | 213 | $active = get_option( 'active_plugins', array() ); |
| … |
… |
function wp_update_themes( $extra_stats = array() ) { |
| 366 | 374 | foreach ( $installed_themes as $theme ) { |
| 367 | 375 | $checked[ $theme->get_stylesheet() ] = $theme->get('Version'); |
| 368 | 376 | |
| | 377 | // Omit private themes |
| | 378 | if ( $theme->get('Private') ) { |
| | 379 | continue; |
| | 380 | } |
| | 381 | |
| 369 | 382 | $themes[ $theme->get_stylesheet() ] = array( |
| 370 | 383 | 'Name' => $theme->get('Name'), |
| 371 | 384 | 'Title' => $theme->get('Name'), |