Piwik\ArchiveProcessor\Rules::getDoneFlags PHP Method

getDoneFlags() public static method

Return done flags used to tell how the archiving process for a specific archive was completed,
public static getDoneFlags ( array $plugins, Segment $segment ) : array
$plugins array
$segment Piwik\Segment
return array
    public static function getDoneFlags(array $plugins, Segment $segment)
    {
        $doneFlags = array();
        $doneAllPlugins = self::getDoneFlagArchiveContainsAllPlugins($segment);
        $doneFlags[$doneAllPlugins] = $doneAllPlugins;
        $plugins = array_unique($plugins);
        foreach ($plugins as $plugin) {
            $doneOnePlugin = self::getDoneFlagArchiveContainsOnePlugin($segment, $plugin);
            $doneFlags[$plugin] = $doneOnePlugin;
        }
        return $doneFlags;
    }

Usage Example

コード例 #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) . ")))";
 }
All Usage Examples Of Piwik\ArchiveProcessor\Rules::getDoneFlags