| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- <?php
- /**
- * Featured Image Admin Thumb.
- *
- * @package Featured_Image_Admin_Thumb
- * @author Sean Hayes <sean@seanhayes.biz>
- * @license GPL-2.0+
- * @link http://www.seanhayes.biz
- * @copyright 2014 Sean Hayes
- */
- /**
- * Plugin class. This class should ideally be used to work with the
- * public-facing side of the WordPress site.
- *
- * If you're interested in introducing administrative or dashboard
- * functionality, then refer to `class-featured-image-admin-thumb-admin.php`
- *
- *
- * @package Featured_Image_Admin_Thumb
- * Sean Hayes <sean@seanhayes.biz>
- */
- class Featured_Image_Admin_Thumb {
- /**
- * Plugin version, used for cache-busting of style and script file references.
- *
- * @since 1.0.0
- *
- * @var string
- */
- const VERSION = '1.6';
- /**
- *
- * Unique identifier for your plugin.
- *
- *
- * The variable name is used as the text domain when internationalizing strings
- * of text. Its value should match the Text Domain file header in the main
- * plugin file.
- *
- * @since 1.0.0
- *
- * @var string
- */
- protected $plugin_slug = 'featured-image-admin-thumb-fiat';
- /**
- * Instance of this class.
- *
- * @since 1.0.0
- *
- * @var object
- */
- protected static $instance = null;
- /**
- * Initialize the plugin by setting localization and loading public scripts
- * and styles.
- *
- * @since 1.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 1.0.0
- *
- * @return string Plugin slug variable.
- */
- public function get_plugin_slug() {
- return $this->plugin_slug;
- }
- /**
- * Return an instance of this class.
- *
- * @since 1.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 1.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 1.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 1.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 1.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 1.0.0
- */
- private static function single_activate() {
- // @TODO: Define activation functionality here
- }
- /**
- * Fired for each blog when the plugin is deactivated.
- *
- * @since 1.0.0
- */
- private static function single_deactivate() {
- // @TODO: Define deactivation functionality here
- }
- /**
- * Load the plugin text domain for translation.
- *
- * @since 1.0.0
- */
- public function load_plugin_textdomain() {
- load_plugin_textdomain(
- $this->plugin_slug,
- false,
- dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages/'
- );
- }
- /**
- * Register and enqueue public-facing style sheet.
- *
- * @since 1.0.0
- */
- public function enqueue_styles() {
- wp_enqueue_style( $this->plugin_slug . '-plugin-styles', plugins_url( 'assets/css/public.css', __FILE__ ), array(), self::VERSION );
- }
- /**
- * Register and enqueues public-facing JavaScript files.
- *
- * @since 1.0.0
- */
- public function enqueue_scripts() {
- wp_enqueue_script( $this->plugin_slug . '-plugin-script', plugins_url( 'assets/js/public.js', __FILE__ ), array( 'jquery' ), self::VERSION );
- }
- }
|