function parseFeed($url, $date = 0) { $thisFeed = array(); $feed_title = ''; if (preg_match("/^http/", $url)) { try { $doc = createDOMfromURL($url); $feed_title = $doc->getElementsByTagName('title')->item(0)->nodeValue; $item = $doc->getElementsByTagName('item'); foreach ($item as $item) { $articleInfo = array('title' => $item->getElementsByTagName('title')->item(0)->nodeValue, 'link' => $item->getElementsByTagName('link')->item(0)->nodeValue, 'id' => $item->getElementsByTagName('id')->item(0)->nodeValue, 'pubDate' => $item->getElementsByTagName('pubDate')->item(0)->nodeValue); if ($date == 0 || strtotime($articleInfo['pubDate']) > strtotime($date)) { array_push($thisFeed, $articleInfo); } } $entry = $doc->getElementsByTagName('entry'); foreach ($entry as $entry) { $articleInfo = array('title' => $entry->getElementsByTagName('title')->item(0)->nodeValue, 'link' => $entry->getElementsByTagName('link')->item(0)->getAttribute('href'), 'id' => $entry->getElementsByTagName('id')->item(0)->nodeValue, 'pubDate' => $entry->getElementsByTagName('pubDate')->item(0)->nodeValue, 'published' => $entry->getElementsByTagName('published')->item(0)->nodeValue); foreach ($articleInfo as $key => $value) { $articleInfo[$key] = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); } if ($date == 0 || strtotime($articleInfo['pubDate']) > strtotime($date) || strtotime($articleInfo['published']) > strtotime($date)) { array_push($thisFeed, $articleInfo); } } } catch (Exception $e) { $form_error = 15; } } $feed_title = htmlspecialchars($feed_title, ENT_QUOTES, 'UTF-8'); return array($thisFeed, $feed_title); }
public function parseFeed($url, $date = 0) { $parsed_payload = array(); $feed_title = ''; if (preg_match("/^http/", $url)) { try { $doc = createDOMfromURL($url); $feed_title = $doc->getElementsByTagName('title')->item(0)->nodeValue; $item = $doc->getElementsByTagName('item'); foreach ($item as $item) { $articleInfo = array('title' => $item->getElementsByTagName('title')->item(0)->nodeValue, 'link' => $item->getElementsByTagName('link')->item(0)->nodeValue, 'id' => $item->getElementsByTagName('id')->item(0)->nodeValue, 'pubDate' => $item->getElementsByTagName('pubDate')->item(0)->nodeValue); if ($date == 0 || strtotime($articleInfo['pubDate']) > strtotime($date)) { array_push($parsed_payload, $articleInfo); } } $entry = $doc->getElementsByTagName('entry'); foreach ($entry as $entry) { $articleInfo = array('title' => $entry->getElementsByTagName('title')->item(0)->nodeValue, 'link' => $entry->getElementsByTagName('link')->item(0)->getAttribute('href'), 'id' => $entry->getElementsByTagName('id')->item(0)->nodeValue, 'pubDate' => $entry->getElementsByTagName('pubDate')->item(0)->nodeValue, 'published' => $entry->getElementsByTagName('published')->item(0)->nodeValue); foreach ($articleInfo as $key => $value) { $articleInfo[$key] = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); } if ($date == 0 || strtotime($articleInfo['pubDate']) > strtotime($date) || strtotime($articleInfo['published']) > strtotime($date)) { array_push($parsed_payload, $articleInfo); } } } catch (Exception $e) { $logger = Logger::getInstance(); $logger->logStatus('parseFeed Exception caught: ' . $e->getMessage(), get_class($this)); } } $feed_title = htmlspecialchars($feed_title, ENT_QUOTES, 'UTF-8'); return array($parsed_payload, $feed_title); }