Cleanup plugin manager

This commit is contained in:
djmaze 2021-03-02 12:24:19 +01:00
parent 93f371e0ff
commit f741ce7b93
2 changed files with 9 additions and 34 deletions

View file

@ -18,17 +18,17 @@ abstract class AbstractPlugin
/** /**
* @var \RainLoop\Plugins\Manager * @var \RainLoop\Plugins\Manager
*/ */
private $oPluginManager; private $oPluginManager = null;
/** /**
* @var \RainLoop\Config\Plugin * @var \RainLoop\Config\Plugin
*/ */
private $oPluginConfig; private $oPluginConfig = null;
/** /**
* @var bool * @var bool
*/ */
private $bLangs; private $bLangs = false;
/** /**
* @var string * @var string
@ -38,44 +38,20 @@ abstract class AbstractPlugin
/** /**
* @var string * @var string
*/ */
private $sPath; private $sPath = '';
/** /**
* @var array * @var array
*/ */
private $aConfigMap; private $aConfigMap = null;
/**
* @var bool
*/
private $bPluginConfigLoaded;
public function __construct() public function __construct()
{ {
$this->sName = static::NAME; $this->sName = static::NAME;
$this->sPath = '';
$this->aConfigMap = null;
$this->oPluginManager = null;
$this->oPluginConfig = null;
$this->bPluginConfigLoaded = false;
$this->bLangs = false;
} }
public function Config() : \RainLoop\Config\Plugin public function Config() : \RainLoop\Config\Plugin
{ {
if (!$this->bPluginConfigLoaded && $this->oPluginConfig)
{
$this->bPluginConfigLoaded = true;
if ($this->oPluginConfig->IsInited())
{
if (!$this->oPluginConfig->Load())
{
$this->oPluginConfig->Save();
}
}
}
return $this->oPluginConfig; return $this->oPluginConfig;
} }
@ -163,7 +139,10 @@ abstract class AbstractPlugin
public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig) : self public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig) : self
{ {
$this->oPluginConfig = $oPluginConfig; $this->oPluginConfig = $oPluginConfig;
if ($oPluginConfig->IsInited() && !$oPluginConfig->Load())
{
$oPluginConfig->Save();
}
return $this; return $this;
} }

View file

@ -178,10 +178,6 @@ class Manager
\trigger_error("Invalid plugin class {$sClassName}"); \trigger_error("Invalid plugin class {$sClassName}");
} }
} }
else
{
\trigger_error("Invalid plugin name {$sName}");
}
return null; return null;
} }