@@ 385-457 (lines=73) @@ | ||
382 | return $this->get_link(0); |
|
383 | } |
|
384 | ||
385 | public function get_links($rel = 'alternate') |
|
386 | { |
|
387 | if (!isset($this->data['links'])) |
|
388 | { |
|
389 | $this->data['links'] = array(); |
|
390 | if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link')) |
|
391 | { |
|
392 | foreach ($links as $link) |
|
393 | { |
|
394 | if (isset($link['attribs']['']['href'])) |
|
395 | { |
|
396 | $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate'; |
|
397 | $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link)); |
|
398 | } |
|
399 | } |
|
400 | } |
|
401 | if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link')) |
|
402 | { |
|
403 | foreach ($links as $link) |
|
404 | { |
|
405 | if (isset($link['attribs']['']['href'])) |
|
406 | { |
|
407 | $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate'; |
|
408 | $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link)); |
|
409 | ||
410 | } |
|
411 | } |
|
412 | } |
|
413 | if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link')) |
|
414 | { |
|
415 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
416 | } |
|
417 | if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link')) |
|
418 | { |
|
419 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
420 | } |
|
421 | if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link')) |
|
422 | { |
|
423 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
424 | } |
|
425 | ||
426 | $keys = array_keys($this->data['links']); |
|
427 | foreach ($keys as $key) |
|
428 | { |
|
429 | if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key))) |
|
430 | { |
|
431 | if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key])) |
|
432 | { |
|
433 | $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]); |
|
434 | $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]; |
|
435 | } |
|
436 | else |
|
437 | { |
|
438 | $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key]; |
|
439 | } |
|
440 | } |
|
441 | elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY) |
|
442 | { |
|
443 | $this->data['links'][substr($key, 41)] =& $this->data['links'][$key]; |
|
444 | } |
|
445 | $this->data['links'][$key] = array_unique($this->data['links'][$key]); |
|
446 | } |
|
447 | } |
|
448 | ||
449 | if (isset($this->data['links'][$rel])) |
|
450 | { |
|
451 | return $this->data['links'][$rel]; |
|
452 | } |
|
453 | else |
|
454 | { |
|
455 | return null; |
|
456 | } |
|
457 | } |
|
458 | ||
459 | public function get_description() |
|
460 | { |
@@ 2363-2435 (lines=73) @@ | ||
2360 | * @param string $rel The relationship of links to return |
|
2361 | * @return array|null Links found for the feed (strings) |
|
2362 | */ |
|
2363 | public function get_links($rel = 'alternate') |
|
2364 | { |
|
2365 | if (!isset($this->data['links'])) |
|
2366 | { |
|
2367 | $this->data['links'] = array(); |
|
2368 | if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link')) |
|
2369 | { |
|
2370 | foreach ($links as $link) |
|
2371 | { |
|
2372 | if (isset($link['attribs']['']['href'])) |
|
2373 | { |
|
2374 | $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate'; |
|
2375 | $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link)); |
|
2376 | } |
|
2377 | } |
|
2378 | } |
|
2379 | if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link')) |
|
2380 | { |
|
2381 | foreach ($links as $link) |
|
2382 | { |
|
2383 | if (isset($link['attribs']['']['href'])) |
|
2384 | { |
|
2385 | $link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate'; |
|
2386 | $this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link)); |
|
2387 | ||
2388 | } |
|
2389 | } |
|
2390 | } |
|
2391 | if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link')) |
|
2392 | { |
|
2393 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
2394 | } |
|
2395 | if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link')) |
|
2396 | { |
|
2397 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
2398 | } |
|
2399 | if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link')) |
|
2400 | { |
|
2401 | $this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0])); |
|
2402 | } |
|
2403 | ||
2404 | $keys = array_keys($this->data['links']); |
|
2405 | foreach ($keys as $key) |
|
2406 | { |
|
2407 | if ($this->registry->call('Misc', 'is_isegment_nz_nc', array($key))) |
|
2408 | { |
|
2409 | if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key])) |
|
2410 | { |
|
2411 | $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]); |
|
2412 | $this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]; |
|
2413 | } |
|
2414 | else |
|
2415 | { |
|
2416 | $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key]; |
|
2417 | } |
|
2418 | } |
|
2419 | elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY) |
|
2420 | { |
|
2421 | $this->data['links'][substr($key, 41)] =& $this->data['links'][$key]; |
|
2422 | } |
|
2423 | $this->data['links'][$key] = array_unique($this->data['links'][$key]); |
|
2424 | } |
|
2425 | } |
|
2426 | ||
2427 | if (isset($this->data['links'][$rel])) |
|
2428 | { |
|
2429 | return $this->data['links'][$rel]; |
|
2430 | } |
|
2431 | else |
|
2432 | { |
|
2433 | return null; |
|
2434 | } |
|
2435 | } |
|
2436 | ||
2437 | public function get_all_discovered_feeds() |
|
2438 | { |