aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/extension
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/extension')
-rw-r--r--phpBB/includes/extension/manager.php12
-rw-r--r--phpBB/includes/extension/provider.php12
2 files changed, 21 insertions, 3 deletions
diff --git a/phpBB/includes/extension/manager.php b/phpBB/includes/extension/manager.php
index 9a518c215f..cfa6a0e000 100644
--- a/phpBB/includes/extension/manager.php
+++ b/phpBB/includes/extension/manager.php
@@ -67,6 +67,17 @@ class phpbb_extension_manager
*/
public function load_extensions()
{
+ $this->extensions = array();
+
+ // Do not try to load any extensions when installing or updating
+ // Note: database updater invokes this code, and in 3.0
+ // there is no extension table therefore the rest of this function
+ // fails
+ if (defined('IN_INSTALL'))
+ {
+ return;
+ }
+
$sql = 'SELECT *
FROM ' . $this->extension_table;
@@ -74,7 +85,6 @@ class phpbb_extension_manager
$extensions = $this->db->sql_fetchrowset($result);
$this->db->sql_freeresult($result);
- $this->extensions = array();
foreach ($extensions as $extension)
{
$extension['ext_path'] = $this->get_extension_path($extension['ext_name']);
diff --git a/phpBB/includes/extension/provider.php b/phpBB/includes/extension/provider.php
index d0541fa007..45b55e5cab 100644
--- a/phpBB/includes/extension/provider.php
+++ b/phpBB/includes/extension/provider.php
@@ -16,7 +16,15 @@ if (!defined('IN_PHPBB'))
}
/**
-* Provides a set of items found in extensions
+* Provides a set of items found in extensions.
+*
+* This abstract class is essentially a wrapper around item-specific
+* finding logic. It handles storing the extension manager via constructor
+* for the finding logic to use to find the items, and provides an
+* iterator interface over the items found by the finding logic.
+*
+* Items could be anything, for example template paths or cron task names.
+* Derived classes completely define what the items are.
*
* @package extension
*/
@@ -45,7 +53,7 @@ abstract class phpbb_extension_provider implements IteratorAggregate
}
/**
- * Finds template paths using the extension manager.
+ * Finds items using the extension manager.
*
* @return array List of task names
*/