Skip to content
Extraits de code Groupes Projets
Valider fdb13d20 rédigé par mattab's avatar mattab
Parcourir les fichiers

Refs #5037 Applying enabled periods to the User Settings section "Report date to load by default"

parent 29a3f779
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -179,9 +179,10 @@ abstract class Controller
}
/**
* @return array
* Returns values that are enabled for the parameter &period=
* @return array eg. array('day', 'week', 'month', 'year', 'range')
*/
private static function getAvailablePeriods()
protected static function getEnabledPeriodsInUI()
{
$periods = Config::getInstance()->General['enabled_periods_UI'];
$periods = explode(",", $periods);
......@@ -690,7 +691,7 @@ abstract class Controller
$currentPeriod = Common::getRequestVar('period');
$view->displayUniqueVisitors = SettingsPiwik::isUniqueVisitorsEnabled($currentPeriod);
$availablePeriods = self::getAvailablePeriods();
$availablePeriods = self::getEnabledPeriodsInUI();
if (!in_array($currentPeriod, $availablePeriods)) {
throw new Exception("Period must be one of: " . implode(",", $availablePeriods));
}
......
......@@ -142,6 +142,51 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
return APIUsersManager::getInstance()->getUserPreference($user, APIUsersManager::PREFERENCE_DEFAULT_REPORT_DATE);
}
/**
* Returns the enabled dates that users can select,
* in their User Settings page "Report date to load by default"
*
* @throws
* @return array
*/
protected function getAvailableDefaultDates()
{
$dates = array(
'today' => Piwik::translate('General_Today'),
'yesterday' => Piwik::translate('General_Yesterday'),
'previous7' => Piwik::translate('General_PreviousDays', 7),
'previous30' => Piwik::translate('General_PreviousDays', 30),
'last7' => Piwik::translate('General_LastDays', 7),
'last30' => Piwik::translate('General_LastDays', 30),
'week' => Piwik::translate('General_CurrentWeek'),
'month' => Piwik::translate('General_CurrentMonth'),
'year' => Piwik::translate('General_CurrentYear'),
);
$mappingDatesToPeriods = array(
'today' => 'day',
'yesterday' => 'day',
'previous7' => 'range',
'previous30' => 'range',
'last7' => 'range',
'last30' => 'range',
'week' => 'week',
'month' => 'month',
'year' => 'year',
);
// assertion
if(count($dates) != count($mappingDatesToPeriods)) {
throw new Exception("some metadata is missing in getAvailableDefaultDates()");
}
$allowedPeriods = self::getEnabledPeriodsInUI();
$allowedDates = array_intersect($mappingDatesToPeriods, $allowedPeriods);
$dates = array_intersect_key($dates, $allowedDates);
return $dates;
}
/**
* The "User Settings" admin UI screen view
*/
......@@ -169,17 +214,7 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
}
$view->defaultDate = $this->getDefaultDateForUser($userLogin);
$view->availableDefaultDates = array(
'today' => Piwik::translate('General_Today'),
'yesterday' => Piwik::translate('General_Yesterday'),
'previous7' => Piwik::translate('General_PreviousDays', 7),
'previous30' => Piwik::translate('General_PreviousDays', 30),
'last7' => Piwik::translate('General_LastDays', 7),
'last30' => Piwik::translate('General_LastDays', 30),
'week' => Piwik::translate('General_CurrentWeek'),
'month' => Piwik::translate('General_CurrentMonth'),
'year' => Piwik::translate('General_CurrentYear'),
);
$view->availableDefaultDates = $this->getAvailableDefaultDates();
$view->languages = APILanguagesManager::getInstance()->getAvailableLanguageNames();
$view->currentLanguageCode = LanguagesManager::getLanguageCodeForCurrentUser();
......
Subproject commit 444330b9ce8669b5e1f6f47d6274d32158493b76
Subproject commit ab41f15940b4b7db6c02c2f52cab226c5f2743bd
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter