diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-06-27 07:27:20 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-06-27 07:27:20 +0400 |
commit | 1790ae4d7b27e1356e5ad1b82d0aae5f7b6f0d31 (patch) | |
tree | 91644782f277aaa0bcb9e46090d373ec1c3005ad /core/ViewDataTable | |
parent | 578e7e74ab0c241e9a38cbcb0c377f2df8b728e5 (diff) |
automatically detect visualizations within visualization directory
Diffstat (limited to 'core/ViewDataTable')
-rw-r--r-- | core/ViewDataTable/Manager.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/ViewDataTable/Manager.php b/core/ViewDataTable/Manager.php index ce0308316b..24616ece5c 100644 --- a/core/ViewDataTable/Manager.php +++ b/core/ViewDataTable/Manager.php @@ -18,6 +18,7 @@ use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Bar; use Piwik\Plugins\CoreVisualizations\Visualizations\JqplotGraph\Pie; use Piwik\Plugins\Goals\Visualizations\Goals; use Piwik\Plugins\Insights\Visualizations\Insight; +use Piwik\Plugin\Manager as PluginManager; /** * ViewDataTable Manager. @@ -62,8 +63,10 @@ class Manager */ public static function getAvailableViewDataTables() { + $klassToExtend = '\\Piwik\\Plugin\\ViewDataTable'; + /** @var string[] $visualizations */ - $visualizations = array(); + $visualizations = PluginManager::getInstance()->findMultipleComponents('Visualizations', $klassToExtend); /** * Triggered when gathering all available DataTable visualizations. @@ -79,6 +82,8 @@ class Manager * } * * @param array &$visualizations The array of all available visualizations. + * @ignore + * @deprecated since 2.5.0 Place visualization in a "Visualizations" directory instead. */ Piwik::postEvent('ViewDataTable.addViewDataTable', array(&$visualizations)); @@ -89,7 +94,7 @@ class Manager throw new \Exception("Invalid visualization class '$viz' found in Visualization.getAvailableVisualizations."); } - if (!is_subclass_of($viz, '\\Piwik\\Plugin\\ViewDataTable')) { + if (!is_subclass_of($viz, $klassToExtend)) { throw new \Exception("ViewDataTable class '$viz' does not extend Plugin/ViewDataTable"); } |