/** * Send one header. * * @return bool: Headers sent */ public static function sendHeaders() { // headers already sent if (headers_sent($sFilename, $iLinenum)) { Days_Log::add("Headers not sent such as sended in file '{$sFilename}' on line {$iLinenum}"); return false; } // on Ajax query if (Days_Request::isAjax()) { // JSON encoded data Header('Content-Type: text/javascript; charset=UTF-8'); Header('Content-type: application/json; charset=UTF-8'); self::_sendHeadersNocache(); return true; } // send special headers only foreach (self::$_aHeaders as $sType => $sValue) { switch ((string) $sType) { case self::NOT_FOUND: Header('HTTP/1.0 404 Not Found'); return true; break; case '403': Header('HTTP/1.1 403 Forbidden'); return true; break; case self::PREV_PAGE: // redirect on previous page self::_sendHeadersRedirect(Days_Url::prev()); return true; break; case self::REDIRECT: case self::RELOAD: self::_sendHeadersRedirect($sValue); return true; break; } } // send all additional headers foreach (self::$_aHeaders as $sType => $sValue) { // send header info switch ((string) $sType) { case 'htm': case 'html': case 'xhtml': Header('Content-Type: text/html; charset=UTF-8'); self::_sendHeadersNocache(); break; case 'xml': Header("Content-Type: text/xml; charset=UTF-8"); self::_sendHeadersNocache(); break; case 'wml': Header('Content-Type: text/vnd.wap.wml; charset=UTF-8'); self::_sendHeadersNocache(); break; case 'json': Header('Content-Type: text/javascript; charset=UTF-8'); self::_sendHeadersNocache(); break; case 'js': Header('Content-type: application:x-javascript; charset=UTF-8'); self::_sendHeadersNocache(); break; case 'jpg': case 'jpeg': Header("Content-Type: image/jpeg"); self::_sendHeadersNocache(); break; case 'gif': Header("Content-Type: image/gif"); self::_sendHeadersNocache(); break; case 'png': Header("Content-Type: image/png"); self::_sendHeadersNocache(); break; } } // all headers sent return true; }