FeedDiscussionsPlugin::CheckFeeds PHP Method

CheckFeeds() public method

Time to update from RSS?
public CheckFeeds ( boolean $AutoImport = TRUE ) : boolean | integer
$AutoImport boolean
return boolean | integer
    public function CheckFeeds($AutoImport = TRUE)
    {
        Gdn::Controller()->SetData("AutoImport", $AutoImport);
        $NeedToPoll = 0;
        foreach ($this->GetFeeds() as $FeedURL => $FeedData) {
            Gdn::Controller()->SetData("{$FeedURL}", $FeedData);
            // Check feed here
            $LastImport = GetValue('LastImport', $FeedData) == 'never' ? NULL : strtotime(GetValue('LastImport', $FeedData));
            if (is_null($LastImport)) {
                $LastImport = strtotime(GetValue('Added', $FeedData, 0));
            }
            $Historical = (bool) GetValue('Historical', $FeedData, FALSE);
            $Delay = GetValue('Refresh', $FeedData);
            $DelayStr = '+' . str_replace(array('m', 'h', 'd', 'w'), array('minutes', 'hours', 'days', 'weeks'), $Delay);
            $DelayMinTime = strtotime($DelayStr, $LastImport);
            if ($LastImport && time() > $DelayMinTime || !$LastImport && (time() > $DelayMinTime || $Historical)) {
                if ($AutoImport) {
                    $NeedToPoll = $NeedToPoll | 1;
                    $this->PollFeed($FeedURL, $LastImport);
                } else {
                    return TRUE;
                }
            }
        }
        $NeedToPoll = (bool) $NeedToPoll;
        if ($NeedToPoll && $AutoImport) {
            Gdn::Controller()->StatusCode(201);
        }
        return $NeedToPoll;
    }