function templateLinks() { $links = $this->json_encode(array(array('name' => 'Select ...', 'url' => false), array('name' => 'Agent Ticket Link', 'url' => '%{ticket.staff_link}'), array('name' => 'Agent Login Page', 'url' => '%{url}/scp'), array('name' => 'End-User Ticket Link', 'url' => '%{recipient.ticket_link}'), array('name' => 'End-User Login Page', 'url' => '%{url}/login.php'))); Http::cacheable(md5($links), filemtime(__FILE__)); header('Content-Type: application/json; charset=UTF-8'); return $links; }
function getLanguageFile($lang, $key) { global $cfg; $i18n = new Internationalization($lang); switch ($key) { case 'js': $data = $i18n->getTemplate('js/redactor.js')->getRawData(); $data .= $i18n->getTemplate('js/jquery.ui.datepicker.js')->getRawData(); // Strings from various javascript files $data .= $i18n->getTemplate('js/osticket-strings.js')->getRawData(); header('Content-Type: text/javascript; charset=UTF-8'); break; default: Http::response(404, 'No such i18n data'); } Http::cacheable(md5($data), $cfg->lastModified()); echo $data; }
function makeCacheable($ttl = 86400) { Http::cacheable($this->getSignature(true), $this->lastModified(), $ttl); }