Returns the creation date of the site with the specified ID.
public static getCreationDateFor ( integer $idsite ) : string | ||
$idsite | integer | The site ID. |
return | string |
/** * The Multisites reports displays the first calendar date as the earliest day available for all websites. * Also, today is the later "today" available across all timezones. * @param array $siteIds Array of IDs for each site being displayed. * @return Date[] of two Date instances. First is the min-date & the second * is the max date. * @ignore */ public static function getMinMaxDateAcrossWebsites($siteIds) { $siteIds = self::getIdSitesFromIdSitesString($siteIds); $now = Date::now(); $minDate = null; $maxDate = $now->subDay(1)->getTimestamp(); foreach ($siteIds as $idsite) { // look for 'now' in the website's timezone $timezone = Site::getTimezoneFor($idsite); $date = Date::adjustForTimezone($now->getTimestamp(), $timezone); if ($date > $maxDate) { $maxDate = $date; } // look for the absolute minimum date $creationDate = Site::getCreationDateFor($idsite); $date = Date::adjustForTimezone(strtotime($creationDate), $timezone); if (is_null($minDate) || $date < $minDate) { $minDate = $date; } } return array(Date::factory($minDate), Date::factory($maxDate)); }
/** * Returns base URL to process reports for the $idsite on a given $period */ private function getVisitsRequestUrl($idsite, $period, $lastTimestampWebsiteProcessed = false) { $dateLastMax = self::DEFAULT_DATE_LAST; if ($period == 'year') { $dateLastMax = self::DEFAULT_DATE_LAST_YEARS; } elseif ($period == 'week') { $dateLastMax = self::DEFAULT_DATE_LAST_WEEKS; } if (empty($lastTimestampWebsiteProcessed)) { $lastTimestampWebsiteProcessed = strtotime(\Piwik\Site::getCreationDateFor($idsite)); } // Enforcing last2 at minimum to work around timing issues and ensure we make most archives available $dateLast = floor((time() - $lastTimestampWebsiteProcessed) / 86400) + 2; if ($dateLast > $dateLastMax) { $dateLast = $dateLastMax; } $dateLastForced = $this->isParameterSet('--force-date-last-n', true); if (!empty($dateLastForced)) { $dateLast = $dateLastForced; } return "?module=API&method=VisitsSummary.getVisits&idSite={$idsite}&period={$period}&date=last" . $dateLast . "&format=php&token_auth=" . $this->token_auth; }
/** * @param $idSite * @param $period * @param $lastTimestampWebsiteProcessed * @return string */ private function getDateLastN($idSite, $period, $lastTimestampWebsiteProcessed) { $dateLastMax = self::DEFAULT_DATE_LAST; if ($period == 'year') { $dateLastMax = self::DEFAULT_DATE_LAST_YEARS; } elseif ($period == 'week') { $dateLastMax = self::DEFAULT_DATE_LAST_WEEKS; } if (empty($lastTimestampWebsiteProcessed)) { $creationDateFor = \Piwik\Site::getCreationDateFor($idSite); $lastTimestampWebsiteProcessed = strtotime($creationDateFor); } // Enforcing last2 at minimum to work around timing issues and ensure we make most archives available $dateLast = floor((time() - $lastTimestampWebsiteProcessed) / 86400) + 2; if ($dateLast > $dateLastMax) { $dateLast = $dateLastMax; } if (!empty($this->dateLastForced)) { $dateLast = $this->dateLastForced; } return "last" . $dateLast; }
/** * @param $idSite * @param $period * @param $lastTimestampWebsiteProcessed * @return float|int|true */ private function getApiDateLastParameter($idSite, $period, $lastTimestampWebsiteProcessed = false) { $dateLastMax = self::DEFAULT_DATE_LAST; if ($period == 'year') { $dateLastMax = self::DEFAULT_DATE_LAST_YEARS; } elseif ($period == 'week') { $dateLastMax = self::DEFAULT_DATE_LAST_WEEKS; } if (empty($lastTimestampWebsiteProcessed)) { $lastTimestampWebsiteProcessed = strtotime(\Piwik\Site::getCreationDateFor($idSite)); } // Enforcing last2 at minimum to work around timing issues and ensure we make most archives available $dateLast = floor((time() - $lastTimestampWebsiteProcessed) / 86400) + 2; if ($dateLast > $dateLastMax) { $dateLast = $dateLastMax; } $dateLastForced = $this->getParameterFromCli('--force-date-last-n', true); if (!empty($dateLastForced)) { $dateLast = $dateLastForced; return $dateLast; } return $dateLast; }