Piwik\ArchiveProcessor\Rules::isArchivingDisabledFor PHP Méthode

isArchivingDisabledFor() public static méthode

public static isArchivingDisabledFor ( array $idSites, Segment $segment, $periodLabel )
$idSites array
$segment Piwik\Segment
    public static function isArchivingDisabledFor(array $idSites, Segment $segment, $periodLabel)
    {
        $generalConfig = Config::getInstance()->General;
        if ($periodLabel == 'range') {
            if (!isset($generalConfig['archiving_range_force_on_browser_request']) || $generalConfig['archiving_range_force_on_browser_request'] != false) {
                return false;
            }
            Log::debug("Not forcing archiving for range period.");
            $processOneReportOnly = false;
        } else {
            $processOneReportOnly = !self::shouldProcessReportsAllPlugins($idSites, $segment, $periodLabel);
        }
        $isArchivingEnabled = self::isRequestAuthorizedToArchive() && !self::$archivingDisabledByTests;
        if ($processOneReportOnly) {
            // When there is a segment, we disable archiving when browser_archiving_disabled_enforce applies
            if (!$segment->isEmpty() && !$isArchivingEnabled && !self::isBrowserArchivingAvailableForSegments() && !SettingsServer::isArchivePhpTriggered()) {
                Log::debug("Archiving is disabled because of config setting browser_archiving_disabled_enforce=1");
                return true;
            }
            // Always allow processing one report
            return false;
        }
        return !$isArchivingEnabled;
    }

Usage Example

Exemple #1
0
 public static function getMinTimeProcessedForTemporaryArchive(Date $dateStart, \Piwik\Period $period, Segment $segment, Site $site)
 {
     $now = time();
     $minimumArchiveTime = $now - Rules::getTodayArchiveTimeToLive();
     $idSites = array($site->getId());
     $isArchivingDisabled = Rules::isArchivingDisabledFor($idSites, $segment, $period->getLabel());
     if ($isArchivingDisabled) {
         if ($period->getNumberOfSubperiods() == 0 && $dateStart->getTimestamp() <= $now) {
             // Today: accept any recent enough archive
             $minimumArchiveTime = false;
         } else {
             // This week, this month, this year:
             // accept any archive that was processed today after 00:00:01 this morning
             $timezone = $site->getTimezone();
             $minimumArchiveTime = Date::factory(Date::factory('now', $timezone)->getDateStartUTC())->setTimezone($timezone)->getTimestamp();
         }
     }
     return $minimumArchiveTime;
 }
All Usage Examples Of Piwik\ArchiveProcessor\Rules::isArchivingDisabledFor