PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.13.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.13.2
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 / View / HtmlReportEmailHeaderView.php
matomo / app / core / View Last commit date
HtmlEmailFooterView.php 5 years ago HtmlReportEmailHeaderView.php 4 years ago MethodCallExpression.php 5 years ago OneClickDone.php 4 years ago RenderTokenParser.php 5 years ago SecurityPolicy.php 4 years ago UIControl.php 5 years ago ViewInterface.php 5 years ago
HtmlReportEmailHeaderView.php
95 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9
10 namespace Piwik\View;
11
12 use Piwik\Common;
13 use Piwik\Date;
14 use Piwik\Mail\EmailStyles;
15 use Piwik\Plugin\ThemeStyles;
16 use Piwik\Plugins\CoreAdminHome\CustomLogo;
17 use Piwik\Scheduler\Schedule\Schedule;
18 use Piwik\SettingsPiwik;
19 use Piwik\Site;
20 use Piwik\View;
21 use Piwik\Plugin\Manager;
22
23 class HtmlReportEmailHeaderView extends View
24 {
25 const TEMPLATE_FILE = '@CoreHome/ReportRenderer/_htmlReportHeader';
26
27 private static $reportFrequencyTranslationByPeriod = [
28 Schedule::PERIOD_NEVER => '',
29 Schedule::PERIOD_DAY => 'General_DailyReport',
30 Schedule::PERIOD_WEEK => 'General_WeeklyReport',
31 Schedule::PERIOD_MONTH => 'General_MonthlyReport',
32 Schedule::PERIOD_YEAR => 'General_YearlyReport',
33 Schedule::PERIOD_RANGE => 'General_RangeReports',
34 ];
35
36 public function __construct($reportTitle, $prettyDate, $description, $reportMetadata, $segment, $idSite, $period)
37 {
38 parent::__construct(self::TEMPLATE_FILE);
39
40 self::assignCommonParameters($this);
41
42 $periods = self::getPeriodToFrequencyAsAdjective();
43 $this->assign("frequency", $periods[$period]);
44 $this->assign("reportTitle", $reportTitle);
45 $this->assign("prettyDate", $prettyDate);
46 $this->assign("description", $description);
47 $this->assign("reportMetadata", $reportMetadata);
48 $this->assign("websiteName", Site::getNameFor($idSite));
49 $this->assign("idSite", $idSite);
50 $this->assign("period", $period);
51
52 $date = Date::now()->setTimezone(Site::getTimezoneFor($idSite))->toString();
53 $this->assign("date", $date);
54
55 // segment
56 $displaySegment = ($segment != null);
57 $this->assign("displaySegment", $displaySegment);
58 if ($displaySegment) {
59 $this->assign("segmentName", $segment['name']);
60 }
61 }
62
63 public static function assignCommonParameters(View $view)
64 {
65 $themeStyles = ThemeStyles::get();
66 $emailStyles = EmailStyles::get();
67
68 $view->currentPath = SettingsPiwik::getPiwikUrl();
69
70 $view->themeStyles = $themeStyles;
71 $view->emailStyles = $emailStyles;
72
73 $view->fontStyle = 'color:' . $themeStyles->colorText . ';font-family:' . $themeStyles->fontFamilyBase.';';
74 $view->styleParagraphText = 'font-size:15px;line-height:24px;';
75 $view->styleParagraph = $view->styleParagraphText . 'margin:0 0 16px;';
76
77 $customLogo = new CustomLogo();
78 $view->isCustomLogo = $customLogo->isEnabled() && CustomLogo::hasUserLogo();
79 $view->logoHeader = $customLogo->getHeaderLogoUrl($pathOnly = false);
80
81 $pluginManager = Manager::getInstance();
82
83 $view->hasWhiteLabel = $pluginManager->isPluginLoaded('WhiteLabel')
84 && $pluginManager->isPluginActivated('WhiteLabel')
85 && $pluginManager->isPluginInFilesystem('WhiteLabel');
86
87 $view->idSite = Common::getRequestVar('idSite', false);
88 }
89
90 private static function getPeriodToFrequencyAsAdjective()
91 {
92 return array_map(['\Piwik\Piwik', 'translate'], self::$reportFrequencyTranslationByPeriod);
93 }
94 }
95