Piwik\Plugin\Controller::setGeneralVariablesView PHP Method

setGeneralVariablesView() protected method

The following variables assigned: **date** - The value of the **date** query parameter. **idSite** - The value of the **idSite** query parameter. **rawDate** - The value of the **date** query parameter. **prettyDate** - A pretty string description of the current period. **siteName** - The current site's name. **siteMainUrl** - The URL of the current site. **startDate** - The start date of the current period. A {@link Piwik\Date} instance. **endDate** - The end date of the current period. A {@link Piwik\Date} instance. **language** - The current language's language code. **config_action_url_category_delimiter** - The value of the [General] action_url_category_delimiter INI config option. **topMenu** - The result of MenuTop::getInstance()->getMenu(). As well as the variables set by {@link setPeriodVariablesView()}. Will exit on error.
protected setGeneralVariablesView ( View $view ) : void
$view Piwik\View
return void
    protected function setGeneralVariablesView($view)
    {
        $view->idSite = $this->idSite;
        $this->checkSitePermission();
        $this->setPeriodVariablesView($view);
        $view->siteName = $this->site->getName();
        $view->siteMainUrl = $this->site->getMainUrl();
        $siteTimezone = $this->site->getTimezone();
        $datetimeMinDate = $this->site->getCreationDate()->getDatetime();
        $minDate = Date::factory($datetimeMinDate, $siteTimezone);
        $this->setMinDateView($minDate, $view);
        $maxDate = Date::factory('now', $siteTimezone);
        $this->setMaxDateView($maxDate, $view);
        $rawDate = Common::getRequestVar('date');
        Period::checkDateFormat($rawDate);
        $periodStr = Common::getRequestVar('period');
        if ($periodStr != 'range') {
            $date = Date::factory($this->strDate);
            $validDate = $this->getValidDate($date, $minDate, $maxDate);
            $period = Period\Factory::build($periodStr, $validDate);
            if ($date->toString() !== $validDate->toString()) {
                // we to not always change date since it could convert a strDate "today" to "YYYY-MM-DD"
                // only change $this->strDate if it was not valid before
                $this->setDate($validDate);
            }
        } else {
            $period = new Range($periodStr, $rawDate, $siteTimezone);
        }
        // Setting current period start & end dates, for pre-setting the calendar when "Date Range" is selected
        $dateStart = $period->getDateStart();
        $dateStart = $this->getValidDate($dateStart, $minDate, $maxDate);
        $dateEnd = $period->getDateEnd();
        $dateEnd = $this->getValidDate($dateEnd, $minDate, $maxDate);
        if ($periodStr == 'range') {
            // make sure we actually display the correct calendar pretty date
            $newRawDate = $dateStart->toString() . ',' . $dateEnd->toString();
            $period = new Range($periodStr, $newRawDate, $siteTimezone);
        }
        $view->date = $this->strDate;
        $view->prettyDate = self::getCalendarPrettyDate($period);
        $view->prettyDateLong = $period->getLocalizedLongString();
        $view->rawDate = $rawDate;
        $view->startDate = $dateStart;
        $view->endDate = $dateEnd;
        $language = LanguagesManager::getLanguageForSession();
        $view->language = !empty($language) ? $language : LanguagesManager::getLanguageCodeForCurrentUser();
        $this->setBasicVariablesView($view);
        $view->topMenu = MenuTop::getInstance()->getMenu();
        $view->adminMenu = MenuAdmin::getInstance()->getMenu();
        $notifications = $view->notifications;
        if (empty($notifications)) {
            $view->notifications = NotificationManager::getAllNotificationsToDisplay();
            NotificationManager::cancelAllNonPersistent();
        }
    }