summaryrefslogtreecommitdiff
path: root/app/Core
diff options
context:
space:
mode:
authorxavier.vidal <xavier.vidal@pc-0608-008.oficinas.atrapalo.com>2015-09-29 09:46:02 +0200
committerxavier.vidal <xavier.vidal@pc-0608-008.oficinas.atrapalo.com>2015-09-29 09:46:02 +0200
commit118f265c11701d6e050650bd7eb8dd84508323ab (patch)
tree7ea6b3bf8d14f46835773a16b910e202ce2fbaaf /app/Core
parentf6c1984bdd153d55731d18d57d95825c3298415c (diff)
parent91eeeee6c511246df56b4720f69d450b8787dd03 (diff)
Merge branch 'master' into project_name_in_task_links
* master: ajout captures pour les vues essai intégration image Append filters instead of replacing value for users and categories dropdowns Do not show empty swimlanes in public view Show complexity sum across all swimlanes Show number of tasks for each column across all swimlanes Fix regression (css) Change swimlane layout to save space on the screen Add the possibility to set/unset max column height (scrolling) settings chapter Add getPluginHomepage() Add page to show the list of plugins Do not use preventDefault() with .close-popover when there is no popover opened Show "Open this task" in dropdown menu for closed tasks Add contributor Update app.css Update popover.css Show assignee on card only when someone is assigned
Diffstat (limited to 'app/Core')
-rw-r--r--app/Core/Base.php1
-rw-r--r--app/Core/Plugin/Base.php65
-rw-r--r--app/Core/Plugin/Loader.php9
3 files changed, 75 insertions, 0 deletions
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..a72a0cd6 100644
--- a/app/Core/Plugin/Base.php
+++ b/app/Core/Plugin/Base.php
@@ -44,4 +44,69 @@ 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 '?';
+ }
+
+ /**
+ * Get plugin homepage
+ *
+ * This method should be overrided by your Plugin class
+ *
+ * @access public
+ * @return string
+ */
+ public function getPluginHomepage()
+ {
+ 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
@@ -22,6 +22,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
*
* @access public
@@ -55,6 +63,7 @@ class Loader extends \Core\Base
Tool::buildDic($this->container, $instance->getClasses());
$instance->initialize();
+ $this->plugins[] = $instance;
}
/**