wp/wp-includes/SimplePie/Item.php
author ymh <ymh.work@gmail.com>
Tue, 27 Sep 2022 16:37:53 +0200
changeset 19 3d72ae0968f4
parent 16 a86126ab1dd4
permissions -rw-r--r--
upgrade wordpress to 6.0.2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * A PHP-Based RSS and Atom Feed Framework.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Takes the hard work out of managing a complete RSS/Atom solution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     8
 * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * All rights reserved.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
 * Redistribution and use in source and binary forms, with or without modification, are
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
 * permitted provided that the following conditions are met:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 * 	* Redistributions of source code must retain the above copyright notice, this list of
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * 	  conditions and the following disclaimer.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * 	* Redistributions in binary form must reproduce the above copyright notice, this list
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 * 	  of conditions and the following disclaimer in the documentation and/or other materials
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 * 	  provided with the distribution.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
 * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
 * 	  to endorse or promote products derived from this software without specific prior
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
 * 	  written permission.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
 * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
 * POSSIBILITY OF SUCH DAMAGE.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
 * @package SimplePie
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    36
 * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
 * @author Ryan Parman
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    38
 * @author Sam Sneddon
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
 * @author Ryan McCue
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
 * @link http://simplepie.org/ SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
 * @license http://www.opensource.org/licenses/bsd-license.php BSD License
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
 * Manages all item-related data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
 * Used by {@see SimplePie::get_item()} and {@see SimplePie::get_items()}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
 * This class can be overloaded with {@see SimplePie::set_item_class()}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
 * @package SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
 * @subpackage API
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
class SimplePie_Item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
	 * Parent feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
	 * @var SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	var $feed;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	 * Raw data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
	 * @var array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
	var $data = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
	 * Registry object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
	 * @see set_registry
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
	 * @var SimplePie_Registry
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
	protected $registry;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
	 * Create a new item object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
	 * This is usually used by {@see SimplePie::get_items} and
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
	 * {@see SimplePie::get_item}. Avoid creating this manually.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
	 * @param SimplePie $feed Parent feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
	 * @param array $data Raw data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
	public function __construct($feed, $data)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
		$this->feed = $feed;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
		$this->data = $data;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
	 * Set the registry handler
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
	 * This is usually used by {@see SimplePie_Registry::create}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
	 * @since 1.3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
	 * @param SimplePie_Registry $registry
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
	public function set_registry(SimplePie_Registry $registry)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
		$this->registry = $registry;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
	 * Get a string representation of the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
	 * @return string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
	public function __toString()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
		return md5(serialize($this->data));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
	 * Remove items that link back to this before destroying this object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
	public function __destruct()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
	{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   124
		if (!gc_enabled())
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
			unset($this->feed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
	 * Get data for an item-level element
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
	 * This method allows you to get access to ANY element/attribute that is a
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
	 * sub-element of the item/entry tag.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
	 * See {@see SimplePie::get_feed_tags()} for a description of the return value
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
	 * @see http://simplepie.org/wiki/faq/supported_xml_namespaces
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
	 * @param string $namespace The URL of the XML namespace of the elements you're trying to access
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
	 * @param string $tag Tag name
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
	 * @return array
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
	public function get_item_tags($namespace, $tag)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
		if (isset($this->data['child'][$namespace][$tag]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
			return $this->data['child'][$namespace][$tag];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   150
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   151
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
	 * Get the base URL value from the parent feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
	 * Uses `<xml:base>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
	 * @param array $element
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
	 * @return string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
	public function get_base($element = array())
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
		return $this->feed->get_base($element);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
	 * Sanitize feed data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
	 * @access private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
	 * @see SimplePie::sanitize()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
	 * @param string $data Data to sanitize
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
	 * @param int $type One of the SIMPLEPIE_CONSTRUCT_* constants
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
	 * @param string $base Base URL to resolve URLs against
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
	 * @return string Sanitized data
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
	public function sanitize($data, $type, $base = '')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
		return $this->feed->sanitize($data, $type, $base);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
	 * Get the parent feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
	 * Note: this may not work as you think for multifeeds!
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
	 * @link http://simplepie.org/faq/typical_multifeed_gotchas#missing_data_from_feed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
	 * @return SimplePie
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
	public function get_feed()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
		return $this->feed;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
	 * Get the unique identifier for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
	 * This is usually used when writing code to check for new items in a feed.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
	 * Uses `<atom:id>`, `<guid>`, `<dc:identifier>` or the `about` attribute
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
	 * for RDF. If none of these are supplied (or `$hash` is true), creates an
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   203
	 * MD5 hash based on the permalink, title and content.
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
	 * @since Beta 2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
	 * @param boolean $hash Should we force using a hash instead of the supplied ID?
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   207
	 * @param string|false $fn User-supplied function to generate an hash
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   208
	 * @return string|null
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
	 */
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   210
	public function get_id($hash = false, $fn = 'md5')
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
		if (!$hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'id'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'id'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'identifier'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'identifier'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
			elseif (isset($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
				return $this->sanitize($this->data['attribs'][SIMPLEPIE_NAMESPACE_RDF]['about'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
			}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   238
		}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   239
		if ($fn === false)
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   240
		{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   241
			return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   243
		elseif (!is_callable($fn))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   245
			trigger_error('User-supplied function $fn must be callable', E_USER_WARNING);
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   246
			$fn = 'md5';
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   248
		return call_user_func($fn,
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   249
		       $this->get_permalink().$this->get_title().$this->get_content());
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
	 * Get the title of the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
	 * Uses `<atom:title>`, `<title>` or `<dc:title>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
	 * @since Beta 2 (previously called `get_item_title` since 0.8)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
	 * @return string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
	public function get_title()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
		if (!isset($this->data['title']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
				$this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
				$this->data['title'] = $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
				$this->data['title'] = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
		return $this->data['title'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
	 * Get the content for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
	 * Prefers summaries over full content , but will return full content if a
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
	 * summary does not exist.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
	 * To prefer full content instead, use {@see get_content}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
	 * Uses `<atom:summary>`, `<description>`, `<dc:description>` or
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
	 * `<itunes:subtitle>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
	 * @since 0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
	 * @param boolean $description_only Should we avoid falling back to the content?
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
	 * @return string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
	public function get_description($description_only = false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
	{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   317
		if (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'summary')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   318
		    ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   320
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   322
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'summary')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   323
		        ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   325
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   327
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   328
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   330
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   332
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   333
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   335
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   337
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   338
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   340
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   342
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   343
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   345
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   347
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   348
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   350
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   352
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   353
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   355
			return $return;
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   356
		}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   357
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   358
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML)))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   359
		{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   360
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
		elseif (!$description_only)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
			return $this->get_content(true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   367
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   368
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
	 * Get the content for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
	 * Prefers full content over summaries, but will return a summary if full
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
	 * content does not exist.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
	 * To prefer summaries instead, use {@see get_description}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
	 * Uses `<atom:content>` or `<content:encoded>` (RSS 1.0 Content Module)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
	 * @param boolean $content_only Should we avoid falling back to the description?
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
	 * @return string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
	public function get_content($content_only = false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
	{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   387
		if (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'content')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   388
		    ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_10_content_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   390
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   392
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'content')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   393
		        ($return = $this->sanitize($tags[0]['data'], $this->registry->call('Misc', 'atom_03_construct_type', array($tags[0]['attribs'])), $this->get_base($tags[0]))))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   395
			return $return;
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   396
		}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   397
		elseif (($tags = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT, 'encoded')) &&
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   398
		        ($return = $this->sanitize($tags[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($tags[0]))))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   399
		{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   400
			return $return;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
		elseif (!$content_only)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
			return $this->get_description(true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   406
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   407
		return null;
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   408
	}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   409
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   410
	/**
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   411
	 * Get the media:thumbnail of the item
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   412
	 *
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   413
	 * Uses `<media:thumbnail>`
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   414
	 *
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   415
	 *
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   416
	 * @return array|null
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   417
	 */
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   418
	public function get_thumbnail()
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   419
	{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   420
		if (!isset($this->data['thumbnail']))
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   422
			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   423
			{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   424
				$this->data['thumbnail'] = $return[0]['attribs'][''];
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   425
			}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   426
			else
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   427
			{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   428
				$this->data['thumbnail'] = null;
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   429
			}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   431
		return $this->data['thumbnail'];
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
	 * Get a category for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
	 * @since Beta 3 (previously called `get_categories()` since Beta 2)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
	 * @param int $key The category that you want to return.  Remember that arrays begin with 0, not 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
	 * @return SimplePie_Category|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
	public function get_category($key = 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
		$categories = $this->get_categories();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
		if (isset($categories[$key]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
			return $categories[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   448
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   449
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
	 * Get all categories for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
	 * Uses `<atom:category>`, `<category>` or `<dc:subject>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
	 * @since Beta 3
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   458
	 * @return SimplePie_Category[]|null List of {@see SimplePie_Category} objects
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
	public function get_categories()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
		$categories = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   464
		$type = 'category';
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   465
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, $type) as $category)
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
			$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
			$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
			$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
			if (isset($category['attribs']['']['term']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
			if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
			if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
			}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   482
			$categories[] = $this->registry->create('Category', array($term, $scheme, $label, $type));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   484
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, $type) as $category)
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
			// This is really the label, but keep this as the term also for BC.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
			// Label will also work on retrieving because that falls back to term.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
			if (isset($category['attribs']['']['domain']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
				$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
			}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   497
			$categories[] = $this->registry->create('Category', array($term, $scheme, null, $type));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   499
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   500
		$type = 'subject';
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   501
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, $type) as $category)
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   503
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null, $type));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   505
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, $type) as $category)
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
		{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   507
			$categories[] = $this->registry->create('Category', array($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null, $type));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
		if (!empty($categories))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
			return array_unique($categories);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   514
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   515
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
	 * Get an author for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
	 * @since Beta 2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
	 * @param int $key The author that you want to return.  Remember that arrays begin with 0, not 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
	 * @return SimplePie_Author|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
	public function get_author($key = 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
		$authors = $this->get_authors();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
		if (isset($authors[$key]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
			return $authors[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   532
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   533
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
	 * Get a contributor for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
	 * @since 1.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
	 * @param int $key The contrbutor that you want to return.  Remember that arrays begin with 0, not 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
	 * @return SimplePie_Author|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
	public function get_contributor($key = 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
		$contributors = $this->get_contributors();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
		if (isset($contributors[$key]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
			return $contributors[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   550
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   551
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
	 * Get all contributors for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
	 * Uses `<atom:contributor>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
	 * @since 1.1
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   560
	 * @return SimplePie_Author[]|null List of {@see SimplePie_Author} objects
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
	public function get_contributors()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
		$contributors = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
			$name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
			$uri = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
			$email = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
				$uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
			if ($name !== null || $email !== null || $uri !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
				$contributors[] = $this->registry->create('Author', array($name, $uri, $email));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
			$name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
			$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
			$email = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
				$url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
			if ($name !== null || $email !== null || $url !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
				$contributors[] = $this->registry->create('Author', array($name, $url, $email));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
		if (!empty($contributors))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
			return array_unique($contributors);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   614
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   615
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
	 * Get all authors for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
	 * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
	 * @since Beta 2
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   624
	 * @return SimplePie_Author[]|null List of {@see SimplePie_Author} objects
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
	public function get_authors()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
		$authors = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
			$name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
			$uri = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
			$email = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
				$name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
				$uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
				$email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
			if ($name !== null || $email !== null || $uri !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
				$authors[] = $this->registry->create('Author', array($name, $uri, $email));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
		if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
			$name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
			$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
			$email = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
				$name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
				$url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
				$email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
			if ($name !== null || $email !== null || $url !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
				$authors[] = $this->registry->create('Author', array($name, $url, $email));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
		if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
			$authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
			$authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
			$authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
			$authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
		if (!empty($authors))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
			return array_unique($authors);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
		elseif (($source = $this->get_source()) && ($authors = $source->get_authors()))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
			return $authors;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
		elseif ($authors = $this->feed->get_authors())
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
			return $authors;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   702
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   703
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
	 * Get the copyright info for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
	 * Uses `<atom:rights>` or `<dc:rights>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
	 * @since 1.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
	 * @return string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
	public function get_copyright()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
			return $this->sanitize($return[0]['data'], $this->registry->call('Misc', 'atom_10_construct_type', array($return[0]['attribs'])), $this->get_base($return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   728
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   729
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
	 * Get the posting date/time for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
	 * Uses `<atom:published>`, `<atom:updated>`, `<atom:issued>`,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
	 * `<atom:modified>`, `<pubDate>` or `<dc:date>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
	 * Note: obeys PHP's timezone setting. To get a UTC date/time, use
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
	 * {@see get_gmdate}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
	 * @since Beta 2 (previously called `get_item_date` since 0.8)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
	 * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
	 * @return int|string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
	public function get_date($date_format = 'j F Y, g:i a')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
		if (!isset($this->data['date']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'published'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
				$this->data['date']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
			}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   754
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'pubDate'))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   755
			{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   756
				$this->data['date']['raw'] = $return[0]['data'];
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   757
			}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   758
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'date'))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   759
			{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   760
				$this->data['date']['raw'] = $return[0]['data'];
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   761
			}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   762
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'date'))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   763
			{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   764
				$this->data['date']['raw'] = $return[0]['data'];
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   765
			}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
				$this->data['date']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'issued'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
				$this->data['date']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'created'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
				$this->data['date']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'modified'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
				$this->data['date']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
			if (!empty($this->data['date']['raw']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
				$parser = $this->registry->call('Parse_Date', 'get');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
				$this->data['date']['parsed'] = $parser->parse($this->data['date']['raw']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
				$this->data['date'] = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
		if ($this->data['date'])
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
			$date_format = (string) $date_format;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
			switch ($date_format)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
				case '':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
					return $this->sanitize($this->data['date']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
				case 'U':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
					return $this->data['date']['parsed'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
				default:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
					return date($date_format, $this->data['date']['parsed']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   808
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   809
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
	 * Get the update date/time for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
	 * Uses `<atom:updated>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
	 * Note: obeys PHP's timezone setting. To get a UTC date/time, use
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
	 * {@see get_gmdate}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
	 * @param string $date_format Supports any PHP date format from {@see http://php.net/date} (empty for the raw data)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
	 * @return int|string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
	public function get_updated_date($date_format = 'j F Y, g:i a')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
		if (!isset($this->data['updated']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
				$this->data['updated']['raw'] = $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
			if (!empty($this->data['updated']['raw']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
				$parser = $this->registry->call('Parse_Date', 'get');
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   835
				$this->data['updated']['parsed'] = $parser->parse($this->data['updated']['raw']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
				$this->data['updated'] = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
		if ($this->data['updated'])
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
			$date_format = (string) $date_format;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
			switch ($date_format)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
				case '':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
					return $this->sanitize($this->data['updated']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
				case 'U':
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
					return $this->data['updated']['parsed'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
				default:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
					return date($date_format, $this->data['updated']['parsed']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   857
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   858
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
	 * Get the localized posting date/time for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
	 * Returns the date formatted in the localized language. To display in
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
	 * languages other than the server's default, you need to change the locale
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
	 * with {@link http://php.net/setlocale setlocale()}. The available
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
	 * localizations depend on which ones are installed on your web server.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
	 * @param string $date_format Supports any PHP date format from {@see http://php.net/strftime} (empty for the raw data)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
	 * @return int|string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
	public function get_local_date($date_format = '%c')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
		if (!$date_format)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
			return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
		elseif (($date = $this->get_date('U')) !== null && $date !== false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
			return strftime($date_format, $date);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   883
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   884
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   885
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   886
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   887
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   888
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   889
	 * Get the posting date/time for the item (UTC time)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   890
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   891
	 * @see get_date
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   892
	 * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   893
	 * @return int|string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   894
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   895
	public function get_gmdate($date_format = 'j F Y, g:i a')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   896
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   897
		$date = $this->get_date('U');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   898
		if ($date === null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   899
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   900
			return null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   901
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   902
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   903
		return gmdate($date_format, $date);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   904
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   906
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   907
	 * Get the update date/time for the item (UTC time)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   908
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   909
	 * @see get_updated_date
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   910
	 * @param string $date_format Supports any PHP date format from {@see http://php.net/date}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   911
	 * @return int|string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   912
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   913
	public function get_updated_gmdate($date_format = 'j F Y, g:i a')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   914
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   915
		$date = $this->get_updated_date('U');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   916
		if ($date === null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   917
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   918
			return null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   919
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   920
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   921
		return gmdate($date_format, $date);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   922
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   923
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   924
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   925
	 * Get the permalink for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   926
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   927
	 * Returns the first link available with a relationship of "alternate".
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   928
	 * Identical to {@see get_link()} with key 0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   929
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   930
	 * @see get_link
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   931
	 * @since 0.8
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   932
	 * @return string|null Permalink URL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   933
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   934
	public function get_permalink()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   935
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   936
		$link = $this->get_link();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   937
		$enclosure = $this->get_enclosure(0);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   938
		if ($link !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   939
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   940
			return $link;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   941
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   942
		elseif ($enclosure !== null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   943
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   944
			return $enclosure->get_link();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   945
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   946
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   947
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   948
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   949
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   950
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   951
	 * Get a single link for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   952
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   953
	 * @since Beta 3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   954
	 * @param int $key The link that you want to return.  Remember that arrays begin with 0, not 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   955
	 * @param string $rel The relationship of the link to return
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   956
	 * @return string|null Link URL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   957
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   958
	public function get_link($key = 0, $rel = 'alternate')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   959
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   960
		$links = $this->get_links($rel);
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   961
		if ($links && $links[$key] !== null)
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   962
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   963
			return $links[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   964
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   965
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
   966
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   967
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   968
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   969
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   970
	 * Get all links for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   971
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   972
	 * Uses `<atom:link>`, `<link>` or `<guid>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   973
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   974
	 * @since Beta 2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   975
	 * @param string $rel The relationship of links to return
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   976
	 * @return array|null Links found for the item (strings)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   977
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   978
	public function get_links($rel = 'alternate')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   979
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   980
		if (!isset($this->data['links']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   981
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   982
			$this->data['links'] = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   983
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   984
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   985
				if (isset($link['attribs']['']['href']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   986
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   987
					$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   988
					$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   989
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   990
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   991
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   992
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   993
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   994
				if (isset($link['attribs']['']['href']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   995
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   996
					$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   997
					$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   998
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   999
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1000
			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1001
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1002
				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1003
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1004
			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1005
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1006
				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1007
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1008
			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1009
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1010
				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1011
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1012
			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1013
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1014
				if (!isset($links[0]['attribs']['']['isPermaLink']) || strtolower(trim($links[0]['attribs']['']['isPermaLink'])) === 'true')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1015
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1016
					$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1017
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1018
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1019
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1020
			$keys = array_keys($this->data['links']);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1021
			foreach ($keys as $key)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1022
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1023
				if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key)))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1024
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1025
					if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1026
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1027
						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1028
						$this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1029
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1030
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1031
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1032
						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1033
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1034
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1035
				elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1036
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1037
					$this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1038
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1039
				$this->data['links'][$key] = array_unique($this->data['links'][$key]);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1040
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1041
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1042
		if (isset($this->data['links'][$rel]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1043
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1044
			return $this->data['links'][$rel];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1045
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1046
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1047
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1048
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1049
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1050
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1051
	 * Get an enclosure from the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1052
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1053
	 * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1054
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1055
	 * @since Beta 2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1056
	 * @todo Add ability to prefer one type of content over another (in a media group).
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1057
	 * @param int $key The enclosure that you want to return.  Remember that arrays begin with 0, not 1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1058
	 * @return SimplePie_Enclosure|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1059
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1060
	public function get_enclosure($key = 0, $prefer = null)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1061
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1062
		$enclosures = $this->get_enclosures();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1063
		if (isset($enclosures[$key]))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1064
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1065
			return $enclosures[$key];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1066
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1067
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1068
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1069
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1070
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1071
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1072
	 * Get all available enclosures (podcasts, etc.)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1073
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1074
	 * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1075
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1076
	 * At this point, we're pretty much assuming that all enclosures for an item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1077
	 * are the same content.  Anything else is too complicated to
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1078
	 * properly support.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1079
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1080
	 * @since Beta 2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1081
	 * @todo Add support for end-user defined sorting of enclosures by type/handler (so we can prefer the faster-loading FLV over MP4).
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1082
	 * @todo If an element exists at a level, but its value is empty, we should fall back to the value from the parent (if it exists).
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  1083
	 * @return SimplePie_Enclosure[]|null List of SimplePie_Enclosure items
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1084
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1085
	public function get_enclosures()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1086
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1087
		if (!isset($this->data['enclosures']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1088
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1089
			$this->data['enclosures'] = array();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1090
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1091
			// Elements
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1092
			$captions_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1093
			$categories_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1094
			$copyrights_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1095
			$credits_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1096
			$description_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1097
			$duration_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1098
			$hashes_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1099
			$keywords_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1100
			$player_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1101
			$ratings_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1102
			$restrictions_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1103
			$thumbnails_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1104
			$title_parent = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1105
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1106
			// Let's do the channel and item-level ones first, and just re-use them if we need to.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1107
			$parent = $this->get_feed();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1108
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1109
			// CAPTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1110
			if ($captions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1111
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1112
				foreach ($captions as $caption)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1113
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1114
					$caption_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1115
					$caption_lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1116
					$caption_startTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1117
					$caption_endTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1118
					$caption_text = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1119
					if (isset($caption['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1120
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1121
						$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1122
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1123
					if (isset($caption['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1124
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1125
						$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1126
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1127
					if (isset($caption['attribs']['']['start']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1128
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1129
						$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1130
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1131
					if (isset($caption['attribs']['']['end']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1132
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1133
						$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1134
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1135
					if (isset($caption['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1136
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1137
						$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1138
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1139
					$captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1140
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1141
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1142
			elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1143
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1144
				foreach ($captions as $caption)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1145
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1146
					$caption_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1147
					$caption_lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1148
					$caption_startTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1149
					$caption_endTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1150
					$caption_text = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1151
					if (isset($caption['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1152
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1153
						$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1154
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1155
					if (isset($caption['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1156
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1157
						$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1158
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1159
					if (isset($caption['attribs']['']['start']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1160
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1161
						$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1162
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1163
					if (isset($caption['attribs']['']['end']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1164
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1165
						$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1166
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1167
					if (isset($caption['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1168
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1169
						$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1170
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1171
					$captions_parent[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1172
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1173
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1174
			if (is_array($captions_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1175
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1176
				$captions_parent = array_values(array_unique($captions_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1177
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1178
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1179
			// CATEGORIES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1180
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1181
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1182
				$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1183
				$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1184
				$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1185
				if (isset($category['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1186
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1187
					$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1188
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1189
				if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1190
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1191
					$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1192
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1193
				else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1194
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1195
					$scheme = 'http://search.yahoo.com/mrss/category_schema';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1196
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1197
				if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1198
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1199
					$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1200
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1201
				$categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1202
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1203
			foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1204
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1205
				$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1206
				$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1207
				$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1208
				if (isset($category['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1209
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1210
					$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1211
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1212
				if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1213
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1214
					$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1215
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1216
				else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1217
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1218
					$scheme = 'http://search.yahoo.com/mrss/category_schema';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1219
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1220
				if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1221
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1222
					$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1223
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1224
				$categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1225
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1226
			foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1227
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1228
				$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1229
				$scheme = 'http://www.itunes.com/dtds/podcast-1.0.dtd';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1230
				$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1231
				if (isset($category['attribs']['']['text']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1232
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1233
					$label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1234
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1235
				$categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1236
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1237
				if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1238
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1239
					foreach ((array) $category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category'] as $subcategory)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1240
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1241
						if (isset($subcategory['attribs']['']['text']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1242
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1243
							$label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1244
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1245
						$categories_parent[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1246
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1247
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1248
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1249
			if (is_array($categories_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1250
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1251
				$categories_parent = array_values(array_unique($categories_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1252
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1253
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1254
			// COPYRIGHT
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1255
			if ($copyright = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1256
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1257
				$copyright_url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1258
				$copyright_label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1259
				if (isset($copyright[0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1260
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1261
					$copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1262
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1263
				if (isset($copyright[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1264
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1265
					$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1266
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1267
				$copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1268
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1269
			elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1270
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1271
				$copyright_url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1272
				$copyright_label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1273
				if (isset($copyright[0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1274
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1275
					$copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1276
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1277
				if (isset($copyright[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1278
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1279
					$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1280
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1281
				$copyrights_parent = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1282
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1283
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1284
			// CREDITS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1285
			if ($credits = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1286
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1287
				foreach ($credits as $credit)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1288
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1289
					$credit_role = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1290
					$credit_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1291
					$credit_name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1292
					if (isset($credit['attribs']['']['role']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1293
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1294
						$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1295
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1296
					if (isset($credit['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1297
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1298
						$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1299
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1300
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1301
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1302
						$credit_scheme = 'urn:ebu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1303
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1304
					if (isset($credit['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1305
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1306
						$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1307
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1308
					$credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1309
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1310
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1311
			elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1312
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1313
				foreach ($credits as $credit)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1314
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1315
					$credit_role = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1316
					$credit_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1317
					$credit_name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1318
					if (isset($credit['attribs']['']['role']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1319
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1320
						$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1321
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1322
					if (isset($credit['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1323
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1324
						$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1325
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1326
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1327
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1328
						$credit_scheme = 'urn:ebu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1329
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1330
					if (isset($credit['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1331
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1332
						$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1333
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1334
					$credits_parent[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1335
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1336
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1337
			if (is_array($credits_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1338
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1339
				$credits_parent = array_values(array_unique($credits_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1340
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1341
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1342
			// DESCRIPTION
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1343
			if ($description_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1344
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1345
				if (isset($description_parent[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1346
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1347
					$description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1348
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1349
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1350
			elseif ($description_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1351
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1352
				if (isset($description_parent[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1353
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1354
					$description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1355
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1356
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1357
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1358
			// DURATION
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1359
			if ($duration_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'duration'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1360
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1361
				$seconds = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1362
				$minutes = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1363
				$hours = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1364
				if (isset($duration_parent[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1365
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1366
					$temp = explode(':', $this->sanitize($duration_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1367
					if (sizeof($temp) > 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1368
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1369
						$seconds = (int) array_pop($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1370
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1371
					if (sizeof($temp) > 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1372
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1373
						$minutes = (int) array_pop($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1374
						$seconds += $minutes * 60;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1375
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1376
					if (sizeof($temp) > 0)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1377
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1378
						$hours = (int) array_pop($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1379
						$seconds += $hours * 3600;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1380
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1381
					unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1382
					$duration_parent = $seconds;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1383
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1384
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1385
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1386
			// HASHES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1387
			if ($hashes_iterator = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1388
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1389
				foreach ($hashes_iterator as $hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1390
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1391
					$value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1392
					$algo = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1393
					if (isset($hash['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1394
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1395
						$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1396
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1397
					if (isset($hash['attribs']['']['algo']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1398
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1399
						$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1400
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1401
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1402
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1403
						$algo = 'md5';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1404
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1405
					$hashes_parent[] = $algo.':'.$value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1406
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1407
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1408
			elseif ($hashes_iterator = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1409
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1410
				foreach ($hashes_iterator as $hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1411
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1412
					$value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1413
					$algo = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1414
					if (isset($hash['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1415
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1416
						$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1417
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1418
					if (isset($hash['attribs']['']['algo']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1419
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1420
						$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1421
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1422
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1423
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1424
						$algo = 'md5';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1425
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1426
					$hashes_parent[] = $algo.':'.$value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1427
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1428
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1429
			if (is_array($hashes_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1430
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1431
				$hashes_parent = array_values(array_unique($hashes_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1432
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1433
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1434
			// KEYWORDS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1435
			if ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1436
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1437
				if (isset($keywords[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1438
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1439
					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1440
					foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1441
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1442
						$keywords_parent[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1443
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1444
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1445
				unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1446
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1447
			elseif ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1448
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1449
				if (isset($keywords[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1450
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1451
					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1452
					foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1453
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1454
						$keywords_parent[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1455
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1456
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1457
				unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1458
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1459
			elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1460
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1461
				if (isset($keywords[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1462
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1463
					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1464
					foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1465
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1466
						$keywords_parent[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1467
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1468
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1469
				unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1470
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1471
			elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1472
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1473
				if (isset($keywords[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1474
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1475
					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1476
					foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1477
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1478
						$keywords_parent[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1479
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1480
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1481
				unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1482
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1483
			if (is_array($keywords_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1484
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1485
				$keywords_parent = array_values(array_unique($keywords_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1486
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1487
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1488
			// PLAYER
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1489
			if ($player_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1490
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1491
				if (isset($player_parent[0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1492
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1493
					$player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1494
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1495
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1496
			elseif ($player_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1497
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1498
				if (isset($player_parent[0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1499
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1500
					$player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1501
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1502
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1503
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1504
			// RATINGS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1505
			if ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1506
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1507
				foreach ($ratings as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1508
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1509
					$rating_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1510
					$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1511
					if (isset($rating['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1512
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1513
						$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1514
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1515
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1516
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1517
						$rating_scheme = 'urn:simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1518
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1519
					if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1520
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1521
						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1522
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1523
					$ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1524
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1525
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1526
			elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1527
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1528
				foreach ($ratings as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1529
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1530
					$rating_scheme = 'urn:itunes';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1531
					$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1532
					if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1533
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1534
						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1535
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1536
					$ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1537
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1538
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1539
			elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1540
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1541
				foreach ($ratings as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1542
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1543
					$rating_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1544
					$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1545
					if (isset($rating['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1546
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1547
						$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1548
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1549
					else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1550
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1551
						$rating_scheme = 'urn:simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1552
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1553
					if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1554
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1555
						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1556
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1557
					$ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1558
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1559
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1560
			elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1561
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1562
				foreach ($ratings as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1563
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1564
					$rating_scheme = 'urn:itunes';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1565
					$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1566
					if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1567
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1568
						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1569
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1570
					$ratings_parent[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1571
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1572
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1573
			if (is_array($ratings_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1574
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1575
				$ratings_parent = array_values(array_unique($ratings_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1576
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1577
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1578
			// RESTRICTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1579
			if ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1580
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1581
				foreach ($restrictions as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1582
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1583
					$restriction_relationship = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1584
					$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1585
					$restriction_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1586
					if (isset($restriction['attribs']['']['relationship']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1587
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1588
						$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1589
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1590
					if (isset($restriction['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1591
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1592
						$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1593
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1594
					if (isset($restriction['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1595
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1596
						$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1597
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1598
					$restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1599
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1600
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1601
			elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1602
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1603
				foreach ($restrictions as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1604
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1605
					$restriction_relationship = 'allow';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1606
					$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1607
					$restriction_value = 'itunes';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1608
					if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1609
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1610
						$restriction_relationship = 'deny';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1611
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1612
					$restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1613
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1614
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1615
			elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1616
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1617
				foreach ($restrictions as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1618
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1619
					$restriction_relationship = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1620
					$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1621
					$restriction_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1622
					if (isset($restriction['attribs']['']['relationship']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1623
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1624
						$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1625
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1626
					if (isset($restriction['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1627
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1628
						$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1629
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1630
					if (isset($restriction['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1631
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1632
						$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1633
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1634
					$restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1635
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1636
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1637
			elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1638
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1639
				foreach ($restrictions as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1640
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1641
					$restriction_relationship = 'allow';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1642
					$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1643
					$restriction_value = 'itunes';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1644
					if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1645
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1646
						$restriction_relationship = 'deny';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1647
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1648
					$restrictions_parent[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1649
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1650
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1651
			if (is_array($restrictions_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1652
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1653
				$restrictions_parent = array_values(array_unique($restrictions_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1654
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1655
			else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1656
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1657
				$restrictions_parent = array(new SimplePie_Restriction('allow', null, 'default'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1658
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1659
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1660
			// THUMBNAILS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1661
			if ($thumbnails = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1662
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1663
				foreach ($thumbnails as $thumbnail)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1664
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1665
					if (isset($thumbnail['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1666
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1667
						$thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1668
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1669
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1670
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1671
			elseif ($thumbnails = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1672
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1673
				foreach ($thumbnails as $thumbnail)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1674
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1675
					if (isset($thumbnail['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1676
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1677
						$thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1678
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1679
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1680
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1681
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1682
			// TITLES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1683
			if ($title_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1684
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1685
				if (isset($title_parent[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1686
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1687
					$title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1688
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1689
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1690
			elseif ($title_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1691
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1692
				if (isset($title_parent[0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1693
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1694
					$title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1695
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1696
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1697
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1698
			// Clear the memory
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1699
			unset($parent);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1700
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1701
			// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1702
			$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1703
			$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1704
			$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1705
			$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1706
			$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1707
			$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1708
			$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1709
			$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1710
			$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1711
			$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1712
			$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1713
			$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1714
			$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1715
			$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1716
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1717
			// Elements
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1718
			$captions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1719
			$categories = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1720
			$copyrights = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1721
			$credits = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1722
			$description = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1723
			$hashes = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1724
			$keywords = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1725
			$player = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1726
			$ratings = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1727
			$restrictions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1728
			$thumbnails = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1729
			$title = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1730
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1731
			// If we have media:group tags, loop through them.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1732
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1733
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1734
				if(isset($group['child']) && isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1735
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1736
					// If we have media:content tags, loop through them.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1737
					foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1738
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1739
						if (isset($content['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1740
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1741
							// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1742
							$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1743
							$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1744
							$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1745
							$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1746
							$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1747
							$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1748
							$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1749
							$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1750
							$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1751
							$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1752
							$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1753
							$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1754
							$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1755
							$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1756
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1757
							// Elements
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1758
							$captions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1759
							$categories = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1760
							$copyrights = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1761
							$credits = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1762
							$description = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1763
							$hashes = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1764
							$keywords = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1765
							$player = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1766
							$ratings = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1767
							$restrictions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1768
							$thumbnails = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1769
							$title = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1770
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1771
							// Start checking the attributes of media:content
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1772
							if (isset($content['attribs']['']['bitrate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1773
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1774
								$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1775
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1776
							if (isset($content['attribs']['']['channels']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1777
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1778
								$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1779
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1780
							if (isset($content['attribs']['']['duration']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1781
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1782
								$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1783
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1784
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1785
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1786
								$duration = $duration_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1787
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1788
							if (isset($content['attribs']['']['expression']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1789
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1790
								$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1791
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1792
							if (isset($content['attribs']['']['framerate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1793
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1794
								$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1795
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1796
							if (isset($content['attribs']['']['height']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1797
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1798
								$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1799
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1800
							if (isset($content['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1801
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1802
								$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1803
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1804
							if (isset($content['attribs']['']['fileSize']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1805
							{
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  1806
								$length = intval($content['attribs']['']['fileSize']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1807
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1808
							if (isset($content['attribs']['']['medium']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1809
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1810
								$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1811
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1812
							if (isset($content['attribs']['']['samplingrate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1813
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1814
								$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1815
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1816
							if (isset($content['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1817
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1818
								$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1819
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1820
							if (isset($content['attribs']['']['width']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1821
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1822
								$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1823
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1824
							$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1825
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1826
							// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1827
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1828
							// CAPTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1829
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1830
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1831
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1832
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1833
									$caption_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1834
									$caption_lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1835
									$caption_startTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1836
									$caption_endTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1837
									$caption_text = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1838
									if (isset($caption['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1839
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1840
										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1841
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1842
									if (isset($caption['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1843
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1844
										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1845
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1846
									if (isset($caption['attribs']['']['start']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1847
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1848
										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1849
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1850
									if (isset($caption['attribs']['']['end']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1851
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1852
										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1853
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1854
									if (isset($caption['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1855
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1856
										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1857
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1858
									$captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1859
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1860
								if (is_array($captions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1861
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1862
									$captions = array_values(array_unique($captions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1863
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1864
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1865
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1866
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1867
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1868
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1869
									$caption_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1870
									$caption_lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1871
									$caption_startTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1872
									$caption_endTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1873
									$caption_text = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1874
									if (isset($caption['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1875
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1876
										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1877
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1878
									if (isset($caption['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1879
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1880
										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1881
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1882
									if (isset($caption['attribs']['']['start']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1883
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1884
										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1885
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1886
									if (isset($caption['attribs']['']['end']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1887
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1888
										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1889
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1890
									if (isset($caption['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1891
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1892
										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1893
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1894
									$captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1895
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1896
								if (is_array($captions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1897
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1898
									$captions = array_values(array_unique($captions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1899
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1900
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1901
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1902
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1903
								$captions = $captions_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1904
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1905
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1906
							// CATEGORIES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1907
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1908
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1909
								foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1910
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1911
									$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1912
									$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1913
									$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1914
									if (isset($category['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1915
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1916
										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1917
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1918
									if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1919
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1920
										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1921
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1922
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1923
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1924
										$scheme = 'http://search.yahoo.com/mrss/category_schema';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1925
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1926
									if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1927
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1928
										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1929
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1930
									$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1931
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1932
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1933
							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1934
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1935
								foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1936
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1937
									$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1938
									$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1939
									$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1940
									if (isset($category['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1941
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1942
										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1943
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1944
									if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1945
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1946
										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1947
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1948
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1949
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1950
										$scheme = 'http://search.yahoo.com/mrss/category_schema';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1951
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1952
									if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1953
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1954
										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1955
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1956
									$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1957
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1958
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1959
							if (is_array($categories) && is_array($categories_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1960
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1961
								$categories = array_values(array_unique(array_merge($categories, $categories_parent)));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1962
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1963
							elseif (is_array($categories))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1964
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1965
								$categories = array_values(array_unique($categories));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1966
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1967
							elseif (is_array($categories_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1968
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1969
								$categories = array_values(array_unique($categories_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1970
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1971
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1972
							// COPYRIGHTS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1973
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1974
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1975
								$copyright_url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1976
								$copyright_label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1977
								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1978
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1979
									$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1980
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1981
								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1982
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1983
									$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1984
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1985
								$copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1986
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1987
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1988
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1989
								$copyright_url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1990
								$copyright_label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1991
								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1992
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1993
									$copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1994
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1995
								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1996
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1997
									$copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1998
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  1999
								$copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2000
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2001
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2002
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2003
								$copyrights = $copyrights_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2004
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2005
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2006
							// CREDITS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2007
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2008
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2009
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2010
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2011
									$credit_role = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2012
									$credit_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2013
									$credit_name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2014
									if (isset($credit['attribs']['']['role']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2015
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2016
										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2017
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2018
									if (isset($credit['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2019
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2020
										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2021
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2022
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2023
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2024
										$credit_scheme = 'urn:ebu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2025
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2026
									if (isset($credit['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2027
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2028
										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2029
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2030
									$credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2031
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2032
								if (is_array($credits))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2033
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2034
									$credits = array_values(array_unique($credits));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2035
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2036
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2037
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2038
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2039
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2040
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2041
									$credit_role = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2042
									$credit_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2043
									$credit_name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2044
									if (isset($credit['attribs']['']['role']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2045
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2046
										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2047
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2048
									if (isset($credit['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2049
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2050
										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2051
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2052
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2053
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2054
										$credit_scheme = 'urn:ebu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2055
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2056
									if (isset($credit['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2057
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2058
										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2059
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2060
									$credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2061
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2062
								if (is_array($credits))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2063
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2064
									$credits = array_values(array_unique($credits));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2065
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2066
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2067
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2068
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2069
								$credits = $credits_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2070
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2071
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2072
							// DESCRIPTION
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2073
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2074
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2075
								$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2076
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2077
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2078
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2079
								$description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2080
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2081
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2082
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2083
								$description = $description_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2084
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2085
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2086
							// HASHES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2087
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2088
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2089
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2090
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2091
									$value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2092
									$algo = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2093
									if (isset($hash['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2094
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2095
										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2096
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2097
									if (isset($hash['attribs']['']['algo']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2098
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2099
										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2100
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2101
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2102
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2103
										$algo = 'md5';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2104
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2105
									$hashes[] = $algo.':'.$value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2106
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2107
								if (is_array($hashes))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2108
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2109
									$hashes = array_values(array_unique($hashes));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2110
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2111
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2112
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2113
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2114
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2115
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2116
									$value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2117
									$algo = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2118
									if (isset($hash['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2119
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2120
										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2121
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2122
									if (isset($hash['attribs']['']['algo']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2123
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2124
										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2125
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2126
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2127
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2128
										$algo = 'md5';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2129
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2130
									$hashes[] = $algo.':'.$value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2131
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2132
								if (is_array($hashes))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2133
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2134
									$hashes = array_values(array_unique($hashes));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2135
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2136
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2137
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2138
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2139
								$hashes = $hashes_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2140
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2141
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2142
							// KEYWORDS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2143
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2144
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2145
								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2146
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2147
									$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2148
									foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2149
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2150
										$keywords[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2151
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2152
									unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2153
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2154
								if (is_array($keywords))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2155
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2156
									$keywords = array_values(array_unique($keywords));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2157
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2158
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2159
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2160
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2161
								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2162
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2163
									$temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2164
									foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2165
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2166
										$keywords[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2167
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2168
									unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2169
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2170
								if (is_array($keywords))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2171
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2172
									$keywords = array_values(array_unique($keywords));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2173
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2174
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2175
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2176
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2177
								$keywords = $keywords_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2178
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2179
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2180
							// PLAYER
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2181
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2182
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2183
								$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2184
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2185
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2186
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2187
								$player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2188
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2189
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2190
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2191
								$player = $player_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2192
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2193
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2194
							// RATINGS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2195
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2196
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2197
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2198
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2199
									$rating_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2200
									$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2201
									if (isset($rating['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2202
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2203
										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2204
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2205
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2206
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2207
										$rating_scheme = 'urn:simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2208
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2209
									if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2210
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2211
										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2212
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2213
									$ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2214
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2215
								if (is_array($ratings))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2216
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2217
									$ratings = array_values(array_unique($ratings));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2218
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2219
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2220
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2221
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2222
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2223
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2224
									$rating_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2225
									$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2226
									if (isset($rating['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2227
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2228
										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2229
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2230
									else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2231
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2232
										$rating_scheme = 'urn:simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2233
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2234
									if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2235
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2236
										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2237
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2238
									$ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2239
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2240
								if (is_array($ratings))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2241
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2242
									$ratings = array_values(array_unique($ratings));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2243
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2244
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2245
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2246
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2247
								$ratings = $ratings_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2248
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2249
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2250
							// RESTRICTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2251
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2252
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2253
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2254
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2255
									$restriction_relationship = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2256
									$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2257
									$restriction_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2258
									if (isset($restriction['attribs']['']['relationship']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2259
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2260
										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2261
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2262
									if (isset($restriction['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2263
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2264
										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2265
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2266
									if (isset($restriction['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2267
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2268
										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2269
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2270
									$restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2271
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2272
								if (is_array($restrictions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2273
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2274
									$restrictions = array_values(array_unique($restrictions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2275
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2276
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2277
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2278
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2279
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2280
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2281
									$restriction_relationship = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2282
									$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2283
									$restriction_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2284
									if (isset($restriction['attribs']['']['relationship']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2285
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2286
										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2287
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2288
									if (isset($restriction['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2289
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2290
										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2291
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2292
									if (isset($restriction['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2293
									{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2294
										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2295
									}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2296
									$restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2297
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2298
								if (is_array($restrictions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2299
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2300
									$restrictions = array_values(array_unique($restrictions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2301
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2302
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2303
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2304
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2305
								$restrictions = $restrictions_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2306
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2307
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2308
							// THUMBNAILS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2309
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2310
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2311
								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2312
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2313
									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2314
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2315
								if (is_array($thumbnails))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2316
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2317
									$thumbnails = array_values(array_unique($thumbnails));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2318
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2319
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2320
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2321
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2322
								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2323
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2324
									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2325
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2326
								if (is_array($thumbnails))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2327
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2328
									$thumbnails = array_values(array_unique($thumbnails));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2329
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2330
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2331
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2332
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2333
								$thumbnails = $thumbnails_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2334
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2335
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2336
							// TITLES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2337
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2338
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2339
								$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2340
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2341
							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2342
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2343
								$title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2344
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2345
							else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2346
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2347
								$title = $title_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2348
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2349
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2350
							$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2351
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2352
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2353
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2354
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2355
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2356
			// If we have standalone media:content tags, loop through them.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2357
			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2358
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2359
				foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2360
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2361
					if (isset($content['attribs']['']['url']) || isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2362
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2363
						// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2364
						$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2365
						$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2366
						$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2367
						$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2368
						$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2369
						$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2370
						$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2371
						$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2372
						$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2373
						$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2374
						$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2375
						$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2376
						$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2377
						$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2378
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2379
						// Elements
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2380
						$captions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2381
						$categories = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2382
						$copyrights = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2383
						$credits = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2384
						$description = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2385
						$hashes = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2386
						$keywords = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2387
						$player = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2388
						$ratings = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2389
						$restrictions = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2390
						$thumbnails = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2391
						$title = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2392
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2393
						// Start checking the attributes of media:content
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2394
						if (isset($content['attribs']['']['bitrate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2395
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2396
							$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2397
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2398
						if (isset($content['attribs']['']['channels']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2399
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2400
							$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2401
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2402
						if (isset($content['attribs']['']['duration']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2403
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2404
							$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2405
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2406
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2407
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2408
							$duration = $duration_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2409
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2410
						if (isset($content['attribs']['']['expression']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2411
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2412
							$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2413
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2414
						if (isset($content['attribs']['']['framerate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2415
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2416
							$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2417
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2418
						if (isset($content['attribs']['']['height']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2419
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2420
							$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2421
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2422
						if (isset($content['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2423
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2424
							$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2425
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2426
						if (isset($content['attribs']['']['fileSize']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2427
						{
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  2428
							$length = intval($content['attribs']['']['fileSize']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2429
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2430
						if (isset($content['attribs']['']['medium']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2431
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2432
							$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2433
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2434
						if (isset($content['attribs']['']['samplingrate']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2435
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2436
							$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2437
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2438
						if (isset($content['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2439
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2440
							$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2441
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2442
						if (isset($content['attribs']['']['width']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2443
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2444
							$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2445
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2446
						if (isset($content['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2447
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2448
							$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2449
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2450
						// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2451
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2452
						// CAPTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2453
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2454
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2455
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2456
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2457
								$caption_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2458
								$caption_lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2459
								$caption_startTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2460
								$caption_endTime = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2461
								$caption_text = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2462
								if (isset($caption['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2463
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2464
									$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2465
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2466
								if (isset($caption['attribs']['']['lang']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2467
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2468
									$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2469
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2470
								if (isset($caption['attribs']['']['start']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2471
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2472
									$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2473
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2474
								if (isset($caption['attribs']['']['end']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2475
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2476
									$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2477
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2478
								if (isset($caption['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2479
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2480
									$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2481
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2482
								$captions[] = $this->registry->create('Caption', array($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2483
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2484
							if (is_array($captions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2485
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2486
								$captions = array_values(array_unique($captions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2487
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2488
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2489
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2490
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2491
							$captions = $captions_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2492
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2493
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2494
						// CATEGORIES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2495
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2496
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2497
							foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2498
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2499
								$term = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2500
								$scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2501
								$label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2502
								if (isset($category['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2503
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2504
									$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2505
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2506
								if (isset($category['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2507
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2508
									$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2509
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2510
								else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2511
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2512
									$scheme = 'http://search.yahoo.com/mrss/category_schema';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2513
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2514
								if (isset($category['attribs']['']['label']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2515
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2516
									$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2517
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2518
								$categories[] = $this->registry->create('Category', array($term, $scheme, $label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2519
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2520
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2521
						if (is_array($categories) && is_array($categories_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2522
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2523
							$categories = array_values(array_unique(array_merge($categories, $categories_parent)));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2524
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2525
						elseif (is_array($categories))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2526
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2527
							$categories = array_values(array_unique($categories));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2528
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2529
						elseif (is_array($categories_parent))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2530
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2531
							$categories = array_values(array_unique($categories_parent));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2532
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2533
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2534
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2535
							$categories = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2536
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2537
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2538
						// COPYRIGHTS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2539
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2540
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2541
							$copyright_url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2542
							$copyright_label = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2543
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2544
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2545
								$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2546
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2547
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2548
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2549
								$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2550
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2551
							$copyrights = $this->registry->create('Copyright', array($copyright_url, $copyright_label));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2552
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2553
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2554
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2555
							$copyrights = $copyrights_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2556
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2557
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2558
						// CREDITS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2559
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2560
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2561
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2562
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2563
								$credit_role = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2564
								$credit_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2565
								$credit_name = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2566
								if (isset($credit['attribs']['']['role']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2567
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2568
									$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2569
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2570
								if (isset($credit['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2571
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2572
									$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2573
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2574
								else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2575
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2576
									$credit_scheme = 'urn:ebu';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2577
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2578
								if (isset($credit['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2579
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2580
									$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2581
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2582
								$credits[] = $this->registry->create('Credit', array($credit_role, $credit_scheme, $credit_name));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2583
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2584
							if (is_array($credits))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2585
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2586
								$credits = array_values(array_unique($credits));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2587
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2588
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2589
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2590
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2591
							$credits = $credits_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2592
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2593
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2594
						// DESCRIPTION
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2595
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2596
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2597
							$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2598
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2599
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2600
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2601
							$description = $description_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2602
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2603
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2604
						// HASHES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2605
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2606
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2607
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2608
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2609
								$value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2610
								$algo = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2611
								if (isset($hash['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2612
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2613
									$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2614
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2615
								if (isset($hash['attribs']['']['algo']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2616
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2617
									$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2618
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2619
								else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2620
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2621
									$algo = 'md5';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2622
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2623
								$hashes[] = $algo.':'.$value;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2624
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2625
							if (is_array($hashes))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2626
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2627
								$hashes = array_values(array_unique($hashes));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2628
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2629
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2630
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2631
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2632
							$hashes = $hashes_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2633
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2634
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2635
						// KEYWORDS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2636
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2637
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2638
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2639
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2640
								$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2641
								foreach ($temp as $word)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2642
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2643
									$keywords[] = trim($word);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2644
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2645
								unset($temp);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2646
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2647
							if (is_array($keywords))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2648
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2649
								$keywords = array_values(array_unique($keywords));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2650
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2651
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2652
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2653
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2654
							$keywords = $keywords_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2655
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2656
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2657
						// PLAYER
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2658
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2659
						{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2660
							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'])) {
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2661
								$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2662
							}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2663
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2664
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2665
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2666
							$player = $player_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2667
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2668
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2669
						// RATINGS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2670
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2671
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2672
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2673
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2674
								$rating_scheme = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2675
								$rating_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2676
								if (isset($rating['attribs']['']['scheme']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2677
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2678
									$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2679
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2680
								else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2681
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2682
									$rating_scheme = 'urn:simple';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2683
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2684
								if (isset($rating['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2685
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2686
									$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2687
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2688
								$ratings[] = $this->registry->create('Rating', array($rating_scheme, $rating_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2689
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2690
							if (is_array($ratings))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2691
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2692
								$ratings = array_values(array_unique($ratings));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2693
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2694
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2695
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2696
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2697
							$ratings = $ratings_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2698
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2699
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2700
						// RESTRICTIONS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2701
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2702
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2703
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2704
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2705
								$restriction_relationship = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2706
								$restriction_type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2707
								$restriction_value = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2708
								if (isset($restriction['attribs']['']['relationship']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2709
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2710
									$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2711
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2712
								if (isset($restriction['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2713
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2714
									$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2715
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2716
								if (isset($restriction['data']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2717
								{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2718
									$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2719
								}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2720
								$restrictions[] = $this->registry->create('Restriction', array($restriction_relationship, $restriction_type, $restriction_value));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2721
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2722
							if (is_array($restrictions))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2723
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2724
								$restrictions = array_values(array_unique($restrictions));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2725
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2726
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2727
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2728
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2729
							$restrictions = $restrictions_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2730
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2731
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2732
						// THUMBNAILS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2733
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2734
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2735
							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2736
							{
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2737
								if (isset($thumbnail['attribs']['']['url'])) {
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2738
									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2739
								}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2740
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2741
							if (is_array($thumbnails))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2742
							{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2743
								$thumbnails = array_values(array_unique($thumbnails));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2744
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2745
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2746
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2747
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2748
							$thumbnails = $thumbnails_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2749
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2750
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2751
						// TITLES
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2752
						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2753
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2754
							$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2755
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2756
						else
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2757
						{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2758
							$title = $title_parent;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2759
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2760
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2761
						$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2762
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2763
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2764
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2765
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2766
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2767
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2768
				if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2769
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2770
					// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2771
					$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2772
					$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2773
					$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2774
					$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2775
					$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2776
					$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2777
					$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2778
					$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2779
					$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2780
					$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2781
					$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2782
					$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2783
					$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2784
					$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2785
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2786
					$url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2787
					if (isset($link['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2788
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2789
						$type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2790
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2791
					if (isset($link['attribs']['']['length']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2792
					{
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  2793
						$length = intval($link['attribs']['']['length']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2794
					}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2795
					if (isset($link['attribs']['']['title']))
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2796
					{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2797
						$title = $this->sanitize($link['attribs']['']['title'], SIMPLEPIE_CONSTRUCT_TEXT);
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2798
					}
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2799
					else
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2800
					{
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2801
						$title = $title_parent;
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2802
					}
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2803
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2804
					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2805
					$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $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, $width));
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2806
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2807
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2808
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2809
			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2810
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2811
				if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2812
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2813
					// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2814
					$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2815
					$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2816
					$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2817
					$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2818
					$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2819
					$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2820
					$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2821
					$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2822
					$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2823
					$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2824
					$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2825
					$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2826
					$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2827
					$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2828
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2829
					$url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2830
					if (isset($link['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2831
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2832
						$type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2833
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2834
					if (isset($link['attribs']['']['length']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2835
					{
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  2836
						$length = intval($link['attribs']['']['length']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2837
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2838
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2839
					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2840
					$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $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));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2841
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2842
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2843
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2844
			if ($enclosure = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'enclosure'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2845
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2846
				if (isset($enclosure[0]['attribs']['']['url']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2847
				{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2848
					// Attributes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2849
					$bitrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2850
					$channels = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2851
					$duration = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2852
					$expression = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2853
					$framerate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2854
					$height = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2855
					$javascript = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2856
					$lang = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2857
					$length = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2858
					$medium = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2859
					$samplingrate = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2860
					$type = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2861
					$url = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2862
					$width = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2863
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2864
					$url = $this->sanitize($enclosure[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($enclosure[0]));
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  2865
					$url = $this->feed->sanitize->https_url($url);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2866
					if (isset($enclosure[0]['attribs']['']['type']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2867
					{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2868
						$type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2869
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2870
					if (isset($enclosure[0]['attribs']['']['length']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2871
					{
19
3d72ae0968f4 upgrade wordpress to 6.0.2
ymh <ymh.work@gmail.com>
parents: 16
diff changeset
  2872
						$length = intval($enclosure[0]['attribs']['']['length']);
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2873
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2874
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2875
					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2876
					$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $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));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2877
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2878
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2879
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2880
			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))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2881
			{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2882
				// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2883
				$this->data['enclosures'][] = $this->registry->create('Enclosure', array($url, $type, $length, null, $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));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2884
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2885
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2886
			$this->data['enclosures'] = array_values(array_unique($this->data['enclosures']));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2887
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2888
		if (!empty($this->data['enclosures']))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2889
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2890
			return $this->data['enclosures'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2891
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2892
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2893
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2894
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2895
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2896
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2897
	 * Get the latitude coordinates for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2898
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2899
	 * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2900
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2901
	 * Uses `<geo:lat>` or `<georss:point>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2902
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2903
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2904
	 * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2905
	 * @link http://www.georss.org/ GeoRSS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2906
	 * @return string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2907
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2908
	public function get_latitude()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2909
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2910
		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2911
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2912
			return (float) $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2913
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2914
		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2915
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2916
			return (float) $match[1];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2917
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2918
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2919
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2920
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2921
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2922
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2923
	 * Get the longitude coordinates for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2924
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2925
	 * Compatible with the W3C WGS84 Basic Geo and GeoRSS specifications
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2926
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2927
	 * Uses `<geo:long>`, `<geo:lon>` or `<georss:point>`
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2928
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2929
	 * @since 1.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2930
	 * @link http://www.w3.org/2003/01/geo/ W3C WGS84 Basic Geo
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2931
	 * @link http://www.georss.org/ GeoRSS
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2932
	 * @return string|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2933
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2934
	public function get_longitude()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2935
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2936
		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2937
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2938
			return (float) $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2939
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2940
		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2941
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2942
			return (float) $return[0]['data'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2943
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2944
		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2945
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2946
			return (float) $match[2];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2947
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2948
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2949
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2950
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2951
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2952
	/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2953
	 * Get the `<atom:source>` for the item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2954
	 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2955
	 * @since 1.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2956
	 * @return SimplePie_Source|null
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2957
	 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2958
	public function get_source()
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2959
	{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2960
		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'source'))
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2961
		{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2962
			return $this->registry->create('Source', array($this, $return[0]));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2963
		}
16
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2964
a86126ab1dd4 update enmi-conf
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
  2965
		return null;
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2966
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
  2967
}