X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Finc%2Futils.php;h=a76b0fd8aadb786c5403ba2f334395244da5a397;hb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543;hp=7b822f1590e021d447ddb05832dc921acf721a06;hpb=dae7b78d26d32fb23e8c524f795bbaf40e685c6a;p=ptitvelo%2Fweb%2Fwww.git diff --git a/www/ecrire/inc/utils.php b/www/ecrire/inc/utils.php index 7b822f1..a76b0fd 100644 --- a/www/ecrire/inc/utils.php +++ b/www/ecrire/inc/utils.php @@ -3,7 +3,7 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2012 * + * Copyright (c) 2001-2014 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * @@ -45,7 +45,7 @@ function charger_fonction($nom, $dossier='exec', $continue=false) { if (!preg_match(',^\w+$,', $f)){ if ($continue) return false; //appel interne, on passe - die(htmlspecialchars($nom)." pas autorise"); + die(spip_htmlspecialchars($nom)." pas autorise"); } // passer en minuscules (cf les balises de formulaires) @@ -66,7 +66,7 @@ function charger_fonction($nom, $dossier='exec', $continue=false) { include_spip('inc/minipres'); echo minipres(_T('forum_titre_erreur'), - _T('fichier_introuvable', array('fichier'=> ''.htmlentities($d).''))); + _T('fichier_introuvable', array('fichier'=> ''.spip_htmlentities($d).''))); exit; } @@ -114,7 +114,6 @@ function minipipe($fonc,&$val){ // fonction if (function_exists($fonc)) $val = call_user_func($fonc, $val); - // Class::Methode else if (preg_match("/^(\w*)::(\w*)$/S", $fonc, $regs) AND $methode = array($regs[1], $regs[2]) @@ -407,11 +406,16 @@ function nettoyer_uri($reset = null) return $propre = (preg_replace(',[?&]$,', '', $uri1)); } -// -// donner l'URL de base d'un lien vers "soi-meme", modulo -// les trucs inutiles -// -// http://doc.spip.org/@self + +/** + * Donner l'URL de base d'un lien vers "soi-meme", modulo les trucs inutiles + * + * @param string $amp + * Style des esperluettes + * @param bool $root + * @return string + * URL vers soi-même +**/ function self($amp = '&', $root = false) { $url = nettoyer_uri(); if (!$root @@ -437,7 +441,8 @@ function self($amp = '&', $root = false) { } // eviter les hacks - $url = htmlspecialchars($url); + include_spip('inc/filtres_mini'); + $url = spip_htmlspecialchars($url); // & ? if ($amp != '&') @@ -637,14 +642,17 @@ function action_cron() { * @return bool */ function cron ($taches=array(), $taches_old= array()) { - // si pas en mode cron force - // ou si base inaccessible, laisser tomber. - if (!defined('_DIRECT_CRON_FORCE') OR !spip_connect()) return false; - spip_log("cron !",'jq'._LOG_DEBUG); + // si pas en mode cron force, laisser tomber. + if (!defined('_DIRECT_CRON_FORCE')) return false; if (!is_array($taches)) $taches = $taches_old; // compat anciens appels + // si taches a inserer en base et base inaccessible, laisser tomber + // sinon on ne verifie pas la connexion tout de suite, car si ca se trouve + // queue_sleep_time_to_next_job() dira qu'il n'y a rien a faire + // et on evite d'ouvrir une connexion pour rien (utilisation de _DIRECT_CRON_FORCE dans mes_options.php) + if ($taches AND count($taches) AND !spip_connect()) return false; + spip_log("cron !",'jq'._LOG_DEBUG); if ($genie = charger_fonction('genie', 'inc', true)) { - $genie($taches); - return true; + return $genie($taches); } return false; } @@ -737,7 +745,7 @@ function queue_sleep_time_to_next_job($force=null) { return null; if (!$_SERVER['REQUEST_TIME']) $_SERVER['REQUEST_TIME'] = time(); - return max(0,$queue_next_job_time-$_SERVER['REQUEST_TIME']); + return $queue_next_job_time-$_SERVER['REQUEST_TIME']; } @@ -1795,6 +1803,9 @@ function spip_initialisation_suite() { else if (!defined('_INTERDIRE_COMPACTE_HEAD_ECRIRE')) define('_INTERDIRE_COMPACTE_HEAD_ECRIRE',true); // evite une page blanche car on ne saura pas calculer la css dans ce hit } + // Protocoles a normaliser dans les chaines de langues + if (!defined('_PROTOCOLES_STD')) + define('_PROTOCOLES_STD', 'http|https|ftp|mailto|webcal'); init_var_mode(); } @@ -2140,7 +2151,7 @@ function recuperer_fond($fond, $contexte=array(), $options = array(), $connect=' } $page = pipeline('recuperer_fond',array( - 'args'=>array('fond'=>$fond,'contexte'=>$contexte,'options'=>$options,'connect'=>$connect), + 'args'=>array('fond'=>$f,'contexte'=>$contexte,'options'=>$options,'connect'=>$connect), 'data'=>$page )); if (isset($options['ajax']) AND $options['ajax']){