comparison vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
4 *
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
9
10 namespace Zend\Feed\Reader\Extension\CreativeCommons;
11
12 use Zend\Feed\Reader\Extension;
13
14 class Feed extends Extension\AbstractFeed
15 {
16 /**
17 * Get the entry license
18 *
19 * @param int $index
20 * @return string|null
21 */
22 public function getLicense($index = 0)
23 {
24 $licenses = $this->getLicenses();
25
26 if (isset($licenses[$index])) {
27 return $licenses[$index];
28 }
29
30 return;
31 }
32
33 /**
34 * Get the entry licenses
35 *
36 * @return array
37 */
38 public function getLicenses()
39 {
40 $name = 'licenses';
41 if (array_key_exists($name, $this->data)) {
42 return $this->data[$name];
43 }
44
45 $licenses = [];
46 $list = $this->xpath->evaluate('channel/cc:license');
47
48 if ($list->length) {
49 foreach ($list as $license) {
50 $licenses[] = $license->nodeValue;
51 }
52
53 $licenses = array_unique($licenses);
54 }
55
56 $this->data[$name] = $licenses;
57
58 return $this->data[$name];
59 }
60
61 /**
62 * Register Creative Commons namespaces
63 *
64 * @return void
65 */
66 protected function registerNamespaces()
67 {
68 $this->xpath->registerNamespace('cc', 'http://backend.userland.com/creativeCommonsRssModule');
69 }
70 }