Piwik\Plugin\Menu::urlForDefaultUserParams PHP Метод

urlForDefaultUserParams() публичный Метод

Returns the &idSite=X&period=Y&date=Z query string fragment, fetched from current logged-in user's preferences.
public urlForDefaultUserParams ( boolean $websiteId = false, boolean $defaultPeriod = false, boolean $defaultDate = false ) : string
$websiteId boolean
$defaultPeriod boolean
$defaultDate boolean
Результат string eg '&idSite=1&period=week&date=today'
    public function urlForDefaultUserParams($websiteId = false, $defaultPeriod = false, $defaultDate = false)
    {
        $userPreferences = new UserPreferences();
        if (empty($websiteId)) {
            $websiteId = $userPreferences->getDefaultWebsiteId();
        }
        if (empty($websiteId)) {
            throw new \Exception("A website ID was not specified and a website to default to could not be found.");
        }
        if (empty($defaultDate)) {
            $defaultDate = $userPreferences->getDefaultDate();
        }
        if (empty($defaultPeriod)) {
            $defaultPeriod = $userPreferences->getDefaultPeriod(false);
        }
        return array('idSite' => $websiteId, 'period' => $defaultPeriod, 'date' => $defaultDate);
    }

Usage Example

Пример #1
0
 /**
  * @param $moduleToRedirect
  * @param $actionToRedirect
  * @param $websiteId
  * @param $defaultPeriod
  * @param $defaultDate
  * @param $parameters
  * @throws Exception
  */
 private function doRedirectToUrl($moduleToRedirect, $actionToRedirect, $websiteId, $defaultPeriod, $defaultDate, $parameters)
 {
     $menu = new Menu();
     $parameters = array_merge($menu->urlForDefaultUserParams($websiteId, $defaultPeriod, $defaultDate), $parameters);
     $queryParams = !empty($parameters) ? '&' . Url::getQueryStringFromParameters($parameters) : '';
     $url = "index.php?module=%s&action=%s";
     $url = sprintf($url, $moduleToRedirect, $actionToRedirect);
     $url = $url . $queryParams;
     Url::redirectToUrl($url);
 }