Skip to content

Commit

Permalink
Dev: Read plugin desc/name from config.xml first
Browse files Browse the repository at this point in the history
  • Loading branch information
olleharstedt committed Oct 4, 2018
1 parent f79bb80 commit 77bad2c
Showing 1 changed file with 56 additions and 2 deletions.
58 changes: 56 additions & 2 deletions application/libraries/PluginManager/PluginManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -375,8 +375,8 @@ public function getPluginInfo($pluginClass, $pluginDir = null)
if (!class_exists($class)) {
return null;
} else {
$result['description'] = call_user_func(array($class, 'getDescription'));
$result['pluginName'] = call_user_func(array($class, 'getName'));
$result['description'] = $this->getPluginDescription($class, $extensionConfig);
$result['pluginName'] = $this->getPluginName($class, $extensionConfig);
$result['pluginClass'] = $class;
$result['extensionConfig'] = $extensionConfig;
$result['isCompatible'] = $extensionConfig == null ? false : $extensionConfig->isCompatible();
Expand Down Expand Up @@ -572,6 +572,60 @@ public function readConfigFiles()
$this->loadPlugins();
}

/**
* Get plugin description.
* First look in config.xml, then in plugin class.
* @param string $class
* @param ExtensionConfig $extensionConfig
* @return string
* @todo Localization.
*/
protected function getPluginDescription(string $class, \ExtensionConfig $extensionConfig = null)
{
$desc = null;

if ($extensionConfig) {
$desc = $extensionConfig->getDescription();
}

if (empty($desc)) {
$desc = call_user_func(array($class, 'getDescription'));
}

if (empty($desc)) {
$desc = gT('N/A');
}

return $desc;
}

/**
* Get plugin name.
* First look in config.xml, then in plugin class.
* @param string $class
* @param ExtensionConfig $extensionConfig
* @return string
* @todo Localization.
*/
protected function getPluginName(string $class, \ExtensionConfig $extensionConfig = null)
{
$name = null;

if ($extensionConfig) {
$name = $extensionConfig->getName();
}

if (empty($name)) {
$name = call_user_func(array($class, 'getName'));
}

if (empty($name)) {
$name = gT('N/A');
}

return $name;
}

/**
* @param string $pluginName
* @return boolean
Expand Down

0 comments on commit 77bad2c

Please sign in to comment.