Chris@0
|
1 <?php
|
Chris@0
|
2 /**
|
Chris@0
|
3 * Zend Framework (http://framework.zend.com/)
|
Chris@0
|
4 *
|
Chris@0
|
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
|
Chris@0
|
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
Chris@0
|
7 * @license http://framework.zend.com/license/new-bsd New BSD License
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 namespace Zend\Feed\Reader\Extension\Podcast;
|
Chris@0
|
11
|
Chris@0
|
12 use Zend\Feed\Reader\Extension;
|
Chris@0
|
13
|
Chris@0
|
14 /**
|
Chris@0
|
15 */
|
Chris@0
|
16 class Entry extends Extension\AbstractEntry
|
Chris@0
|
17 {
|
Chris@0
|
18 /**
|
Chris@0
|
19 * Get the entry author
|
Chris@0
|
20 *
|
Chris@0
|
21 * @return string
|
Chris@0
|
22 */
|
Chris@0
|
23 public function getCastAuthor()
|
Chris@0
|
24 {
|
Chris@0
|
25 if (isset($this->data['author'])) {
|
Chris@0
|
26 return $this->data['author'];
|
Chris@0
|
27 }
|
Chris@0
|
28
|
Chris@0
|
29 $author = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:author)');
|
Chris@0
|
30
|
Chris@0
|
31 if (!$author) {
|
Chris@0
|
32 $author = null;
|
Chris@0
|
33 }
|
Chris@0
|
34
|
Chris@0
|
35 $this->data['author'] = $author;
|
Chris@0
|
36
|
Chris@0
|
37 return $this->data['author'];
|
Chris@0
|
38 }
|
Chris@0
|
39
|
Chris@0
|
40 /**
|
Chris@0
|
41 * Get the entry block
|
Chris@0
|
42 *
|
Chris@0
|
43 * @return string
|
Chris@0
|
44 */
|
Chris@0
|
45 public function getBlock()
|
Chris@0
|
46 {
|
Chris@0
|
47 if (isset($this->data['block'])) {
|
Chris@0
|
48 return $this->data['block'];
|
Chris@0
|
49 }
|
Chris@0
|
50
|
Chris@0
|
51 $block = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:block)');
|
Chris@0
|
52
|
Chris@0
|
53 if (!$block) {
|
Chris@0
|
54 $block = null;
|
Chris@0
|
55 }
|
Chris@0
|
56
|
Chris@0
|
57 $this->data['block'] = $block;
|
Chris@0
|
58
|
Chris@0
|
59 return $this->data['block'];
|
Chris@0
|
60 }
|
Chris@0
|
61
|
Chris@0
|
62 /**
|
Chris@0
|
63 * Get the entry duration
|
Chris@0
|
64 *
|
Chris@0
|
65 * @return string
|
Chris@0
|
66 */
|
Chris@0
|
67 public function getDuration()
|
Chris@0
|
68 {
|
Chris@0
|
69 if (isset($this->data['duration'])) {
|
Chris@0
|
70 return $this->data['duration'];
|
Chris@0
|
71 }
|
Chris@0
|
72
|
Chris@0
|
73 $duration = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:duration)');
|
Chris@0
|
74
|
Chris@0
|
75 if (!$duration) {
|
Chris@0
|
76 $duration = null;
|
Chris@0
|
77 }
|
Chris@0
|
78
|
Chris@0
|
79 $this->data['duration'] = $duration;
|
Chris@0
|
80
|
Chris@0
|
81 return $this->data['duration'];
|
Chris@0
|
82 }
|
Chris@0
|
83
|
Chris@0
|
84 /**
|
Chris@0
|
85 * Get the entry explicit
|
Chris@0
|
86 *
|
Chris@0
|
87 * @return string
|
Chris@0
|
88 */
|
Chris@0
|
89 public function getExplicit()
|
Chris@0
|
90 {
|
Chris@0
|
91 if (isset($this->data['explicit'])) {
|
Chris@0
|
92 return $this->data['explicit'];
|
Chris@0
|
93 }
|
Chris@0
|
94
|
Chris@0
|
95 $explicit = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:explicit)');
|
Chris@0
|
96
|
Chris@0
|
97 if (!$explicit) {
|
Chris@0
|
98 $explicit = null;
|
Chris@0
|
99 }
|
Chris@0
|
100
|
Chris@0
|
101 $this->data['explicit'] = $explicit;
|
Chris@0
|
102
|
Chris@0
|
103 return $this->data['explicit'];
|
Chris@0
|
104 }
|
Chris@0
|
105
|
Chris@0
|
106 /**
|
Chris@0
|
107 * Get the entry keywords
|
Chris@0
|
108 *
|
Chris@0
|
109 * @return string
|
Chris@0
|
110 */
|
Chris@0
|
111 public function getKeywords()
|
Chris@0
|
112 {
|
Chris@0
|
113 if (isset($this->data['keywords'])) {
|
Chris@0
|
114 return $this->data['keywords'];
|
Chris@0
|
115 }
|
Chris@0
|
116
|
Chris@0
|
117 $keywords = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:keywords)');
|
Chris@0
|
118
|
Chris@0
|
119 if (!$keywords) {
|
Chris@0
|
120 $keywords = null;
|
Chris@0
|
121 }
|
Chris@0
|
122
|
Chris@0
|
123 $this->data['keywords'] = $keywords;
|
Chris@0
|
124
|
Chris@0
|
125 return $this->data['keywords'];
|
Chris@0
|
126 }
|
Chris@0
|
127
|
Chris@0
|
128 /**
|
Chris@0
|
129 * Get the entry subtitle
|
Chris@0
|
130 *
|
Chris@0
|
131 * @return string
|
Chris@0
|
132 */
|
Chris@0
|
133 public function getSubtitle()
|
Chris@0
|
134 {
|
Chris@0
|
135 if (isset($this->data['subtitle'])) {
|
Chris@0
|
136 return $this->data['subtitle'];
|
Chris@0
|
137 }
|
Chris@0
|
138
|
Chris@0
|
139 $subtitle = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:subtitle)');
|
Chris@0
|
140
|
Chris@0
|
141 if (!$subtitle) {
|
Chris@0
|
142 $subtitle = null;
|
Chris@0
|
143 }
|
Chris@0
|
144
|
Chris@0
|
145 $this->data['subtitle'] = $subtitle;
|
Chris@0
|
146
|
Chris@0
|
147 return $this->data['subtitle'];
|
Chris@0
|
148 }
|
Chris@0
|
149
|
Chris@0
|
150 /**
|
Chris@0
|
151 * Get the entry summary
|
Chris@0
|
152 *
|
Chris@0
|
153 * @return string
|
Chris@0
|
154 */
|
Chris@0
|
155 public function getSummary()
|
Chris@0
|
156 {
|
Chris@0
|
157 if (isset($this->data['summary'])) {
|
Chris@0
|
158 return $this->data['summary'];
|
Chris@0
|
159 }
|
Chris@0
|
160
|
Chris@0
|
161 $summary = $this->xpath->evaluate('string(' . $this->getXpathPrefix() . '/itunes:summary)');
|
Chris@0
|
162
|
Chris@0
|
163 if (!$summary) {
|
Chris@0
|
164 $summary = null;
|
Chris@0
|
165 }
|
Chris@0
|
166
|
Chris@0
|
167 $this->data['summary'] = $summary;
|
Chris@0
|
168
|
Chris@0
|
169 return $this->data['summary'];
|
Chris@0
|
170 }
|
Chris@0
|
171
|
Chris@0
|
172 /**
|
Chris@0
|
173 * Register iTunes namespace
|
Chris@0
|
174 *
|
Chris@0
|
175 */
|
Chris@0
|
176 protected function registerNamespaces()
|
Chris@0
|
177 {
|
Chris@0
|
178 $this->xpath->registerNamespace('itunes', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
|
Chris@0
|
179 }
|
Chris@0
|
180 }
|