piwik/core/Archive.php
/**
     * Returns a new Archive instance that will query archive data for the given set of
     * sites and periods, using an optional Segment.
     *
     * This method uses data that is found in query parameters, so the parameters to this
     * function can be string values.
     *
     * If you want to create an Archive instance with an array of Period instances, use
     * {@link Archive::factory()}.
     *
     * @param string|int|array $idSites A single ID (eg, `'1'`), multiple IDs (eg, `'1,2,3'` or `array(1, 2, 3)`),
     *                                  or `'all'`.
     * @param string $period 'day', `'week'`, `'month'`, `'year'` or `'range'`
     * @param Date|string $strDate 'YYYY-MM-DD', magic keywords (ie, 'today'; {@link Date::factory()}
     *                             or date range (ie, 'YYYY-MM-DD,YYYY-MM-DD').
     * @param bool|false|string $segment Segment definition or false if no segment should be used. {@link Piwik\Segment}
     * @param bool|false|string $_restrictSitesToLogin Used only when running as a scheduled task.
     * @return Archive
     */
Returns a new Archive instance that will query archive data for the given set of
sites and periods, using an optional Segment.

This method uses data that is found in query parameters, so the parameters to this
function can be string values.

If you want to create an Archive instance with an array of Period instances, use
Archive::factory().

@param string|int|array $idSites A single ID , multiple IDs `),
or `'all'`.
Returns a new Archive instance that will query archive data for the given set of sites and periods using an optional Segment . This method uses data that is found in query parameters so the parameters to this function can be string values . If you want to create an Archive instance with an array of Period instances use Archive :: factory () . @param string|int|array $idSites A single ID multiple IDs ` ) or ` ' all ' ` .
public static function build($idSites, $period, $strDate, $segment = false, $_restrictSitesToLogin = false)
    {
        $websiteIds = Site::getIdSitesFromIdSitesString($idSites, $_restrictSitesToLogin);
        $timezone = false;
        if (count($websiteIds) == 1) {
            $timezone = Site::getTimezoneFor($websiteIds[0]);
        }
        if (Period::isMultiplePeriod($strDate, $period)) {
            $oPeriod    = PeriodFactory::build($period, $strDate, $timezone);
            $allPeriods = $oPeriod->getSubperiods();
        } else {
            $oPeriod    = PeriodFactory::makePeriodFromQueryParams($timezone, $period, $strDate);
            $allPeriods = array($oPeriod);
        }
        $segment        = new Segment($segment, $websiteIds);
        $idSiteIsAll    = $idSites == self::REQUEST_ALL_WEBSITES_FLAG;
        $isMultipleDate = Period::isMultiplePeriod($strDate, $period);
        return Archive::factory($segment, $allPeriods, $websiteIds, $idSiteIsAll, $isMultipleDate);
    }
public static function build ( $ idSites , $ period , $ strDate , $ segment = false , $ _restrictSitesToLogin = false ) { $ websiteIds = Site :: getIdSitesFromIdSitesString ( $ idSites , $ _restrictSitesToLogin ) ; $ timezone = false ; if ( count ( $ websiteIds ) == 1 ) { $ timezone = Site :: getTimezoneFor ( $ websiteIds [ 0 ] ) ; } if ( Period :: isMultiplePeriod ( $ strDate , $ period ) ) { $ oPeriod = PeriodFactory :: build ( $ period , $ strDate , $ timezone ) ; $ allPeriods = $ oPeriod -> getSubperiods ( ) ; } else { $ oPeriod = PeriodFactory :: makePeriodFromQueryParams ( $ timezone , $ period , $ strDate ) ; $ allPeriods = array ( $ oPeriod ) ; } $ segment = new Segment ( $ segment , $ websiteIds ) ; $ idSiteIsAll = $ idSites == self :: REQUEST_ALL_WEBSITES_FLAG ; $ isMultipleDate = Period :: isMultiplePeriod ( $ strDate , $ period ) ; return Archive :: factory ( $ segment , $ allPeriods , $ websiteIds , $ idSiteIsAll , $ isMultipleDate ) ; }
Returns a new Archive instance that will query archive data for the given set of
 sites and periods, using an optional Segment.
Returns a new Archive instance that will query archive data for the given set of sites and periods using an optional Segment .