From 6d5c12e13e6f1199a96180e69cac69d77ecbbcc2 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 17 Oct 2009 10:36:50 -0700 Subject: 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. --- modules/gallery/libraries/Identity.php | 66 ++++++++++++++-------------------- 1 file changed, 26 insertions(+), 40 deletions(-) (limited to 'modules/gallery/libraries') 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"); } /** -- cgit v1.2.3