Changeset 2611 for sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php
- Timestamp:
- 02/25/2016 05:03:19 AM (10 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-plugin-directory.php
r2561 r2611 1 1 <?php 2 namespace WordPressdotorg\Plugin_Directory; 3 2 4 /** 3 * @package WPorg_Plugin_Directory 5 * The main Plugin Directory class, it handles most of the bootstrap and basic operations of the plugin. 6 * 7 * @package WordPressdotorg_Plugin_Directory 4 8 */ 5 6 /** 7 * Class WPorg_Plugin_Directory 8 */ 9 class WPorg_Plugin_Directory { 10 11 /** 12 * Constructor. 13 */ 14 public function __construct() { 9 class Plugin_Directory { 10 11 /** 12 * Fetch the instance of the Plugin_Directory class. 13 */ 14 public static function instance( $plugin_file = null ) { 15 static $instance = null; 16 return ! is_null( $instance ) ? $instance : $instance = new Plugin_Directory( $plugin_file ); 17 } 18 19 private function __construct( $plugin_file ) { 15 20 add_action( 'init', array( $this, 'init' ) ); 21 add_action( 'init', array( $this, 'register_shortcodes' ) ); 16 22 add_filter( 'post_type_link', array( $this, 'package_link' ), 10, 2 ); 17 23 add_filter( 'pre_insert_term', array( $this, 'pre_insert_term_prevent' ) ); 18 24 add_action( 'pre_get_posts', array( $this, 'use_plugins_in_query' ) ); 19 25 add_filter( 'the_content', array( $this, 'filter_post_content_to_correct_page' ), 1 ); 20 } 21 22 /** 23 * @global WP_Rewrite $wp_rewrite WordPress rewrite component. 24 */ 25 public function activate() { 26 global $wp_rewrite; 27 28 // Setup the environment. 29 $this->init(); 30 31 // %postname% is required. 32 $wp_rewrite->set_permalink_structure( '/%postname%/' ); 33 34 // /tags/%slug% is required for tags. 35 $wp_rewrite->set_tag_base( '/tags' ); 36 37 // We require the WordPress.org Ratings plugin also be active. 38 if ( ! is_plugin_active( 'wporg-ratings/wporg-ratings.php' ) ) { 39 activate_plugin( 'wporg-ratings/wporg-ratings.php' ); 40 } 41 42 // Enable the WordPress.org Plugin Repo Theme. 43 foreach ( wp_get_themes() as $theme ) { 44 if ( $theme->get( 'Name' ) === 'WordPress.org Plugins' ) { 45 switch_theme( $theme->get_stylesheet() ); 46 break; 47 } 48 } 49 50 flush_rewrite_rules(); 51 52 do_action( 'wporg_plugins_activation' ); 53 } 54 55 /** 56 * 57 */ 58 public function deactivate() { 59 flush_rewrite_rules(); 60 61 do_action( 'wporg_plugins_deactivation' ); 26 27 // Load all Admin-specific items 28 add_action( 'admin_init', array( __NAMESPACE__ . '\\Admin\\Admin_Customizations', 'instance' ) ); 29 30 register_activation_hook( $plugin_file, array( $this, 'activate' ) ); 31 register_deactivation_hook( $plugin_file, array( $this, 'deactivate' ) ); 62 32 } 63 33 … … 130 100 131 101 /** 102 * Register the Shortcodes used within the content. 103 */ 104 public function register_shortcodes() { 105 add_shortcode( 'wporg-plugins-screenshots', array( __NAMESPACE__ . '\\Shortcodes\\Screenshots', 'display' ) ); 106 // add_shortcode( 'wporg-plugins-stats', array( __NAMESPACE__ . '\\Shortcodes\\Stats', 'display' ) ); 107 // add_shortcode( 'wporg-plugins-developer', array( __NAMESPACE__ . '\\Shortcodes\\Developer', 'display' ) ); 108 } 109 110 /** 111 * @global WP_Rewrite $wp_rewrite WordPress rewrite component. 112 */ 113 public function activate() { 114 global $wp_rewrite; 115 116 // Setup the environment. 117 $this->init(); 118 119 // %postname% is required. 120 $wp_rewrite->set_permalink_structure( '/%postname%/' ); 121 122 // /tags/%slug% is required for tags. 123 $wp_rewrite->set_tag_base( '/tags' ); 124 125 // We require the WordPress.org Ratings plugin also be active. 126 if ( ! is_plugin_active( 'wporg-ratings/wporg-ratings.php' ) ) { 127 activate_plugin( 'wporg-ratings/wporg-ratings.php' ); 128 } 129 130 // Enable the WordPress.org Plugin Repo Theme. 131 foreach ( wp_get_themes() as $theme ) { 132 if ( $theme->get( 'Name' ) === 'WordPress.org Plugins' ) { 133 switch_theme( $theme->get_stylesheet() ); 134 break; 135 } 136 } 137 138 flush_rewrite_rules(); 139 140 do_action( 'wporg_plugins_activation' ); 141 } 142 143 /** 144 * 145 */ 146 public function deactivate() { 147 flush_rewrite_rules(); 148 149 do_action( 'wporg_plugins_deactivation' ); 150 } 151 152 /** 132 153 * The Plugin Directory is available at multiple URLs (internationalised domains), this method allows 133 154 * for the one blog (a single blog_id) to be presented at multiple URLs yet have correct localised links. … … 303 324 */ 304 325 public function get_plugin_post( $plugin_slug ) { 305 if ( $plugin_slug instanceof WP_Post ) {326 if ( $plugin_slug instanceof \WP_Post ) { 306 327 return $plugin_slug; 307 328 }
Note: See TracChangeset
for help on using the changeset viewer.