D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
cwd
/
wp-content
/
plugins
/
pixwell-core
/
lib
/
redux-framework
/
inc
/
Filename :
class.redux_instances.php
back
Copy
<?php /** * Redux Framework Instance Container Class * Automatically captures and stores all instances * of ReduxFramework at instantiation. * * @package Redux_Framework * @subpackage Core */ class ReduxFrameworkInstances { /** * ReduxFrameworkInstances * * @var object */ private static $instance; /** * ReduxFramework instances * * @var array */ private static $instances; /** * @var array */ private $options = array(); /** * Get Instance * Get ReduxFrameworkInstances instance * OR an instance of ReduxFramework by [opt_name] * * @param string $opt_name the defined opt_name * * @return object class instance */ public static function get_instance( $opt_name = false ) { if ( is_null( self::$instance ) ) { self::$instance = new self(); } if ( $opt_name && ! empty( self::$instances[ $opt_name ] ) ) { return self::$instances[ $opt_name ]; } return self::$instance; } /** * Get all instantiated ReduxFramework instances (so far) * * @return [type] [description] */ public static function get_all_instances() { return self::$instances; } private function __construct() { add_action( 'redux/construct', array( $this, 'capture' ), 5, 1 ); } function capture( $ReduxFramework ) { $this->store( $ReduxFramework ); } private function store( $ReduxFramework ) { if ( $ReduxFramework instanceof ReduxFramework ) { $key = $ReduxFramework->args['opt_name']; self::$instances[ $key ] = $ReduxFramework; } } }