aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/ExtensionManager.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Minz/ExtensionManager.php')
-rw-r--r--lib/Minz/ExtensionManager.php17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/Minz/ExtensionManager.php b/lib/Minz/ExtensionManager.php
index e6b8dafb0..b2814e4a3 100644
--- a/lib/Minz/ExtensionManager.php
+++ b/lib/Minz/ExtensionManager.php
@@ -1,7 +1,7 @@
<?php
/**
- * An extension manager to load extensions present in EXTENSIONS_PATH.
+ * An extension manager to load extensions present in CORE_EXTENSIONS_PATH and THIRDPARTY_EXTENSIONS_PATH.
*
* @todo see coding style for methods!!
*/
@@ -78,16 +78,17 @@ class Minz_ExtensionManager {
* inherit from Minz_Extension class.
*/
public static function init() {
- $list_potential_extensions = array_values(array_diff(
- scandir(EXTENSIONS_PATH),
- array('..', '.')
- ));
+ $list_core_extensions = array_diff(scandir(CORE_EXTENSIONS_PATH), [ '..', '.' ]);
+ $list_thirdparty_extensions = array_diff(scandir(THIRDPARTY_EXTENSIONS_PATH), [ '..', '.' ], $list_core_extensions);
+ array_walk($list_core_extensions, function (&$s) { $s = CORE_EXTENSIONS_PATH . '/' . $s; });
+ array_walk($list_thirdparty_extensions, function (&$s) { $s = THIRDPARTY_EXTENSIONS_PATH . '/' . $s; });
+
+ $list_potential_extensions = array_merge($list_core_extensions, $list_thirdparty_extensions);
$system_conf = Minz_Configuration::get('system');
self::$ext_auto_enabled = $system_conf->extensions_enabled;
- foreach ($list_potential_extensions as $ext_dir) {
- $ext_pathname = EXTENSIONS_PATH . '/' . $ext_dir;
+ foreach ($list_potential_extensions as $ext_pathname) {
if (!is_dir($ext_pathname)) {
continue;
}
@@ -111,7 +112,7 @@ class Minz_ExtensionManager {
// Try to load extension itself
$extension = self::load($meta_json);
- if (!is_null($extension)) {
+ if ($extension != null) {
self::register($extension);
}
}