[SPIP] ~maj v2.1.25-->2.1.26
[velocampus/web/www.git] / www / extensions / compresseur / compresseur_http.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 //
6 // Reglage de l'output buffering : si possible, generer une sortie
7 // compressee pour economiser de la bande passante
8 //
9
10 // si un buffer est deja ouvert, stop
11 if ($GLOBALS['flag_ob']
12 AND $GLOBALS['meta']['auto_compress_http'] == 'oui'
13 AND strlen(ob_get_contents())==0
14 AND !headers_sent()) {
15 if (
16 // special bug de proxy
17 !(isset($_SERVER['HTTP_VIA']) AND preg_match(",NetCache|Hasd_proxy,i", $_SERVER['HTTP_VIA']))
18 // special bug Netscape Win 4.0x
19 AND (strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.0') === false)
20 // special bug Apache2x
21 #&& !preg_match(",Apache(-[^ ]+)?/2,i", $_SERVER['SERVER_SOFTWARE'])
22 // test suspendu: http://article.gmane.org/gmane.comp.web.spip.devel/32038/
23 #&& !($GLOBALS['flag_sapi_name'] AND preg_match(",^apache2,", @php_sapi_name()))
24 // si la compression est deja commencee, stop
25 # && !@ini_get("zlib.output_compression")
26 AND !@ini_get("output_handler")
27 AND !isset($_GET['var_mode']) # bug avec le debugueur qui appelle ob_end_clean()
28 )
29 ob_start('ob_gzhandler');
30 }