summaryrefslogtreecommitdiff
path: root/modules/gallery
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-10-17 10:36:50 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-10-18 08:00:33 -0700
commit6d5c12e13e6f1199a96180e69cac69d77ecbbcc2 (patch)
tree25367ea99f9c872d49738e31e6b6c7917eeecba9 /modules/gallery
parent78ee4193b70329c8e0929efd18c22324dd2ad8e0 (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/gallery')
-rw-r--r--modules/gallery/config/identity.php37
-rw-r--r--modules/gallery/helpers/module.php3
-rw-r--r--modules/gallery/libraries/Identity.php66
3 files changed, 28 insertions, 78 deletions
diff --git a/modules/gallery/config/identity.php b/modules/gallery/config/identity.php
deleted file mode 100644
index 0479d08b..00000000
--- a/modules/gallery/config/identity.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2009 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-/*
- * @package Identity
- *
- * User settings, defined as arrays, or "groups". If no group name is
- * used when loading the cache library, the group named "default" will be used.
- *
- * 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.
- */
-$config["default"] = array (
- "driver" => "gallery",
- "allow_updates" => true,
- "params" => array(),
-);
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");
}
/**