| | |
| | | function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null) |
| | | { |
| | | // Other objects, instances created here so we can set options on them |
| | | $this->sanitize =& new SimplePie_Sanitize; |
| | | $this->sanitize = new SimplePie_Sanitize; |
| | | |
| | | // Set options if they're passed to the constructor |
| | | if ($cache_location !== null) |
| | |
| | | { |
| | | if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Sanitize')) |
| | | { |
| | | $this->sanitize =& new $class; |
| | | $this->sanitize = new $class; |
| | | return true; |
| | | } |
| | | return false; |
| | |
| | | { |
| | | $headers['if-none-match'] = '"' . $this->data['headers']['etag'] . '"'; |
| | | } |
| | | $file =& new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen); |
| | | $file = new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen); |
| | | if ($file->success) |
| | | { |
| | | if ($file->status_code === 304) |
| | |
| | | } |
| | | else |
| | | { |
| | | $file =& new $this->file_class($this->feed_url, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen); |
| | | $file = new $this->file_class($this->feed_url, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen); |
| | | } |
| | | } |
| | | // If the file connection has an error, set SimplePie::error to that and quit |
| | |
| | | if (!$this->force_feed) |
| | | { |
| | | // Check if the supplied URL is a feed, if it isn't, look for it. |
| | | $locate =& new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class); |
| | | $locate = new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class); |
| | | if (!$locate->is_feed($file)) |
| | | { |
| | | // We need to unset this so that if SimplePie::set_file() has been called that object is untouched |
| | |
| | | |
| | | $headers = $file->headers; |
| | | $data = $file->body; |
| | | $sniffer =& new $this->content_type_sniffer_class($file); |
| | | $sniffer = new $this->content_type_sniffer_class($file); |
| | | $sniffed = $sniffer->get_type(); |
| | | } |
| | | else |
| | |
| | | if ($utf8_data = SimplePie_Misc::change_encoding($data, $encoding, 'UTF-8')) |
| | | { |
| | | // Create new parser |
| | | $parser =& new $this->parser_class(); |
| | | $parser = new $this->parser_class(); |
| | | |
| | | // If it's parsed fine |
| | | if ($parser->parse($utf8_data, 'UTF-8')) |
| | |
| | | } |
| | | else |
| | | { |
| | | $file =& new $this->file_class($favicon, $this->timeout / 10, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen); |
| | | $file = new $this->file_class($favicon, $this->timeout / 10, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen); |
| | | |
| | | if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0) |
| | | { |
| | | $sniffer =& new $this->content_type_sniffer_class($file); |
| | | $sniffer = new $this->content_type_sniffer_class($file); |
| | | if (substr($sniffer->get_type(), 0, 6) === 'image/') |
| | | { |
| | | if ($cache->save(array('headers' => $file->headers, 'body' => $file->body))) |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->category_class($term, $scheme, $label); |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category) |
| | | { |
| | |
| | | { |
| | | $scheme = null; |
| | | } |
| | | $categories[] =& new $this->category_class($term, $scheme, null); |
| | | $categories[] = new $this->category_class($term, $scheme, null); |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($categories)) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $authors[] =& new $this->author_class($name, $uri, $email); |
| | | $authors[] = new $this->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $authors[] =& new $this->author_class($name, $url, $email); |
| | | $authors[] = new $this->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) |
| | | { |
| | | $authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($authors)) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $contributors[] =& new $this->author_class($name, $uri, $email); |
| | | $contributors[] = new $this->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $contributors[] =& new $this->author_class($name, $url, $email); |
| | | $contributors[] = new $this->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | |
| | |
| | | $keys = array_keys($items); |
| | | foreach ($keys as $key) |
| | | { |
| | | $this->data['items'][] =& new $this->item_class($this, $items[$key]); |
| | | $this->data['items'][] = new $this->item_class($this, $items[$key]); |
| | | } |
| | | } |
| | | if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry')) |
| | |
| | | $keys = array_keys($items); |
| | | foreach ($keys as $key) |
| | | { |
| | | $this->data['items'][] =& new $this->item_class($this, $items[$key]); |
| | | $this->data['items'][] = new $this->item_class($this, $items[$key]); |
| | | } |
| | | } |
| | | if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item')) |
| | |
| | | $keys = array_keys($items); |
| | | foreach ($keys as $key) |
| | | { |
| | | $this->data['items'][] =& new $this->item_class($this, $items[$key]); |
| | | $this->data['items'][] = new $this->item_class($this, $items[$key]); |
| | | } |
| | | } |
| | | if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item')) |
| | |
| | | $keys = array_keys($items); |
| | | foreach ($keys as $key) |
| | | { |
| | | $this->data['items'][] =& new $this->item_class($this, $items[$key]); |
| | | $this->data['items'][] = new $this->item_class($this, $items[$key]); |
| | | } |
| | | } |
| | | if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item')) |
| | |
| | | $keys = array_keys($items); |
| | | foreach ($keys as $key) |
| | | { |
| | | $this->data['items'][] =& new $this->item_class($this, $items[$key]); |
| | | $this->data['items'][] = new $this->item_class($this, $items[$key]); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category) |
| | | { |
| | |
| | | { |
| | | $scheme = null; |
| | | } |
| | | $categories[] =& new $this->feed->category_class($term, $scheme, null); |
| | | $categories[] = new $this->feed->category_class($term, $scheme, null); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($categories)) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $contributors[] =& new $this->feed->author_class($name, $uri, $email); |
| | | $contributors[] = new $this->feed->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $contributors[] =& new $this->feed->author_class($name, $url, $email); |
| | | $contributors[] = new $this->feed->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $authors[] =& new $this->feed->author_class($name, $uri, $email); |
| | | $authors[] = new $this->feed->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $authors[] =& new $this->feed->author_class($name, $url, $email); |
| | | $authors[] = new $this->feed->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author')) |
| | | { |
| | | $authors[] =& new $this->feed->author_class(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)); |
| | | $authors[] = new $this->feed->author_class(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) |
| | | { |
| | | $authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($authors)) |
| | |
| | | { |
| | | $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | $captions_parent[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | } |
| | | } |
| | | elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text')) |
| | |
| | | { |
| | | $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | $captions_parent[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | } |
| | | } |
| | | if (is_array($captions_parent)) |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories_parent[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category) |
| | | { |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories_parent[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category) |
| | | { |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories_parent[] = new $this->feed->category_class($term, $scheme, $label); |
| | | |
| | | if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category'])) |
| | | { |
| | |
| | | { |
| | | $label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories_parent[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories_parent[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | $copyrights_parent = new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | } |
| | | elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright')) |
| | | { |
| | |
| | | { |
| | | $copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | $copyrights_parent = new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | } |
| | | |
| | | // CREDITS |
| | |
| | | { |
| | | $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | $credits_parent[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | } |
| | | } |
| | | elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit')) |
| | |
| | | { |
| | | $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | $credits_parent[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | } |
| | | } |
| | | if (is_array($credits_parent)) |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | } |
| | | elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit')) |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | } |
| | | elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating')) |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | } |
| | | elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit')) |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings_parent[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | } |
| | | if (is_array($ratings_parent)) |
| | |
| | | { |
| | | $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | } |
| | | elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block')) |
| | |
| | | { |
| | | $restriction_relationship = 'deny'; |
| | | } |
| | | $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | } |
| | | elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction')) |
| | |
| | | { |
| | | $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | } |
| | | elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block')) |
| | |
| | | { |
| | | $restriction_relationship = 'deny'; |
| | | } |
| | | $restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions_parent[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | } |
| | | if (is_array($restrictions_parent)) |
| | |
| | | { |
| | | $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | } |
| | | if (is_array($captions)) |
| | | { |
| | |
| | | { |
| | | $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | } |
| | | if (is_array($captions)) |
| | | { |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | } |
| | | if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'])) |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | } |
| | | if (is_array($categories) && is_array($categories_parent)) |
| | |
| | | { |
| | | $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | } |
| | | elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'])) |
| | | { |
| | |
| | | { |
| | | $copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | } |
| | | if (is_array($credits)) |
| | | { |
| | |
| | | { |
| | | $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | } |
| | | if (is_array($credits)) |
| | | { |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | if (is_array($ratings)) |
| | | { |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | if (is_array($ratings)) |
| | | { |
| | |
| | | { |
| | | $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | if (is_array($restrictions)) |
| | | { |
| | |
| | | { |
| | | $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | if (is_array($restrictions)) |
| | | { |
| | |
| | | $title = $title_parent; |
| | | } |
| | | |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | $caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | $captions[] = new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text); |
| | | } |
| | | if (is_array($captions)) |
| | | { |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->feed->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->feed->category_class($term, $scheme, $label); |
| | | } |
| | | } |
| | | if (is_array($categories) && is_array($categories_parent)) |
| | |
| | | { |
| | | $copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | $copyrights = new $this->feed->copyright_class($copyright_url, $copyright_label); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | $credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | $credits[] = new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name); |
| | | } |
| | | if (is_array($credits)) |
| | | { |
| | |
| | | { |
| | | $rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | $ratings[] = new $this->feed->rating_class($rating_scheme, $rating_value); |
| | | } |
| | | if (is_array($ratings)) |
| | | { |
| | |
| | | { |
| | | $restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | $restrictions[] = new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value); |
| | | } |
| | | if (is_array($restrictions)) |
| | | { |
| | |
| | | $title = $title_parent; |
| | | } |
| | | |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | } |
| | | } |
| | | |
| | | if (sizeof($this->data['enclosures']) === 0 && ($url || $type || $length || $bitrate || $captions_parent || $categories_parent || $channels || $copyrights_parent || $credits_parent || $description_parent || $duration_parent || $expression || $framerate || $hashes_parent || $height || $keywords_parent || $lang || $medium || $player_parent || $ratings_parent || $restrictions_parent || $samplingrate || $thumbnails_parent || $title_parent || $width)) |
| | | { |
| | | // Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor |
| | | $this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | $this->data['enclosures'][] = new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width); |
| | | } |
| | | |
| | | $this->data['enclosures'] = array_values(SimplePie_Misc::array_unique($this->data['enclosures'])); |
| | |
| | | { |
| | | $label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT); |
| | | } |
| | | $categories[] =& new $this->item->feed->category_class($term, $scheme, $label); |
| | | $categories[] = new $this->item->feed->category_class($term, $scheme, $label); |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category) |
| | | { |
| | |
| | | { |
| | | $scheme = null; |
| | | } |
| | | $categories[] =& new $this->item->feed->category_class($term, $scheme, null); |
| | | $categories[] = new $this->item->feed->category_class($term, $scheme, null); |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category) |
| | | { |
| | | $categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $categories[] = new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($categories)) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $authors[] =& new $this->item->feed->author_class($name, $uri, $email); |
| | | $authors[] = new $this->item->feed->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $authors[] =& new $this->item->feed->author_class($name, $url, $email); |
| | | $authors[] = new $this->item->feed->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) |
| | | { |
| | | $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) |
| | | { |
| | | $authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | $authors[] = new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null); |
| | | } |
| | | |
| | | if (!empty($authors)) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $uri !== null) |
| | | { |
| | | $contributors[] =& new $this->item->feed->author_class($name, $uri, $email); |
| | | $contributors[] = new $this->item->feed->author_class($name, $uri, $email); |
| | | } |
| | | } |
| | | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor) |
| | |
| | | } |
| | | if ($name !== null || $email !== null || $url !== null) |
| | | { |
| | | $contributors[] =& new $this->item->feed->author_class($name, $url, $email); |
| | | $contributors[] = new $this->item->feed->author_class($name, $url, $email); |
| | | } |
| | | } |
| | | |
| | |
| | | $this->width = $width; |
| | | if (class_exists('idna_convert')) |
| | | { |
| | | $idn =& new idna_convert; |
| | | $idn = new idna_convert; |
| | | $parsed = SimplePie_Misc::parse_url($link); |
| | | $this->link = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']); |
| | | } |
| | |
| | | { |
| | | if (class_exists('idna_convert')) |
| | | { |
| | | $idn =& new idna_convert; |
| | | $idn = new idna_convert; |
| | | $parsed = SimplePie_Misc::parse_url($url); |
| | | $url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']); |
| | | } |
| | |
| | | curl_close($fp); |
| | | $this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1); |
| | | $this->headers = array_pop($this->headers); |
| | | $parser =& new SimplePie_HTTP_Parser($this->headers); |
| | | $parser = new SimplePie_HTTP_Parser($this->headers); |
| | | if ($parser->parse()) |
| | | { |
| | | $this->headers = $parser->headers; |
| | |
| | | } |
| | | if (!$info['timed_out']) |
| | | { |
| | | $parser =& new SimplePie_HTTP_Parser($this->headers); |
| | | $parser = new SimplePie_HTTP_Parser($this->headers); |
| | | if ($parser->parse()) |
| | | { |
| | | $this->headers = $parser->headers; |
| | |
| | | { |
| | | case 'gzip': |
| | | case 'x-gzip': |
| | | $decoder =& new SimplePie_gzdecode($this->body); |
| | | $decoder = new SimplePie_gzdecode($this->body); |
| | | if (!$decoder->parse()) |
| | | { |
| | | $this->error = 'Unable to decode HTTP "gzip" stream'; |
| | |
| | | */ |
| | | function create($location, $filename, $extension) |
| | | { |
| | | $location_iri =& new SimplePie_IRI($location); |
| | | $location_iri = new SimplePie_IRI($location); |
| | | switch ($location_iri->get_scheme()) |
| | | { |
| | | case 'mysql': |
| | |
| | | |
| | | function parse_url($url) |
| | | { |
| | | $iri =& new SimplePie_IRI($url); |
| | | $iri = new SimplePie_IRI($url); |
| | | return array( |
| | | 'scheme' => (string) $iri->get_scheme(), |
| | | 'authority' => (string) $iri->get_authority(), |
| | |
| | | |
| | | function compress_parse_url($scheme = '', $authority = '', $path = '', $query = '', $fragment = '') |
| | | { |
| | | $iri =& new SimplePie_IRI(''); |
| | | $iri = new SimplePie_IRI(''); |
| | | $iri->set_scheme($scheme); |
| | | $iri->set_authority($authority); |
| | | $iri->set_path($path); |
| | |
| | | |
| | | function normalize_url($url) |
| | | { |
| | | $iri =& new SimplePie_IRI($url); |
| | | $iri = new SimplePie_IRI($url); |
| | | return $iri->get_iri(); |
| | | } |
| | | |
| | |
| | | */ |
| | | function entities_decode($data) |
| | | { |
| | | $decoder =& new SimplePie_Decode_HTML_Entities($data); |
| | | $decoder = new SimplePie_Decode_HTML_Entities($data); |
| | | return $decoder->parse(); |
| | | } |
| | | |
| | |
| | | { |
| | | if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E")) |
| | | { |
| | | $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8')); |
| | | $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8')); |
| | | if ($parser->parse()) |
| | | { |
| | | $encoding[] = $parser->encoding; |
| | |
| | | { |
| | | if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00")) |
| | | { |
| | | $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8')); |
| | | $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8')); |
| | | if ($parser->parse()) |
| | | { |
| | | $encoding[] = $parser->encoding; |
| | |
| | | { |
| | | if ($pos = strpos($data, "\x00\x3F\x00\x3E")) |
| | | { |
| | | $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8')); |
| | | $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8')); |
| | | if ($parser->parse()) |
| | | { |
| | | $encoding[] = $parser->encoding; |
| | |
| | | { |
| | | if ($pos = strpos($data, "\x3F\x00\x3E\x00")) |
| | | { |
| | | $parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8')); |
| | | $parser = new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8')); |
| | | if ($parser->parse()) |
| | | { |
| | | $encoding[] = $parser->encoding; |
| | |
| | | { |
| | | if ($pos = strpos($data, "\x3F\x3E")) |
| | | { |
| | | $parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); |
| | | $parser = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); |
| | | if ($parser->parse()) |
| | | { |
| | | $encoding[] = $parser->encoding; |
| | |
| | | $relative = (string) $relative; |
| | | if ($relative !== '') |
| | | { |
| | | $relative =& new SimplePie_IRI($relative); |
| | | $relative = new SimplePie_IRI($relative); |
| | | if ($relative->get_scheme() !== null) |
| | | { |
| | | $target = $relative; |
| | |
| | | } |
| | | else |
| | | { |
| | | $target =& new SimplePie_IRI(''); |
| | | $target = new SimplePie_IRI(''); |
| | | $target->set_scheme($base->get_scheme()); |
| | | $target->set_userinfo($base->get_userinfo()); |
| | | $target->set_host($base->get_host()); |
| | |
| | | static $object; |
| | | if (!$object) |
| | | { |
| | | $object =& new SimplePie_Parse_Date; |
| | | $object = new SimplePie_Parse_Date; |
| | | } |
| | | return $object; |
| | | } |
| | |
| | | |
| | | if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE) |
| | | { |
| | | $sniffer =& new $this->content_type_sniffer_class($this->file); |
| | | $sniffer = new $this->content_type_sniffer_class($this->file); |
| | | if ($sniffer->get_type() !== 'text/html') |
| | | { |
| | | return null; |
| | |
| | | { |
| | | if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE) |
| | | { |
| | | $sniffer =& new $this->content_type_sniffer_class($file); |
| | | $sniffer = new $this->content_type_sniffer_class($file); |
| | | $sniffed = $sniffer->get_type(); |
| | | if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml'))) |
| | | { |
| | |
| | | if (!in_array($href, $done) && in_array('feed', $rel) || (in_array('alternate', $rel) && !empty($link['attribs']['type']['data']) && in_array(strtolower(SimplePie_Misc::parse_mime($link['attribs']['type']['data'])), array('application/rss+xml', 'application/atom+xml'))) && !isset($feeds[$href])) |
| | | { |
| | | $this->checked_feeds++; |
| | | $feed =& new $this->file_class($href, $this->timeout, 5, null, $this->useragent); |
| | | $feed = new $this->file_class($href, $this->timeout, 5, null, $this->useragent); |
| | | if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed)) |
| | | { |
| | | $feeds[$href] = $feed; |
| | |
| | | if (in_array(strtolower(strrchr($value, '.')), array('.rss', '.rdf', '.atom', '.xml'))) |
| | | { |
| | | $this->checked_feeds++; |
| | | $feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent); |
| | | $feed = new $this->file_class($value, $this->timeout, 5, null, $this->useragent); |
| | | if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed)) |
| | | { |
| | | return $feed; |
| | |
| | | if (preg_match('/(rss|rdf|atom|xml)/i', $value)) |
| | | { |
| | | $this->checked_feeds++; |
| | | $feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent); |
| | | $feed = new $this->file_class($value, $this->timeout, 5, null, $this->useragent); |
| | | if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed)) |
| | | { |
| | | return $feed; |
| | |
| | | |
| | | if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false) |
| | | { |
| | | $declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); |
| | | $declaration = new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5)); |
| | | if ($declaration->parse()) |
| | | { |
| | | $data = substr($data, $pos + 2); |
| | |
| | | else |
| | | { |
| | | libxml_clear_errors(); |
| | | $xml =& new XMLReader(); |
| | | $xml = new XMLReader(); |
| | | $xml->xml($data); |
| | | while (@$xml->read()) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | $file =& new $this->file_class($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen); |
| | | $file = new $this->file_class($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen); |
| | | $headers = $file->headers; |
| | | |
| | | if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300))) |