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