aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2016-01-28 23:13:36 +0100
committerMarc Alexander <admin@m-a-styles.de>2016-12-03 14:20:28 +0100
commit8fb2347cfa89ef9768311e92f11da4b090b94f7b (patch)
tree4139961cbcc159ba3421d4a9869b03a2b752c7e0 /phpBB/phpbb/install
parent36460ebdf679f3cecb11afdc6e43e64195cc1d27 (diff)
downloadforums-8fb2347cfa89ef9768311e92f11da4b090b94f7b.tar
forums-8fb2347cfa89ef9768311e92f11da4b090b94f7b.tar.gz
forums-8fb2347cfa89ef9768311e92f11da4b090b94f7b.tar.bz2
forums-8fb2347cfa89ef9768311e92f11da4b090b94f7b.tar.xz
forums-8fb2347cfa89ef9768311e92f11da4b090b94f7b.zip
[ticket/14492] Install all packaged extensions by default
PHPBB3-14492
Diffstat (limited to 'phpBB/phpbb/install')
-rw-r--r--phpBB/phpbb/install/module/install_finish/task/install_extensions.php (renamed from phpBB/phpbb/install/module/install_finish/task/install_viglink.php)46
1 files changed, 31 insertions, 15 deletions
diff --git a/phpBB/phpbb/install/module/install_finish/task/install_viglink.php b/phpBB/phpbb/install/module/install_finish/task/install_extensions.php
index 1facb1eaf4..6b2881aa2f 100644
--- a/phpBB/phpbb/install/module/install_finish/task/install_viglink.php
+++ b/phpBB/phpbb/install/module/install_finish/task/install_extensions.php
@@ -14,9 +14,9 @@
namespace phpbb\install\module\install_finish\task;
/**
- * Installs viglink extension with default config
+ * Installs extensions that exist in ext folder upon install
*/
-class install_viglink extends \phpbb\install\task_base
+class install_extensions extends \phpbb\install\task_base
{
/**
* @var \phpbb\install\helper\config
@@ -46,14 +46,18 @@ class install_viglink extends \phpbb\install\task_base
/** @var \phpbb\extension\manager */
protected $extension_manager;
+ /** @var \Symfony\Component\Finder\Finder */
+ protected $finder;
+
/**
* Constructor
*
* @param \phpbb\install\helper\container_factory $container
* @param \phpbb\install\helper\config $install_config
* @param \phpbb\install\helper\iohandler\iohandler_interface $iohandler
+ * @param string $phpbb_root_path phpBB root path
*/
- public function __construct(\phpbb\install\helper\container_factory $container, \phpbb\install\helper\config $install_config, \phpbb\install\helper\iohandler\iohandler_interface $iohandler)
+ public function __construct(\phpbb\install\helper\container_factory $container, \phpbb\install\helper\config $install_config, \phpbb\install\helper\iohandler\iohandler_interface $iohandler, $phpbb_root_path)
{
$this->install_config = $install_config;
$this->iohandler = $iohandler;
@@ -62,6 +66,12 @@ class install_viglink extends \phpbb\install\task_base
$this->user = $container->get('user');
$this->extension_manager = $container->get('ext.manager');
$this->config = $container->get('config');
+ $this->finder = new \Symfony\Component\Finder\Finder();
+ $this->finder->in($phpbb_root_path . 'ext/')
+ ->ignoreUnreadableDirs()
+ ->depth('< 3')
+ ->files()
+ ->name('composer.json');
// Make sure asset version exists in config. Otherwise we might try to
// insert the assets_version setting into the database and cause a
@@ -83,21 +93,27 @@ class install_viglink extends \phpbb\install\task_base
$this->user->setup(array('common', 'acp/common', 'cli'));
$name = 'phpbb/viglink';
- // Should be available by default but make sure it is
- if ($this->extension_manager->is_available($name))
+ // Find available extensions
+ foreach ($this->finder as $file)
{
- $this->extension_manager->enable($name);
- $this->extension_manager->load_extensions();
+ /** @var \SplFileInfo $file */
+ $ext_name = preg_replace('#(.+ext[\\/\\\])#', '', dirname($file->getRealPath()));
- if (!$this->extension_manager->is_enabled($name))
+ if ($this->extension_manager->is_available($ext_name))
{
- // Create log
- $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_ENABLE', time(), array($name));
+ $this->extension_manager->enable($ext_name);
+ $this->extension_manager->load_extensions();
+
+ if (!$this->extension_manager->is_enabled($ext_name))
+ {
+ // Create log
+ $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_ENABLE', time(), array($ext_name));
+ }
+ }
+ else
+ {
+ $this->iohandler->add_log_message('CLI_EXTENSION_ENABLE_FAILURE', array($ext_name));
}
- }
- else
- {
- $this->iohandler->add_log_message('CLI_EXTENSION_ENABLE_FAILURE', array('phpbb/viglink'));
}
}
@@ -114,6 +130,6 @@ class install_viglink extends \phpbb\install\task_base
*/
public function get_task_lang_name()
{
- return 'TASK_INSTALL_VIGLINK';
+ return 'TASK_INSTALL_EXTENSIONS';
}
}