Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-06-27 07:27:20 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-06-27 07:27:20 +0400
commit1790ae4d7b27e1356e5ad1b82d0aae5f7b6f0d31 (patch)
tree91644782f277aaa0bcb9e46090d373ec1c3005ad /core/ViewDataTable
parent578e7e74ab0c241e9a38cbcb0c377f2df8b728e5 (diff)
automatically detect visualizations within visualization directory
Diffstat (limited to 'core/ViewDataTable')
-rw-r--r--core/ViewDataTable/Manager.php9
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");
}