/** * Access this class's working instance. * If the instance hasn't been set, set it now. * * @wp-hook void * @uses void * @since 2.0.0 * @return object of this class */ public static function get_instance() { if (null == self::$instance) { self::$instance = new self(); } return self::$instance; }
/** * Our class router. * * Only loads the code required for a given page view. * * Fully separates admin requests from the front-end, and also NextGEN * Legacy code from NextGEN v2.0. * * @wp-hook void * @uses is_admin() * @since 2.0.0 * @return null|void */ function route_request() { if (is_admin()) { if (basename($_SERVER['PHP_SELF']) == 'plugins.php' && !is_array($this->db)) { // Redirect to settings page on first activation. add_action('init', array($this, 'redirect_to_settings_page')); } // Include and instantiate our main admin class. require_once $this->plugin_dir_path . 'admin/class-' . $this->prefix . '-admin.php'; $instance = NGGOBASIC_Admin::get_instance(); $instance->init(); } if (!is_admin()) { if ($this->nextgen_v1) { require_once $this->plugin_dir_path . 'public/nextgen-v1/class-' . $this->prefix . '-optimize-nextgen-v1.php'; $instance = NGGOBASIC_Optimize_NextGEN_V1::get_instance(); $instance->init(); add_action('init', array($this, 'remove_nextgen_v1_version')); add_action('wp_head', array($this, 'add_nextgen_v1_version')); } if ($this->nextgen_v2) { if ($this->db['fancybox']) { require_once $this->plugin_dir_path . 'public/nextgen-v2/class-' . $this->prefix . '-register-fancybox-nextgen-v2.php'; $instance = NGGOBASIC_Register_Fancybox_NextGEN_V2::get_instance(); $instance->init(); } if ($this->db['optimize_front_end'] || $this->db['optimize_gallery_pages']) { // Optional settings for NextGEN 2.0. require_once $this->plugin_dir_path . 'public/nextgen-v2/class-' . $this->prefix . '-optimize-nextgen-v2.php'; $instance = NGGOBASIC_Optimize_NextGEN_V2::get_instance(); $instance->init(); } // Add our version to NextGEN's inline version comment, for easier debugging for both developers. add_filter('show_nextgen_version', array($this, 'filter_nextgen_v2_version')); } } }