@@ -22,7 +22,7 @@ discard block |
||
| 22 | 22 | // new=oui = article a creer si on valide le formulaire |
| 23 | 23 | // http://doc.spip.org/@inc_article_select_dist |
| 24 | 24 | function inc_precharger_article_dist($id_article, $id_rubrique=0, $lier_trad=0) { |
| 25 | - return precharger_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
|
| 25 | + return precharger_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
|
| 26 | 26 | } |
| 27 | 27 | |
| 28 | 28 | |
@@ -32,7 +32,7 @@ discard block |
||
| 32 | 32 | // |
| 33 | 33 | // (fonction facultative si pas de changement dans les traitements) |
| 34 | 34 | function inc_precharger_traduction_article_dist($id_article, $id_rubrique=0, $lier_trad=0) { |
| 35 | - return precharger_traduction_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
|
| 35 | + return precharger_traduction_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
|
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | |
@@ -21,7 +21,7 @@ discard block |
||
| 21 | 21 | // lier_trad = l'associer a l'article numero $lier_trad |
| 22 | 22 | // new=oui = article a creer si on valide le formulaire |
| 23 | 23 | // http://doc.spip.org/@inc_article_select_dist |
| 24 | -function inc_precharger_article_dist($id_article, $id_rubrique=0, $lier_trad=0) { |
|
| 24 | +function inc_precharger_article_dist($id_article, $id_rubrique = 0, $lier_trad = 0) { |
|
| 25 | 25 | return precharger_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
| 26 | 26 | } |
| 27 | 27 | |
@@ -31,7 +31,7 @@ discard block |
||
| 31 | 31 | // on initialise les donnees de maniere specifique |
| 32 | 32 | // |
| 33 | 33 | // (fonction facultative si pas de changement dans les traitements) |
| 34 | -function inc_precharger_traduction_article_dist($id_article, $id_rubrique=0, $lier_trad=0) { |
|
| 34 | +function inc_precharger_traduction_article_dist($id_article, $id_rubrique = 0, $lier_trad = 0) { |
|
| 35 | 35 | return precharger_traduction_objet('article', $id_article, $id_rubrique, $lier_trad, 'titre'); |
| 36 | 36 | } |
| 37 | 37 | |
@@ -10,7 +10,9 @@ |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | include_spip('inc/precharger_objet'); |
| 16 | 18 | |
@@ -17,13 +17,13 @@ |
||
| 17 | 17 | if (!defined('_ECRIRE_INC_VERSION')) return; |
| 18 | 18 | |
| 19 | 19 | if (!function_exists('envoyer_mail')) { |
| 20 | - define('_FUNCTION_ENVOYER_MAIL', charger_fonction('envoyer_mail', 'inc')); |
|
| 20 | + define('_FUNCTION_ENVOYER_MAIL', charger_fonction('envoyer_mail', 'inc')); |
|
| 21 | 21 | // http://doc.spip.org/@envoyer_mail |
| 22 | - function envoyer_mail() { |
|
| 23 | - $args = func_get_args(); |
|
| 24 | - if (_FUNCTION_ENVOYER_MAIL) |
|
| 25 | - return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args); |
|
| 26 | - } |
|
| 22 | + function envoyer_mail() { |
|
| 23 | + $args = func_get_args(); |
|
| 24 | + if (_FUNCTION_ENVOYER_MAIL) |
|
| 25 | + return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args); |
|
| 26 | + } |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | |
@@ -14,15 +14,18 @@ |
||
| 14 | 14 | ## Module de compatibilite ascendante : desormais inc/envoyer_mail |
| 15 | 15 | ## |
| 16 | 16 | |
| 17 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 17 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 18 | + return; |
|
| 19 | +} |
|
| 18 | 20 | |
| 19 | 21 | if (!function_exists('envoyer_mail')) { |
| 20 | 22 | define('_FUNCTION_ENVOYER_MAIL', charger_fonction('envoyer_mail', 'inc')); |
| 21 | 23 | // http://doc.spip.org/@envoyer_mail |
| 22 | 24 | function envoyer_mail() { |
| 23 | 25 | $args = func_get_args(); |
| 24 | - if (_FUNCTION_ENVOYER_MAIL) |
|
| 25 | - return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args); |
|
| 26 | + if (_FUNCTION_ENVOYER_MAIL) { |
|
| 27 | + return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args); |
|
| 28 | + } |
|
| 26 | 29 | } |
| 27 | 30 | } |
| 28 | 31 | |
@@ -29,64 +29,64 @@ discard block |
||
| 29 | 29 | * @return string |
| 30 | 30 | */ |
| 31 | 31 | function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) { |
| 32 | - global $spip_lang_right,$spip_lang_left; |
|
| 32 | + global $spip_lang_right,$spip_lang_left; |
|
| 33 | 33 | |
| 34 | - utiliser_langue_visiteur(); |
|
| 35 | - |
|
| 36 | - http_no_cache(); |
|
| 37 | - |
|
| 38 | - if ($titre=='AUTO') |
|
| 39 | - $titre=_T('info_installation_systeme_publication'); |
|
| 40 | - |
|
| 41 | - # le charset est en utf-8, pour recuperer le nom comme il faut |
|
| 42 | - # lors de l'installation |
|
| 43 | - if (!headers_sent()) |
|
| 44 | - header('Content-Type: text/html; charset=utf-8'); |
|
| 45 | - |
|
| 46 | - $css = ""; |
|
| 47 | - $files = array('reset.css','clear.css','minipres.css'); |
|
| 48 | - if ($all_inline){ |
|
| 49 | - // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) |
|
| 50 | - foreach ($files as $name){ |
|
| 51 | - $file = direction_css(find_in_theme($name)); |
|
| 52 | - if (function_exists("compacte")) |
|
| 53 | - $file = compacte($file); |
|
| 54 | - else |
|
| 55 | - $file = url_absolue_css($file); // precaution |
|
| 56 | - lire_fichier($file,$c); |
|
| 57 | - $css .= $c; |
|
| 58 | - } |
|
| 59 | - $css = "<style type='text/css'>".$css."</style>"; |
|
| 60 | - } |
|
| 61 | - else{ |
|
| 62 | - foreach ($files as $name){ |
|
| 63 | - $file = direction_css(find_in_theme($name)); |
|
| 64 | - $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n"; |
|
| 65 | - } |
|
| 66 | - } |
|
| 67 | - |
|
| 68 | - // au cas ou minipres() est appele avant spip_initialisation_suite() |
|
| 69 | - if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', ''); |
|
| 70 | - return _DOCTYPE_ECRIRE. |
|
| 71 | - html_lang_attributes(). |
|
| 72 | - "<head>\n". |
|
| 73 | - "<title>". |
|
| 74 | - textebrut($titre). |
|
| 75 | - "</title>\n". |
|
| 76 | - "<meta name='viewport' content='width=device-width' />\n". |
|
| 77 | - $css . |
|
| 34 | + utiliser_langue_visiteur(); |
|
| 35 | + |
|
| 36 | + http_no_cache(); |
|
| 37 | + |
|
| 38 | + if ($titre=='AUTO') |
|
| 39 | + $titre=_T('info_installation_systeme_publication'); |
|
| 40 | + |
|
| 41 | + # le charset est en utf-8, pour recuperer le nom comme il faut |
|
| 42 | + # lors de l'installation |
|
| 43 | + if (!headers_sent()) |
|
| 44 | + header('Content-Type: text/html; charset=utf-8'); |
|
| 45 | + |
|
| 46 | + $css = ""; |
|
| 47 | + $files = array('reset.css','clear.css','minipres.css'); |
|
| 48 | + if ($all_inline){ |
|
| 49 | + // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) |
|
| 50 | + foreach ($files as $name){ |
|
| 51 | + $file = direction_css(find_in_theme($name)); |
|
| 52 | + if (function_exists("compacte")) |
|
| 53 | + $file = compacte($file); |
|
| 54 | + else |
|
| 55 | + $file = url_absolue_css($file); // precaution |
|
| 56 | + lire_fichier($file,$c); |
|
| 57 | + $css .= $c; |
|
| 58 | + } |
|
| 59 | + $css = "<style type='text/css'>".$css."</style>"; |
|
| 60 | + } |
|
| 61 | + else{ |
|
| 62 | + foreach ($files as $name){ |
|
| 63 | + $file = direction_css(find_in_theme($name)); |
|
| 64 | + $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n"; |
|
| 65 | + } |
|
| 66 | + } |
|
| 67 | + |
|
| 68 | + // au cas ou minipres() est appele avant spip_initialisation_suite() |
|
| 69 | + if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', ''); |
|
| 70 | + return _DOCTYPE_ECRIRE. |
|
| 71 | + html_lang_attributes(). |
|
| 72 | + "<head>\n". |
|
| 73 | + "<title>". |
|
| 74 | + textebrut($titre). |
|
| 75 | + "</title>\n". |
|
| 76 | + "<meta name='viewport' content='width=device-width' />\n". |
|
| 77 | + $css . |
|
| 78 | 78 | "</head> |
| 79 | 79 | <body".$onLoad." class='minipres'> |
| 80 | 80 | <div id='minipres'> |
| 81 | 81 | <h1>". |
| 82 | - $titre . |
|
| 83 | - "</h1> |
|
| 82 | + $titre . |
|
| 83 | + "</h1> |
|
| 84 | 84 | <div>\n"; |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | // http://doc.spip.org/@install_fin_html |
| 88 | 88 | function install_fin_html() { |
| 89 | - return "\n\t</div>\n\t</div>\n</body>\n</html>"; |
|
| 89 | + return "\n\t</div>\n\t</div>\n</body>\n</html>"; |
|
| 90 | 90 | } |
| 91 | 91 | |
| 92 | 92 | |
@@ -105,45 +105,45 @@ discard block |
||
| 105 | 105 | */ |
| 106 | 106 | function minipres($titre='', $corps="", $onload='', $all_inline = false) |
| 107 | 107 | { |
| 108 | - if (!defined('_AJAX')) define('_AJAX', false); // par securite |
|
| 109 | - if (!$titre) { |
|
| 110 | - if (!_AJAX) |
|
| 111 | - http_status(403); |
|
| 112 | - if (!$titre = _request('action') |
|
| 113 | - AND !$titre = _request('exec') |
|
| 114 | - AND !$titre = _request('page')) |
|
| 115 | - $titre = '?'; |
|
| 116 | - |
|
| 117 | - $titre = spip_htmlspecialchars($titre); |
|
| 118 | - |
|
| 119 | - $titre = ($titre == 'install') |
|
| 120 | - ? _T('avis_espace_interdit') |
|
| 121 | - : $titre . ' : '. _T('info_acces_interdit'); |
|
| 122 | - |
|
| 123 | - $statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : ''; |
|
| 124 | - $nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : ''; |
|
| 125 | - |
|
| 126 | - if ($statut != '0minirezo') { |
|
| 127 | - $titre = _T('info_acces_interdit'); |
|
| 128 | - } |
|
| 129 | - |
|
| 130 | - $corps = generer_form_ecrire('accueil', '','', |
|
| 131 | - $statut ? _T('public:accueil_site') : _T('public:lien_connecter') |
|
| 132 | - ); |
|
| 133 | - spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); |
|
| 134 | - } |
|
| 135 | - |
|
| 136 | - if (!_AJAX) |
|
| 137 | - return install_debut_html($titre, $onload, $all_inline) |
|
| 138 | - . $corps |
|
| 139 | - . install_fin_html(); |
|
| 140 | - else { |
|
| 141 | - include_spip('inc/headers'); |
|
| 142 | - include_spip('inc/actions'); |
|
| 143 | - $url = self('&',true); |
|
| 144 | - foreach ($_POST as $v => $c) |
|
| 145 | - $url = parametre_url($url, $v, $c, '&'); |
|
| 146 | - ajax_retour("<div>".$titre . redirige_formulaire($url)."</div>",false); |
|
| 147 | - } |
|
| 108 | + if (!defined('_AJAX')) define('_AJAX', false); // par securite |
|
| 109 | + if (!$titre) { |
|
| 110 | + if (!_AJAX) |
|
| 111 | + http_status(403); |
|
| 112 | + if (!$titre = _request('action') |
|
| 113 | + AND !$titre = _request('exec') |
|
| 114 | + AND !$titre = _request('page')) |
|
| 115 | + $titre = '?'; |
|
| 116 | + |
|
| 117 | + $titre = spip_htmlspecialchars($titre); |
|
| 118 | + |
|
| 119 | + $titre = ($titre == 'install') |
|
| 120 | + ? _T('avis_espace_interdit') |
|
| 121 | + : $titre . ' : '. _T('info_acces_interdit'); |
|
| 122 | + |
|
| 123 | + $statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : ''; |
|
| 124 | + $nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : ''; |
|
| 125 | + |
|
| 126 | + if ($statut != '0minirezo') { |
|
| 127 | + $titre = _T('info_acces_interdit'); |
|
| 128 | + } |
|
| 129 | + |
|
| 130 | + $corps = generer_form_ecrire('accueil', '','', |
|
| 131 | + $statut ? _T('public:accueil_site') : _T('public:lien_connecter') |
|
| 132 | + ); |
|
| 133 | + spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); |
|
| 134 | + } |
|
| 135 | + |
|
| 136 | + if (!_AJAX) |
|
| 137 | + return install_debut_html($titre, $onload, $all_inline) |
|
| 138 | + . $corps |
|
| 139 | + . install_fin_html(); |
|
| 140 | + else { |
|
| 141 | + include_spip('inc/headers'); |
|
| 142 | + include_spip('inc/actions'); |
|
| 143 | + $url = self('&',true); |
|
| 144 | + foreach ($_POST as $v => $c) |
|
| 145 | + $url = parametre_url($url, $v, $c, '&'); |
|
| 146 | + ajax_retour("<div>".$titre . redirige_formulaire($url)."</div>",false); |
|
| 147 | + } |
|
| 148 | 148 | } |
| 149 | 149 | ?> |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | include_spip('inc/headers'); |
| 16 | 18 | include_spip('inc/texte'); //inclue inc/lang et inc/filtres |
@@ -35,13 +37,15 @@ discard block |
||
| 35 | 37 | |
| 36 | 38 | http_no_cache(); |
| 37 | 39 | |
| 38 | - if ($titre=='AUTO') |
|
| 39 | - $titre=_T('info_installation_systeme_publication'); |
|
| 40 | + if ($titre=='AUTO') { |
|
| 41 | + $titre=_T('info_installation_systeme_publication'); |
|
| 42 | + } |
|
| 40 | 43 | |
| 41 | 44 | # le charset est en utf-8, pour recuperer le nom comme il faut |
| 42 | 45 | # lors de l'installation |
| 43 | - if (!headers_sent()) |
|
| 44 | - header('Content-Type: text/html; charset=utf-8'); |
|
| 46 | + if (!headers_sent()) { |
|
| 47 | + header('Content-Type: text/html; charset=utf-8'); |
|
| 48 | + } |
|
| 45 | 49 | |
| 46 | 50 | $css = ""; |
| 47 | 51 | $files = array('reset.css','clear.css','minipres.css'); |
@@ -49,16 +53,17 @@ discard block |
||
| 49 | 53 | // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) |
| 50 | 54 | foreach ($files as $name){ |
| 51 | 55 | $file = direction_css(find_in_theme($name)); |
| 52 | - if (function_exists("compacte")) |
|
| 53 | - $file = compacte($file); |
|
| 54 | - else |
|
| 55 | - $file = url_absolue_css($file); // precaution |
|
| 56 | + if (function_exists("compacte")) { |
|
| 57 | + $file = compacte($file); |
|
| 58 | + } else { |
|
| 59 | + $file = url_absolue_css($file); |
|
| 60 | + } |
|
| 61 | + // precaution |
|
| 56 | 62 | lire_fichier($file,$c); |
| 57 | 63 | $css .= $c; |
| 58 | 64 | } |
| 59 | 65 | $css = "<style type='text/css'>".$css."</style>"; |
| 60 | - } |
|
| 61 | - else{ |
|
| 66 | + } else{ |
|
| 62 | 67 | foreach ($files as $name){ |
| 63 | 68 | $file = direction_css(find_in_theme($name)); |
| 64 | 69 | $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n"; |
@@ -66,7 +71,9 @@ discard block |
||
| 66 | 71 | } |
| 67 | 72 | |
| 68 | 73 | // au cas ou minipres() est appele avant spip_initialisation_suite() |
| 69 | - if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE', ''); |
|
| 74 | + if (!defined('_DOCTYPE_ECRIRE')) { |
|
| 75 | + define('_DOCTYPE_ECRIRE', ''); |
|
| 76 | + } |
|
| 70 | 77 | return _DOCTYPE_ECRIRE. |
| 71 | 78 | html_lang_attributes(). |
| 72 | 79 | "<head>\n". |
@@ -105,14 +112,19 @@ discard block |
||
| 105 | 112 | */ |
| 106 | 113 | function minipres($titre='', $corps="", $onload='', $all_inline = false) |
| 107 | 114 | { |
| 108 | - if (!defined('_AJAX')) define('_AJAX', false); // par securite |
|
| 115 | + if (!defined('_AJAX')) { |
|
| 116 | + define('_AJAX', false); |
|
| 117 | + } |
|
| 118 | + // par securite |
|
| 109 | 119 | if (!$titre) { |
| 110 | - if (!_AJAX) |
|
| 111 | - http_status(403); |
|
| 120 | + if (!_AJAX) { |
|
| 121 | + http_status(403); |
|
| 122 | + } |
|
| 112 | 123 | if (!$titre = _request('action') |
| 113 | 124 | AND !$titre = _request('exec') |
| 114 | - AND !$titre = _request('page')) |
|
| 115 | - $titre = '?'; |
|
| 125 | + AND !$titre = _request('page')) { |
|
| 126 | + $titre = '?'; |
|
| 127 | + } |
|
| 116 | 128 | |
| 117 | 129 | $titre = spip_htmlspecialchars($titre); |
| 118 | 130 | |
@@ -133,16 +145,17 @@ discard block |
||
| 133 | 145 | spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); |
| 134 | 146 | } |
| 135 | 147 | |
| 136 | - if (!_AJAX) |
|
| 137 | - return install_debut_html($titre, $onload, $all_inline) |
|
| 148 | + if (!_AJAX) { |
|
| 149 | + return install_debut_html($titre, $onload, $all_inline) |
|
| 138 | 150 | . $corps |
| 139 | 151 | . install_fin_html(); |
| 140 | - else { |
|
| 152 | + } else { |
|
| 141 | 153 | include_spip('inc/headers'); |
| 142 | 154 | include_spip('inc/actions'); |
| 143 | 155 | $url = self('&',true); |
| 144 | - foreach ($_POST as $v => $c) |
|
| 145 | - $url = parametre_url($url, $v, $c, '&'); |
|
| 156 | + foreach ($_POST as $v => $c) { |
|
| 157 | + $url = parametre_url($url, $v, $c, '&'); |
|
| 158 | + } |
|
| 146 | 159 | ajax_retour("<div>".$titre . redirige_formulaire($url)."</div>",false); |
| 147 | 160 | } |
| 148 | 161 | } |
@@ -29,14 +29,14 @@ discard block |
||
| 29 | 29 | * @return string |
| 30 | 30 | */ |
| 31 | 31 | function install_debut_html($titre = 'AUTO', $onLoad = '', $all_inline = false) { |
| 32 | - global $spip_lang_right,$spip_lang_left; |
|
| 32 | + global $spip_lang_right, $spip_lang_left; |
|
| 33 | 33 | |
| 34 | 34 | utiliser_langue_visiteur(); |
| 35 | 35 | |
| 36 | 36 | http_no_cache(); |
| 37 | 37 | |
| 38 | - if ($titre=='AUTO') |
|
| 39 | - $titre=_T('info_installation_systeme_publication'); |
|
| 38 | + if ($titre == 'AUTO') |
|
| 39 | + $titre = _T('info_installation_systeme_publication'); |
|
| 40 | 40 | |
| 41 | 41 | # le charset est en utf-8, pour recuperer le nom comme il faut |
| 42 | 42 | # lors de l'installation |
@@ -44,22 +44,22 @@ discard block |
||
| 44 | 44 | header('Content-Type: text/html; charset=utf-8'); |
| 45 | 45 | |
| 46 | 46 | $css = ""; |
| 47 | - $files = array('reset.css','clear.css','minipres.css'); |
|
| 48 | - if ($all_inline){ |
|
| 47 | + $files = array('reset.css', 'clear.css', 'minipres.css'); |
|
| 48 | + if ($all_inline) { |
|
| 49 | 49 | // inliner les CSS (optimisation de la page minipres qui passe en un seul hit a la demande) |
| 50 | - foreach ($files as $name){ |
|
| 50 | + foreach ($files as $name) { |
|
| 51 | 51 | $file = direction_css(find_in_theme($name)); |
| 52 | 52 | if (function_exists("compacte")) |
| 53 | 53 | $file = compacte($file); |
| 54 | 54 | else |
| 55 | 55 | $file = url_absolue_css($file); // precaution |
| 56 | - lire_fichier($file,$c); |
|
| 56 | + lire_fichier($file, $c); |
|
| 57 | 57 | $css .= $c; |
| 58 | 58 | } |
| 59 | 59 | $css = "<style type='text/css'>".$css."</style>"; |
| 60 | 60 | } |
| 61 | - else{ |
|
| 62 | - foreach ($files as $name){ |
|
| 61 | + else { |
|
| 62 | + foreach ($files as $name) { |
|
| 63 | 63 | $file = direction_css(find_in_theme($name)); |
| 64 | 64 | $css .= "<link rel='stylesheet' href='$file' type='text/css' />\n"; |
| 65 | 65 | } |
@@ -74,12 +74,12 @@ discard block |
||
| 74 | 74 | textebrut($titre). |
| 75 | 75 | "</title>\n". |
| 76 | 76 | "<meta name='viewport' content='width=device-width' />\n". |
| 77 | - $css . |
|
| 77 | + $css. |
|
| 78 | 78 | "</head> |
| 79 | 79 | <body".$onLoad." class='minipres'> |
| 80 | 80 | <div id='minipres'> |
| 81 | 81 | <h1>". |
| 82 | - $titre . |
|
| 82 | + $titre. |
|
| 83 | 83 | "</h1> |
| 84 | 84 | <div>\n"; |
| 85 | 85 | } |
@@ -103,7 +103,7 @@ discard block |
||
| 103 | 103 | * inliner les css et js dans la page (limiter le nombre de hits) |
| 104 | 104 | * @return string |
| 105 | 105 | */ |
| 106 | -function minipres($titre='', $corps="", $onload='', $all_inline = false) |
|
| 106 | +function minipres($titre = '', $corps = "", $onload = '', $all_inline = false) |
|
| 107 | 107 | { |
| 108 | 108 | if (!defined('_AJAX')) define('_AJAX', false); // par securite |
| 109 | 109 | if (!$titre) { |
@@ -118,7 +118,7 @@ discard block |
||
| 118 | 118 | |
| 119 | 119 | $titre = ($titre == 'install') |
| 120 | 120 | ? _T('avis_espace_interdit') |
| 121 | - : $titre . ' : '. _T('info_acces_interdit'); |
|
| 121 | + : $titre.' : '._T('info_acces_interdit'); |
|
| 122 | 122 | |
| 123 | 123 | $statut = isset($GLOBALS['visiteur_session']['statut']) ? $GLOBALS['visiteur_session']['statut'] : ''; |
| 124 | 124 | $nom = isset($GLOBALS['visiteur_session']['nom']) ? $GLOBALS['visiteur_session']['nom'] : ''; |
@@ -127,10 +127,10 @@ discard block |
||
| 127 | 127 | $titre = _T('info_acces_interdit'); |
| 128 | 128 | } |
| 129 | 129 | |
| 130 | - $corps = generer_form_ecrire('accueil', '','', |
|
| 130 | + $corps = generer_form_ecrire('accueil', '', '', |
|
| 131 | 131 | $statut ? _T('public:accueil_site') : _T('public:lien_connecter') |
| 132 | 132 | ); |
| 133 | - spip_log($nom . " $titre " . $_SERVER['REQUEST_URI']); |
|
| 133 | + spip_log($nom." $titre ".$_SERVER['REQUEST_URI']); |
|
| 134 | 134 | } |
| 135 | 135 | |
| 136 | 136 | if (!_AJAX) |
@@ -140,10 +140,10 @@ discard block |
||
| 140 | 140 | else { |
| 141 | 141 | include_spip('inc/headers'); |
| 142 | 142 | include_spip('inc/actions'); |
| 143 | - $url = self('&',true); |
|
| 143 | + $url = self('&', true); |
|
| 144 | 144 | foreach ($_POST as $v => $c) |
| 145 | 145 | $url = parametre_url($url, $v, $c, '&'); |
| 146 | - ajax_retour("<div>".$titre . redirige_formulaire($url)."</div>",false); |
|
| 146 | + ajax_retour("<div>".$titre.redirige_formulaire($url)."</div>", false); |
|
| 147 | 147 | } |
| 148 | 148 | } |
| 149 | 149 | ?> |
@@ -24,16 +24,16 @@ discard block |
||
| 24 | 24 | // |
| 25 | 25 | // http://doc.spip.org/@resolve_path |
| 26 | 26 | function resolve_path($url) { |
| 27 | - list($url, $query) = array_pad(explode('?', $url, 2), 2, null); |
|
| 28 | - while (preg_match(',/\.?/,', $url, $regs) # supprime // et /./ |
|
| 29 | - OR preg_match(',/[^/]*/\.\./,S', $url, $regs) # supprime /toto/../ |
|
| 30 | - OR preg_match(',^/\.\./,S', $url, $regs)) # supprime les /../ du haut |
|
| 31 | - $url = str_replace($regs[0], '/', $url); |
|
| 27 | + list($url, $query) = array_pad(explode('?', $url, 2), 2, null); |
|
| 28 | + while (preg_match(',/\.?/,', $url, $regs) # supprime // et /./ |
|
| 29 | + OR preg_match(',/[^/]*/\.\./,S', $url, $regs) # supprime /toto/../ |
|
| 30 | + OR preg_match(',^/\.\./,S', $url, $regs)) # supprime les /../ du haut |
|
| 31 | + $url = str_replace($regs[0], '/', $url); |
|
| 32 | 32 | |
| 33 | - if ($query) |
|
| 34 | - $url .= '?'.$query; |
|
| 33 | + if ($query) |
|
| 34 | + $url .= '?'.$query; |
|
| 35 | 35 | |
| 36 | - return '/'.preg_replace(',^/,S', '', $url); |
|
| 36 | + return '/'.preg_replace(',^/,S', '', $url); |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | // |
@@ -44,46 +44,46 @@ discard block |
||
| 44 | 44 | // http://doc.spip.org/@suivre_lien |
| 45 | 45 | function suivre_lien($url, $lien) { |
| 46 | 46 | |
| 47 | - if (preg_match(',^(mailto|javascript|data):,iS', $lien)) |
|
| 48 | - return $lien; |
|
| 49 | - if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) |
|
| 50 | - return $r[1].resolve_path($r[2]); |
|
| 51 | - |
|
| 52 | - # L'url site spip est un lien absolu aussi |
|
| 53 | - if ($lien == $GLOBALS['meta']['adresse_site']){ |
|
| 54 | - return $lien; |
|
| 55 | - } |
|
| 56 | - |
|
| 57 | - # lien relatif, il faut verifier l'url de base |
|
| 58 | - # commencer par virer la chaine de get de l'url de base |
|
| 59 | - if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) { |
|
| 60 | - $debut = $regs[1]; |
|
| 61 | - $dir = !strlen($regs[2]) ? '/' : $regs[2]; |
|
| 62 | - $mot = $regs[3]; |
|
| 63 | - $get = isset($regs[4])?$regs[4]:""; |
|
| 64 | - $hash = isset($regs[5])?$regs[5]:""; |
|
| 65 | - } |
|
| 66 | - switch (substr($lien,0,1)) { |
|
| 67 | - case '/': |
|
| 68 | - return $debut . resolve_path($lien); |
|
| 69 | - case '#': |
|
| 70 | - return $debut . resolve_path($dir.$mot.$get.$lien); |
|
| 71 | - case '': |
|
| 72 | - return $debut . resolve_path($dir.$mot.$get.$hash); |
|
| 73 | - default: |
|
| 74 | - return $debut . resolve_path($dir.$lien); |
|
| 75 | - } |
|
| 47 | + if (preg_match(',^(mailto|javascript|data):,iS', $lien)) |
|
| 48 | + return $lien; |
|
| 49 | + if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) |
|
| 50 | + return $r[1].resolve_path($r[2]); |
|
| 51 | + |
|
| 52 | + # L'url site spip est un lien absolu aussi |
|
| 53 | + if ($lien == $GLOBALS['meta']['adresse_site']){ |
|
| 54 | + return $lien; |
|
| 55 | + } |
|
| 56 | + |
|
| 57 | + # lien relatif, il faut verifier l'url de base |
|
| 58 | + # commencer par virer la chaine de get de l'url de base |
|
| 59 | + if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) { |
|
| 60 | + $debut = $regs[1]; |
|
| 61 | + $dir = !strlen($regs[2]) ? '/' : $regs[2]; |
|
| 62 | + $mot = $regs[3]; |
|
| 63 | + $get = isset($regs[4])?$regs[4]:""; |
|
| 64 | + $hash = isset($regs[5])?$regs[5]:""; |
|
| 65 | + } |
|
| 66 | + switch (substr($lien,0,1)) { |
|
| 67 | + case '/': |
|
| 68 | + return $debut . resolve_path($lien); |
|
| 69 | + case '#': |
|
| 70 | + return $debut . resolve_path($dir.$mot.$get.$lien); |
|
| 71 | + case '': |
|
| 72 | + return $debut . resolve_path($dir.$mot.$get.$hash); |
|
| 73 | + default: |
|
| 74 | + return $debut . resolve_path($dir.$lien); |
|
| 75 | + } |
|
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | // un filtre pour transformer les URLs relatives en URLs absolues ; |
| 79 | 79 | // ne s'applique qu'aux #URL_XXXX |
| 80 | 80 | // http://doc.spip.org/@url_absolue |
| 81 | 81 | function url_absolue($url, $base='') { |
| 82 | - if (strlen($url = trim($url)) == 0) |
|
| 83 | - return ''; |
|
| 84 | - if (!$base) |
|
| 85 | - $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 86 | - return suivre_lien($base, $url); |
|
| 82 | + if (strlen($url = trim($url)) == 0) |
|
| 83 | + return ''; |
|
| 84 | + if (!$base) |
|
| 85 | + $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 86 | + return suivre_lien($base, $url); |
|
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | /** |
@@ -93,33 +93,33 @@ discard block |
||
| 93 | 93 | * @return string |
| 94 | 94 | */ |
| 95 | 95 | function protocole_implicite($url_absolue){ |
| 96 | - return preg_replace(";^[a-z]{3,7}://;i","//",$url_absolue); |
|
| 96 | + return preg_replace(";^[a-z]{3,7}://;i","//",$url_absolue); |
|
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | // un filtre pour transformer les URLs relatives en URLs absolues ; |
| 100 | 100 | // ne s'applique qu'aux textes contenant des liens |
| 101 | 101 | // http://doc.spip.org/@liens_absolus |
| 102 | 102 | function liens_absolus($texte, $base='') { |
| 103 | - if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', |
|
| 104 | - $texte, $liens, PREG_SET_ORDER)) { |
|
| 105 | - if (!function_exists('extraire_attribut')) { |
|
| 106 | - include_spip('inc/filtres'); |
|
| 107 | - } |
|
| 108 | - foreach ($liens as $lien) { |
|
| 109 | - foreach(array('href', 'src') as $attr) { |
|
| 110 | - $href = extraire_attribut($lien[0], $attr); |
|
| 111 | - if (strlen($href)>0) { |
|
| 112 | - $abs = url_absolue($href, $base); |
|
| 113 | - if ($href != $abs and !preg_match('/^#/',$href)) { |
|
| 114 | - $texte_lien = inserer_attribut($lien[0], $attr, $abs); |
|
| 115 | - $texte = str_replace($lien[0],$texte_lien,$texte); |
|
| 116 | - } |
|
| 117 | - } |
|
| 118 | - } |
|
| 119 | - } |
|
| 120 | - } |
|
| 121 | - |
|
| 122 | - return $texte; |
|
| 103 | + if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', |
|
| 104 | + $texte, $liens, PREG_SET_ORDER)) { |
|
| 105 | + if (!function_exists('extraire_attribut')) { |
|
| 106 | + include_spip('inc/filtres'); |
|
| 107 | + } |
|
| 108 | + foreach ($liens as $lien) { |
|
| 109 | + foreach(array('href', 'src') as $attr) { |
|
| 110 | + $href = extraire_attribut($lien[0], $attr); |
|
| 111 | + if (strlen($href)>0) { |
|
| 112 | + $abs = url_absolue($href, $base); |
|
| 113 | + if ($href != $abs and !preg_match('/^#/',$href)) { |
|
| 114 | + $texte_lien = inserer_attribut($lien[0], $attr, $abs); |
|
| 115 | + $texte = str_replace($lien[0],$texte_lien,$texte); |
|
| 116 | + } |
|
| 117 | + } |
|
| 118 | + } |
|
| 119 | + } |
|
| 120 | + } |
|
| 121 | + |
|
| 122 | + return $texte; |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | // |
@@ -127,10 +127,10 @@ discard block |
||
| 127 | 127 | // |
| 128 | 128 | // http://doc.spip.org/@abs_url |
| 129 | 129 | function abs_url($texte, $base='') { |
| 130 | - if ($GLOBALS['mode_abs_url'] == 'url') |
|
| 131 | - return url_absolue($texte, $base); |
|
| 132 | - else |
|
| 133 | - return liens_absolus($texte, $base); |
|
| 130 | + if ($GLOBALS['mode_abs_url'] == 'url') |
|
| 131 | + return url_absolue($texte, $base); |
|
| 132 | + else |
|
| 133 | + return liens_absolus($texte, $base); |
|
| 134 | 134 | } |
| 135 | 135 | |
| 136 | 136 | /** |
@@ -143,17 +143,17 @@ discard block |
||
| 143 | 143 | * @return string |
| 144 | 144 | */ |
| 145 | 145 | function spip_htmlspecialchars($string, $flags=null, $encoding='ISO-8859-1', $double_encode = true){ |
| 146 | - if (is_null($flags)) { |
|
| 147 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 148 | - $flags = ENT_COMPAT; |
|
| 149 | - else |
|
| 150 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 151 | - } |
|
| 152 | - |
|
| 153 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 154 | - return htmlspecialchars($string,$flags,$encoding); |
|
| 155 | - else |
|
| 156 | - return htmlspecialchars($string,$flags,$encoding,$double_encode); |
|
| 146 | + if (is_null($flags)) { |
|
| 147 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 148 | + $flags = ENT_COMPAT; |
|
| 149 | + else |
|
| 150 | + $flags = ENT_COMPAT|ENT_HTML401; |
|
| 151 | + } |
|
| 152 | + |
|
| 153 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 154 | + return htmlspecialchars($string,$flags,$encoding); |
|
| 155 | + else |
|
| 156 | + return htmlspecialchars($string,$flags,$encoding,$double_encode); |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | /** |
@@ -166,16 +166,16 @@ discard block |
||
| 166 | 166 | * @return string |
| 167 | 167 | */ |
| 168 | 168 | function spip_htmlentities($string,$flags=null,$encoding = 'ISO-8859-1',$double_encode = true){ |
| 169 | - if (is_null($flags)) { |
|
| 170 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 171 | - $flags = ENT_COMPAT; |
|
| 172 | - else |
|
| 173 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 174 | - } |
|
| 175 | - |
|
| 176 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 177 | - return htmlentities($string,$flags,$encoding); |
|
| 178 | - else |
|
| 179 | - return htmlentities($string,$flags,$encoding,$double_encode); |
|
| 169 | + if (is_null($flags)) { |
|
| 170 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 171 | + $flags = ENT_COMPAT; |
|
| 172 | + else |
|
| 173 | + $flags = ENT_COMPAT|ENT_HTML401; |
|
| 174 | + } |
|
| 175 | + |
|
| 176 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 177 | + return htmlentities($string,$flags,$encoding); |
|
| 178 | + else |
|
| 179 | + return htmlentities($string,$flags,$encoding,$double_encode); |
|
| 180 | 180 | } |
| 181 | 181 | ?> |
@@ -50,7 +50,7 @@ discard block |
||
| 50 | 50 | return $r[1].resolve_path($r[2]); |
| 51 | 51 | |
| 52 | 52 | # L'url site spip est un lien absolu aussi |
| 53 | - if ($lien == $GLOBALS['meta']['adresse_site']){ |
|
| 53 | + if ($lien == $GLOBALS['meta']['adresse_site']) { |
|
| 54 | 54 | return $lien; |
| 55 | 55 | } |
| 56 | 56 | |
@@ -60,29 +60,29 @@ discard block |
||
| 60 | 60 | $debut = $regs[1]; |
| 61 | 61 | $dir = !strlen($regs[2]) ? '/' : $regs[2]; |
| 62 | 62 | $mot = $regs[3]; |
| 63 | - $get = isset($regs[4])?$regs[4]:""; |
|
| 64 | - $hash = isset($regs[5])?$regs[5]:""; |
|
| 63 | + $get = isset($regs[4]) ? $regs[4] : ""; |
|
| 64 | + $hash = isset($regs[5]) ? $regs[5] : ""; |
|
| 65 | 65 | } |
| 66 | - switch (substr($lien,0,1)) { |
|
| 66 | + switch (substr($lien, 0, 1)) { |
|
| 67 | 67 | case '/': |
| 68 | - return $debut . resolve_path($lien); |
|
| 68 | + return $debut.resolve_path($lien); |
|
| 69 | 69 | case '#': |
| 70 | - return $debut . resolve_path($dir.$mot.$get.$lien); |
|
| 70 | + return $debut.resolve_path($dir.$mot.$get.$lien); |
|
| 71 | 71 | case '': |
| 72 | - return $debut . resolve_path($dir.$mot.$get.$hash); |
|
| 72 | + return $debut.resolve_path($dir.$mot.$get.$hash); |
|
| 73 | 73 | default: |
| 74 | - return $debut . resolve_path($dir.$lien); |
|
| 74 | + return $debut.resolve_path($dir.$lien); |
|
| 75 | 75 | } |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | // un filtre pour transformer les URLs relatives en URLs absolues ; |
| 79 | 79 | // ne s'applique qu'aux #URL_XXXX |
| 80 | 80 | // http://doc.spip.org/@url_absolue |
| 81 | -function url_absolue($url, $base='') { |
|
| 81 | +function url_absolue($url, $base = '') { |
|
| 82 | 82 | if (strlen($url = trim($url)) == 0) |
| 83 | 83 | return ''; |
| 84 | 84 | if (!$base) |
| 85 | - $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 85 | + $base = url_de_base().(_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 86 | 86 | return suivre_lien($base, $url); |
| 87 | 87 | } |
| 88 | 88 | |
@@ -92,27 +92,27 @@ discard block |
||
| 92 | 92 | * @param string $url_absolue |
| 93 | 93 | * @return string |
| 94 | 94 | */ |
| 95 | -function protocole_implicite($url_absolue){ |
|
| 96 | - return preg_replace(";^[a-z]{3,7}://;i","//",$url_absolue); |
|
| 95 | +function protocole_implicite($url_absolue) { |
|
| 96 | + return preg_replace(";^[a-z]{3,7}://;i", "//", $url_absolue); |
|
| 97 | 97 | } |
| 98 | 98 | |
| 99 | 99 | // un filtre pour transformer les URLs relatives en URLs absolues ; |
| 100 | 100 | // ne s'applique qu'aux textes contenant des liens |
| 101 | 101 | // http://doc.spip.org/@liens_absolus |
| 102 | -function liens_absolus($texte, $base='') { |
|
| 102 | +function liens_absolus($texte, $base = '') { |
|
| 103 | 103 | if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', |
| 104 | 104 | $texte, $liens, PREG_SET_ORDER)) { |
| 105 | 105 | if (!function_exists('extraire_attribut')) { |
| 106 | 106 | include_spip('inc/filtres'); |
| 107 | 107 | } |
| 108 | 108 | foreach ($liens as $lien) { |
| 109 | - foreach(array('href', 'src') as $attr) { |
|
| 109 | + foreach (array('href', 'src') as $attr) { |
|
| 110 | 110 | $href = extraire_attribut($lien[0], $attr); |
| 111 | - if (strlen($href)>0) { |
|
| 111 | + if (strlen($href) > 0) { |
|
| 112 | 112 | $abs = url_absolue($href, $base); |
| 113 | - if ($href != $abs and !preg_match('/^#/',$href)) { |
|
| 113 | + if ($href != $abs and !preg_match('/^#/', $href)) { |
|
| 114 | 114 | $texte_lien = inserer_attribut($lien[0], $attr, $abs); |
| 115 | - $texte = str_replace($lien[0],$texte_lien,$texte); |
|
| 115 | + $texte = str_replace($lien[0], $texte_lien, $texte); |
|
| 116 | 116 | } |
| 117 | 117 | } |
| 118 | 118 | } |
@@ -126,7 +126,7 @@ discard block |
||
| 126 | 126 | // Ce filtre public va traiter les URL ou les <a href> |
| 127 | 127 | // |
| 128 | 128 | // http://doc.spip.org/@abs_url |
| 129 | -function abs_url($texte, $base='') { |
|
| 129 | +function abs_url($texte, $base = '') { |
|
| 130 | 130 | if ($GLOBALS['mode_abs_url'] == 'url') |
| 131 | 131 | return url_absolue($texte, $base); |
| 132 | 132 | else |
@@ -142,18 +142,18 @@ discard block |
||
| 142 | 142 | * @param bool $double_encode |
| 143 | 143 | * @return string |
| 144 | 144 | */ |
| 145 | -function spip_htmlspecialchars($string, $flags=null, $encoding='ISO-8859-1', $double_encode = true){ |
|
| 145 | +function spip_htmlspecialchars($string, $flags = null, $encoding = 'ISO-8859-1', $double_encode = true) { |
|
| 146 | 146 | if (is_null($flags)) { |
| 147 | 147 | if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
| 148 | 148 | $flags = ENT_COMPAT; |
| 149 | 149 | else |
| 150 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 150 | + $flags = ENT_COMPAT | ENT_HTML401; |
|
| 151 | 151 | } |
| 152 | 152 | |
| 153 | 153 | if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
| 154 | - return htmlspecialchars($string,$flags,$encoding); |
|
| 154 | + return htmlspecialchars($string, $flags, $encoding); |
|
| 155 | 155 | else |
| 156 | - return htmlspecialchars($string,$flags,$encoding,$double_encode); |
|
| 156 | + return htmlspecialchars($string, $flags, $encoding, $double_encode); |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | /** |
@@ -165,17 +165,17 @@ discard block |
||
| 165 | 165 | * @param bool $double_encode |
| 166 | 166 | * @return string |
| 167 | 167 | */ |
| 168 | -function spip_htmlentities($string,$flags=null,$encoding = 'ISO-8859-1',$double_encode = true){ |
|
| 168 | +function spip_htmlentities($string, $flags = null, $encoding = 'ISO-8859-1', $double_encode = true) { |
|
| 169 | 169 | if (is_null($flags)) { |
| 170 | 170 | if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
| 171 | 171 | $flags = ENT_COMPAT; |
| 172 | 172 | else |
| 173 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 173 | + $flags = ENT_COMPAT | ENT_HTML401; |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
| 177 | - return htmlentities($string,$flags,$encoding); |
|
| 177 | + return htmlentities($string, $flags, $encoding); |
|
| 178 | 178 | else |
| 179 | - return htmlentities($string,$flags,$encoding,$double_encode); |
|
| 179 | + return htmlentities($string, $flags, $encoding, $double_encode); |
|
| 180 | 180 | } |
| 181 | 181 | ?> |
@@ -11,7 +11,9 @@ discard block |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | |
| 14 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 14 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 15 | + return; |
|
| 16 | +} |
|
| 15 | 17 | |
| 16 | 18 | // |
| 17 | 19 | // Filtres d'URLs |
@@ -27,11 +29,14 @@ discard block |
||
| 27 | 29 | list($url, $query) = array_pad(explode('?', $url, 2), 2, null); |
| 28 | 30 | while (preg_match(',/\.?/,', $url, $regs) # supprime // et /./ |
| 29 | 31 | OR preg_match(',/[^/]*/\.\./,S', $url, $regs) # supprime /toto/../ |
| 30 | - OR preg_match(',^/\.\./,S', $url, $regs)) # supprime les /../ du haut |
|
| 32 | + OR preg_match(',^/\.\./,S', $url, $regs)) { |
|
| 33 | + # supprime les /../ du haut |
|
| 31 | 34 | $url = str_replace($regs[0], '/', $url); |
| 35 | + } |
|
| 32 | 36 | |
| 33 | - if ($query) |
|
| 34 | - $url .= '?'.$query; |
|
| 37 | + if ($query) { |
|
| 38 | + $url .= '?'.$query; |
|
| 39 | + } |
|
| 35 | 40 | |
| 36 | 41 | return '/'.preg_replace(',^/,S', '', $url); |
| 37 | 42 | } |
@@ -44,10 +49,12 @@ discard block |
||
| 44 | 49 | // http://doc.spip.org/@suivre_lien |
| 45 | 50 | function suivre_lien($url, $lien) { |
| 46 | 51 | |
| 47 | - if (preg_match(',^(mailto|javascript|data):,iS', $lien)) |
|
| 48 | - return $lien; |
|
| 49 | - if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) |
|
| 50 | - return $r[1].resolve_path($r[2]); |
|
| 52 | + if (preg_match(',^(mailto|javascript|data):,iS', $lien)) { |
|
| 53 | + return $lien; |
|
| 54 | + } |
|
| 55 | + if (preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)) { |
|
| 56 | + return $r[1].resolve_path($r[2]); |
|
| 57 | + } |
|
| 51 | 58 | |
| 52 | 59 | # L'url site spip est un lien absolu aussi |
| 53 | 60 | if ($lien == $GLOBALS['meta']['adresse_site']){ |
@@ -79,10 +86,12 @@ discard block |
||
| 79 | 86 | // ne s'applique qu'aux #URL_XXXX |
| 80 | 87 | // http://doc.spip.org/@url_absolue |
| 81 | 88 | function url_absolue($url, $base='') { |
| 82 | - if (strlen($url = trim($url)) == 0) |
|
| 83 | - return ''; |
|
| 84 | - if (!$base) |
|
| 85 | - $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 89 | + if (strlen($url = trim($url)) == 0) { |
|
| 90 | + return ''; |
|
| 91 | + } |
|
| 92 | + if (!$base) { |
|
| 93 | + $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : ''); |
|
| 94 | + } |
|
| 86 | 95 | return suivre_lien($base, $url); |
| 87 | 96 | } |
| 88 | 97 | |
@@ -127,11 +136,12 @@ discard block |
||
| 127 | 136 | // |
| 128 | 137 | // http://doc.spip.org/@abs_url |
| 129 | 138 | function abs_url($texte, $base='') { |
| 130 | - if ($GLOBALS['mode_abs_url'] == 'url') |
|
| 131 | - return url_absolue($texte, $base); |
|
| 132 | - else |
|
| 133 | - return liens_absolus($texte, $base); |
|
| 134 | -} |
|
| 139 | + if ($GLOBALS['mode_abs_url'] == 'url') { |
|
| 140 | + return url_absolue($texte, $base); |
|
| 141 | + } else { |
|
| 142 | + return liens_absolus($texte, $base); |
|
| 143 | + } |
|
| 144 | + } |
|
| 135 | 145 | |
| 136 | 146 | /** |
| 137 | 147 | * htmlspecialchars wrapper (PHP >= 5.4 compat issue) |
@@ -144,17 +154,19 @@ discard block |
||
| 144 | 154 | */ |
| 145 | 155 | function spip_htmlspecialchars($string, $flags=null, $encoding='ISO-8859-1', $double_encode = true){ |
| 146 | 156 | if (is_null($flags)) { |
| 147 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 148 | - $flags = ENT_COMPAT; |
|
| 149 | - else |
|
| 150 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 157 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) { |
|
| 158 | + $flags = ENT_COMPAT; |
|
| 159 | + } else { |
|
| 160 | + $flags = ENT_COMPAT|ENT_HTML401; |
|
| 161 | + } |
|
| 151 | 162 | } |
| 152 | 163 | |
| 153 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 154 | - return htmlspecialchars($string,$flags,$encoding); |
|
| 155 | - else |
|
| 156 | - return htmlspecialchars($string,$flags,$encoding,$double_encode); |
|
| 157 | -} |
|
| 164 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) { |
|
| 165 | + return htmlspecialchars($string,$flags,$encoding); |
|
| 166 | + } else { |
|
| 167 | + return htmlspecialchars($string,$flags,$encoding,$double_encode); |
|
| 168 | + } |
|
| 169 | + } |
|
| 158 | 170 | |
| 159 | 171 | /** |
| 160 | 172 | * htmlentities wrapper (PHP >= 5.4 compat issue) |
@@ -167,15 +179,17 @@ discard block |
||
| 167 | 179 | */ |
| 168 | 180 | function spip_htmlentities($string,$flags=null,$encoding = 'ISO-8859-1',$double_encode = true){ |
| 169 | 181 | if (is_null($flags)) { |
| 170 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) |
|
| 171 | - $flags = ENT_COMPAT; |
|
| 172 | - else |
|
| 173 | - $flags = ENT_COMPAT|ENT_HTML401; |
|
| 182 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50400) { |
|
| 183 | + $flags = ENT_COMPAT; |
|
| 184 | + } else { |
|
| 185 | + $flags = ENT_COMPAT|ENT_HTML401; |
|
| 186 | + } |
|
| 174 | 187 | } |
| 175 | 188 | |
| 176 | - if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) |
|
| 177 | - return htmlentities($string,$flags,$encoding); |
|
| 178 | - else |
|
| 179 | - return htmlentities($string,$flags,$encoding,$double_encode); |
|
| 180 | -} |
|
| 189 | + if (!defined('PHP_VERSION_ID') OR PHP_VERSION_ID < 50203) { |
|
| 190 | + return htmlentities($string,$flags,$encoding); |
|
| 191 | + } else { |
|
| 192 | + return htmlentities($string,$flags,$encoding,$double_encode); |
|
| 193 | + } |
|
| 194 | + } |
|
| 181 | 195 | ?> |
@@ -72,39 +72,39 @@ discard block |
||
| 72 | 72 | * @return array |
| 73 | 73 | */ |
| 74 | 74 | function cvtmulti_recuperer_post_precedents($form){ |
| 75 | - include_spip('inc/filtres'); |
|
| 76 | - if ($form |
|
| 77 | - AND $c = _request('cvtm_prev_post') |
|
| 78 | - AND $c = decoder_contexte_ajax($c, $form)){ |
|
| 79 | - #var_dump($c); |
|
| 75 | + include_spip('inc/filtres'); |
|
| 76 | + if ($form |
|
| 77 | + AND $c = _request('cvtm_prev_post') |
|
| 78 | + AND $c = decoder_contexte_ajax($c, $form)){ |
|
| 79 | + #var_dump($c); |
|
| 80 | 80 | |
| 81 | - # reinjecter dans la bonne variable pour permettre de retrouver |
|
| 82 | - # toutes les saisies dans un seul tableau |
|
| 83 | - if ($_SERVER['REQUEST_METHOD']=='POST') |
|
| 84 | - $store = &$_POST; |
|
| 85 | - else |
|
| 86 | - $store = &$_GET; |
|
| 87 | - |
|
| 88 | - foreach($c as $k=>$v) |
|
| 89 | - // on ecrase pas si saisi a nouveau ! |
|
| 90 | - if (!isset($store[$k])) |
|
| 91 | - $_REQUEST[$k] = $store[$k] = $v; |
|
| 92 | - // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
|
| 93 | - elseif(is_array($store[$k]) |
|
| 94 | - AND is_array($v) |
|
| 95 | - AND $z = array_keys($v) |
|
| 96 | - AND !is_numeric(reset($z)) |
|
| 97 | - AND $z = array_keys($store[$k]) |
|
| 98 | - AND !is_numeric(reset($z)) |
|
| 99 | - ) |
|
| 100 | - $_REQUEST[$k] = $store[$k] = array_merge($v,$store[$k]); |
|
| 101 | - |
|
| 102 | - // vider pour eviter un second appel a verifier_n |
|
| 103 | - // en cas de double implementation (unipotence) |
|
| 104 | - set_request('cvtm_prev_post'); |
|
| 105 | - return array($c['_etape'],$c['_etapes']); |
|
| 106 | - } |
|
| 107 | - return false; |
|
| 81 | + # reinjecter dans la bonne variable pour permettre de retrouver |
|
| 82 | + # toutes les saisies dans un seul tableau |
|
| 83 | + if ($_SERVER['REQUEST_METHOD']=='POST') |
|
| 84 | + $store = &$_POST; |
|
| 85 | + else |
|
| 86 | + $store = &$_GET; |
|
| 87 | + |
|
| 88 | + foreach($c as $k=>$v) |
|
| 89 | + // on ecrase pas si saisi a nouveau ! |
|
| 90 | + if (!isset($store[$k])) |
|
| 91 | + $_REQUEST[$k] = $store[$k] = $v; |
|
| 92 | + // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
|
| 93 | + elseif(is_array($store[$k]) |
|
| 94 | + AND is_array($v) |
|
| 95 | + AND $z = array_keys($v) |
|
| 96 | + AND !is_numeric(reset($z)) |
|
| 97 | + AND $z = array_keys($store[$k]) |
|
| 98 | + AND !is_numeric(reset($z)) |
|
| 99 | + ) |
|
| 100 | + $_REQUEST[$k] = $store[$k] = array_merge($v,$store[$k]); |
|
| 101 | + |
|
| 102 | + // vider pour eviter un second appel a verifier_n |
|
| 103 | + // en cas de double implementation (unipotence) |
|
| 104 | + set_request('cvtm_prev_post'); |
|
| 105 | + return array($c['_etape'],$c['_etapes']); |
|
| 106 | + } |
|
| 107 | + return false; |
|
| 108 | 108 | } |
| 109 | 109 | |
| 110 | 110 | /** |
@@ -117,25 +117,25 @@ discard block |
||
| 117 | 117 | * @return array |
| 118 | 118 | */ |
| 119 | 119 | function cvtmulti_sauver_post($form, $je_suis_poste, &$valeurs){ |
| 120 | - if (!isset($valeurs['_cvtm_prev_post'])){ |
|
| 121 | - $post = array('_etape'=>$valeurs['_etape'],'_etapes'=>$valeurs['_etapes']); |
|
| 122 | - foreach(array_keys($valeurs) as $champ){ |
|
| 123 | - if (substr($champ,0,1)!=='_'){ |
|
| 124 | - if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
|
| 125 | - if (($v = _request($champ))!==NULL) |
|
| 126 | - $post[$champ] = $v; |
|
| 127 | - } |
|
| 128 | - } |
|
| 129 | - } |
|
| 130 | - include_spip('inc/filtres'); |
|
| 131 | - $c = encoder_contexte_ajax($post,$form); |
|
| 132 | - if (!isset($valeurs['_hidden'])) |
|
| 133 | - $valeurs['_hidden'] = ''; |
|
| 134 | - $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
|
| 135 | - // marquer comme fait, pour eviter double encodage (unipotence) |
|
| 136 | - $valeurs['_cvtm_prev_post'] = true; |
|
| 137 | - } |
|
| 138 | - return $valeurs; |
|
| 120 | + if (!isset($valeurs['_cvtm_prev_post'])){ |
|
| 121 | + $post = array('_etape'=>$valeurs['_etape'],'_etapes'=>$valeurs['_etapes']); |
|
| 122 | + foreach(array_keys($valeurs) as $champ){ |
|
| 123 | + if (substr($champ,0,1)!=='_'){ |
|
| 124 | + if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
|
| 125 | + if (($v = _request($champ))!==NULL) |
|
| 126 | + $post[$champ] = $v; |
|
| 127 | + } |
|
| 128 | + } |
|
| 129 | + } |
|
| 130 | + include_spip('inc/filtres'); |
|
| 131 | + $c = encoder_contexte_ajax($post,$form); |
|
| 132 | + if (!isset($valeurs['_hidden'])) |
|
| 133 | + $valeurs['_hidden'] = ''; |
|
| 134 | + $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
|
| 135 | + // marquer comme fait, pour eviter double encodage (unipotence) |
|
| 136 | + $valeurs['_cvtm_prev_post'] = true; |
|
| 137 | + } |
|
| 138 | + return $valeurs; |
|
| 139 | 139 | } |
| 140 | 140 | |
| 141 | 141 | |
@@ -147,22 +147,22 @@ discard block |
||
| 147 | 147 | * @return <type> |
| 148 | 148 | */ |
| 149 | 149 | function cvtmulti_formulaire_charger($flux){ |
| 150 | - #var_dump($flux['data']['_etapes']); |
|
| 151 | - if (is_array($flux['data']) |
|
| 152 | - AND isset($flux['data']['_etapes'])){ |
|
| 153 | - $form = $flux['args']['form']; |
|
| 154 | - $je_suis_poste = $flux['args']['je_suis_poste']; |
|
| 155 | - $nb_etapes = $flux['data']['_etapes']; |
|
| 156 | - $etape = _request('_etape'); |
|
| 157 | - $etape = min(max($etape,1),$nb_etapes); |
|
| 158 | - set_request('_etape',$etape); |
|
| 159 | - $flux['data']['_etape'] = $etape; |
|
| 160 | - |
|
| 161 | - // sauver les posts de cette etape pour les avoir a la prochaine etape |
|
| 162 | - $flux['data'] = cvtmulti_sauver_post($form, $je_suis_poste, $flux['data']); |
|
| 163 | - #var_dump($flux['data']); |
|
| 164 | - } |
|
| 165 | - return $flux; |
|
| 150 | + #var_dump($flux['data']['_etapes']); |
|
| 151 | + if (is_array($flux['data']) |
|
| 152 | + AND isset($flux['data']['_etapes'])){ |
|
| 153 | + $form = $flux['args']['form']; |
|
| 154 | + $je_suis_poste = $flux['args']['je_suis_poste']; |
|
| 155 | + $nb_etapes = $flux['data']['_etapes']; |
|
| 156 | + $etape = _request('_etape'); |
|
| 157 | + $etape = min(max($etape,1),$nb_etapes); |
|
| 158 | + set_request('_etape',$etape); |
|
| 159 | + $flux['data']['_etape'] = $etape; |
|
| 160 | + |
|
| 161 | + // sauver les posts de cette etape pour les avoir a la prochaine etape |
|
| 162 | + $flux['data'] = cvtmulti_sauver_post($form, $je_suis_poste, $flux['data']); |
|
| 163 | + #var_dump($flux['data']); |
|
| 164 | + } |
|
| 165 | + return $flux; |
|
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | |
@@ -173,53 +173,53 @@ discard block |
||
| 173 | 173 | * @return array |
| 174 | 174 | */ |
| 175 | 175 | function cvtmulti_formulaire_verifier($flux){ |
| 176 | - #var_dump('Pipe verifier'); |
|
| 176 | + #var_dump('Pipe verifier'); |
|
| 177 | 177 | |
| 178 | - if ($form = $flux['args']['form'] |
|
| 179 | - AND ($e = cvtmulti_recuperer_post_precedents($form))!==false){ |
|
| 180 | - // recuperer l'etape saisie et le nombre d'etapes total |
|
| 181 | - list($etape,$etapes) = $e; |
|
| 182 | - $etape_demandee = _request('aller_a_etape'); // possibilite de poster en entier dans aller_a_etape |
|
| 183 | - |
|
| 184 | - // lancer les verifs pour chaque etape deja saisie de 1 a $etape |
|
| 185 | - $erreurs = array(); |
|
| 186 | - $derniere_etape_ok = 0; |
|
| 187 | - $e = 0; |
|
| 188 | - while ($e<$etape AND $e<$etapes){ |
|
| 189 | - $e++; |
|
| 190 | - $erreurs[$e] = array(); |
|
| 191 | - if ($verifier = charger_fonction("verifier_$e","formulaires/$form/",true)) |
|
| 192 | - $erreurs[$e] = call_user_func_array($verifier, $flux['args']['args']); |
|
| 193 | - elseif ($verifier = charger_fonction("verifier_etape","formulaires/$form/",true)){ |
|
| 194 | - $args = $flux['args']['args']; |
|
| 195 | - array_unshift($args, $e); |
|
| 196 | - $erreurs[$e] = call_user_func_array($verifier, $args); |
|
| 197 | - } |
|
| 198 | - if ($derniere_etape_ok==$e-1 AND !count($erreurs[$e])) |
|
| 199 | - $derniere_etape_ok = $e; |
|
| 200 | - // possibilite de poster dans _retour_etape_x |
|
| 201 | - if (!is_null(_request("_retour_etape_$e"))) |
|
| 202 | - $etape_demandee = $e; |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - // si la derniere etape OK etait la derniere |
|
| 206 | - // on renvoie le flux inchange et ca declenche traiter |
|
| 207 | - if ($derniere_etape_ok==$etapes AND !$etape_demandee){ |
|
| 208 | - return $flux; |
|
| 209 | - } |
|
| 210 | - else { |
|
| 211 | - $etape = $derniere_etape_ok+1; |
|
| 212 | - if ($etape_demandee>0 AND $etape_demandee<$etape) |
|
| 213 | - $etape = $etape_demandee; |
|
| 214 | - $etape = min($etape,$etapes); |
|
| 215 | - #var_dump("prochaine etape $etape"); |
|
| 216 | - // retourner les erreurs de l'etape ciblee |
|
| 217 | - $flux['data'] = isset($erreurs[$etape]) ? $erreurs[$etape] : array() ; |
|
| 218 | - $flux['data']['_etapes'] = "etape suivante $etape"; |
|
| 219 | - set_request('_etape',$etape); |
|
| 220 | - } |
|
| 221 | - } |
|
| 222 | - return $flux; |
|
| 178 | + if ($form = $flux['args']['form'] |
|
| 179 | + AND ($e = cvtmulti_recuperer_post_precedents($form))!==false){ |
|
| 180 | + // recuperer l'etape saisie et le nombre d'etapes total |
|
| 181 | + list($etape,$etapes) = $e; |
|
| 182 | + $etape_demandee = _request('aller_a_etape'); // possibilite de poster en entier dans aller_a_etape |
|
| 183 | + |
|
| 184 | + // lancer les verifs pour chaque etape deja saisie de 1 a $etape |
|
| 185 | + $erreurs = array(); |
|
| 186 | + $derniere_etape_ok = 0; |
|
| 187 | + $e = 0; |
|
| 188 | + while ($e<$etape AND $e<$etapes){ |
|
| 189 | + $e++; |
|
| 190 | + $erreurs[$e] = array(); |
|
| 191 | + if ($verifier = charger_fonction("verifier_$e","formulaires/$form/",true)) |
|
| 192 | + $erreurs[$e] = call_user_func_array($verifier, $flux['args']['args']); |
|
| 193 | + elseif ($verifier = charger_fonction("verifier_etape","formulaires/$form/",true)){ |
|
| 194 | + $args = $flux['args']['args']; |
|
| 195 | + array_unshift($args, $e); |
|
| 196 | + $erreurs[$e] = call_user_func_array($verifier, $args); |
|
| 197 | + } |
|
| 198 | + if ($derniere_etape_ok==$e-1 AND !count($erreurs[$e])) |
|
| 199 | + $derniere_etape_ok = $e; |
|
| 200 | + // possibilite de poster dans _retour_etape_x |
|
| 201 | + if (!is_null(_request("_retour_etape_$e"))) |
|
| 202 | + $etape_demandee = $e; |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + // si la derniere etape OK etait la derniere |
|
| 206 | + // on renvoie le flux inchange et ca declenche traiter |
|
| 207 | + if ($derniere_etape_ok==$etapes AND !$etape_demandee){ |
|
| 208 | + return $flux; |
|
| 209 | + } |
|
| 210 | + else { |
|
| 211 | + $etape = $derniere_etape_ok+1; |
|
| 212 | + if ($etape_demandee>0 AND $etape_demandee<$etape) |
|
| 213 | + $etape = $etape_demandee; |
|
| 214 | + $etape = min($etape,$etapes); |
|
| 215 | + #var_dump("prochaine etape $etape"); |
|
| 216 | + // retourner les erreurs de l'etape ciblee |
|
| 217 | + $flux['data'] = isset($erreurs[$etape]) ? $erreurs[$etape] : array() ; |
|
| 218 | + $flux['data']['_etapes'] = "etape suivante $etape"; |
|
| 219 | + set_request('_etape',$etape); |
|
| 220 | + } |
|
| 221 | + } |
|
| 222 | + return $flux; |
|
| 223 | 223 | } |
| 224 | 224 | |
| 225 | 225 | /** |
@@ -231,15 +231,15 @@ discard block |
||
| 231 | 231 | * @return array |
| 232 | 232 | */ |
| 233 | 233 | function cvtmulti_styliser($flux){ |
| 234 | - if (strncmp($flux['args']['fond'],'formulaires/',12)==0 |
|
| 235 | - AND isset($flux['args']['contexte']['_etapes']) |
|
| 236 | - AND isset($flux['args']['contexte']['_etape']) |
|
| 237 | - AND ($e=$flux['args']['contexte']['_etape'])>1 |
|
| 238 | - AND $ext = $flux['args']['ext'] |
|
| 239 | - AND $f=$flux['data'] |
|
| 240 | - AND file_exists($f."_$e.$ext")) |
|
| 241 | - $flux['data'] = $f."_$e"; |
|
| 242 | - return $flux; |
|
| 234 | + if (strncmp($flux['args']['fond'],'formulaires/',12)==0 |
|
| 235 | + AND isset($flux['args']['contexte']['_etapes']) |
|
| 236 | + AND isset($flux['args']['contexte']['_etape']) |
|
| 237 | + AND ($e=$flux['args']['contexte']['_etape'])>1 |
|
| 238 | + AND $ext = $flux['args']['ext'] |
|
| 239 | + AND $f=$flux['data'] |
|
| 240 | + AND file_exists($f."_$e.$ext")) |
|
| 241 | + $flux['data'] = $f."_$e"; |
|
| 242 | + return $flux; |
|
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | |
@@ -71,38 +71,38 @@ discard block |
||
| 71 | 71 | * @param string $form |
| 72 | 72 | * @return array |
| 73 | 73 | */ |
| 74 | -function cvtmulti_recuperer_post_precedents($form){ |
|
| 74 | +function cvtmulti_recuperer_post_precedents($form) { |
|
| 75 | 75 | include_spip('inc/filtres'); |
| 76 | 76 | if ($form |
| 77 | 77 | AND $c = _request('cvtm_prev_post') |
| 78 | - AND $c = decoder_contexte_ajax($c, $form)){ |
|
| 78 | + AND $c = decoder_contexte_ajax($c, $form)) { |
|
| 79 | 79 | #var_dump($c); |
| 80 | 80 | |
| 81 | 81 | # reinjecter dans la bonne variable pour permettre de retrouver |
| 82 | 82 | # toutes les saisies dans un seul tableau |
| 83 | - if ($_SERVER['REQUEST_METHOD']=='POST') |
|
| 83 | + if ($_SERVER['REQUEST_METHOD'] == 'POST') |
|
| 84 | 84 | $store = &$_POST; |
| 85 | 85 | else |
| 86 | 86 | $store = &$_GET; |
| 87 | 87 | |
| 88 | - foreach($c as $k=>$v) |
|
| 88 | + foreach ($c as $k=>$v) |
|
| 89 | 89 | // on ecrase pas si saisi a nouveau ! |
| 90 | 90 | if (!isset($store[$k])) |
| 91 | 91 | $_REQUEST[$k] = $store[$k] = $v; |
| 92 | 92 | // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
| 93 | - elseif(is_array($store[$k]) |
|
| 93 | + elseif (is_array($store[$k]) |
|
| 94 | 94 | AND is_array($v) |
| 95 | 95 | AND $z = array_keys($v) |
| 96 | 96 | AND !is_numeric(reset($z)) |
| 97 | 97 | AND $z = array_keys($store[$k]) |
| 98 | 98 | AND !is_numeric(reset($z)) |
| 99 | 99 | ) |
| 100 | - $_REQUEST[$k] = $store[$k] = array_merge($v,$store[$k]); |
|
| 100 | + $_REQUEST[$k] = $store[$k] = array_merge($v, $store[$k]); |
|
| 101 | 101 | |
| 102 | 102 | // vider pour eviter un second appel a verifier_n |
| 103 | 103 | // en cas de double implementation (unipotence) |
| 104 | 104 | set_request('cvtm_prev_post'); |
| 105 | - return array($c['_etape'],$c['_etapes']); |
|
| 105 | + return array($c['_etape'], $c['_etapes']); |
|
| 106 | 106 | } |
| 107 | 107 | return false; |
| 108 | 108 | } |
@@ -116,19 +116,19 @@ discard block |
||
| 116 | 116 | * @param array $valeurs |
| 117 | 117 | * @return array |
| 118 | 118 | */ |
| 119 | -function cvtmulti_sauver_post($form, $je_suis_poste, &$valeurs){ |
|
| 120 | - if (!isset($valeurs['_cvtm_prev_post'])){ |
|
| 121 | - $post = array('_etape'=>$valeurs['_etape'],'_etapes'=>$valeurs['_etapes']); |
|
| 122 | - foreach(array_keys($valeurs) as $champ){ |
|
| 123 | - if (substr($champ,0,1)!=='_'){ |
|
| 119 | +function cvtmulti_sauver_post($form, $je_suis_poste, &$valeurs) { |
|
| 120 | + if (!isset($valeurs['_cvtm_prev_post'])) { |
|
| 121 | + $post = array('_etape'=>$valeurs['_etape'], '_etapes'=>$valeurs['_etapes']); |
|
| 122 | + foreach (array_keys($valeurs) as $champ) { |
|
| 123 | + if (substr($champ, 0, 1) !== '_') { |
|
| 124 | 124 | if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
| 125 | - if (($v = _request($champ))!==NULL) |
|
| 125 | + if (($v = _request($champ)) !== NULL) |
|
| 126 | 126 | $post[$champ] = $v; |
| 127 | 127 | } |
| 128 | 128 | } |
| 129 | 129 | } |
| 130 | 130 | include_spip('inc/filtres'); |
| 131 | - $c = encoder_contexte_ajax($post,$form); |
|
| 131 | + $c = encoder_contexte_ajax($post, $form); |
|
| 132 | 132 | if (!isset($valeurs['_hidden'])) |
| 133 | 133 | $valeurs['_hidden'] = ''; |
| 134 | 134 | $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
@@ -146,16 +146,16 @@ discard block |
||
| 146 | 146 | * @param <type> $flux |
| 147 | 147 | * @return <type> |
| 148 | 148 | */ |
| 149 | -function cvtmulti_formulaire_charger($flux){ |
|
| 149 | +function cvtmulti_formulaire_charger($flux) { |
|
| 150 | 150 | #var_dump($flux['data']['_etapes']); |
| 151 | 151 | if (is_array($flux['data']) |
| 152 | - AND isset($flux['data']['_etapes'])){ |
|
| 152 | + AND isset($flux['data']['_etapes'])) { |
|
| 153 | 153 | $form = $flux['args']['form']; |
| 154 | 154 | $je_suis_poste = $flux['args']['je_suis_poste']; |
| 155 | 155 | $nb_etapes = $flux['data']['_etapes']; |
| 156 | 156 | $etape = _request('_etape'); |
| 157 | - $etape = min(max($etape,1),$nb_etapes); |
|
| 158 | - set_request('_etape',$etape); |
|
| 157 | + $etape = min(max($etape, 1), $nb_etapes); |
|
| 158 | + set_request('_etape', $etape); |
|
| 159 | 159 | $flux['data']['_etape'] = $etape; |
| 160 | 160 | |
| 161 | 161 | // sauver les posts de cette etape pour les avoir a la prochaine etape |
@@ -172,30 +172,30 @@ discard block |
||
| 172 | 172 | * @param array $flux |
| 173 | 173 | * @return array |
| 174 | 174 | */ |
| 175 | -function cvtmulti_formulaire_verifier($flux){ |
|
| 175 | +function cvtmulti_formulaire_verifier($flux) { |
|
| 176 | 176 | #var_dump('Pipe verifier'); |
| 177 | 177 | |
| 178 | 178 | if ($form = $flux['args']['form'] |
| 179 | - AND ($e = cvtmulti_recuperer_post_precedents($form))!==false){ |
|
| 179 | + AND ($e = cvtmulti_recuperer_post_precedents($form)) !== false) { |
|
| 180 | 180 | // recuperer l'etape saisie et le nombre d'etapes total |
| 181 | - list($etape,$etapes) = $e; |
|
| 181 | + list($etape, $etapes) = $e; |
|
| 182 | 182 | $etape_demandee = _request('aller_a_etape'); // possibilite de poster en entier dans aller_a_etape |
| 183 | 183 | |
| 184 | 184 | // lancer les verifs pour chaque etape deja saisie de 1 a $etape |
| 185 | 185 | $erreurs = array(); |
| 186 | 186 | $derniere_etape_ok = 0; |
| 187 | 187 | $e = 0; |
| 188 | - while ($e<$etape AND $e<$etapes){ |
|
| 188 | + while ($e < $etape AND $e < $etapes) { |
|
| 189 | 189 | $e++; |
| 190 | 190 | $erreurs[$e] = array(); |
| 191 | - if ($verifier = charger_fonction("verifier_$e","formulaires/$form/",true)) |
|
| 191 | + if ($verifier = charger_fonction("verifier_$e", "formulaires/$form/", true)) |
|
| 192 | 192 | $erreurs[$e] = call_user_func_array($verifier, $flux['args']['args']); |
| 193 | - elseif ($verifier = charger_fonction("verifier_etape","formulaires/$form/",true)){ |
|
| 193 | + elseif ($verifier = charger_fonction("verifier_etape", "formulaires/$form/", true)) { |
|
| 194 | 194 | $args = $flux['args']['args']; |
| 195 | 195 | array_unshift($args, $e); |
| 196 | 196 | $erreurs[$e] = call_user_func_array($verifier, $args); |
| 197 | 197 | } |
| 198 | - if ($derniere_etape_ok==$e-1 AND !count($erreurs[$e])) |
|
| 198 | + if ($derniere_etape_ok == $e - 1 AND !count($erreurs[$e])) |
|
| 199 | 199 | $derniere_etape_ok = $e; |
| 200 | 200 | // possibilite de poster dans _retour_etape_x |
| 201 | 201 | if (!is_null(_request("_retour_etape_$e"))) |
@@ -204,19 +204,19 @@ discard block |
||
| 204 | 204 | |
| 205 | 205 | // si la derniere etape OK etait la derniere |
| 206 | 206 | // on renvoie le flux inchange et ca declenche traiter |
| 207 | - if ($derniere_etape_ok==$etapes AND !$etape_demandee){ |
|
| 207 | + if ($derniere_etape_ok == $etapes AND !$etape_demandee) { |
|
| 208 | 208 | return $flux; |
| 209 | 209 | } |
| 210 | 210 | else { |
| 211 | - $etape = $derniere_etape_ok+1; |
|
| 212 | - if ($etape_demandee>0 AND $etape_demandee<$etape) |
|
| 211 | + $etape = $derniere_etape_ok + 1; |
|
| 212 | + if ($etape_demandee > 0 AND $etape_demandee < $etape) |
|
| 213 | 213 | $etape = $etape_demandee; |
| 214 | - $etape = min($etape,$etapes); |
|
| 214 | + $etape = min($etape, $etapes); |
|
| 215 | 215 | #var_dump("prochaine etape $etape"); |
| 216 | 216 | // retourner les erreurs de l'etape ciblee |
| 217 | - $flux['data'] = isset($erreurs[$etape]) ? $erreurs[$etape] : array() ; |
|
| 217 | + $flux['data'] = isset($erreurs[$etape]) ? $erreurs[$etape] : array(); |
|
| 218 | 218 | $flux['data']['_etapes'] = "etape suivante $etape"; |
| 219 | - set_request('_etape',$etape); |
|
| 219 | + set_request('_etape', $etape); |
|
| 220 | 220 | } |
| 221 | 221 | } |
| 222 | 222 | return $flux; |
@@ -230,13 +230,13 @@ discard block |
||
| 230 | 230 | * @param array $flux |
| 231 | 231 | * @return array |
| 232 | 232 | */ |
| 233 | -function cvtmulti_styliser($flux){ |
|
| 234 | - if (strncmp($flux['args']['fond'],'formulaires/',12)==0 |
|
| 233 | +function cvtmulti_styliser($flux) { |
|
| 234 | + if (strncmp($flux['args']['fond'], 'formulaires/', 12) == 0 |
|
| 235 | 235 | AND isset($flux['args']['contexte']['_etapes']) |
| 236 | 236 | AND isset($flux['args']['contexte']['_etape']) |
| 237 | - AND ($e=$flux['args']['contexte']['_etape'])>1 |
|
| 237 | + AND ($e = $flux['args']['contexte']['_etape']) > 1 |
|
| 238 | 238 | AND $ext = $flux['args']['ext'] |
| 239 | - AND $f=$flux['data'] |
|
| 239 | + AND $f = $flux['data'] |
|
| 240 | 240 | AND file_exists($f."_$e.$ext")) |
| 241 | 241 | $flux['data'] = $f."_$e"; |
| 242 | 242 | return $flux; |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | /* |
| 16 | 18 | * CVT Multi etapes |
@@ -80,15 +82,17 @@ discard block |
||
| 80 | 82 | |
| 81 | 83 | # reinjecter dans la bonne variable pour permettre de retrouver |
| 82 | 84 | # toutes les saisies dans un seul tableau |
| 83 | - if ($_SERVER['REQUEST_METHOD']=='POST') |
|
| 84 | - $store = &$_POST; |
|
| 85 | - else |
|
| 86 | - $store = &$_GET; |
|
| 85 | + if ($_SERVER['REQUEST_METHOD']=='POST') { |
|
| 86 | + $store = &$_POST; |
|
| 87 | + } else { |
|
| 88 | + $store = &$_GET; |
|
| 89 | + } |
|
| 87 | 90 | |
| 88 | - foreach($c as $k=>$v) |
|
| 89 | - // on ecrase pas si saisi a nouveau ! |
|
| 91 | + foreach($c as $k=>$v) { |
|
| 92 | + // on ecrase pas si saisi a nouveau ! |
|
| 90 | 93 | if (!isset($store[$k])) |
| 91 | 94 | $_REQUEST[$k] = $store[$k] = $v; |
| 95 | + } |
|
| 92 | 96 | // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
| 93 | 97 | elseif(is_array($store[$k]) |
| 94 | 98 | AND is_array($v) |
@@ -96,8 +100,9 @@ discard block |
||
| 96 | 100 | AND !is_numeric(reset($z)) |
| 97 | 101 | AND $z = array_keys($store[$k]) |
| 98 | 102 | AND !is_numeric(reset($z)) |
| 99 | - ) |
|
| 100 | - $_REQUEST[$k] = $store[$k] = array_merge($v,$store[$k]); |
|
| 103 | + ) { |
|
| 104 | + $_REQUEST[$k] = $store[$k] = array_merge($v,$store[$k]); |
|
| 105 | + } |
|
| 101 | 106 | |
| 102 | 107 | // vider pour eviter un second appel a verifier_n |
| 103 | 108 | // en cas de double implementation (unipotence) |
@@ -122,15 +127,17 @@ discard block |
||
| 122 | 127 | foreach(array_keys($valeurs) as $champ){ |
| 123 | 128 | if (substr($champ,0,1)!=='_'){ |
| 124 | 129 | if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
| 125 | - if (($v = _request($champ))!==NULL) |
|
| 126 | - $post[$champ] = $v; |
|
| 130 | + if (($v = _request($champ))!==NULL) { |
|
| 131 | + $post[$champ] = $v; |
|
| 132 | + } |
|
| 127 | 133 | } |
| 128 | 134 | } |
| 129 | 135 | } |
| 130 | 136 | include_spip('inc/filtres'); |
| 131 | 137 | $c = encoder_contexte_ajax($post,$form); |
| 132 | - if (!isset($valeurs['_hidden'])) |
|
| 133 | - $valeurs['_hidden'] = ''; |
|
| 138 | + if (!isset($valeurs['_hidden'])) { |
|
| 139 | + $valeurs['_hidden'] = ''; |
|
| 140 | + } |
|
| 134 | 141 | $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
| 135 | 142 | // marquer comme fait, pour eviter double encodage (unipotence) |
| 136 | 143 | $valeurs['_cvtm_prev_post'] = true; |
@@ -188,29 +195,31 @@ discard block |
||
| 188 | 195 | while ($e<$etape AND $e<$etapes){ |
| 189 | 196 | $e++; |
| 190 | 197 | $erreurs[$e] = array(); |
| 191 | - if ($verifier = charger_fonction("verifier_$e","formulaires/$form/",true)) |
|
| 192 | - $erreurs[$e] = call_user_func_array($verifier, $flux['args']['args']); |
|
| 193 | - elseif ($verifier = charger_fonction("verifier_etape","formulaires/$form/",true)){ |
|
| 198 | + if ($verifier = charger_fonction("verifier_$e","formulaires/$form/",true)) { |
|
| 199 | + $erreurs[$e] = call_user_func_array($verifier, $flux['args']['args']); |
|
| 200 | + } elseif ($verifier = charger_fonction("verifier_etape","formulaires/$form/",true)){ |
|
| 194 | 201 | $args = $flux['args']['args']; |
| 195 | 202 | array_unshift($args, $e); |
| 196 | 203 | $erreurs[$e] = call_user_func_array($verifier, $args); |
| 197 | 204 | } |
| 198 | - if ($derniere_etape_ok==$e-1 AND !count($erreurs[$e])) |
|
| 199 | - $derniere_etape_ok = $e; |
|
| 205 | + if ($derniere_etape_ok==$e-1 AND !count($erreurs[$e])) { |
|
| 206 | + $derniere_etape_ok = $e; |
|
| 207 | + } |
|
| 200 | 208 | // possibilite de poster dans _retour_etape_x |
| 201 | - if (!is_null(_request("_retour_etape_$e"))) |
|
| 202 | - $etape_demandee = $e; |
|
| 209 | + if (!is_null(_request("_retour_etape_$e"))) { |
|
| 210 | + $etape_demandee = $e; |
|
| 211 | + } |
|
| 203 | 212 | } |
| 204 | 213 | |
| 205 | 214 | // si la derniere etape OK etait la derniere |
| 206 | 215 | // on renvoie le flux inchange et ca declenche traiter |
| 207 | 216 | if ($derniere_etape_ok==$etapes AND !$etape_demandee){ |
| 208 | 217 | return $flux; |
| 209 | - } |
|
| 210 | - else { |
|
| 218 | + } else { |
|
| 211 | 219 | $etape = $derniere_etape_ok+1; |
| 212 | - if ($etape_demandee>0 AND $etape_demandee<$etape) |
|
| 213 | - $etape = $etape_demandee; |
|
| 220 | + if ($etape_demandee>0 AND $etape_demandee<$etape) { |
|
| 221 | + $etape = $etape_demandee; |
|
| 222 | + } |
|
| 214 | 223 | $etape = min($etape,$etapes); |
| 215 | 224 | #var_dump("prochaine etape $etape"); |
| 216 | 225 | // retourner les erreurs de l'etape ciblee |
@@ -237,8 +246,9 @@ discard block |
||
| 237 | 246 | AND ($e=$flux['args']['contexte']['_etape'])>1 |
| 238 | 247 | AND $ext = $flux['args']['ext'] |
| 239 | 248 | AND $f=$flux['data'] |
| 240 | - AND file_exists($f."_$e.$ext")) |
|
| 241 | - $flux['data'] = $f."_$e"; |
|
| 249 | + AND file_exists($f."_$e.$ext")) { |
|
| 250 | + $flux['data'] = $f."_$e"; |
|
| 251 | + } |
|
| 242 | 252 | return $flux; |
| 243 | 253 | } |
| 244 | 254 | |
@@ -52,21 +52,21 @@ discard block |
||
| 52 | 52 | |
| 53 | 53 | // http://doc.spip.org/@inc_genie_dist |
| 54 | 54 | function inc_genie_dist($taches = array()) { |
| 55 | - include_spip('inc/queue'); |
|
| 55 | + include_spip('inc/queue'); |
|
| 56 | 56 | |
| 57 | - if (_request('exec')=='job_queue') |
|
| 58 | - return false; |
|
| 57 | + if (_request('exec')=='job_queue') |
|
| 58 | + return false; |
|
| 59 | 59 | |
| 60 | - $force_jobs = array(); |
|
| 61 | - // l'ancienne facon de lancer une tache cron immediatement |
|
| 62 | - // etait de la passer en parametre a ing_genie_dist |
|
| 63 | - // on reroute en ajoutant simplement le job a la queue, ASAP |
|
| 64 | - foreach($taches as $function=>$period) |
|
| 65 | - $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time()-abs($period)), "genie/"); |
|
| 60 | + $force_jobs = array(); |
|
| 61 | + // l'ancienne facon de lancer une tache cron immediatement |
|
| 62 | + // etait de la passer en parametre a ing_genie_dist |
|
| 63 | + // on reroute en ajoutant simplement le job a la queue, ASAP |
|
| 64 | + foreach($taches as $function=>$period) |
|
| 65 | + $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time()-abs($period)), "genie/"); |
|
| 66 | 66 | |
| 67 | - // et on passe la main a la gestion de la queue ! |
|
| 68 | - // en forcant eventuellement les jobs ajoute a l'instant |
|
| 69 | - return queue_schedule(count($force_jobs)?$force_jobs:null); |
|
| 67 | + // et on passe la main a la gestion de la queue ! |
|
| 68 | + // en forcant eventuellement les jobs ajoute a l'instant |
|
| 69 | + return queue_schedule(count($force_jobs)?$force_jobs:null); |
|
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | // |
@@ -80,33 +80,33 @@ discard block |
||
| 80 | 80 | // http://doc.spip.org/@taches_generales |
| 81 | 81 | function taches_generales($taches_generales = array()) { |
| 82 | 82 | |
| 83 | - // verifier que toutes les taches cron sont planifiees |
|
| 84 | - // c'est une tache cron ! |
|
| 85 | - $taches_generales['queue_watch'] = 3600*24; |
|
| 83 | + // verifier que toutes les taches cron sont planifiees |
|
| 84 | + // c'est une tache cron ! |
|
| 85 | + $taches_generales['queue_watch'] = 3600*24; |
|
| 86 | 86 | |
| 87 | - // MAJ des rubriques publiques (cas de la publication post-datee) |
|
| 88 | - // est fait au coup par coup a present |
|
| 89 | - // $taches_generales['rubriques'] = 3600; |
|
| 87 | + // MAJ des rubriques publiques (cas de la publication post-datee) |
|
| 88 | + // est fait au coup par coup a present |
|
| 89 | + // $taches_generales['rubriques'] = 3600; |
|
| 90 | 90 | |
| 91 | - // Optimisation de la base |
|
| 92 | - $taches_generales['optimiser'] = 3600*48; |
|
| 91 | + // Optimisation de la base |
|
| 92 | + $taches_generales['optimiser'] = 3600*48; |
|
| 93 | 93 | |
| 94 | - // cache (chaque 10 minutes => 1/16eme du repertoire cache, |
|
| 95 | - // soit toutes les 2h40 sur le meme rep) |
|
| 96 | - $taches_generales['invalideur'] = 600; |
|
| 94 | + // cache (chaque 10 minutes => 1/16eme du repertoire cache, |
|
| 95 | + // soit toutes les 2h40 sur le meme rep) |
|
| 96 | + $taches_generales['invalideur'] = 600; |
|
| 97 | 97 | |
| 98 | - // nouveautes |
|
| 99 | - if ($GLOBALS['meta']['adresse_neuf'] AND $GLOBALS['meta']['jours_neuf'] |
|
| 100 | - AND ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')) |
|
| 101 | - $taches_generales['mail']= 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 98 | + // nouveautes |
|
| 99 | + if ($GLOBALS['meta']['adresse_neuf'] AND $GLOBALS['meta']['jours_neuf'] |
|
| 100 | + AND ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')) |
|
| 101 | + $taches_generales['mail']= 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 102 | 102 | |
| 103 | - // maintenance (ajax, verifications diverses) |
|
| 104 | - $taches_generales['maintenance'] = 3600 * 2; |
|
| 103 | + // maintenance (ajax, verifications diverses) |
|
| 104 | + $taches_generales['maintenance'] = 3600 * 2; |
|
| 105 | 105 | |
| 106 | - // verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement) |
|
| 107 | - $taches_generales['mise_a_jour'] = 3*24*3600; |
|
| 106 | + // verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement) |
|
| 107 | + $taches_generales['mise_a_jour'] = 3*24*3600; |
|
| 108 | 108 | |
| 109 | - return pipeline('taches_generales_cron',$taches_generales); |
|
| 109 | + return pipeline('taches_generales_cron',$taches_generales); |
|
| 110 | 110 | } |
| 111 | 111 | |
| 112 | 112 | // Pas de fichier a part pour une fonction aussi petite: |
@@ -116,13 +116,13 @@ discard block |
||
| 116 | 116 | // http://doc.spip.org/@genie_invalideur_dist |
| 117 | 117 | function genie_invalideur_dist($t) { |
| 118 | 118 | |
| 119 | - include_spip('inc/invalideur'); |
|
| 120 | - $encore = appliquer_quota_cache(); |
|
| 119 | + include_spip('inc/invalideur'); |
|
| 120 | + $encore = appliquer_quota_cache(); |
|
| 121 | 121 | |
| 122 | - // si le cache est trop gonfle, redemander la main pour poursuivre |
|
| 123 | - if ($encore) |
|
| 124 | - return (0 - $t); |
|
| 125 | - return 1; |
|
| 122 | + // si le cache est trop gonfle, redemander la main pour poursuivre |
|
| 123 | + if ($encore) |
|
| 124 | + return (0 - $t); |
|
| 125 | + return 1; |
|
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | /** |
@@ -134,18 +134,18 @@ discard block |
||
| 134 | 134 | * @return int |
| 135 | 135 | */ |
| 136 | 136 | function genie_queue_watch_dist(){ |
| 137 | - static $deja_la = false; |
|
| 138 | - if ($deja_la) return; // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple) |
|
| 139 | - $deja_la = true; |
|
| 140 | - $taches = taches_generales(); |
|
| 141 | - $programmees = sql_allfetsel('fonction','spip_jobs',sql_in('fonction',array_keys($taches))); |
|
| 142 | - $programmees = array_map('reset',$programmees); |
|
| 143 | - foreach($taches as $tache=>$periode){ |
|
| 144 | - if (!in_array($tache,$programmees)) |
|
| 145 | - queue_genie_replan_job($tache,$periode,time()-round(rand(1,$periode)),0); |
|
| 146 | - } |
|
| 147 | - $deja_la = false; |
|
| 148 | - return 1; |
|
| 137 | + static $deja_la = false; |
|
| 138 | + if ($deja_la) return; // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple) |
|
| 139 | + $deja_la = true; |
|
| 140 | + $taches = taches_generales(); |
|
| 141 | + $programmees = sql_allfetsel('fonction','spip_jobs',sql_in('fonction',array_keys($taches))); |
|
| 142 | + $programmees = array_map('reset',$programmees); |
|
| 143 | + foreach($taches as $tache=>$periode){ |
|
| 144 | + if (!in_array($tache,$programmees)) |
|
| 145 | + queue_genie_replan_job($tache,$periode,time()-round(rand(1,$periode)),0); |
|
| 146 | + } |
|
| 147 | + $deja_la = false; |
|
| 148 | + return 1; |
|
| 149 | 149 | } |
| 150 | 150 | |
| 151 | 151 | /** |
@@ -166,22 +166,22 @@ discard block |
||
| 166 | 166 | * @return void |
| 167 | 167 | */ |
| 168 | 168 | function queue_genie_replan_job($function,$period,$last=0,$time=null, $priority=0){ |
| 169 | - static $done = array(); |
|
| 170 | - if (isset($done[$function])) return; |
|
| 171 | - $done[$function] = true; |
|
| 172 | - if (is_null($time)){ |
|
| 173 | - $time=time(); |
|
| 174 | - if ($last) |
|
| 175 | - $time = max($last+$period,$time); |
|
| 176 | - } |
|
| 177 | - if (!$last) |
|
| 178 | - $last = $time-$period; |
|
| 179 | - spip_log("replan_job $function $period $last $time $priority",'queue'); |
|
| 180 | - include_spip('inc/queue'); |
|
| 181 | - // on replanifie un job cron |
|
| 182 | - // uniquement si il n'y en a pas deja un avec le meme nom |
|
| 183 | - // independament de l'argument |
|
| 184 | - queue_add_job($function, _T('tache_cron_secondes', array('function'=>$function, 'nb'=>$period)), array($last), "genie/", 'function_only', $time, $priority); |
|
| 169 | + static $done = array(); |
|
| 170 | + if (isset($done[$function])) return; |
|
| 171 | + $done[$function] = true; |
|
| 172 | + if (is_null($time)){ |
|
| 173 | + $time=time(); |
|
| 174 | + if ($last) |
|
| 175 | + $time = max($last+$period,$time); |
|
| 176 | + } |
|
| 177 | + if (!$last) |
|
| 178 | + $last = $time-$period; |
|
| 179 | + spip_log("replan_job $function $period $last $time $priority",'queue'); |
|
| 180 | + include_spip('inc/queue'); |
|
| 181 | + // on replanifie un job cron |
|
| 182 | + // uniquement si il n'y en a pas deja un avec le meme nom |
|
| 183 | + // independament de l'argument |
|
| 184 | + queue_add_job($function, _T('tache_cron_secondes', array('function'=>$function, 'nb'=>$period)), array($last), "genie/", 'function_only', $time, $priority); |
|
| 185 | 185 | } |
| 186 | 186 | |
| 187 | 187 | |
@@ -54,19 +54,19 @@ discard block |
||
| 54 | 54 | function inc_genie_dist($taches = array()) { |
| 55 | 55 | include_spip('inc/queue'); |
| 56 | 56 | |
| 57 | - if (_request('exec')=='job_queue') |
|
| 57 | + if (_request('exec') == 'job_queue') |
|
| 58 | 58 | return false; |
| 59 | 59 | |
| 60 | 60 | $force_jobs = array(); |
| 61 | 61 | // l'ancienne facon de lancer une tache cron immediatement |
| 62 | 62 | // etait de la passer en parametre a ing_genie_dist |
| 63 | 63 | // on reroute en ajoutant simplement le job a la queue, ASAP |
| 64 | - foreach($taches as $function=>$period) |
|
| 65 | - $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time()-abs($period)), "genie/"); |
|
| 64 | + foreach ($taches as $function=>$period) |
|
| 65 | + $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time() - abs($period)), "genie/"); |
|
| 66 | 66 | |
| 67 | 67 | // et on passe la main a la gestion de la queue ! |
| 68 | 68 | // en forcant eventuellement les jobs ajoute a l'instant |
| 69 | - return queue_schedule(count($force_jobs)?$force_jobs:null); |
|
| 69 | + return queue_schedule(count($force_jobs) ? $force_jobs : null); |
|
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | // |
@@ -82,14 +82,14 @@ discard block |
||
| 82 | 82 | |
| 83 | 83 | // verifier que toutes les taches cron sont planifiees |
| 84 | 84 | // c'est une tache cron ! |
| 85 | - $taches_generales['queue_watch'] = 3600*24; |
|
| 85 | + $taches_generales['queue_watch'] = 3600 * 24; |
|
| 86 | 86 | |
| 87 | 87 | // MAJ des rubriques publiques (cas de la publication post-datee) |
| 88 | 88 | // est fait au coup par coup a present |
| 89 | 89 | // $taches_generales['rubriques'] = 3600; |
| 90 | 90 | |
| 91 | 91 | // Optimisation de la base |
| 92 | - $taches_generales['optimiser'] = 3600*48; |
|
| 92 | + $taches_generales['optimiser'] = 3600 * 48; |
|
| 93 | 93 | |
| 94 | 94 | // cache (chaque 10 minutes => 1/16eme du repertoire cache, |
| 95 | 95 | // soit toutes les 2h40 sur le meme rep) |
@@ -98,15 +98,15 @@ discard block |
||
| 98 | 98 | // nouveautes |
| 99 | 99 | if ($GLOBALS['meta']['adresse_neuf'] AND $GLOBALS['meta']['jours_neuf'] |
| 100 | 100 | AND ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')) |
| 101 | - $taches_generales['mail']= 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 101 | + $taches_generales['mail'] = 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 102 | 102 | |
| 103 | 103 | // maintenance (ajax, verifications diverses) |
| 104 | 104 | $taches_generales['maintenance'] = 3600 * 2; |
| 105 | 105 | |
| 106 | 106 | // verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement) |
| 107 | - $taches_generales['mise_a_jour'] = 3*24*3600; |
|
| 107 | + $taches_generales['mise_a_jour'] = 3 * 24 * 3600; |
|
| 108 | 108 | |
| 109 | - return pipeline('taches_generales_cron',$taches_generales); |
|
| 109 | + return pipeline('taches_generales_cron', $taches_generales); |
|
| 110 | 110 | } |
| 111 | 111 | |
| 112 | 112 | // Pas de fichier a part pour une fonction aussi petite: |
@@ -133,16 +133,16 @@ discard block |
||
| 133 | 133 | * |
| 134 | 134 | * @return int |
| 135 | 135 | */ |
| 136 | -function genie_queue_watch_dist(){ |
|
| 136 | +function genie_queue_watch_dist() { |
|
| 137 | 137 | static $deja_la = false; |
| 138 | 138 | if ($deja_la) return; // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple) |
| 139 | 139 | $deja_la = true; |
| 140 | 140 | $taches = taches_generales(); |
| 141 | - $programmees = sql_allfetsel('fonction','spip_jobs',sql_in('fonction',array_keys($taches))); |
|
| 142 | - $programmees = array_map('reset',$programmees); |
|
| 143 | - foreach($taches as $tache=>$periode){ |
|
| 144 | - if (!in_array($tache,$programmees)) |
|
| 145 | - queue_genie_replan_job($tache,$periode,time()-round(rand(1,$periode)),0); |
|
| 141 | + $programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches))); |
|
| 142 | + $programmees = array_map('reset', $programmees); |
|
| 143 | + foreach ($taches as $tache=>$periode) { |
|
| 144 | + if (!in_array($tache, $programmees)) |
|
| 145 | + queue_genie_replan_job($tache, $periode, time() - round(rand(1, $periode)), 0); |
|
| 146 | 146 | } |
| 147 | 147 | $deja_la = false; |
| 148 | 148 | return 1; |
@@ -165,18 +165,18 @@ discard block |
||
| 165 | 165 | * priorite |
| 166 | 166 | * @return void |
| 167 | 167 | */ |
| 168 | -function queue_genie_replan_job($function,$period,$last=0,$time=null, $priority=0){ |
|
| 168 | +function queue_genie_replan_job($function, $period, $last = 0, $time = null, $priority = 0) { |
|
| 169 | 169 | static $done = array(); |
| 170 | 170 | if (isset($done[$function])) return; |
| 171 | 171 | $done[$function] = true; |
| 172 | - if (is_null($time)){ |
|
| 173 | - $time=time(); |
|
| 172 | + if (is_null($time)) { |
|
| 173 | + $time = time(); |
|
| 174 | 174 | if ($last) |
| 175 | - $time = max($last+$period,$time); |
|
| 175 | + $time = max($last + $period, $time); |
|
| 176 | 176 | } |
| 177 | 177 | if (!$last) |
| 178 | - $last = $time-$period; |
|
| 179 | - spip_log("replan_job $function $period $last $time $priority",'queue'); |
|
| 178 | + $last = $time - $period; |
|
| 179 | + spip_log("replan_job $function $period $last $time $priority", 'queue'); |
|
| 180 | 180 | include_spip('inc/queue'); |
| 181 | 181 | // on replanifie un job cron |
| 182 | 182 | // uniquement si il n'y en a pas deja un avec le meme nom |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | // -------------------------- |
| 16 | 18 | // Gestion des taches de fond |
@@ -54,15 +56,17 @@ discard block |
||
| 54 | 56 | function inc_genie_dist($taches = array()) { |
| 55 | 57 | include_spip('inc/queue'); |
| 56 | 58 | |
| 57 | - if (_request('exec')=='job_queue') |
|
| 58 | - return false; |
|
| 59 | + if (_request('exec')=='job_queue') { |
|
| 60 | + return false; |
|
| 61 | + } |
|
| 59 | 62 | |
| 60 | 63 | $force_jobs = array(); |
| 61 | 64 | // l'ancienne facon de lancer une tache cron immediatement |
| 62 | 65 | // etait de la passer en parametre a ing_genie_dist |
| 63 | 66 | // on reroute en ajoutant simplement le job a la queue, ASAP |
| 64 | - foreach($taches as $function=>$period) |
|
| 65 | - $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time()-abs($period)), "genie/"); |
|
| 67 | + foreach($taches as $function=>$period) { |
|
| 68 | + $force_jobs[] = queue_add_job($function, _T('tache_cron_asap', array('function'=>$function)), array(time()-abs($period)), "genie/"); |
|
| 69 | + } |
|
| 66 | 70 | |
| 67 | 71 | // et on passe la main a la gestion de la queue ! |
| 68 | 72 | // en forcant eventuellement les jobs ajoute a l'instant |
@@ -97,8 +101,9 @@ discard block |
||
| 97 | 101 | |
| 98 | 102 | // nouveautes |
| 99 | 103 | if ($GLOBALS['meta']['adresse_neuf'] AND $GLOBALS['meta']['jours_neuf'] |
| 100 | - AND ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')) |
|
| 101 | - $taches_generales['mail']= 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 104 | + AND ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')) { |
|
| 105 | + $taches_generales['mail']= 3600 * 24 * $GLOBALS['meta']['jours_neuf']; |
|
| 106 | + } |
|
| 102 | 107 | |
| 103 | 108 | // maintenance (ajax, verifications diverses) |
| 104 | 109 | $taches_generales['maintenance'] = 3600 * 2; |
@@ -120,8 +125,9 @@ discard block |
||
| 120 | 125 | $encore = appliquer_quota_cache(); |
| 121 | 126 | |
| 122 | 127 | // si le cache est trop gonfle, redemander la main pour poursuivre |
| 123 | - if ($encore) |
|
| 124 | - return (0 - $t); |
|
| 128 | + if ($encore) { |
|
| 129 | + return (0 - $t); |
|
| 130 | + } |
|
| 125 | 131 | return 1; |
| 126 | 132 | } |
| 127 | 133 | |
@@ -135,14 +141,18 @@ discard block |
||
| 135 | 141 | */ |
| 136 | 142 | function genie_queue_watch_dist(){ |
| 137 | 143 | static $deja_la = false; |
| 138 | - if ($deja_la) return; // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple) |
|
| 144 | + if ($deja_la) { |
|
| 145 | + return; |
|
| 146 | + } |
|
| 147 | + // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple) |
|
| 139 | 148 | $deja_la = true; |
| 140 | 149 | $taches = taches_generales(); |
| 141 | 150 | $programmees = sql_allfetsel('fonction','spip_jobs',sql_in('fonction',array_keys($taches))); |
| 142 | 151 | $programmees = array_map('reset',$programmees); |
| 143 | 152 | foreach($taches as $tache=>$periode){ |
| 144 | - if (!in_array($tache,$programmees)) |
|
| 145 | - queue_genie_replan_job($tache,$periode,time()-round(rand(1,$periode)),0); |
|
| 153 | + if (!in_array($tache,$programmees)) { |
|
| 154 | + queue_genie_replan_job($tache,$periode,time()-round(rand(1,$periode)),0); |
|
| 155 | + } |
|
| 146 | 156 | } |
| 147 | 157 | $deja_la = false; |
| 148 | 158 | return 1; |
@@ -167,15 +177,19 @@ discard block |
||
| 167 | 177 | */ |
| 168 | 178 | function queue_genie_replan_job($function,$period,$last=0,$time=null, $priority=0){ |
| 169 | 179 | static $done = array(); |
| 170 | - if (isset($done[$function])) return; |
|
| 180 | + if (isset($done[$function])) { |
|
| 181 | + return; |
|
| 182 | + } |
|
| 171 | 183 | $done[$function] = true; |
| 172 | 184 | if (is_null($time)){ |
| 173 | 185 | $time=time(); |
| 174 | - if ($last) |
|
| 175 | - $time = max($last+$period,$time); |
|
| 186 | + if ($last) { |
|
| 187 | + $time = max($last+$period,$time); |
|
| 188 | + } |
|
| 189 | + } |
|
| 190 | + if (!$last) { |
|
| 191 | + $last = $time-$period; |
|
| 176 | 192 | } |
| 177 | - if (!$last) |
|
| 178 | - $last = $time-$period; |
|
| 179 | 193 | spip_log("replan_job $function $period $last $time $priority",'queue'); |
| 180 | 194 | include_spip('inc/queue'); |
| 181 | 195 | // on replanifie un job cron |
@@ -16,69 +16,69 @@ |
||
| 16 | 16 | include_spip('base/objets'); |
| 17 | 17 | |
| 18 | 18 | function inc_icone_renommer_dist($fond,$fonction){ |
| 19 | - $size = 24; |
|
| 20 | - if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png))?$/i",$fond,$match) |
|
| 21 | - AND ((isset($match[0]) AND $match[0]) OR (isset($match[1]) AND $match[1]))) { |
|
| 22 | - if (isset($match[1]) AND $match[1]) { |
|
| 23 | - $size = $match[1]; |
|
| 24 | - } |
|
| 25 | - $type = substr($fond,0,-strlen($match[0])); |
|
| 26 | - if (!isset($match[2]) OR !$match[2]) { |
|
| 27 | - $fond .= ".png"; |
|
| 28 | - } |
|
| 29 | - } |
|
| 30 | - else { |
|
| 31 | - $type = $fond; |
|
| 32 | - $fond .= ".png"; |
|
| 33 | - } |
|
| 19 | + $size = 24; |
|
| 20 | + if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png))?$/i",$fond,$match) |
|
| 21 | + AND ((isset($match[0]) AND $match[0]) OR (isset($match[1]) AND $match[1]))) { |
|
| 22 | + if (isset($match[1]) AND $match[1]) { |
|
| 23 | + $size = $match[1]; |
|
| 24 | + } |
|
| 25 | + $type = substr($fond,0,-strlen($match[0])); |
|
| 26 | + if (!isset($match[2]) OR !$match[2]) { |
|
| 27 | + $fond .= ".png"; |
|
| 28 | + } |
|
| 29 | + } |
|
| 30 | + else { |
|
| 31 | + $type = $fond; |
|
| 32 | + $fond .= ".png"; |
|
| 33 | + } |
|
| 34 | 34 | |
| 35 | - $rtl = false; |
|
| 36 | - if (preg_match(',[-_]rtl$,i',$type,$match)){ |
|
| 37 | - $rtl = true; |
|
| 38 | - $type = substr($type,0,-strlen($match[0])); |
|
| 39 | - } |
|
| 35 | + $rtl = false; |
|
| 36 | + if (preg_match(',[-_]rtl$,i',$type,$match)){ |
|
| 37 | + $rtl = true; |
|
| 38 | + $type = substr($type,0,-strlen($match[0])); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - // objet_type garde invariant tout ce qui ne commence par par id_, spip_ |
|
| 42 | - // et ne finit pas par un s, sauf si c'est une exception declaree |
|
| 43 | - $type = objet_type($type, false); |
|
| 41 | + // objet_type garde invariant tout ce qui ne commence par par id_, spip_ |
|
| 42 | + // et ne finit pas par un s, sauf si c'est une exception declaree |
|
| 43 | + $type = objet_type($type, false); |
|
| 44 | 44 | |
| 45 | - $dir = "images/"; |
|
| 46 | - $f = "$type-$size.png"; |
|
| 47 | - if ($icone = find_in_theme($dir.$f)){ |
|
| 48 | - $dir = dirname($icone); |
|
| 49 | - $fond = $icone; |
|
| 45 | + $dir = "images/"; |
|
| 46 | + $f = "$type-$size.png"; |
|
| 47 | + if ($icone = find_in_theme($dir.$f)){ |
|
| 48 | + $dir = dirname($icone); |
|
| 49 | + $fond = $icone; |
|
| 50 | 50 | |
| 51 | - if ($rtl |
|
| 52 | - AND $fr = "$type-rtl-$size.png" |
|
| 53 | - AND file_exists($dir.'/'.$fr)) |
|
| 54 | - $type = "$type-rtl"; |
|
| 51 | + if ($rtl |
|
| 52 | + AND $fr = "$type-rtl-$size.png" |
|
| 53 | + AND file_exists($dir.'/'.$fr)) |
|
| 54 | + $type = "$type-rtl"; |
|
| 55 | 55 | |
| 56 | - $action = $fonction; |
|
| 57 | - if ($action=="supprimer.gif"){ |
|
| 58 | - $action = "del"; |
|
| 59 | - } |
|
| 60 | - elseif ($action=="creer.gif"){ |
|
| 61 | - $action = "new"; |
|
| 62 | - } |
|
| 63 | - elseif ($action=="edit.gif"){ |
|
| 64 | - $action = "edit"; |
|
| 65 | - } |
|
| 66 | - if (!in_array($action,array('del','new','edit'))) |
|
| 67 | - $action = ""; |
|
| 68 | - if ($action){ |
|
| 69 | - if ($fa = "$type-$action-$size.png" |
|
| 70 | - AND file_exists($dir.'/'.$fa)){ |
|
| 71 | - $fond = $dir .'/'. $fa; |
|
| 72 | - $fonction = ""; |
|
| 73 | - } |
|
| 74 | - else { |
|
| 75 | - $fonction = "$action-$size.png"; |
|
| 76 | - } |
|
| 77 | - } |
|
| 78 | - // c'est bon ! |
|
| 79 | - return array($fond,$fonction); |
|
| 80 | - } |
|
| 56 | + $action = $fonction; |
|
| 57 | + if ($action=="supprimer.gif"){ |
|
| 58 | + $action = "del"; |
|
| 59 | + } |
|
| 60 | + elseif ($action=="creer.gif"){ |
|
| 61 | + $action = "new"; |
|
| 62 | + } |
|
| 63 | + elseif ($action=="edit.gif"){ |
|
| 64 | + $action = "edit"; |
|
| 65 | + } |
|
| 66 | + if (!in_array($action,array('del','new','edit'))) |
|
| 67 | + $action = ""; |
|
| 68 | + if ($action){ |
|
| 69 | + if ($fa = "$type-$action-$size.png" |
|
| 70 | + AND file_exists($dir.'/'.$fa)){ |
|
| 71 | + $fond = $dir .'/'. $fa; |
|
| 72 | + $fonction = ""; |
|
| 73 | + } |
|
| 74 | + else { |
|
| 75 | + $fonction = "$action-$size.png"; |
|
| 76 | + } |
|
| 77 | + } |
|
| 78 | + // c'est bon ! |
|
| 79 | + return array($fond,$fonction); |
|
| 80 | + } |
|
| 81 | 81 | |
| 82 | - return array($fond,$fonction); |
|
| 82 | + return array($fond,$fonction); |
|
| 83 | 83 | } |
| 84 | 84 | ?> |
@@ -15,14 +15,14 @@ discard block |
||
| 15 | 15 | include_spip('inc/boutons'); |
| 16 | 16 | include_spip('base/objets'); |
| 17 | 17 | |
| 18 | -function inc_icone_renommer_dist($fond,$fonction){ |
|
| 18 | +function inc_icone_renommer_dist($fond, $fonction) { |
|
| 19 | 19 | $size = 24; |
| 20 | - if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png))?$/i",$fond,$match) |
|
| 20 | + if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png))?$/i", $fond, $match) |
|
| 21 | 21 | AND ((isset($match[0]) AND $match[0]) OR (isset($match[1]) AND $match[1]))) { |
| 22 | 22 | if (isset($match[1]) AND $match[1]) { |
| 23 | 23 | $size = $match[1]; |
| 24 | 24 | } |
| 25 | - $type = substr($fond,0,-strlen($match[0])); |
|
| 25 | + $type = substr($fond, 0, -strlen($match[0])); |
|
| 26 | 26 | if (!isset($match[2]) OR !$match[2]) { |
| 27 | 27 | $fond .= ".png"; |
| 28 | 28 | } |
@@ -33,9 +33,9 @@ discard block |
||
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | $rtl = false; |
| 36 | - if (preg_match(',[-_]rtl$,i',$type,$match)){ |
|
| 36 | + if (preg_match(',[-_]rtl$,i', $type, $match)) { |
|
| 37 | 37 | $rtl = true; |
| 38 | - $type = substr($type,0,-strlen($match[0])); |
|
| 38 | + $type = substr($type, 0, -strlen($match[0])); |
|
| 39 | 39 | } |
| 40 | 40 | |
| 41 | 41 | // objet_type garde invariant tout ce qui ne commence par par id_, spip_ |
@@ -44,7 +44,7 @@ discard block |
||
| 44 | 44 | |
| 45 | 45 | $dir = "images/"; |
| 46 | 46 | $f = "$type-$size.png"; |
| 47 | - if ($icone = find_in_theme($dir.$f)){ |
|
| 47 | + if ($icone = find_in_theme($dir.$f)) { |
|
| 48 | 48 | $dir = dirname($icone); |
| 49 | 49 | $fond = $icone; |
| 50 | 50 | |
@@ -54,21 +54,21 @@ discard block |
||
| 54 | 54 | $type = "$type-rtl"; |
| 55 | 55 | |
| 56 | 56 | $action = $fonction; |
| 57 | - if ($action=="supprimer.gif"){ |
|
| 57 | + if ($action == "supprimer.gif") { |
|
| 58 | 58 | $action = "del"; |
| 59 | 59 | } |
| 60 | - elseif ($action=="creer.gif"){ |
|
| 60 | + elseif ($action == "creer.gif") { |
|
| 61 | 61 | $action = "new"; |
| 62 | 62 | } |
| 63 | - elseif ($action=="edit.gif"){ |
|
| 63 | + elseif ($action == "edit.gif") { |
|
| 64 | 64 | $action = "edit"; |
| 65 | 65 | } |
| 66 | - if (!in_array($action,array('del','new','edit'))) |
|
| 66 | + if (!in_array($action, array('del', 'new', 'edit'))) |
|
| 67 | 67 | $action = ""; |
| 68 | - if ($action){ |
|
| 68 | + if ($action) { |
|
| 69 | 69 | if ($fa = "$type-$action-$size.png" |
| 70 | - AND file_exists($dir.'/'.$fa)){ |
|
| 71 | - $fond = $dir .'/'. $fa; |
|
| 70 | + AND file_exists($dir.'/'.$fa)) { |
|
| 71 | + $fond = $dir.'/'.$fa; |
|
| 72 | 72 | $fonction = ""; |
| 73 | 73 | } |
| 74 | 74 | else { |
@@ -76,9 +76,9 @@ discard block |
||
| 76 | 76 | } |
| 77 | 77 | } |
| 78 | 78 | // c'est bon ! |
| 79 | - return array($fond,$fonction); |
|
| 79 | + return array($fond, $fonction); |
|
| 80 | 80 | } |
| 81 | 81 | |
| 82 | - return array($fond,$fonction); |
|
| 82 | + return array($fond, $fonction); |
|
| 83 | 83 | } |
| 84 | 84 | ?> |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | include_spip('inc/boutons'); |
| 16 | 18 | include_spip('base/objets'); |
@@ -26,8 +28,7 @@ discard block |
||
| 26 | 28 | if (!isset($match[2]) OR !$match[2]) { |
| 27 | 29 | $fond .= ".png"; |
| 28 | 30 | } |
| 29 | - } |
|
| 30 | - else { |
|
| 31 | + } else { |
|
| 31 | 32 | $type = $fond; |
| 32 | 33 | $fond .= ".png"; |
| 33 | 34 | } |
@@ -50,28 +51,27 @@ discard block |
||
| 50 | 51 | |
| 51 | 52 | if ($rtl |
| 52 | 53 | AND $fr = "$type-rtl-$size.png" |
| 53 | - AND file_exists($dir.'/'.$fr)) |
|
| 54 | - $type = "$type-rtl"; |
|
| 54 | + AND file_exists($dir.'/'.$fr)) { |
|
| 55 | + $type = "$type-rtl"; |
|
| 56 | + } |
|
| 55 | 57 | |
| 56 | 58 | $action = $fonction; |
| 57 | 59 | if ($action=="supprimer.gif"){ |
| 58 | 60 | $action = "del"; |
| 59 | - } |
|
| 60 | - elseif ($action=="creer.gif"){ |
|
| 61 | + } elseif ($action=="creer.gif"){ |
|
| 61 | 62 | $action = "new"; |
| 62 | - } |
|
| 63 | - elseif ($action=="edit.gif"){ |
|
| 63 | + } elseif ($action=="edit.gif"){ |
|
| 64 | 64 | $action = "edit"; |
| 65 | 65 | } |
| 66 | - if (!in_array($action,array('del','new','edit'))) |
|
| 67 | - $action = ""; |
|
| 66 | + if (!in_array($action,array('del','new','edit'))) { |
|
| 67 | + $action = ""; |
|
| 68 | + } |
|
| 68 | 69 | if ($action){ |
| 69 | 70 | if ($fa = "$type-$action-$size.png" |
| 70 | 71 | AND file_exists($dir.'/'.$fa)){ |
| 71 | 72 | $fond = $dir .'/'. $fa; |
| 72 | 73 | $fonction = ""; |
| 73 | - } |
|
| 74 | - else { |
|
| 74 | + } else { |
|
| 75 | 75 | $fonction = "$action-$size.png"; |
| 76 | 76 | } |
| 77 | 77 | } |
@@ -13,84 +13,84 @@ |
||
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) return; |
| 14 | 14 | |
| 15 | 15 | function inc_log_dist($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { |
| 16 | - static $test_repertoire = array(); |
|
| 17 | - static $compteur = array(); |
|
| 18 | - static $debugverb = ""; // pour ne pas le recalculer au reappel |
|
| 19 | - global $nombre_de_logs, $taille_des_logs; |
|
| 20 | - |
|
| 21 | - if (is_null($logname) OR !is_string($logname)) |
|
| 22 | - $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip'; |
|
| 23 | - if (!isset($compteur[$logname])) $compteur[$logname] = 0; |
|
| 24 | - if ($logname != 'maj' |
|
| 25 | - AND defined('_MAX_LOG') |
|
| 26 | - AND ( |
|
| 27 | - $compteur[$logname]++ > _MAX_LOG |
|
| 28 | - OR !$nombre_de_logs |
|
| 29 | - OR !$taille_des_logs |
|
| 30 | - )) |
|
| 31 | - return; |
|
| 32 | - |
|
| 33 | - $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) |
|
| 34 | - . ($logname) |
|
| 35 | - . ($logsuf===NULL ? _FILE_LOG_SUFFIX : $logsuf); |
|
| 36 | - |
|
| 37 | - if (!isset($test_repertoire[$d = dirname($logfile)])) { |
|
| 38 | - $test_repertoire[$d] = false; // eviter une recursivite en cas d'erreur de sous_repertoire |
|
| 39 | - $test_repertoire[$d] = (@is_dir($d)?true:(function_exists('sous_repertoire')?sous_repertoire($d, '', false, true):false)); |
|
| 40 | - } |
|
| 41 | - |
|
| 42 | - // si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/ |
|
| 43 | - if (!defined('_DIR_LOG') OR !$test_repertoire[$d]) |
|
| 44 | - $logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log'; |
|
| 45 | - |
|
| 46 | - $rotate = 0; |
|
| 47 | - $pid = '(pid '.@getmypid().')'; |
|
| 48 | - |
|
| 49 | - // accepter spip_log( Array ) |
|
| 50 | - if (!is_string($message)) $message = var_export($message, true); |
|
| 51 | - |
|
| 52 | - if (!$debugverb AND defined('_LOG_FILELINE') AND _LOG_FILELINE){ |
|
| 53 | - $debug = debug_backtrace(); |
|
| 54 | - $l = $debug[1]['line']; |
|
| 55 | - $fi = $debug[1]['file']; |
|
| 56 | - if (strncmp($fi,_ROOT_RACINE,strlen(_ROOT_RACINE))==0) |
|
| 57 | - $fi = substr($fi,strlen(_ROOT_RACINE)); |
|
| 58 | - $fu = isset($debug[2]['function']) ? $debug[2]['function'] : ''; |
|
| 59 | - $debugverb = "$fi:L$l:$fu"."():"; |
|
| 60 | - } |
|
| 61 | - |
|
| 62 | - $m = date("Y-m-d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' ' |
|
| 63 | - //distinguer les logs prives et publics dans les grep |
|
| 64 | - . $debugverb |
|
| 65 | - . (test_espace_prive()?':Pri:':':Pub:') |
|
| 66 | - .preg_replace("/\n*$/", "\n", $message); |
|
| 67 | - |
|
| 68 | - |
|
| 69 | - if (@is_readable($logfile) |
|
| 70 | - AND (!$s = @filesize($logfile) OR $s > $taille_des_logs * 1024)) { |
|
| 71 | - $rotate = $nombre_de_logs; |
|
| 72 | - $m .= "[-- rotate --]\n"; |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - $f = @fopen($logfile, "ab"); |
|
| 76 | - if ($f) { |
|
| 77 | - fputs($f, (defined('_LOG_BRUT') AND _LOG_BRUT) ? $m : str_replace('<','<',$m)); |
|
| 78 | - fclose($f); |
|
| 79 | - } |
|
| 80 | - |
|
| 81 | - if ($rotate-- > 0 |
|
| 82 | - AND function_exists('spip_unlink')) { |
|
| 83 | - spip_unlink($logfile . '.' . $rotate); |
|
| 84 | - while ($rotate--) { |
|
| 85 | - @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1)); |
|
| 86 | - } |
|
| 87 | - } |
|
| 88 | - |
|
| 89 | - // Dupliquer les erreurs specifiques dans le log general |
|
| 90 | - if ($logname !== _FILE_LOG |
|
| 91 | - AND defined('_FILE_LOG')) |
|
| 92 | - inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); |
|
| 93 | - $debugverb = ""; |
|
| 16 | + static $test_repertoire = array(); |
|
| 17 | + static $compteur = array(); |
|
| 18 | + static $debugverb = ""; // pour ne pas le recalculer au reappel |
|
| 19 | + global $nombre_de_logs, $taille_des_logs; |
|
| 20 | + |
|
| 21 | + if (is_null($logname) OR !is_string($logname)) |
|
| 22 | + $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip'; |
|
| 23 | + if (!isset($compteur[$logname])) $compteur[$logname] = 0; |
|
| 24 | + if ($logname != 'maj' |
|
| 25 | + AND defined('_MAX_LOG') |
|
| 26 | + AND ( |
|
| 27 | + $compteur[$logname]++ > _MAX_LOG |
|
| 28 | + OR !$nombre_de_logs |
|
| 29 | + OR !$taille_des_logs |
|
| 30 | + )) |
|
| 31 | + return; |
|
| 32 | + |
|
| 33 | + $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) |
|
| 34 | + . ($logname) |
|
| 35 | + . ($logsuf===NULL ? _FILE_LOG_SUFFIX : $logsuf); |
|
| 36 | + |
|
| 37 | + if (!isset($test_repertoire[$d = dirname($logfile)])) { |
|
| 38 | + $test_repertoire[$d] = false; // eviter une recursivite en cas d'erreur de sous_repertoire |
|
| 39 | + $test_repertoire[$d] = (@is_dir($d)?true:(function_exists('sous_repertoire')?sous_repertoire($d, '', false, true):false)); |
|
| 40 | + } |
|
| 41 | + |
|
| 42 | + // si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/ |
|
| 43 | + if (!defined('_DIR_LOG') OR !$test_repertoire[$d]) |
|
| 44 | + $logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log'; |
|
| 45 | + |
|
| 46 | + $rotate = 0; |
|
| 47 | + $pid = '(pid '.@getmypid().')'; |
|
| 48 | + |
|
| 49 | + // accepter spip_log( Array ) |
|
| 50 | + if (!is_string($message)) $message = var_export($message, true); |
|
| 51 | + |
|
| 52 | + if (!$debugverb AND defined('_LOG_FILELINE') AND _LOG_FILELINE){ |
|
| 53 | + $debug = debug_backtrace(); |
|
| 54 | + $l = $debug[1]['line']; |
|
| 55 | + $fi = $debug[1]['file']; |
|
| 56 | + if (strncmp($fi,_ROOT_RACINE,strlen(_ROOT_RACINE))==0) |
|
| 57 | + $fi = substr($fi,strlen(_ROOT_RACINE)); |
|
| 58 | + $fu = isset($debug[2]['function']) ? $debug[2]['function'] : ''; |
|
| 59 | + $debugverb = "$fi:L$l:$fu"."():"; |
|
| 60 | + } |
|
| 61 | + |
|
| 62 | + $m = date("Y-m-d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' ' |
|
| 63 | + //distinguer les logs prives et publics dans les grep |
|
| 64 | + . $debugverb |
|
| 65 | + . (test_espace_prive()?':Pri:':':Pub:') |
|
| 66 | + .preg_replace("/\n*$/", "\n", $message); |
|
| 67 | + |
|
| 68 | + |
|
| 69 | + if (@is_readable($logfile) |
|
| 70 | + AND (!$s = @filesize($logfile) OR $s > $taille_des_logs * 1024)) { |
|
| 71 | + $rotate = $nombre_de_logs; |
|
| 72 | + $m .= "[-- rotate --]\n"; |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + $f = @fopen($logfile, "ab"); |
|
| 76 | + if ($f) { |
|
| 77 | + fputs($f, (defined('_LOG_BRUT') AND _LOG_BRUT) ? $m : str_replace('<','<',$m)); |
|
| 78 | + fclose($f); |
|
| 79 | + } |
|
| 80 | + |
|
| 81 | + if ($rotate-- > 0 |
|
| 82 | + AND function_exists('spip_unlink')) { |
|
| 83 | + spip_unlink($logfile . '.' . $rotate); |
|
| 84 | + while ($rotate--) { |
|
| 85 | + @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1)); |
|
| 86 | + } |
|
| 87 | + } |
|
| 88 | + |
|
| 89 | + // Dupliquer les erreurs specifiques dans le log general |
|
| 90 | + if ($logname !== _FILE_LOG |
|
| 91 | + AND defined('_FILE_LOG')) |
|
| 92 | + inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); |
|
| 93 | + $debugverb = ""; |
|
| 94 | 94 | } |
| 95 | 95 | |
| 96 | 96 | ?> |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | function inc_log_dist($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { |
| 16 | 18 | static $test_repertoire = array(); |
@@ -18,17 +20,21 @@ discard block |
||
| 18 | 20 | static $debugverb = ""; // pour ne pas le recalculer au reappel |
| 19 | 21 | global $nombre_de_logs, $taille_des_logs; |
| 20 | 22 | |
| 21 | - if (is_null($logname) OR !is_string($logname)) |
|
| 22 | - $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip'; |
|
| 23 | - if (!isset($compteur[$logname])) $compteur[$logname] = 0; |
|
| 23 | + if (is_null($logname) OR !is_string($logname)) { |
|
| 24 | + $logname = defined('_FILE_LOG') ? _FILE_LOG : 'spip'; |
|
| 25 | + } |
|
| 26 | + if (!isset($compteur[$logname])) { |
|
| 27 | + $compteur[$logname] = 0; |
|
| 28 | + } |
|
| 24 | 29 | if ($logname != 'maj' |
| 25 | 30 | AND defined('_MAX_LOG') |
| 26 | 31 | AND ( |
| 27 | 32 | $compteur[$logname]++ > _MAX_LOG |
| 28 | 33 | OR !$nombre_de_logs |
| 29 | 34 | OR !$taille_des_logs |
| 30 | - )) |
|
| 31 | - return; |
|
| 35 | + )) { |
|
| 36 | + return; |
|
| 37 | + } |
|
| 32 | 38 | |
| 33 | 39 | $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) |
| 34 | 40 | . ($logname) |
@@ -40,21 +46,25 @@ discard block |
||
| 40 | 46 | } |
| 41 | 47 | |
| 42 | 48 | // si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/ |
| 43 | - if (!defined('_DIR_LOG') OR !$test_repertoire[$d]) |
|
| 44 | - $logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log'; |
|
| 49 | + if (!defined('_DIR_LOG') OR !$test_repertoire[$d]) { |
|
| 50 | + $logfile = _DIR_RACINE._NOM_TEMPORAIRES_INACCESSIBLES.$logname.'.log'; |
|
| 51 | + } |
|
| 45 | 52 | |
| 46 | 53 | $rotate = 0; |
| 47 | 54 | $pid = '(pid '.@getmypid().')'; |
| 48 | 55 | |
| 49 | 56 | // accepter spip_log( Array ) |
| 50 | - if (!is_string($message)) $message = var_export($message, true); |
|
| 57 | + if (!is_string($message)) { |
|
| 58 | + $message = var_export($message, true); |
|
| 59 | + } |
|
| 51 | 60 | |
| 52 | 61 | if (!$debugverb AND defined('_LOG_FILELINE') AND _LOG_FILELINE){ |
| 53 | 62 | $debug = debug_backtrace(); |
| 54 | 63 | $l = $debug[1]['line']; |
| 55 | 64 | $fi = $debug[1]['file']; |
| 56 | - if (strncmp($fi,_ROOT_RACINE,strlen(_ROOT_RACINE))==0) |
|
| 57 | - $fi = substr($fi,strlen(_ROOT_RACINE)); |
|
| 65 | + if (strncmp($fi,_ROOT_RACINE,strlen(_ROOT_RACINE))==0) { |
|
| 66 | + $fi = substr($fi,strlen(_ROOT_RACINE)); |
|
| 67 | + } |
|
| 58 | 68 | $fu = isset($debug[2]['function']) ? $debug[2]['function'] : ''; |
| 59 | 69 | $debugverb = "$fi:L$l:$fu"."():"; |
| 60 | 70 | } |
@@ -88,8 +98,9 @@ discard block |
||
| 88 | 98 | |
| 89 | 99 | // Dupliquer les erreurs specifiques dans le log general |
| 90 | 100 | if ($logname !== _FILE_LOG |
| 91 | - AND defined('_FILE_LOG')) |
|
| 92 | - inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); |
|
| 101 | + AND defined('_FILE_LOG')) { |
|
| 102 | + inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); |
|
| 103 | + } |
|
| 93 | 104 | $debugverb = ""; |
| 94 | 105 | } |
| 95 | 106 | |
@@ -12,7 +12,7 @@ discard block |
||
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) return; |
| 14 | 14 | |
| 15 | -function inc_log_dist($message, $logname=NULL, $logdir=NULL, $logsuf=NULL) { |
|
| 15 | +function inc_log_dist($message, $logname = NULL, $logdir = NULL, $logsuf = NULL) { |
|
| 16 | 16 | static $test_repertoire = array(); |
| 17 | 17 | static $compteur = array(); |
| 18 | 18 | static $debugverb = ""; // pour ne pas le recalculer au reappel |
@@ -30,13 +30,13 @@ discard block |
||
| 30 | 30 | )) |
| 31 | 31 | return; |
| 32 | 32 | |
| 33 | - $logfile = ($logdir===NULL ? _DIR_LOG : $logdir) |
|
| 33 | + $logfile = ($logdir === NULL ? _DIR_LOG : $logdir) |
|
| 34 | 34 | . ($logname) |
| 35 | - . ($logsuf===NULL ? _FILE_LOG_SUFFIX : $logsuf); |
|
| 35 | + . ($logsuf === NULL ? _FILE_LOG_SUFFIX : $logsuf); |
|
| 36 | 36 | |
| 37 | 37 | if (!isset($test_repertoire[$d = dirname($logfile)])) { |
| 38 | 38 | $test_repertoire[$d] = false; // eviter une recursivite en cas d'erreur de sous_repertoire |
| 39 | - $test_repertoire[$d] = (@is_dir($d)?true:(function_exists('sous_repertoire')?sous_repertoire($d, '', false, true):false)); |
|
| 39 | + $test_repertoire[$d] = (@is_dir($d) ?true:(function_exists('sous_repertoire') ?sous_repertoire($d, '', false, true) : false)); |
|
| 40 | 40 | } |
| 41 | 41 | |
| 42 | 42 | // si spip_log() dans mes_options, ou repertoire log/ non present, poser dans tmp/ |
@@ -49,12 +49,12 @@ discard block |
||
| 49 | 49 | // accepter spip_log( Array ) |
| 50 | 50 | if (!is_string($message)) $message = var_export($message, true); |
| 51 | 51 | |
| 52 | - if (!$debugverb AND defined('_LOG_FILELINE') AND _LOG_FILELINE){ |
|
| 52 | + if (!$debugverb AND defined('_LOG_FILELINE') AND _LOG_FILELINE) { |
|
| 53 | 53 | $debug = debug_backtrace(); |
| 54 | 54 | $l = $debug[1]['line']; |
| 55 | 55 | $fi = $debug[1]['file']; |
| 56 | - if (strncmp($fi,_ROOT_RACINE,strlen(_ROOT_RACINE))==0) |
|
| 57 | - $fi = substr($fi,strlen(_ROOT_RACINE)); |
|
| 56 | + if (strncmp($fi, _ROOT_RACINE, strlen(_ROOT_RACINE)) == 0) |
|
| 57 | + $fi = substr($fi, strlen(_ROOT_RACINE)); |
|
| 58 | 58 | $fu = isset($debug[2]['function']) ? $debug[2]['function'] : ''; |
| 59 | 59 | $debugverb = "$fi:L$l:$fu"."():"; |
| 60 | 60 | } |
@@ -62,7 +62,7 @@ discard block |
||
| 62 | 62 | $m = date("Y-m-d H:i:s").' '.$GLOBALS['ip'].' '.$pid.' ' |
| 63 | 63 | //distinguer les logs prives et publics dans les grep |
| 64 | 64 | . $debugverb |
| 65 | - . (test_espace_prive()?':Pri:':':Pub:') |
|
| 65 | + . (test_espace_prive() ? ':Pri:' : ':Pub:') |
|
| 66 | 66 | .preg_replace("/\n*$/", "\n", $message); |
| 67 | 67 | |
| 68 | 68 | |
@@ -74,22 +74,22 @@ discard block |
||
| 74 | 74 | |
| 75 | 75 | $f = @fopen($logfile, "ab"); |
| 76 | 76 | if ($f) { |
| 77 | - fputs($f, (defined('_LOG_BRUT') AND _LOG_BRUT) ? $m : str_replace('<','<',$m)); |
|
| 77 | + fputs($f, (defined('_LOG_BRUT') AND _LOG_BRUT) ? $m : str_replace('<', '<', $m)); |
|
| 78 | 78 | fclose($f); |
| 79 | 79 | } |
| 80 | 80 | |
| 81 | 81 | if ($rotate-- > 0 |
| 82 | 82 | AND function_exists('spip_unlink')) { |
| 83 | - spip_unlink($logfile . '.' . $rotate); |
|
| 83 | + spip_unlink($logfile.'.'.$rotate); |
|
| 84 | 84 | while ($rotate--) { |
| 85 | - @rename($logfile . ($rotate ? '.' . $rotate : ''), $logfile . '.' . ($rotate + 1)); |
|
| 85 | + @rename($logfile.($rotate ? '.'.$rotate : ''), $logfile.'.'.($rotate + 1)); |
|
| 86 | 86 | } |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | // Dupliquer les erreurs specifiques dans le log general |
| 90 | 90 | if ($logname !== _FILE_LOG |
| 91 | 91 | AND defined('_FILE_LOG')) |
| 92 | - inc_log_dist($logname=='maj' ? 'cf maj.log' : $message); |
|
| 92 | + inc_log_dist($logname == 'maj' ? 'cf maj.log' : $message); |
|
| 93 | 93 | $debugverb = ""; |
| 94 | 94 | } |
| 95 | 95 | |
@@ -34,12 +34,12 @@ discard block |
||
| 34 | 34 | */ |
| 35 | 35 | function inc_session_dist($auteur=false) |
| 36 | 36 | { |
| 37 | - if (is_numeric($auteur)) |
|
| 38 | - return supprimer_sessions($auteur, $auteur > 0); |
|
| 39 | - else if (is_array($auteur)) |
|
| 40 | - return ajouter_session($auteur); |
|
| 41 | - else |
|
| 42 | - return verifier_session($auteur); |
|
| 37 | + if (is_numeric($auteur)) |
|
| 38 | + return supprimer_sessions($auteur, $auteur > 0); |
|
| 39 | + else if (is_array($auteur)) |
|
| 40 | + return ajouter_session($auteur); |
|
| 41 | + else |
|
| 42 | + return verifier_session($auteur); |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | |
@@ -65,36 +65,36 @@ discard block |
||
| 65 | 65 | */ |
| 66 | 66 | function supprimer_sessions($id_auteur, $toutes=true, $actives=true) { |
| 67 | 67 | |
| 68 | - $nb_files = 0; |
|
| 69 | - $nb_max_files = (defined('_MAX_NB_SESSIONS_OUVERTES')?_MAX_NB_SESSIONS_OUVERTES:1000); |
|
| 70 | - spip_log("supprimer sessions auteur $id_auteur"); |
|
| 71 | - if ($toutes OR $id_auteur!==$GLOBALS['visiteur_session']['id_auteur']) { |
|
| 72 | - if ($dir = opendir(_DIR_SESSIONS)){ |
|
| 73 | - $t = $_SERVER['REQUEST_TIME'] - (4*_RENOUVELLE_ALEA); // 48h par defaut |
|
| 74 | - $t_short = $_SERVER['REQUEST_TIME'] - max(_RENOUVELLE_ALEA/4,3*3600); // 3h par defaut |
|
| 75 | - while(($f = readdir($dir)) !== false) { |
|
| 76 | - $nb_files++; |
|
| 77 | - if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)){ |
|
| 78 | - $f = _DIR_SESSIONS . $f; |
|
| 79 | - if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f))){ |
|
| 80 | - spip_unlink($f); |
|
| 81 | - } |
|
| 82 | - // si il y a trop de sessions ouvertes, on purge les sessions anonymes de plus de 3H |
|
| 83 | - // cd http://core.spip.org/issues/3276 |
|
| 84 | - elseif($nb_files>$nb_max_files AND !intval($regs[1]) AND ($t_short > filemtime($f))){ |
|
| 85 | - spip_unlink($f); |
|
| 86 | - } |
|
| 87 | - } |
|
| 88 | - } |
|
| 89 | - } |
|
| 90 | - } |
|
| 91 | - else { |
|
| 92 | - verifier_session(); |
|
| 93 | - spip_unlink(fichier_session('alea_ephemere', true)); |
|
| 94 | - } |
|
| 95 | - |
|
| 96 | - // forcer le recalcul de la session courante |
|
| 97 | - spip_session(true); |
|
| 68 | + $nb_files = 0; |
|
| 69 | + $nb_max_files = (defined('_MAX_NB_SESSIONS_OUVERTES')?_MAX_NB_SESSIONS_OUVERTES:1000); |
|
| 70 | + spip_log("supprimer sessions auteur $id_auteur"); |
|
| 71 | + if ($toutes OR $id_auteur!==$GLOBALS['visiteur_session']['id_auteur']) { |
|
| 72 | + if ($dir = opendir(_DIR_SESSIONS)){ |
|
| 73 | + $t = $_SERVER['REQUEST_TIME'] - (4*_RENOUVELLE_ALEA); // 48h par defaut |
|
| 74 | + $t_short = $_SERVER['REQUEST_TIME'] - max(_RENOUVELLE_ALEA/4,3*3600); // 3h par defaut |
|
| 75 | + while(($f = readdir($dir)) !== false) { |
|
| 76 | + $nb_files++; |
|
| 77 | + if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)){ |
|
| 78 | + $f = _DIR_SESSIONS . $f; |
|
| 79 | + if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f))){ |
|
| 80 | + spip_unlink($f); |
|
| 81 | + } |
|
| 82 | + // si il y a trop de sessions ouvertes, on purge les sessions anonymes de plus de 3H |
|
| 83 | + // cd http://core.spip.org/issues/3276 |
|
| 84 | + elseif($nb_files>$nb_max_files AND !intval($regs[1]) AND ($t_short > filemtime($f))){ |
|
| 85 | + spip_unlink($f); |
|
| 86 | + } |
|
| 87 | + } |
|
| 88 | + } |
|
| 89 | + } |
|
| 90 | + } |
|
| 91 | + else { |
|
| 92 | + verifier_session(); |
|
| 93 | + spip_unlink(fichier_session('alea_ephemere', true)); |
|
| 94 | + } |
|
| 95 | + |
|
| 96 | + // forcer le recalcul de la session courante |
|
| 97 | + spip_session(true); |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | /** |
@@ -106,84 +106,84 @@ discard block |
||
| 106 | 106 | * @return bool|string |
| 107 | 107 | */ |
| 108 | 108 | function ajouter_session($auteur) { |
| 109 | - // Si le client a deja une session valide pour son id_auteur |
|
| 110 | - // on conserve le meme fichier |
|
| 111 | - |
|
| 112 | - // Attention un visiteur peut avoir une session et un id=0, |
|
| 113 | - // => ne pas melanger les sessions des differents visiteurs |
|
| 114 | - $id_auteur = intval($auteur['id_auteur']); |
|
| 115 | - |
|
| 116 | - // Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session) |
|
| 117 | - // on va vérifier s'il y a vraiment des choses à écrire |
|
| 118 | - if (!$id_auteur){ |
|
| 119 | - // On supprime les données de base pour voir le contenu réel de la session |
|
| 120 | - $auteur_verif = $auteur; |
|
| 121 | - if (isset($auteur_verif['id_auteur'])) unset($auteur_verif['id_auteur']); |
|
| 122 | - if (isset($auteur_verif['hash_env'])) unset($auteur_verif['hash_env']); |
|
| 123 | - if (isset($auteur_verif['ip_change'])) unset($auteur_verif['ip_change']); |
|
| 124 | - if (isset($auteur_verif['date_session'])) unset($auteur_verif['date_session']); |
|
| 109 | + // Si le client a deja une session valide pour son id_auteur |
|
| 110 | + // on conserve le meme fichier |
|
| 111 | + |
|
| 112 | + // Attention un visiteur peut avoir une session et un id=0, |
|
| 113 | + // => ne pas melanger les sessions des differents visiteurs |
|
| 114 | + $id_auteur = intval($auteur['id_auteur']); |
|
| 115 | + |
|
| 116 | + // Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session) |
|
| 117 | + // on va vérifier s'il y a vraiment des choses à écrire |
|
| 118 | + if (!$id_auteur){ |
|
| 119 | + // On supprime les données de base pour voir le contenu réel de la session |
|
| 120 | + $auteur_verif = $auteur; |
|
| 121 | + if (isset($auteur_verif['id_auteur'])) unset($auteur_verif['id_auteur']); |
|
| 122 | + if (isset($auteur_verif['hash_env'])) unset($auteur_verif['hash_env']); |
|
| 123 | + if (isset($auteur_verif['ip_change'])) unset($auteur_verif['ip_change']); |
|
| 124 | + if (isset($auteur_verif['date_session'])) unset($auteur_verif['date_session']); |
|
| 125 | 125 | |
| 126 | - // Les variables vraiment nulle ne sont pas à prendre en compte non plus |
|
| 127 | - foreach($auteur_verif as $variable=>$valeur){ |
|
| 128 | - if ($valeur === null){ |
|
| 129 | - unset($auteur_verif[$variable]); |
|
| 130 | - } |
|
| 131 | - } |
|
| 132 | - // Si après ça la session est vide et qu'on a pas de cookie session, on arrete |
|
| 133 | - if (!$auteur_verif AND !isset($_COOKIE['spip_session'])){ |
|
| 134 | - return false; |
|
| 135 | - } |
|
| 136 | - } |
|
| 137 | - |
|
| 138 | - if (!isset($_COOKIE['spip_session']) |
|
| 139 | - OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session'])){ |
|
| 140 | - $_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(),true)); |
|
| 141 | - } |
|
| 142 | - |
|
| 143 | - $fichier_session = fichier_session('alea_ephemere'); |
|
| 144 | - |
|
| 145 | - // Si la session est vide alors on supprime l'éventuel fichier et on arrête là |
|
| 146 | - if (!$id_auteur AND !$auteur_verif){ |
|
| 147 | - if (@file_exists($fichier_session)) spip_unlink($fichier_session); |
|
| 148 | - // unset le COOKIE de session |
|
| 149 | - // car il est pris en compte dans spip_session() qui va croire a tort qu'on est pas un visiteur anonyme |
|
| 150 | - unset($_COOKIE['spip_session']); |
|
| 151 | - return false; |
|
| 152 | - } |
|
| 153 | - |
|
| 154 | - // Maintenant on sait qu'on a des choses à écrire |
|
| 155 | - // On s'assure d'avoir au moins ces valeurs |
|
| 156 | - $auteur['id_auteur'] = $id_auteur; |
|
| 157 | - if (!isset($auteur['hash_env'])) $auteur['hash_env'] = hash_env(); |
|
| 158 | - if (!isset($auteur['ip_change'])) $auteur['ip_change'] = false; |
|
| 159 | - |
|
| 160 | - if (!isset($auteur['date_session'])) $auteur['date_session'] = time(); |
|
| 161 | - if (is_string($auteur['prefs'])) |
|
| 162 | - $auteur['prefs'] = unserialize($auteur['prefs']); |
|
| 163 | - |
|
| 164 | - if (!ecrire_fichier_session($fichier_session, $auteur)) { |
|
| 165 | - spip_log('Echec ecriture fichier session '.$fichier_session,_LOG_HS); |
|
| 166 | - include_spip('inc/minipres'); |
|
| 167 | - echo minipres(); |
|
| 168 | - exit; |
|
| 169 | - } else { |
|
| 170 | - include_spip('inc/cookie'); |
|
| 171 | - $duree = _RENOUVELLE_ALEA * |
|
| 172 | - (!isset($auteur['cookie']) |
|
| 173 | - ? 2 : (is_numeric($auteur['cookie']) |
|
| 174 | - ? $auteur['cookie'] : 20)); |
|
| 175 | - spip_setcookie( |
|
| 176 | - 'spip_session', |
|
| 177 | - $_COOKIE['spip_session'], |
|
| 178 | - time() + $duree |
|
| 179 | - ); |
|
| 180 | - spip_log("ajoute session $fichier_session cookie $duree"); |
|
| 181 | - |
|
| 182 | - # on en profite pour purger les vieilles sessions abandonnees |
|
| 183 | - supprimer_sessions(0, true, false); |
|
| 184 | - |
|
| 185 | - return $_COOKIE['spip_session']; |
|
| 186 | - } |
|
| 126 | + // Les variables vraiment nulle ne sont pas à prendre en compte non plus |
|
| 127 | + foreach($auteur_verif as $variable=>$valeur){ |
|
| 128 | + if ($valeur === null){ |
|
| 129 | + unset($auteur_verif[$variable]); |
|
| 130 | + } |
|
| 131 | + } |
|
| 132 | + // Si après ça la session est vide et qu'on a pas de cookie session, on arrete |
|
| 133 | + if (!$auteur_verif AND !isset($_COOKIE['spip_session'])){ |
|
| 134 | + return false; |
|
| 135 | + } |
|
| 136 | + } |
|
| 137 | + |
|
| 138 | + if (!isset($_COOKIE['spip_session']) |
|
| 139 | + OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session'])){ |
|
| 140 | + $_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(),true)); |
|
| 141 | + } |
|
| 142 | + |
|
| 143 | + $fichier_session = fichier_session('alea_ephemere'); |
|
| 144 | + |
|
| 145 | + // Si la session est vide alors on supprime l'éventuel fichier et on arrête là |
|
| 146 | + if (!$id_auteur AND !$auteur_verif){ |
|
| 147 | + if (@file_exists($fichier_session)) spip_unlink($fichier_session); |
|
| 148 | + // unset le COOKIE de session |
|
| 149 | + // car il est pris en compte dans spip_session() qui va croire a tort qu'on est pas un visiteur anonyme |
|
| 150 | + unset($_COOKIE['spip_session']); |
|
| 151 | + return false; |
|
| 152 | + } |
|
| 153 | + |
|
| 154 | + // Maintenant on sait qu'on a des choses à écrire |
|
| 155 | + // On s'assure d'avoir au moins ces valeurs |
|
| 156 | + $auteur['id_auteur'] = $id_auteur; |
|
| 157 | + if (!isset($auteur['hash_env'])) $auteur['hash_env'] = hash_env(); |
|
| 158 | + if (!isset($auteur['ip_change'])) $auteur['ip_change'] = false; |
|
| 159 | + |
|
| 160 | + if (!isset($auteur['date_session'])) $auteur['date_session'] = time(); |
|
| 161 | + if (is_string($auteur['prefs'])) |
|
| 162 | + $auteur['prefs'] = unserialize($auteur['prefs']); |
|
| 163 | + |
|
| 164 | + if (!ecrire_fichier_session($fichier_session, $auteur)) { |
|
| 165 | + spip_log('Echec ecriture fichier session '.$fichier_session,_LOG_HS); |
|
| 166 | + include_spip('inc/minipres'); |
|
| 167 | + echo minipres(); |
|
| 168 | + exit; |
|
| 169 | + } else { |
|
| 170 | + include_spip('inc/cookie'); |
|
| 171 | + $duree = _RENOUVELLE_ALEA * |
|
| 172 | + (!isset($auteur['cookie']) |
|
| 173 | + ? 2 : (is_numeric($auteur['cookie']) |
|
| 174 | + ? $auteur['cookie'] : 20)); |
|
| 175 | + spip_setcookie( |
|
| 176 | + 'spip_session', |
|
| 177 | + $_COOKIE['spip_session'], |
|
| 178 | + time() + $duree |
|
| 179 | + ); |
|
| 180 | + spip_log("ajoute session $fichier_session cookie $duree"); |
|
| 181 | + |
|
| 182 | + # on en profite pour purger les vieilles sessions abandonnees |
|
| 183 | + supprimer_sessions(0, true, false); |
|
| 184 | + |
|
| 185 | + return $_COOKIE['spip_session']; |
|
| 186 | + } |
|
| 187 | 187 | } |
| 188 | 188 | |
| 189 | 189 | |
@@ -200,69 +200,69 @@ discard block |
||
| 200 | 200 | * @return bool|int|null |
| 201 | 201 | */ |
| 202 | 202 | function verifier_session($change=false) { |
| 203 | - // si pas de cookie, c'est fichu |
|
| 204 | - |
|
| 205 | - if (!isset($_COOKIE['spip_session'])) |
|
| 206 | - return false; |
|
| 207 | - |
|
| 208 | - // Tester avec alea courant |
|
| 209 | - $fichier_session = fichier_session('alea_ephemere', true); |
|
| 210 | - |
|
| 211 | - if ($fichier_session AND @file_exists($fichier_session)) { |
|
| 212 | - include($fichier_session); |
|
| 213 | - } else { |
|
| 214 | - // Sinon, tester avec alea precedent |
|
| 215 | - $fichier_session = fichier_session('alea_ephemere_ancien', true); |
|
| 216 | - if (!$fichier_session OR !@file_exists($fichier_session)) return false; |
|
| 217 | - |
|
| 218 | - // Renouveler la session avec l'alea courant |
|
| 219 | - include($fichier_session); |
|
| 220 | - spip_log('renouvelle session '.$GLOBALS['visiteur_session']['id_auteur']); |
|
| 221 | - spip_unlink($fichier_session); |
|
| 222 | - ajouter_session($GLOBALS['visiteur_session']); |
|
| 223 | - } |
|
| 224 | - |
|
| 225 | - // Compatibilite ascendante : auteur_session est visiteur_session si |
|
| 226 | - // c'est un auteur SPIP authentifie (tandis qu'un visiteur_session peut |
|
| 227 | - // n'etre qu'identifie, sans aucune authentification). |
|
| 228 | - |
|
| 229 | - if ($GLOBALS['visiteur_session']['id_auteur']) |
|
| 230 | - $GLOBALS['auteur_session'] = &$GLOBALS['visiteur_session']; |
|
| 231 | - |
|
| 232 | - |
|
| 233 | - // Si l'adresse IP change, inc/presentation mettra une balise image |
|
| 234 | - // avec un URL de rappel demandant a changer le nom de la session. |
|
| 235 | - // Seul celui qui a l'IP d'origine est rejoue |
|
| 236 | - // ainsi un eventuel voleur de cookie ne pourrait pas deconnecter |
|
| 237 | - // sa victime, mais se ferait deconnecter par elle. |
|
| 238 | - if (hash_env() != $GLOBALS['visiteur_session']['hash_env']) { |
|
| 239 | - if (!$GLOBALS['visiteur_session']['ip_change']) { |
|
| 240 | - define('_SESSION_REJOUER',rejouer_session()); |
|
| 241 | - $GLOBALS['visiteur_session']['ip_change'] = true; |
|
| 242 | - ajouter_session($GLOBALS['visiteur_session']); |
|
| 243 | - } else if ($change) { |
|
| 244 | - spip_log("session non rejouee, vol de cookie ?"); |
|
| 245 | - } |
|
| 246 | - } else if ($change) { |
|
| 247 | - spip_log("rejoue session $fichier_session ".$_COOKIE['spip_session']); |
|
| 248 | - spip_unlink($fichier_session); |
|
| 249 | - $GLOBALS['visiteur_session']['ip_change'] = false; |
|
| 250 | - unset($_COOKIE['spip_session']); |
|
| 251 | - ajouter_session($GLOBALS['visiteur_session']); |
|
| 252 | - } |
|
| 253 | - |
|
| 254 | - // Si la session a ete initiee il y a trop longtemps, elle est annulee |
|
| 255 | - if (isset($GLOBALS['visiteur_session']) |
|
| 256 | - AND defined('_AGE_SESSION_MAX') |
|
| 257 | - AND _AGE_SESSION_MAX > 0 |
|
| 258 | - AND time() - @$GLOBALS['visiteur_session']['date_session'] > _AGE_SESSION_MAX) { |
|
| 259 | - unset($GLOBALS['visiteur_session']); |
|
| 260 | - return false; |
|
| 261 | - } |
|
| 262 | - |
|
| 263 | - return is_numeric($GLOBALS['visiteur_session']['id_auteur']) |
|
| 264 | - ? $GLOBALS['visiteur_session']['id_auteur'] |
|
| 265 | - : null; |
|
| 203 | + // si pas de cookie, c'est fichu |
|
| 204 | + |
|
| 205 | + if (!isset($_COOKIE['spip_session'])) |
|
| 206 | + return false; |
|
| 207 | + |
|
| 208 | + // Tester avec alea courant |
|
| 209 | + $fichier_session = fichier_session('alea_ephemere', true); |
|
| 210 | + |
|
| 211 | + if ($fichier_session AND @file_exists($fichier_session)) { |
|
| 212 | + include($fichier_session); |
|
| 213 | + } else { |
|
| 214 | + // Sinon, tester avec alea precedent |
|
| 215 | + $fichier_session = fichier_session('alea_ephemere_ancien', true); |
|
| 216 | + if (!$fichier_session OR !@file_exists($fichier_session)) return false; |
|
| 217 | + |
|
| 218 | + // Renouveler la session avec l'alea courant |
|
| 219 | + include($fichier_session); |
|
| 220 | + spip_log('renouvelle session '.$GLOBALS['visiteur_session']['id_auteur']); |
|
| 221 | + spip_unlink($fichier_session); |
|
| 222 | + ajouter_session($GLOBALS['visiteur_session']); |
|
| 223 | + } |
|
| 224 | + |
|
| 225 | + // Compatibilite ascendante : auteur_session est visiteur_session si |
|
| 226 | + // c'est un auteur SPIP authentifie (tandis qu'un visiteur_session peut |
|
| 227 | + // n'etre qu'identifie, sans aucune authentification). |
|
| 228 | + |
|
| 229 | + if ($GLOBALS['visiteur_session']['id_auteur']) |
|
| 230 | + $GLOBALS['auteur_session'] = &$GLOBALS['visiteur_session']; |
|
| 231 | + |
|
| 232 | + |
|
| 233 | + // Si l'adresse IP change, inc/presentation mettra une balise image |
|
| 234 | + // avec un URL de rappel demandant a changer le nom de la session. |
|
| 235 | + // Seul celui qui a l'IP d'origine est rejoue |
|
| 236 | + // ainsi un eventuel voleur de cookie ne pourrait pas deconnecter |
|
| 237 | + // sa victime, mais se ferait deconnecter par elle. |
|
| 238 | + if (hash_env() != $GLOBALS['visiteur_session']['hash_env']) { |
|
| 239 | + if (!$GLOBALS['visiteur_session']['ip_change']) { |
|
| 240 | + define('_SESSION_REJOUER',rejouer_session()); |
|
| 241 | + $GLOBALS['visiteur_session']['ip_change'] = true; |
|
| 242 | + ajouter_session($GLOBALS['visiteur_session']); |
|
| 243 | + } else if ($change) { |
|
| 244 | + spip_log("session non rejouee, vol de cookie ?"); |
|
| 245 | + } |
|
| 246 | + } else if ($change) { |
|
| 247 | + spip_log("rejoue session $fichier_session ".$_COOKIE['spip_session']); |
|
| 248 | + spip_unlink($fichier_session); |
|
| 249 | + $GLOBALS['visiteur_session']['ip_change'] = false; |
|
| 250 | + unset($_COOKIE['spip_session']); |
|
| 251 | + ajouter_session($GLOBALS['visiteur_session']); |
|
| 252 | + } |
|
| 253 | + |
|
| 254 | + // Si la session a ete initiee il y a trop longtemps, elle est annulee |
|
| 255 | + if (isset($GLOBALS['visiteur_session']) |
|
| 256 | + AND defined('_AGE_SESSION_MAX') |
|
| 257 | + AND _AGE_SESSION_MAX > 0 |
|
| 258 | + AND time() - @$GLOBALS['visiteur_session']['date_session'] > _AGE_SESSION_MAX) { |
|
| 259 | + unset($GLOBALS['visiteur_session']); |
|
| 260 | + return false; |
|
| 261 | + } |
|
| 262 | + |
|
| 263 | + return is_numeric($GLOBALS['visiteur_session']['id_auteur']) |
|
| 264 | + ? $GLOBALS['visiteur_session']['id_auteur'] |
|
| 265 | + : null; |
|
| 266 | 266 | } |
| 267 | 267 | |
| 268 | 268 | /** |
@@ -274,7 +274,7 @@ discard block |
||
| 274 | 274 | * @return mixed |
| 275 | 275 | */ |
| 276 | 276 | function session_get($nom) { |
| 277 | - return isset($GLOBALS['visiteur_session'][$nom]) ? $GLOBALS['visiteur_session'][$nom] : null; |
|
| 277 | + return isset($GLOBALS['visiteur_session'][$nom]) ? $GLOBALS['visiteur_session'][$nom] : null; |
|
| 278 | 278 | } |
| 279 | 279 | |
| 280 | 280 | |
@@ -288,18 +288,18 @@ discard block |
||
| 288 | 288 | */ |
| 289 | 289 | function session_set($nom, $val=null) { |
| 290 | 290 | |
| 291 | - if (is_null($val)){ |
|
| 292 | - // rien a faire |
|
| 293 | - if (!isset($GLOBALS['visiteur_session'][$nom])) return; |
|
| 294 | - unset($GLOBALS['visiteur_session'][$nom]); |
|
| 295 | - } |
|
| 296 | - else { |
|
| 297 | - // On ajoute la valeur dans la globale |
|
| 298 | - $GLOBALS['visiteur_session'][$nom] = $val; |
|
| 299 | - } |
|
| 300 | - |
|
| 301 | - ajouter_session($GLOBALS['visiteur_session']); |
|
| 302 | - actualiser_sessions($GLOBALS['visiteur_session']); |
|
| 291 | + if (is_null($val)){ |
|
| 292 | + // rien a faire |
|
| 293 | + if (!isset($GLOBALS['visiteur_session'][$nom])) return; |
|
| 294 | + unset($GLOBALS['visiteur_session'][$nom]); |
|
| 295 | + } |
|
| 296 | + else { |
|
| 297 | + // On ajoute la valeur dans la globale |
|
| 298 | + $GLOBALS['visiteur_session'][$nom] = $val; |
|
| 299 | + } |
|
| 300 | + |
|
| 301 | + ajouter_session($GLOBALS['visiteur_session']); |
|
| 302 | + actualiser_sessions($GLOBALS['visiteur_session']); |
|
| 303 | 303 | } |
| 304 | 304 | |
| 305 | 305 | /** |
@@ -313,33 +313,33 @@ discard block |
||
| 313 | 313 | * @param array $auteur |
| 314 | 314 | */ |
| 315 | 315 | function actualiser_sessions($auteur) { |
| 316 | - if (!$id_auteur = intval($auteur['id_auteur'])) |
|
| 317 | - return; |
|
| 318 | - |
|
| 319 | - // memoriser l'auteur courant (celui qui modifie la fiche) |
|
| 320 | - $sauve = $GLOBALS['visiteur_session']; |
|
| 321 | - |
|
| 322 | - // .. mettre a jour les sessions de l'auteur cible |
|
| 323 | - // attention au $ final pour ne pas risquer d'embarquer un .php.jeton temporaire |
|
| 324 | - // cree par une ecriture concurente d'une session (fichier atomique temporaire) |
|
| 325 | - $sessions = preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php$'); |
|
| 326 | - foreach($sessions as $session) { |
|
| 327 | - $GLOBALS['visiteur_session'] = array(); |
|
| 328 | - // a pu etre supprime entre le preg initial et le moment ou l'on arrive la (concurrence) |
|
| 329 | - if (@file_exists($session)){ |
|
| 330 | - include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible |
|
| 331 | - |
|
| 332 | - $auteur = array_merge($GLOBALS['visiteur_session'], $auteur); |
|
| 333 | - ecrire_fichier_session($session, $auteur); |
|
| 334 | - } |
|
| 335 | - } |
|
| 336 | - |
|
| 337 | - // restaurer l'auteur courant |
|
| 338 | - $GLOBALS['visiteur_session'] = $sauve; |
|
| 339 | - |
|
| 340 | - // si c'est le meme, rafraichir les valeurs |
|
| 341 | - if (isset($sauve['id_auteur']) and $auteur['id_auteur'] == $sauve['id_auteur']) |
|
| 342 | - verifier_session(); |
|
| 316 | + if (!$id_auteur = intval($auteur['id_auteur'])) |
|
| 317 | + return; |
|
| 318 | + |
|
| 319 | + // memoriser l'auteur courant (celui qui modifie la fiche) |
|
| 320 | + $sauve = $GLOBALS['visiteur_session']; |
|
| 321 | + |
|
| 322 | + // .. mettre a jour les sessions de l'auteur cible |
|
| 323 | + // attention au $ final pour ne pas risquer d'embarquer un .php.jeton temporaire |
|
| 324 | + // cree par une ecriture concurente d'une session (fichier atomique temporaire) |
|
| 325 | + $sessions = preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php$'); |
|
| 326 | + foreach($sessions as $session) { |
|
| 327 | + $GLOBALS['visiteur_session'] = array(); |
|
| 328 | + // a pu etre supprime entre le preg initial et le moment ou l'on arrive la (concurrence) |
|
| 329 | + if (@file_exists($session)){ |
|
| 330 | + include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible |
|
| 331 | + |
|
| 332 | + $auteur = array_merge($GLOBALS['visiteur_session'], $auteur); |
|
| 333 | + ecrire_fichier_session($session, $auteur); |
|
| 334 | + } |
|
| 335 | + } |
|
| 336 | + |
|
| 337 | + // restaurer l'auteur courant |
|
| 338 | + $GLOBALS['visiteur_session'] = $sauve; |
|
| 339 | + |
|
| 340 | + // si c'est le meme, rafraichir les valeurs |
|
| 341 | + if (isset($sauve['id_auteur']) and $auteur['id_auteur'] == $sauve['id_auteur']) |
|
| 342 | + verifier_session(); |
|
| 343 | 343 | } |
| 344 | 344 | |
| 345 | 345 | /** |
@@ -353,33 +353,33 @@ discard block |
||
| 353 | 353 | */ |
| 354 | 354 | function ecrire_fichier_session($fichier, $auteur) { |
| 355 | 355 | |
| 356 | - $row = $auteur; |
|
| 356 | + $row = $auteur; |
|
| 357 | 357 | |
| 358 | - // ne pas enregistrer ces elements de securite |
|
| 359 | - // dans le fichier de session |
|
| 360 | - unset($auteur['pass']); |
|
| 361 | - unset($auteur['htpass']); |
|
| 362 | - unset($auteur['low_sec']); |
|
| 363 | - unset($auteur['alea_actuel']); |
|
| 364 | - unset($auteur['alea_futur']); |
|
| 358 | + // ne pas enregistrer ces elements de securite |
|
| 359 | + // dans le fichier de session |
|
| 360 | + unset($auteur['pass']); |
|
| 361 | + unset($auteur['htpass']); |
|
| 362 | + unset($auteur['low_sec']); |
|
| 363 | + unset($auteur['alea_actuel']); |
|
| 364 | + unset($auteur['alea_futur']); |
|
| 365 | 365 | |
| 366 | - $auteur = pipeline('preparer_fichier_session',array('args'=>array('row'=>$row),'data'=>$auteur)); |
|
| 366 | + $auteur = pipeline('preparer_fichier_session',array('args'=>array('row'=>$row),'data'=>$auteur)); |
|
| 367 | 367 | |
| 368 | - // ne pas enregistrer les valeurs vraiment nulle dans le fichier |
|
| 369 | - foreach($auteur as $variable=>$valeur){ |
|
| 370 | - if ($valeur === null){ |
|
| 371 | - unset($auteur[$variable]); |
|
| 372 | - } |
|
| 373 | - } |
|
| 368 | + // ne pas enregistrer les valeurs vraiment nulle dans le fichier |
|
| 369 | + foreach($auteur as $variable=>$valeur){ |
|
| 370 | + if ($valeur === null){ |
|
| 371 | + unset($auteur[$variable]); |
|
| 372 | + } |
|
| 373 | + } |
|
| 374 | 374 | |
| 375 | - // enregistrer les autres donnees du visiteur |
|
| 376 | - $texte = "<"."?php\n"; |
|
| 377 | - foreach ($auteur as $var => $val) |
|
| 378 | - $texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = ' |
|
| 379 | - . var_export($val,true).";\n"; |
|
| 380 | - $texte .= "?".">\n"; |
|
| 381 | - |
|
| 382 | - return ecrire_fichier($fichier, $texte); |
|
| 375 | + // enregistrer les autres donnees du visiteur |
|
| 376 | + $texte = "<"."?php\n"; |
|
| 377 | + foreach ($auteur as $var => $val) |
|
| 378 | + $texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = ' |
|
| 379 | + . var_export($val,true).";\n"; |
|
| 380 | + $texte .= "?".">\n"; |
|
| 381 | + |
|
| 382 | + return ecrire_fichier($fichier, $texte); |
|
| 383 | 383 | } |
| 384 | 384 | |
| 385 | 385 | |
@@ -394,24 +394,24 @@ discard block |
||
| 394 | 394 | */ |
| 395 | 395 | function fichier_session($alea, $tantpis=false) { |
| 396 | 396 | |
| 397 | - if (!isset($GLOBALS['meta'][$alea])) { |
|
| 398 | - include_spip('base/abstract_sql'); |
|
| 399 | - $GLOBALS['meta'][$alea] = sql_getfetsel('valeur', 'spip_meta', "nom=" . sql_quote($alea), '','', '', '', '', 'continue'); |
|
| 400 | - } |
|
| 401 | - |
|
| 402 | - if (!$GLOBALS['meta'][$alea]) { |
|
| 403 | - if (!$tantpis) { |
|
| 404 | - spip_log("fichier session ($tantpis): $alea indisponible"); |
|
| 405 | - include_spip('inc/minipres'); |
|
| 406 | - echo minipres(); |
|
| 407 | - } |
|
| 408 | - return ''; // echec mais $tanpis |
|
| 409 | - } |
|
| 410 | - else { |
|
| 411 | - $repertoire = sous_repertoire(_DIR_SESSIONS,'',false,$tantpis); |
|
| 412 | - $c = $_COOKIE['spip_session']; |
|
| 413 | - return $repertoire . intval($c) .'_' . md5($c.' '.$GLOBALS['meta'][$alea]). '.php'; |
|
| 414 | - } |
|
| 397 | + if (!isset($GLOBALS['meta'][$alea])) { |
|
| 398 | + include_spip('base/abstract_sql'); |
|
| 399 | + $GLOBALS['meta'][$alea] = sql_getfetsel('valeur', 'spip_meta', "nom=" . sql_quote($alea), '','', '', '', '', 'continue'); |
|
| 400 | + } |
|
| 401 | + |
|
| 402 | + if (!$GLOBALS['meta'][$alea]) { |
|
| 403 | + if (!$tantpis) { |
|
| 404 | + spip_log("fichier session ($tantpis): $alea indisponible"); |
|
| 405 | + include_spip('inc/minipres'); |
|
| 406 | + echo minipres(); |
|
| 407 | + } |
|
| 408 | + return ''; // echec mais $tanpis |
|
| 409 | + } |
|
| 410 | + else { |
|
| 411 | + $repertoire = sous_repertoire(_DIR_SESSIONS,'',false,$tantpis); |
|
| 412 | + $c = $_COOKIE['spip_session']; |
|
| 413 | + return $repertoire . intval($c) .'_' . md5($c.' '.$GLOBALS['meta'][$alea]). '.php'; |
|
| 414 | + } |
|
| 415 | 415 | } |
| 416 | 416 | |
| 417 | 417 | |
@@ -428,7 +428,7 @@ discard block |
||
| 428 | 428 | */ |
| 429 | 429 | function rejouer_session() |
| 430 | 430 | { |
| 431 | - return '<img src="'.generer_url_action('cookie','change_session=oui', true).'" width="0" height="0" alt="" />'; |
|
| 431 | + return '<img src="'.generer_url_action('cookie','change_session=oui', true).'" width="0" height="0" alt="" />'; |
|
| 432 | 432 | } |
| 433 | 433 | |
| 434 | 434 | |
@@ -440,9 +440,9 @@ discard block |
||
| 440 | 440 | * @return string |
| 441 | 441 | */ |
| 442 | 442 | function hash_env() { |
| 443 | - static $res =''; |
|
| 444 | - if ($res) return $res; |
|
| 445 | - return $res = md5($GLOBALS['ip'] . $_SERVER['HTTP_USER_AGENT']); |
|
| 443 | + static $res =''; |
|
| 444 | + if ($res) return $res; |
|
| 445 | + return $res = md5($GLOBALS['ip'] . $_SERVER['HTTP_USER_AGENT']); |
|
| 446 | 446 | } |
| 447 | 447 | |
| 448 | 448 | ?> |
@@ -10,7 +10,9 @@ discard block |
||
| 10 | 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | -if (!defined('_ECRIRE_INC_VERSION')) return; |
|
| 13 | +if (!defined('_ECRIRE_INC_VERSION')) { |
|
| 14 | + return; |
|
| 15 | +} |
|
| 14 | 16 | |
| 15 | 17 | /* |
| 16 | 18 | * Gestion de l'authentification par sessions |
@@ -34,13 +36,14 @@ discard block |
||
| 34 | 36 | */ |
| 35 | 37 | function inc_session_dist($auteur=false) |
| 36 | 38 | { |
| 37 | - if (is_numeric($auteur)) |
|
| 38 | - return supprimer_sessions($auteur, $auteur > 0); |
|
| 39 | - else if (is_array($auteur)) |
|
| 40 | - return ajouter_session($auteur); |
|
| 41 | - else |
|
| 42 | - return verifier_session($auteur); |
|
| 43 | -} |
|
| 39 | + if (is_numeric($auteur)) { |
|
| 40 | + return supprimer_sessions($auteur, $auteur > 0); |
|
| 41 | + } else if (is_array($auteur)) { |
|
| 42 | + return ajouter_session($auteur); |
|
| 43 | + } else { |
|
| 44 | + return verifier_session($auteur); |
|
| 45 | + } |
|
| 46 | + } |
|
| 44 | 47 | |
| 45 | 48 | |
| 46 | 49 | /** |
@@ -87,8 +90,7 @@ discard block |
||
| 87 | 90 | } |
| 88 | 91 | } |
| 89 | 92 | } |
| 90 | - } |
|
| 91 | - else { |
|
| 93 | + } else { |
|
| 92 | 94 | verifier_session(); |
| 93 | 95 | spip_unlink(fichier_session('alea_ephemere', true)); |
| 94 | 96 | } |
@@ -118,10 +120,18 @@ discard block |
||
| 118 | 120 | if (!$id_auteur){ |
| 119 | 121 | // On supprime les données de base pour voir le contenu réel de la session |
| 120 | 122 | $auteur_verif = $auteur; |
| 121 | - if (isset($auteur_verif['id_auteur'])) unset($auteur_verif['id_auteur']); |
|
| 122 | - if (isset($auteur_verif['hash_env'])) unset($auteur_verif['hash_env']); |
|
| 123 | - if (isset($auteur_verif['ip_change'])) unset($auteur_verif['ip_change']); |
|
| 124 | - if (isset($auteur_verif['date_session'])) unset($auteur_verif['date_session']); |
|
| 123 | + if (isset($auteur_verif['id_auteur'])) { |
|
| 124 | + unset($auteur_verif['id_auteur']); |
|
| 125 | + } |
|
| 126 | + if (isset($auteur_verif['hash_env'])) { |
|
| 127 | + unset($auteur_verif['hash_env']); |
|
| 128 | + } |
|
| 129 | + if (isset($auteur_verif['ip_change'])) { |
|
| 130 | + unset($auteur_verif['ip_change']); |
|
| 131 | + } |
|
| 132 | + if (isset($auteur_verif['date_session'])) { |
|
| 133 | + unset($auteur_verif['date_session']); |
|
| 134 | + } |
|
| 125 | 135 | |
| 126 | 136 | // Les variables vraiment nulle ne sont pas à prendre en compte non plus |
| 127 | 137 | foreach($auteur_verif as $variable=>$valeur){ |
@@ -144,7 +154,9 @@ discard block |
||
| 144 | 154 | |
| 145 | 155 | // Si la session est vide alors on supprime l'éventuel fichier et on arrête là |
| 146 | 156 | if (!$id_auteur AND !$auteur_verif){ |
| 147 | - if (@file_exists($fichier_session)) spip_unlink($fichier_session); |
|
| 157 | + if (@file_exists($fichier_session)) { |
|
| 158 | + spip_unlink($fichier_session); |
|
| 159 | + } |
|
| 148 | 160 | // unset le COOKIE de session |
| 149 | 161 | // car il est pris en compte dans spip_session() qui va croire a tort qu'on est pas un visiteur anonyme |
| 150 | 162 | unset($_COOKIE['spip_session']); |
@@ -154,12 +166,19 @@ discard block |
||
| 154 | 166 | // Maintenant on sait qu'on a des choses à écrire |
| 155 | 167 | // On s'assure d'avoir au moins ces valeurs |
| 156 | 168 | $auteur['id_auteur'] = $id_auteur; |
| 157 | - if (!isset($auteur['hash_env'])) $auteur['hash_env'] = hash_env(); |
|
| 158 | - if (!isset($auteur['ip_change'])) $auteur['ip_change'] = false; |
|
| 169 | + if (!isset($auteur['hash_env'])) { |
|
| 170 | + $auteur['hash_env'] = hash_env(); |
|
| 171 | + } |
|
| 172 | + if (!isset($auteur['ip_change'])) { |
|
| 173 | + $auteur['ip_change'] = false; |
|
| 174 | + } |
|
| 159 | 175 | |
| 160 | - if (!isset($auteur['date_session'])) $auteur['date_session'] = time(); |
|
| 161 | - if (is_string($auteur['prefs'])) |
|
| 162 | - $auteur['prefs'] = unserialize($auteur['prefs']); |
|
| 176 | + if (!isset($auteur['date_session'])) { |
|
| 177 | + $auteur['date_session'] = time(); |
|
| 178 | + } |
|
| 179 | + if (is_string($auteur['prefs'])) { |
|
| 180 | + $auteur['prefs'] = unserialize($auteur['prefs']); |
|
| 181 | + } |
|
| 163 | 182 | |
| 164 | 183 | if (!ecrire_fichier_session($fichier_session, $auteur)) { |
| 165 | 184 | spip_log('Echec ecriture fichier session '.$fichier_session,_LOG_HS); |
@@ -202,8 +221,9 @@ discard block |
||
| 202 | 221 | function verifier_session($change=false) { |
| 203 | 222 | // si pas de cookie, c'est fichu |
| 204 | 223 | |
| 205 | - if (!isset($_COOKIE['spip_session'])) |
|
| 206 | - return false; |
|
| 224 | + if (!isset($_COOKIE['spip_session'])) { |
|
| 225 | + return false; |
|
| 226 | + } |
|
| 207 | 227 | |
| 208 | 228 | // Tester avec alea courant |
| 209 | 229 | $fichier_session = fichier_session('alea_ephemere', true); |
@@ -213,7 +233,9 @@ discard block |
||
| 213 | 233 | } else { |
| 214 | 234 | // Sinon, tester avec alea precedent |
| 215 | 235 | $fichier_session = fichier_session('alea_ephemere_ancien', true); |
| 216 | - if (!$fichier_session OR !@file_exists($fichier_session)) return false; |
|
| 236 | + if (!$fichier_session OR !@file_exists($fichier_session)) { |
|
| 237 | + return false; |
|
| 238 | + } |
|
| 217 | 239 | |
| 218 | 240 | // Renouveler la session avec l'alea courant |
| 219 | 241 | include($fichier_session); |
@@ -226,8 +248,9 @@ discard block |
||
| 226 | 248 | // c'est un auteur SPIP authentifie (tandis qu'un visiteur_session peut |
| 227 | 249 | // n'etre qu'identifie, sans aucune authentification). |
| 228 | 250 | |
| 229 | - if ($GLOBALS['visiteur_session']['id_auteur']) |
|
| 230 | - $GLOBALS['auteur_session'] = &$GLOBALS['visiteur_session']; |
|
| 251 | + if ($GLOBALS['visiteur_session']['id_auteur']) { |
|
| 252 | + $GLOBALS['auteur_session'] = &$GLOBALS['visiteur_session']; |
|
| 253 | + } |
|
| 231 | 254 | |
| 232 | 255 | |
| 233 | 256 | // Si l'adresse IP change, inc/presentation mettra une balise image |
@@ -290,10 +313,11 @@ discard block |
||
| 290 | 313 | |
| 291 | 314 | if (is_null($val)){ |
| 292 | 315 | // rien a faire |
| 293 | - if (!isset($GLOBALS['visiteur_session'][$nom])) return; |
|
| 316 | + if (!isset($GLOBALS['visiteur_session'][$nom])) { |
|
| 317 | + return; |
|
| 318 | + } |
|
| 294 | 319 | unset($GLOBALS['visiteur_session'][$nom]); |
| 295 | - } |
|
| 296 | - else { |
|
| 320 | + } else { |
|
| 297 | 321 | // On ajoute la valeur dans la globale |
| 298 | 322 | $GLOBALS['visiteur_session'][$nom] = $val; |
| 299 | 323 | } |
@@ -313,8 +337,9 @@ discard block |
||
| 313 | 337 | * @param array $auteur |
| 314 | 338 | */ |
| 315 | 339 | function actualiser_sessions($auteur) { |
| 316 | - if (!$id_auteur = intval($auteur['id_auteur'])) |
|
| 317 | - return; |
|
| 340 | + if (!$id_auteur = intval($auteur['id_auteur'])) { |
|
| 341 | + return; |
|
| 342 | + } |
|
| 318 | 343 | |
| 319 | 344 | // memoriser l'auteur courant (celui qui modifie la fiche) |
| 320 | 345 | $sauve = $GLOBALS['visiteur_session']; |
@@ -338,9 +363,10 @@ discard block |
||
| 338 | 363 | $GLOBALS['visiteur_session'] = $sauve; |
| 339 | 364 | |
| 340 | 365 | // si c'est le meme, rafraichir les valeurs |
| 341 | - if (isset($sauve['id_auteur']) and $auteur['id_auteur'] == $sauve['id_auteur']) |
|
| 342 | - verifier_session(); |
|
| 343 | -} |
|
| 366 | + if (isset($sauve['id_auteur']) and $auteur['id_auteur'] == $sauve['id_auteur']) { |
|
| 367 | + verifier_session(); |
|
| 368 | + } |
|
| 369 | + } |
|
| 344 | 370 | |
| 345 | 371 | /** |
| 346 | 372 | * Ecrire le fichier d'une session |
@@ -374,9 +400,10 @@ discard block |
||
| 374 | 400 | |
| 375 | 401 | // enregistrer les autres donnees du visiteur |
| 376 | 402 | $texte = "<"."?php\n"; |
| 377 | - foreach ($auteur as $var => $val) |
|
| 378 | - $texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = ' |
|
| 403 | + foreach ($auteur as $var => $val) { |
|
| 404 | + $texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = ' |
|
| 379 | 405 | . var_export($val,true).";\n"; |
| 406 | + } |
|
| 380 | 407 | $texte .= "?".">\n"; |
| 381 | 408 | |
| 382 | 409 | return ecrire_fichier($fichier, $texte); |
@@ -406,8 +433,7 @@ discard block |
||
| 406 | 433 | echo minipres(); |
| 407 | 434 | } |
| 408 | 435 | return ''; // echec mais $tanpis |
| 409 | - } |
|
| 410 | - else { |
|
| 436 | + } else { |
|
| 411 | 437 | $repertoire = sous_repertoire(_DIR_SESSIONS,'',false,$tantpis); |
| 412 | 438 | $c = $_COOKIE['spip_session']; |
| 413 | 439 | return $repertoire . intval($c) .'_' . md5($c.' '.$GLOBALS['meta'][$alea]). '.php'; |
@@ -441,7 +467,9 @@ discard block |
||
| 441 | 467 | */ |
| 442 | 468 | function hash_env() { |
| 443 | 469 | static $res =''; |
| 444 | - if ($res) return $res; |
|
| 470 | + if ($res) { |
|
| 471 | + return $res; |
|
| 472 | + } |
|
| 445 | 473 | return $res = md5($GLOBALS['ip'] . $_SERVER['HTTP_USER_AGENT']); |
| 446 | 474 | } |
| 447 | 475 | |
@@ -32,7 +32,7 @@ discard block |
||
| 32 | 32 | * @param int|array|bool $auteur |
| 33 | 33 | * @return bool|null|void |
| 34 | 34 | */ |
| 35 | -function inc_session_dist($auteur=false) |
|
| 35 | +function inc_session_dist($auteur = false) |
|
| 36 | 36 | { |
| 37 | 37 | if (is_numeric($auteur)) |
| 38 | 38 | return supprimer_sessions($auteur, $auteur > 0); |
@@ -63,25 +63,25 @@ discard block |
||
| 63 | 63 | * false pour ne pas supprimer les sessions valides de $id_auteur. |
| 64 | 64 | * false revient donc a uniquement supprimer les vieilles sessions ! |
| 65 | 65 | */ |
| 66 | -function supprimer_sessions($id_auteur, $toutes=true, $actives=true) { |
|
| 66 | +function supprimer_sessions($id_auteur, $toutes = true, $actives = true) { |
|
| 67 | 67 | |
| 68 | 68 | $nb_files = 0; |
| 69 | - $nb_max_files = (defined('_MAX_NB_SESSIONS_OUVERTES')?_MAX_NB_SESSIONS_OUVERTES:1000); |
|
| 69 | + $nb_max_files = (defined('_MAX_NB_SESSIONS_OUVERTES') ?_MAX_NB_SESSIONS_OUVERTES:1000); |
|
| 70 | 70 | spip_log("supprimer sessions auteur $id_auteur"); |
| 71 | - if ($toutes OR $id_auteur!==$GLOBALS['visiteur_session']['id_auteur']) { |
|
| 72 | - if ($dir = opendir(_DIR_SESSIONS)){ |
|
| 73 | - $t = $_SERVER['REQUEST_TIME'] - (4*_RENOUVELLE_ALEA); // 48h par defaut |
|
| 74 | - $t_short = $_SERVER['REQUEST_TIME'] - max(_RENOUVELLE_ALEA/4,3*3600); // 3h par defaut |
|
| 75 | - while(($f = readdir($dir)) !== false) { |
|
| 71 | + if ($toutes OR $id_auteur !== $GLOBALS['visiteur_session']['id_auteur']) { |
|
| 72 | + if ($dir = opendir(_DIR_SESSIONS)) { |
|
| 73 | + $t = $_SERVER['REQUEST_TIME'] - (4 * _RENOUVELLE_ALEA); // 48h par defaut |
|
| 74 | + $t_short = $_SERVER['REQUEST_TIME'] - max(_RENOUVELLE_ALEA / 4, 3 * 3600); // 3h par defaut |
|
| 75 | + while (($f = readdir($dir)) !== false) { |
|
| 76 | 76 | $nb_files++; |
| 77 | - if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)){ |
|
| 78 | - $f = _DIR_SESSIONS . $f; |
|
| 79 | - if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f))){ |
|
| 77 | + if (preg_match(",^[^\d-]*(-?\d+)_\w{32}\.php[3]?$,", $f, $regs)) { |
|
| 78 | + $f = _DIR_SESSIONS.$f; |
|
| 79 | + if (($actives AND $regs[1] == $id_auteur) OR ($t > filemtime($f))) { |
|
| 80 | 80 | spip_unlink($f); |
| 81 | 81 | } |
| 82 | 82 | // si il y a trop de sessions ouvertes, on purge les sessions anonymes de plus de 3H |
| 83 | 83 | // cd http://core.spip.org/issues/3276 |
| 84 | - elseif($nb_files>$nb_max_files AND !intval($regs[1]) AND ($t_short > filemtime($f))){ |
|
| 84 | + elseif ($nb_files > $nb_max_files AND !intval($regs[1]) AND ($t_short > filemtime($f))) { |
|
| 85 | 85 | spip_unlink($f); |
| 86 | 86 | } |
| 87 | 87 | } |
@@ -115,7 +115,7 @@ discard block |
||
| 115 | 115 | |
| 116 | 116 | // Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session) |
| 117 | 117 | // on va vérifier s'il y a vraiment des choses à écrire |
| 118 | - if (!$id_auteur){ |
|
| 118 | + if (!$id_auteur) { |
|
| 119 | 119 | // On supprime les données de base pour voir le contenu réel de la session |
| 120 | 120 | $auteur_verif = $auteur; |
| 121 | 121 | if (isset($auteur_verif['id_auteur'])) unset($auteur_verif['id_auteur']); |
@@ -124,26 +124,26 @@ discard block |
||
| 124 | 124 | if (isset($auteur_verif['date_session'])) unset($auteur_verif['date_session']); |
| 125 | 125 | |
| 126 | 126 | // Les variables vraiment nulle ne sont pas à prendre en compte non plus |
| 127 | - foreach($auteur_verif as $variable=>$valeur){ |
|
| 128 | - if ($valeur === null){ |
|
| 127 | + foreach ($auteur_verif as $variable=>$valeur) { |
|
| 128 | + if ($valeur === null) { |
|
| 129 | 129 | unset($auteur_verif[$variable]); |
| 130 | 130 | } |
| 131 | 131 | } |
| 132 | 132 | // Si après ça la session est vide et qu'on a pas de cookie session, on arrete |
| 133 | - if (!$auteur_verif AND !isset($_COOKIE['spip_session'])){ |
|
| 133 | + if (!$auteur_verif AND !isset($_COOKIE['spip_session'])) { |
|
| 134 | 134 | return false; |
| 135 | 135 | } |
| 136 | 136 | } |
| 137 | 137 | |
| 138 | 138 | if (!isset($_COOKIE['spip_session']) |
| 139 | - OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session'])){ |
|
| 140 | - $_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(),true)); |
|
| 139 | + OR !preg_match(',^'.$id_auteur.'_,', $_COOKIE['spip_session'])) { |
|
| 140 | + $_COOKIE['spip_session'] = $id_auteur.'_'.md5(uniqid(rand(), true)); |
|
| 141 | 141 | } |
| 142 | 142 | |
| 143 | 143 | $fichier_session = fichier_session('alea_ephemere'); |
| 144 | 144 | |
| 145 | 145 | // Si la session est vide alors on supprime l'éventuel fichier et on arrête là |
| 146 | - if (!$id_auteur AND !$auteur_verif){ |
|
| 146 | + if (!$id_auteur AND !$auteur_verif) { |
|
| 147 | 147 | if (@file_exists($fichier_session)) spip_unlink($fichier_session); |
| 148 | 148 | // unset le COOKIE de session |
| 149 | 149 | // car il est pris en compte dans spip_session() qui va croire a tort qu'on est pas un visiteur anonyme |
@@ -162,7 +162,7 @@ discard block |
||
| 162 | 162 | $auteur['prefs'] = unserialize($auteur['prefs']); |
| 163 | 163 | |
| 164 | 164 | if (!ecrire_fichier_session($fichier_session, $auteur)) { |
| 165 | - spip_log('Echec ecriture fichier session '.$fichier_session,_LOG_HS); |
|
| 165 | + spip_log('Echec ecriture fichier session '.$fichier_session, _LOG_HS); |
|
| 166 | 166 | include_spip('inc/minipres'); |
| 167 | 167 | echo minipres(); |
| 168 | 168 | exit; |
@@ -199,7 +199,7 @@ discard block |
||
| 199 | 199 | * @param bool $change |
| 200 | 200 | * @return bool|int|null |
| 201 | 201 | */ |
| 202 | -function verifier_session($change=false) { |
|
| 202 | +function verifier_session($change = false) { |
|
| 203 | 203 | // si pas de cookie, c'est fichu |
| 204 | 204 | |
| 205 | 205 | if (!isset($_COOKIE['spip_session'])) |
@@ -237,7 +237,7 @@ discard block |
||
| 237 | 237 | // sa victime, mais se ferait deconnecter par elle. |
| 238 | 238 | if (hash_env() != $GLOBALS['visiteur_session']['hash_env']) { |
| 239 | 239 | if (!$GLOBALS['visiteur_session']['ip_change']) { |
| 240 | - define('_SESSION_REJOUER',rejouer_session()); |
|
| 240 | + define('_SESSION_REJOUER', rejouer_session()); |
|
| 241 | 241 | $GLOBALS['visiteur_session']['ip_change'] = true; |
| 242 | 242 | ajouter_session($GLOBALS['visiteur_session']); |
| 243 | 243 | } else if ($change) { |
@@ -286,9 +286,9 @@ discard block |
||
| 286 | 286 | * @param null $val |
| 287 | 287 | * @return void |
| 288 | 288 | */ |
| 289 | -function session_set($nom, $val=null) { |
|
| 289 | +function session_set($nom, $val = null) { |
|
| 290 | 290 | |
| 291 | - if (is_null($val)){ |
|
| 291 | + if (is_null($val)) { |
|
| 292 | 292 | // rien a faire |
| 293 | 293 | if (!isset($GLOBALS['visiteur_session'][$nom])) return; |
| 294 | 294 | unset($GLOBALS['visiteur_session'][$nom]); |
@@ -323,10 +323,10 @@ discard block |
||
| 323 | 323 | // attention au $ final pour ne pas risquer d'embarquer un .php.jeton temporaire |
| 324 | 324 | // cree par une ecriture concurente d'une session (fichier atomique temporaire) |
| 325 | 325 | $sessions = preg_files(_DIR_SESSIONS, '/'.$id_auteur.'_.*\.php$'); |
| 326 | - foreach($sessions as $session) { |
|
| 326 | + foreach ($sessions as $session) { |
|
| 327 | 327 | $GLOBALS['visiteur_session'] = array(); |
| 328 | 328 | // a pu etre supprime entre le preg initial et le moment ou l'on arrive la (concurrence) |
| 329 | - if (@file_exists($session)){ |
|
| 329 | + if (@file_exists($session)) { |
|
| 330 | 330 | include $session; # $GLOBALS['visiteur_session'] est alors l'auteur cible |
| 331 | 331 | |
| 332 | 332 | $auteur = array_merge($GLOBALS['visiteur_session'], $auteur); |
@@ -363,11 +363,11 @@ discard block |
||
| 363 | 363 | unset($auteur['alea_actuel']); |
| 364 | 364 | unset($auteur['alea_futur']); |
| 365 | 365 | |
| 366 | - $auteur = pipeline('preparer_fichier_session',array('args'=>array('row'=>$row),'data'=>$auteur)); |
|
| 366 | + $auteur = pipeline('preparer_fichier_session', array('args'=>array('row'=>$row), 'data'=>$auteur)); |
|
| 367 | 367 | |
| 368 | 368 | // ne pas enregistrer les valeurs vraiment nulle dans le fichier |
| 369 | - foreach($auteur as $variable=>$valeur){ |
|
| 370 | - if ($valeur === null){ |
|
| 369 | + foreach ($auteur as $variable=>$valeur) { |
|
| 370 | + if ($valeur === null) { |
|
| 371 | 371 | unset($auteur[$variable]); |
| 372 | 372 | } |
| 373 | 373 | } |
@@ -376,7 +376,7 @@ discard block |
||
| 376 | 376 | $texte = "<"."?php\n"; |
| 377 | 377 | foreach ($auteur as $var => $val) |
| 378 | 378 | $texte .= '$GLOBALS[\'visiteur_session\'][\''.$var.'\'] = ' |
| 379 | - . var_export($val,true).";\n"; |
|
| 379 | + . var_export($val, true).";\n"; |
|
| 380 | 380 | $texte .= "?".">\n"; |
| 381 | 381 | |
| 382 | 382 | return ecrire_fichier($fichier, $texte); |
@@ -392,11 +392,11 @@ discard block |
||
| 392 | 392 | * @param bool $tantpis |
| 393 | 393 | * @return string |
| 394 | 394 | */ |
| 395 | -function fichier_session($alea, $tantpis=false) { |
|
| 395 | +function fichier_session($alea, $tantpis = false) { |
|
| 396 | 396 | |
| 397 | 397 | if (!isset($GLOBALS['meta'][$alea])) { |
| 398 | 398 | include_spip('base/abstract_sql'); |
| 399 | - $GLOBALS['meta'][$alea] = sql_getfetsel('valeur', 'spip_meta', "nom=" . sql_quote($alea), '','', '', '', '', 'continue'); |
|
| 399 | + $GLOBALS['meta'][$alea] = sql_getfetsel('valeur', 'spip_meta', "nom=".sql_quote($alea), '', '', '', '', '', 'continue'); |
|
| 400 | 400 | } |
| 401 | 401 | |
| 402 | 402 | if (!$GLOBALS['meta'][$alea]) { |
@@ -408,9 +408,9 @@ discard block |
||
| 408 | 408 | return ''; // echec mais $tanpis |
| 409 | 409 | } |
| 410 | 410 | else { |
| 411 | - $repertoire = sous_repertoire(_DIR_SESSIONS,'',false,$tantpis); |
|
| 411 | + $repertoire = sous_repertoire(_DIR_SESSIONS, '', false, $tantpis); |
|
| 412 | 412 | $c = $_COOKIE['spip_session']; |
| 413 | - return $repertoire . intval($c) .'_' . md5($c.' '.$GLOBALS['meta'][$alea]). '.php'; |
|
| 413 | + return $repertoire.intval($c).'_'.md5($c.' '.$GLOBALS['meta'][$alea]).'.php'; |
|
| 414 | 414 | } |
| 415 | 415 | } |
| 416 | 416 | |
@@ -428,7 +428,7 @@ discard block |
||
| 428 | 428 | */ |
| 429 | 429 | function rejouer_session() |
| 430 | 430 | { |
| 431 | - return '<img src="'.generer_url_action('cookie','change_session=oui', true).'" width="0" height="0" alt="" />'; |
|
| 431 | + return '<img src="'.generer_url_action('cookie', 'change_session=oui', true).'" width="0" height="0" alt="" />'; |
|
| 432 | 432 | } |
| 433 | 433 | |
| 434 | 434 | |
@@ -440,9 +440,9 @@ discard block |
||
| 440 | 440 | * @return string |
| 441 | 441 | */ |
| 442 | 442 | function hash_env() { |
| 443 | - static $res =''; |
|
| 443 | + static $res = ''; |
|
| 444 | 444 | if ($res) return $res; |
| 445 | - return $res = md5($GLOBALS['ip'] . $_SERVER['HTTP_USER_AGENT']); |
|
| 445 | + return $res = md5($GLOBALS['ip'].$_SERVER['HTTP_USER_AGENT']); |
|
| 446 | 446 | } |
| 447 | 447 | |
| 448 | 448 | ?> |