/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2011 *
+ * Copyright (c) 2001-2014 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
function spip_touch($fichier, $duree=0, $touch=true) {
if ($duree) {
clearstatcache();
- if ((@$f=filemtime($fichier)) AND ($f >= time() - $duree))
+ if (file_exists($fichier) AND ($f=filemtime($fichier)) AND ($f >= time() - $duree))
return false;
}
if ($touch!==false) {
function generer_form_ecrire($script, $corps, $atts='', $submit='') {
global $spip_lang_right;
- $script1 = array_shift(explode('&', $script));
+ $script1 = explode('&', $script);
+ $script1 = array_shift($script1);
return "<form action='"
. ($script ? generer_url_ecrire($script) : '')
. "<input type='hidden' name='exec' value='$script1' />"
. $corps
. (!$submit ? '' :
- ("<div style='text-align: $spip_lang_right'><input type='submit' value=\"".entites_html($submit)."\" /></div>"))
+ ("<div style='text-align: $spip_lang_right'><input type='submit' value=\"".attribut_html($submit)."\" /></div>"))
. "</div></form>\n";
}
if ($too_late++) return;
// taille mini des login
- define('_LOGIN_TROP_COURT', 4);
+ if (!defined('_LOGIN_TROP_COURT')) define('_LOGIN_TROP_COURT', 4);
// la taille maxi des logos (0 : pas de limite)
- define('_LOGO_MAX_SIZE', 0); # poids en ko
- define('_LOGO_MAX_WIDTH', 0); # largeur en pixels
- define('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels
+ if (!defined('_LOGO_MAX_SIZE')) define('_LOGO_MAX_SIZE', 0); # poids en ko
+ if (!defined('_LOGO_MAX_WIDTH')) define('_LOGO_MAX_WIDTH', 0); # largeur en pixels
+ if (!defined('_LOGO_MAX_HEIGHT')) define('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels
- define('_DOC_MAX_SIZE', 0); # poids en ko
+ if (!defined('_DOC_MAX_SIZE')) define('_DOC_MAX_SIZE', 0); # poids en ko
- define('_IMG_MAX_SIZE', 0); # poids en ko
- define('_IMG_MAX_WIDTH', 0); # largeur en pixels
- define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels
+ if (!defined('_IMG_MAX_SIZE')) define('_IMG_MAX_SIZE', 0); # poids en ko
+ if (!defined('_IMG_MAX_WIDTH')) define('_IMG_MAX_WIDTH', 0); # largeur en pixels
+ if (!defined('_IMG_MAX_HEIGHT')) define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels
- define('_COPIE_LOCALE_MAX_SIZE',16777216); // poids en octet
+ if (!defined('_COPIE_LOCALE_MAX_SIZE')) define('_COPIE_LOCALE_MAX_SIZE',16777216); // poids en octet
// qq chaines standard
- define('_ACCESS_FILE_NAME', '.htaccess');
- define('_AUTH_USER_FILE', '.htpasswd');
- define('_SPIP_DUMP', 'dump@nom_site@@stamp@.xml');
- define('_CACHE_RUBRIQUES', _DIR_TMP.'menu-rubriques-cache.txt');
- define('_CACHE_RUBRIQUES_MAX', 500);
+ if (!defined('_ACCESS_FILE_NAME')) define('_ACCESS_FILE_NAME', '.htaccess');
+ if (!defined('_AUTH_USER_FILE')) define('_AUTH_USER_FILE', '.htpasswd');
+ if (!defined('_SPIP_DUMP')) define('_SPIP_DUMP', 'dump@nom_site@@stamp@.xml');
+ if (!defined('_CACHE_RUBRIQUES')) define('_CACHE_RUBRIQUES', _DIR_TMP.'menu-rubriques-cache.txt');
+ if (!defined('_CACHE_RUBRIQUES_MAX')) define('_CACHE_RUBRIQUES_MAX', 500);
- define('_EXTENSION_SQUELETTES', 'html');
+ if (!defined('_EXTENSION_SQUELETTES')) define('_EXTENSION_SQUELETTES', 'html');
- define('_DOCTYPE_ECRIRE',
+ if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE',
// "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n");
//"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>\n");
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>\n");
// "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 //EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>\n");
- define('_DOCTYPE_AIDE',
+ if (!defined('_DOCTYPE_AIDE')) define('_DOCTYPE_AIDE',
"<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>");
// L'adresse de base du site ; on peut mettre '' si la racine est geree par
// le script de l'espace public, alias index.php
- define('_SPIP_SCRIPT', 'spip.php');
+ if (!defined('_SPIP_SCRIPT')) define('_SPIP_SCRIPT', 'spip.php');
// argument page, personalisable en cas de conflit avec un autre script
- define('_SPIP_PAGE', 'page');
+ if (!defined('_SPIP_PAGE')) define('_SPIP_PAGE', 'page');
// le script de l'espace prive
// Mettre a "index.php" si DirectoryIndex ne le fait pas ou pb connexes:
// les anciens IIS n'acceptent pas les POST sur ecrire/ (#419)
// meme pb sur thttpd cf. http://forum.spip.org/fr_184153.html
- define('_SPIP_ECRIRE_SCRIPT', // true ? #decommenter ici et commenter la
+ if (!defined('_SPIP_ECRIRE_SCRIPT')) define('_SPIP_ECRIRE_SCRIPT', // true ? #decommenter ici et commenter la
preg_match(',IIS|thttpd,',$_SERVER['SERVER_SOFTWARE']) ?
'index.php' : '');
# nombre de pixels maxi pour calcul de la vignette avec gd
# au dela de 5500000 on considere que php n'est pas limite en memoire pour cette operation
# les configurations limitees en memoire ont un seuil plutot vers 1MPixel
- define('_IMG_GD_MAX_PIXELS', (isset($GLOBALS['meta']['max_taille_vignettes'])&&$GLOBALS['meta']['max_taille_vignettes']<5500000)?$GLOBALS['meta']['max_taille_vignettes']:0);
- define('_IMG_GD_QUALITE', 85);
+ if (!defined('_IMG_GD_MAX_PIXELS')) define('_IMG_GD_MAX_PIXELS', (isset($GLOBALS['meta']['max_taille_vignettes'])&&$GLOBALS['meta']['max_taille_vignettes']<5500000)?$GLOBALS['meta']['max_taille_vignettes']:0);
+ if (!defined('_IMG_GD_QUALITE')) define('_IMG_GD_QUALITE', 85);
if (!defined('_MEMORY_LIMIT_MIN')) define('_MEMORY_LIMIT_MIN', 16);
// si on est dans l'espace prive et si le besoin est superieur a 8Mo (qui est vraiment le standard)
else
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();
}
if ($page === '') {
$c = isset($options['compil']) ? $options['compil'] :'';
$a = array('fichier'=>$fond.'.'._EXTENSION_SQUELETTES);
- erreur_squelette(_T('info_erreur_squelette2', $a), $c);
+ $erreur = _T('info_erreur_squelette2', $a); // squelette introuvable
+ erreur_squelette($erreur, $c);
+ // eviter des erreurs strictes ensuite sur $page['cle'] en PHP >= 5.4
+ $page = array('texte' => '', 'erreur' => $erreur);
}
-
+
if (isset($options['ajax'])AND $options['ajax']){
include_spip('inc/filtres');
$page['texte'] = encoder_contexte_ajax(array_merge($contexte,array('fond'=>$f)),'',$page['texte']);