$now = gmdate('D, d M Y H:i:s') . ' GMT';
// Send HTTP header
- sendHeader('HTTP/1.1 ' . getHttpStatus());
+ addHttpHeader('HTTP/1.1 ' . getHttpStatus());
// General headers for no caching
- sendHeader('Expires: ' . $now); // RFC2616 - Section 14.21
- sendHeader('Last-Modified: ' . $now);
- sendHeader('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
- sendHeader('Pragma: no-cache'); // HTTP/1.0
- sendHeader('Connection: Close');
- sendHeader('Content-Type: ' . getContentType() . '; charset=UTF-8');
- sendHeader('Content-Language: ' . getLanguage());
+ addHttpHeader('Expires: ' . $now); // RFC2616 - Section 14.21
+ addHttpHeader('Last-Modified: ' . $now);
+ addHttpHeader('Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
+ addHttpHeader('Pragma: no-cache'); // HTTP/1.0
+ addHttpHeader('Connection: Close');
+ addHttpHeader('Content-Type: ' . getContentType() . '; charset=UTF-8');
+ addHttpHeader('Content-Language: ' . getLanguage());
}
// Checks wether the URL is full-qualified (http[s]:// + hostname [+ request data])
return $isBroken;
}
+// Extract host from script name
+function extractHostnameFromUrl (&$script) {
+ // Use default SERVER_URL by default... ;) So?
+ $url = getServerUrl();
+
+ // Is this URL valid?
+ if (substr($script, 0, 7) == 'http://') {
+ // Use the hostname from script URL as new hostname
+ $url = substr($script, 7);
+ $extract = explode('/', $url);
+ $url = $extract[0];
+ // Done extracting the URL :)
+ } // END - if
+
+ // Extract host name
+ $host = str_replace('http://', '', $url);
+ if (isInString('/', $host)) {
+ $host = substr($host, 0, strpos($host, '/'));
+ } // END - if
+
+ // Generate relative URL
+ //* DEBUG: */ debugOutput('SCRIPT=' . $script);
+ if (substr(strtolower($script), 0, 7) == 'http://') {
+ // But only if http:// is in front!
+ $script = substr($script, (strlen($url) + 7));
+ } elseif (substr(strtolower($script), 0, 8) == 'https://') {
+ // Does this work?!
+ $script = substr($script, (strlen($url) + 8));
+ }
+
+ //* DEBUG: */ debugOutput('SCRIPT=' . $script);
+ if (substr($script, 0, 1) == '/') {
+ $script = substr($script, 1);
+ } // END - if
+
+ // Return host name
+ return $host;
+}
+
+// Adds a HTTP header to array
+function addHttpHeader ($header) {
+ // Send the header
+ //* DEBUG: */ logDebugMessage(__FUNCTION__ . ': header=' . $header);
+ $GLOBALS['http_header'][] = trim($header);
+}
+
+// Flushes all HTTP headers
+function flushHttpHeaders () {
+ // Is the header already sent?
+ if (headers_sent()) {
+ // Then abort here
+ debug_report_bug(__FUNCTION__, __LINE__, 'Headers already sent!');
+ } // END - if
+
+ // Flush all headers if found
+ if ((isset($GLOBALS['http_header'])) && (is_array($GLOBALS['http_header']))) {
+ foreach ($GLOBALS['http_header'] as $header) {
+ header($header);
+ } // END - foreach
+ } // END - if
+
+ // Mark them as flushed
+ $GLOBALS['http_header'] = array();
+}
+
//-----------------------------------------------------------------------------
// Automatically re-created functions, all taken from user comments on www.php.net
//-----------------------------------------------------------------------------
}
} // END - if
-// Extract host from script name
-function extractHostnameFromUrl (&$script) {
- // Use default SERVER_URL by default... ;) So?
- $url = getServerUrl();
-
- // Is this URL valid?
- if (substr($script, 0, 7) == 'http://') {
- // Use the hostname from script URL as new hostname
- $url = substr($script, 7);
- $extract = explode('/', $url);
- $url = $extract[0];
- // Done extracting the URL :)
- } // END - if
-
- // Extract host name
- $host = str_replace('http://', '', $url);
- if (isInString('/', $host)) {
- $host = substr($host, 0, strpos($host, '/'));
- } // END - if
-
- // Generate relative URL
- //* DEBUG: */ debugOutput('SCRIPT=' . $script);
- if (substr(strtolower($script), 0, 7) == 'http://') {
- // But only if http:// is in front!
- $script = substr($script, (strlen($url) + 7));
- } elseif (substr(strtolower($script), 0, 8) == 'https://') {
- // Does this work?!
- $script = substr($script, (strlen($url) + 8));
- }
-
- //* DEBUG: */ debugOutput('SCRIPT=' . $script);
- if (substr($script, 0, 1) == '/') {
- $script = substr($script, 1);
- } // END - if
-
- // Return host name
- return $host;
-}
-
// [EOF]
?>