/** * Sendet den Content zum Client, * fügt ggf. HTTP1.1 cache headers hinzu * * @param $content string Inhalt des Artikels * @param $lastModified integer Last-Modified Timestamp * @param $cacheKey string Cachekey zur identifizierung des Caches * @param $environment string Die Umgebung aus der der Inhalt gesendet wird * (frontend/backend) */ function rex_send_content($content, $lastModified, $cacheKey, $environment) { global $REX; // ----- Last-Modified if ($REX['USE_LAST_MODIFIED'] === 'true' || $REX['USE_LAST_MODIFIED'] == $environment) { rex_send_last_modified($lastModified); } // ----- ETAG if ($REX['USE_ETAG'] === 'true' || $REX['USE_ETAG'] == $environment) { rex_send_etag($cacheKey); } // ----- GZIP if ($REX['USE_GZIP'] === 'true' || $REX['USE_GZIP'] == $environment) { $content = rex_send_gzip($content); } // ----- MD5 Checksum if ($REX['USE_MD5'] === 'true' || $REX['USE_MD5'] == $environment) { rex_send_checksum(md5($content)); } // Evtl offene Db Verbindungen schließen rex_sql::disconnect(null); echo $content; }
/** * Sendet den Content zum Client, * fügt ggf. HTTP1.1 cache headers hinzu * * @param $content string Inhalt des Artikels * @param $lastModified integer Last-Modified Timestamp * @param $cacheKey string Cachekey zur identifizierung des Caches * @param $environment string Die Umgebung aus der der Inhalt gesendet wird * (frontend/backend) * @param $sendcharset boolean TRUE, wenn der Charset mitgeschickt werden soll, sonst FALSE */ function rex_send_content($content, $lastModified, $etag, $environment, $sendcharset = false) { global $REX; if ($sendcharset) { global $I18N; // Im Frontend gibts kein I18N if (!is_object($I18N)) { $I18N = rex_create_lang($REX['LANG']); } header('Content-Type: text/html; charset=' . $I18N->msg('htmlcharset')); } // ----- Last-Modified if ($REX['USE_LAST_MODIFIED'] === 'true' || $REX['USE_LAST_MODIFIED'] == $environment) { rex_send_last_modified($lastModified); } // ----- ETAG if ($REX['USE_ETAG'] === 'true' || $REX['USE_ETAG'] == $environment) { rex_send_etag($etag); } // ----- GZIP if ($REX['USE_GZIP'] === 'true' || $REX['USE_GZIP'] == $environment) { $content = rex_send_gzip($content); } // ----- MD5 Checksum // dynamische teile sollen die md5 summe nicht beeinflussen if ($REX['USE_MD5'] === 'true' || $REX['USE_MD5'] == $environment) { rex_send_checksum(md5(preg_replace('@<!--DYN-->.*<!--/DYN-->@', '', $content))); } // Evtl offene Db Verbindungen schließen rex_sql::disconnect(null); // content length schicken, damit der browser einen ladebalken anzeigen kann if (!ini_get('zlib.output_compression')) { header('Content-Length: ' . strlen($content)); } echo $content; }
/** * Sendet den Content zum Client, * fügt ggf. HTTP1.1 cache headers hinzu * * @param $content string Inhalt des Artikels * @param $lastModified integer Last-Modified Timestamp * @param $cacheKey string Cachekey zur identifizierung des Caches * @param $environment string Die Umgebung aus der der Inhalt gesendet wird * (frontend/backend) */ function rex_send_content($content, $lastModified, $etag, $environment, $sendcharset = FALSE) { global $REX; // Cachen erlauben, nach revalidierung // see http://xhtmlforum.de/35221-php-session-etag-header.html#post257967 session_cache_limiter('none'); header('Cache-Control: must-revalidate, proxy-revalidate, private'); if ($sendcharset) { global $I18N; header('Content-Type: text/html; charset=' . $I18N->msg('htmlcharset')); } // ----- Last-Modified if ($REX['USE_LAST_MODIFIED'] === 'true' || $REX['USE_LAST_MODIFIED'] == $environment) { rex_send_last_modified($lastModified); } // ----- ETAG if ($REX['USE_ETAG'] === 'true' || $REX['USE_ETAG'] == $environment) { rex_send_etag($etag); } // ----- GZIP if ($REX['USE_GZIP'] === 'true' || $REX['USE_GZIP'] == $environment) { $content = rex_send_gzip($content); } // ----- MD5 Checksum // dynamische teile sollen die md5 summe nicht beeinflussen if ($REX['USE_MD5'] === 'true' || $REX['USE_MD5'] == $environment) { rex_send_checksum(md5(preg_replace('@<!--DYN-->.*<!--/DYN-->@', '', $content))); } // Evtl offene Db Verbindungen schließen rex_sql::disconnect(null); // content length schicken, damit der browser einen ladebalken anzeigen kann header('Content-Length: ' . strlen($content)); echo $content; }