mirror of
https://github.com/flarum/framework.git
synced 2025-02-06 17:21:08 +08:00
Allow configuring default enabled extensions as part of installation (#2757)
This is needed for the testing library
This commit is contained in:
parent
9a9a644c56
commit
809e0d2ae0
|
@ -22,6 +22,7 @@ class Installation
|
|||
private $debug = false;
|
||||
private $baseUrl;
|
||||
private $customSettings = [];
|
||||
private $enabledExtensions = null;
|
||||
|
||||
/** @var DatabaseConfig */
|
||||
private $dbConfig;
|
||||
|
@ -78,6 +79,13 @@ class Installation
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function extensions($enabledExtensions)
|
||||
{
|
||||
$this->enabledExtensions = $enabledExtensions;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function adminUser(AdminUser $admin)
|
||||
{
|
||||
$this->adminUser = $admin;
|
||||
|
@ -152,7 +160,7 @@ class Installation
|
|||
});
|
||||
|
||||
$pipeline->pipe(function () {
|
||||
return new Steps\EnableBundledExtensions($this->db, $this->paths->vendor, $this->getAssetPath());
|
||||
return new Steps\EnableBundledExtensions($this->db, $this->paths->vendor, $this->getAssetPath(), $this->enabledExtensions);
|
||||
});
|
||||
|
||||
return $pipeline;
|
||||
|
|
|
@ -22,6 +22,23 @@ use League\Flysystem\Filesystem;
|
|||
|
||||
class EnableBundledExtensions implements Step
|
||||
{
|
||||
const EXTENSION_WHITELIST = [
|
||||
'flarum-approval',
|
||||
'flarum-bbcode',
|
||||
'flarum-emoji',
|
||||
'flarum-lang-english',
|
||||
'flarum-flags',
|
||||
'flarum-likes',
|
||||
'flarum-lock',
|
||||
'flarum-markdown',
|
||||
'flarum-mentions',
|
||||
'flarum-statistics',
|
||||
'flarum-sticky',
|
||||
'flarum-subscriptions',
|
||||
'flarum-suspend',
|
||||
'flarum-tags',
|
||||
];
|
||||
|
||||
/**
|
||||
* @var ConnectionInterface
|
||||
*/
|
||||
|
@ -37,11 +54,17 @@ class EnableBundledExtensions implements Step
|
|||
*/
|
||||
private $assetPath;
|
||||
|
||||
public function __construct(ConnectionInterface $database, $vendorPath, $assetPath)
|
||||
/**
|
||||
* @var string[]|null
|
||||
*/
|
||||
private $enabledExtensions;
|
||||
|
||||
public function __construct(ConnectionInterface $database, $vendorPath, $assetPath, $enabledExtensions = null)
|
||||
{
|
||||
$this->database = $database;
|
||||
$this->vendorPath = $vendorPath;
|
||||
$this->assetPath = $assetPath;
|
||||
$this->enabledExtensions = $enabledExtensions ?? self::EXTENSION_WHITELIST;
|
||||
}
|
||||
|
||||
public function getMessage()
|
||||
|
@ -66,23 +89,6 @@ class EnableBundledExtensions implements Step
|
|||
);
|
||||
}
|
||||
|
||||
const EXTENSION_WHITELIST = [
|
||||
'flarum-approval',
|
||||
'flarum-bbcode',
|
||||
'flarum-emoji',
|
||||
'flarum-lang-english',
|
||||
'flarum-flags',
|
||||
'flarum-likes',
|
||||
'flarum-lock',
|
||||
'flarum-markdown',
|
||||
'flarum-mentions',
|
||||
'flarum-statistics',
|
||||
'flarum-sticky',
|
||||
'flarum-subscriptions',
|
||||
'flarum-suspend',
|
||||
'flarum-tags',
|
||||
];
|
||||
|
||||
/**
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
|
@ -109,7 +115,7 @@ class EnableBundledExtensions implements Step
|
|||
|
||||
return $extension;
|
||||
})->filter(function (Extension $extension) {
|
||||
return in_array($extension->getId(), self::EXTENSION_WHITELIST);
|
||||
return in_array($extension->getId(), $this->enabledExtensions);
|
||||
})->sortBy(function (Extension $extension) {
|
||||
return $extension->getTitle();
|
||||
})->mapWithKeys(function (Extension $extension) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user