* @link https://github.com/robincornett/display-featured-image-genesis/ * @copyright 2014 Robin Cornett * @license GPL-2.0+ */ /** * Main plugin class. * * @package DisplayFeaturedImageGenesis */ class Display_Featured_Image_Genesis { function __construct( $admin, $common, $cpt, $description, $output, $rss, $settings, $taxonomies ) { $this->admin = $admin; $this->common = $common; $this->cpt = $cpt; $this->archive = $description; $this->output = $output; $this->rss = $rss; $this->settings = $settings; $this->taxonomies = $taxonomies; } public function run() { if ( 'genesis' !== basename( get_template_directory() ) ) { add_action( 'admin_init', array( $this, 'deactivate' ) ); add_action( 'admin_notices', array( $this, 'error_message' ) ); return; } add_action( 'init', array( $this, 'add_plugin_supports' ) ); add_action( 'admin_init', array( $this, 'check_settings' ) ); add_action( 'admin_init', array( $this->taxonomies, 'set_taxonomy_meta' ) ); add_action( 'admin_init', array( $this->admin, 'set_up_columns' ) ); add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) ); add_action( 'admin_menu', array( $this->settings, 'do_submenu_page' ) ); add_action( 'admin_menu', array( $this->cpt, 'set_up_cpts' ) ); add_action( 'get_header', array( $this->output, 'manage_output' ) ); add_action( 'template_redirect', array( $this->rss, 'maybe_do_feed' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); } /** * deactivates the plugin if Genesis isn't running * * @since 1.1.2 * */ public function deactivate() { if ( version_compare( PHP_VERSION, '5.3', '>=' ) ) { deactivate_plugins( plugin_basename( dirname( __DIR__ ) ) . '/display-featured-image-genesis.php' ); // __DIR__ is a magic constant introduced in PHP 5.3 } else { deactivate_plugins( plugin_basename( dirname( dirname( __FILE__ ) ) ) . '/display-featured-image-genesis.php' ); } } /** * Error message if we're not using the Genesis Framework. * * @since 1.1.0 */ public function error_message() { $error = sprintf( __( 'Sorry, Display Featured Image for Genesis works only with the Genesis Framework. It has been deactivated.', 'display-featured-image-genesis' ) ); if ( version_compare( PHP_VERSION, '5.3', '<' ) ) { $error = $error . sprintf( __( ' But since we\'re talking anyway, did you know that your server is running PHP version %1$s, which is outdated? You should ask your host to update that for you.', 'display-featured-image-genesis' ), PHP_VERSION ); } echo '
' . $error . '