isRequestAuthorizedToArchive() public static method

public static isRequestAuthorizedToArchive ( )
コード例 #1
0
 /**
  * Returns the SQL condition used to find successfully completed archives that
  * this instance is querying for.
  *
  * @param array $plugins
  * @param Segment $segment
  * @param bool $isSkipAggregationOfSubTables
  * @return string
  */
 private static function getNameCondition(array $plugins, Segment $segment, $isSkipAggregationOfSubTables)
 {
     // the flags used to tell how the archiving process for a specific archive was completed,
     // if it was completed
     $doneFlags = Rules::getDoneFlags($plugins, $segment, $isSkipAggregationOfSubTables);
     $allDoneFlags = "'" . implode("','", $doneFlags) . "'";
     $possibleValues = array(ArchiveWriter::DONE_OK, ArchiveWriter::DONE_OK_TEMPORARY);
     if (!Rules::isRequestAuthorizedToArchive()) {
         //If request is not authorized to archive then fetch also invalidated archives
         $possibleValues[] = ArchiveWriter::DONE_INVALIDATED;
     }
     // create the SQL to find archives that are DONE
     return "((name IN ({$allDoneFlags})) AND " . " (value IN (" . implode(',', $possibleValues) . ")))";
 }
コード例 #2
0
ファイル: Segment.php プロジェクト: piwik/piwik
 /**
  * Detects whether the Piwik instance is configured to be able to archive this segment. It checks whether the segment
  * will be either archived via browser or cli archiving. It does not check if the segment has been archived. If you
  * want to know whether the segment has been archived, the actual report data needs to be requested.
  *
  * This method does not take any date/period into consideration. Meaning a Piwik instance might be able to archive
  * this segment in general, but not for a certain period if eg the archiving of range dates is disabled.
  *
  * @return bool
  */
 public function willBeArchived()
 {
     if ($this->isEmpty()) {
         return true;
     }
     $idSites = $this->idSites;
     if (!is_array($idSites)) {
         $idSites = array($this->idSites);
     }
     return Rules::isRequestAuthorizedToArchive() || Rules::isBrowserArchivingAvailableForSegments() || Rules::isSegmentPreProcessed($idSites, $this);
 }
コード例 #3
0
 /**
  * Returns the SQL condition used to find successfully completed archives that
  * this instance is querying for.
  *
  * @return string
  */
 private static function getPossibleValues()
 {
     $possibleValues = array(ArchiveWriter::DONE_OK, ArchiveWriter::DONE_OK_TEMPORARY);
     if (!Rules::isRequestAuthorizedToArchive()) {
         //If request is not authorized to archive then fetch also invalidated archives
         $possibleValues[] = ArchiveWriter::DONE_INVALIDATED;
     }
     return $possibleValues;
 }
コード例 #4
0
ファイル: Tasks.php プロジェクト: FluentDevelopment/piwik
 /**
  * we should only purge outdated & custom range archives if we know cron archiving has just run,
  * or if browser triggered archiving is enabled. if cron archiving has run, then we know the latest
  * archives are in the database, and we can remove temporary ones. if browser triggered archiving is
  * enabled, then we know any archives that are wrongly purged, can be re-archived on demand.
  * this prevents some situations where "no data" is displayed for reports that should have data.
  *
  * @return bool
  */
 private function willPurgingCausePotentialProblemInUI()
 {
     return !Rules::isRequestAuthorizedToArchive();
 }