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;
}