/**
  * Returns an instance of this class. An implementation of the singleton design patterns.
  * 
  * @return Zoo_Settings A reference to an instance of this class.
  */
 public static function getInstance()
 {
     if (!isset(self::$_instance)) {
         self::$_instance = new Zoo_Settings();
     }
     return self::$_instance;
 }
 /**
  * Initializes the plugin by setting localization, filters and administrator functions.
  */
 function __construct()
 {
     $this->plugin_slug = 'classified-ads';
     // Grab the translation for the plugin.
     add_action('init', array($this, 'loadPluginTextdomain'));
     // check for dependency
     if (class_exists('wp_directory') && class_exists('imcron_controller') && is_plugin_active('cmb2/init.php')) {
         // init scripts
         add_action('wp_enqueue_scripts', array($this, 'initScripts'));
         if (is_admin()) {
             // backend scripts
             add_action('admin_enqueue_scripts', array($this, 'backendScripts'));
             // meta boxes for classified post type
             require_once 'includes/classified-post-meta-boxes.php';
             // Zoo Property Settings page
             require_once 'zoo-settings.php';
             Zoo_Settings::getInstance();
         }
     } else {
         add_action('admin_notices', array($this, 'plugin_required_notice'));
     }
 }