From 9ca4b43a97ae92fad57b00ac0217d5b7078272fb Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 26 Sep 2015 15:57:39 -0400 Subject: Add page to show the list of plugins --- app/Core/Base.php | 1 + app/Core/Plugin/Base.php | 52 ++++++++++++++++++++++++++++++++++++++++++++++ app/Core/Plugin/Loader.php | 9 ++++++++ 3 files changed, 62 insertions(+) (limited to 'app/Core') diff --git a/app/Core/Base.php b/app/Core/Base.php index fe42ba09..b919d551 100644 --- a/app/Core/Base.php +++ b/app/Core/Base.php @@ -23,6 +23,7 @@ use Pimple\Container; * @property \Core\ObjectStorage\ObjectStorageInterface $objectStorage * @property \Core\Cache\Cache $memoryCache * @property \Core\Plugin\Hook $hook + * @property \Core\Plugin\Loader $pluginLoader * @property \Integration\BitbucketWebhook $bitbucketWebhook * @property \Integration\GithubWebhook $githubWebhook * @property \Integration\GitlabWebhook $gitlabWebhook diff --git a/app/Core/Plugin/Base.php b/app/Core/Plugin/Base.php index 580d41ad..1f61ab33 100644 --- a/app/Core/Plugin/Base.php +++ b/app/Core/Plugin/Base.php @@ -44,4 +44,56 @@ abstract class Base extends \Core\Base call_user_func($callback, $container); }); } + + /** + * Get plugin name + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginName() + { + return ucfirst(substr(get_called_class(), 7, -7)); + } + + /** + * Get plugin description + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginDescription() + { + return ''; + } + + /** + * Get plugin author + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginAuthor() + { + return '?'; + } + + /** + * Get plugin version + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginVersion() + { + return '?'; + } } diff --git a/app/Core/Plugin/Loader.php b/app/Core/Plugin/Loader.php index 04b2bfff..9a884dae 100644 --- a/app/Core/Plugin/Loader.php +++ b/app/Core/Plugin/Loader.php @@ -21,6 +21,14 @@ class Loader extends \Core\Base */ const TABLE_SCHEMA = 'plugin_schema_versions'; + /** + * Plugin instances + * + * @access public + * @var array + */ + public $plugins = array(); + /** * Scan plugin folder and load plugins * @@ -55,6 +63,7 @@ class Loader extends \Core\Base Tool::buildDic($this->container, $instance->getClasses()); $instance->initialize(); + $this->plugins[] = $instance; } /** -- cgit v1.2.3