summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/module.php
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-10-04 09:45:17 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-10-04 10:12:21 -0700
commitaa0529d557ed0609bf7e5b23a5cf2437f7998c4b (patch)
tree028337388818b1a1ef0de24c9ee7d62162206e05 /modules/gallery/helpers/module.php
parent60c15e41b37fbe6b2adc7789b21b7e5acea3e949 (diff)
Create a gallery::plugin_path which returns the appropriate path to the module or theme. This checks for the existence of an application/modules or application/themes first.
Diffstat (limited to 'modules/gallery/helpers/module.php')
-rw-r--r--modules/gallery/helpers/module.php34
1 files changed, 21 insertions, 13 deletions
diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php
index fe37f4f9..99c52cab 100644
--- a/modules/gallery/helpers/module.php
+++ b/modules/gallery/helpers/module.php
@@ -77,15 +77,23 @@ class module_Core {
static function available() {
if (empty(self::$available)) {
$modules = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);
- foreach (glob(MODPATH . "*/module.info") as $file) {
- $module_name = basename(dirname($file));
- $modules->$module_name = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
- $m =& $modules->$module_name;
- $m->installed = self::is_installed($module_name);
- $m->active = self::is_active($module_name);
- $m->code_version = $m->version;
- $m->version = self::get_version($module_name);
- $m->locked = false;
+ foreach (array(APPPATH . "modules/", MODPATH) as $modpath) {
+ foreach (scandir($modpath) as $module_name) {
+ if ($module_name[0] == ".") {
+ continue;
+ }
+ $file = "{$modpath}$module_name/module.info";
+ if (file_exists($file)) {
+ $modules->$module_name =
+ new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
+ $m =& $modules->$module_name;
+ $m->installed = self::is_installed($module_name);
+ $m->active = self::is_active($module_name);
+ $m->code_version = $m->version;
+ $m->version = self::get_version($module_name);
+ $m->locked = false;
+ }
+ }
}
// Lock certain modules
@@ -113,7 +121,7 @@ class module_Core {
*/
static function install($module_name) {
$kohana_modules = Kohana::config("core.modules");
- array_unshift($kohana_modules, MODPATH . $module_name);
+ array_unshift($kohana_modules, gallery::plugin_path($module_name));
Kohana::config_set("core.modules", $kohana_modules);
$installer_class = "{$module_name}_installer";
@@ -140,7 +148,7 @@ class module_Core {
*/
static function upgrade($module_name) {
$kohana_modules = Kohana::config("core.modules");
- array_unshift($kohana_modules, MODPATH . $module_name);
+ array_unshift($kohana_modules, gallery::plugin_path($module_name));
Kohana::config_set("core.modules", $kohana_modules);
$version_before = module::get_version($module_name);
@@ -179,7 +187,7 @@ class module_Core {
*/
static function activate($module_name) {
$kohana_modules = Kohana::config("core.modules");
- array_unshift($kohana_modules, MODPATH . $module_name);
+ array_unshift($kohana_modules, gallery::plugin_path($module_name));
Kohana::config_set("core.modules", $kohana_modules);
$installer_class = "{$module_name}_installer";
@@ -271,7 +279,7 @@ class module_Core {
$gallery = $module;
} else {
self::$active[] = $module;
- $kohana_modules[] = MODPATH . $module->name;
+ $kohana_modules[] = gallery::plugin_path($module->name);
}
}
self::$active[] = $gallery; // put gallery last in the module list to match core.modules