PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 3 months ago WidgetConfig.php 1 month ago WidgetContainerConfig.php 3 months ago WidgetsList.php 1 month ago
Widget.php
71 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 * @api
24 */
25 public static function configure(\Piwik\Widget\WidgetConfig $config)
26 {
27 }
28 /**
29 * @return string
30 */
31 public function render()
32 {
33 return '';
34 }
35 /**
36 * Assigns the given variables to the template and renders it.
37 *
38 * Example:
39 *
40 * public function myControllerAction () {
41 * return $this->renderTemplate('index', array(
42 * 'answerToLife' => '42'
43 * ));
44 * }
45 *
46 * This will render the 'index.twig' file within the plugin templates folder and assign the view variable
47 * `answerToLife` to `42`.
48 *
49 * @param string $template The name of the template file. If only a name is given it will automatically use
50 * the template within the plugin folder. For instance 'myTemplate' will result in
51 * '@$pluginName/myTemplate.twig'. Alternatively you can include the full path:
52 * '@anyOtherFolder/otherTemplate'. The trailing '.twig' is not needed.
53 * @param array $variables For instance array('myViewVar' => 'myValue'). In template you can use {{ myViewVar }}
54 * @return string
55 * @api
56 */
57 protected function renderTemplate($template, array $variables = array())
58 {
59 if (\false === strpos($template, '@') || \false === strpos($template, '/')) {
60 $aPluginName = explode('\\', get_class($this));
61 $aPluginName = $aPluginName[2];
62 $template = '@' . $aPluginName . '/' . $template;
63 }
64 $view = new View($template);
65 foreach ($variables as $key => $value) {
66 $view->{$key} = $value;
67 }
68 return $view->render();
69 }
70 }
71