Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorPeter Zhang <peter@innocraft.com>2022-02-14 14:01:16 +0300
committerGitHub <noreply@github.com>2022-02-14 14:01:16 +0300
commit65383e52a22cb5d1d5e1497f646a27d21c780034 (patch)
treead6c239d5c103678d153c40c09676175ba2b0288 /core
parent48020c27e137c7e9ce9db6c20794cdfd2ddefa8b (diff)
[Hotfix]add date, period params into common function (#18686)
* Update Common.php add array check in common request * Update Common.php test * add common period and date function add common period and date function * Update core/Piwik.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * Update core/Piwik.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * update function update function * Update core/Piwik.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * Update Controller.php update isset check * Update core/Plugin/Controller.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * Update core/Piwik.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * update isset check update isset check * Update Piwik.php update phpdocs * Update core/Visualization/Sparkline.php Co-authored-by: Stefan Giehl <stefan@matomo.org> * Update Controller.php pass param * Update core/Plugin/Controller.php Co-authored-by: Stefan Giehl <stefan@matomo.org> Co-authored-by: Stefan Giehl <stefan@matomo.org>
Diffstat (limited to 'core')
-rw-r--r--core/Piwik.php30
-rw-r--r--core/Plugin/Controller.php25
2 files changed, 36 insertions, 19 deletions
diff --git a/core/Piwik.php b/core/Piwik.php
index e0c25d81d3..0c9c1ff66a 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -185,7 +185,7 @@ class Piwik
$user = APIUsersManager::getInstance()->getUser(Piwik::getCurrentUserLogin());
return $user['date_registered'] ?? '';
}
-
+
/**
* Returns the current user's Last Seen.
*
@@ -889,4 +889,32 @@ class Piwik
return $translator->translate($translationId, $args, $language);
}
+
+ /**
+ * Returns the period provided in the current request.
+ * If no $default is provided, this method will throw an Exception if `period` can't be found in the request
+ *
+ * @param string|null $default default value to use
+ * @throws Exception
+ * @return string
+ * @api
+ */
+ public static function getPeriod($default = null)
+ {
+ return Common::getRequestVar('period', $default, 'string');
+ }
+
+ /**
+ * Returns the date provided in the current request.
+ * If no $default is provided, this method will throw an Exception if `date` can't be found in the request
+ *
+ * @param string|null $default default value to use
+ * @throws Exception
+ * @return string
+ * @api
+ */
+ public static function getDate($default = null)
+ {
+ return Common::getRequestVar('date', $default, 'string');
+ }
}
diff --git a/core/Plugin/Controller.php b/core/Plugin/Controller.php
index ca2f169895..2d0093912a 100644
--- a/core/Plugin/Controller.php
+++ b/core/Plugin/Controller.php
@@ -476,25 +476,14 @@ abstract class Controller
*/
protected function getGraphParamsModified($paramsToSet = array())
{
- if (!isset($paramsToSet['period'])) {
- $period = Common::getRequestVar('period');
- } else {
- $period = $paramsToSet['period'];
- }
+ $period = $paramsToSet['period'] ?? Piwik::getPeriod();
+
if ($period === 'range') {
return $paramsToSet;
}
- if (!isset($paramsToSet['range'])) {
- $range = 'last30';
- } else {
- $range = $paramsToSet['range'];
- }
- if (!isset($paramsToSet['date'])) {
- $endDate = $this->strDate;
- } else {
- $endDate = $paramsToSet['date'];
- }
+ $range = isset($paramsToSet['range']) ? $paramsToSet['range'] : 'last30';
+ $endDate = isset($paramsToSet['date']) ? $paramsToSet['date'] : $this->strDate;
if (is_null($this->site)) {
throw new NoAccessException("Website not initialized, check that you are logged in and/or using the correct token_auth.");
@@ -640,10 +629,10 @@ abstract class Controller
$maxDate = Date::factory('now', $siteTimezone);
$this->setMaxDateView($maxDate, $view);
- $rawDate = Common::getRequestVar('date');
+ $rawDate = Piwik::getDate();
Period::checkDateFormat($rawDate);
- $periodStr = Common::getRequestVar('period');
+ $periodStr = Piwik::getPeriod();
if ($periodStr !== 'range') {
$date = Date::factory($this->strDate);
@@ -923,7 +912,7 @@ abstract class Controller
$periodValidator = new PeriodValidator();
- $currentPeriod = Common::getRequestVar('period');
+ $currentPeriod = Piwik::getPeriod();
$availablePeriods = $periodValidator->getPeriodsAllowedForUI();
if (! $periodValidator->isPeriodAllowedForUI($currentPeriod)) {