當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Rules::isArchivingDisabledFor方法代碼示例

本文整理匯總了PHP中Piwik\ArchiveProcessor\Rules::isArchivingDisabledFor方法的典型用法代碼示例。如果您正苦於以下問題:PHP Rules::isArchivingDisabledFor方法的具體用法?PHP Rules::isArchivingDisabledFor怎麽用?PHP Rules::isArchivingDisabledFor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Piwik\ArchiveProcessor\Rules的用法示例。


在下文中一共展示了Rules::isArchivingDisabledFor方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getMinTimeProcessedForTemporaryArchive

 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;
 }
開發者ID:diosmosis,項目名稱:piwik,代碼行數:19,代碼來源:Rules.php

示例2: getArchiveIds

 /**
  * Returns archive IDs for the sites, periods and archive names that are being
  * queried. This function will use the idarchive cache if it has the right data,
  * query archive tables for IDs w/o launching archiving, or launch archiving and
  * get the idarchive from ArchiveProcessor instances.
  */
 private function getArchiveIds($archiveNames)
 {
     $plugins = $this->getRequestedPlugins($archiveNames);
     // figure out which archives haven't been processed (if an archive has been processed,
     // then we have the archive IDs in $this->idarchives)
     $doneFlags = array();
     $archiveGroups = array();
     foreach ($plugins as $plugin) {
         $doneFlag = $this->getDoneStringForPlugin($plugin);
         $doneFlags[$doneFlag] = true;
         if (!isset($this->idarchives[$doneFlag])) {
             $archiveGroup = $this->getArchiveGroupOfPlugin($plugin);
             if ($archiveGroup == self::ARCHIVE_ALL_PLUGINS_FLAG) {
                 $archiveGroup = reset($plugins);
             }
             $archiveGroups[] = $archiveGroup;
         }
     }
     $archiveGroups = array_unique($archiveGroups);
     // cache id archives for plugins we haven't processed yet
     if (!empty($archiveGroups)) {
         if (!Rules::isArchivingDisabledFor($this->params->getIdSites(), $this->params->getSegment(), $this->getPeriodLabel())) {
             $this->cacheArchiveIdsAfterLaunching($archiveGroups, $plugins);
         } else {
             $this->cacheArchiveIdsWithoutLaunching($plugins);
         }
     }
     // order idarchives by the table month they belong to
     $idArchivesByMonth = array();
     foreach (array_keys($doneFlags) as $doneFlag) {
         if (empty($this->idarchives[$doneFlag])) {
             continue;
         }
         foreach ($this->idarchives[$doneFlag] as $dateRange => $idarchives) {
             foreach ($idarchives as $id) {
                 $idArchivesByMonth[$dateRange][] = $id;
             }
         }
     }
     return $idArchivesByMonth;
 }
開發者ID:carriercomm,項目名稱:piwik,代碼行數:47,代碼來源:Archive.php

示例3: getArchiveIds

 /**
  * Returns archive IDs for the sites, periods and archive names that are being
  * queried. This function will use the idarchive cache if it has the right data,
  * query archive tables for IDs w/o launching archiving, or launch archiving and
  * get the idarchive from ArchiveProcessor instances.
  *
  * @param string $archiveNames
  * @return array
  */
 private function getArchiveIds($archiveNames)
 {
     $plugins = $this->getRequestedPlugins($archiveNames);
     // figure out which archives haven't been processed (if an archive has been processed,
     // then we have the archive IDs in $this->idarchives)
     $doneFlags = array();
     $archiveGroups = array();
     foreach ($plugins as $plugin) {
         $doneFlag = $this->getDoneStringForPlugin($plugin, $this->params->getIdSites());
         $doneFlags[$doneFlag] = true;
         if (!isset($this->idarchives[$doneFlag])) {
             $archiveGroup = $this->getArchiveGroupOfPlugin($plugin);
             if ($archiveGroup == self::ARCHIVE_ALL_PLUGINS_FLAG) {
                 $archiveGroup = reset($plugins);
             }
             $archiveGroups[] = $archiveGroup;
         }
         $globalDoneFlag = Rules::getDoneFlagArchiveContainsAllPlugins($this->params->getSegment());
         if ($globalDoneFlag !== $doneFlag) {
             $doneFlags[$globalDoneFlag] = true;
         }
     }
     $archiveGroups = array_unique($archiveGroups);
     // cache id archives for plugins we haven't processed yet
     if (!empty($archiveGroups)) {
         if (!Rules::isArchivingDisabledFor($this->params->getIdSites(), $this->params->getSegment(), $this->getPeriodLabel())) {
             $this->cacheArchiveIdsAfterLaunching($archiveGroups, $plugins);
         } else {
             $this->cacheArchiveIdsWithoutLaunching($plugins);
         }
     }
     $idArchivesByMonth = $this->getIdArchivesByMonth($doneFlags);
     return $idArchivesByMonth;
 }
開發者ID:diosmosis,項目名稱:piwik,代碼行數:43,代碼來源:Archive.php


注:本文中的Piwik\ArchiveProcessor\Rules::isArchivingDisabledFor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。