Exemple #1
0
 /**
  * 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;
 }