--- /dev/null
+<?php
+namespace GlmAssociate\Config;
+/**
+ * configRegistry.php
+ *
+ * PHP version 5.2
+ *
+ * @category Classes
+ * @package Config Registry
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2019 Gaslight Media
+ * @license Gaslight Media
+ * @version SVN: $Id$
+ * @link <>
+ */
+
+/**
+ * configRegistry.php class to hold objects for access anywhere. Think of the Registry
+ * as a key/value store. With the key being an identifier for an instance of an
+ * object, and the value being the instance itself.
+ *
+ * @category CommonApps
+ * @package Registry
+ * @author Steve Sutton <steve@gaslightmedia.com>
+ * @copyright 2019 Gaslight Media
+ * @license Gaslight Media
+ * @version Release: 1.0
+ * @link <>
+ */
+class GlmConfig
+{
+ private $_store;
+
+ public function __construct( $data )
+ {
+ $this->_store = $data;
+ }
+
+ public function getConfig()
+ {
+ return $this->_store;
+ }
+}
+
+class Registry
+{
+ static private $_store = array();
+
+ /**
+ * Add a object to the Registry::_store
+ *
+ * @param object $object Object
+ * @param object $name Name of object key
+ *
+ * @return object
+ */
+ static public function add( $object, $name = null )
+ {
+ // Use the class name if no name given, simulates singleton
+ $name = ( !\is_null( $name ) ) ? $name: \get_class( $object );
+
+ \trigger_error( $name, E_USER_NOTICE );
+
+ $return = null;
+ if ( isset( self::$_store[$name] ) ) {
+ // Store the old object for returning
+ $return = self::$_store[$name];
+ }
+
+ self::$_store[$name] = $object;
+ return $return;
+ }
+
+ /**
+ * get the object from the Registry::_store
+ *
+ * @param type $name Name of the object key
+ *
+ * @return type
+ * @throws Exception
+ */
+ static public function get( $name )
+ {
+ if ( !self::contains( $name ) ) {
+ throw new \Exception( 'Object does not exist in registry' );
+ }
+
+ return self::$_store[$name];
+ }
+
+ /**
+ * Check to see if the Registry::_store contains the object
+ *
+ * @param type $name name of object key
+ *
+ * @return boolean
+ */
+ static public function contains( $name )
+ {
+ if ( !isset( self::$_store[$name] ) ) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Remove the object from the Registry::_store
+ *
+ * @param type $name name of object key
+ *
+ * @return void
+ */
+ static public function remove( $name )
+ {
+ if ( self::contains( $name ) ) {
+ unset( self::$_store[$name] );
+ }
+ }
+}
* License: GPL2
*/
+require_once 'classes/configRegistry.php';
+use \GlmAssociate\Config as GlmConfig;
/**
* GLM Associate - Members Plugin
* Index
trigger_error("GLM Associate Index End: ".glmAssociateMemoryUsage()." - Start glm-member-db setup",E_USER_NOTICE);
}
+// Add config to the Registry
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['addOns'] ), 'addOns' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['validActions'] ), 'validActions' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['shortcodes'] ), 'shortcodes' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['imageSizes'] ), 'imageSizes' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['states'] ), 'states' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['countries'] ), 'countries' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['settings'] ), 'settings' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['terms'] ), 'terms' );
+GlmConfig\Registry::add( new GlmConfig\GlmConfig( $config['loggedInUser'] ), 'loggedInUser' );
+