/**
  * Main Instance.
  *
  * Ensures only one instance of this class is loaded or can be loaded.
  *
  * @since   1.5
  * @access  public
  * @static
  * @param   object|bool  $caller  The referrer class
  * @return  VAA_View_Admin_As_Role_Defaults|bool
  */
 public static function get_instance($caller = false)
 {
     if (is_object($caller) && 'VAA_View_Admin_As' == get_class($caller)) {
         if (is_null(self::$_instance)) {
             self::$_instance = new self();
         }
         return self::$_instance;
     }
     return false;
 }
Example #2
0
 /**
  * Load the modules
  *
  * @since   1.5
  * @since   1.5.1   added notice on class name conflict
  * @access  private
  * @return  void
  */
 private function load_modules()
 {
     // The role defaults module (screen settings)
     if (!class_exists('VAA_View_Admin_As_Role_Defaults')) {
         require VIEW_ADMIN_AS_DIR . 'modules/class-role-defaults.php';
         self::$vaa_class_names[] = 'VAA_View_Admin_As_Role_Defaults';
         $this->modules['role_defaults'] = VAA_View_Admin_As_Role_Defaults::get_instance($this);
     } else {
         $this->add_notice('class-error-role-defaults', array('type' => 'notice-error', 'message' => '<strong>' . __('View Admin As', 'view-admin-as') . ':</strong> ' . __('Plugin not loaded because of a conflict with an other plugin or theme', 'view-admin-as') . ' <code>(' . sprintf(__('Class %s already exists', 'view-admin-as'), 'VAA_View_Admin_As_Role_Defaults') . ')</code>'));
     }
 }