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