Test Setup Failed
Pull Request — master (#488)
by
unknown
03:18
created
lib/OPDS_renderer.php 1 patch
Spacing   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -13,262 +13,262 @@
 block discarded – undo
13 13
     private $xmlStream = NULL;
14 14
     private $updated = NULL;
15 15
 
16
-    private function getUpdatedTime () {
17
-        if (is_null ($this->updated)) {
16
+    private function getUpdatedTime() {
17
+        if (is_null($this->updated)) {
18 18
             $this->updated = time();
19 19
         }
20
-        return date (DATE_ATOM, $this->updated);
20
+        return date(DATE_ATOM, $this->updated);
21 21
     }
22 22
 
23
-    private function getXmlStream () {
24
-        if (is_null ($this->xmlStream)) {
23
+    private function getXmlStream() {
24
+        if (is_null($this->xmlStream)) {
25 25
             $this->xmlStream = new XMLWriter();
26 26
             $this->xmlStream->openMemory();
27
-            $this->xmlStream->setIndent (true);
27
+            $this->xmlStream->setIndent(true);
28 28
         }
29 29
         return $this->xmlStream;
30 30
     }
31 31
 
32
-    public function getOpenSearch () {
32
+    public function getOpenSearch() {
33 33
         global $config;
34
-        $xml = new XMLWriter ();
35
-        $xml->openMemory ();
36
-        $xml->setIndent (true);
37
-        $xml->startDocument('1.0','UTF-8');
38
-            $xml->startElement ("OpenSearchDescription");
39
-                $xml->writeAttribute ("xmlns", "http://a9.com/-/spec/opensearch/1.1/");
40
-                $xml->startElement ("ShortName");
41
-                    $xml->text ("My catalog");
42
-                $xml->endElement ();
43
-                $xml->startElement ("Description");
44
-                    $xml->text ("Search for ebooks");
45
-                $xml->endElement ();
46
-                $xml->startElement ("InputEncoding");
47
-                    $xml->text ("UTF-8");
48
-                $xml->endElement ();
49
-                $xml->startElement ("OutputEncoding");
50
-                    $xml->text ("UTF-8");
51
-                $xml->endElement ();
52
-                $xml->startElement ("Image");
53
-                    $xml->writeAttribute ("type", "image/x-icon");
54
-                    $xml->writeAttribute ("width", "16");
55
-                    $xml->writeAttribute ("height", "16");
56
-                    $xml->text ($config['cops_icon']);
57
-                $xml->endElement ();
58
-                $xml->startElement ("Url");
59
-                    $xml->writeAttribute ("type", 'application/atom+xml');
34
+        $xml = new XMLWriter();
35
+        $xml->openMemory();
36
+        $xml->setIndent(true);
37
+        $xml->startDocument('1.0', 'UTF-8');
38
+            $xml->startElement("OpenSearchDescription");
39
+                $xml->writeAttribute("xmlns", "http://a9.com/-/spec/opensearch/1.1/");
40
+                $xml->startElement("ShortName");
41
+                    $xml->text("My catalog");
42
+                $xml->endElement();
43
+                $xml->startElement("Description");
44
+                    $xml->text("Search for ebooks");
45
+                $xml->endElement();
46
+                $xml->startElement("InputEncoding");
47
+                    $xml->text("UTF-8");
48
+                $xml->endElement();
49
+                $xml->startElement("OutputEncoding");
50
+                    $xml->text("UTF-8");
51
+                $xml->endElement();
52
+                $xml->startElement("Image");
53
+                    $xml->writeAttribute("type", "image/x-icon");
54
+                    $xml->writeAttribute("width", "16");
55
+                    $xml->writeAttribute("height", "16");
56
+                    $xml->text($config['cops_icon']);
57
+                $xml->endElement();
58
+                $xml->startElement("Url");
59
+                    $xml->writeAttribute("type", 'application/atom+xml');
60 60
                     $urlparam = "?query={searchTerms}";
61
-                    if (!is_null (GetUrlParam (DB))) $urlparam = addURLParameter ($urlparam, DB, GetUrlParam (DB));
62
-                    $urlparam = str_replace ("%7B", "{", $urlparam);
63
-                    $urlparam = str_replace ("%7D", "}", $urlparam);
64
-                    $xml->writeAttribute ("template", $config['cops_full_url'] . 'feed.php' . $urlparam);
65
-                $xml->endElement ();
66
-                $xml->startElement ("Query");
67
-                    $xml->writeAttribute ("role", "example");
68
-                    $xml->writeAttribute ("searchTerms", "robot");
69
-                $xml->endElement ();
70
-            $xml->endElement ();
61
+                    if (!is_null(GetUrlParam(DB))) $urlparam = addURLParameter($urlparam, DB, GetUrlParam(DB));
62
+                    $urlparam = str_replace("%7B", "{", $urlparam);
63
+                    $urlparam = str_replace("%7D", "}", $urlparam);
64
+                    $xml->writeAttribute("template", $config['cops_full_url'] . 'feed.php' . $urlparam);
65
+                $xml->endElement();
66
+                $xml->startElement("Query");
67
+                    $xml->writeAttribute("role", "example");
68
+                    $xml->writeAttribute("searchTerms", "robot");
69
+                $xml->endElement();
70
+            $xml->endElement();
71 71
         $xml->endDocument();
72 72
         return $xml->outputMemory(true);
73 73
     }
74 74
 
75
-    private function startXmlDocument ($page) {
75
+    private function startXmlDocument($page) {
76 76
         global $config;
77
-        self::getXmlStream ()->startDocument('1.0','UTF-8');
78
-        self::getXmlStream ()->startElement ("feed");
79
-            self::getXmlStream ()->writeAttribute ("xmlns", "http://www.w3.org/2005/Atom");
80
-            self::getXmlStream ()->writeAttribute ("xmlns:xhtml", "http://www.w3.org/1999/xhtml");
81
-            self::getXmlStream ()->writeAttribute ("xmlns:opds", "http://opds-spec.org/2010/catalog");
82
-            self::getXmlStream ()->writeAttribute ("xmlns:opensearch", "http://a9.com/-/spec/opensearch/1.1/");
83
-            self::getXmlStream ()->writeAttribute ("xmlns:dcterms", "http://purl.org/dc/terms/");
84
-            self::getXmlStream ()->startElement ("title");
85
-                self::getXmlStream ()->text ($page->title);
86
-            self::getXmlStream ()->endElement ();
77
+        self::getXmlStream()->startDocument('1.0', 'UTF-8');
78
+        self::getXmlStream()->startElement("feed");
79
+            self::getXmlStream()->writeAttribute("xmlns", "http://www.w3.org/2005/Atom");
80
+            self::getXmlStream()->writeAttribute("xmlns:xhtml", "http://www.w3.org/1999/xhtml");
81
+            self::getXmlStream()->writeAttribute("xmlns:opds", "http://opds-spec.org/2010/catalog");
82
+            self::getXmlStream()->writeAttribute("xmlns:opensearch", "http://a9.com/-/spec/opensearch/1.1/");
83
+            self::getXmlStream()->writeAttribute("xmlns:dcterms", "http://purl.org/dc/terms/");
84
+            self::getXmlStream()->startElement("title");
85
+                self::getXmlStream()->text($page->title);
86
+            self::getXmlStream()->endElement();
87 87
             if ($page->subtitle != "")
88 88
             {
89
-                self::getXmlStream ()->startElement ("subtitle");
90
-                    self::getXmlStream ()->text ($page->subtitle);
91
-                self::getXmlStream ()->endElement ();
89
+                self::getXmlStream()->startElement("subtitle");
90
+                    self::getXmlStream()->text($page->subtitle);
91
+                self::getXmlStream()->endElement();
92 92
             }
93
-            self::getXmlStream ()->startElement ("id");
93
+            self::getXmlStream()->startElement("id");
94 94
                 if ($page->idPage)
95 95
                 {
96 96
                     $idPage = $page->idPage;
97
-                    if (!is_null (GetUrlParam (DB))) $idPage = str_replace ("cops:", "cops:" . GetUrlParam (DB) . ":", $idPage);
98
-                    self::getXmlStream ()->text ($idPage);
97
+                    if (!is_null(GetUrlParam(DB))) $idPage = str_replace("cops:", "cops:" . GetUrlParam(DB) . ":", $idPage);
98
+                    self::getXmlStream()->text($idPage);
99 99
                 }
100 100
                 else
101 101
                 {
102
-                    self::getXmlStream ()->text ($_SERVER['REQUEST_URI']);
102
+                    self::getXmlStream()->text($_SERVER['REQUEST_URI']);
103 103
                 }
104
-            self::getXmlStream ()->endElement ();
105
-            self::getXmlStream ()->startElement ("updated");
106
-                self::getXmlStream ()->text (self::getUpdatedTime ());
107
-            self::getXmlStream ()->endElement ();
108
-            self::getXmlStream ()->startElement ("icon");
109
-                self::getXmlStream ()->text ($page->favicon);
110
-            self::getXmlStream ()->endElement ();
111
-            self::getXmlStream ()->startElement ("author");
112
-                self::getXmlStream ()->startElement ("name");
113
-                    self::getXmlStream ()->text ($page->authorName);
114
-                self::getXmlStream ()->endElement ();
115
-                self::getXmlStream ()->startElement ("uri");
116
-                    self::getXmlStream ()->text ($page->authorUri);
117
-                self::getXmlStream ()->endElement ();
118
-                self::getXmlStream ()->startElement ("email");
119
-                    self::getXmlStream ()->text ($page->authorEmail);
120
-                self::getXmlStream ()->endElement ();
121
-            self::getXmlStream ()->endElement ();
122
-            $link = new LinkNavigation ("", "start", "Home");
123
-            self::renderLink ($link);
124
-            $link = new LinkNavigation ("?" . getQueryString (), "self");
125
-            self::renderLink ($link);
104
+            self::getXmlStream()->endElement();
105
+            self::getXmlStream()->startElement("updated");
106
+                self::getXmlStream()->text(self::getUpdatedTime());
107
+            self::getXmlStream()->endElement();
108
+            self::getXmlStream()->startElement("icon");
109
+                self::getXmlStream()->text($page->favicon);
110
+            self::getXmlStream()->endElement();
111
+            self::getXmlStream()->startElement("author");
112
+                self::getXmlStream()->startElement("name");
113
+                    self::getXmlStream()->text($page->authorName);
114
+                self::getXmlStream()->endElement();
115
+                self::getXmlStream()->startElement("uri");
116
+                    self::getXmlStream()->text($page->authorUri);
117
+                self::getXmlStream()->endElement();
118
+                self::getXmlStream()->startElement("email");
119
+                    self::getXmlStream()->text($page->authorEmail);
120
+                self::getXmlStream()->endElement();
121
+            self::getXmlStream()->endElement();
122
+            $link = new LinkNavigation("", "start", "Home");
123
+            self::renderLink($link);
124
+            $link = new LinkNavigation("?" . getQueryString(), "self");
125
+            self::renderLink($link);
126 126
             $urlparam = "?";
127
-            if (!is_null (GetUrlParam (DB))) $urlparam = addURLParameter ($urlparam, DB, GetUrlParam (DB));
127
+            if (!is_null(GetUrlParam(DB))) $urlparam = addURLParameter($urlparam, DB, GetUrlParam(DB));
128 128
             if ($config['cops_generate_invalid_opds_stream'] == 0 || preg_match("/(MantanoReader|FBReader)/", $_SERVER['HTTP_USER_AGENT'])) {
129 129
                 // Good and compliant way of handling search
130
-                $urlparam = addURLParameter ($urlparam, "page", Base::PAGE_OPENSEARCH);
131
-                $link = new Link ("feed.php" . $urlparam, "application/opensearchdescription+xml", "search", "Search here");
130
+                $urlparam = addURLParameter($urlparam, "page", Base::PAGE_OPENSEARCH);
131
+                $link = new Link("feed.php" . $urlparam, "application/opensearchdescription+xml", "search", "Search here");
132 132
             }
133 133
             else
134 134
             {
135 135
                 // Bad way, will be removed when OPDS client are fixed
136
-                $urlparam = addURLParameter ($urlparam, "query", "{searchTerms}");
137
-                $urlparam = str_replace ("%7B", "{", $urlparam);
138
-                $urlparam = str_replace ("%7D", "}", $urlparam);
139
-                $link = new Link ($config['cops_full_url'] . 'feed.php' . $urlparam, "application/atom+xml", "search", "Search here");
136
+                $urlparam = addURLParameter($urlparam, "query", "{searchTerms}");
137
+                $urlparam = str_replace("%7B", "{", $urlparam);
138
+                $urlparam = str_replace("%7D", "}", $urlparam);
139
+                $link = new Link($config['cops_full_url'] . 'feed.php' . $urlparam, "application/atom+xml", "search", "Search here");
140 140
             }
141
-            self::renderLink ($link);
142
-            if ($page->containsBook () && !is_null ($config['cops_books_filter']) && count ($config['cops_books_filter']) > 0) {
143
-                $Urlfilter = getURLParam ("tag", "");
141
+            self::renderLink($link);
142
+            if ($page->containsBook() && !is_null($config['cops_books_filter']) && count($config['cops_books_filter']) > 0) {
143
+                $Urlfilter = getURLParam("tag", "");
144 144
                 foreach ($config['cops_books_filter'] as $lib => $filter) {
145
-                    $link = new LinkFacet ("?" . addURLParameter (getQueryString (), "tag", $filter), $lib, localize ("tagword.title"), $filter == $Urlfilter);
146
-                    self::renderLink ($link);
145
+                    $link = new LinkFacet("?" . addURLParameter(getQueryString(), "tag", $filter), $lib, localize("tagword.title"), $filter == $Urlfilter);
146
+                    self::renderLink($link);
147 147
                 }
148 148
             }
149 149
     }
150 150
 
151
-    private function endXmlDocument () {
152
-        self::getXmlStream ()->endElement ();
153
-        self::getXmlStream ()->endDocument ();
154
-        return self::getXmlStream ()->outputMemory(true);
151
+    private function endXmlDocument() {
152
+        self::getXmlStream()->endElement();
153
+        self::getXmlStream()->endDocument();
154
+        return self::getXmlStream()->outputMemory(true);
155 155
     }
156 156
 
157
-    private function renderLink ($link) {
158
-        self::getXmlStream ()->startElement ("link");
159
-            self::getXmlStream ()->writeAttribute ("href", $link->href);
160
-            self::getXmlStream ()->writeAttribute ("type", $link->type);
161
-            if (!is_null ($link->rel)) {
162
-                self::getXmlStream ()->writeAttribute ("rel", $link->rel);
157
+    private function renderLink($link) {
158
+        self::getXmlStream()->startElement("link");
159
+            self::getXmlStream()->writeAttribute("href", $link->href);
160
+            self::getXmlStream()->writeAttribute("type", $link->type);
161
+            if (!is_null($link->rel)) {
162
+                self::getXmlStream()->writeAttribute("rel", $link->rel);
163 163
             }
164
-            if (!is_null ($link->title)) {
165
-                self::getXmlStream ()->writeAttribute ("title", $link->title);
164
+            if (!is_null($link->title)) {
165
+                self::getXmlStream()->writeAttribute("title", $link->title);
166 166
             }
167
-            if (!is_null ($link->facetGroup)) {
168
-                self::getXmlStream ()->writeAttribute ("opds:facetGroup", $link->facetGroup);
167
+            if (!is_null($link->facetGroup)) {
168
+                self::getXmlStream()->writeAttribute("opds:facetGroup", $link->facetGroup);
169 169
             }
170 170
             if ($link->activeFacet) {
171
-                self::getXmlStream ()->writeAttribute ("opds:activeFacet", "true");
171
+                self::getXmlStream()->writeAttribute("opds:activeFacet", "true");
172 172
             }
173
-        self::getXmlStream ()->endElement ();
173
+        self::getXmlStream()->endElement();
174 174
     }
175 175
 
176 176
     private function getPublicationDate($book) {
177 177
         $dateYmd = substr($book->pubdate, 0, 10);
178 178
         $pubdate = \DateTime::createFromFormat('Y-m-d', $dateYmd);
179 179
         if ($pubdate === false ||
180
-            $pubdate->format ("Y") == "0101" ||
181
-            $pubdate->format ("Y") == "0100") {
180
+            $pubdate->format("Y") == "0101" ||
181
+            $pubdate->format("Y") == "0100") {
182 182
             return "";
183 183
         }
184 184
         return $pubdate->format("Y-m-d");
185 185
     }
186 186
 
187
-    private function renderEntry ($entry) {
188
-        self::getXmlStream ()->startElement ("title");
189
-            self::getXmlStream ()->text ($entry->title);
190
-        self::getXmlStream ()->endElement ();
191
-        self::getXmlStream ()->startElement ("updated");
192
-            self::getXmlStream ()->text (self::getUpdatedTime ());
193
-        self::getXmlStream ()->endElement ();
194
-        self::getXmlStream ()->startElement ("id");
195
-            self::getXmlStream ()->text ($entry->id);
196
-        self::getXmlStream ()->endElement ();
197
-        self::getXmlStream ()->startElement ("content");
198
-            self::getXmlStream ()->writeAttribute ("type", $entry->contentType);
199
-            self::getXmlStream ()->text ($entry->content);
200
-        self::getXmlStream ()->endElement ();
187
+    private function renderEntry($entry) {
188
+        self::getXmlStream()->startElement("title");
189
+            self::getXmlStream()->text($entry->title);
190
+        self::getXmlStream()->endElement();
191
+        self::getXmlStream()->startElement("updated");
192
+            self::getXmlStream()->text(self::getUpdatedTime());
193
+        self::getXmlStream()->endElement();
194
+        self::getXmlStream()->startElement("id");
195
+            self::getXmlStream()->text($entry->id);
196
+        self::getXmlStream()->endElement();
197
+        self::getXmlStream()->startElement("content");
198
+            self::getXmlStream()->writeAttribute("type", $entry->contentType);
199
+            self::getXmlStream()->text($entry->content);
200
+        self::getXmlStream()->endElement();
201 201
         foreach ($entry->linkArray as $link) {
202
-            self::renderLink ($link);
202
+            self::renderLink($link);
203 203
         }
204 204
 
205
-        if (get_class ($entry) != "EntryBook") {
205
+        if (get_class($entry) != "EntryBook") {
206 206
             return;
207 207
         }
208 208
 
209
-        foreach ($entry->book->getAuthors () as $author) {
210
-            self::getXmlStream ()->startElement ("author");
211
-                self::getXmlStream ()->startElement ("name");
212
-                    self::getXmlStream ()->text ($author->name);
213
-                self::getXmlStream ()->endElement ();
214
-                self::getXmlStream ()->startElement ("uri");
215
-                    self::getXmlStream ()->text ("feed.php" . $author->getUri ());
216
-                self::getXmlStream ()->endElement ();
217
-            self::getXmlStream ()->endElement ();
209
+        foreach ($entry->book->getAuthors() as $author) {
210
+            self::getXmlStream()->startElement("author");
211
+                self::getXmlStream()->startElement("name");
212
+                    self::getXmlStream()->text($author->name);
213
+                self::getXmlStream()->endElement();
214
+                self::getXmlStream()->startElement("uri");
215
+                    self::getXmlStream()->text("feed.php" . $author->getUri());
216
+                self::getXmlStream()->endElement();
217
+            self::getXmlStream()->endElement();
218 218
         }
219
-        foreach ($entry->book->getTags () as $category) {
220
-            self::getXmlStream ()->startElement ("category");
221
-                self::getXmlStream ()->writeAttribute ("term", $category->name);
222
-                self::getXmlStream ()->writeAttribute ("label", $category->name);
223
-            self::getXmlStream ()->endElement ();
219
+        foreach ($entry->book->getTags() as $category) {
220
+            self::getXmlStream()->startElement("category");
221
+                self::getXmlStream()->writeAttribute("term", $category->name);
222
+                self::getXmlStream()->writeAttribute("label", $category->name);
223
+            self::getXmlStream()->endElement();
224 224
         }
225
-        if ($entry->book->getPubDate () != "") {
226
-            self::getXmlStream ()->startElement ("dcterms:issued");
227
-                self::getXmlStream ()->text (self::getPublicationDate($entry->book));
228
-            self::getXmlStream ()->endElement ();
229
-            self::getXmlStream ()->startElement ("published");
230
-                self::getXmlStream ()->text (self::getPublicationDate($entry->book) . "T08:08:08Z");
231
-            self::getXmlStream ()->endElement ();
225
+        if ($entry->book->getPubDate() != "") {
226
+            self::getXmlStream()->startElement("dcterms:issued");
227
+                self::getXmlStream()->text(self::getPublicationDate($entry->book));
228
+            self::getXmlStream()->endElement();
229
+            self::getXmlStream()->startElement("published");
230
+                self::getXmlStream()->text(self::getPublicationDate($entry->book) . "T08:08:08Z");
231
+            self::getXmlStream()->endElement();
232 232
         }
233 233
 
234
-        $lang = $entry->book->getLanguages ();
234
+        $lang = $entry->book->getLanguages();
235 235
         if (!empty ($lang)) {
236
-            self::getXmlStream ()->startElement ("dcterms:language");
237
-                self::getXmlStream ()->text ($lang);
238
-            self::getXmlStream ()->endElement ();
236
+            self::getXmlStream()->startElement("dcterms:language");
237
+                self::getXmlStream()->text($lang);
238
+            self::getXmlStream()->endElement();
239 239
         }
240 240
 
241 241
     }
242 242
 
243
-    public function render ($page) {
243
+    public function render($page) {
244 244
         global $config;
245
-        self::startXmlDocument ($page);
246
-        if ($page->isPaginated ())
245
+        self::startXmlDocument($page);
246
+        if ($page->isPaginated())
247 247
         {
248
-            self::getXmlStream ()->startElement ("opensearch:totalResults");
249
-                self::getXmlStream ()->text ($page->totalNumber);
250
-            self::getXmlStream ()->endElement ();
251
-            self::getXmlStream ()->startElement ("opensearch:itemsPerPage");
252
-                self::getXmlStream ()->text ($config['cops_max_item_per_page']);
253
-            self::getXmlStream ()->endElement ();
254
-            self::getXmlStream ()->startElement ("opensearch:startIndex");
255
-                self::getXmlStream ()->text (($page->n - 1) * $config['cops_max_item_per_page'] + 1);
256
-            self::getXmlStream ()->endElement ();
257
-            $prevLink = $page->getPrevLink ();
258
-            $nextLink = $page->getNextLink ();
259
-            if (!is_null ($prevLink)) {
260
-                self::renderLink ($prevLink);
248
+            self::getXmlStream()->startElement("opensearch:totalResults");
249
+                self::getXmlStream()->text($page->totalNumber);
250
+            self::getXmlStream()->endElement();
251
+            self::getXmlStream()->startElement("opensearch:itemsPerPage");
252
+                self::getXmlStream()->text($config['cops_max_item_per_page']);
253
+            self::getXmlStream()->endElement();
254
+            self::getXmlStream()->startElement("opensearch:startIndex");
255
+                self::getXmlStream()->text(($page->n - 1) * $config['cops_max_item_per_page'] + 1);
256
+            self::getXmlStream()->endElement();
257
+            $prevLink = $page->getPrevLink();
258
+            $nextLink = $page->getNextLink();
259
+            if (!is_null($prevLink)) {
260
+                self::renderLink($prevLink);
261 261
             }
262
-            if (!is_null ($nextLink)) {
263
-                self::renderLink ($nextLink);
262
+            if (!is_null($nextLink)) {
263
+                self::renderLink($nextLink);
264 264
             }
265 265
         }
266 266
         foreach ($page->entryArray as $entry) {
267
-            self::getXmlStream ()->startElement ("entry");
268
-                self::renderEntry ($entry);
269
-            self::getXmlStream ()->endElement ();
267
+            self::getXmlStream()->startElement("entry");
268
+                self::renderEntry($entry);
269
+            self::getXmlStream()->endElement();
270 270
         }
271
-        return self::endXmlDocument ();
271
+        return self::endXmlDocument();
272 272
     }
273 273
 }
274 274
 
Please login to merge, or discard this patch.