Fix cPanel user initialization

This commit is contained in:
the-djmaze 2022-11-24 15:36:02 +01:00
parent 6c8d8d597b
commit 56fe3637f3
2 changed files with 20 additions and 6 deletions

View file

@ -41,15 +41,11 @@ class Manager
if (\strlen($sList)) {
$aList = \SnappyMail\Repository::getEnabledPackagesNames();
foreach ($aList as $i => $sName) {
$oPlugin = $this->CreatePluginByName($sName);
if ($oPlugin) {
$oPlugin->Init();
$this->aPlugins[] = $oPlugin;
} else {
if (!$this->loadPlugin($sName)) {
unset($aList[$i]);
}
}
$aList = \implode(',', \array_unique($aList));
$aList = \implode(',', \array_keys($this->aPlugins));
if ($sList != $aList) {
$oConfig->Set('plugins', 'enabled_list', $aList);
$oConfig->Save();
@ -58,6 +54,18 @@ class Manager
}
}
public function loadPlugin(string $sName) : bool
{
if (!isset($this->aPlugins[$sName])) {
$oPlugin = $this->CreatePluginByName($sName);
if ($oPlugin) {
$oPlugin->Init();
$this->aPlugins[$sName] = $oPlugin;
}
}
return isset($this->aPlugins[$sName]);
}
protected static function getPluginPath(string $sName) : ?string
{
$sPath = APP_PLUGINS_PATH.$sName;

View file

@ -23,5 +23,11 @@ if (defined('APP_PLUGINS_PATH') && !empty($_ENV['CPANEL']) && !is_dir(APP_PLUGIN
file_put_contents($sFile, json_encode($config, JSON_PRETTY_PRINT));
}
// \RainLoop\Api::Actions()->Plugins()->loadPlugin('login-remote');
if (!isset($_GET['installed'])) {
\header('Location: ?RemoteAutoLogin&installed');
exit;
}
$_ENV['SNAPPYMAIL_INCLUDE_AS_API'] = $asApi;
}