Commit | Line | Data |
---|---|---|
c495c100 P |
1 | <?php |
2 | ||
3 | /***************************************************************************\ | |
4 | * SPIP, Systeme de publication pour l'internet * | |
5 | * * | |
6 | * Copyright (c) 2001-2007 * | |
7 | * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * | |
8 | * * | |
9 | * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * | |
10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * | |
11 | \***************************************************************************/ | |
12 | ||
13 | if (!defined("_ECRIRE_INC_VERSION")) return; | |
14 | include_spip('inc/meta'); | |
15 | include_spip('inc/headers'); | |
16 | ||
17 | ||
18 | // Tester nos capacites a creer des images avec GD2 (taille memoire) | |
19 | // http://doc.spip.org/@action_tester_taille_dist | |
20 | function action_tester_taille_dist() { | |
21 | global $arg; | |
22 | //$securiser_action = charger_fonction('securiser_action', 'inc'); | |
23 | //$arg = $securiser_action(); | |
24 | $max_size = isset($GLOBALS['meta']['max_taille_vignettes'])?$GLOBALS['meta']['max_taille_vignettes']:0; | |
25 | $max_size_echec = isset($GLOBALS['meta']['max_taille_vignettes_echec'])?$GLOBALS['meta']['max_taille_vignettes_echec']:0; | |
26 | $max_size_test = isset($GLOBALS['meta']['max_taille_vignettes_test'])?$GLOBALS['meta']['max_taille_vignettes_test']:0; | |
27 | $taille = intval($arg); | |
28 | $file = _DIR_IMG_PACK . 'jauge-vert.gif'; | |
29 | $file_size = 94; | |
30 | ||
31 | if (($s = $taille*$taille)>$max_size){ | |
32 | if (!$max_size_echec OR $s < $max_size_echec) { | |
33 | include_spip('inc/filtres'); | |
34 | // des inclusions representatives d'un hit prive et/ou public pour la conso memoire | |
35 | include_spip('public/assembler'); | |
36 | include_spip('public/balises'); | |
37 | include_spip('public/boucles'); | |
38 | include_spip('public/cacher'); | |
39 | include_spip('public/compiler'); | |
40 | include_spip('public/composer'); | |
41 | include_spip('public/criteres'); | |
42 | include_spip('public/interfaces'); | |
43 | include_spip('public/parametrer'); | |
44 | include_spip('public/phraser_html'); | |
45 | include_spip('public/references'); | |
46 | ||
47 | include_spip('inc/presentation'); | |
48 | include_spip('inc/charsets'); | |
49 | include_spip('inc/documents'); | |
50 | include_spip('inc/lang'); | |
51 | include_spip('inc/texte'); | |
52 | $dummy = propre("<doc1>"); | |
53 | ||
54 | $image_source = _DIR_IMG_PACK."test.png"; | |
55 | $res = spip_query("SELECT valeur FROM spip_meta WHERE nom='max_taille_vignettes_test'"); | |
56 | if ($row = spip_fetch_array($res)) | |
57 | $max_size_test = $row['valeur']; | |
58 | if (!$max_size_test OR $max_size_test>$s) | |
59 | ecrire_meta('max_taille_vignettes_test',$s,'non'); | |
60 | $result = filtrer('image_recadre',$image_source,$taille,$taille); | |
61 | // on est ici, donc pas de plantage | |
62 | if ($max_size_test>$s) | |
63 | ecrire_meta('max_taille_vignettes_test',$max_size_test,'non'); | |
64 | else | |
65 | effacer_meta('max_taille_vignettes_test'); | |
66 | $src = extraire_attribut($result,'src'); | |
67 | } | |
68 | // et maintenant envoyer la vignette de tests | |
69 | if ($src) { | |
70 | ecrire_meta('max_taille_vignettes',$taille*$taille,'non'); | |
71 | ecrire_metas(); | |
72 | @unlink($src); | |
73 | } | |
74 | else { | |
75 | if (!$max_size_echec OR $s < $max_size_echec) | |
76 | ecrire_meta('max_taille_vignettes_echec',$taille*$taille,'non'); | |
77 | # image echec | |
78 | $file = _DIR_IMG_PACK . 'jauge-rouge.gif'; | |
79 | $file_size = 84; | |
80 | } | |
81 | } | |
82 | ||
83 | header('Content-Type: image/gif'); | |
84 | header("Content-Length: $file_size"); | |
85 | header('Cache-Control: max-age=20'); | |
86 | header('Pragma: public'); | |
87 | readfile($file); | |
88 | exit; | |
89 | } | |
90 | ||
91 | ?> |