Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/plugins/matomo/app/core/Report/ |
Current File : //var/www/web28/html/wp-content/plugins/matomo/app/core/Report/ReportWidgetFactory.php |
<?php /** * Matomo - free/libre analytics platform * * @link https://matomo.org * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ namespace Piwik\Report; use Piwik\Plugin\Report; use Piwik\Widget\WidgetContainerConfig; /** * Report widget factory. This factory allows you to create widgets for a given report without having to re-specify * redundant information like module, action, category, subcategory, order, ... When creating a widget from a report * these values will be automatically specified so that ideally `$factory->createWidget()` is all one has to do in * order to create a new widget. * * @api since Piwik 3.0.0 */ class ReportWidgetFactory { /** * @var Report */ private $report = null; /** * Generates a new report widget factory. * @param Report $report A report instance, widgets will be created based on the data provided by this report. */ public function __construct(Report $report) { $this->report = $report; } /** * Creates a widget based on the specified report in {@link construct()}. * * It will automatically use the report's name, categoryId, subcategoryId (if specified), * defaultViewDataTable, module, action, order and parameters in order to create the widget. * * @return ReportWidgetConfig */ public function createWidget() { $widget = new \Piwik\Report\ReportWidgetConfig(); $widget->setName($this->report->getName()); $widget->setCategoryId($this->report->getCategoryId()); if ($this->report->getDefaultTypeViewDataTable()) { $widget->setDefaultViewDataTable($this->report->getDefaultTypeViewDataTable()); } if ($this->report->getSubcategoryId()) { $widget->setSubcategoryId($this->report->getSubcategoryId()); } $widget->setModule($this->report->getModule()); $widget->setAction($this->report->getAction()); $orderThatListsReportsAtTheEndOfEachCategory = 100 + $this->report->getOrder(); $widget->setOrder($orderThatListsReportsAtTheEndOfEachCategory); $parameters = $this->report->getParameters(); if (!empty($parameters)) { $widget->setParameters($parameters); } return $widget; } /** * Creates a new container widget based on the specified report in {@link construct()}. * * It will automatically use the report's categoryId, subcategoryId (if specified) and order in order to * create the container. * * @param string $containerId eg 'Products' or 'Contents' see {Piwik\Widget\WidgetContainerConfig::setId()}. * Other reports or widgets will be able to add more widgets to this container. * This is useful when you want to show for example multiple related widgets * together. * @return WidgetContainerConfig */ public function createContainerWidget($containerId) { $widget = new WidgetContainerConfig(); $widget->setCategoryId($this->report->getCategoryId()); $widget->setId($containerId); if ($this->report->getSubcategoryId()) { $widget->setSubcategoryId($this->report->getSubcategoryId()); } $orderThatListsReportsAtTheEndOfEachCategory = 100 + $this->report->getOrder(); $widget->setOrder($orderThatListsReportsAtTheEndOfEachCategory); return $widget; } /** * Creates a custom widget that doesn't use a viewDataTable to render the report but instead a custom * controller action. Make sure the specified `$action` exists in the plugin's controller. Otherwise * behaves as {@link createWidget()}. * * @param string $action eg 'conversionReports' (requires a method `public function conversionReports()` in * the plugin's controller). * @return ReportWidgetConfig */ public function createCustomWidget($action) { $widget = $this->createWidget(); $widget->setDefaultViewDataTable(null); $widget->setAction($action); return $widget; } }
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare