Piwik\Archive::invalidatedReportsIfNeeded PHP Method

invalidatedReportsIfNeeded() private method

    private function invalidatedReportsIfNeeded()
    {
        $siteIdsRequested = $this->getSiteIdsThatAreRequestedInThisArchiveButWereNotInvalidatedYet();
        if (empty($siteIdsRequested)) {
            return;
            // all requested site ids were already handled
        }
        $sitesPerDays = $this->invalidator->getRememberedArchivedReportsThatShouldBeInvalidated();
        foreach ($sitesPerDays as $date => $siteIds) {
            if (empty($siteIds)) {
                continue;
            }
            $siteIdsToActuallyInvalidate = array_intersect($siteIds, $siteIdsRequested);
            if (empty($siteIdsToActuallyInvalidate)) {
                continue;
                // all site ids that should be handled are already handled
            }
            try {
                $this->invalidator->markArchivesAsInvalidated($siteIdsToActuallyInvalidate, array(Date::factory($date)), false);
            } catch (\Exception $e) {
                Site::clearCache();
                throw $e;
            }
        }
        Site::clearCache();
    }