| 198 | | // RSS/RDF Feed |
|---|
| 199 | | if (strpos($content, '<rss version=') !== false || strpos($content, '<rdf') !== false) { |
|---|
| 200 | | $xml = new SimpleXMLElement($content); |
|---|
| 201 | | $feedTitle = (string) $xml->channel->title; |
|---|
| 202 | | foreach ($xml->channel->item as $item) { |
|---|
| 203 | | $retrieved[$id][] = array((string) $item->title, (string) $item->link, $chans, $feedTitle); |
|---|
| | 198 | try { |
|---|
| | 199 | // RSS/RDF Feed |
|---|
| | 200 | if (strpos($content, '<rss version=') !== false || strpos($content, '<rdf') !== false) { |
|---|
| | 201 | $xml = new SimpleXMLElement($content); |
|---|
| | 202 | $feedTitle = (string) $xml->channel->title; |
|---|
| | 203 | foreach ($xml->channel->item as $item) { |
|---|
| | 204 | $retrieved[$id][] = array((string) $item->title, (string) $item->link, $chans, $feedTitle); |
|---|
| | 205 | } |
|---|
| | 206 | } elseif(strpos($content, '/Atom') !== false) { // ATOM Feed |
|---|
| | 207 | $xml = new SimpleXMLElement($content); |
|---|
| | 208 | $feedTitle = (string) $xml->title; |
|---|
| | 209 | foreach($xml->entry as $item) { |
|---|
| | 210 | $retrieved[$id][] = array((string) $item->title, (string) $item->link[0]['href'], $chans, $feedTitle); |
|---|
| | 211 | } |
|---|
| | 212 | } else { // Trouble |
|---|
| | 213 | $this->debug('Feed format unrecognized: ' . $url); |
|---|
| | 214 | continue; |
|---|
| 205 | | } elseif(strpos($content, '/Atom') !== false) { // ATOM Feed |
|---|
| 206 | | $xml = new SimpleXMLElement($content); |
|---|
| 207 | | $feedTitle = (string) $xml->title; |
|---|
| 208 | | foreach($xml->entry as $item) { |
|---|
| 209 | | $retrieved[$id][] = array((string) $item->title, (string) $item->link[0]['href'], $chans, $feedTitle); |
|---|
| 210 | | } |
|---|
| 211 | | } else { // Trouble |
|---|
| 212 | | $this->debug('Feed format unrecognized: ' . $url); |
|---|
| | 216 | } catch (Exception $e) { |
|---|
| | 217 | $this->debug('Caught exception: ', $e->getMessage()); |
|---|