Piwik\Plugins\ScheduledReports\ScheduledReports::segmentUpdated PHP Method

segmentUpdated() public method

public segmentUpdated ( $idSegment, $updatedSegment )
    public function segmentUpdated($idSegment, $updatedSegment)
    {
        $reportsUsingSegment = API::getInstance()->getReports(false, false, false, false, $idSegment);
        $reportsNeedSegment = array();
        if (!$updatedSegment['enable_all_users']) {
            // which reports would become invisible to other users?
            foreach ($reportsUsingSegment as $report) {
                if ($report['login'] == Piwik::getCurrentUserLogin()) {
                    continue;
                }
                $reportsNeedSegment[] = $report;
            }
        }
        if ($updatedSegment['enable_only_idsite']) {
            // which reports from other websites are set to use this segment restricted to one website?
            foreach ($reportsUsingSegment as $report) {
                if ($report['idsite'] == $updatedSegment['enable_only_idsite']) {
                    continue;
                }
                $reportsNeedSegment[] = $report;
            }
        }
        if (empty($reportsNeedSegment)) {
            return;
        }
        $this->throwExceptionReportsAreUsingSegment($reportsNeedSegment);
    }