diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-17 10:36:50 -0700 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-10-18 08:00:33 -0700 |
commit | 6d5c12e13e6f1199a96180e69cac69d77ecbbcc2 (patch) | |
tree | 25367ea99f9c872d49738e31e6b6c7917eeecba9 /modules | |
parent | 78ee4193b70329c8e0929efd18c22324dd2ad8e0 (diff) |
Move the default identity config into the users module and change the Identity constructor to look in module::get_var(gallery, identity_provider) for the current identity driver.
In addition, don't just arbitrarily lock the use module. Only lock gallery and the module that is referenced by "user_driver_module" variable.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gallery/helpers/module.php | 3 | ||||
-rw-r--r-- | modules/gallery/libraries/Identity.php | 66 | ||||
-rw-r--r-- | modules/user/config/identity.php (renamed from modules/gallery/config/identity.php) | 12 |
3 files changed, 34 insertions, 47 deletions
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php index fe37f4f9..eab94500 100644 --- a/modules/gallery/helpers/module.php +++ b/modules/gallery/helpers/module.php @@ -90,7 +90,8 @@ class module_Core { // Lock certain modules $modules->gallery->locked = true; - $modules->user->locked = true; + $identity_module = self::get_var("gallery", "identity_provider", "user"); + $modules->$identity_module->locked = true; $modules->ksort(); self::$available = $modules; } diff --git a/modules/gallery/libraries/Identity.php b/modules/gallery/libraries/Identity.php index f844cf8f..9eb4b83b 100644 --- a/modules/gallery/libraries/Identity.php +++ b/modules/gallery/libraries/Identity.php @@ -49,49 +49,35 @@ class Identity_Core { /** * Loads the configured driver and validates it. * - * @param array|string custom configuration or config group name * @return void */ - public function __construct($config="default") { - if (is_string($config)) { - $name = $config; - - // Test the config group name - if (($config = Kohana::config("identity.".$config)) === NULL) { - throw new Exception("@todo NO USER LIBRARY CONFIGURATION FOR: $name"); - } - - if (is_array($config)) { - // Append the default configuration options - $config += Kohana::config("identity.default"); - } else { - // Load the default group - $config = Kohana::config("identity.default"); - } - - // Cache the config in the object - $this->config = $config; - - // Set driver name - $driver = "Identity_".ucfirst($this->config["driver"])."_Driver"; - - // Load the driver - if ( ! Kohana::auto_load($driver)) { - throw new Kohana_Exception("core.driver_not_found", $this->config["driver"], - get_class($this)); - } - - // Initialize the driver - $this->driver = new $driver($this->config["params"]); - - // Validate the driver - if ( !($this->driver instanceof Identity_Driver)) { - throw new Kohana_Exception("core.driver_implements", $this->config["driver"], - get_class($this), "Identity_Driver"); - } - - Kohana::log("debug", "Identity Library initialized"); + public function __construct() { + $name = $config = module::get_var("gallery", "identity_provider", "user"); + + // Test the config group name + if (($this->config = Kohana::config("identity.".$config)) === NULL) { + throw new Exception("@todo NO USER LIBRARY CONFIGURATION FOR: $name"); + } + + // Set driver name + $driver = "Identity_".ucfirst($this->config["driver"])."_Driver"; + + // Load the driver + if ( ! Kohana::auto_load($driver)) { + throw new Kohana_Exception("core.driver_not_found", $this->config["driver"], + get_class($this)); } + + // Initialize the driver + $this->driver = new $driver($this->config["params"]); + + // Validate the driver + if ( !($this->driver instanceof Identity_Driver)) { + throw new Kohana_Exception("core.driver_implements", $this->config["driver"], + get_class($this), "Identity_Driver"); + } + + Kohana::log("debug", "Identity Library initialized"); } /** diff --git a/modules/gallery/config/identity.php b/modules/user/config/identity.php index 0479d08b..f9f013aa 100644 --- a/modules/gallery/config/identity.php +++ b/modules/user/config/identity.php @@ -26,12 +26,12 @@ * Each group can be used independently, and multiple groups can be used at once. * * Group Options: - * driver - User backend driver. Gallery comes with Gallery user driver. - * - * params - Driver parameters, specific to each driver. + * driver - User backend driver. Gallery comes with Gallery user driver. + * allow_updates - Flag to indicate that the back end allows updates. + * params - Driver parameters, specific to each driver. */ -$config["default"] = array ( - "driver" => "gallery", +$config["user"] = array ( + "driver" => "gallery", "allow_updates" => true, - "params" => array(), + "params" => array(), ); |