From 1ab1aa0ce6fce811cba3cc21f56a6dccb3b94796 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sat, 13 Mar 2010 10:24:46 +0000 Subject: [PATCH] Report de [15421] [15423] [15424] [15429] [15430] [15432] [15439] --- ecrire/inc/filtres_images_lib_mini.php | 5 +++-- ecrire/inc/flock.php | 12 ++---------- ecrire/inc/utils.php | 5 +++++ ecrire/public/cacher.php | 12 ++++++++++-- ecrire/public/compiler.php | 2 +- ecrire/public/composer.php | 6 +++++- prive/javascript/login.js | 15 ++++++++++++--- 7 files changed, 38 insertions(+), 19 deletions(-) diff --git a/ecrire/inc/filtres_images_lib_mini.php b/ecrire/inc/filtres_images_lib_mini.php index db219fc088..4b4bbb41fc 100644 --- a/ecrire/inc/filtres_images_lib_mini.php +++ b/ecrire/inc/filtres_images_lib_mini.php @@ -666,7 +666,7 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO', function _image_ratio ($srcWidth, $srcHeight, $maxWidth, $maxHeight) { $ratioWidth = $srcWidth/$maxWidth; $ratioHeight = $srcHeight/$maxHeight; - + if ($ratioWidth <=1 AND $ratioHeight <=1) { $destWidth = $srcWidth; $destHeight = $srcHeight; @@ -699,7 +699,7 @@ function ratio_passe_partout ($srcWidth, $srcHeight, $maxWidth, $maxHeight) { $destWidth = $maxWidth; $destHeight = $srcHeight/$ratioWidth; } - return array (floor($destWidth), floor($destHeight), + return array (ceil($destWidth), ceil($destHeight), min($ratioWidth,$ratioHeight)); } @@ -713,6 +713,7 @@ function process_image_reduire($fonction,$img,$taille,$taille_y,$force,$cherche_ if ($process == "netpbm") $format_sortie = "jpg"; else if ($process == 'gd1' OR $process == 'gd2') { $image = _image_valeurs_trans($img, "reduire-{$taille}-{$taille_y}",$format_sortie,$fonction); + // on verifie que l'extension choisie est bonne (en principe oui) $gd_formats = explode(',',$GLOBALS['meta']["gd_formats"]); if (!in_array($image['format_dest'],$gd_formats) diff --git a/ecrire/inc/flock.php b/ecrire/inc/flock.php index c6da46116e..cc115af1a6 100644 --- a/ecrire/inc/flock.php +++ b/ecrire/inc/flock.php @@ -119,20 +119,12 @@ function lire_fichier ($fichier, &$contenu, $options=false) { // // Ecrire un fichier de maniere un peu sure -// +// $ecrire_quand_meme ne sert plus mais est conservee dans l'appel pour compatibilite +// // zippe les fichiers .gz // http://doc.spip.org/@ecrire_fichier function ecrire_fichier ($fichier, $contenu, $ecrire_quand_meme = false, $truncate=true) { - // Ne rien faire si on est en preview, debug, ou si une erreur - // grave s'est presentee (compilation du squelette, MySQL, etc) - if (( - (isset($GLOBALS['var_preview'])&&$GLOBALS['var_preview']) - OR (_request('var_mode') == 'debug') - OR defined('spip_interdire_cache')) - AND !$ecrire_quand_meme) - return; - #spip_timer('ecrire_fichier'); // verrouiller le fichier destination diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 7bc6d17b14..9a66b74c32 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1499,6 +1499,11 @@ function init_var_mode(){ // indiquer qu'on doit recalculer les images $GLOBALS['var_images'] = true; break; + case 'debug': + $GLOBALS['var_mode'] = 'debug'; + // et ne pas enregistrer de cache + $GLOBALS['var_nocache'] = true; + break; default : $GLOBALS['var_mode'] = $_GET['var_mode']; break; diff --git a/ecrire/public/cacher.php b/ecrire/public/cacher.php index f8528af5fd..e20fcb03a9 100644 --- a/ecrire/public/cacher.php +++ b/ecrire/public/cacher.php @@ -95,8 +95,8 @@ function gunzip_page(&$page) { function cache_valide(&$page, $date) { if (isset($GLOBALS['var_nocache']) AND $GLOBALS['var_nocache']) return -1; - if (defined('_NO_CACHE')) return (_NO_CACHE==0 AND !$page)?1:_NO_CACHE; - if (!$page OR !isset($page['entetes']['X-Spip-Cache'])) return 1; + if (defined('_NO_CACHE')) return (_NO_CACHE==0 AND !isset($page['texte']))?1:_NO_CACHE; + if (!$page OR !isset($page['texte']) OR !isset($page['entetes']['X-Spip-Cache'])) return 1; // #CACHE{n,statique} => on n'invalide pas avec derniere_modif // cf. ecrire/public/balises.php, balise_CACHE_dist() @@ -154,6 +154,14 @@ function cache_sessionne($chemin_cache, $session, $creer=false) { // http://doc.spip.org/@creer_cache function creer_cache(&$page, &$chemin_cache) { + // Ne rien faire si on est en preview, debug, ou si une erreur + // grave s'est presentee (compilation du squelette, MySQL, etc) + // le cas var_nocache ne devrait jamais arriver ici (securite) + // le cas spip_interdire_cache correspond a une ereur SQL grave non anticipable + if ((isset($GLOBALS['var_nocache'])&&$GLOBALS['var_nocache']) + OR defined('spip_interdire_cache')) + return; + // Si la page c1234 a un invalideur de session 'zz', sauver dans // 'tmp/cache/MD5(chemin_cache)/_zz' // en prenant soin de supprimer un eventuel cache non-sessionne diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 2e1141c3c4..d2122e1203 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -421,7 +421,7 @@ function memoriser_contexte_compil($p) { _q($p->descr['nom']), @_q($p->id_boucle), intval($p->ligne), - _q($GLOBALS['spip_lang']))); + '$GLOBALS[\'spip_lang\']')); } function reconstruire_contexte_compil($context_compil) diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index ebcdb99a7a..be9c74a436 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -195,7 +195,11 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') { $corps = str_replace($r[0], '', $corps); # $j = Content-Type, et pas content-TYPE. $j = join('-', array_map('ucwords', explode('-', strtolower($r[2])))); - $headers[$j] = $r[3]; + + if ($j=='X-Spip-Filtre' AND isset($headers[$j])) + $headers[$j].="|".$r[3]; + else + $headers[$j] = $r[3]; } // S'agit-il d'un resultat constant ou contenant du code php diff --git a/prive/javascript/login.js b/prive/javascript/login.js index f0a23ad5a8..d49744dcdb 100644 --- a/prive/javascript/login.js +++ b/prive/javascript/login.js @@ -55,7 +55,8 @@ function actualise_auteur(){ function login_submit(){ actualise_auteur(); - pass = jQuery('input[name=password]').attr('value'); + var inputpass = jQuery('input[name=password]'); + pass = inputpass.attr('value'); // ne pas laisser le pass d'un auteur "auth=spip" circuler en clair if (pass) { // si l'information est en cours, retenter sa chance @@ -69,13 +70,21 @@ function login_submit(){ return false; } + // il ne faut pas injecter le pass hashe directement dans l'input password visible car + // - cela est perturbant + // - certains navigateurs memorisent le hash au lieu du pass ... + // on cree un input hidden a cote, on lui met le name="password" + // et on vide le champ visible + inputpass.after('<input name="password" type="hidden" value="" />'); + inputpass.attr('name','nothing').attr('value',''); + // Si on a l'alea, on peut lancer le submit apres avoir hashe le pass if (alea_actuel || alea_futur) { calcule_hash_pass(pass); } // si on arrive pas a avoir une reponse, vider le pass pour forcer un passage en 2 fois - else if(informe_auteur_en_cours) - jQuery('input[name=password]').attr('value',''); + //else if(informe_auteur_en_cours) + // jQuery('input[name=password]').attr('value',''); // sinon c'est que l'auteur n'existe pas // OU qu'il sera accepte par LDAP ou autre auth } -- GitLab