PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.2.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.2.0
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Widget / Widget.php
matomo / app / core / Widget Last commit date
Widget.php 1 year ago WidgetConfig.php 1 year ago WidgetContainerConfig.php 1 year ago WidgetsList.php 1 year ago
Widget.php
72 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Widget;
10
11 use Piwik\View;
12 /**
13 * Defines a new widget. You can create a new widget using the console command `./console generate:widget`.
14 * The generated widget will guide you through the creation of a widget.
15 *
16 * For an example, see {@link https://github.com/piwik/piwik/blob/master/plugins/ExamplePlugin/Widgets/MyExampleWidget.php}
17 *
18 * @api since Piwik 3.0.0
19 */
20 class Widget
21 {
22 /**
23 * @param WidgetConfig $config
24 * @api
25 */
26 public static function configure(\Piwik\Widget\WidgetConfig $config)
27 {
28 }
29 /**
30 * @return string
31 */
32 public function render()
33 {
34 return '';
35 }
36 /**
37 * Assigns the given variables to the template and renders it.
38 *
39 * Example:
40 *
41 * public function myControllerAction () {
42 * return $this->renderTemplate('index', array(
43 * 'answerToLife' => '42'
44 * ));
45 * }
46 *
47 * This will render the 'index.twig' file within the plugin templates folder and assign the view variable
48 * `answerToLife` to `42`.
49 *
50 * @param string $template The name of the template file. If only a name is given it will automatically use
51 * the template within the plugin folder. For instance 'myTemplate' will result in
52 * '@$pluginName/myTemplate.twig'. Alternatively you can include the full path:
53 * '@anyOtherFolder/otherTemplate'. The trailing '.twig' is not needed.
54 * @param array $variables For instance array('myViewVar' => 'myValue'). In template you can use {{ myViewVar }}
55 * @return string
56 * @api
57 */
58 protected function renderTemplate($template, array $variables = array())
59 {
60 if (\false === strpos($template, '@') || \false === strpos($template, '/')) {
61 $aPluginName = explode('\\', get_class($this));
62 $aPluginName = $aPluginName[2];
63 $template = '@' . $aPluginName . '/' . $template;
64 }
65 $view = new View($template);
66 foreach ($variables as $key => $value) {
67 $view->{$key} = $value;
68 }
69 return $view->render();
70 }
71 }
72