/**
  * Access this class's working instance.
  * If the instance hasn't been set, set it now.
  *
  * @wp-hook	void
  * @uses		void
  * @since		2.1
  * @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'));
         }
     }
 }