diff --git a/badged/admin/class-badged-admin.php b/badged/admin/class-badged-admin.php index d6209ba..7761148 100755 --- a/badged/admin/class-badged-admin.php +++ b/badged/admin/class-badged-admin.php @@ -13,11 +13,28 @@ * Plugin class. * * - * @package Badged_Admin + * @package Badged * @author Matthias Kretschmann */ -class Badged_Admin { +class Badged { + + /** + * Plugin version, used for cache-busting of style and script file references. + * + * @since 2.0.0 + * @var string + */ + const VERSION = '2.0.0'; + /** + * + * Unique identifier. + * + * @since 2.0.0 + * @var string + */ + protected $plugin_slug = 'badged'; + /** * Instance of this class. * @@ -42,8 +59,11 @@ class Badged_Admin { */ private function __construct() { - $plugin = Badged::get_instance(); - $this->plugin_slug = $plugin->get_plugin_slug(); + // Load plugin text domain + add_action( 'init', array( $this, 'load_plugin_textdomain' ) ); + + // Activate plugin when new blog is added + add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) ); // Load admin style sheet add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) ); @@ -63,13 +83,18 @@ class Badged_Admin { // Add an action link pointing to the options page. $plugin_basename = plugin_basename( plugin_dir_path( __DIR__ ) . $this->plugin_slug . '.php' ); add_filter( 'plugin_action_links_' . $plugin_basename, array( $this, 'add_action_links' ) ); - - /* - * Do Custom Stuff - * - */ } + + /** + * Return the plugin slug. + * + * @since 2.0.0 + *@return Plugin slug variable. + */ + public function get_plugin_slug() { + return $this->plugin_slug; + } /** * Return an instance of this class. @@ -86,6 +111,152 @@ class Badged_Admin { return self::$instance; } + + /** + * Fired when the plugin is activated. + * + * @since 2.0.0 + * @param boolean $network_wide True if WPMU superadmin uses + * "Network Activate" action, false if + * WPMU is disabled or plugin is + * activated on an individual blog. + */ + public static function activate( $network_wide ) { + + if ( function_exists( 'is_multisite' ) && is_multisite() ) { + + if ( $network_wide ) { + + // Get all blog ids + $blog_ids = self::get_blog_ids(); + + foreach ( $blog_ids as $blog_id ) { + + switch_to_blog( $blog_id ); + self::single_activate(); + } + + restore_current_blog(); + + } else { + self::single_activate(); + } + + } else { + self::single_activate(); + } + + } + + /** + * Fired when the plugin is deactivated. + * + * @since 2.0.0 + * @param boolean $network_wide True if WPMU superadmin uses + * "Network Deactivate" action, false if + * WPMU is disabled or plugin is + * deactivated on an individual blog. + */ + public static function deactivate( $network_wide ) { + + if ( function_exists( 'is_multisite' ) && is_multisite() ) { + + if ( $network_wide ) { + + // Get all blog ids + $blog_ids = self::get_blog_ids(); + + foreach ( $blog_ids as $blog_id ) { + + switch_to_blog( $blog_id ); + self::single_deactivate(); + + } + + restore_current_blog(); + + } else { + self::single_deactivate(); + } + + } else { + self::single_deactivate(); + } + + } + + /** + * Fired when a new site is activated with a WPMU environment. + * + * @since 2.0.0 + * @param int $blog_id ID of the new blog. + */ + public function activate_new_site( $blog_id ) { + + if ( 1 !== did_action( 'wpmu_new_blog' ) ) { + return; + } + + switch_to_blog( $blog_id ); + self::single_activate(); + restore_current_blog(); + + } + + /** + * Get all blog ids of blogs in the current network that are: + * - not archived + * - not spam + * - not deleted + * + * @since 2.0.0 + * @return array|false The blog ids, false if no matches. + */ + private static function get_blog_ids() { + + global $wpdb; + + // get an array of blog ids + $sql = "SELECT blog_id FROM $wpdb->blogs + WHERE archived = '0' AND spam = '0' + AND deleted = '0'"; + + return $wpdb->get_col( $sql ); + + } + + /** + * Fired for each blog when the plugin is activated. + * + * @since 2.0.0 + */ + private static function single_activate() { + // TODO: Define deactivation functionality here + } + + /** + * Fired for each blog when the plugin is deactivated. + * + * @since 2.0.0 + */ + private static function single_deactivate() { + // TODO: Define deactivation functionality here + } + + /** + * Load the plugin text domain for translation. + * + * @since 2.0.0 + */ + public function load_plugin_textdomain() { + + $domain = $this->plugin_slug; + $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); + + load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . '/' . $domain . '-' . $locale . '.mo' ); + load_plugin_textdomain( $domain, FALSE, basename( BADGED_PATH ) . '/languages/' ); + + } /** * Register and enqueue admin-specific style sheet. @@ -149,7 +320,7 @@ class Badged_Admin { public function badged_default_settings() { $defaults = array( - 'style' => 'ios7' + 'style' => 'ios7' ); return apply_filters( 'badged_default_settings', $defaults ); diff --git a/badged/badged.php b/badged/badged.php index e463f4c..4b7b4c9 100644 --- a/badged/badged.php +++ b/badged/badged.php @@ -72,22 +72,12 @@ if ( ! defined( 'BADGED_BASENAME' ) ){ * */ -// -// Public Stuff -// -require_once( BADGED_PATH . '/public/class-badged.php' ); - -register_activation_hook( $badged_plugin_file, array( 'Badged', 'activate' ) ); -register_deactivation_hook( $badged_plugin_file, array( 'Badged', 'deactivate' ) ); - -add_action( 'plugins_loaded', array( 'Badged', 'get_instance' ) ); - -// -// Admin Stuff -// if ( is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) { - + require_once( BADGED_PATH . '/admin/class-badged-admin.php' ); - add_action( 'plugins_loaded', array( 'Badged_Admin', 'get_instance' ) ); + add_action( 'plugins_loaded', array( 'Badged', 'get_instance' ) ); + + register_activation_hook( $badged_plugin_file, array( 'Badged', 'activate' ) ); + register_deactivation_hook( $badged_plugin_file, array( 'Badged', 'deactivate' ) ); } diff --git a/badged/public/class-badged.php b/badged/public/class-badged.php deleted file mode 100755 index 1fc7681..0000000 --- a/badged/public/class-badged.php +++ /dev/null @@ -1,235 +0,0 @@ - - * @license GPL-2.0+ - * @link http://kremalicious.com/badged/ - * @copyright 2013 Matthias Kretschmann - */ - -/** - * Plugin class. - * - * @package Badged - * @author Matthias Kretschmann - */ -class Badged { - - /** - * Plugin version, used for cache-busting of style and script file references. - * - * @since 2.0.0 - * @var string - */ - const VERSION = '2.0.0'; - - /** - * - * Unique identifier. - * - * @since 2.0.0 - * @var string - */ - protected $plugin_slug = 'badged'; - - /** - * Instance of this class. - * - * @since 2.0.0 - * @var object - */ - protected static $instance = null; - - /** - * Initialize the plugin by setting localization and loading public scripts - * and styles. - * - * @since 2.0.0 - */ - private function __construct() { - - // Load plugin text domain - add_action( 'init', array( $this, 'load_plugin_textdomain' ) ); - - // Activate plugin when new blog is added - add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) ); - - } - - /** - * Return the plugin slug. - * - * @since 2.0.0 - *@return Plugin slug variable. - */ - public function get_plugin_slug() { - return $this->plugin_slug; - } - - /** - * Return an instance of this class. - * - * @since 2.0.0 - * @return object A single instance of this class. - */ - public static function get_instance() { - - // If the single instance hasn't been set, set it now. - if ( null == self::$instance ) { - self::$instance = new self; - } - - return self::$instance; - } - - /** - * Fired when the plugin is activated. - * - * @since 2.0.0 - * @param boolean $network_wide True if WPMU superadmin uses - * "Network Activate" action, false if - * WPMU is disabled or plugin is - * activated on an individual blog. - */ - public static function activate( $network_wide ) { - - if ( function_exists( 'is_multisite' ) && is_multisite() ) { - - if ( $network_wide ) { - - // Get all blog ids - $blog_ids = self::get_blog_ids(); - - foreach ( $blog_ids as $blog_id ) { - - switch_to_blog( $blog_id ); - self::single_activate(); - } - - restore_current_blog(); - - } else { - self::single_activate(); - } - - } else { - self::single_activate(); - } - - } - - /** - * Fired when the plugin is deactivated. - * - * @since 2.0.0 - * @param boolean $network_wide True if WPMU superadmin uses - * "Network Deactivate" action, false if - * WPMU is disabled or plugin is - * deactivated on an individual blog. - */ - public static function deactivate( $network_wide ) { - - if ( function_exists( 'is_multisite' ) && is_multisite() ) { - - if ( $network_wide ) { - - // Get all blog ids - $blog_ids = self::get_blog_ids(); - - foreach ( $blog_ids as $blog_id ) { - - switch_to_blog( $blog_id ); - self::single_deactivate(); - - } - - restore_current_blog(); - - } else { - self::single_deactivate(); - } - - } else { - self::single_deactivate(); - } - - } - - /** - * Fired when a new site is activated with a WPMU environment. - * - * @since 2.0.0 - * @param int $blog_id ID of the new blog. - */ - public function activate_new_site( $blog_id ) { - - if ( 1 !== did_action( 'wpmu_new_blog' ) ) { - return; - } - - switch_to_blog( $blog_id ); - self::single_activate(); - restore_current_blog(); - - } - - /** - * Get all blog ids of blogs in the current network that are: - * - not archived - * - not spam - * - not deleted - * - * @since 2.0.0 - * @return array|false The blog ids, false if no matches. - */ - private static function get_blog_ids() { - - global $wpdb; - - // get an array of blog ids - $sql = "SELECT blog_id FROM $wpdb->blogs - WHERE archived = '0' AND spam = '0' - AND deleted = '0'"; - - return $wpdb->get_col( $sql ); - - } - - /** - * Fired for each blog when the plugin is activated. - * - * @since 2.0.0 - */ - private static function single_activate() { - // update_option('menu', 'yes'); -// update_option('bar', 'no'); -// update_option('ios6', 'yes'); - } - - /** - * Fired for each blog when the plugin is deactivated. - * - * @since 2.0.0 - */ - private static function single_deactivate() { - // TODO: Define deactivation functionality here - } - - /** - * Load the plugin text domain for translation. - * - * @since 2.0.0 - */ - public function load_plugin_textdomain() { - - $domain = $this->plugin_slug; - $locale = apply_filters( 'plugin_locale', get_locale(), $domain ); - - load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . '/' . $domain . '-' . $locale . '.mo' ); - load_plugin_textdomain( $domain, FALSE, basename( BADGED_PATH ) . '/languages/' ); - - } - -}