xref: /dokuwiki/vendor/openpsa/universalfeedcreator/lib/Creator/JSCreator.php (revision a087da71ea972d05ca659a1e9406c87aa7ae258b)
1<?php
2
3/**
4 * JSCreator is a class that writes a js file to a specific
5 * location, overriding the createFeed method of the parent HTMLCreator.
6 *
7 * @author  Pascal Van Hecke
8 * @package de.bitfolge.feedcreator
9 */
10class JSCreator extends HTMLCreator
11{
12    protected $contentType = "text/javascript";
13
14    /**
15     * writes the javascript
16     *
17     * @inheritdoc
18     */
19    public function createFeed()
20    {
21        $feed = parent::createFeed();
22        $feedArray = explode("\n", $feed);
23
24        $jsFeed = "";
25        foreach ($feedArray as $value) {
26            $jsFeed .= "document.write('".trim(addslashes($value))."');\n";
27        }
28
29        return $jsFeed;
30    }
31
32    /**
33     * Overrides parent to produce .js extensions
34     *
35     * @return string the feed cache filename
36     * @since  1.4
37     * @access private
38     */
39    protected function _generateFilename()
40    {
41        $fileInfo = pathinfo($_SERVER["PHP_SELF"]);
42
43        return substr($fileInfo["basename"], 0, -(strlen($fileInfo["extension"]) + 1)).".js";
44    }
45}
46