| @@ 223-291 (lines=69) @@ | ||
| 220 | } |
|
| 221 | } |
|
| 222 | ||
| 223 | public function get_authors() |
|
| 224 | { |
|
| 225 | $authors = array(); |
|
| 226 | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author) |
|
| 227 | { |
|
| 228 | $name = null; |
|
| 229 | $uri = null; |
|
| 230 | $email = null; |
|
| 231 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'])) |
|
| 232 | { |
|
| 233 | $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 234 | } |
|
| 235 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'])) |
|
| 236 | { |
|
| 237 | $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])); |
|
| 238 | } |
|
| 239 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'])) |
|
| 240 | { |
|
| 241 | $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 242 | } |
|
| 243 | if ($name !== null || $email !== null || $uri !== null) |
|
| 244 | { |
|
| 245 | $authors[] = $this->registry->create('Author', array($name, $uri, $email)); |
|
| 246 | } |
|
| 247 | } |
|
| 248 | if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) |
|
| 249 | { |
|
| 250 | $name = null; |
|
| 251 | $url = null; |
|
| 252 | $email = null; |
|
| 253 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'])) |
|
| 254 | { |
|
| 255 | $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 256 | } |
|
| 257 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'])) |
|
| 258 | { |
|
| 259 | $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])); |
|
| 260 | } |
|
| 261 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'])) |
|
| 262 | { |
|
| 263 | $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 264 | } |
|
| 265 | if ($name !== null || $email !== null || $url !== null) |
|
| 266 | { |
|
| 267 | $authors[] = $this->registry->create('Author', array($name, $url, $email)); |
|
| 268 | } |
|
| 269 | } |
|
| 270 | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) |
|
| 271 | { |
|
| 272 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 273 | } |
|
| 274 | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) |
|
| 275 | { |
|
| 276 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 277 | } |
|
| 278 | foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) |
|
| 279 | { |
|
| 280 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 281 | } |
|
| 282 | ||
| 283 | if (!empty($authors)) |
|
| 284 | { |
|
| 285 | return array_unique($authors); |
|
| 286 | } |
|
| 287 | else |
|
| 288 | { |
|
| 289 | return null; |
|
| 290 | } |
|
| 291 | } |
|
| 292 | ||
| 293 | public function get_contributor($key = 0) |
|
| 294 | { |
|
| @@ 2161-2229 (lines=69) @@ | ||
| 2158 | * @since 1.1 |
|
| 2159 | * @return array|null List of {@see SimplePie_Author} objects |
|
| 2160 | */ |
|
| 2161 | public function get_authors() |
|
| 2162 | { |
|
| 2163 | $authors = array(); |
|
| 2164 | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author) |
|
| 2165 | { |
|
| 2166 | $name = null; |
|
| 2167 | $uri = null; |
|
| 2168 | $email = null; |
|
| 2169 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'])) |
|
| 2170 | { |
|
| 2171 | $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 2172 | } |
|
| 2173 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'])) |
|
| 2174 | { |
|
| 2175 | $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])); |
|
| 2176 | } |
|
| 2177 | if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'])) |
|
| 2178 | { |
|
| 2179 | $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 2180 | } |
|
| 2181 | if ($name !== null || $email !== null || $uri !== null) |
|
| 2182 | { |
|
| 2183 | $authors[] = $this->registry->create('Author', array($name, $uri, $email)); |
|
| 2184 | } |
|
| 2185 | } |
|
| 2186 | if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) |
|
| 2187 | { |
|
| 2188 | $name = null; |
|
| 2189 | $url = null; |
|
| 2190 | $email = null; |
|
| 2191 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'])) |
|
| 2192 | { |
|
| 2193 | $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 2194 | } |
|
| 2195 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'])) |
|
| 2196 | { |
|
| 2197 | $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])); |
|
| 2198 | } |
|
| 2199 | if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'])) |
|
| 2200 | { |
|
| 2201 | $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT); |
|
| 2202 | } |
|
| 2203 | if ($name !== null || $email !== null || $url !== null) |
|
| 2204 | { |
|
| 2205 | $authors[] = $this->registry->create('Author', array($name, $url, $email)); |
|
| 2206 | } |
|
| 2207 | } |
|
| 2208 | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) |
|
| 2209 | { |
|
| 2210 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 2211 | } |
|
| 2212 | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) |
|
| 2213 | { |
|
| 2214 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 2215 | } |
|
| 2216 | foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) |
|
| 2217 | { |
|
| 2218 | $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null)); |
|
| 2219 | } |
|
| 2220 | ||
| 2221 | if (!empty($authors)) |
|
| 2222 | { |
|
| 2223 | return array_unique($authors); |
|
| 2224 | } |
|
| 2225 | else |
|
| 2226 | { |
|
| 2227 | return null; |
|
| 2228 | } |
|
| 2229 | } |
|
| 2230 | ||
| 2231 | /** |
|
| 2232 | * Get a contributor for the feed |
|