@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Langue |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('inc/cookie'); |
@@ -30,21 +30,21 @@ discard block |
||
| 30 | 30 | * @return void |
| 31 | 31 | */ |
| 32 | 32 | function action_converser_dist() { |
| 33 | - $update_session = false; |
|
| 34 | - if (_request('arg') and spip_connect()) { |
|
| 35 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 36 | - $securiser_action(); |
|
| 37 | - $update_session = true; |
|
| 38 | - } |
|
| 33 | + $update_session = false; |
|
| 34 | + if (_request('arg') and spip_connect()) { |
|
| 35 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 36 | + $securiser_action(); |
|
| 37 | + $update_session = true; |
|
| 38 | + } |
|
| 39 | 39 | |
| 40 | - $lang = action_converser_changer_langue($update_session); |
|
| 41 | - $redirect = rawurldecode(_request('redirect')); |
|
| 40 | + $lang = action_converser_changer_langue($update_session); |
|
| 41 | + $redirect = rawurldecode(_request('redirect')); |
|
| 42 | 42 | |
| 43 | - if (!$redirect) { |
|
| 44 | - $redirect = _DIR_RESTREINT_ABS; |
|
| 45 | - } |
|
| 46 | - $redirect = parametre_url($redirect, 'lang', $lang, '&'); |
|
| 47 | - redirige_par_entete($redirect, true); |
|
| 43 | + if (!$redirect) { |
|
| 44 | + $redirect = _DIR_RESTREINT_ABS; |
|
| 45 | + } |
|
| 46 | + $redirect = parametre_url($redirect, 'lang', $lang, '&'); |
|
| 47 | + redirige_par_entete($redirect, true); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | /** |
@@ -56,23 +56,23 @@ discard block |
||
| 56 | 56 | * @return string |
| 57 | 57 | */ |
| 58 | 58 | function action_converser_changer_langue($update_session) { |
| 59 | - if ($lang = _request('var_lang')) { |
|
| 60 | - action_converser_post($lang); |
|
| 61 | - } elseif ($lang = _request('var_lang_ecrire')) { |
|
| 62 | - if ($update_session) { |
|
| 63 | - sql_updateq('spip_auteurs', ['lang' => $lang], 'id_auteur = ' . $GLOBALS['visiteur_session']['id_auteur']); |
|
| 64 | - $GLOBALS['visiteur_session']['lang'] = $lang; |
|
| 65 | - $session = charger_fonction('session', 'inc'); |
|
| 66 | - if ($spip_session = $session($GLOBALS['visiteur_session'])) { |
|
| 67 | - spip_setcookie('spip_session', $spip_session, [ |
|
| 68 | - 'expires' => time() + 3600 * 24 * 14 |
|
| 69 | - ]); |
|
| 70 | - } |
|
| 71 | - } |
|
| 72 | - action_converser_post($lang, true); |
|
| 73 | - } |
|
| 59 | + if ($lang = _request('var_lang')) { |
|
| 60 | + action_converser_post($lang); |
|
| 61 | + } elseif ($lang = _request('var_lang_ecrire')) { |
|
| 62 | + if ($update_session) { |
|
| 63 | + sql_updateq('spip_auteurs', ['lang' => $lang], 'id_auteur = ' . $GLOBALS['visiteur_session']['id_auteur']); |
|
| 64 | + $GLOBALS['visiteur_session']['lang'] = $lang; |
|
| 65 | + $session = charger_fonction('session', 'inc'); |
|
| 66 | + if ($spip_session = $session($GLOBALS['visiteur_session'])) { |
|
| 67 | + spip_setcookie('spip_session', $spip_session, [ |
|
| 68 | + 'expires' => time() + 3600 * 24 * 14 |
|
| 69 | + ]); |
|
| 70 | + } |
|
| 71 | + } |
|
| 72 | + action_converser_post($lang, true); |
|
| 73 | + } |
|
| 74 | 74 | |
| 75 | - return $lang; |
|
| 75 | + return $lang; |
|
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | /** |
@@ -83,17 +83,17 @@ discard block |
||
| 83 | 83 | * @return void |
| 84 | 84 | */ |
| 85 | 85 | function action_converser_post($lang, $ecrire = false) { |
| 86 | - if ($lang) { |
|
| 87 | - include_spip('inc/lang'); |
|
| 88 | - if (changer_langue($lang)) { |
|
| 89 | - spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, [ |
|
| 90 | - 'expires' => time() + 365 * 24 * 3600 |
|
| 91 | - ]); |
|
| 92 | - if ($ecrire) { |
|
| 93 | - spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, [ |
|
| 94 | - 'expires' => time() + 365 * 24 * 3600 |
|
| 95 | - ]); |
|
| 96 | - } |
|
| 97 | - } |
|
| 98 | - } |
|
| 86 | + if ($lang) { |
|
| 87 | + include_spip('inc/lang'); |
|
| 88 | + if (changer_langue($lang)) { |
|
| 89 | + spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, [ |
|
| 90 | + 'expires' => time() + 365 * 24 * 3600 |
|
| 91 | + ]); |
|
| 92 | + if ($ecrire) { |
|
| 93 | + spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, [ |
|
| 94 | + 'expires' => time() + 365 * 24 * 3600 |
|
| 95 | + ]); |
|
| 96 | + } |
|
| 97 | + } |
|
| 98 | + } |
|
| 99 | 99 | } |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | */ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | include_spip('inc/cookie'); |
@@ -34,73 +34,73 @@ discard block |
||
| 34 | 34 | * |
| 35 | 35 | */ |
| 36 | 36 | function action_logout_dist() { |
| 37 | - $logout = _request('logout'); |
|
| 38 | - $url = securiser_redirect_action(_request('url')); |
|
| 39 | - // cas particulier, logout dans l'espace public |
|
| 40 | - if ($logout == 'public' and !$url) { |
|
| 41 | - $url = url_de_base(); |
|
| 42 | - } |
|
| 37 | + $logout = _request('logout'); |
|
| 38 | + $url = securiser_redirect_action(_request('url')); |
|
| 39 | + // cas particulier, logout dans l'espace public |
|
| 40 | + if ($logout == 'public' and !$url) { |
|
| 41 | + $url = url_de_base(); |
|
| 42 | + } |
|
| 43 | 43 | |
| 44 | - // seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee) |
|
| 45 | - if ( |
|
| 46 | - isset($GLOBALS['visiteur_session']['id_auteur']) |
|
| 47 | - and is_numeric($GLOBALS['visiteur_session']['id_auteur']) |
|
| 48 | - // des sessions anonymes avec id_auteur=0 existent, mais elle n'ont pas de statut : double check |
|
| 49 | - and isset($GLOBALS['visiteur_session']['statut']) |
|
| 50 | - ) { |
|
| 51 | - // il faut un jeton pour fermer la session (eviter les CSRF) |
|
| 52 | - if ( |
|
| 53 | - !$jeton = _request('jeton') |
|
| 54 | - or !verifier_jeton_logout($jeton, $GLOBALS['visiteur_session']) |
|
| 55 | - ) { |
|
| 56 | - $jeton = generer_jeton_logout($GLOBALS['visiteur_session']); |
|
| 57 | - $action = generer_url_action('logout', "jeton=$jeton"); |
|
| 58 | - $action = parametre_url($action, 'logout', _request('logout')); |
|
| 59 | - $action = parametre_url($action, 'url', _request('url')); |
|
| 60 | - include_spip('inc/minipres'); |
|
| 61 | - include_spip('inc/filtres'); |
|
| 62 | - $texte = bouton_action(_T('spip:icone_deconnecter'), $action); |
|
| 63 | - $texte = "<div class='boutons'>$texte</div>"; |
|
| 64 | - $texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>'; |
|
| 65 | - $res = minipres(_T('spip:icone_deconnecter'), $texte, ['all_inline' => true]); |
|
| 66 | - echo $res; |
|
| 44 | + // seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee) |
|
| 45 | + if ( |
|
| 46 | + isset($GLOBALS['visiteur_session']['id_auteur']) |
|
| 47 | + and is_numeric($GLOBALS['visiteur_session']['id_auteur']) |
|
| 48 | + // des sessions anonymes avec id_auteur=0 existent, mais elle n'ont pas de statut : double check |
|
| 49 | + and isset($GLOBALS['visiteur_session']['statut']) |
|
| 50 | + ) { |
|
| 51 | + // il faut un jeton pour fermer la session (eviter les CSRF) |
|
| 52 | + if ( |
|
| 53 | + !$jeton = _request('jeton') |
|
| 54 | + or !verifier_jeton_logout($jeton, $GLOBALS['visiteur_session']) |
|
| 55 | + ) { |
|
| 56 | + $jeton = generer_jeton_logout($GLOBALS['visiteur_session']); |
|
| 57 | + $action = generer_url_action('logout', "jeton=$jeton"); |
|
| 58 | + $action = parametre_url($action, 'logout', _request('logout')); |
|
| 59 | + $action = parametre_url($action, 'url', _request('url')); |
|
| 60 | + include_spip('inc/minipres'); |
|
| 61 | + include_spip('inc/filtres'); |
|
| 62 | + $texte = bouton_action(_T('spip:icone_deconnecter'), $action); |
|
| 63 | + $texte = "<div class='boutons'>$texte</div>"; |
|
| 64 | + $texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>'; |
|
| 65 | + $res = minipres(_T('spip:icone_deconnecter'), $texte, ['all_inline' => true]); |
|
| 66 | + echo $res; |
|
| 67 | 67 | |
| 68 | - return; |
|
| 69 | - } |
|
| 68 | + return; |
|
| 69 | + } |
|
| 70 | 70 | |
| 71 | - include_spip('inc/auth'); |
|
| 72 | - auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00'); |
|
| 73 | - // le logout explicite vaut destruction de toutes les sessions |
|
| 74 | - if (isset($_COOKIE['spip_session'])) { |
|
| 75 | - $session = charger_fonction('session', 'inc'); |
|
| 76 | - $session($GLOBALS['visiteur_session']['id_auteur']); |
|
| 77 | - spip_setcookie('spip_session', $_COOKIE['spip_session'], [ |
|
| 78 | - 'expires' => time() - 3600 |
|
| 79 | - ]); |
|
| 80 | - } |
|
| 81 | - // si authentification http, et que la personne est loge, |
|
| 82 | - // pour se deconnecter, il faut proposer un nouveau formulaire de connexion http |
|
| 83 | - if ( |
|
| 84 | - isset($_SERVER['PHP_AUTH_USER']) |
|
| 85 | - and !$GLOBALS['ignore_auth_http'] |
|
| 86 | - and $GLOBALS['auth_can_disconnect'] |
|
| 87 | - ) { |
|
| 88 | - ask_php_auth( |
|
| 89 | - _T('login_deconnexion_ok'), |
|
| 90 | - _T('login_verifiez_navigateur'), |
|
| 91 | - _T('login_retour_public'), |
|
| 92 | - 'redirect=' . _DIR_RESTREINT_ABS, |
|
| 93 | - _T('login_test_navigateur'), |
|
| 94 | - true |
|
| 95 | - ); |
|
| 96 | - } |
|
| 97 | - } |
|
| 71 | + include_spip('inc/auth'); |
|
| 72 | + auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00'); |
|
| 73 | + // le logout explicite vaut destruction de toutes les sessions |
|
| 74 | + if (isset($_COOKIE['spip_session'])) { |
|
| 75 | + $session = charger_fonction('session', 'inc'); |
|
| 76 | + $session($GLOBALS['visiteur_session']['id_auteur']); |
|
| 77 | + spip_setcookie('spip_session', $_COOKIE['spip_session'], [ |
|
| 78 | + 'expires' => time() - 3600 |
|
| 79 | + ]); |
|
| 80 | + } |
|
| 81 | + // si authentification http, et que la personne est loge, |
|
| 82 | + // pour se deconnecter, il faut proposer un nouveau formulaire de connexion http |
|
| 83 | + if ( |
|
| 84 | + isset($_SERVER['PHP_AUTH_USER']) |
|
| 85 | + and !$GLOBALS['ignore_auth_http'] |
|
| 86 | + and $GLOBALS['auth_can_disconnect'] |
|
| 87 | + ) { |
|
| 88 | + ask_php_auth( |
|
| 89 | + _T('login_deconnexion_ok'), |
|
| 90 | + _T('login_verifiez_navigateur'), |
|
| 91 | + _T('login_retour_public'), |
|
| 92 | + 'redirect=' . _DIR_RESTREINT_ABS, |
|
| 93 | + _T('login_test_navigateur'), |
|
| 94 | + true |
|
| 95 | + ); |
|
| 96 | + } |
|
| 97 | + } |
|
| 98 | 98 | |
| 99 | - // Rediriger en contrant le cache navigateur (Safari3) |
|
| 100 | - include_spip('inc/headers'); |
|
| 101 | - redirige_par_entete($url |
|
| 102 | - ? parametre_url($url, 'var_hasard', uniqid(random_int(0, mt_getrandmax())), '&') |
|
| 103 | - : generer_url_public('login')); |
|
| 99 | + // Rediriger en contrant le cache navigateur (Safari3) |
|
| 100 | + include_spip('inc/headers'); |
|
| 101 | + redirige_par_entete($url |
|
| 102 | + ? parametre_url($url, 'var_hasard', uniqid(random_int(0, mt_getrandmax())), '&') |
|
| 103 | + : generer_url_public('login')); |
|
| 104 | 104 | } |
| 105 | 105 | |
| 106 | 106 | /** |
@@ -111,17 +111,17 @@ discard block |
||
| 111 | 111 | * @return string |
| 112 | 112 | */ |
| 113 | 113 | function generer_jeton_logout($session, $alea = null) { |
| 114 | - if (is_null($alea)) { |
|
| 115 | - include_spip('inc/acces'); |
|
| 116 | - $alea = charger_aleas(); |
|
| 117 | - } |
|
| 114 | + if (is_null($alea)) { |
|
| 115 | + include_spip('inc/acces'); |
|
| 116 | + $alea = charger_aleas(); |
|
| 117 | + } |
|
| 118 | 118 | |
| 119 | - $jeton = md5($session['date_session'] |
|
| 120 | - . $session['id_auteur'] |
|
| 121 | - . $session['statut'] |
|
| 122 | - . $alea); |
|
| 119 | + $jeton = md5($session['date_session'] |
|
| 120 | + . $session['id_auteur'] |
|
| 121 | + . $session['statut'] |
|
| 122 | + . $alea); |
|
| 123 | 123 | |
| 124 | - return $jeton; |
|
| 124 | + return $jeton; |
|
| 125 | 125 | } |
| 126 | 126 | |
| 127 | 127 | /** |
@@ -135,13 +135,13 @@ discard block |
||
| 135 | 135 | * @return bool |
| 136 | 136 | */ |
| 137 | 137 | function verifier_jeton_logout($jeton, $session) { |
| 138 | - if (generer_jeton_logout($session) === $jeton) { |
|
| 139 | - return true; |
|
| 140 | - } |
|
| 138 | + if (generer_jeton_logout($session) === $jeton) { |
|
| 139 | + return true; |
|
| 140 | + } |
|
| 141 | 141 | |
| 142 | - if (generer_jeton_logout($session, $GLOBALS['meta']['alea_ephemere_ancien']) === $jeton) { |
|
| 143 | - return true; |
|
| 144 | - } |
|
| 142 | + if (generer_jeton_logout($session, $GLOBALS['meta']['alea_ephemere_ancien']) === $jeton) { |
|
| 143 | + return true; |
|
| 144 | + } |
|
| 145 | 145 | |
| 146 | - return false; |
|
| 146 | + return false; |
|
| 147 | 147 | } |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -31,43 +31,43 @@ discard block |
||
| 31 | 31 | * @return string |
| 32 | 32 | */ |
| 33 | 33 | function action_instituer_langue_objet_dist($objet, $id, $id_rubrique, $changer_lang, $serveur = '') { |
| 34 | - if ($changer_lang) { |
|
| 35 | - $table_objet_sql = table_objet_sql($objet); |
|
| 36 | - $id_table_objet = id_table_objet($objet); |
|
| 37 | - $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 38 | - $desc = $trouver_table($table_objet_sql, $serveur); |
|
| 34 | + if ($changer_lang) { |
|
| 35 | + $table_objet_sql = table_objet_sql($objet); |
|
| 36 | + $id_table_objet = id_table_objet($objet); |
|
| 37 | + $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 38 | + $desc = $trouver_table($table_objet_sql, $serveur); |
|
| 39 | 39 | |
| 40 | - $set = []; |
|
| 41 | - if (isset($desc['field']['langue_choisie'])) { |
|
| 42 | - $set['langue_choisie'] = 'oui'; |
|
| 43 | - } |
|
| 40 | + $set = []; |
|
| 41 | + if (isset($desc['field']['langue_choisie'])) { |
|
| 42 | + $set['langue_choisie'] = 'oui'; |
|
| 43 | + } |
|
| 44 | 44 | |
| 45 | - if ($changer_lang != 'herit') { |
|
| 46 | - $set['lang'] = $changer_lang; |
|
| 47 | - sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur); |
|
| 48 | - include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees |
|
| 49 | - if ($table_objet_sql == 'spip_rubriques') { |
|
| 50 | - calculer_langues_rubriques(); |
|
| 51 | - } |
|
| 52 | - $langues = calculer_langues_utilisees($serveur); |
|
| 53 | - ecrire_meta('langues_utilisees', $langues); |
|
| 54 | - } else { |
|
| 55 | - $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique)); |
|
| 56 | - if (!$langue_parent) { |
|
| 57 | - $langue_parent = $GLOBALS['meta']['langue_site']; |
|
| 58 | - } |
|
| 59 | - $changer_lang = $langue_parent; |
|
| 60 | - $set['lang'] = $changer_lang; |
|
| 61 | - if (isset($set['langue_choisie'])) { |
|
| 62 | - $set['langue_choisie'] = 'non'; |
|
| 63 | - } |
|
| 64 | - sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur); |
|
| 65 | - if ($table_objet_sql == 'spip_rubriques') { |
|
| 66 | - include_spip('inc/rubriques'); |
|
| 67 | - calculer_langues_rubriques(); |
|
| 68 | - } |
|
| 69 | - } |
|
| 70 | - } |
|
| 45 | + if ($changer_lang != 'herit') { |
|
| 46 | + $set['lang'] = $changer_lang; |
|
| 47 | + sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur); |
|
| 48 | + include_spip('inc/rubriques'); // pour calculer_langues_rubriques et calculer_langues_utilisees |
|
| 49 | + if ($table_objet_sql == 'spip_rubriques') { |
|
| 50 | + calculer_langues_rubriques(); |
|
| 51 | + } |
|
| 52 | + $langues = calculer_langues_utilisees($serveur); |
|
| 53 | + ecrire_meta('langues_utilisees', $langues); |
|
| 54 | + } else { |
|
| 55 | + $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique)); |
|
| 56 | + if (!$langue_parent) { |
|
| 57 | + $langue_parent = $GLOBALS['meta']['langue_site']; |
|
| 58 | + } |
|
| 59 | + $changer_lang = $langue_parent; |
|
| 60 | + $set['lang'] = $changer_lang; |
|
| 61 | + if (isset($set['langue_choisie'])) { |
|
| 62 | + $set['langue_choisie'] = 'non'; |
|
| 63 | + } |
|
| 64 | + sql_updateq($table_objet_sql, $set, "$id_table_objet=" . intval($id), [], $serveur); |
|
| 65 | + if ($table_objet_sql == 'spip_rubriques') { |
|
| 66 | + include_spip('inc/rubriques'); |
|
| 67 | + calculer_langues_rubriques(); |
|
| 68 | + } |
|
| 69 | + } |
|
| 70 | + } |
|
| 71 | 71 | |
| 72 | - return $changer_lang; |
|
| 72 | + return $changer_lang; |
|
| 73 | 73 | } |
@@ -25,7 +25,7 @@ discard block |
||
| 25 | 25 | */ |
| 26 | 26 | |
| 27 | 27 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 28 | - return; |
|
| 28 | + return; |
|
| 29 | 29 | } |
| 30 | 30 | |
| 31 | 31 | /** Version de l'API SQL */ |
@@ -45,39 +45,39 @@ discard block |
||
| 45 | 45 | * contexte de l'erreur |
| 46 | 46 | **/ |
| 47 | 47 | function sql_error_backtrace($compil_info = false) { |
| 48 | - $trace = debug_backtrace(); |
|
| 49 | - $caller = array_shift($trace); |
|
| 50 | - while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) { |
|
| 51 | - array_shift($trace); |
|
| 52 | - } |
|
| 53 | - |
|
| 54 | - if ($compil_info) { |
|
| 55 | - $contexte_compil = [ |
|
| 56 | - $trace[0]['file'],// sourcefile |
|
| 57 | - '', //nom |
|
| 58 | - (isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '') |
|
| 59 | - . $trace[0]['function'] . '();' |
|
| 60 | - . (isset($trace[1]) ? "\n}" : ''), //id_boucle |
|
| 61 | - $trace[0]['line'], // ligne |
|
| 62 | - $GLOBALS['spip_lang'], // lang |
|
| 63 | - ]; |
|
| 64 | - |
|
| 65 | - return $contexte_compil; |
|
| 66 | - } |
|
| 67 | - |
|
| 68 | - $message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : ''; |
|
| 69 | - $f = []; |
|
| 70 | - while (count($trace) and $t = array_shift($trace)) { |
|
| 71 | - if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) { |
|
| 72 | - break; |
|
| 73 | - } |
|
| 74 | - $f[] = $t['function']; |
|
| 75 | - } |
|
| 76 | - if (count($f)) { |
|
| 77 | - $message .= ' [' . implode('(),', $f) . '()]'; |
|
| 78 | - } |
|
| 79 | - |
|
| 80 | - return $message; |
|
| 48 | + $trace = debug_backtrace(); |
|
| 49 | + $caller = array_shift($trace); |
|
| 50 | + while (count($trace) and (empty($trace[0]['file']) or $trace[0]['file'] === $caller['file'] or $trace[0]['file'] === __FILE__)) { |
|
| 51 | + array_shift($trace); |
|
| 52 | + } |
|
| 53 | + |
|
| 54 | + if ($compil_info) { |
|
| 55 | + $contexte_compil = [ |
|
| 56 | + $trace[0]['file'],// sourcefile |
|
| 57 | + '', //nom |
|
| 58 | + (isset($trace[1]) ? $trace[1]['function'] . "(){\n" : '') |
|
| 59 | + . $trace[0]['function'] . '();' |
|
| 60 | + . (isset($trace[1]) ? "\n}" : ''), //id_boucle |
|
| 61 | + $trace[0]['line'], // ligne |
|
| 62 | + $GLOBALS['spip_lang'], // lang |
|
| 63 | + ]; |
|
| 64 | + |
|
| 65 | + return $contexte_compil; |
|
| 66 | + } |
|
| 67 | + |
|
| 68 | + $message = count($trace) ? $trace[0]['file'] . ' L' . $trace[0]['line'] : ''; |
|
| 69 | + $f = []; |
|
| 70 | + while (count($trace) and $t = array_shift($trace)) { |
|
| 71 | + if (in_array($t['function'], ['include_once', 'include_spip', 'find_in_path'])) { |
|
| 72 | + break; |
|
| 73 | + } |
|
| 74 | + $f[] = $t['function']; |
|
| 75 | + } |
|
| 76 | + if (count($f)) { |
|
| 77 | + $message .= ' [' . implode('(),', $f) . '()]'; |
|
| 78 | + } |
|
| 79 | + |
|
| 80 | + return $message; |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | |
@@ -102,16 +102,16 @@ discard block |
||
| 102 | 102 | * |
| 103 | 103 | **/ |
| 104 | 104 | function sql_serveur($ins_sql = '', $serveur = '', $continue = false) { |
| 105 | - static $sql_serveur = []; |
|
| 106 | - if (!isset($sql_serveur[$serveur][$ins_sql])) { |
|
| 107 | - $f = spip_connect_sql(\SQL_ABSTRACT_VERSION, $ins_sql, $serveur, $continue); |
|
| 108 | - if (!is_string($f) or !$f) { |
|
| 109 | - return $f; |
|
| 110 | - } |
|
| 111 | - $sql_serveur[$serveur][$ins_sql] = $f; |
|
| 112 | - } |
|
| 113 | - |
|
| 114 | - return $sql_serveur[$serveur][$ins_sql]; |
|
| 105 | + static $sql_serveur = []; |
|
| 106 | + if (!isset($sql_serveur[$serveur][$ins_sql])) { |
|
| 107 | + $f = spip_connect_sql(\SQL_ABSTRACT_VERSION, $ins_sql, $serveur, $continue); |
|
| 108 | + if (!is_string($f) or !$f) { |
|
| 109 | + return $f; |
|
| 110 | + } |
|
| 111 | + $sql_serveur[$serveur][$ins_sql] = $f; |
|
| 112 | + } |
|
| 113 | + |
|
| 114 | + return $sql_serveur[$serveur][$ins_sql]; |
|
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | /** |
@@ -133,23 +133,23 @@ discard block |
||
| 133 | 133 | * Retourne le nom du charset si effectivement trouvé, sinon false. |
| 134 | 134 | **/ |
| 135 | 135 | function sql_get_charset($charset, $serveur = '', $option = true) { |
| 136 | - // le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc. |
|
| 137 | - $desc = sql_serveur('', $serveur, true); |
|
| 138 | - $desc = $desc[\SQL_ABSTRACT_VERSION]; |
|
| 139 | - $c = $desc['charsets'][$charset]; |
|
| 140 | - if ($c) { |
|
| 141 | - if (function_exists($f = @$desc['get_charset'])) { |
|
| 142 | - if ($f($c, $serveur, $option !== false)) { |
|
| 143 | - return $c; |
|
| 144 | - } |
|
| 145 | - } |
|
| 146 | - } |
|
| 147 | - spip_log( |
|
| 148 | - "SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.", |
|
| 149 | - _LOG_AVERTISSEMENT |
|
| 150 | - ); |
|
| 151 | - |
|
| 152 | - return false; |
|
| 136 | + // le nom http du charset differe parfois du nom SQL utf-8 ==> utf8 etc. |
|
| 137 | + $desc = sql_serveur('', $serveur, true); |
|
| 138 | + $desc = $desc[\SQL_ABSTRACT_VERSION]; |
|
| 139 | + $c = $desc['charsets'][$charset]; |
|
| 140 | + if ($c) { |
|
| 141 | + if (function_exists($f = @$desc['get_charset'])) { |
|
| 142 | + if ($f($c, $serveur, $option !== false)) { |
|
| 143 | + return $c; |
|
| 144 | + } |
|
| 145 | + } |
|
| 146 | + } |
|
| 147 | + spip_log( |
|
| 148 | + "SPIP ne connait pas les Charsets disponibles sur le serveur $serveur. Le serveur choisira seul.", |
|
| 149 | + _LOG_AVERTISSEMENT |
|
| 150 | + ); |
|
| 151 | + |
|
| 152 | + return false; |
|
| 153 | 153 | } |
| 154 | 154 | |
| 155 | 155 | |
@@ -175,12 +175,12 @@ discard block |
||
| 175 | 175 | * Retourne true si elle reussie. |
| 176 | 176 | **/ |
| 177 | 177 | function sql_set_charset($charset, $serveur = '', $option = true) { |
| 178 | - $f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false); |
|
| 179 | - if (!is_string($f) or !$f) { |
|
| 180 | - return false; |
|
| 181 | - } |
|
| 178 | + $f = sql_serveur('set_charset', $serveur, $option === 'continue' or $option === false); |
|
| 179 | + if (!is_string($f) or !$f) { |
|
| 180 | + return false; |
|
| 181 | + } |
|
| 182 | 182 | |
| 183 | - return $f($charset, $serveur, $option !== false); |
|
| 183 | + return $f($charset, $serveur, $option !== false); |
|
| 184 | 184 | } |
| 185 | 185 | |
| 186 | 186 | |
@@ -231,59 +231,59 @@ discard block |
||
| 231 | 231 | * |
| 232 | 232 | **/ |
| 233 | 233 | function sql_select( |
| 234 | - $select = [], |
|
| 235 | - $from = [], |
|
| 236 | - $where = [], |
|
| 237 | - $groupby = [], |
|
| 238 | - $orderby = [], |
|
| 239 | - $limit = '', |
|
| 240 | - $having = [], |
|
| 241 | - $serveur = '', |
|
| 242 | - $option = true |
|
| 234 | + $select = [], |
|
| 235 | + $from = [], |
|
| 236 | + $where = [], |
|
| 237 | + $groupby = [], |
|
| 238 | + $orderby = [], |
|
| 239 | + $limit = '', |
|
| 240 | + $having = [], |
|
| 241 | + $serveur = '', |
|
| 242 | + $option = true |
|
| 243 | 243 | ) { |
| 244 | - $f = sql_serveur('select', $serveur, $option === 'continue' or $option === false); |
|
| 245 | - if (!is_string($f) or !$f) { |
|
| 246 | - return false; |
|
| 247 | - } |
|
| 248 | - |
|
| 249 | - $debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug'); |
|
| 250 | - if (($option !== false) and !$debug) { |
|
| 251 | - $res = $f( |
|
| 252 | - $select, |
|
| 253 | - $from, |
|
| 254 | - $where, |
|
| 255 | - $groupby, |
|
| 256 | - $orderby, |
|
| 257 | - $limit, |
|
| 258 | - $having, |
|
| 259 | - $serveur, |
|
| 260 | - is_array($option) ? true : $option |
|
| 261 | - ); |
|
| 262 | - } else { |
|
| 263 | - $query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false); |
|
| 264 | - if (!$option) { |
|
| 265 | - return $query; |
|
| 266 | - } |
|
| 267 | - // le debug, c'est pour ce qui a ete produit par le compilateur |
|
| 268 | - if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 269 | - [$table, $id, ] = $GLOBALS['debug']['aucasou']; |
|
| 270 | - $nom = $GLOBALS['debug_objets']['courant'] . $id; |
|
| 271 | - $GLOBALS['debug_objets']['requete'][$nom] = $query; |
|
| 272 | - } |
|
| 273 | - $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true); |
|
| 274 | - } |
|
| 275 | - |
|
| 276 | - // en cas d'erreur |
|
| 277 | - if (!is_string($res)) { |
|
| 278 | - return $res; |
|
| 279 | - } |
|
| 280 | - // denoncer l'erreur SQL dans sa version brute |
|
| 281 | - spip_sql_erreur($serveur); |
|
| 282 | - // idem dans sa version squelette (prefixe des tables non substitue) |
|
| 283 | - $contexte_compil = sql_error_backtrace(true); |
|
| 284 | - erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil); |
|
| 285 | - |
|
| 286 | - return false; |
|
| 244 | + $f = sql_serveur('select', $serveur, $option === 'continue' or $option === false); |
|
| 245 | + if (!is_string($f) or !$f) { |
|
| 246 | + return false; |
|
| 247 | + } |
|
| 248 | + |
|
| 249 | + $debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug'); |
|
| 250 | + if (($option !== false) and !$debug) { |
|
| 251 | + $res = $f( |
|
| 252 | + $select, |
|
| 253 | + $from, |
|
| 254 | + $where, |
|
| 255 | + $groupby, |
|
| 256 | + $orderby, |
|
| 257 | + $limit, |
|
| 258 | + $having, |
|
| 259 | + $serveur, |
|
| 260 | + is_array($option) ? true : $option |
|
| 261 | + ); |
|
| 262 | + } else { |
|
| 263 | + $query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false); |
|
| 264 | + if (!$option) { |
|
| 265 | + return $query; |
|
| 266 | + } |
|
| 267 | + // le debug, c'est pour ce qui a ete produit par le compilateur |
|
| 268 | + if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 269 | + [$table, $id, ] = $GLOBALS['debug']['aucasou']; |
|
| 270 | + $nom = $GLOBALS['debug_objets']['courant'] . $id; |
|
| 271 | + $GLOBALS['debug_objets']['requete'][$nom] = $query; |
|
| 272 | + } |
|
| 273 | + $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true); |
|
| 274 | + } |
|
| 275 | + |
|
| 276 | + // en cas d'erreur |
|
| 277 | + if (!is_string($res)) { |
|
| 278 | + return $res; |
|
| 279 | + } |
|
| 280 | + // denoncer l'erreur SQL dans sa version brute |
|
| 281 | + spip_sql_erreur($serveur); |
|
| 282 | + // idem dans sa version squelette (prefixe des tables non substitue) |
|
| 283 | + $contexte_compil = sql_error_backtrace(true); |
|
| 284 | + erreur_squelette([sql_errno($serveur), sql_error($serveur), $res], $contexte_compil); |
|
| 285 | + |
|
| 286 | + return false; |
|
| 287 | 287 | } |
| 288 | 288 | |
| 289 | 289 | |
@@ -320,16 +320,16 @@ discard block |
||
| 320 | 320 | * |
| 321 | 321 | **/ |
| 322 | 322 | function sql_get_select( |
| 323 | - $select = [], |
|
| 324 | - $from = [], |
|
| 325 | - $where = [], |
|
| 326 | - $groupby = [], |
|
| 327 | - $orderby = [], |
|
| 328 | - $limit = '', |
|
| 329 | - $having = [], |
|
| 330 | - $serveur = '' |
|
| 323 | + $select = [], |
|
| 324 | + $from = [], |
|
| 325 | + $where = [], |
|
| 326 | + $groupby = [], |
|
| 327 | + $orderby = [], |
|
| 328 | + $limit = '', |
|
| 329 | + $having = [], |
|
| 330 | + $serveur = '' |
|
| 331 | 331 | ) { |
| 332 | - return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false); |
|
| 332 | + return sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false); |
|
| 333 | 333 | } |
| 334 | 334 | |
| 335 | 335 | |
@@ -373,23 +373,23 @@ discard block |
||
| 373 | 373 | * |
| 374 | 374 | **/ |
| 375 | 375 | function sql_countsel( |
| 376 | - $from = [], |
|
| 377 | - $where = [], |
|
| 378 | - $groupby = [], |
|
| 379 | - $having = [], |
|
| 380 | - $serveur = '', |
|
| 381 | - $option = true |
|
| 376 | + $from = [], |
|
| 377 | + $where = [], |
|
| 378 | + $groupby = [], |
|
| 379 | + $having = [], |
|
| 380 | + $serveur = '', |
|
| 381 | + $option = true |
|
| 382 | 382 | ) { |
| 383 | - $f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false); |
|
| 384 | - if (!is_string($f) or !$f) { |
|
| 385 | - return false; |
|
| 386 | - } |
|
| 387 | - $r = $f($from, $where, $groupby, $having, $serveur, $option !== false); |
|
| 388 | - if ($r === false) { |
|
| 389 | - spip_sql_erreur($serveur); |
|
| 390 | - } |
|
| 391 | - |
|
| 392 | - return $r; |
|
| 383 | + $f = sql_serveur('countsel', $serveur, $option === 'continue' or $option === false); |
|
| 384 | + if (!is_string($f) or !$f) { |
|
| 385 | + return false; |
|
| 386 | + } |
|
| 387 | + $r = $f($from, $where, $groupby, $having, $serveur, $option !== false); |
|
| 388 | + if ($r === false) { |
|
| 389 | + spip_sql_erreur($serveur); |
|
| 390 | + } |
|
| 391 | + |
|
| 392 | + return $r; |
|
| 393 | 393 | } |
| 394 | 394 | |
| 395 | 395 | /** |
@@ -421,16 +421,16 @@ discard block |
||
| 421 | 421 | * Ce retour n'est pas pertinent pour savoir si l'opération est correctement réalisée. |
| 422 | 422 | **/ |
| 423 | 423 | function sql_alter($q, $serveur = '', $option = true) { |
| 424 | - $f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false); |
|
| 425 | - if (!is_string($f) or !$f) { |
|
| 426 | - return false; |
|
| 427 | - } |
|
| 428 | - $r = $f($q, $serveur, $option !== false); |
|
| 429 | - if ($r === false) { |
|
| 430 | - spip_sql_erreur($serveur); |
|
| 431 | - } |
|
| 432 | - |
|
| 433 | - return $r; |
|
| 424 | + $f = sql_serveur('alter', $serveur, $option === 'continue' or $option === false); |
|
| 425 | + if (!is_string($f) or !$f) { |
|
| 426 | + return false; |
|
| 427 | + } |
|
| 428 | + $r = $f($q, $serveur, $option !== false); |
|
| 429 | + if ($r === false) { |
|
| 430 | + spip_sql_erreur($serveur); |
|
| 431 | + } |
|
| 432 | + |
|
| 433 | + return $r; |
|
| 434 | 434 | } |
| 435 | 435 | |
| 436 | 436 | /** |
@@ -453,12 +453,12 @@ discard block |
||
| 453 | 453 | * presentant une ligne de resultat d'une selection |
| 454 | 454 | */ |
| 455 | 455 | function sql_fetch($res, $serveur = '', $option = true) { |
| 456 | - $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false); |
|
| 457 | - if (!is_string($f) or !$f) { |
|
| 458 | - return false; |
|
| 459 | - } |
|
| 456 | + $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false); |
|
| 457 | + if (!is_string($f) or !$f) { |
|
| 458 | + return false; |
|
| 459 | + } |
|
| 460 | 460 | |
| 461 | - return $f($res, null, $serveur, $option !== false); |
|
| 461 | + return $f($res, null, $serveur, $option !== false); |
|
| 462 | 462 | } |
| 463 | 463 | |
| 464 | 464 | |
@@ -485,20 +485,20 @@ discard block |
||
| 485 | 485 | * presentant une ligne de resultat d'une selection |
| 486 | 486 | */ |
| 487 | 487 | function sql_fetch_all($res, $serveur = '', $option = true) { |
| 488 | - $rows = []; |
|
| 489 | - if (!$res) { |
|
| 490 | - return $rows; |
|
| 491 | - } |
|
| 492 | - $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false); |
|
| 493 | - if (!is_string($f) or !$f) { |
|
| 494 | - return []; |
|
| 495 | - } |
|
| 496 | - while ($r = $f($res, null, $serveur, $option !== false)) { |
|
| 497 | - $rows[] = $r; |
|
| 498 | - } |
|
| 499 | - sql_free($res, $serveur); |
|
| 500 | - |
|
| 501 | - return $rows; |
|
| 488 | + $rows = []; |
|
| 489 | + if (!$res) { |
|
| 490 | + return $rows; |
|
| 491 | + } |
|
| 492 | + $f = sql_serveur('fetch', $serveur, $option === 'continue' or $option === false); |
|
| 493 | + if (!is_string($f) or !$f) { |
|
| 494 | + return []; |
|
| 495 | + } |
|
| 496 | + while ($r = $f($res, null, $serveur, $option !== false)) { |
|
| 497 | + $rows[] = $r; |
|
| 498 | + } |
|
| 499 | + sql_free($res, $serveur); |
|
| 500 | + |
|
| 501 | + return $rows; |
|
| 502 | 502 | } |
| 503 | 503 | |
| 504 | 504 | /** |
@@ -526,16 +526,16 @@ discard block |
||
| 526 | 526 | * Operation effectuée (true), sinon false. |
| 527 | 527 | **/ |
| 528 | 528 | function sql_seek($res, $row_number, $serveur = '', $option = true) { |
| 529 | - $f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false); |
|
| 530 | - if (!is_string($f) or !$f) { |
|
| 531 | - return false; |
|
| 532 | - } |
|
| 533 | - $r = $f($res, $row_number, $serveur, $option !== false); |
|
| 534 | - if ($r === false) { |
|
| 535 | - spip_sql_erreur($serveur); |
|
| 536 | - } |
|
| 537 | - |
|
| 538 | - return $r; |
|
| 529 | + $f = sql_serveur('seek', $serveur, $option === 'continue' or $option === false); |
|
| 530 | + if (!is_string($f) or !$f) { |
|
| 531 | + return false; |
|
| 532 | + } |
|
| 533 | + $r = $f($res, $row_number, $serveur, $option !== false); |
|
| 534 | + if ($r === false) { |
|
| 535 | + spip_sql_erreur($serveur); |
|
| 536 | + } |
|
| 537 | + |
|
| 538 | + return $r; |
|
| 539 | 539 | } |
| 540 | 540 | |
| 541 | 541 | |
@@ -560,16 +560,16 @@ discard block |
||
| 560 | 560 | * False en cas d'erreur. |
| 561 | 561 | **/ |
| 562 | 562 | function sql_listdbs($serveur = '', $option = true) { |
| 563 | - $f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false); |
|
| 564 | - if (!is_string($f) or !$f) { |
|
| 565 | - return false; |
|
| 566 | - } |
|
| 567 | - $r = $f($serveur); |
|
| 568 | - if ($r === false) { |
|
| 569 | - spip_sql_erreur($serveur); |
|
| 570 | - } |
|
| 571 | - |
|
| 572 | - return $r; |
|
| 563 | + $f = sql_serveur('listdbs', $serveur, $option === 'continue' or $option === false); |
|
| 564 | + if (!is_string($f) or !$f) { |
|
| 565 | + return false; |
|
| 566 | + } |
|
| 567 | + $r = $f($serveur); |
|
| 568 | + if ($r === false) { |
|
| 569 | + spip_sql_erreur($serveur); |
|
| 570 | + } |
|
| 571 | + |
|
| 572 | + return $r; |
|
| 573 | 573 | } |
| 574 | 574 | |
| 575 | 575 | |
@@ -592,16 +592,16 @@ discard block |
||
| 592 | 592 | * - False en cas d'erreur. |
| 593 | 593 | **/ |
| 594 | 594 | function sql_selectdb($nom, $serveur = '', $option = true) { |
| 595 | - $f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false); |
|
| 596 | - if (!is_string($f) or !$f) { |
|
| 597 | - return false; |
|
| 598 | - } |
|
| 599 | - $r = $f($nom, $serveur, $option !== false); |
|
| 600 | - if ($r === false) { |
|
| 601 | - spip_sql_erreur($serveur); |
|
| 602 | - } |
|
| 603 | - |
|
| 604 | - return $r; |
|
| 595 | + $f = sql_serveur('selectdb', $serveur, $option === 'continue' or $option === false); |
|
| 596 | + if (!is_string($f) or !$f) { |
|
| 597 | + return false; |
|
| 598 | + } |
|
| 599 | + $r = $f($nom, $serveur, $option !== false); |
|
| 600 | + if ($r === false) { |
|
| 601 | + spip_sql_erreur($serveur); |
|
| 602 | + } |
|
| 603 | + |
|
| 604 | + return $r; |
|
| 605 | 605 | } |
| 606 | 606 | |
| 607 | 607 | /** |
@@ -626,16 +626,16 @@ discard block |
||
| 626 | 626 | * - false en cas d'erreur. |
| 627 | 627 | **/ |
| 628 | 628 | function sql_count($res, $serveur = '', $option = true) { |
| 629 | - $f = sql_serveur('count', $serveur, $option === 'continue' or $option === false); |
|
| 630 | - if (!is_string($f) or !$f) { |
|
| 631 | - return false; |
|
| 632 | - } |
|
| 633 | - $r = $f($res, $serveur, $option !== false); |
|
| 634 | - if ($r === false) { |
|
| 635 | - spip_sql_erreur($serveur); |
|
| 636 | - } |
|
| 637 | - |
|
| 638 | - return $r; |
|
| 629 | + $f = sql_serveur('count', $serveur, $option === 'continue' or $option === false); |
|
| 630 | + if (!is_string($f) or !$f) { |
|
| 631 | + return false; |
|
| 632 | + } |
|
| 633 | + $r = $f($res, $serveur, $option !== false); |
|
| 634 | + if ($r === false) { |
|
| 635 | + spip_sql_erreur($serveur); |
|
| 636 | + } |
|
| 637 | + |
|
| 638 | + return $r; |
|
| 639 | 639 | } |
| 640 | 640 | |
| 641 | 641 | /** |
@@ -657,12 +657,12 @@ discard block |
||
| 657 | 657 | * True si réussi |
| 658 | 658 | */ |
| 659 | 659 | function sql_free($res, $serveur = '', $option = true) { |
| 660 | - $f = sql_serveur('free', $serveur, $option === 'continue' or $option === false); |
|
| 661 | - if (!is_string($f) or !$f) { |
|
| 662 | - return false; |
|
| 663 | - } |
|
| 660 | + $f = sql_serveur('free', $serveur, $option === 'continue' or $option === false); |
|
| 661 | + if (!is_string($f) or !$f) { |
|
| 662 | + return false; |
|
| 663 | + } |
|
| 664 | 664 | |
| 665 | - return $f($res); |
|
| 665 | + return $f($res); |
|
| 666 | 666 | } |
| 667 | 667 | |
| 668 | 668 | |
@@ -700,17 +700,17 @@ discard block |
||
| 700 | 700 | * - False en cas d'erreur. |
| 701 | 701 | **/ |
| 702 | 702 | function sql_insert($table, $noms, $valeurs, $desc = [], $serveur = '', $option = true) { |
| 703 | - $f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false); |
|
| 704 | - if (!is_string($f) or !$f) { |
|
| 705 | - return false; |
|
| 706 | - } |
|
| 707 | - $r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false); |
|
| 708 | - if ($r === false or $r === null) { |
|
| 709 | - spip_sql_erreur($serveur); |
|
| 710 | - $r = false; |
|
| 711 | - } |
|
| 712 | - |
|
| 713 | - return $r; |
|
| 703 | + $f = sql_serveur('insert', $serveur, $option === 'continue' or $option === false); |
|
| 704 | + if (!is_string($f) or !$f) { |
|
| 705 | + return false; |
|
| 706 | + } |
|
| 707 | + $r = $f($table, $noms, $valeurs, $desc, $serveur, $option !== false); |
|
| 708 | + if ($r === false or $r === null) { |
|
| 709 | + spip_sql_erreur($serveur); |
|
| 710 | + $r = false; |
|
| 711 | + } |
|
| 712 | + |
|
| 713 | + return $r; |
|
| 714 | 714 | } |
| 715 | 715 | |
| 716 | 716 | /** |
@@ -751,17 +751,17 @@ discard block |
||
| 751 | 751 | * - False en cas d'erreur. |
| 752 | 752 | **/ |
| 753 | 753 | function sql_insertq($table, $couples = [], $desc = [], $serveur = '', $option = true) { |
| 754 | - $f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false); |
|
| 755 | - if (!is_string($f) or !$f) { |
|
| 756 | - return false; |
|
| 757 | - } |
|
| 758 | - $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 759 | - if ($r === false or $r === null) { |
|
| 760 | - spip_sql_erreur($serveur); |
|
| 761 | - $r = false; |
|
| 762 | - } |
|
| 763 | - |
|
| 764 | - return $r; |
|
| 754 | + $f = sql_serveur('insertq', $serveur, $option === 'continue' or $option === false); |
|
| 755 | + if (!is_string($f) or !$f) { |
|
| 756 | + return false; |
|
| 757 | + } |
|
| 758 | + $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 759 | + if ($r === false or $r === null) { |
|
| 760 | + spip_sql_erreur($serveur); |
|
| 761 | + $r = false; |
|
| 762 | + } |
|
| 763 | + |
|
| 764 | + return $r; |
|
| 765 | 765 | } |
| 766 | 766 | |
| 767 | 767 | /** |
@@ -796,17 +796,17 @@ discard block |
||
| 796 | 796 | * - False en cas d'erreur. |
| 797 | 797 | **/ |
| 798 | 798 | function sql_insertq_multi($table, $couples = [], $desc = [], $serveur = '', $option = true) { |
| 799 | - $f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false); |
|
| 800 | - if (!is_string($f) or !$f) { |
|
| 801 | - return false; |
|
| 802 | - } |
|
| 803 | - $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 804 | - if ($r === false or $r === null) { |
|
| 805 | - spip_sql_erreur($serveur); |
|
| 806 | - $r = false; |
|
| 807 | - } |
|
| 808 | - |
|
| 809 | - return $r; |
|
| 799 | + $f = sql_serveur('insertq_multi', $serveur, $option === 'continue' or $option === false); |
|
| 800 | + if (!is_string($f) or !$f) { |
|
| 801 | + return false; |
|
| 802 | + } |
|
| 803 | + $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 804 | + if ($r === false or $r === null) { |
|
| 805 | + spip_sql_erreur($serveur); |
|
| 806 | + $r = false; |
|
| 807 | + } |
|
| 808 | + |
|
| 809 | + return $r; |
|
| 810 | 810 | } |
| 811 | 811 | |
| 812 | 812 | /** |
@@ -846,16 +846,16 @@ discard block |
||
| 846 | 846 | * - array Tableau décrivant la requête et son temps d'exécution si var_profile est actif |
| 847 | 847 | */ |
| 848 | 848 | function sql_update($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) { |
| 849 | - $f = sql_serveur('update', $serveur, $option === 'continue' or $option === false); |
|
| 850 | - if (!is_string($f) or !$f) { |
|
| 851 | - return false; |
|
| 852 | - } |
|
| 853 | - $r = $f($table, $exp, $where, $desc, $serveur, $option !== false); |
|
| 854 | - if ($r === false) { |
|
| 855 | - spip_sql_erreur($serveur); |
|
| 856 | - } |
|
| 857 | - |
|
| 858 | - return $r; |
|
| 849 | + $f = sql_serveur('update', $serveur, $option === 'continue' or $option === false); |
|
| 850 | + if (!is_string($f) or !$f) { |
|
| 851 | + return false; |
|
| 852 | + } |
|
| 853 | + $r = $f($table, $exp, $where, $desc, $serveur, $option !== false); |
|
| 854 | + if ($r === false) { |
|
| 855 | + spip_sql_erreur($serveur); |
|
| 856 | + } |
|
| 857 | + |
|
| 858 | + return $r; |
|
| 859 | 859 | } |
| 860 | 860 | |
| 861 | 861 | |
@@ -901,16 +901,16 @@ discard block |
||
| 901 | 901 | * - False en cas d'erreur. |
| 902 | 902 | **/ |
| 903 | 903 | function sql_updateq($table, $exp, $where = '', $desc = [], $serveur = '', $option = true) { |
| 904 | - $f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false); |
|
| 905 | - if (!is_string($f) or !$f) { |
|
| 906 | - return false; |
|
| 907 | - } |
|
| 908 | - $r = $f($table, $exp, $where, $desc, $serveur, $option !== false); |
|
| 909 | - if ($r === false) { |
|
| 910 | - spip_sql_erreur($serveur); |
|
| 911 | - } |
|
| 912 | - |
|
| 913 | - return $r; |
|
| 904 | + $f = sql_serveur('updateq', $serveur, $option === 'continue' or $option === false); |
|
| 905 | + if (!is_string($f) or !$f) { |
|
| 906 | + return false; |
|
| 907 | + } |
|
| 908 | + $r = $f($table, $exp, $where, $desc, $serveur, $option !== false); |
|
| 909 | + if ($r === false) { |
|
| 910 | + spip_sql_erreur($serveur); |
|
| 911 | + } |
|
| 912 | + |
|
| 913 | + return $r; |
|
| 914 | 914 | } |
| 915 | 915 | |
| 916 | 916 | /** |
@@ -941,16 +941,16 @@ discard block |
||
| 941 | 941 | * - False en cas d'erreur. |
| 942 | 942 | **/ |
| 943 | 943 | function sql_delete($table, $where = '', $serveur = '', $option = true) { |
| 944 | - $f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false); |
|
| 945 | - if (!is_string($f) or !$f) { |
|
| 946 | - return false; |
|
| 947 | - } |
|
| 948 | - $r = $f($table, $where, $serveur, $option !== false); |
|
| 949 | - if ($r === false) { |
|
| 950 | - spip_sql_erreur($serveur); |
|
| 951 | - } |
|
| 952 | - |
|
| 953 | - return $r; |
|
| 944 | + $f = sql_serveur('delete', $serveur, $option === 'continue' or $option === false); |
|
| 945 | + if (!is_string($f) or !$f) { |
|
| 946 | + return false; |
|
| 947 | + } |
|
| 948 | + $r = $f($table, $where, $serveur, $option !== false); |
|
| 949 | + if ($r === false) { |
|
| 950 | + spip_sql_erreur($serveur); |
|
| 951 | + } |
|
| 952 | + |
|
| 953 | + return $r; |
|
| 954 | 954 | } |
| 955 | 955 | |
| 956 | 956 | /** |
@@ -986,16 +986,16 @@ discard block |
||
| 986 | 986 | * - False en cas d'erreur. |
| 987 | 987 | **/ |
| 988 | 988 | function sql_replace($table, $couples, $desc = [], $serveur = '', $option = true) { |
| 989 | - $f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false); |
|
| 990 | - if (!is_string($f) or !$f) { |
|
| 991 | - return false; |
|
| 992 | - } |
|
| 993 | - $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 994 | - if ($r === false) { |
|
| 995 | - spip_sql_erreur($serveur); |
|
| 996 | - } |
|
| 997 | - |
|
| 998 | - return $r; |
|
| 989 | + $f = sql_serveur('replace', $serveur, $option === 'continue' or $option === false); |
|
| 990 | + if (!is_string($f) or !$f) { |
|
| 991 | + return false; |
|
| 992 | + } |
|
| 993 | + $r = $f($table, $couples, $desc, $serveur, $option !== false); |
|
| 994 | + if ($r === false) { |
|
| 995 | + spip_sql_erreur($serveur); |
|
| 996 | + } |
|
| 997 | + |
|
| 998 | + return $r; |
|
| 999 | 999 | } |
| 1000 | 1000 | |
| 1001 | 1001 | |
@@ -1033,16 +1033,16 @@ discard block |
||
| 1033 | 1033 | * - False en cas d'erreur. |
| 1034 | 1034 | **/ |
| 1035 | 1035 | function sql_replace_multi($table, $tab_couples, $desc = [], $serveur = '', $option = true) { |
| 1036 | - $f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false); |
|
| 1037 | - if (!is_string($f) or !$f) { |
|
| 1038 | - return false; |
|
| 1039 | - } |
|
| 1040 | - $r = $f($table, $tab_couples, $desc, $serveur, $option !== false); |
|
| 1041 | - if ($r === false) { |
|
| 1042 | - spip_sql_erreur($serveur); |
|
| 1043 | - } |
|
| 1044 | - |
|
| 1045 | - return $r; |
|
| 1036 | + $f = sql_serveur('replace_multi', $serveur, $option === 'continue' or $option === false); |
|
| 1037 | + if (!is_string($f) or !$f) { |
|
| 1038 | + return false; |
|
| 1039 | + } |
|
| 1040 | + $r = $f($table, $tab_couples, $desc, $serveur, $option !== false); |
|
| 1041 | + if ($r === false) { |
|
| 1042 | + spip_sql_erreur($serveur); |
|
| 1043 | + } |
|
| 1044 | + |
|
| 1045 | + return $r; |
|
| 1046 | 1046 | } |
| 1047 | 1047 | |
| 1048 | 1048 | /** |
@@ -1070,16 +1070,16 @@ discard block |
||
| 1070 | 1070 | * - False en cas d'erreur. |
| 1071 | 1071 | **/ |
| 1072 | 1072 | function sql_drop_table($table, $exist = '', $serveur = '', $option = true) { |
| 1073 | - $f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false); |
|
| 1074 | - if (!is_string($f) or !$f) { |
|
| 1075 | - return false; |
|
| 1076 | - } |
|
| 1077 | - $r = $f($table, $exist, $serveur, $option !== false); |
|
| 1078 | - if ($r === false) { |
|
| 1079 | - spip_sql_erreur($serveur); |
|
| 1080 | - } |
|
| 1081 | - |
|
| 1082 | - return $r; |
|
| 1073 | + $f = sql_serveur('drop_table', $serveur, $option === 'continue' or $option === false); |
|
| 1074 | + if (!is_string($f) or !$f) { |
|
| 1075 | + return false; |
|
| 1076 | + } |
|
| 1077 | + $r = $f($table, $exist, $serveur, $option !== false); |
|
| 1078 | + if ($r === false) { |
|
| 1079 | + spip_sql_erreur($serveur); |
|
| 1080 | + } |
|
| 1081 | + |
|
| 1082 | + return $r; |
|
| 1083 | 1083 | } |
| 1084 | 1084 | |
| 1085 | 1085 | /** |
@@ -1103,16 +1103,16 @@ discard block |
||
| 1103 | 1103 | * - true si la requête a réussie, false sinon |
| 1104 | 1104 | */ |
| 1105 | 1105 | function sql_drop_view($table, $exist = '', $serveur = '', $option = true) { |
| 1106 | - $f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false); |
|
| 1107 | - if (!is_string($f) or !$f) { |
|
| 1108 | - return false; |
|
| 1109 | - } |
|
| 1110 | - $r = $f($table, $exist, $serveur, $option !== false); |
|
| 1111 | - if ($r === false) { |
|
| 1112 | - spip_sql_erreur($serveur); |
|
| 1113 | - } |
|
| 1114 | - |
|
| 1115 | - return $r; |
|
| 1106 | + $f = sql_serveur('drop_view', $serveur, $option === 'continue' or $option === false); |
|
| 1107 | + if (!is_string($f) or !$f) { |
|
| 1108 | + return false; |
|
| 1109 | + } |
|
| 1110 | + $r = $f($table, $exist, $serveur, $option !== false); |
|
| 1111 | + if ($r === false) { |
|
| 1112 | + spip_sql_erreur($serveur); |
|
| 1113 | + } |
|
| 1114 | + |
|
| 1115 | + return $r; |
|
| 1116 | 1116 | } |
| 1117 | 1117 | |
| 1118 | 1118 | /** |
@@ -1136,18 +1136,18 @@ discard block |
||
| 1136 | 1136 | * Ressource à utiliser avec sql_fetch() |
| 1137 | 1137 | **/ |
| 1138 | 1138 | function sql_showbase($spip = null, $serveur = '', $option = true) { |
| 1139 | - $f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false); |
|
| 1140 | - if (!is_string($f) or !$f) { |
|
| 1141 | - return false; |
|
| 1142 | - } |
|
| 1143 | - |
|
| 1144 | - // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1145 | - if ($spip == null) { |
|
| 1146 | - $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1147 | - $spip = $connexion['prefixe'] . '\_%'; |
|
| 1148 | - } |
|
| 1149 | - |
|
| 1150 | - return $f($spip, $serveur, $option !== false); |
|
| 1139 | + $f = sql_serveur('showbase', $serveur, $option === 'continue' or $option === false); |
|
| 1140 | + if (!is_string($f) or !$f) { |
|
| 1141 | + return false; |
|
| 1142 | + } |
|
| 1143 | + |
|
| 1144 | + // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1145 | + if ($spip == null) { |
|
| 1146 | + $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1147 | + $spip = $connexion['prefixe'] . '\_%'; |
|
| 1148 | + } |
|
| 1149 | + |
|
| 1150 | + return $f($spip, $serveur, $option !== false); |
|
| 1151 | 1151 | } |
| 1152 | 1152 | |
| 1153 | 1153 | /** |
@@ -1170,15 +1170,15 @@ discard block |
||
| 1170 | 1170 | * Liste des tables SQL |
| 1171 | 1171 | **/ |
| 1172 | 1172 | function sql_alltable($spip = null, $serveur = '', $option = true) { |
| 1173 | - $q = sql_showbase($spip, $serveur, $option); |
|
| 1174 | - $r = []; |
|
| 1175 | - if ($q) { |
|
| 1176 | - while ($t = sql_fetch($q, $serveur)) { |
|
| 1177 | - $r[] = array_shift($t); |
|
| 1178 | - } |
|
| 1179 | - } |
|
| 1180 | - |
|
| 1181 | - return $r; |
|
| 1173 | + $q = sql_showbase($spip, $serveur, $option); |
|
| 1174 | + $r = []; |
|
| 1175 | + if ($q) { |
|
| 1176 | + while ($t = sql_fetch($q, $serveur)) { |
|
| 1177 | + $r[] = array_shift($t); |
|
| 1178 | + } |
|
| 1179 | + } |
|
| 1180 | + |
|
| 1181 | + return $r; |
|
| 1182 | 1182 | } |
| 1183 | 1183 | |
| 1184 | 1184 | /** |
@@ -1211,31 +1211,31 @@ discard block |
||
| 1211 | 1211 | * - 'join' => array() // jointures, si déclarées. |
| 1212 | 1212 | **/ |
| 1213 | 1213 | function sql_showtable($table, $table_spip = false, $serveur = '', $option = true) { |
| 1214 | - $f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false); |
|
| 1215 | - if (!is_string($f) or !$f) { |
|
| 1216 | - return false; |
|
| 1217 | - } |
|
| 1218 | - |
|
| 1219 | - // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1220 | - if ($table_spip) { |
|
| 1221 | - $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1222 | - $prefixe = $connexion['prefixe']; |
|
| 1223 | - $vraie_table = prefixer_table_spip($table, $prefixe); |
|
| 1224 | - } else { |
|
| 1225 | - $vraie_table = $table; |
|
| 1226 | - } |
|
| 1227 | - |
|
| 1228 | - $f = $f($vraie_table, $serveur, $option !== false); |
|
| 1229 | - if (!$f) { |
|
| 1230 | - return []; |
|
| 1231 | - } |
|
| 1232 | - if (isset($GLOBALS['tables_principales'][$table]['join'])) { |
|
| 1233 | - $f['join'] = $GLOBALS['tables_principales'][$table]['join']; |
|
| 1234 | - } elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) { |
|
| 1235 | - $f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join']; |
|
| 1236 | - } |
|
| 1237 | - |
|
| 1238 | - return $f; |
|
| 1214 | + $f = sql_serveur('showtable', $serveur, $option === 'continue' or $option === false); |
|
| 1215 | + if (!is_string($f) or !$f) { |
|
| 1216 | + return false; |
|
| 1217 | + } |
|
| 1218 | + |
|
| 1219 | + // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1220 | + if ($table_spip) { |
|
| 1221 | + $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1222 | + $prefixe = $connexion['prefixe']; |
|
| 1223 | + $vraie_table = prefixer_table_spip($table, $prefixe); |
|
| 1224 | + } else { |
|
| 1225 | + $vraie_table = $table; |
|
| 1226 | + } |
|
| 1227 | + |
|
| 1228 | + $f = $f($vraie_table, $serveur, $option !== false); |
|
| 1229 | + if (!$f) { |
|
| 1230 | + return []; |
|
| 1231 | + } |
|
| 1232 | + if (isset($GLOBALS['tables_principales'][$table]['join'])) { |
|
| 1233 | + $f['join'] = $GLOBALS['tables_principales'][$table]['join']; |
|
| 1234 | + } elseif (isset($GLOBALS['tables_auxiliaires'][$table]['join'])) { |
|
| 1235 | + $f['join'] = $GLOBALS['tables_auxiliaires'][$table]['join']; |
|
| 1236 | + } |
|
| 1237 | + |
|
| 1238 | + return $f; |
|
| 1239 | 1239 | } |
| 1240 | 1240 | |
| 1241 | 1241 | |
@@ -1263,21 +1263,21 @@ discard block |
||
| 1263 | 1263 | * - False en cas d'erreur. |
| 1264 | 1264 | **/ |
| 1265 | 1265 | function sql_table_exists(string $table, bool $table_spip = true, $serveur = '', $option = true) { |
| 1266 | - $f = sql_serveur('table_exists', $serveur, $option === 'continue' or $option === false); |
|
| 1267 | - if (!is_string($f) or !$f) { |
|
| 1268 | - return false; |
|
| 1269 | - } |
|
| 1270 | - |
|
| 1271 | - // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1272 | - if ($table_spip) { |
|
| 1273 | - $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1274 | - $prefixe = $connexion['prefixe']; |
|
| 1275 | - $vraie_table = prefixer_table_spip($table, $prefixe); |
|
| 1276 | - } else { |
|
| 1277 | - $vraie_table = $table; |
|
| 1278 | - } |
|
| 1279 | - |
|
| 1280 | - return $f($vraie_table, $serveur, $option !== false); |
|
| 1266 | + $f = sql_serveur('table_exists', $serveur, $option === 'continue' or $option === false); |
|
| 1267 | + if (!is_string($f) or !$f) { |
|
| 1268 | + return false; |
|
| 1269 | + } |
|
| 1270 | + |
|
| 1271 | + // la globale n'est remplie qu'apres l'appel de sql_serveur. |
|
| 1272 | + if ($table_spip) { |
|
| 1273 | + $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 1274 | + $prefixe = $connexion['prefixe']; |
|
| 1275 | + $vraie_table = prefixer_table_spip($table, $prefixe); |
|
| 1276 | + } else { |
|
| 1277 | + $vraie_table = $table; |
|
| 1278 | + } |
|
| 1279 | + |
|
| 1280 | + return $f($vraie_table, $serveur, $option !== false); |
|
| 1281 | 1281 | } |
| 1282 | 1282 | |
| 1283 | 1283 | |
@@ -1323,24 +1323,24 @@ discard block |
||
| 1323 | 1323 | * true si succès, false en cas d'echec |
| 1324 | 1324 | **/ |
| 1325 | 1325 | function sql_create( |
| 1326 | - $nom, |
|
| 1327 | - $champs, |
|
| 1328 | - $cles = [], |
|
| 1329 | - $autoinc = false, |
|
| 1330 | - $temporary = false, |
|
| 1331 | - $serveur = '', |
|
| 1332 | - $option = true |
|
| 1326 | + $nom, |
|
| 1327 | + $champs, |
|
| 1328 | + $cles = [], |
|
| 1329 | + $autoinc = false, |
|
| 1330 | + $temporary = false, |
|
| 1331 | + $serveur = '', |
|
| 1332 | + $option = true |
|
| 1333 | 1333 | ) { |
| 1334 | - $f = sql_serveur('create', $serveur, $option === 'continue' or $option === false); |
|
| 1335 | - if (!is_string($f) or !$f) { |
|
| 1336 | - return false; |
|
| 1337 | - } |
|
| 1338 | - $r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false); |
|
| 1339 | - if ($r === false) { |
|
| 1340 | - spip_sql_erreur($serveur); |
|
| 1341 | - } |
|
| 1342 | - |
|
| 1343 | - return $r; |
|
| 1334 | + $f = sql_serveur('create', $serveur, $option === 'continue' or $option === false); |
|
| 1335 | + if (!is_string($f) or !$f) { |
|
| 1336 | + return false; |
|
| 1337 | + } |
|
| 1338 | + $r = $f($nom, $champs, $cles, $autoinc, $temporary, $serveur, $option !== false); |
|
| 1339 | + if ($r === false) { |
|
| 1340 | + spip_sql_erreur($serveur); |
|
| 1341 | + } |
|
| 1342 | + |
|
| 1343 | + return $r; |
|
| 1344 | 1344 | } |
| 1345 | 1345 | |
| 1346 | 1346 | /** |
@@ -1358,16 +1358,16 @@ discard block |
||
| 1358 | 1358 | * @return bool true si la base est créee. |
| 1359 | 1359 | **/ |
| 1360 | 1360 | function sql_create_base($nom, $serveur = '', $option = true) { |
| 1361 | - $f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false); |
|
| 1362 | - if (!is_string($f) or !$f) { |
|
| 1363 | - return false; |
|
| 1364 | - } |
|
| 1365 | - $r = $f($nom, $serveur, $option !== false); |
|
| 1366 | - if ($r === false) { |
|
| 1367 | - spip_sql_erreur($serveur); |
|
| 1368 | - } |
|
| 1369 | - |
|
| 1370 | - return $r; |
|
| 1361 | + $f = sql_serveur('create_base', $serveur, $option === 'continue' or $option === false); |
|
| 1362 | + if (!is_string($f) or !$f) { |
|
| 1363 | + return false; |
|
| 1364 | + } |
|
| 1365 | + $r = $f($nom, $serveur, $option !== false); |
|
| 1366 | + if ($r === false) { |
|
| 1367 | + spip_sql_erreur($serveur); |
|
| 1368 | + } |
|
| 1369 | + |
|
| 1370 | + return $r; |
|
| 1371 | 1371 | } |
| 1372 | 1372 | |
| 1373 | 1373 | |
@@ -1397,16 +1397,16 @@ discard block |
||
| 1397 | 1397 | * - false en cas d'échec. |
| 1398 | 1398 | **/ |
| 1399 | 1399 | function sql_create_view($nom, $select_query, $serveur = '', $option = true) { |
| 1400 | - $f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false); |
|
| 1401 | - if (!is_string($f) or !$f) { |
|
| 1402 | - return false; |
|
| 1403 | - } |
|
| 1404 | - $r = $f($nom, $select_query, $serveur, $option !== false); |
|
| 1405 | - if ($r === false) { |
|
| 1406 | - spip_sql_erreur($serveur); |
|
| 1407 | - } |
|
| 1408 | - |
|
| 1409 | - return $r; |
|
| 1400 | + $f = sql_serveur('create_view', $serveur, $option === 'continue' or $option === false); |
|
| 1401 | + if (!is_string($f) or !$f) { |
|
| 1402 | + return false; |
|
| 1403 | + } |
|
| 1404 | + $r = $f($nom, $select_query, $serveur, $option !== false); |
|
| 1405 | + if ($r === false) { |
|
| 1406 | + spip_sql_erreur($serveur); |
|
| 1407 | + } |
|
| 1408 | + |
|
| 1409 | + return $r; |
|
| 1410 | 1410 | } |
| 1411 | 1411 | |
| 1412 | 1412 | /** |
@@ -1435,12 +1435,12 @@ discard block |
||
| 1435 | 1435 | * Texte de sélection pour la requête |
| 1436 | 1436 | */ |
| 1437 | 1437 | function sql_multi($sel, $lang, $serveur = '', $option = true) { |
| 1438 | - $f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false); |
|
| 1439 | - if (!is_string($f) or !$f) { |
|
| 1440 | - return false; |
|
| 1441 | - } |
|
| 1438 | + $f = sql_serveur('multi', $serveur, $option === 'continue' or $option === false); |
|
| 1439 | + if (!is_string($f) or !$f) { |
|
| 1440 | + return false; |
|
| 1441 | + } |
|
| 1442 | 1442 | |
| 1443 | - return $f($sel, $lang); |
|
| 1443 | + return $f($sel, $lang); |
|
| 1444 | 1444 | } |
| 1445 | 1445 | |
| 1446 | 1446 | |
@@ -1455,12 +1455,12 @@ discard block |
||
| 1455 | 1455 | * False si le serveur est indisponible |
| 1456 | 1456 | */ |
| 1457 | 1457 | function sql_error($serveur = '') { |
| 1458 | - $f = sql_serveur('error', $serveur, true); |
|
| 1459 | - if (!is_string($f) or !$f) { |
|
| 1460 | - return false; |
|
| 1461 | - } |
|
| 1458 | + $f = sql_serveur('error', $serveur, true); |
|
| 1459 | + if (!is_string($f) or !$f) { |
|
| 1460 | + return false; |
|
| 1461 | + } |
|
| 1462 | 1462 | |
| 1463 | - return $f('query inconnue', $serveur); |
|
| 1463 | + return $f('query inconnue', $serveur); |
|
| 1464 | 1464 | } |
| 1465 | 1465 | |
| 1466 | 1466 | /** |
@@ -1474,12 +1474,12 @@ discard block |
||
| 1474 | 1474 | * False si le serveur est indisponible |
| 1475 | 1475 | */ |
| 1476 | 1476 | function sql_errno($serveur = '') { |
| 1477 | - $f = sql_serveur('errno', $serveur, true); |
|
| 1478 | - if (!is_string($f) or !$f) { |
|
| 1479 | - return false; |
|
| 1480 | - } |
|
| 1477 | + $f = sql_serveur('errno', $serveur, true); |
|
| 1478 | + if (!is_string($f) or !$f) { |
|
| 1479 | + return false; |
|
| 1480 | + } |
|
| 1481 | 1481 | |
| 1482 | - return $f($serveur); |
|
| 1482 | + return $f($serveur); |
|
| 1483 | 1483 | } |
| 1484 | 1484 | |
| 1485 | 1485 | /** |
@@ -1497,16 +1497,16 @@ discard block |
||
| 1497 | 1497 | * @return array|false Tableau de l'explication |
| 1498 | 1498 | */ |
| 1499 | 1499 | function sql_explain($q, $serveur = '', $option = true) { |
| 1500 | - $f = sql_serveur('explain', $serveur, true); |
|
| 1501 | - if (!is_string($f) or !$f) { |
|
| 1502 | - return false; |
|
| 1503 | - } |
|
| 1504 | - $r = $f($q, $serveur, $option !== false); |
|
| 1505 | - if ($r === false) { |
|
| 1506 | - spip_sql_erreur($serveur); |
|
| 1507 | - } |
|
| 1508 | - |
|
| 1509 | - return $r; |
|
| 1500 | + $f = sql_serveur('explain', $serveur, true); |
|
| 1501 | + if (!is_string($f) or !$f) { |
|
| 1502 | + return false; |
|
| 1503 | + } |
|
| 1504 | + $r = $f($q, $serveur, $option !== false); |
|
| 1505 | + if ($r === false) { |
|
| 1506 | + spip_sql_erreur($serveur); |
|
| 1507 | + } |
|
| 1508 | + |
|
| 1509 | + return $r; |
|
| 1510 | 1510 | } |
| 1511 | 1511 | |
| 1512 | 1512 | /** |
@@ -1524,16 +1524,16 @@ discard block |
||
| 1524 | 1524 | * @return bool Toujours true |
| 1525 | 1525 | */ |
| 1526 | 1526 | function sql_optimize($table, $serveur = '', $option = true) { |
| 1527 | - $f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false); |
|
| 1528 | - if (!is_string($f) or !$f) { |
|
| 1529 | - return false; |
|
| 1530 | - } |
|
| 1531 | - $r = $f($table, $serveur, $option !== false); |
|
| 1532 | - if ($r === false) { |
|
| 1533 | - spip_sql_erreur($serveur); |
|
| 1534 | - } |
|
| 1535 | - |
|
| 1536 | - return $r; |
|
| 1527 | + $f = sql_serveur('optimize', $serveur, $option === 'continue' or $option === false); |
|
| 1528 | + if (!is_string($f) or !$f) { |
|
| 1529 | + return false; |
|
| 1530 | + } |
|
| 1531 | + $r = $f($table, $serveur, $option !== false); |
|
| 1532 | + if ($r === false) { |
|
| 1533 | + spip_sql_erreur($serveur); |
|
| 1534 | + } |
|
| 1535 | + |
|
| 1536 | + return $r; |
|
| 1537 | 1537 | } |
| 1538 | 1538 | |
| 1539 | 1539 | /** |
@@ -1553,16 +1553,16 @@ discard block |
||
| 1553 | 1553 | * - true si la requête a réussie, false sinon |
| 1554 | 1554 | */ |
| 1555 | 1555 | function sql_repair($table, $serveur = '', $option = true) { |
| 1556 | - $f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false); |
|
| 1557 | - if (!is_string($f) or !$f) { |
|
| 1558 | - return false; |
|
| 1559 | - } |
|
| 1560 | - $r = $f($table, $serveur, $option !== false); |
|
| 1561 | - if ($r === false) { |
|
| 1562 | - spip_sql_erreur($serveur); |
|
| 1563 | - } |
|
| 1564 | - |
|
| 1565 | - return $r; |
|
| 1556 | + $f = sql_serveur('repair', $serveur, $option === 'continue' or $option === false); |
|
| 1557 | + if (!is_string($f) or !$f) { |
|
| 1558 | + return false; |
|
| 1559 | + } |
|
| 1560 | + $r = $f($table, $serveur, $option !== false); |
|
| 1561 | + if ($r === false) { |
|
| 1562 | + spip_sql_erreur($serveur); |
|
| 1563 | + } |
|
| 1564 | + |
|
| 1565 | + return $r; |
|
| 1566 | 1566 | } |
| 1567 | 1567 | |
| 1568 | 1568 | |
@@ -1587,16 +1587,16 @@ discard block |
||
| 1587 | 1587 | * - array : Tableau décrivant requête et temps d'exécution si var_profile actif pour tracer. |
| 1588 | 1588 | */ |
| 1589 | 1589 | function sql_query($ins, $serveur = '', $option = true) { |
| 1590 | - $f = sql_serveur('query', $serveur, $option === 'continue' or $option === false); |
|
| 1591 | - if (!is_string($f) or !$f) { |
|
| 1592 | - return false; |
|
| 1593 | - } |
|
| 1594 | - $r = $f($ins, $serveur, $option !== false); |
|
| 1595 | - if ($r === false) { |
|
| 1596 | - spip_sql_erreur($serveur); |
|
| 1597 | - } |
|
| 1598 | - |
|
| 1599 | - return $r; |
|
| 1590 | + $f = sql_serveur('query', $serveur, $option === 'continue' or $option === false); |
|
| 1591 | + if (!is_string($f) or !$f) { |
|
| 1592 | + return false; |
|
| 1593 | + } |
|
| 1594 | + $r = $f($ins, $serveur, $option !== false); |
|
| 1595 | + if ($r === false) { |
|
| 1596 | + spip_sql_erreur($serveur); |
|
| 1597 | + } |
|
| 1598 | + |
|
| 1599 | + return $r; |
|
| 1600 | 1600 | } |
| 1601 | 1601 | |
| 1602 | 1602 | /** |
@@ -1644,27 +1644,27 @@ discard block |
||
| 1644 | 1644 | * |
| 1645 | 1645 | **/ |
| 1646 | 1646 | function sql_fetsel( |
| 1647 | - $select = [], |
|
| 1648 | - $from = [], |
|
| 1649 | - $where = [], |
|
| 1650 | - $groupby = [], |
|
| 1651 | - $orderby = [], |
|
| 1652 | - $limit = '', |
|
| 1653 | - $having = [], |
|
| 1654 | - $serveur = '', |
|
| 1655 | - $option = true |
|
| 1647 | + $select = [], |
|
| 1648 | + $from = [], |
|
| 1649 | + $where = [], |
|
| 1650 | + $groupby = [], |
|
| 1651 | + $orderby = [], |
|
| 1652 | + $limit = '', |
|
| 1653 | + $having = [], |
|
| 1654 | + $serveur = '', |
|
| 1655 | + $option = true |
|
| 1656 | 1656 | ) { |
| 1657 | - $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1658 | - if ($option === false) { |
|
| 1659 | - return $q; |
|
| 1660 | - } |
|
| 1661 | - if (!$q) { |
|
| 1662 | - return []; |
|
| 1663 | - } |
|
| 1664 | - $r = sql_fetch($q, $serveur, $option); |
|
| 1665 | - sql_free($q, $serveur, $option); |
|
| 1666 | - |
|
| 1667 | - return $r; |
|
| 1657 | + $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1658 | + if ($option === false) { |
|
| 1659 | + return $q; |
|
| 1660 | + } |
|
| 1661 | + if (!$q) { |
|
| 1662 | + return []; |
|
| 1663 | + } |
|
| 1664 | + $r = sql_fetch($q, $serveur, $option); |
|
| 1665 | + sql_free($q, $serveur, $option); |
|
| 1666 | + |
|
| 1667 | + return $r; |
|
| 1668 | 1668 | } |
| 1669 | 1669 | |
| 1670 | 1670 | |
@@ -1721,22 +1721,22 @@ discard block |
||
| 1721 | 1721 | * |
| 1722 | 1722 | **/ |
| 1723 | 1723 | function sql_allfetsel( |
| 1724 | - $select = [], |
|
| 1725 | - $from = [], |
|
| 1726 | - $where = [], |
|
| 1727 | - $groupby = [], |
|
| 1728 | - $orderby = [], |
|
| 1729 | - $limit = '', |
|
| 1730 | - $having = [], |
|
| 1731 | - $serveur = '', |
|
| 1732 | - $option = true |
|
| 1724 | + $select = [], |
|
| 1725 | + $from = [], |
|
| 1726 | + $where = [], |
|
| 1727 | + $groupby = [], |
|
| 1728 | + $orderby = [], |
|
| 1729 | + $limit = '', |
|
| 1730 | + $having = [], |
|
| 1731 | + $serveur = '', |
|
| 1732 | + $option = true |
|
| 1733 | 1733 | ) { |
| 1734 | - $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1735 | - if ($option === false) { |
|
| 1736 | - return $q; |
|
| 1737 | - } |
|
| 1734 | + $q = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1735 | + if ($option === false) { |
|
| 1736 | + return $q; |
|
| 1737 | + } |
|
| 1738 | 1738 | |
| 1739 | - return sql_fetch_all($q, $serveur, $option); |
|
| 1739 | + return sql_fetch_all($q, $serveur, $option); |
|
| 1740 | 1740 | } |
| 1741 | 1741 | |
| 1742 | 1742 | |
@@ -1783,33 +1783,33 @@ discard block |
||
| 1783 | 1783 | * |
| 1784 | 1784 | **/ |
| 1785 | 1785 | function sql_getfetsel( |
| 1786 | - $select, |
|
| 1787 | - $from = [], |
|
| 1788 | - $where = [], |
|
| 1789 | - $groupby = [], |
|
| 1790 | - $orderby = [], |
|
| 1791 | - $limit = '', |
|
| 1792 | - $having = [], |
|
| 1793 | - $serveur = '', |
|
| 1794 | - $option = true |
|
| 1786 | + $select, |
|
| 1787 | + $from = [], |
|
| 1788 | + $where = [], |
|
| 1789 | + $groupby = [], |
|
| 1790 | + $orderby = [], |
|
| 1791 | + $limit = '', |
|
| 1792 | + $having = [], |
|
| 1793 | + $serveur = '', |
|
| 1794 | + $option = true |
|
| 1795 | 1795 | ) { |
| 1796 | - if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) { |
|
| 1797 | - $id = $c[1]; |
|
| 1798 | - } elseif (!preg_match('/\W/', $select)) { |
|
| 1799 | - $id = $select; |
|
| 1800 | - } else { |
|
| 1801 | - $id = 'n'; |
|
| 1802 | - $select .= ' AS n'; |
|
| 1803 | - } |
|
| 1804 | - $r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1805 | - if ($option === false) { |
|
| 1806 | - return $r; |
|
| 1807 | - } |
|
| 1808 | - if (!$r) { |
|
| 1809 | - return null; |
|
| 1810 | - } |
|
| 1811 | - |
|
| 1812 | - return $r[$id]; |
|
| 1796 | + if (preg_match('/\s+as\s+(\w+)$/i', $select, $c)) { |
|
| 1797 | + $id = $c[1]; |
|
| 1798 | + } elseif (!preg_match('/\W/', $select)) { |
|
| 1799 | + $id = $select; |
|
| 1800 | + } else { |
|
| 1801 | + $id = 'n'; |
|
| 1802 | + $select .= ' AS n'; |
|
| 1803 | + } |
|
| 1804 | + $r = sql_fetsel($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, $option); |
|
| 1805 | + if ($option === false) { |
|
| 1806 | + return $r; |
|
| 1807 | + } |
|
| 1808 | + if (!$r) { |
|
| 1809 | + return null; |
|
| 1810 | + } |
|
| 1811 | + |
|
| 1812 | + return $r[$id]; |
|
| 1813 | 1813 | } |
| 1814 | 1814 | |
| 1815 | 1815 | /** |
@@ -1827,9 +1827,9 @@ discard block |
||
| 1827 | 1827 | * Numero de version du serveur SQL |
| 1828 | 1828 | **/ |
| 1829 | 1829 | function sql_version($serveur = '', $option = true) { |
| 1830 | - $row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur); |
|
| 1830 | + $row = sql_fetsel('version() AS n', '', '', '', '', '', '', $serveur); |
|
| 1831 | 1831 | |
| 1832 | - return ($row['n']); |
|
| 1832 | + return ($row['n']); |
|
| 1833 | 1833 | } |
| 1834 | 1834 | |
| 1835 | 1835 | /** |
@@ -1865,16 +1865,16 @@ discard block |
||
| 1865 | 1865 | * Le serveur SQL prefere t'il des transactions pour les insertions multiples ? |
| 1866 | 1866 | **/ |
| 1867 | 1867 | function sql_preferer_transaction($serveur = '', $option = true) { |
| 1868 | - $f = sql_serveur('preferer_transaction', $serveur, true); |
|
| 1869 | - if (!is_string($f) or !$f) { |
|
| 1870 | - return false; |
|
| 1871 | - } |
|
| 1872 | - $r = $f($serveur, $option !== false); |
|
| 1873 | - if ($r === false) { |
|
| 1874 | - spip_sql_erreur($serveur); |
|
| 1875 | - } |
|
| 1876 | - |
|
| 1877 | - return $r; |
|
| 1868 | + $f = sql_serveur('preferer_transaction', $serveur, true); |
|
| 1869 | + if (!is_string($f) or !$f) { |
|
| 1870 | + return false; |
|
| 1871 | + } |
|
| 1872 | + $r = $f($serveur, $option !== false); |
|
| 1873 | + if ($r === false) { |
|
| 1874 | + spip_sql_erreur($serveur); |
|
| 1875 | + } |
|
| 1876 | + |
|
| 1877 | + return $r; |
|
| 1878 | 1878 | } |
| 1879 | 1879 | |
| 1880 | 1880 | ; |
@@ -1899,16 +1899,16 @@ discard block |
||
| 1899 | 1899 | * false en cas d'erreur |
| 1900 | 1900 | **/ |
| 1901 | 1901 | function sql_demarrer_transaction($serveur = '', $option = true) { |
| 1902 | - $f = sql_serveur('demarrer_transaction', $serveur, true); |
|
| 1903 | - if (!is_string($f) or !$f) { |
|
| 1904 | - return false; |
|
| 1905 | - } |
|
| 1906 | - $r = $f($serveur, $option !== false); |
|
| 1907 | - if ($r === false) { |
|
| 1908 | - spip_sql_erreur($serveur); |
|
| 1909 | - } |
|
| 1910 | - |
|
| 1911 | - return $r; |
|
| 1902 | + $f = sql_serveur('demarrer_transaction', $serveur, true); |
|
| 1903 | + if (!is_string($f) or !$f) { |
|
| 1904 | + return false; |
|
| 1905 | + } |
|
| 1906 | + $r = $f($serveur, $option !== false); |
|
| 1907 | + if ($r === false) { |
|
| 1908 | + spip_sql_erreur($serveur); |
|
| 1909 | + } |
|
| 1910 | + |
|
| 1911 | + return $r; |
|
| 1912 | 1912 | } |
| 1913 | 1913 | |
| 1914 | 1914 | ; |
@@ -1933,16 +1933,16 @@ discard block |
||
| 1933 | 1933 | * false en cas d'erreur |
| 1934 | 1934 | **/ |
| 1935 | 1935 | function sql_terminer_transaction($serveur = '', $option = true) { |
| 1936 | - $f = sql_serveur('terminer_transaction', $serveur, true); |
|
| 1937 | - if (!is_string($f) or !$f) { |
|
| 1938 | - return false; |
|
| 1939 | - } |
|
| 1940 | - $r = $f($serveur, $option !== false); |
|
| 1941 | - if ($r === false) { |
|
| 1942 | - spip_sql_erreur($serveur); |
|
| 1943 | - } |
|
| 1944 | - |
|
| 1945 | - return $r; |
|
| 1936 | + $f = sql_serveur('terminer_transaction', $serveur, true); |
|
| 1937 | + if (!is_string($f) or !$f) { |
|
| 1938 | + return false; |
|
| 1939 | + } |
|
| 1940 | + $r = $f($serveur, $option !== false); |
|
| 1941 | + if ($r === false) { |
|
| 1942 | + spip_sql_erreur($serveur); |
|
| 1943 | + } |
|
| 1944 | + |
|
| 1945 | + return $r; |
|
| 1946 | 1946 | } |
| 1947 | 1947 | |
| 1948 | 1948 | ; |
@@ -1969,12 +1969,12 @@ discard block |
||
| 1969 | 1969 | * Valeur hexadécimale attendue par le serveur SQL |
| 1970 | 1970 | **/ |
| 1971 | 1971 | function sql_hex($val, $serveur = '', $option = true) { |
| 1972 | - $f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false); |
|
| 1973 | - if (!is_string($f) or !$f) { |
|
| 1974 | - return false; |
|
| 1975 | - } |
|
| 1972 | + $f = sql_serveur('hex', $serveur, $option === 'continue' or $option === false); |
|
| 1973 | + if (!is_string($f) or !$f) { |
|
| 1974 | + return false; |
|
| 1975 | + } |
|
| 1976 | 1976 | |
| 1977 | - return $f($val); |
|
| 1977 | + return $f($val); |
|
| 1978 | 1978 | } |
| 1979 | 1979 | |
| 1980 | 1980 | /** |
@@ -2000,12 +2000,12 @@ discard block |
||
| 2000 | 2000 | * La chaine echappee |
| 2001 | 2001 | **/ |
| 2002 | 2002 | function sql_quote($val, $serveur = '', $type = '') { |
| 2003 | - $f = sql_serveur('quote', $serveur, true); |
|
| 2004 | - if (!is_string($f) or !$f) { |
|
| 2005 | - $f = '_q'; |
|
| 2006 | - } |
|
| 2003 | + $f = sql_serveur('quote', $serveur, true); |
|
| 2004 | + if (!is_string($f) or !$f) { |
|
| 2005 | + $f = '_q'; |
|
| 2006 | + } |
|
| 2007 | 2007 | |
| 2008 | - return $f($val, $type); |
|
| 2008 | + return $f($val, $type); |
|
| 2009 | 2009 | } |
| 2010 | 2010 | |
| 2011 | 2011 | /** |
@@ -2030,12 +2030,12 @@ discard block |
||
| 2030 | 2030 | * - false si le serveur SQL est indisponible |
| 2031 | 2031 | **/ |
| 2032 | 2032 | function sql_date_proche($champ, $interval, $unite, $serveur = '', $option = true) { |
| 2033 | - $f = sql_serveur('date_proche', $serveur, true); |
|
| 2034 | - if (!is_string($f) or !$f) { |
|
| 2035 | - return false; |
|
| 2036 | - } |
|
| 2033 | + $f = sql_serveur('date_proche', $serveur, true); |
|
| 2034 | + if (!is_string($f) or !$f) { |
|
| 2035 | + return false; |
|
| 2036 | + } |
|
| 2037 | 2037 | |
| 2038 | - return $f($champ, $interval, $unite); |
|
| 2038 | + return $f($champ, $interval, $unite); |
|
| 2039 | 2039 | } |
| 2040 | 2040 | |
| 2041 | 2041 | /** |
@@ -2071,26 +2071,26 @@ discard block |
||
| 2071 | 2071 | * Expression de requête SQL |
| 2072 | 2072 | **/ |
| 2073 | 2073 | function sql_in_quote($champ, $valeurs, $not = '', $serveur = '', $type = '', $option = true) { |
| 2074 | - $quote = sql_serveur('quote', $serveur, true); |
|
| 2075 | - if (!is_string($quote) or !$quote) { |
|
| 2076 | - return false; |
|
| 2077 | - } |
|
| 2078 | - |
|
| 2079 | - // sql_quote produit une chaine dans tous les cas |
|
| 2080 | - $valeurs = array_filter($valeurs, fn($v) => !is_array($v)); |
|
| 2081 | - $valeurs = array_unique($valeurs); |
|
| 2082 | - $valeurs = $quote($valeurs, $type); |
|
| 2083 | - |
|
| 2084 | - if (!strlen(trim($valeurs))) { |
|
| 2085 | - return ($not ? '0=0' : '0=1'); |
|
| 2086 | - } |
|
| 2087 | - |
|
| 2088 | - $f = sql_serveur('in', $serveur, $option === 'continue' or $option === false); |
|
| 2089 | - if (!is_string($f) or !$f) { |
|
| 2090 | - return false; |
|
| 2091 | - } |
|
| 2092 | - |
|
| 2093 | - return $f($champ, $valeurs, $not ? 'NOT' : '', $serveur, $option !== false); |
|
| 2074 | + $quote = sql_serveur('quote', $serveur, true); |
|
| 2075 | + if (!is_string($quote) or !$quote) { |
|
| 2076 | + return false; |
|
| 2077 | + } |
|
| 2078 | + |
|
| 2079 | + // sql_quote produit une chaine dans tous les cas |
|
| 2080 | + $valeurs = array_filter($valeurs, fn($v) => !is_array($v)); |
|
| 2081 | + $valeurs = array_unique($valeurs); |
|
| 2082 | + $valeurs = $quote($valeurs, $type); |
|
| 2083 | + |
|
| 2084 | + if (!strlen(trim($valeurs))) { |
|
| 2085 | + return ($not ? '0=0' : '0=1'); |
|
| 2086 | + } |
|
| 2087 | + |
|
| 2088 | + $f = sql_serveur('in', $serveur, $option === 'continue' or $option === false); |
|
| 2089 | + if (!is_string($f) or !$f) { |
|
| 2090 | + return false; |
|
| 2091 | + } |
|
| 2092 | + |
|
| 2093 | + return $f($champ, $valeurs, $not ? 'NOT' : '', $serveur, $option !== false); |
|
| 2094 | 2094 | } |
| 2095 | 2095 | |
| 2096 | 2096 | /** |
@@ -2107,19 +2107,19 @@ discard block |
||
| 2107 | 2107 | * @param bool $option |
| 2108 | 2108 | */ |
| 2109 | 2109 | function sql_in($champ, $valeurs, $not = '', $serveur = '', $option = true) { |
| 2110 | - $type = ''; |
|
| 2111 | - if (!is_array($valeurs)) { |
|
| 2112 | - $valeurs = strval($valeurs); |
|
| 2113 | - if (isset($valeurs[0]) and $valeurs[0] === ',') { |
|
| 2114 | - $valeurs = substr($valeurs, 1); |
|
| 2115 | - } |
|
| 2116 | - // on explode en tableau pour pouvoir securiser le contenu |
|
| 2117 | - $valeurs = explode(',', $valeurs); |
|
| 2118 | - // et on force un cast de type int donc |
|
| 2119 | - $type = 'int'; |
|
| 2120 | - } |
|
| 2121 | - |
|
| 2122 | - return sql_in_quote($champ, $valeurs, $not, $serveur, $type, $option); |
|
| 2110 | + $type = ''; |
|
| 2111 | + if (!is_array($valeurs)) { |
|
| 2112 | + $valeurs = strval($valeurs); |
|
| 2113 | + if (isset($valeurs[0]) and $valeurs[0] === ',') { |
|
| 2114 | + $valeurs = substr($valeurs, 1); |
|
| 2115 | + } |
|
| 2116 | + // on explode en tableau pour pouvoir securiser le contenu |
|
| 2117 | + $valeurs = explode(',', $valeurs); |
|
| 2118 | + // et on force un cast de type int donc |
|
| 2119 | + $type = 'int'; |
|
| 2120 | + } |
|
| 2121 | + |
|
| 2122 | + return sql_in_quote($champ, $valeurs, $not, $serveur, $type, $option); |
|
| 2123 | 2123 | } |
| 2124 | 2124 | |
| 2125 | 2125 | |
@@ -2160,24 +2160,24 @@ discard block |
||
| 2160 | 2160 | * Expression de requête SQL |
| 2161 | 2161 | **/ |
| 2162 | 2162 | function sql_in_select( |
| 2163 | - $in, |
|
| 2164 | - $select, |
|
| 2165 | - $from = [], |
|
| 2166 | - $where = [], |
|
| 2167 | - $groupby = [], |
|
| 2168 | - $orderby = [], |
|
| 2169 | - $limit = '', |
|
| 2170 | - $having = [], |
|
| 2171 | - $serveur = '' |
|
| 2163 | + $in, |
|
| 2164 | + $select, |
|
| 2165 | + $from = [], |
|
| 2166 | + $where = [], |
|
| 2167 | + $groupby = [], |
|
| 2168 | + $orderby = [], |
|
| 2169 | + $limit = '', |
|
| 2170 | + $having = [], |
|
| 2171 | + $serveur = '' |
|
| 2172 | 2172 | ) { |
| 2173 | - $liste = []; |
|
| 2174 | - $res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur); |
|
| 2175 | - while ($r = sql_fetch($res)) { |
|
| 2176 | - $liste[] = array_shift($r); |
|
| 2177 | - } |
|
| 2178 | - sql_free($res); |
|
| 2179 | - |
|
| 2180 | - return sql_in($in, $liste); |
|
| 2173 | + $liste = []; |
|
| 2174 | + $res = sql_select($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur); |
|
| 2175 | + while ($r = sql_fetch($res)) { |
|
| 2176 | + $liste[] = array_shift($r); |
|
| 2177 | + } |
|
| 2178 | + sql_free($res); |
|
| 2179 | + |
|
| 2180 | + return sql_in($in, $liste); |
|
| 2181 | 2181 | } |
| 2182 | 2182 | |
| 2183 | 2183 | /** |
@@ -2209,29 +2209,29 @@ discard block |
||
| 2209 | 2209 | * Position apres le saut. |
| 2210 | 2210 | */ |
| 2211 | 2211 | function sql_skip($res, $pos, $saut, $count, $serveur = '', $option = true) { |
| 2212 | - // pas de saut en arriere qu'on ne sait pas faire sans sql_seek |
|
| 2213 | - if (($saut = intval($saut)) <= 0) { |
|
| 2214 | - return $pos; |
|
| 2215 | - } |
|
| 2216 | - |
|
| 2217 | - $seek = $pos + $saut; |
|
| 2218 | - // si le saut fait depasser le maxi, on libere la resource |
|
| 2219 | - // et on sort |
|
| 2220 | - if ($seek >= $count) { |
|
| 2221 | - sql_free($res, $serveur, $option); |
|
| 2222 | - |
|
| 2223 | - return $count; |
|
| 2224 | - } |
|
| 2225 | - |
|
| 2226 | - if (sql_seek($res, $seek)) { |
|
| 2227 | - $pos = $seek; |
|
| 2228 | - } else { |
|
| 2229 | - while ($pos < $seek and sql_fetch($res, $serveur, $option)) { |
|
| 2230 | - $pos++; |
|
| 2231 | - } |
|
| 2232 | - } |
|
| 2233 | - |
|
| 2234 | - return $pos; |
|
| 2212 | + // pas de saut en arriere qu'on ne sait pas faire sans sql_seek |
|
| 2213 | + if (($saut = intval($saut)) <= 0) { |
|
| 2214 | + return $pos; |
|
| 2215 | + } |
|
| 2216 | + |
|
| 2217 | + $seek = $pos + $saut; |
|
| 2218 | + // si le saut fait depasser le maxi, on libere la resource |
|
| 2219 | + // et on sort |
|
| 2220 | + if ($seek >= $count) { |
|
| 2221 | + sql_free($res, $serveur, $option); |
|
| 2222 | + |
|
| 2223 | + return $count; |
|
| 2224 | + } |
|
| 2225 | + |
|
| 2226 | + if (sql_seek($res, $seek)) { |
|
| 2227 | + $pos = $seek; |
|
| 2228 | + } else { |
|
| 2229 | + while ($pos < $seek and sql_fetch($res, $serveur, $option)) { |
|
| 2230 | + $pos++; |
|
| 2231 | + } |
|
| 2232 | + } |
|
| 2233 | + |
|
| 2234 | + return $pos; |
|
| 2235 | 2235 | } |
| 2236 | 2236 | |
| 2237 | 2237 | |
@@ -2251,7 +2251,7 @@ discard block |
||
| 2251 | 2251 | * True si le champ est de type entier |
| 2252 | 2252 | */ |
| 2253 | 2253 | function sql_test_int($type, $serveur = '', $option = true) { |
| 2254 | - return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type)); |
|
| 2254 | + return preg_match('/^(TINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|BIGINT)/i', trim($type)); |
|
| 2255 | 2255 | } |
| 2256 | 2256 | |
| 2257 | 2257 | /** |
@@ -2270,7 +2270,7 @@ discard block |
||
| 2270 | 2270 | * True si le champ est de type entier |
| 2271 | 2271 | */ |
| 2272 | 2272 | function sql_test_date($type, $serveur = '', $option = true) { |
| 2273 | - return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type)); |
|
| 2273 | + return preg_match('/^(DATE|DATETIME|TIMESTAMP|TIME)/i', trim($type)); |
|
| 2274 | 2274 | } |
| 2275 | 2275 | |
| 2276 | 2276 | /** |
@@ -2292,19 +2292,19 @@ discard block |
||
| 2292 | 2292 | * La date formatee |
| 2293 | 2293 | */ |
| 2294 | 2294 | function sql_format_date($annee = 0, $mois = 0, $jour = 0, $h = 0, $m = 0, $s = 0, $serveur = '') { |
| 2295 | - $annee = sprintf('%04s', $annee); |
|
| 2296 | - $mois = sprintf('%02s', $mois); |
|
| 2297 | - |
|
| 2298 | - if ($annee == '0000') { |
|
| 2299 | - $mois = 0; |
|
| 2300 | - } |
|
| 2301 | - if ($mois == '00') { |
|
| 2302 | - $jour = 0; |
|
| 2303 | - } |
|
| 2304 | - |
|
| 2305 | - return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-' |
|
| 2306 | - . sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':' |
|
| 2307 | - . sprintf('%02u', $m) . ':' . sprintf('%02u', $s); |
|
| 2295 | + $annee = sprintf('%04s', $annee); |
|
| 2296 | + $mois = sprintf('%02s', $mois); |
|
| 2297 | + |
|
| 2298 | + if ($annee == '0000') { |
|
| 2299 | + $mois = 0; |
|
| 2300 | + } |
|
| 2301 | + if ($mois == '00') { |
|
| 2302 | + $jour = 0; |
|
| 2303 | + } |
|
| 2304 | + |
|
| 2305 | + return sprintf('%04u', $annee) . '-' . sprintf('%02u', $mois) . '-' |
|
| 2306 | + . sprintf('%02u', $jour) . ' ' . sprintf('%02u', $h) . ':' |
|
| 2307 | + . sprintf('%02u', $m) . ':' . sprintf('%02u', $s); |
|
| 2308 | 2308 | } |
| 2309 | 2309 | |
| 2310 | 2310 | |
@@ -2327,32 +2327,32 @@ discard block |
||
| 2327 | 2327 | **/ |
| 2328 | 2328 | function description_table($nom, $serveur = '') { |
| 2329 | 2329 | |
| 2330 | - static $trouver_table; |
|
| 2330 | + static $trouver_table; |
|
| 2331 | 2331 | |
| 2332 | - /* toujours utiliser trouver_table |
|
| 2332 | + /* toujours utiliser trouver_table |
|
| 2333 | 2333 | qui renverra la description theorique |
| 2334 | 2334 | car sinon on va se comporter differement selon que la table est declaree |
| 2335 | 2335 | ou non |
| 2336 | 2336 | */ |
| 2337 | - if (!$trouver_table) { |
|
| 2338 | - $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 2339 | - } |
|
| 2340 | - if ($desc = $trouver_table($nom, $serveur)) { |
|
| 2341 | - return $desc; |
|
| 2342 | - } |
|
| 2343 | - |
|
| 2344 | - // sauf a l'installation : |
|
| 2345 | - include_spip('base/serial'); |
|
| 2346 | - if (isset($GLOBALS['tables_principales'][$nom])) { |
|
| 2347 | - return $GLOBALS['tables_principales'][$nom]; |
|
| 2348 | - } |
|
| 2349 | - |
|
| 2350 | - include_spip('base/auxiliaires'); |
|
| 2351 | - if (isset($GLOBALS['tables_auxiliaires'][$nom])) { |
|
| 2352 | - return $GLOBALS['tables_auxiliaires'][$nom]; |
|
| 2353 | - } |
|
| 2354 | - |
|
| 2355 | - return false; |
|
| 2337 | + if (!$trouver_table) { |
|
| 2338 | + $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 2339 | + } |
|
| 2340 | + if ($desc = $trouver_table($nom, $serveur)) { |
|
| 2341 | + return $desc; |
|
| 2342 | + } |
|
| 2343 | + |
|
| 2344 | + // sauf a l'installation : |
|
| 2345 | + include_spip('base/serial'); |
|
| 2346 | + if (isset($GLOBALS['tables_principales'][$nom])) { |
|
| 2347 | + return $GLOBALS['tables_principales'][$nom]; |
|
| 2348 | + } |
|
| 2349 | + |
|
| 2350 | + include_spip('base/auxiliaires'); |
|
| 2351 | + if (isset($GLOBALS['tables_auxiliaires'][$nom])) { |
|
| 2352 | + return $GLOBALS['tables_auxiliaires'][$nom]; |
|
| 2353 | + } |
|
| 2354 | + |
|
| 2355 | + return false; |
|
| 2356 | 2356 | } |
| 2357 | 2357 | |
| 2358 | 2358 | /** |
@@ -2365,8 +2365,8 @@ discard block |
||
| 2365 | 2365 | * @return string Table sql éventuellement renommée |
| 2366 | 2366 | */ |
| 2367 | 2367 | function prefixer_table_spip($table, $prefixe) { |
| 2368 | - if ($prefixe) { |
|
| 2369 | - $table = preg_replace('/^spip_/', $prefixe . '_', $table); |
|
| 2370 | - } |
|
| 2371 | - return $table; |
|
| 2368 | + if ($prefixe) { |
|
| 2369 | + $table = preg_replace('/^spip_/', $prefixe . '_', $table); |
|
| 2370 | + } |
|
| 2371 | + return $table; |
|
| 2372 | 2372 | } |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * Pile complétée du code compilé |
| 38 | 38 | **/ |
| 39 | 39 | function balise_MENU_LANG($p) { |
| 40 | - return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']); |
|
| 40 | + return calculer_balise_dynamique($p, 'MENU_LANG', ['lang']); |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | /** |
@@ -56,11 +56,11 @@ discard block |
||
| 56 | 56 | * string: (vide) si pas de multilinguisme |
| 57 | 57 | */ |
| 58 | 58 | function balise_MENU_LANG_stat($args, $context_compil) { |
| 59 | - if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) { |
|
| 60 | - return ''; |
|
| 61 | - } |
|
| 59 | + if (strpos($GLOBALS['meta']['langues_multilingue'], ',') === false) { |
|
| 60 | + return ''; |
|
| 61 | + } |
|
| 62 | 62 | |
| 63 | - return $args; |
|
| 63 | + return $args; |
|
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | /** |
@@ -76,7 +76,7 @@ discard block |
||
| 76 | 76 | * Liste : Chemin du squelette, durée du cache, contexte |
| 77 | 77 | **/ |
| 78 | 78 | function balise_MENU_LANG_dyn($opt) { |
| 79 | - include_spip('balise/menu_lang_ecrire'); |
|
| 79 | + include_spip('balise/menu_lang_ecrire'); |
|
| 80 | 80 | |
| 81 | - return menu_lang_pour_tous('var_lang', $opt); |
|
| 81 | + return menu_lang_pour_tous('var_lang', $opt); |
|
| 82 | 82 | } |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | // Authentifie via LDAP et retourne la ligne SQL decrivant l'utilisateur si ok |
@@ -25,12 +25,12 @@ discard block |
||
| 25 | 25 | // Attributs LDAP correspondants a ceux de SPIP, notamment pour le login |
| 26 | 26 | // ne pas ecraser une definition perso dans mes_options |
| 27 | 27 | if (!isset($GLOBALS['ldap_attributes']) or !is_array($GLOBALS['ldap_attributes'])) { |
| 28 | - $GLOBALS['ldap_attributes'] = [ |
|
| 29 | - 'login' => ['sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'], |
|
| 30 | - 'nom' => 'cn', |
|
| 31 | - 'email' => 'mail', |
|
| 32 | - 'bio' => 'description' |
|
| 33 | - ]; |
|
| 28 | + $GLOBALS['ldap_attributes'] = [ |
|
| 29 | + 'login' => ['sAMAccountName', 'uid', 'login', 'userid', 'cn', 'sn'], |
|
| 30 | + 'nom' => 'cn', |
|
| 31 | + 'email' => 'mail', |
|
| 32 | + 'bio' => 'description' |
|
| 33 | + ]; |
|
| 34 | 34 | } |
| 35 | 35 | |
| 36 | 36 | /** |
@@ -56,50 +56,50 @@ discard block |
||
| 56 | 56 | */ |
| 57 | 57 | function auth_ldap_dist($login, $pass, $serveur = '', $phpauth = false) { |
| 58 | 58 | |
| 59 | - #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 60 | - |
|
| 61 | - // Utilisateur connu ? |
|
| 62 | - // si http auth, inutile de reauthentifier: cela |
|
| 63 | - // ne marchera pas avec auth http autre que basic. |
|
| 64 | - $checkpass = isset($_SERVER['REMOTE_USER']) ? false : true; |
|
| 65 | - if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) { |
|
| 66 | - return []; |
|
| 67 | - } |
|
| 68 | - $credentials_ldap = ['ldap_dn' => $dn, 'ldap_password' => $pass]; |
|
| 69 | - |
|
| 70 | - // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 71 | - $r = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur); |
|
| 72 | - |
|
| 73 | - if ($r) { |
|
| 74 | - return array_merge($r, $credentials_ldap); |
|
| 75 | - } |
|
| 76 | - |
|
| 77 | - // sinon importer les infos depuis LDAP, |
|
| 78 | - |
|
| 79 | - if ( |
|
| 80 | - $GLOBALS['meta']['ldap_statut_import'] |
|
| 81 | - and $desc = auth_ldap_retrouver($dn, [], $serveur) |
|
| 82 | - ) { |
|
| 83 | - // rajouter le statut indique a l'install |
|
| 84 | - $desc['statut'] = $GLOBALS['meta']['ldap_statut_import']; |
|
| 85 | - $desc['login'] = $login; |
|
| 86 | - $desc['source'] = 'ldap'; |
|
| 87 | - $desc['pass'] = ''; |
|
| 88 | - |
|
| 89 | - $r = sql_insertq('spip_auteurs', $desc, [], $serveur); |
|
| 90 | - } |
|
| 91 | - |
|
| 92 | - if ($r) { |
|
| 93 | - return array_merge( |
|
| 94 | - $credentials_ldap, |
|
| 95 | - sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($r), '', '', '', '', $serveur) |
|
| 96 | - ); |
|
| 97 | - } |
|
| 98 | - |
|
| 99 | - // sinon echec |
|
| 100 | - spip_log("Creation de l'auteur '$login' impossible"); |
|
| 101 | - |
|
| 102 | - return []; |
|
| 59 | + #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 60 | + |
|
| 61 | + // Utilisateur connu ? |
|
| 62 | + // si http auth, inutile de reauthentifier: cela |
|
| 63 | + // ne marchera pas avec auth http autre que basic. |
|
| 64 | + $checkpass = isset($_SERVER['REMOTE_USER']) ? false : true; |
|
| 65 | + if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) { |
|
| 66 | + return []; |
|
| 67 | + } |
|
| 68 | + $credentials_ldap = ['ldap_dn' => $dn, 'ldap_password' => $pass]; |
|
| 69 | + |
|
| 70 | + // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 71 | + $r = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login) . " AND source='ldap'", '', '', '', '', $serveur); |
|
| 72 | + |
|
| 73 | + if ($r) { |
|
| 74 | + return array_merge($r, $credentials_ldap); |
|
| 75 | + } |
|
| 76 | + |
|
| 77 | + // sinon importer les infos depuis LDAP, |
|
| 78 | + |
|
| 79 | + if ( |
|
| 80 | + $GLOBALS['meta']['ldap_statut_import'] |
|
| 81 | + and $desc = auth_ldap_retrouver($dn, [], $serveur) |
|
| 82 | + ) { |
|
| 83 | + // rajouter le statut indique a l'install |
|
| 84 | + $desc['statut'] = $GLOBALS['meta']['ldap_statut_import']; |
|
| 85 | + $desc['login'] = $login; |
|
| 86 | + $desc['source'] = 'ldap'; |
|
| 87 | + $desc['pass'] = ''; |
|
| 88 | + |
|
| 89 | + $r = sql_insertq('spip_auteurs', $desc, [], $serveur); |
|
| 90 | + } |
|
| 91 | + |
|
| 92 | + if ($r) { |
|
| 93 | + return array_merge( |
|
| 94 | + $credentials_ldap, |
|
| 95 | + sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($r), '', '', '', '', $serveur) |
|
| 96 | + ); |
|
| 97 | + } |
|
| 98 | + |
|
| 99 | + // sinon echec |
|
| 100 | + spip_log("Creation de l'auteur '$login' impossible"); |
|
| 101 | + |
|
| 102 | + return []; |
|
| 103 | 103 | } |
| 104 | 104 | |
| 105 | 105 | /** |
@@ -113,36 +113,36 @@ discard block |
||
| 113 | 113 | * @return array |
| 114 | 114 | */ |
| 115 | 115 | function auth_ldap_connect($serveur = '') { |
| 116 | - include_spip('base/connect_sql'); |
|
| 117 | - static $connexions_ldap = []; |
|
| 118 | - if (isset($connexions_ldap[$serveur])) { |
|
| 119 | - return $connexions_ldap[$serveur]; |
|
| 120 | - } |
|
| 121 | - $connexion = spip_connect($serveur); |
|
| 122 | - if (!is_array($connexion['ldap'])) { |
|
| 123 | - if ($connexion['authentification']['ldap']) { |
|
| 124 | - $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 125 | - unset($GLOBALS['ldap_link']); |
|
| 126 | - if (is_readable($f)) { |
|
| 127 | - include_once($f); |
|
| 128 | - }; |
|
| 129 | - if (isset($GLOBALS['ldap_link'])) { |
|
| 130 | - $connexion['ldap'] = [ |
|
| 131 | - 'link' => $GLOBALS['ldap_link'], |
|
| 132 | - 'base' => $GLOBALS['ldap_base'] |
|
| 133 | - ]; |
|
| 134 | - } else { |
|
| 135 | - spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 136 | - } |
|
| 137 | - if (isset($GLOBALS['ldap_champs'])) { |
|
| 138 | - $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 139 | - } |
|
| 140 | - } else { |
|
| 141 | - spip_log("connection LDAP $serveur inconnue"); |
|
| 142 | - } |
|
| 143 | - } |
|
| 144 | - |
|
| 145 | - return $connexions_ldap[$serveur] = $connexion['ldap']; |
|
| 116 | + include_spip('base/connect_sql'); |
|
| 117 | + static $connexions_ldap = []; |
|
| 118 | + if (isset($connexions_ldap[$serveur])) { |
|
| 119 | + return $connexions_ldap[$serveur]; |
|
| 120 | + } |
|
| 121 | + $connexion = spip_connect($serveur); |
|
| 122 | + if (!is_array($connexion['ldap'])) { |
|
| 123 | + if ($connexion['authentification']['ldap']) { |
|
| 124 | + $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 125 | + unset($GLOBALS['ldap_link']); |
|
| 126 | + if (is_readable($f)) { |
|
| 127 | + include_once($f); |
|
| 128 | + }; |
|
| 129 | + if (isset($GLOBALS['ldap_link'])) { |
|
| 130 | + $connexion['ldap'] = [ |
|
| 131 | + 'link' => $GLOBALS['ldap_link'], |
|
| 132 | + 'base' => $GLOBALS['ldap_base'] |
|
| 133 | + ]; |
|
| 134 | + } else { |
|
| 135 | + spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 136 | + } |
|
| 137 | + if (isset($GLOBALS['ldap_champs'])) { |
|
| 138 | + $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 139 | + } |
|
| 140 | + } else { |
|
| 141 | + spip_log("connection LDAP $serveur inconnue"); |
|
| 142 | + } |
|
| 143 | + } |
|
| 144 | + |
|
| 145 | + return $connexions_ldap[$serveur] = $connexion['ldap']; |
|
| 146 | 146 | } |
| 147 | 147 | |
| 148 | 148 | /** |
@@ -156,52 +156,52 @@ discard block |
||
| 156 | 156 | * Le login trouvé ou chaine vide si non trouvé |
| 157 | 157 | */ |
| 158 | 158 | function auth_ldap_search($login, $pass, $checkpass = true, $serveur = '') { |
| 159 | - // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 160 | - $login_search = preg_replace('/[^-@._\s\d\w]/', '', $login); |
|
| 161 | - if (!strlen($login_search) or ($checkpass and !strlen($pass))) { |
|
| 162 | - return ''; |
|
| 163 | - } |
|
| 164 | - |
|
| 165 | - // verifier la connexion |
|
| 166 | - if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 167 | - return ''; |
|
| 168 | - } |
|
| 169 | - |
|
| 170 | - $ldap_link = $ldap['link'] ?? null; |
|
| 171 | - $ldap_base = $ldap['base'] ?? null; |
|
| 172 | - $desc = !empty($ldap['attributes']) ? $ldap['attributes'] : $GLOBALS['ldap_attributes']; |
|
| 173 | - |
|
| 174 | - $logins = is_array($desc['login']) ? $desc['login'] : [$desc['login']]; |
|
| 175 | - |
|
| 176 | - // Tenter une recherche pour essayer de retrouver le DN |
|
| 177 | - foreach ($logins as $att) { |
|
| 178 | - $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", ['dn']); |
|
| 179 | - $info = @ldap_get_entries($ldap_link, $result); |
|
| 180 | - // Ne pas accepter les resultats si plus d'une entree |
|
| 181 | - // (on veut un attribut unique) |
|
| 182 | - |
|
| 183 | - if (is_array($info) and $info['count'] == 1) { |
|
| 184 | - $dn = $info[0]['dn']; |
|
| 185 | - if (!$checkpass) { |
|
| 186 | - return $dn; |
|
| 187 | - } |
|
| 188 | - if (@ldap_bind($ldap_link, $dn, $pass)) { |
|
| 189 | - return $dn; |
|
| 190 | - } |
|
| 191 | - } |
|
| 192 | - } |
|
| 193 | - |
|
| 194 | - if ($checkpass and !isset($dn)) { |
|
| 195 | - // Si echec, essayer de deviner le DN |
|
| 196 | - foreach ($logins as $att) { |
|
| 197 | - $dn = "$att=$login_search, $ldap_base"; |
|
| 198 | - if (@ldap_bind($ldap_link, $dn, $pass)) { |
|
| 199 | - return "$att=$login_search, $ldap_base"; |
|
| 200 | - } |
|
| 201 | - } |
|
| 202 | - } |
|
| 203 | - |
|
| 204 | - return ''; |
|
| 159 | + // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 160 | + $login_search = preg_replace('/[^-@._\s\d\w]/', '', $login); |
|
| 161 | + if (!strlen($login_search) or ($checkpass and !strlen($pass))) { |
|
| 162 | + return ''; |
|
| 163 | + } |
|
| 164 | + |
|
| 165 | + // verifier la connexion |
|
| 166 | + if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 167 | + return ''; |
|
| 168 | + } |
|
| 169 | + |
|
| 170 | + $ldap_link = $ldap['link'] ?? null; |
|
| 171 | + $ldap_base = $ldap['base'] ?? null; |
|
| 172 | + $desc = !empty($ldap['attributes']) ? $ldap['attributes'] : $GLOBALS['ldap_attributes']; |
|
| 173 | + |
|
| 174 | + $logins = is_array($desc['login']) ? $desc['login'] : [$desc['login']]; |
|
| 175 | + |
|
| 176 | + // Tenter une recherche pour essayer de retrouver le DN |
|
| 177 | + foreach ($logins as $att) { |
|
| 178 | + $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", ['dn']); |
|
| 179 | + $info = @ldap_get_entries($ldap_link, $result); |
|
| 180 | + // Ne pas accepter les resultats si plus d'une entree |
|
| 181 | + // (on veut un attribut unique) |
|
| 182 | + |
|
| 183 | + if (is_array($info) and $info['count'] == 1) { |
|
| 184 | + $dn = $info[0]['dn']; |
|
| 185 | + if (!$checkpass) { |
|
| 186 | + return $dn; |
|
| 187 | + } |
|
| 188 | + if (@ldap_bind($ldap_link, $dn, $pass)) { |
|
| 189 | + return $dn; |
|
| 190 | + } |
|
| 191 | + } |
|
| 192 | + } |
|
| 193 | + |
|
| 194 | + if ($checkpass and !isset($dn)) { |
|
| 195 | + // Si echec, essayer de deviner le DN |
|
| 196 | + foreach ($logins as $att) { |
|
| 197 | + $dn = "$att=$login_search, $ldap_base"; |
|
| 198 | + if (@ldap_bind($ldap_link, $dn, $pass)) { |
|
| 199 | + return "$att=$login_search, $ldap_base"; |
|
| 200 | + } |
|
| 201 | + } |
|
| 202 | + } |
|
| 203 | + |
|
| 204 | + return ''; |
|
| 205 | 205 | } |
| 206 | 206 | |
| 207 | 207 | /** |
@@ -213,40 +213,40 @@ discard block |
||
| 213 | 213 | * @return array |
| 214 | 214 | */ |
| 215 | 215 | function auth_ldap_retrouver($dn, $desc = [], $serveur = '') { |
| 216 | - // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 216 | + // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 217 | 217 | |
| 218 | - if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 219 | - spip_log("ldap $serveur injoignable"); |
|
| 218 | + if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 219 | + spip_log("ldap $serveur injoignable"); |
|
| 220 | 220 | |
| 221 | - return []; |
|
| 222 | - } |
|
| 221 | + return []; |
|
| 222 | + } |
|
| 223 | 223 | |
| 224 | - $ldap_link = $ldap['link']; |
|
| 225 | - if (!$desc) { |
|
| 226 | - $desc = $ldap['attributes'] ?: $GLOBALS['ldap_attributes']; |
|
| 227 | - unset($desc['login']); |
|
| 228 | - } |
|
| 229 | - $result = @ldap_read($ldap_link, $dn, 'objectClass=*', array_values($desc)); |
|
| 224 | + $ldap_link = $ldap['link']; |
|
| 225 | + if (!$desc) { |
|
| 226 | + $desc = $ldap['attributes'] ?: $GLOBALS['ldap_attributes']; |
|
| 227 | + unset($desc['login']); |
|
| 228 | + } |
|
| 229 | + $result = @ldap_read($ldap_link, $dn, 'objectClass=*', array_values($desc)); |
|
| 230 | 230 | |
| 231 | - if (!$result) { |
|
| 232 | - return []; |
|
| 233 | - } |
|
| 231 | + if (!$result) { |
|
| 232 | + return []; |
|
| 233 | + } |
|
| 234 | 234 | |
| 235 | - // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 236 | - $val = @ldap_get_entries($ldap_link, $result); |
|
| 237 | - if (!is_array($val) or !is_array($val[0])) { |
|
| 238 | - return []; |
|
| 239 | - } |
|
| 240 | - $val = $val[0]; |
|
| 235 | + // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 236 | + $val = @ldap_get_entries($ldap_link, $result); |
|
| 237 | + if (!is_array($val) or !is_array($val[0])) { |
|
| 238 | + return []; |
|
| 239 | + } |
|
| 240 | + $val = $val[0]; |
|
| 241 | 241 | |
| 242 | - // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 243 | - include_spip('inc/charsets'); |
|
| 242 | + // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 243 | + include_spip('inc/charsets'); |
|
| 244 | 244 | |
| 245 | - foreach ($desc as $k => $v) { |
|
| 246 | - $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 247 | - } |
|
| 245 | + foreach ($desc as $k => $v) { |
|
| 246 | + $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 247 | + } |
|
| 248 | 248 | |
| 249 | - return $desc; |
|
| 249 | + return $desc; |
|
| 250 | 250 | } |
| 251 | 251 | |
| 252 | 252 | |
@@ -258,7 +258,7 @@ discard block |
||
| 258 | 258 | * @return string |
| 259 | 259 | */ |
| 260 | 260 | function auth_ldap_retrouver_login($login, $serveur = '') { |
| 261 | - return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 261 | + return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 262 | 262 | } |
| 263 | 263 | |
| 264 | 264 | /** |
@@ -278,9 +278,9 @@ discard block |
||
| 278 | 278 | * Message d'erreur si login non valide, chaîne vide sinon |
| 279 | 279 | */ |
| 280 | 280 | function auth_ldap_verifier_pass($login, $new_pass, $id_auteur = 0, $serveur = '') { |
| 281 | - include_spip('auth/spip'); |
|
| 281 | + include_spip('auth/spip'); |
|
| 282 | 282 | |
| 283 | - return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur); |
|
| 283 | + return auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur); |
|
| 284 | 284 | } |
| 285 | 285 | |
| 286 | 286 | /** |
@@ -301,7 +301,7 @@ discard block |
||
| 301 | 301 | * ``` |
| 302 | 302 | */ |
| 303 | 303 | function auth_ldap_autoriser_modifier_pass($serveur = '') { |
| 304 | - return true; |
|
| 304 | + return true; |
|
| 305 | 305 | } |
| 306 | 306 | |
| 307 | 307 | /** |
@@ -319,23 +319,23 @@ discard block |
||
| 319 | 319 | * Informe du succès ou de l'echec du changement du mot de passe |
| 320 | 320 | */ |
| 321 | 321 | function auth_ldap_modifier_pass($login, $new_pass, $id_auteur, $serveur = '') { |
| 322 | - if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') { |
|
| 323 | - return false; |
|
| 324 | - } |
|
| 325 | - if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 326 | - return false; |
|
| 327 | - } |
|
| 328 | - $link = $ldap['link']; |
|
| 329 | - include_spip('inc/session'); |
|
| 330 | - $dn = session_get('ldap_dn'); |
|
| 331 | - if ('' == $dn) { |
|
| 332 | - return false; |
|
| 333 | - } |
|
| 334 | - if (!ldap_bind($link, $dn, session_get('ldap_password'))) { |
|
| 335 | - return false; |
|
| 336 | - } |
|
| 337 | - $encoded_pass = '{MD5}' . base64_encode(pack('H*', md5($new_pass))); |
|
| 338 | - $success = ldap_mod_replace($link, $dn, ['userPassword' => $encoded_pass]); |
|
| 339 | - |
|
| 340 | - return $success; |
|
| 322 | + if (is_null($new_pass) or auth_ldap_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') { |
|
| 323 | + return false; |
|
| 324 | + } |
|
| 325 | + if (!$ldap = auth_ldap_connect($serveur)) { |
|
| 326 | + return false; |
|
| 327 | + } |
|
| 328 | + $link = $ldap['link']; |
|
| 329 | + include_spip('inc/session'); |
|
| 330 | + $dn = session_get('ldap_dn'); |
|
| 331 | + if ('' == $dn) { |
|
| 332 | + return false; |
|
| 333 | + } |
|
| 334 | + if (!ldap_bind($link, $dn, session_get('ldap_password'))) { |
|
| 335 | + return false; |
|
| 336 | + } |
|
| 337 | + $encoded_pass = '{MD5}' . base64_encode(pack('H*', md5($new_pass))); |
|
| 338 | + $success = ldap_mod_replace($link, $dn, ['userPassword' => $encoded_pass]); |
|
| 339 | + |
|
| 340 | + return $success; |
|
| 341 | 341 | } |
@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * Pile complétée du code compilé |
| 38 | 38 | **/ |
| 39 | 39 | function balise_MENU_LANG_ECRIRE($p) { |
| 40 | - return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']); |
|
| 40 | + return calculer_balise_dynamique($p, 'MENU_LANG_ECRIRE', ['lang']); |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | /** |
@@ -56,12 +56,12 @@ discard block |
||
| 56 | 56 | * - string: Si pas de multilinguisme |
| 57 | 57 | */ |
| 58 | 58 | function balise_MENU_LANG_ECRIRE_stat($args, $context_compil) { |
| 59 | - include_spip('inc/lang'); |
|
| 60 | - if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) { |
|
| 61 | - return ''; |
|
| 62 | - } |
|
| 59 | + include_spip('inc/lang'); |
|
| 60 | + if (strpos($GLOBALS['meta']['langues_proposees'], ',') === false) { |
|
| 61 | + return ''; |
|
| 62 | + } |
|
| 63 | 63 | |
| 64 | - return $args; |
|
| 64 | + return $args; |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | /** |
@@ -77,7 +77,7 @@ discard block |
||
| 77 | 77 | * Liste : Chemin du squelette, durée du cache, contexte |
| 78 | 78 | **/ |
| 79 | 79 | function balise_MENU_LANG_ECRIRE_dyn($opt) { |
| 80 | - return menu_lang_pour_tous('var_lang_ecrire', $opt); |
|
| 80 | + return menu_lang_pour_tous('var_lang_ecrire', $opt); |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | /** |
@@ -97,30 +97,30 @@ discard block |
||
| 97 | 97 | * Liste : Chemin du squelette, durée du cache, contexte |
| 98 | 98 | **/ |
| 99 | 99 | function menu_lang_pour_tous($nom, $default) { |
| 100 | - include_spip('inc/lang'); |
|
| 100 | + include_spip('inc/lang'); |
|
| 101 | 101 | |
| 102 | - if ($GLOBALS['spip_lang'] <> $default) { |
|
| 103 | - $opt = lang_select($default); # et remplace |
|
| 104 | - if ($GLOBALS['spip_lang'] <> $default) { |
|
| 105 | - $default = ''; # annule tout choix par defaut |
|
| 106 | - if ($opt) { |
|
| 107 | - lang_select(); |
|
| 108 | - } |
|
| 109 | - } |
|
| 110 | - } |
|
| 102 | + if ($GLOBALS['spip_lang'] <> $default) { |
|
| 103 | + $opt = lang_select($default); # et remplace |
|
| 104 | + if ($GLOBALS['spip_lang'] <> $default) { |
|
| 105 | + $default = ''; # annule tout choix par defaut |
|
| 106 | + if ($opt) { |
|
| 107 | + lang_select(); |
|
| 108 | + } |
|
| 109 | + } |
|
| 110 | + } |
|
| 111 | 111 | |
| 112 | - # lien a partir de / |
|
| 113 | - $cible = parametre_url(self(), 'lang', '', '&'); |
|
| 114 | - $post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true); |
|
| 112 | + # lien a partir de / |
|
| 113 | + $cible = parametre_url(self(), 'lang', '', '&'); |
|
| 114 | + $post = generer_url_action('converser', 'redirect=' . rawurlencode($cible), true); |
|
| 115 | 115 | |
| 116 | - return [ |
|
| 117 | - 'formulaires/menu_lang', |
|
| 118 | - 3600, |
|
| 119 | - [ |
|
| 120 | - 'nom' => $nom, |
|
| 121 | - 'url' => $post, |
|
| 122 | - 'name' => $nom, |
|
| 123 | - 'default' => $default, |
|
| 124 | - ] |
|
| 125 | - ]; |
|
| 116 | + return [ |
|
| 117 | + 'formulaires/menu_lang', |
|
| 118 | + 3600, |
|
| 119 | + [ |
|
| 120 | + 'nom' => $nom, |
|
| 121 | + 'url' => $post, |
|
| 122 | + 'name' => $nom, |
|
| 123 | + 'default' => $default, |
|
| 124 | + ] |
|
| 125 | + ]; |
|
| 126 | 126 | } |
@@ -22,7 +22,7 @@ discard block |
||
| 22 | 22 | **/ |
| 23 | 23 | |
| 24 | 24 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 25 | - return; |
|
| 25 | + return; |
|
| 26 | 26 | } |
| 27 | 27 | include_spip('inc/filtres'); |
| 28 | 28 | |
@@ -39,7 +39,7 @@ discard block |
||
| 39 | 39 | * @return string Rien. |
| 40 | 40 | **/ |
| 41 | 41 | function filtre_image_dist($t) { |
| 42 | - return ''; |
|
| 42 | + return ''; |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | /** |
@@ -52,7 +52,7 @@ discard block |
||
| 52 | 52 | * @return string Rien. |
| 53 | 53 | **/ |
| 54 | 54 | function filtre_audio_dist($t) { |
| 55 | - return ''; |
|
| 55 | + return ''; |
|
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | /** |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | * @return string Rien. |
| 66 | 66 | **/ |
| 67 | 67 | function filtre_video_dist($t) { |
| 68 | - return ''; |
|
| 68 | + return ''; |
|
| 69 | 69 | } |
| 70 | 70 | |
| 71 | 71 | /** |
@@ -78,7 +78,7 @@ discard block |
||
| 78 | 78 | * @return string Rien. |
| 79 | 79 | **/ |
| 80 | 80 | function filtre_application_dist($t) { |
| 81 | - return ''; |
|
| 81 | + return ''; |
|
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | /** |
@@ -91,7 +91,7 @@ discard block |
||
| 91 | 91 | * @return string Rien. |
| 92 | 92 | **/ |
| 93 | 93 | function filtre_message_dist($t) { |
| 94 | - return ''; |
|
| 94 | + return ''; |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | /** |
@@ -104,7 +104,7 @@ discard block |
||
| 104 | 104 | * @return string Rien. |
| 105 | 105 | **/ |
| 106 | 106 | function filtre_multipart_dist($t) { |
| 107 | - return ''; |
|
| 107 | + return ''; |
|
| 108 | 108 | } |
| 109 | 109 | |
| 110 | 110 | /** |
@@ -117,10 +117,10 @@ discard block |
||
| 117 | 117 | * @return string Contenu échappé. |
| 118 | 118 | **/ |
| 119 | 119 | function filtre_text_dist($t) { |
| 120 | - static $t1 = ['&', '<', '>']; |
|
| 121 | - static $t2 = ['&', '<', '>']; |
|
| 120 | + static $t1 = ['&', '<', '>']; |
|
| 121 | + static $t2 = ['&', '<', '>']; |
|
| 122 | 122 | |
| 123 | - return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>'; |
|
| 123 | + return '<pre>' . str_replace($t1, $t2, (string) $t) . '</pre>'; |
|
| 124 | 124 | } |
| 125 | 125 | |
| 126 | 126 | /** |
@@ -135,21 +135,21 @@ discard block |
||
| 135 | 135 | * Tableau (formaté en SPIP) |
| 136 | 136 | **/ |
| 137 | 137 | function filtre_text_csv_dist($t) { |
| 138 | - include_spip('inc/csv'); |
|
| 139 | - [$entete, $lignes, $caption] = analyse_csv($t); |
|
| 140 | - foreach ($lignes as &$l) { |
|
| 141 | - $l = join('|', $l); |
|
| 142 | - } |
|
| 143 | - $corps = join("\n", $lignes) . "\n"; |
|
| 144 | - $corps = $caption . |
|
| 145 | - "\n|{{" . |
|
| 146 | - join('}}|{{', $entete) . |
|
| 147 | - '}}|' . |
|
| 148 | - "\n|" . |
|
| 149 | - str_replace("\n", "|\n|", $corps); |
|
| 150 | - include_spip('inc/texte'); |
|
| 151 | - |
|
| 152 | - return propre($corps); |
|
| 138 | + include_spip('inc/csv'); |
|
| 139 | + [$entete, $lignes, $caption] = analyse_csv($t); |
|
| 140 | + foreach ($lignes as &$l) { |
|
| 141 | + $l = join('|', $l); |
|
| 142 | + } |
|
| 143 | + $corps = join("\n", $lignes) . "\n"; |
|
| 144 | + $corps = $caption . |
|
| 145 | + "\n|{{" . |
|
| 146 | + join('}}|{{', $entete) . |
|
| 147 | + '}}|' . |
|
| 148 | + "\n|" . |
|
| 149 | + str_replace("\n", "|\n|", $corps); |
|
| 150 | + include_spip('inc/texte'); |
|
| 151 | + |
|
| 152 | + return propre($corps); |
|
| 153 | 153 | } |
| 154 | 154 | |
| 155 | 155 | /** |
@@ -163,33 +163,33 @@ discard block |
||
| 163 | 163 | * @return string Code html sécurisé ou texte échappé |
| 164 | 164 | **/ |
| 165 | 165 | function filtre_text_html_dist($t) { |
| 166 | - if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) { |
|
| 167 | - return appliquer_filtre($t, 'text/plain'); |
|
| 168 | - } |
|
| 169 | - |
|
| 170 | - [, $h, $t] = $r; |
|
| 171 | - |
|
| 172 | - $style = ''; |
|
| 173 | - // recuperer les styles internes |
|
| 174 | - if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) { |
|
| 175 | - $style = join("\n", $r[1]); |
|
| 176 | - } |
|
| 177 | - // ... et externes |
|
| 178 | - |
|
| 179 | - include_spip('inc/distant'); |
|
| 180 | - if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) { |
|
| 181 | - foreach ($r[0] as $l) { |
|
| 182 | - preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m); |
|
| 183 | - $page = recuperer_url($m[1]); |
|
| 184 | - $page = $page['page'] ?? ''; |
|
| 185 | - $style .= "\n/* $l */\n" |
|
| 186 | - . str_replace('<', '', $page); |
|
| 187 | - } |
|
| 188 | - } |
|
| 189 | - // Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ? |
|
| 190 | - $t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t)); |
|
| 191 | - |
|
| 192 | - return (!$style ? '' : "\n<style>" . $style . '</style>') . $t; |
|
| 166 | + if (!preg_match(',^(.*?)<body[^>]*>(.*)</body>,is', $t, $r)) { |
|
| 167 | + return appliquer_filtre($t, 'text/plain'); |
|
| 168 | + } |
|
| 169 | + |
|
| 170 | + [, $h, $t] = $r; |
|
| 171 | + |
|
| 172 | + $style = ''; |
|
| 173 | + // recuperer les styles internes |
|
| 174 | + if (preg_match_all(',<style>(.*?)</style>,is', $h, $r, PREG_PATTERN_ORDER)) { |
|
| 175 | + $style = join("\n", $r[1]); |
|
| 176 | + } |
|
| 177 | + // ... et externes |
|
| 178 | + |
|
| 179 | + include_spip('inc/distant'); |
|
| 180 | + if (preg_match_all(',<link[^>]+type=.text/css[^>]*>,is', $h, $r, PREG_PATTERN_ORDER)) { |
|
| 181 | + foreach ($r[0] as $l) { |
|
| 182 | + preg_match("/href='([^']*)'/", str_replace('"', "'", $l), $m); |
|
| 183 | + $page = recuperer_url($m[1]); |
|
| 184 | + $page = $page['page'] ?? ''; |
|
| 185 | + $style .= "\n/* $l */\n" |
|
| 186 | + . str_replace('<', '', $page); |
|
| 187 | + } |
|
| 188 | + } |
|
| 189 | + // Pourquoi SafeHtml transforme-t-il en texte les scripts dans Body ? |
|
| 190 | + $t = safehtml(preg_replace(',<script' . '.*?</script>,is', '', $t)); |
|
| 191 | + |
|
| 192 | + return (!$style ? '' : "\n<style>" . $style . '</style>') . $t; |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | /** |
@@ -202,7 +202,7 @@ discard block |
||
| 202 | 202 | * @return string Code HTML des balises `<param>` |
| 203 | 203 | **/ |
| 204 | 204 | function filtre_audio_x_pn_realaudio($id) { |
| 205 | - return " |
|
| 205 | + return " |
|
| 206 | 206 | <param name='controls' value='PositionSlider' /> |
| 207 | 207 | <param name='controls' value='ImageWindow' /> |
| 208 | 208 | <param name='controls' value='PlayButton' /> |
@@ -2,248 +2,248 @@ discard block |
||
| 2 | 2 | // This is a SPIP language file -- Ceci est un fichier langue de SPIP |
| 3 | 3 | // Fichier source, a modifier dans https://git.spip.net/spip/spip.git |
| 4 | 4 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 5 | - return; |
|
| 5 | + return; |
|
| 6 | 6 | } |
| 7 | 7 | |
| 8 | 8 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 9 | 9 | |
| 10 | - // A |
|
| 11 | - 'access_interface_graphique' => 'Retour à l’interface graphique complète', |
|
| 12 | - 'access_mode_texte' => 'Afficher l’interface textuelle simplifiée', |
|
| 13 | - 'admin_debug' => 'debug', |
|
| 14 | - 'admin_modifier_article' => 'Modifier cet article', |
|
| 15 | - 'admin_modifier_auteur' => 'Modifier cet auteur', |
|
| 16 | - 'admin_modifier_breve' => 'Modifier cette brève', |
|
| 17 | - 'admin_modifier_mot' => 'Modifier ce mot-clé', |
|
| 18 | - 'admin_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 19 | - 'admin_recalculer' => 'Recalculer cette page', |
|
| 20 | - 'afficher_calendrier' => 'Afficher le calendrier', |
|
| 21 | - 'afficher_trad' => 'afficher les traductions', |
|
| 22 | - 'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Veuillez contacter votre hébergeur.', |
|
| 23 | - 'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :', |
|
| 24 | - 'analyse_xml' => 'Analyse XML', |
|
| 25 | - 'annuler' => 'Annuler', |
|
| 26 | - 'antispam_champ_vide' => 'Veuillez laisser ce champ vide :', |
|
| 27 | - 'articles_recents' => 'Articles les plus récents', |
|
| 28 | - 'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum', |
|
| 29 | - 'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.', |
|
| 30 | - 'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP', |
|
| 31 | - 'avis_archive_invalide' => 'le fichier archive n’est pas valide', |
|
| 32 | - 'avis_attention' => 'ATTENTION !', |
|
| 33 | - 'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@', |
|
| 34 | - 'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas', |
|
| 35 | - 'avis_erreur' => 'Erreur : voir ci-dessous', |
|
| 36 | - 'avis_erreur_connexion' => 'Erreur de connexion', |
|
| 37 | - 'avis_erreur_cookie' => 'problème de cookie', |
|
| 38 | - 'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.', |
|
| 39 | - 'avis_erreur_mysql' => 'Erreur SQL', |
|
| 40 | - 'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !', |
|
| 41 | - 'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé', |
|
| 42 | - 'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.', |
|
| 10 | + // A |
|
| 11 | + 'access_interface_graphique' => 'Retour à l’interface graphique complète', |
|
| 12 | + 'access_mode_texte' => 'Afficher l’interface textuelle simplifiée', |
|
| 13 | + 'admin_debug' => 'debug', |
|
| 14 | + 'admin_modifier_article' => 'Modifier cet article', |
|
| 15 | + 'admin_modifier_auteur' => 'Modifier cet auteur', |
|
| 16 | + 'admin_modifier_breve' => 'Modifier cette brève', |
|
| 17 | + 'admin_modifier_mot' => 'Modifier ce mot-clé', |
|
| 18 | + 'admin_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 19 | + 'admin_recalculer' => 'Recalculer cette page', |
|
| 20 | + 'afficher_calendrier' => 'Afficher le calendrier', |
|
| 21 | + 'afficher_trad' => 'afficher les traductions', |
|
| 22 | + 'alerte_maj_impossible' => '<b>Alerte !</b> La mise à jour de la base SQL vers la version @version@ est impossible, peut-être à cause d’un problème de droit de modification sur la base de données. Veuillez contacter votre hébergeur.', |
|
| 23 | + 'alerte_modif_info_concourante' => 'ATTENTION : Cette information a été modifiée par ailleurs. La valeur actuelle est :', |
|
| 24 | + 'analyse_xml' => 'Analyse XML', |
|
| 25 | + 'annuler' => 'Annuler', |
|
| 26 | + 'antispam_champ_vide' => 'Veuillez laisser ce champ vide :', |
|
| 27 | + 'articles_recents' => 'Articles les plus récents', |
|
| 28 | + 'attention_champ_mini_nb_caractères' => 'Attention ! @nb@ caractères au minimum', |
|
| 29 | + 'avis_1_erreur_saisie' => 'Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.', |
|
| 30 | + 'avis_archive_incorrect' => 'le fichier archive n’est pas un fichier SPIP', |
|
| 31 | + 'avis_archive_invalide' => 'le fichier archive n’est pas valide', |
|
| 32 | + 'avis_attention' => 'ATTENTION !', |
|
| 33 | + 'avis_champ_incorrect_type_objet' => 'Nom de champ incorrect @name@ pour objet de type @type@', |
|
| 34 | + 'avis_colonne_inexistante' => 'La colonne @col@ n’existe pas', |
|
| 35 | + 'avis_erreur' => 'Erreur : voir ci-dessous', |
|
| 36 | + 'avis_erreur_connexion' => 'Erreur de connexion', |
|
| 37 | + 'avis_erreur_cookie' => 'problème de cookie', |
|
| 38 | + 'avis_erreur_fonction_contexte' => 'Erreur de programmation. Cette fonction ne doit pas être appelée dans ce contexte.', |
|
| 39 | + 'avis_erreur_mysql' => 'Erreur SQL', |
|
| 40 | + 'avis_erreur_sauvegarde' => 'Erreur dans la sauvegarde (@type@ @id_objet@) !', |
|
| 41 | + 'avis_erreur_visiteur' => 'Problème d’accès à l’espace privé', |
|
| 42 | + 'avis_nb_erreurs_saisie' => 'Il y a @nb@ erreurs dans votre saisie, veuillez vérifier les informations.', |
|
| 43 | 43 | |
| 44 | - // B |
|
| 45 | - 'barre_a_accent_grave' => 'Insérer un A accent grave majuscule', |
|
| 46 | - 'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page', |
|
| 47 | - 'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule', |
|
| 48 | - 'barre_eo' => 'Insérer un E dans l’O', |
|
| 49 | - 'barre_eo_maj' => 'Insérer un E dans l’O majuscule', |
|
| 50 | - 'barre_euro' => 'Insérer le symbole €', |
|
| 51 | - 'barre_gras' => 'Mettre en {{gras}}', |
|
| 52 | - 'barre_guillemets' => 'Entourer de « guillemets »', |
|
| 53 | - 'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”', |
|
| 54 | - 'barre_intertitre' => 'Transformer en {{{intertitre}}}', |
|
| 55 | - 'barre_italic' => 'Mettre en {italique}', |
|
| 56 | - 'barre_lien' => 'Transformer en [lien hypertexte->http://...]', |
|
| 57 | - 'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.', |
|
| 58 | - 'barre_note' => 'Transformer en [[Note de bas de page]]', |
|
| 59 | - 'barre_paragraphe' => 'Créer un paragraphe', |
|
| 60 | - 'barre_quote' => '<quote>Citer un message</quote>', |
|
| 61 | - 'bouton_changer' => 'Changer', |
|
| 62 | - 'bouton_chercher' => 'Chercher', |
|
| 63 | - 'bouton_choisir' => 'Choisir', |
|
| 64 | - 'bouton_deplacer' => 'Déplacer', |
|
| 65 | - 'bouton_download' => 'Télécharger', |
|
| 66 | - 'bouton_enregistrer' => 'Enregistrer', |
|
| 67 | - 'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne', |
|
| 68 | - 'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales', |
|
| 69 | - 'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces', |
|
| 70 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 71 | - 'bouton_recharger_page' => 'recharger cette page', |
|
| 72 | - 'bouton_telecharger' => 'Télécharger', |
|
| 73 | - 'bouton_upload' => 'Téléverser', |
|
| 74 | - 'bouton_valider' => 'Valider', |
|
| 44 | + // B |
|
| 45 | + 'barre_a_accent_grave' => 'Insérer un A accent grave majuscule', |
|
| 46 | + 'barre_aide' => 'Utilisez les raccourcis typographiques pour enrichir votre mise en page', |
|
| 47 | + 'barre_e_accent_aigu' => 'Insérer un E accent aigu majuscule', |
|
| 48 | + 'barre_eo' => 'Insérer un E dans l’O', |
|
| 49 | + 'barre_eo_maj' => 'Insérer un E dans l’O majuscule', |
|
| 50 | + 'barre_euro' => 'Insérer le symbole €', |
|
| 51 | + 'barre_gras' => 'Mettre en {{gras}}', |
|
| 52 | + 'barre_guillemets' => 'Entourer de « guillemets »', |
|
| 53 | + 'barre_guillemets_simples' => 'Entourer de “guillemets de second niveau”', |
|
| 54 | + 'barre_intertitre' => 'Transformer en {{{intertitre}}}', |
|
| 55 | + 'barre_italic' => 'Mettre en {italique}', |
|
| 56 | + 'barre_lien' => 'Transformer en [lien hypertexte->http://...]', |
|
| 57 | + 'barre_lien_input' => 'Veuillez indiquer l’adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d’un article de ce site.', |
|
| 58 | + 'barre_note' => 'Transformer en [[Note de bas de page]]', |
|
| 59 | + 'barre_paragraphe' => 'Créer un paragraphe', |
|
| 60 | + 'barre_quote' => '<quote>Citer un message</quote>', |
|
| 61 | + 'bouton_changer' => 'Changer', |
|
| 62 | + 'bouton_chercher' => 'Chercher', |
|
| 63 | + 'bouton_choisir' => 'Choisir', |
|
| 64 | + 'bouton_deplacer' => 'Déplacer', |
|
| 65 | + 'bouton_download' => 'Télécharger', |
|
| 66 | + 'bouton_enregistrer' => 'Enregistrer', |
|
| 67 | + 'bouton_radio_desactiver_messagerie_interne' => 'Désactiver la messagerie interne', |
|
| 68 | + 'bouton_radio_envoi_annonces' => 'Envoyer les annonces éditoriales', |
|
| 69 | + 'bouton_radio_non_envoi_annonces' => 'Ne pas envoyer d’annonces', |
|
| 70 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 71 | + 'bouton_recharger_page' => 'recharger cette page', |
|
| 72 | + 'bouton_telecharger' => 'Télécharger', |
|
| 73 | + 'bouton_upload' => 'Téléverser', |
|
| 74 | + 'bouton_valider' => 'Valider', |
|
| 75 | 75 | |
| 76 | - // C |
|
| 77 | - 'cal_apresmidi' => 'après-midi', |
|
| 78 | - 'cal_jour_entier' => 'jour entier', |
|
| 79 | - 'cal_matin' => 'matin', |
|
| 80 | - 'cal_par_jour' => 'calendrier par jour', |
|
| 81 | - 'cal_par_mois' => 'calendrier par mois', |
|
| 82 | - 'cal_par_semaine' => 'calendrier par semaine', |
|
| 83 | - 'choix_couleur_interface' => 'couleur ', |
|
| 84 | - 'choix_interface' => 'choix de l’interface', |
|
| 85 | - 'colonne' => 'Colonne', |
|
| 86 | - 'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?', |
|
| 87 | - 'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte" |
|
| 76 | + // C |
|
| 77 | + 'cal_apresmidi' => 'après-midi', |
|
| 78 | + 'cal_jour_entier' => 'jour entier', |
|
| 79 | + 'cal_matin' => 'matin', |
|
| 80 | + 'cal_par_jour' => 'calendrier par jour', |
|
| 81 | + 'cal_par_mois' => 'calendrier par mois', |
|
| 82 | + 'cal_par_semaine' => 'calendrier par semaine', |
|
| 83 | + 'choix_couleur_interface' => 'couleur ', |
|
| 84 | + 'choix_interface' => 'choix de l’interface', |
|
| 85 | + 'colonne' => 'Colonne', |
|
| 86 | + 'confirm_changer_statut' => 'Attention, vous avez demandé à changer le statut de cet élément. Souhaitez-vous continuer ?', |
|
| 87 | + 'correcte' => 'correcte', # chaine utilisée dans le debugueur : "validation .. impossible" ou "validation .. correcte" |
|
| 88 | 88 | |
| 89 | - // D |
|
| 90 | - 'date_aujourdhui' => 'aujourd’hui', |
|
| 91 | - 'date_avant_jc' => 'av. J.C.', |
|
| 92 | - 'date_dans' => 'dans @delai@', |
|
| 93 | - 'date_de_mois_1' => '@j@ @nommois@', |
|
| 94 | - 'date_de_mois_10' => '@j@ @nommois@', |
|
| 95 | - 'date_de_mois_11' => '@j@ @nommois@', |
|
| 96 | - 'date_de_mois_12' => '@j@ @nommois@', |
|
| 97 | - 'date_de_mois_2' => '@j@ @nommois@', |
|
| 98 | - 'date_de_mois_3' => '@j@ @nommois@', |
|
| 99 | - 'date_de_mois_4' => '@j@ @nommois@', |
|
| 100 | - 'date_de_mois_5' => '@j@ @nommois@', |
|
| 101 | - 'date_de_mois_6' => '@j@ @nommois@', |
|
| 102 | - 'date_de_mois_7' => '@j@ @nommois@', |
|
| 103 | - 'date_de_mois_8' => '@j@ @nommois@', |
|
| 104 | - 'date_de_mois_9' => '@j@ @nommois@', |
|
| 105 | - 'date_demain' => 'demain', |
|
| 106 | - 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 107 | - 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 108 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 109 | - 'date_fmt_jour_heure' => '@jour@ à @heure@', |
|
| 110 | - 'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@', |
|
| 111 | - 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@', |
|
| 112 | - 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 113 | - 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 114 | - 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 115 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 116 | - 'date_fmt_nomjour_date' => 'le @nomjour@ @date@', |
|
| 117 | - 'date_fmt_periode' => 'Du @date_debut@ au @date_fin@', |
|
| 118 | - 'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@', |
|
| 119 | - 'date_fmt_periode_from' => 'Du', |
|
| 120 | - 'date_fmt_periode_to' => 'au', |
|
| 121 | - 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 122 | - 'date_heures' => 'heures', |
|
| 123 | - 'date_hier' => 'hier', |
|
| 124 | - 'date_il_y_a' => 'il y a @delai@', |
|
| 125 | - 'date_jnum1' => '1er', |
|
| 126 | - 'date_jnum10' => '10', |
|
| 127 | - 'date_jnum11' => '11', |
|
| 128 | - 'date_jnum12' => '12', |
|
| 129 | - 'date_jnum13' => '13', |
|
| 130 | - 'date_jnum14' => '14', |
|
| 131 | - 'date_jnum15' => '15', |
|
| 132 | - 'date_jnum16' => '16', |
|
| 133 | - 'date_jnum17' => '17', |
|
| 134 | - 'date_jnum18' => '18', |
|
| 135 | - 'date_jnum19' => '19', |
|
| 136 | - 'date_jnum2' => '2', |
|
| 137 | - 'date_jnum20' => '20', |
|
| 138 | - 'date_jnum21' => '21', |
|
| 139 | - 'date_jnum22' => '22', |
|
| 140 | - 'date_jnum23' => '23', |
|
| 141 | - 'date_jnum24' => '24', |
|
| 142 | - 'date_jnum25' => '25', |
|
| 143 | - 'date_jnum26' => '26', |
|
| 144 | - 'date_jnum27' => '27', |
|
| 145 | - 'date_jnum28' => '28', |
|
| 146 | - 'date_jnum29' => '29', |
|
| 147 | - 'date_jnum3' => '3', |
|
| 148 | - 'date_jnum30' => '30', |
|
| 149 | - 'date_jnum31' => '31', |
|
| 150 | - 'date_jnum4' => '4', |
|
| 151 | - 'date_jnum5' => '5', |
|
| 152 | - 'date_jnum6' => '6', |
|
| 153 | - 'date_jnum7' => '7', |
|
| 154 | - 'date_jnum8' => '8', |
|
| 155 | - 'date_jnum9' => '9', |
|
| 156 | - 'date_jour_1' => 'dimanche', |
|
| 157 | - 'date_jour_1_abbr' => 'dim.', |
|
| 158 | - 'date_jour_1_initiale' => 'd.', |
|
| 159 | - 'date_jour_2' => 'lundi', |
|
| 160 | - 'date_jour_2_abbr' => 'lun.', |
|
| 161 | - 'date_jour_2_initiale' => 'l.', |
|
| 162 | - 'date_jour_3' => 'mardi', |
|
| 163 | - 'date_jour_3_abbr' => 'mar.', |
|
| 164 | - 'date_jour_3_initiale' => 'm.', |
|
| 165 | - 'date_jour_4' => 'mercredi', |
|
| 166 | - 'date_jour_4_abbr' => 'mer.', |
|
| 167 | - 'date_jour_4_initiale' => 'm.', |
|
| 168 | - 'date_jour_5' => 'jeudi', |
|
| 169 | - 'date_jour_5_abbr' => 'jeu.', |
|
| 170 | - 'date_jour_5_initiale' => 'j.', |
|
| 171 | - 'date_jour_6' => 'vendredi', |
|
| 172 | - 'date_jour_6_abbr' => 'ven.', |
|
| 173 | - 'date_jour_6_initiale' => 'v.', |
|
| 174 | - 'date_jour_7' => 'samedi', |
|
| 175 | - 'date_jour_7_abbr' => 'sam.', |
|
| 176 | - 'date_jour_7_initiale' => 's.', |
|
| 177 | - 'date_jours' => 'jours', |
|
| 178 | - 'date_minutes' => 'minutes', |
|
| 179 | - 'date_mois' => 'mois', |
|
| 180 | - 'date_mois_1' => 'janvier', |
|
| 181 | - 'date_mois_10' => 'octobre', |
|
| 182 | - 'date_mois_10_abbr' => 'oct.', |
|
| 183 | - 'date_mois_11' => 'novembre', |
|
| 184 | - 'date_mois_11_abbr' => 'nov.', |
|
| 185 | - 'date_mois_12' => 'décembre', |
|
| 186 | - 'date_mois_12_abbr' => 'déc.', |
|
| 187 | - 'date_mois_1_abbr' => 'janv.', |
|
| 188 | - 'date_mois_2' => 'février', |
|
| 189 | - 'date_mois_2_abbr' => 'févr.', |
|
| 190 | - 'date_mois_3' => 'mars', |
|
| 191 | - 'date_mois_3_abbr' => 'mars', |
|
| 192 | - 'date_mois_4' => 'avril', |
|
| 193 | - 'date_mois_4_abbr' => 'avr.', |
|
| 194 | - 'date_mois_5' => 'mai', |
|
| 195 | - 'date_mois_5_abbr' => 'mai', |
|
| 196 | - 'date_mois_6' => 'juin', |
|
| 197 | - 'date_mois_6_abbr' => 'juin', |
|
| 198 | - 'date_mois_7' => 'juillet', |
|
| 199 | - 'date_mois_7_abbr' => 'juil.', |
|
| 200 | - 'date_mois_8' => 'août', |
|
| 201 | - 'date_mois_8_abbr' => 'août', |
|
| 202 | - 'date_mois_9' => 'septembre', |
|
| 203 | - 'date_mois_9_abbr' => 'sept.', |
|
| 204 | - 'date_saison_1' => 'hiver', |
|
| 205 | - 'date_saison_2' => 'printemps', |
|
| 206 | - 'date_saison_3' => 'été', |
|
| 207 | - 'date_saison_4' => 'automne', |
|
| 208 | - 'date_secondes' => 'secondes', |
|
| 209 | - 'date_semaines' => 'semaines', |
|
| 210 | - 'date_un_mois' => 'mois', |
|
| 211 | - 'date_une_heure' => 'heure', |
|
| 212 | - 'date_une_minute' => 'minute', |
|
| 213 | - 'date_une_seconde' => 'seconde', |
|
| 214 | - 'date_une_semaine' => 'semaine', |
|
| 215 | - 'dirs_commencer' => ' afin de commencer réellement l’installation', |
|
| 216 | - 'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>', |
|
| 217 | - 'dirs_probleme_droits' => 'Problème de droits d’accès', |
|
| 218 | - 'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul> |
|
| 89 | + // D |
|
| 90 | + 'date_aujourdhui' => 'aujourd’hui', |
|
| 91 | + 'date_avant_jc' => 'av. J.C.', |
|
| 92 | + 'date_dans' => 'dans @delai@', |
|
| 93 | + 'date_de_mois_1' => '@j@ @nommois@', |
|
| 94 | + 'date_de_mois_10' => '@j@ @nommois@', |
|
| 95 | + 'date_de_mois_11' => '@j@ @nommois@', |
|
| 96 | + 'date_de_mois_12' => '@j@ @nommois@', |
|
| 97 | + 'date_de_mois_2' => '@j@ @nommois@', |
|
| 98 | + 'date_de_mois_3' => '@j@ @nommois@', |
|
| 99 | + 'date_de_mois_4' => '@j@ @nommois@', |
|
| 100 | + 'date_de_mois_5' => '@j@ @nommois@', |
|
| 101 | + 'date_de_mois_6' => '@j@ @nommois@', |
|
| 102 | + 'date_de_mois_7' => '@j@ @nommois@', |
|
| 103 | + 'date_de_mois_8' => '@j@ @nommois@', |
|
| 104 | + 'date_de_mois_9' => '@j@ @nommois@', |
|
| 105 | + 'date_demain' => 'demain', |
|
| 106 | + 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 107 | + 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 108 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 109 | + 'date_fmt_jour_heure' => '@jour@ à @heure@', |
|
| 110 | + 'date_fmt_jour_heure_debut_fin' => '@jour@ de @heure_debut@ à @heure_fin@', |
|
| 111 | + 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtend@@heure_fin@@dtabbr@', |
|
| 112 | + 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 113 | + 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 114 | + 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 115 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 116 | + 'date_fmt_nomjour_date' => 'le @nomjour@ @date@', |
|
| 117 | + 'date_fmt_periode' => 'Du @date_debut@ au @date_fin@', |
|
| 118 | + 'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@', |
|
| 119 | + 'date_fmt_periode_from' => 'Du', |
|
| 120 | + 'date_fmt_periode_to' => 'au', |
|
| 121 | + 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 122 | + 'date_heures' => 'heures', |
|
| 123 | + 'date_hier' => 'hier', |
|
| 124 | + 'date_il_y_a' => 'il y a @delai@', |
|
| 125 | + 'date_jnum1' => '1er', |
|
| 126 | + 'date_jnum10' => '10', |
|
| 127 | + 'date_jnum11' => '11', |
|
| 128 | + 'date_jnum12' => '12', |
|
| 129 | + 'date_jnum13' => '13', |
|
| 130 | + 'date_jnum14' => '14', |
|
| 131 | + 'date_jnum15' => '15', |
|
| 132 | + 'date_jnum16' => '16', |
|
| 133 | + 'date_jnum17' => '17', |
|
| 134 | + 'date_jnum18' => '18', |
|
| 135 | + 'date_jnum19' => '19', |
|
| 136 | + 'date_jnum2' => '2', |
|
| 137 | + 'date_jnum20' => '20', |
|
| 138 | + 'date_jnum21' => '21', |
|
| 139 | + 'date_jnum22' => '22', |
|
| 140 | + 'date_jnum23' => '23', |
|
| 141 | + 'date_jnum24' => '24', |
|
| 142 | + 'date_jnum25' => '25', |
|
| 143 | + 'date_jnum26' => '26', |
|
| 144 | + 'date_jnum27' => '27', |
|
| 145 | + 'date_jnum28' => '28', |
|
| 146 | + 'date_jnum29' => '29', |
|
| 147 | + 'date_jnum3' => '3', |
|
| 148 | + 'date_jnum30' => '30', |
|
| 149 | + 'date_jnum31' => '31', |
|
| 150 | + 'date_jnum4' => '4', |
|
| 151 | + 'date_jnum5' => '5', |
|
| 152 | + 'date_jnum6' => '6', |
|
| 153 | + 'date_jnum7' => '7', |
|
| 154 | + 'date_jnum8' => '8', |
|
| 155 | + 'date_jnum9' => '9', |
|
| 156 | + 'date_jour_1' => 'dimanche', |
|
| 157 | + 'date_jour_1_abbr' => 'dim.', |
|
| 158 | + 'date_jour_1_initiale' => 'd.', |
|
| 159 | + 'date_jour_2' => 'lundi', |
|
| 160 | + 'date_jour_2_abbr' => 'lun.', |
|
| 161 | + 'date_jour_2_initiale' => 'l.', |
|
| 162 | + 'date_jour_3' => 'mardi', |
|
| 163 | + 'date_jour_3_abbr' => 'mar.', |
|
| 164 | + 'date_jour_3_initiale' => 'm.', |
|
| 165 | + 'date_jour_4' => 'mercredi', |
|
| 166 | + 'date_jour_4_abbr' => 'mer.', |
|
| 167 | + 'date_jour_4_initiale' => 'm.', |
|
| 168 | + 'date_jour_5' => 'jeudi', |
|
| 169 | + 'date_jour_5_abbr' => 'jeu.', |
|
| 170 | + 'date_jour_5_initiale' => 'j.', |
|
| 171 | + 'date_jour_6' => 'vendredi', |
|
| 172 | + 'date_jour_6_abbr' => 'ven.', |
|
| 173 | + 'date_jour_6_initiale' => 'v.', |
|
| 174 | + 'date_jour_7' => 'samedi', |
|
| 175 | + 'date_jour_7_abbr' => 'sam.', |
|
| 176 | + 'date_jour_7_initiale' => 's.', |
|
| 177 | + 'date_jours' => 'jours', |
|
| 178 | + 'date_minutes' => 'minutes', |
|
| 179 | + 'date_mois' => 'mois', |
|
| 180 | + 'date_mois_1' => 'janvier', |
|
| 181 | + 'date_mois_10' => 'octobre', |
|
| 182 | + 'date_mois_10_abbr' => 'oct.', |
|
| 183 | + 'date_mois_11' => 'novembre', |
|
| 184 | + 'date_mois_11_abbr' => 'nov.', |
|
| 185 | + 'date_mois_12' => 'décembre', |
|
| 186 | + 'date_mois_12_abbr' => 'déc.', |
|
| 187 | + 'date_mois_1_abbr' => 'janv.', |
|
| 188 | + 'date_mois_2' => 'février', |
|
| 189 | + 'date_mois_2_abbr' => 'févr.', |
|
| 190 | + 'date_mois_3' => 'mars', |
|
| 191 | + 'date_mois_3_abbr' => 'mars', |
|
| 192 | + 'date_mois_4' => 'avril', |
|
| 193 | + 'date_mois_4_abbr' => 'avr.', |
|
| 194 | + 'date_mois_5' => 'mai', |
|
| 195 | + 'date_mois_5_abbr' => 'mai', |
|
| 196 | + 'date_mois_6' => 'juin', |
|
| 197 | + 'date_mois_6_abbr' => 'juin', |
|
| 198 | + 'date_mois_7' => 'juillet', |
|
| 199 | + 'date_mois_7_abbr' => 'juil.', |
|
| 200 | + 'date_mois_8' => 'août', |
|
| 201 | + 'date_mois_8_abbr' => 'août', |
|
| 202 | + 'date_mois_9' => 'septembre', |
|
| 203 | + 'date_mois_9_abbr' => 'sept.', |
|
| 204 | + 'date_saison_1' => 'hiver', |
|
| 205 | + 'date_saison_2' => 'printemps', |
|
| 206 | + 'date_saison_3' => 'été', |
|
| 207 | + 'date_saison_4' => 'automne', |
|
| 208 | + 'date_secondes' => 'secondes', |
|
| 209 | + 'date_semaines' => 'semaines', |
|
| 210 | + 'date_un_mois' => 'mois', |
|
| 211 | + 'date_une_heure' => 'heure', |
|
| 212 | + 'date_une_minute' => 'minute', |
|
| 213 | + 'date_une_seconde' => 'seconde', |
|
| 214 | + 'date_une_semaine' => 'semaine', |
|
| 215 | + 'dirs_commencer' => ' afin de commencer réellement l’installation', |
|
| 216 | + 'dirs_preliminaire' => 'Préliminaire : <b>Régler les droits d’accès</b>', |
|
| 217 | + 'dirs_probleme_droits' => 'Problème de droits d’accès', |
|
| 218 | + 'dirs_repertoires_absents' => '<p><b>Les répertoires suivants n’ont pas été trouvés :</b></p><ul>@bad_dirs@</ul> |
|
| 219 | 219 | <p>Il est probable que cela soit dû à un problème de mauvaise mise en majuscules ou minuscules. |
| 220 | 220 | Vérifiez que les minuscules et majuscules de ces répertoires concordent bien avec ce qui est affiché |
| 221 | 221 | ci-dessus ; si ce n’est pas le cas, renommez les répertoires avec votre logiciel FTP de façon à corriger l’erreur.</p> |
| 222 | 222 | <p>Une fois cette manipulation effectuée, vous pourrez ', |
| 223 | - 'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul> |
|
| 223 | + 'dirs_repertoires_suivants' => '<p><b>Les répertoires suivants ne sont pas accessibles en écriture :</b></p> <ul>@bad_dirs@</ul> |
|
| 224 | 224 | <p>Pour y remédier, utilisez votre client FTP afin de régler les droits d’accès de chacun |
| 225 | 225 | de ces répertoires. La procédure est expliquée en détail dans le guide d’installation.</p> |
| 226 | 226 | <p>Une fois cette manipulation effectuée, vous pourrez ', |
| 227 | - 'double_occurrence' => 'Double occurrence de @balise@', |
|
| 227 | + 'double_occurrence' => 'Double occurrence de @balise@', |
|
| 228 | 228 | |
| 229 | - // E |
|
| 230 | - 'en_cours' => 'en cours', |
|
| 231 | - 'envoi_via_le_site' => 'Envoi via le site', |
|
| 232 | - 'erreur' => 'Erreur', |
|
| 233 | - 'erreur_balise_non_fermee' => 'dernière balise non refermée :', |
|
| 234 | - 'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.', |
|
| 235 | - 'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.', |
|
| 236 | - 'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.', |
|
| 237 | - 'erreur_texte' => 'erreur(s)', |
|
| 238 | - 'etape' => 'Étape', |
|
| 229 | + // E |
|
| 230 | + 'en_cours' => 'en cours', |
|
| 231 | + 'envoi_via_le_site' => 'Envoi via le site', |
|
| 232 | + 'erreur' => 'Erreur', |
|
| 233 | + 'erreur_balise_non_fermee' => 'dernière balise non refermée :', |
|
| 234 | + 'erreur_technique_ajaxform' => 'Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.', |
|
| 235 | + 'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l’enregistrement correct du champ @champs@.', |
|
| 236 | + 'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l’enregistrement.', |
|
| 237 | + 'erreur_texte' => 'erreur(s)', |
|
| 238 | + 'etape' => 'Étape', |
|
| 239 | 239 | |
| 240 | - // F |
|
| 241 | - 'fichier_introuvable' => 'Fichier @fichier@ introuvable.', |
|
| 242 | - 'fonction_introuvable' => 'Fonction @fonction@() introuvable.', |
|
| 243 | - 'form_auteur_confirmation' => 'Confirmez votre adresse email', |
|
| 244 | - 'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.', |
|
| 245 | - 'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.', |
|
| 246 | - 'form_auteur_mail_confirmation' => 'Bonjour, |
|
| 240 | + // F |
|
| 241 | + 'fichier_introuvable' => 'Fichier @fichier@ introuvable.', |
|
| 242 | + 'fonction_introuvable' => 'Fonction @fonction@() introuvable.', |
|
| 243 | + 'form_auteur_confirmation' => 'Confirmez votre adresse email', |
|
| 244 | + 'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.', |
|
| 245 | + 'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d’être envoyé à @email@. Vous devrez visiter l’adresse Web mentionnée dans ce courrier pour valider votre adresse mail.', |
|
| 246 | + 'form_auteur_mail_confirmation' => 'Bonjour, |
|
| 247 | 247 | |
| 248 | 248 | Vous avez demandé à changer votre adresse email. |
| 249 | 249 | Pour confirmer votre nouvelle adresse, il suffit de vous connecter à |
@@ -252,346 +252,346 @@ discard block |
||
| 252 | 252 | |
| 253 | 253 | @url@ |
| 254 | 254 | ', |
| 255 | - 'form_deja_inscrit' => 'Vous êtes déjà inscrit.', |
|
| 256 | - 'form_email_non_valide' => 'Votre adresse email n’est pas valide.', |
|
| 257 | - 'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.', |
|
| 258 | - 'form_forum_bonjour' => 'Bonjour @nom@,', |
|
| 259 | - 'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@', |
|
| 260 | - 'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.', |
|
| 261 | - 'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.', |
|
| 262 | - 'form_forum_identifiants' => 'Identifiants personnels', |
|
| 263 | - 'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.', |
|
| 264 | - 'form_forum_login' => 'login :', |
|
| 265 | - 'form_forum_message_auto' => '(ceci est un message automatique)', |
|
| 266 | - 'form_forum_pass' => 'mot de passe :', |
|
| 267 | - 'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.', |
|
| 268 | - 'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :', |
|
| 269 | - 'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur |
|
| 255 | + 'form_deja_inscrit' => 'Vous êtes déjà inscrit.', |
|
| 256 | + 'form_email_non_valide' => 'Votre adresse email n’est pas valide.', |
|
| 257 | + 'form_forum_access_refuse' => 'Vous n’avez plus accès à ce site.', |
|
| 258 | + 'form_forum_bonjour' => 'Bonjour @nom@,', |
|
| 259 | + 'form_forum_confirmer_email' => 'Pour confirmer votre adresse email, rendez-vous à cette adresse : @url_confirm@', |
|
| 260 | + 'form_forum_email_deja_enregistre' => 'Cette adresse email est déjà enregistrée, vous pouvez donc utiliser votre mot de passe habituel.', |
|
| 261 | + 'form_forum_identifiant_mail' => 'Votre nouvel identifiant vient de vous être envoyé par email.', |
|
| 262 | + 'form_forum_identifiants' => 'Identifiants personnels', |
|
| 263 | + 'form_forum_indiquer_nom_email' => 'Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.', |
|
| 264 | + 'form_forum_login' => 'login :', |
|
| 265 | + 'form_forum_message_auto' => '(ceci est un message automatique)', |
|
| 266 | + 'form_forum_pass' => 'mot de passe :', |
|
| 267 | + 'form_forum_probleme_mail' => 'Problème de mail : l’identifiant ne peut pas être envoyé.', |
|
| 268 | + 'form_forum_voici1' => 'Voici vos identifiants pour pouvoir participer à la vie du site "@nom_site_spip@" (@adresse_site@) :', |
|
| 269 | + 'form_forum_voici2' => 'Voici vos identifiants pour proposer des articles sur |
|
| 270 | 270 | le site "@nom_site_spip@" (@adresse_login@) :', |
| 271 | - 'form_indiquer_email' => 'Veuillez indiquer votre adresse email.', |
|
| 272 | - 'form_indiquer_nom' => 'Veuillez indiquer votre nom.', |
|
| 273 | - 'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.', |
|
| 274 | - 'form_pet_deja_enregistre' => 'Ce site est déjà enregistré', |
|
| 275 | - 'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.', |
|
| 276 | - 'form_prop_confirmer_envoi' => 'Confirmer l’envoi', |
|
| 277 | - 'form_prop_description' => 'Description/commentaire', |
|
| 278 | - 'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.', |
|
| 279 | - 'form_prop_envoyer' => 'Envoyer un message', |
|
| 280 | - 'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide', |
|
| 281 | - 'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.', |
|
| 282 | - 'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet', |
|
| 283 | - 'form_prop_message_envoye' => 'Message envoyé', |
|
| 284 | - 'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.', |
|
| 285 | - 'form_prop_sujet' => 'Sujet', |
|
| 286 | - 'form_prop_url_site' => 'Adresse URL du site', |
|
| 287 | - 'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.', |
|
| 288 | - 'format_date_incorrecte' => 'La date ou son format est incorrect', |
|
| 289 | - 'format_heure_attendu' => 'Saisir une heure au format hh:mm.', |
|
| 290 | - 'format_heure_incorrecte' => 'L’heure ou son format est incorrect', |
|
| 291 | - 'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.', |
|
| 292 | - 'forum_par_auteur' => 'par @auteur@', |
|
| 293 | - 'forum_titre_erreur' => 'Erreur...', |
|
| 271 | + 'form_indiquer_email' => 'Veuillez indiquer votre adresse email.', |
|
| 272 | + 'form_indiquer_nom' => 'Veuillez indiquer votre nom.', |
|
| 273 | + 'form_indiquer_nom_site' => 'Veuillez indiquer le nom de votre site.', |
|
| 274 | + 'form_pet_deja_enregistre' => 'Ce site est déjà enregistré', |
|
| 275 | + 'form_pet_signature_pasprise' => 'Votre signature n’est pas prise en compte.', |
|
| 276 | + 'form_prop_confirmer_envoi' => 'Confirmer l’envoi', |
|
| 277 | + 'form_prop_description' => 'Description/commentaire', |
|
| 278 | + 'form_prop_enregistre' => 'Votre proposition est enregistrée, elle apparaîtra en ligne après validation par les responsables de ce site.', |
|
| 279 | + 'form_prop_envoyer' => 'Envoyer un message', |
|
| 280 | + 'form_prop_indiquer_email' => 'Veuillez indiquer une adresse email valide', |
|
| 281 | + 'form_prop_indiquer_nom_site' => 'Veuillez indiquer le nom du site.', |
|
| 282 | + 'form_prop_indiquer_sujet' => 'Veuillez indiquer un sujet', |
|
| 283 | + 'form_prop_message_envoye' => 'Message envoyé', |
|
| 284 | + 'form_prop_non_enregistre' => 'Votre proposition n’a pas été enregistrée.', |
|
| 285 | + 'form_prop_sujet' => 'Sujet', |
|
| 286 | + 'form_prop_url_site' => 'Adresse URL du site', |
|
| 287 | + 'format_date_attendu' => 'Saisir une date au format jj/mm/aaaa.', |
|
| 288 | + 'format_date_incorrecte' => 'La date ou son format est incorrect', |
|
| 289 | + 'format_heure_attendu' => 'Saisir une heure au format hh:mm.', |
|
| 290 | + 'format_heure_incorrecte' => 'L’heure ou son format est incorrect', |
|
| 291 | + 'forum_non_inscrit' => 'Vous n’êtes pas inscrit, ou l’adresse ou le mot de passe sont erronés.', |
|
| 292 | + 'forum_par_auteur' => 'par @auteur@', |
|
| 293 | + 'forum_titre_erreur' => 'Erreur...', |
|
| 294 | 294 | |
| 295 | - // I |
|
| 296 | - 'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :', |
|
| 297 | - 'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :', |
|
| 298 | - 'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.', |
|
| 299 | - 'icone_a_suivre' => 'À suivre', |
|
| 300 | - 'icone_admin_site' => 'Administration du site', |
|
| 301 | - 'icone_agenda' => 'Agenda', |
|
| 302 | - 'icone_aide_ligne' => 'Aide', |
|
| 303 | - 'icone_articles' => 'Articles', |
|
| 304 | - 'icone_auteurs' => 'Auteurs', |
|
| 305 | - 'icone_brouteur' => 'Navigation rapide', |
|
| 306 | - 'icone_configuration_site' => 'Configuration', |
|
| 307 | - 'icone_configurer_site' => 'Configurer votre site', |
|
| 308 | - 'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur', |
|
| 309 | - 'icone_creer_rubrique' => 'Créer une rubrique', |
|
| 310 | - 'icone_creer_sous_rubrique' => 'Créer une sous-rubrique', |
|
| 311 | - 'icone_deconnecter' => 'Se déconnecter', |
|
| 312 | - 'icone_discussions' => 'Discussions', |
|
| 313 | - 'icone_doc_rubrique' => 'Documents des rubriques', |
|
| 314 | - 'icone_ecrire_article' => 'Écrire un nouvel article', |
|
| 315 | - 'icone_edition_site' => 'Édition', |
|
| 316 | - 'icone_gestion_langues' => 'Gestion des langues', |
|
| 317 | - 'icone_informations_personnelles' => 'Informations personnelles', |
|
| 318 | - 'icone_interface_complet' => 'interface complète', |
|
| 319 | - 'icone_interface_simple' => 'Interface simplifiée', |
|
| 320 | - 'icone_maintenance_site' => 'Maintenance du site', |
|
| 321 | - 'icone_messagerie_personnelle' => 'Messagerie personnelle', |
|
| 322 | - 'icone_repartition_debut' => 'Afficher la répartition depuis le début', |
|
| 323 | - 'icone_rubriques' => 'Rubriques', |
|
| 324 | - 'icone_sauver_site' => 'Sauvegarde du site', |
|
| 325 | - 'icone_site_entier' => 'Tout le site', |
|
| 326 | - 'icone_sites_references' => 'Sites référencés', |
|
| 327 | - 'icone_statistiques' => 'Statistiques du site', |
|
| 328 | - 'icone_suivi_activite' => 'Suivre la vie du site', |
|
| 329 | - 'icone_suivi_actualite' => 'Évolution du site', |
|
| 330 | - 'icone_suivi_pettions' => 'Suivre/gérer les pétitions', |
|
| 331 | - 'icone_suivi_revisions' => 'Modifications des articles', |
|
| 332 | - 'icone_supprimer_document' => 'Supprimer ce document', |
|
| 333 | - 'icone_supprimer_image' => 'Supprimer cette image', |
|
| 334 | - 'icone_tous_articles' => 'Tous vos articles', |
|
| 335 | - 'icone_tous_auteur' => 'Tous les auteurs', |
|
| 336 | - 'icone_tous_visiteur' => 'Tous les visiteurs', |
|
| 337 | - 'icone_visiter_site' => 'Voir le site public', |
|
| 338 | - 'icone_voir_en_ligne' => 'Voir en ligne', |
|
| 339 | - 'img_indisponible' => 'image indisponible', |
|
| 340 | - 'impossible' => 'impossible', |
|
| 341 | - 'info_a_suivre' => 'À SUIVRE »', |
|
| 342 | - 'info_acces_interdit' => 'Accès interdit', |
|
| 343 | - 'info_acces_refuse' => 'Accès refusé', |
|
| 344 | - 'info_action' => 'Action : @action@', |
|
| 345 | - 'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques', |
|
| 346 | - 'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !', |
|
| 347 | - 'info_aide' => 'AIDE :', |
|
| 348 | - 'info_ajouter_mot' => 'Ajouter ce mot', |
|
| 349 | - 'info_annonce' => 'ANNONCE', |
|
| 350 | - 'info_annonces_generales' => 'Annonces générales :', |
|
| 351 | - 'info_article_propose' => 'Article proposé', |
|
| 352 | - 'info_article_publie' => 'Article publié', |
|
| 353 | - 'info_article_redaction' => 'Article en cours de rédaction', |
|
| 354 | - 'info_article_refuse' => 'Article refusé', |
|
| 355 | - 'info_article_supprime' => 'Article supprimé', |
|
| 356 | - 'info_articles' => 'Articles', |
|
| 357 | - 'info_articles_a_valider' => 'Les articles à valider', |
|
| 358 | - 'info_articles_nb' => '@nb@ articles', |
|
| 359 | - 'info_articles_proposes' => 'Articles proposés', |
|
| 360 | - 'info_articles_un' => '1 article', |
|
| 361 | - 'info_auteurs_nombre' => 'auteur(s) :', |
|
| 362 | - 'info_authentification_ftp' => 'Authentification (par FTP).', |
|
| 363 | - 'info_breves_2' => 'brèves', |
|
| 364 | - 'info_breves_nb' => '@nb@ brèves', |
|
| 365 | - 'info_breves_un' => '1 brève', |
|
| 366 | - 'info_connexion_refusee' => 'Connexion refusée', |
|
| 367 | - 'info_contact_developpeur' => 'Veuillez contacter un développeur.', |
|
| 368 | - 'info_contenance' => 'Ce site contient :', |
|
| 369 | - 'info_contribution' => 'contributions', |
|
| 370 | - 'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.', |
|
| 371 | - 'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | - 'info_copyright_gpl' => 'sous licence GPL', |
|
| 373 | - 'info_cours_edition' => 'En cours de modification', |
|
| 374 | - 'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :', |
|
| 375 | - 'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :', |
|
| 376 | - 'info_creer_vignette' => 'création automatique de la vignette', |
|
| 377 | - 'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique', |
|
| 378 | - 'info_deplier' => 'Déplier', |
|
| 379 | - 'info_descriptif_nombre' => 'descriptif(s) :', |
|
| 380 | - 'info_description' => 'Description :', |
|
| 381 | - 'info_description_2' => 'Description :', |
|
| 382 | - 'info_dimension' => 'Dimensions :', |
|
| 383 | - 'info_documents_nb' => '@nb@ documents', |
|
| 384 | - 'info_documents_un' => '1 document', |
|
| 385 | - 'info_ecire_message_prive' => 'Écrire un message privé', |
|
| 386 | - 'info_email_invalide' => 'Adresse email invalide.', |
|
| 387 | - 'info_en_cours_validation' => 'Vos articles en cours de rédaction', |
|
| 388 | - 'info_en_ligne' => 'Actuellement en ligne :', |
|
| 389 | - 'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur', |
|
| 390 | - 'info_erreur_requete' => 'Erreur dans la requête :', |
|
| 391 | - 'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...', |
|
| 392 | - 'info_erreur_systeme' => 'Erreur système (errno @errsys@)', |
|
| 393 | - 'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br /> |
|
| 295 | + // I |
|
| 296 | + 'ical_texte_rss_articles' => 'Le fichier « backend » des articles de ce site se trouve à l’adresse :', |
|
| 297 | + 'ical_texte_rss_articles2' => 'Vous pouvez également obtenir des fichiers « backend » pour les articles de chaque rubrique du site :', |
|
| 298 | + 'ical_texte_rss_breves' => 'Il existe de plus un fichier contenant les brèves du site. En précisant un numéro de rubrique, vous obtiendrez uniquement les brèves de cette rubrique.', |
|
| 299 | + 'icone_a_suivre' => 'À suivre', |
|
| 300 | + 'icone_admin_site' => 'Administration du site', |
|
| 301 | + 'icone_agenda' => 'Agenda', |
|
| 302 | + 'icone_aide_ligne' => 'Aide', |
|
| 303 | + 'icone_articles' => 'Articles', |
|
| 304 | + 'icone_auteurs' => 'Auteurs', |
|
| 305 | + 'icone_brouteur' => 'Navigation rapide', |
|
| 306 | + 'icone_configuration_site' => 'Configuration', |
|
| 307 | + 'icone_configurer_site' => 'Configurer votre site', |
|
| 308 | + 'icone_creer_nouvel_auteur' => 'Créer un nouvel auteur', |
|
| 309 | + 'icone_creer_rubrique' => 'Créer une rubrique', |
|
| 310 | + 'icone_creer_sous_rubrique' => 'Créer une sous-rubrique', |
|
| 311 | + 'icone_deconnecter' => 'Se déconnecter', |
|
| 312 | + 'icone_discussions' => 'Discussions', |
|
| 313 | + 'icone_doc_rubrique' => 'Documents des rubriques', |
|
| 314 | + 'icone_ecrire_article' => 'Écrire un nouvel article', |
|
| 315 | + 'icone_edition_site' => 'Édition', |
|
| 316 | + 'icone_gestion_langues' => 'Gestion des langues', |
|
| 317 | + 'icone_informations_personnelles' => 'Informations personnelles', |
|
| 318 | + 'icone_interface_complet' => 'interface complète', |
|
| 319 | + 'icone_interface_simple' => 'Interface simplifiée', |
|
| 320 | + 'icone_maintenance_site' => 'Maintenance du site', |
|
| 321 | + 'icone_messagerie_personnelle' => 'Messagerie personnelle', |
|
| 322 | + 'icone_repartition_debut' => 'Afficher la répartition depuis le début', |
|
| 323 | + 'icone_rubriques' => 'Rubriques', |
|
| 324 | + 'icone_sauver_site' => 'Sauvegarde du site', |
|
| 325 | + 'icone_site_entier' => 'Tout le site', |
|
| 326 | + 'icone_sites_references' => 'Sites référencés', |
|
| 327 | + 'icone_statistiques' => 'Statistiques du site', |
|
| 328 | + 'icone_suivi_activite' => 'Suivre la vie du site', |
|
| 329 | + 'icone_suivi_actualite' => 'Évolution du site', |
|
| 330 | + 'icone_suivi_pettions' => 'Suivre/gérer les pétitions', |
|
| 331 | + 'icone_suivi_revisions' => 'Modifications des articles', |
|
| 332 | + 'icone_supprimer_document' => 'Supprimer ce document', |
|
| 333 | + 'icone_supprimer_image' => 'Supprimer cette image', |
|
| 334 | + 'icone_tous_articles' => 'Tous vos articles', |
|
| 335 | + 'icone_tous_auteur' => 'Tous les auteurs', |
|
| 336 | + 'icone_tous_visiteur' => 'Tous les visiteurs', |
|
| 337 | + 'icone_visiter_site' => 'Voir le site public', |
|
| 338 | + 'icone_voir_en_ligne' => 'Voir en ligne', |
|
| 339 | + 'img_indisponible' => 'image indisponible', |
|
| 340 | + 'impossible' => 'impossible', |
|
| 341 | + 'info_a_suivre' => 'À SUIVRE »', |
|
| 342 | + 'info_acces_interdit' => 'Accès interdit', |
|
| 343 | + 'info_acces_refuse' => 'Accès refusé', |
|
| 344 | + 'info_action' => 'Action : @action@', |
|
| 345 | + 'info_administrer_rubriques' => 'Vous pouvez administrer cette rubrique et ses sous-rubriques', |
|
| 346 | + 'info_adresse_non_indiquee' => 'Vous n’avez pas indiqué d’adresse à tester !', |
|
| 347 | + 'info_aide' => 'AIDE :', |
|
| 348 | + 'info_ajouter_mot' => 'Ajouter ce mot', |
|
| 349 | + 'info_annonce' => 'ANNONCE', |
|
| 350 | + 'info_annonces_generales' => 'Annonces générales :', |
|
| 351 | + 'info_article_propose' => 'Article proposé', |
|
| 352 | + 'info_article_publie' => 'Article publié', |
|
| 353 | + 'info_article_redaction' => 'Article en cours de rédaction', |
|
| 354 | + 'info_article_refuse' => 'Article refusé', |
|
| 355 | + 'info_article_supprime' => 'Article supprimé', |
|
| 356 | + 'info_articles' => 'Articles', |
|
| 357 | + 'info_articles_a_valider' => 'Les articles à valider', |
|
| 358 | + 'info_articles_nb' => '@nb@ articles', |
|
| 359 | + 'info_articles_proposes' => 'Articles proposés', |
|
| 360 | + 'info_articles_un' => '1 article', |
|
| 361 | + 'info_auteurs_nombre' => 'auteur(s) :', |
|
| 362 | + 'info_authentification_ftp' => 'Authentification (par FTP).', |
|
| 363 | + 'info_breves_2' => 'brèves', |
|
| 364 | + 'info_breves_nb' => '@nb@ brèves', |
|
| 365 | + 'info_breves_un' => '1 brève', |
|
| 366 | + 'info_connexion_refusee' => 'Connexion refusée', |
|
| 367 | + 'info_contact_developpeur' => 'Veuillez contacter un développeur.', |
|
| 368 | + 'info_contenance' => 'Ce site contient :', |
|
| 369 | + 'info_contribution' => 'contributions', |
|
| 370 | + 'info_copyright' => '@spip@ est un logiciel libre distribué @lien_gpl@.', |
|
| 371 | + 'info_copyright_doc' => 'Pour plus d’informations, voir le site <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | + 'info_copyright_gpl' => 'sous licence GPL', |
|
| 373 | + 'info_cours_edition' => 'En cours de modification', |
|
| 374 | + 'info_creer_repertoire' => 'Veuillez créer un fichier ou un répertoire nommé :', |
|
| 375 | + 'info_creer_repertoire_2' => 'à l’intérieur du sous-répertoire <b>@repertoire@</b>, puis :', |
|
| 376 | + 'info_creer_vignette' => 'création automatique de la vignette', |
|
| 377 | + 'info_creerdansrubrique_non_autorise' => 'Vous n’avez pas de droits suffisants pour créer un contenu dans cette rubrique', |
|
| 378 | + 'info_deplier' => 'Déplier', |
|
| 379 | + 'info_descriptif_nombre' => 'descriptif(s) :', |
|
| 380 | + 'info_description' => 'Description :', |
|
| 381 | + 'info_description_2' => 'Description :', |
|
| 382 | + 'info_dimension' => 'Dimensions :', |
|
| 383 | + 'info_documents_nb' => '@nb@ documents', |
|
| 384 | + 'info_documents_un' => '1 document', |
|
| 385 | + 'info_ecire_message_prive' => 'Écrire un message privé', |
|
| 386 | + 'info_email_invalide' => 'Adresse email invalide.', |
|
| 387 | + 'info_en_cours_validation' => 'Vos articles en cours de rédaction', |
|
| 388 | + 'info_en_ligne' => 'Actuellement en ligne :', |
|
| 389 | + 'info_envoyer_message_prive' => 'Envoyer un message privé à cet auteur', |
|
| 390 | + 'info_erreur_requete' => 'Erreur dans la requête :', |
|
| 391 | + 'info_erreur_squelette2' => 'Aucun squelette <b>@fichier@</b> n’est disponible...', |
|
| 392 | + 'info_erreur_systeme' => 'Erreur système (errno @errsys@)', |
|
| 393 | + 'info_erreur_systeme2' => 'Le disque dur est peut-être plein, ou la base de données endommagée.<br /> |
|
| 394 | 394 | <span style="color:red;">Essayez de <a href=\'@script@\'>réparer la base</a>, ou contactez votre hébergeur.</span>', |
| 395 | - 'info_fini' => 'C’est fini !', |
|
| 396 | - 'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.', |
|
| 397 | - 'info_format_non_defini' => 'format non défini', |
|
| 398 | - 'info_grand_ecran' => 'Grand écran', |
|
| 399 | - 'info_image_aide' => 'AIDE', |
|
| 400 | - 'info_image_process_titre' => 'Méthode de fabrication des vignettes', |
|
| 401 | - 'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ', |
|
| 402 | - 'info_installation_systeme_publication' => 'Installation du système de publication...', |
|
| 403 | - 'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.', |
|
| 404 | - 'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.', |
|
| 405 | - 'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.', |
|
| 406 | - 'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.', |
|
| 407 | - 'info_interface_complete' => 'interface complète', |
|
| 408 | - 'info_interface_simple' => 'Interface simplifiée', |
|
| 409 | - 'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type', |
|
| 410 | - 'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type', |
|
| 411 | - 'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :', |
|
| 412 | - 'info_l_article' => 'l’article', |
|
| 413 | - 'info_la_breve' => 'la brève', |
|
| 414 | - 'info_la_rubrique' => 'la rubrique', |
|
| 415 | - 'info_langue_principale' => 'Langue principale du site', |
|
| 416 | - 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels', |
|
| 417 | - 'info_les_auteurs_1' => 'par @les_auteurs@', |
|
| 418 | - 'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.', |
|
| 419 | - 'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).', |
|
| 420 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | - 'info_message_2' => 'MESSAGE', |
|
| 422 | - 'info_message_supprime' => 'MESSAGE SUPPRIMÉ', |
|
| 423 | - 'info_messages_nb' => '@nb@ messages', |
|
| 424 | - 'info_messages_un' => '1 message', |
|
| 425 | - 'info_mise_en_ligne' => 'Date de mise en ligne :', |
|
| 426 | - 'info_modification_parametres_securite' => 'modifications des paramètres de sécurité', |
|
| 427 | - 'info_mois_courant' => 'Dans le courant du mois :', |
|
| 428 | - 'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à', |
|
| 429 | - 'info_multi_herit' => 'Langue par défaut', |
|
| 430 | - 'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si vous sélectionnez ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.', |
|
| 431 | - 'info_multilinguisme' => 'Multilinguisme', |
|
| 432 | - 'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.', |
|
| 433 | - 'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.', |
|
| 434 | - 'info_nombre_en_ligne' => 'Actuellement en ligne :', |
|
| 435 | - 'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"', |
|
| 436 | - 'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.', |
|
| 437 | - 'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE', |
|
| 438 | - 'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES', |
|
| 439 | - 'info_numero_abbreviation' => 'N° ', |
|
| 440 | - 'info_obligatoire' => 'Cette information est obligatoire', |
|
| 441 | - 'info_page_actuelle' => 'Page actuelle', |
|
| 442 | - 'info_pense_bete' => 'PENSE-BÊTE', |
|
| 443 | - 'info_petit_ecran' => 'Petit écran', |
|
| 444 | - 'info_petition_close' => 'Pétition close', |
|
| 445 | - 'info_pixels' => 'pixels', |
|
| 446 | - 'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :', |
|
| 447 | - 'info_portfolio_automatique' => 'Portfolio automatique :', |
|
| 448 | - 'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]', |
|
| 449 | - 'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]', |
|
| 450 | - 'info_propose_1' => '[@nom_site_spip@] Propose : @titre@', |
|
| 451 | - 'info_propose_2' => 'Article proposé |
|
| 395 | + 'info_fini' => 'C’est fini !', |
|
| 396 | + 'info_format_image' => 'Formats d’images pouvant être utilisées pour créer des vignettes : @gd_formats@.', |
|
| 397 | + 'info_format_non_defini' => 'format non défini', |
|
| 398 | + 'info_grand_ecran' => 'Grand écran', |
|
| 399 | + 'info_image_aide' => 'AIDE', |
|
| 400 | + 'info_image_process_titre' => 'Méthode de fabrication des vignettes', |
|
| 401 | + 'info_impossible_lire_page' => '<b>Erreur !</b> Impossible de lire la page <tt><html>@test_proxy@</html></tt> à travers le proxy ', |
|
| 402 | + 'info_installation_systeme_publication' => 'Installation du système de publication...', |
|
| 403 | + 'info_installer_documents' => 'Vous pouvez installer automatiquement tous les documents contenus dans le dossier @upload@.', |
|
| 404 | + 'info_installer_ftp' => 'En tant qu’administrateur, vous pouvez installer (par FTP) des fichiers dans le dossier @upload@ pour ensuite les sélectionner directement ici.', |
|
| 405 | + 'info_installer_images' => 'Vous pouvez installer des images aux formats JPEG, GIF et PNG.', |
|
| 406 | + 'info_installer_images_dossier' => 'Installer des images dans le dossier @upload@ pour pouvoir les sélectionner ici.', |
|
| 407 | + 'info_interface_complete' => 'interface complète', |
|
| 408 | + 'info_interface_simple' => 'Interface simplifiée', |
|
| 409 | + 'info_joindre_document_article' => 'Vous pouvez joindre à cet article des documents de type', |
|
| 410 | + 'info_joindre_document_rubrique' => 'Vous pouvez ajouter dans cette rubrique des documents de type', |
|
| 411 | + 'info_joindre_documents_article' => 'Vous pouvez joindre à votre article des documents de type :', |
|
| 412 | + 'info_l_article' => 'l’article', |
|
| 413 | + 'info_la_breve' => 'la brève', |
|
| 414 | + 'info_la_rubrique' => 'la rubrique', |
|
| 415 | + 'info_langue_principale' => 'Langue principale du site', |
|
| 416 | + 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels', |
|
| 417 | + 'info_les_auteurs_1' => 'par @les_auteurs@', |
|
| 418 | + 'info_logo_format_interdit' => 'Seuls les logos aux formats @formats@ sont autorisés.', |
|
| 419 | + 'info_logo_max_poids' => 'Les logos doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).', |
|
| 420 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | + 'info_message_2' => 'MESSAGE', |
|
| 422 | + 'info_message_supprime' => 'MESSAGE SUPPRIMÉ', |
|
| 423 | + 'info_messages_nb' => '@nb@ messages', |
|
| 424 | + 'info_messages_un' => '1 message', |
|
| 425 | + 'info_mise_en_ligne' => 'Date de mise en ligne :', |
|
| 426 | + 'info_modification_parametres_securite' => 'modifications des paramètres de sécurité', |
|
| 427 | + 'info_mois_courant' => 'Dans le courant du mois :', |
|
| 428 | + 'info_mot_cle_ajoute' => 'Le mot-clé suivant a été ajouté à', |
|
| 429 | + 'info_multi_herit' => 'Langue par défaut', |
|
| 430 | + 'info_multi_langues_soulignees' => 'Les <u>langues soulignées</u> bénéficient d’une traduction totale ou partielle des textes de l’interface. Si vous sélectionnez ces langues, de nombreux éléments du site public (dates, formulaires) seront automatiquement traduits. Pour les langues non soulignées, ces éléments apparaîtront dans la langue principale du site.', |
|
| 431 | + 'info_multilinguisme' => 'Multilinguisme', |
|
| 432 | + 'info_nom_non_utilisateurs_connectes' => 'Votre nom n’apparaît pas dans la liste des utilisateurs connectés.', |
|
| 433 | + 'info_nom_utilisateurs_connectes' => 'Votre nom apparaît dans la liste des utilisateurs connectés.', |
|
| 434 | + 'info_nombre_en_ligne' => 'Actuellement en ligne :', |
|
| 435 | + 'info_non_resultat' => 'Aucun résultat pour "@cherche_mot@"', |
|
| 436 | + 'info_non_utilisation_messagerie' => 'Vous n’utilisez pas la messagerie interne de ce site.', |
|
| 437 | + 'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE', |
|
| 438 | + 'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES', |
|
| 439 | + 'info_numero_abbreviation' => 'N° ', |
|
| 440 | + 'info_obligatoire' => 'Cette information est obligatoire', |
|
| 441 | + 'info_page_actuelle' => 'Page actuelle', |
|
| 442 | + 'info_pense_bete' => 'PENSE-BÊTE', |
|
| 443 | + 'info_petit_ecran' => 'Petit écran', |
|
| 444 | + 'info_petition_close' => 'Pétition close', |
|
| 445 | + 'info_pixels' => 'pixels', |
|
| 446 | + 'info_plusieurs_mots_trouves' => 'Plusieurs mots-clés trouvés pour "@cherche_mot@" :', |
|
| 447 | + 'info_portfolio_automatique' => 'Portfolio automatique :', |
|
| 448 | + 'info_premier_resultat' => '[@debut_limit@ premiers résultats sur @total@]', |
|
| 449 | + 'info_premier_resultat_sur' => '[@debut_limit@ premiers résultats sur @total@]', |
|
| 450 | + 'info_propose_1' => '[@nom_site_spip@] Propose : @titre@', |
|
| 451 | + 'info_propose_2' => 'Article proposé |
|
| 452 | 452 | ---------------', |
| 453 | - 'info_propose_3' => 'L’article "@titre@" est proposé à la publication.', |
|
| 454 | - 'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion', |
|
| 455 | - 'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :', |
|
| 456 | - 'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.', |
|
| 457 | - 'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@', |
|
| 458 | - 'info_publie_2' => 'Article publié |
|
| 453 | + 'info_propose_3' => 'L’article "@titre@" est proposé à la publication.', |
|
| 454 | + 'info_propose_4' => 'Vous êtes invité à venir le consulter et à donner votre opinion', |
|
| 455 | + 'info_propose_5' => 'dans le forum qui lui est attaché. Il est disponible à l’adresse :', |
|
| 456 | + 'info_publie_01' => 'L’article "@titre@" a été validé par @connect_nom@.', |
|
| 457 | + 'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@', |
|
| 458 | + 'info_publie_2' => 'Article publié |
|
| 459 | 459 | --------------', |
| 460 | - 'info_rechercher' => 'Rechercher', |
|
| 461 | - 'info_rechercher_02' => 'Rechercher :', |
|
| 462 | - 'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :', |
|
| 463 | - 'info_rubriques_nb' => '@nb@ rubriques', |
|
| 464 | - 'info_rubriques_un' => '1 rubrique', |
|
| 465 | - 'info_sans_titre_2' => 'sans titre', |
|
| 466 | - 'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@', |
|
| 467 | - 'info_selectionner_fichier_2' => 'Sélectionner un fichier :', |
|
| 468 | - 'info_sites_nb' => '@nb@ sites', |
|
| 469 | - 'info_sites_un' => '1 site', |
|
| 470 | - 'info_supprimer_vignette' => 'supprimer la vignette', |
|
| 471 | - 'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.', |
|
| 472 | - 'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.', |
|
| 473 | - 'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.', |
|
| 474 | - 'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :', |
|
| 475 | - 'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :', |
|
| 476 | - 'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]', |
|
| 477 | - 'info_tout_afficher' => 'Tout afficher', |
|
| 478 | - 'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...', |
|
| 479 | - 'info_travaux_titre' => 'Site en travaux', |
|
| 480 | - 'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.', |
|
| 481 | - 'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.', |
|
| 482 | - 'info_valider_lien' => 'valider ce lien', |
|
| 483 | - 'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.', |
|
| 484 | - 'info_vignette_defaut' => 'Vignette par défaut', |
|
| 485 | - 'info_vignette_personnalisee' => 'Vignette personnalisée', |
|
| 486 | - 'info_visite' => 'visite :', |
|
| 487 | - 'info_vos_rendez_vous' => 'Vos rendez-vous à venir', |
|
| 488 | - 'infos_vos_pense_bete' => 'Vos pense-bêtes', |
|
| 460 | + 'info_rechercher' => 'Rechercher', |
|
| 461 | + 'info_rechercher_02' => 'Rechercher :', |
|
| 462 | + 'info_remplacer_vignette' => 'Remplacer la vignette par défaut par un logo personnalisé :', |
|
| 463 | + 'info_rubriques_nb' => '@nb@ rubriques', |
|
| 464 | + 'info_rubriques_un' => '1 rubrique', |
|
| 465 | + 'info_sans_titre_2' => 'sans titre', |
|
| 466 | + 'info_selectionner_fichier' => 'Vous pouvez sélectionner un fichier du dossier @upload@', |
|
| 467 | + 'info_selectionner_fichier_2' => 'Sélectionner un fichier :', |
|
| 468 | + 'info_sites_nb' => '@nb@ sites', |
|
| 469 | + 'info_sites_un' => '1 site', |
|
| 470 | + 'info_supprimer_vignette' => 'supprimer la vignette', |
|
| 471 | + 'info_symbole_bleu' => 'Le symbole <b>bleu</b> indique un <b>pense-bête</b> : c’est-à-dire un message à votre usage personnel.', |
|
| 472 | + 'info_symbole_jaune' => 'Le symbole <b>jaune</b> indique une <b>annonce à tous les rédacteurs</b> : modifiable par tous les administrateurs, et visible par tous les rédacteurs.', |
|
| 473 | + 'info_symbole_vert' => 'Le symbole <b>vert</b> indique les <b>messages échangés avec d’autres utilisateurs</b> du site.', |
|
| 474 | + 'info_telecharger_nouveau_logo' => 'Télécharger un nouveau logo :', |
|
| 475 | + 'info_telecharger_ordinateur' => 'Télécharger depuis votre ordinateur :', |
|
| 476 | + 'info_tous_resultats_enregistres' => '[tous les résultats sont enregistrés]', |
|
| 477 | + 'info_tout_afficher' => 'Tout afficher', |
|
| 478 | + 'info_travaux_texte' => 'Ce site n’est pas encore configuré. Revenez plus tard...', |
|
| 479 | + 'info_travaux_titre' => 'Site en travaux', |
|
| 480 | + 'info_trop_resultat' => 'Trop de résultats pour "@cherche_mot@" ; veuillez affiner la recherche.', |
|
| 481 | + 'info_utilisation_messagerie_interne' => 'Vous utilisez la messagerie interne de ce site.', |
|
| 482 | + 'info_valider_lien' => 'valider ce lien', |
|
| 483 | + 'info_verifier_image' => ', veuillez vérifier que vos images ont été transférées correctement.', |
|
| 484 | + 'info_vignette_defaut' => 'Vignette par défaut', |
|
| 485 | + 'info_vignette_personnalisee' => 'Vignette personnalisée', |
|
| 486 | + 'info_visite' => 'visite :', |
|
| 487 | + 'info_vos_rendez_vous' => 'Vos rendez-vous à venir', |
|
| 488 | + 'infos_vos_pense_bete' => 'Vos pense-bêtes', |
|
| 489 | 489 | |
| 490 | - // L |
|
| 491 | - 'label_ajout_id_rapide' => 'Ajout rapide', |
|
| 492 | - 'label_poids_fichier' => 'Taille', |
|
| 493 | - 'label_ponctuer' => '@label@ :', |
|
| 494 | - 'lien_afficher_icones_seuls' => 'Afficher uniquement les icones', |
|
| 495 | - 'lien_afficher_texte_icones' => 'Afficher les icones et le texte', |
|
| 496 | - 'lien_afficher_texte_seul' => 'Afficher uniquement le texte', |
|
| 497 | - 'lien_aller_a_la_derniere_page' => 'Aller à la dernière page', |
|
| 498 | - 'lien_aller_a_la_page_nb' => 'Aller à la page @nb@', |
|
| 499 | - 'lien_aller_a_la_page_precedente' => 'Aller à la page précédente', |
|
| 500 | - 'lien_aller_a_la_page_suivante' => 'Aller à la page suivante', |
|
| 501 | - 'lien_aller_a_la_premiere_page' => 'Aller à la première page', |
|
| 502 | - 'lien_liberer' => 'libérer', |
|
| 503 | - 'lien_liberer_tous' => 'Tout libérer', |
|
| 504 | - 'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE', |
|
| 505 | - 'lien_nouveau_message' => 'NOUVEAU MESSAGE', |
|
| 506 | - 'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE', |
|
| 507 | - 'lien_petitions' => 'PÉTITION', |
|
| 508 | - 'lien_popularite' => 'popularité : @popularite@%', |
|
| 509 | - 'lien_racine_site' => 'RACINE DU SITE', |
|
| 510 | - 'lien_reessayer' => 'réessayer', |
|
| 511 | - 'lien_repondre_message' => 'Répondre à ce message', |
|
| 512 | - 'lien_supprimer' => 'supprimer', |
|
| 513 | - 'lien_tout_afficher' => 'Tout afficher', |
|
| 514 | - 'lien_visite_site' => 'visiter ce site', |
|
| 515 | - 'lien_visites' => '@visites@ visites', |
|
| 516 | - 'lien_voir_auteur' => 'Voir cet auteur', |
|
| 517 | - 'ligne' => 'Ligne', |
|
| 518 | - 'login' => 'Connexion', |
|
| 519 | - 'login_acces_prive' => 'accès à l’espace privé', |
|
| 520 | - 'login_autre_identifiant' => 'se connecter sous un autre identifiant', |
|
| 521 | - 'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).', |
|
| 522 | - 'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.', |
|
| 523 | - 'login_deconnexion_ok' => 'Déconnexion effectuée.', |
|
| 524 | - 'login_erreur_pass' => 'Erreur de mot de passe.', |
|
| 525 | - 'login_espace_prive' => 'espace privé', |
|
| 526 | - 'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.', |
|
| 527 | - 'login_login' => 'Login :', |
|
| 528 | - 'login_login2' => 'Login ou adresse email :', |
|
| 529 | - 'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)', |
|
| 530 | - 'login_motpasseoublie' => 'mot de passe oublié ?', |
|
| 531 | - 'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé. |
|
| 490 | + // L |
|
| 491 | + 'label_ajout_id_rapide' => 'Ajout rapide', |
|
| 492 | + 'label_poids_fichier' => 'Taille', |
|
| 493 | + 'label_ponctuer' => '@label@ :', |
|
| 494 | + 'lien_afficher_icones_seuls' => 'Afficher uniquement les icones', |
|
| 495 | + 'lien_afficher_texte_icones' => 'Afficher les icones et le texte', |
|
| 496 | + 'lien_afficher_texte_seul' => 'Afficher uniquement le texte', |
|
| 497 | + 'lien_aller_a_la_derniere_page' => 'Aller à la dernière page', |
|
| 498 | + 'lien_aller_a_la_page_nb' => 'Aller à la page @nb@', |
|
| 499 | + 'lien_aller_a_la_page_precedente' => 'Aller à la page précédente', |
|
| 500 | + 'lien_aller_a_la_page_suivante' => 'Aller à la page suivante', |
|
| 501 | + 'lien_aller_a_la_premiere_page' => 'Aller à la première page', |
|
| 502 | + 'lien_liberer' => 'libérer', |
|
| 503 | + 'lien_liberer_tous' => 'Tout libérer', |
|
| 504 | + 'lien_nouvea_pense_bete' => 'NOUVEAU PENSE-BÊTE', |
|
| 505 | + 'lien_nouveau_message' => 'NOUVEAU MESSAGE', |
|
| 506 | + 'lien_nouvelle_annonce' => 'NOUVELLE ANNONCE', |
|
| 507 | + 'lien_petitions' => 'PÉTITION', |
|
| 508 | + 'lien_popularite' => 'popularité : @popularite@%', |
|
| 509 | + 'lien_racine_site' => 'RACINE DU SITE', |
|
| 510 | + 'lien_reessayer' => 'réessayer', |
|
| 511 | + 'lien_repondre_message' => 'Répondre à ce message', |
|
| 512 | + 'lien_supprimer' => 'supprimer', |
|
| 513 | + 'lien_tout_afficher' => 'Tout afficher', |
|
| 514 | + 'lien_visite_site' => 'visiter ce site', |
|
| 515 | + 'lien_visites' => '@visites@ visites', |
|
| 516 | + 'lien_voir_auteur' => 'Voir cet auteur', |
|
| 517 | + 'ligne' => 'Ligne', |
|
| 518 | + 'login' => 'Connexion', |
|
| 519 | + 'login_acces_prive' => 'accès à l’espace privé', |
|
| 520 | + 'login_autre_identifiant' => 'se connecter sous un autre identifiant', |
|
| 521 | + 'login_cookie_accepte' => 'Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).', |
|
| 522 | + 'login_cookie_oblige' => 'Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.', |
|
| 523 | + 'login_deconnexion_ok' => 'Déconnexion effectuée.', |
|
| 524 | + 'login_erreur_pass' => 'Erreur de mot de passe.', |
|
| 525 | + 'login_espace_prive' => 'espace privé', |
|
| 526 | + 'login_identifiant_inconnu' => 'L’identifiant « @login@ » est inconnu.', |
|
| 527 | + 'login_login' => 'Login :', |
|
| 528 | + 'login_login2' => 'Login ou adresse email :', |
|
| 529 | + 'login_login_pass_incorrect' => '(Login ou mot de passe incorrect.)', |
|
| 530 | + 'login_motpasseoublie' => 'mot de passe oublié ?', |
|
| 531 | + 'login_non_securise' => 'Attention, ce formulaire n’est pas sécurisé. |
|
| 532 | 532 | Si vous ne voulez pas que votre mot de passe puisse être |
| 533 | 533 | intercepté sur le réseau, veuillez activer Javascript |
| 534 | 534 | dans votre navigateur et', |
| 535 | - 'login_nouvelle_tentative' => 'Nouvelle tentative', |
|
| 536 | - 'login_par_ici' => 'Vous êtes enregistré... par ici...', |
|
| 537 | - 'login_pass2' => 'Mot de passe :', |
|
| 538 | - 'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :', |
|
| 539 | - 'login_recharger' => 'recharger cette page', |
|
| 540 | - 'login_rester_identifie' => 'Se souvenir de moi', |
|
| 541 | - 'login_retour_public' => 'Retour au site public', |
|
| 542 | - 'login_retour_site' => 'Retour au site public', |
|
| 543 | - 'login_retoursitepublic' => 'retour au site public', |
|
| 544 | - 'login_sans_cookie' => 'Identification sans cookie', |
|
| 545 | - 'login_securise' => 'Login sécurisé', |
|
| 546 | - 'login_sinscrire' => 's’inscrire', |
|
| 547 | - 'login_test_navigateur' => 'test navigateur/reconnexion', |
|
| 548 | - 'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)', |
|
| 535 | + 'login_nouvelle_tentative' => 'Nouvelle tentative', |
|
| 536 | + 'login_par_ici' => 'Vous êtes enregistré... par ici...', |
|
| 537 | + 'login_pass2' => 'Mot de passe :', |
|
| 538 | + 'login_preferez_refuser' => '<b>Si vous préférez refuser les cookies</b>, une autre méthode de connexion (moins sécurisée) est à votre disposition :', |
|
| 539 | + 'login_recharger' => 'recharger cette page', |
|
| 540 | + 'login_rester_identifie' => 'Se souvenir de moi', |
|
| 541 | + 'login_retour_public' => 'Retour au site public', |
|
| 542 | + 'login_retour_site' => 'Retour au site public', |
|
| 543 | + 'login_retoursitepublic' => 'retour au site public', |
|
| 544 | + 'login_sans_cookie' => 'Identification sans cookie', |
|
| 545 | + 'login_securise' => 'Login sécurisé', |
|
| 546 | + 'login_sinscrire' => 's’inscrire', |
|
| 547 | + 'login_test_navigateur' => 'test navigateur/reconnexion', |
|
| 548 | + 'login_verifiez_navigateur' => '(Vérifiez toutefois que votre navigateur n’a pas mémorisé votre mot de passe...)', |
|
| 549 | 549 | |
| 550 | - // M |
|
| 551 | - 'masquer_colonne' => 'Masquer cette colonne', |
|
| 552 | - 'masquer_trad' => 'masquer les traductions', |
|
| 553 | - 'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.', |
|
| 554 | - 'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.', |
|
| 555 | - 'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.', |
|
| 556 | - 'module_fichiers_langues' => 'Fichiers de langue', |
|
| 550 | + // M |
|
| 551 | + 'masquer_colonne' => 'Masquer cette colonne', |
|
| 552 | + 'masquer_trad' => 'masquer les traductions', |
|
| 553 | + 'message_nouveaux_identifiants_echec' => 'Impossible de générer de nouveaux identifiants.', |
|
| 554 | + 'message_nouveaux_identifiants_echec_envoi' => 'Les nouveaux identifiants de connexion n’ont pas pu être envoyés.', |
|
| 555 | + 'message_nouveaux_identifiants_ok' => 'Les nouveaux identifiants de connexion ont été envoyés à @email@.', |
|
| 556 | + 'module_fichiers_langues' => 'Fichiers de langue', |
|
| 557 | 557 | |
| 558 | - // N |
|
| 559 | - 'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.', |
|
| 560 | - 'numero' => 'Numéro', |
|
| 558 | + // N |
|
| 559 | + 'navigateur_pas_redirige' => 'Si votre navigateur n’est pas redirigé, cliquez ici pour continuer.', |
|
| 560 | + 'numero' => 'Numéro', |
|
| 561 | 561 | |
| 562 | - // O |
|
| 563 | - 'occurence' => 'Occurrence', |
|
| 564 | - 'onglet_affacer_base' => 'Effacer la base', |
|
| 565 | - 'onglet_auteur' => 'L’auteur', |
|
| 566 | - 'onglet_contenu_site' => 'Contenu du site', |
|
| 567 | - 'onglet_evolution_visite_mod' => 'Évolution', |
|
| 568 | - 'onglet_fonctions_avances' => 'Fonctions avancées', |
|
| 569 | - 'onglet_informations_personnelles' => 'Informations personnelles', |
|
| 570 | - 'onglet_interactivite' => 'Interactivité', |
|
| 571 | - 'onglet_messagerie' => 'Messagerie', |
|
| 572 | - 'onglet_repartition_rubrique' => 'Répartition par rubriques', |
|
| 573 | - 'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base', |
|
| 574 | - 'onglet_vider_cache' => 'Vider le cache', |
|
| 562 | + // O |
|
| 563 | + 'occurence' => 'Occurrence', |
|
| 564 | + 'onglet_affacer_base' => 'Effacer la base', |
|
| 565 | + 'onglet_auteur' => 'L’auteur', |
|
| 566 | + 'onglet_contenu_site' => 'Contenu du site', |
|
| 567 | + 'onglet_evolution_visite_mod' => 'Évolution', |
|
| 568 | + 'onglet_fonctions_avances' => 'Fonctions avancées', |
|
| 569 | + 'onglet_informations_personnelles' => 'Informations personnelles', |
|
| 570 | + 'onglet_interactivite' => 'Interactivité', |
|
| 571 | + 'onglet_messagerie' => 'Messagerie', |
|
| 572 | + 'onglet_repartition_rubrique' => 'Répartition par rubriques', |
|
| 573 | + 'onglet_save_restaur_base' => 'Sauvegarder/restaurer la base', |
|
| 574 | + 'onglet_vider_cache' => 'Vider le cache', |
|
| 575 | 575 | |
| 576 | - // P |
|
| 577 | - 'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :', |
|
| 578 | - 'pass_erreur' => 'Erreur', |
|
| 579 | - 'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.', |
|
| 580 | - 'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.', |
|
| 581 | - 'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.', |
|
| 582 | - 'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !', |
|
| 583 | - 'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.', |
|
| 584 | - 'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux |
|
| 576 | + // P |
|
| 577 | + 'pass_choix_pass' => 'Veuillez choisir votre nouveau mot de passe :', |
|
| 578 | + 'pass_erreur' => 'Erreur', |
|
| 579 | + 'pass_erreur_acces_refuse' => '<b>Erreur :</b> vous n’avez plus accès à ce site.', |
|
| 580 | + 'pass_erreur_code_inconnu' => '<b>Erreur :</b> ce code ne correspond à aucun des visiteurs ayant accès à ce site.', |
|
| 581 | + 'pass_erreur_non_enregistre' => '<b>Erreur :</b> l’adresse <tt>@email_oubli@</tt> n’est pas enregistrée sur ce site.', |
|
| 582 | + 'pass_erreur_non_valide' => '<b>Erreur :</b> cet email <tt>@email_oubli@</tt> n’est pas valide !', |
|
| 583 | + 'pass_erreur_probleme_technique' => '<b>Erreur :</b> à cause d’un problème technique, l’email ne peut pas être envoyé.', |
|
| 584 | + 'pass_espace_prive_bla' => 'L’espace privé de ce site est ouvert aux |
|
| 585 | 585 | visiteurs, après inscription. Une fois enregistré, |
| 586 | 586 | vous pourrez consulter les articles en cours de rédaction, |
| 587 | 587 | proposer des articles et participer à tous les forums.', |
| 588 | - 'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum |
|
| 588 | + 'pass_forum_bla' => 'Vous avez demandé à intervenir sur un forum |
|
| 589 | 589 | réservé aux visiteurs enregistrés.', |
| 590 | - 'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous |
|
| 590 | + 'pass_indiquez_cidessous' => 'Indiquez ci-dessous l’adresse email sous laquelle vous |
|
| 591 | 591 | vous êtes précédemment enregistré. Vous |
| 592 | 592 | recevrez un email vous indiquant la marche à suivre pour |
| 593 | 593 | récupérer votre accès.', |
| 594 | - 'pass_mail_passcookie' => '(ceci est un message automatique) |
|
| 594 | + 'pass_mail_passcookie' => '(ceci est un message automatique) |
|
| 595 | 595 | Pour retrouver votre accès au site |
| 596 | 596 | @nom_site_spip@ (@adresse_site@) |
| 597 | 597 | |
@@ -603,146 +603,146 @@ discard block |
||
| 603 | 603 | et vous reconnecter au site. |
| 604 | 604 | |
| 605 | 605 | ', |
| 606 | - 'pass_mot_oublie' => 'Mot de passe oublié', |
|
| 607 | - 'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.', |
|
| 608 | - 'pass_nouveau_pass' => 'Nouveau mot de passe', |
|
| 609 | - 'pass_ok' => 'OK', |
|
| 610 | - 'pass_oubli_mot' => 'Oubli du mot de passe', |
|
| 611 | - 'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.', |
|
| 612 | - 'pass_quitter_fenetre' => 'Quitter cette fenêtre', |
|
| 613 | - 'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».', |
|
| 614 | - 'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).', |
|
| 615 | - 'pass_retour_public' => 'Retour sur le site public', |
|
| 616 | - 'pass_rien_a_faire_ici' => 'Rien à faire ici.', |
|
| 617 | - 'pass_vousinscrire' => 'Vous inscrire sur ce site', |
|
| 618 | - 'precedent' => 'précédent', |
|
| 619 | - 'previsualisation' => 'Prévisualisation', |
|
| 620 | - 'previsualiser' => 'Prévisualiser', |
|
| 606 | + 'pass_mot_oublie' => 'Mot de passe oublié', |
|
| 607 | + 'pass_nouveau_enregistre' => 'Votre nouveau mot de passe a été enregistré.', |
|
| 608 | + 'pass_nouveau_pass' => 'Nouveau mot de passe', |
|
| 609 | + 'pass_ok' => 'OK', |
|
| 610 | + 'pass_oubli_mot' => 'Oubli du mot de passe', |
|
| 611 | + 'pass_procedure_changer' => 'Pour modifier votre mot de passe, merci d’indiquer l’adresse email associée à votre compte.', |
|
| 612 | + 'pass_quitter_fenetre' => 'Quitter cette fenêtre', |
|
| 613 | + 'pass_rappel_login' => 'Rappel : votre identifiant (login) est « @login@ ».', |
|
| 614 | + 'pass_recevoir_mail' => 'Un lien de réinitialisation de votre mot de passe vous a été envoyé sur votre adresse email (si celle-ci est valide).', |
|
| 615 | + 'pass_retour_public' => 'Retour sur le site public', |
|
| 616 | + 'pass_rien_a_faire_ici' => 'Rien à faire ici.', |
|
| 617 | + 'pass_vousinscrire' => 'Vous inscrire sur ce site', |
|
| 618 | + 'precedent' => 'précédent', |
|
| 619 | + 'previsualisation' => 'Prévisualisation', |
|
| 620 | + 'previsualiser' => 'Prévisualiser', |
|
| 621 | 621 | |
| 622 | - // R |
|
| 623 | - 'retour' => 'Retour', |
|
| 622 | + // R |
|
| 623 | + 'retour' => 'Retour', |
|
| 624 | 624 | |
| 625 | - // S |
|
| 626 | - 'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :', |
|
| 627 | - 'squelette' => 'squelette', |
|
| 628 | - 'squelette_inclus_ligne' => 'squelette inclus, ligne', |
|
| 629 | - 'squelette_ligne' => 'squelette, ligne', |
|
| 630 | - 'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@', |
|
| 631 | - 'suivant' => 'suivant', |
|
| 625 | + // S |
|
| 626 | + 'spip_conforme_dtd' => 'SPIP considère ce document comme conforme à son DOCTYPE :', |
|
| 627 | + 'squelette' => 'squelette', |
|
| 628 | + 'squelette_inclus_ligne' => 'squelette inclus, ligne', |
|
| 629 | + 'squelette_ligne' => 'squelette, ligne', |
|
| 630 | + 'stats_visites_et_popularite' => '@visites@ visites ; popularité : @popularite@', |
|
| 631 | + 'suivant' => 'suivant', |
|
| 632 | 632 | |
| 633 | - // T |
|
| 634 | - 'taille_go' => '@taille@ Go', |
|
| 635 | - 'taille_ko' => '@taille@ ko', |
|
| 636 | - 'taille_mo' => '@taille@ Mo', |
|
| 637 | - 'taille_octets' => '@taille@ octets', |
|
| 638 | - 'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ', |
|
| 639 | - 'texte_actualite_site_2' => 'interface complète', |
|
| 640 | - 'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.', |
|
| 641 | - 'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.', |
|
| 642 | - 'texte_documents_associes' => 'Les documents suivants sont associés à l’article, |
|
| 633 | + // T |
|
| 634 | + 'taille_go' => '@taille@ Go', |
|
| 635 | + 'taille_ko' => '@taille@ ko', |
|
| 636 | + 'taille_mo' => '@taille@ Mo', |
|
| 637 | + 'taille_octets' => '@taille@ octets', |
|
| 638 | + 'texte_actualite_site_1' => 'Quand vous serez familiarisé(e) avec l’interface, vous pourrez cliquer sur « ', |
|
| 639 | + 'texte_actualite_site_2' => 'interface complète', |
|
| 640 | + 'texte_actualite_site_3' => ' » pour ouvrir plus de possibilités.', |
|
| 641 | + 'texte_creation_automatique_vignette' => 'La création automatique de vignettes de prévisualisation est activée sur ce site. Si vous installez à partir de ce formulaire des images au(x) format(s) @gd_formats@, elles seront accompagnées d’une vignette d’une taille maximale de @taille_preview@ pixels.', |
|
| 642 | + 'texte_documents_associes' => 'Les documents suivants sont associés à l’article, |
|
| 643 | 643 | mais ils n’y ont pas été directement |
| 644 | 644 | insérés. Selon la mise en page du site public, |
| 645 | 645 | ils pourront apparaître sous forme de documents joints.', |
| 646 | - 'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau. |
|
| 646 | + 'texte_erreur_mise_niveau_base' => 'Erreur de base de données lors de la mise à niveau. |
|
| 647 | 647 | L’image <b>@fichier@</b> n’est pas passée (article @id_article@). |
| 648 | 648 | Notez bien cette référence, réessayez la mise à |
| 649 | 649 | niveau, et enfin vérifiez que les images apparaissent |
| 650 | 650 | toujours dans les articles.', |
| 651 | - 'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.', |
|
| 652 | - 'texte_inc_auth_1' => 'Vous êtes identifié sous le |
|
| 651 | + 'texte_erreur_visiteur' => 'Vous avez tenté d’accéder à l’espace privé avec un login qui ne le permet pas.', |
|
| 652 | + 'texte_inc_auth_1' => 'Vous êtes identifié sous le |
|
| 653 | 653 | login <b>@auth_login@</b>, mais celui-ci n’existe pas/plus dans la base. |
| 654 | 654 | Essayez de vous', |
| 655 | - 'texte_inc_auth_2' => 'reconnecter', |
|
| 656 | - 'texte_inc_auth_3' => ', après avoir éventuellement quitté puis |
|
| 655 | + 'texte_inc_auth_2' => 'reconnecter', |
|
| 656 | + 'texte_inc_auth_3' => ', après avoir éventuellement quitté puis |
|
| 657 | 657 | redémarré votre navigateur.', |
| 658 | - 'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le |
|
| 658 | + 'texte_inc_config' => 'Les modifications effectuées dans ces pages influent notablement sur le |
|
| 659 | 659 | fonctionnement de votre site. Nous vous recommandons de ne pas y intervenir tant que vous n’êtes pas |
| 660 | 660 | familier du fonctionnement du système SPIP. <br /><br /><b>Plus |
| 661 | 661 | généralement, il est fortement conseillé |
| 662 | 662 | de laisser la charge de ces pages au webmestre principal de votre site.</b>', |
| 663 | - 'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,', |
|
| 664 | - 'texte_inc_meta_2' => 'vérifier les droits d’écriture', |
|
| 665 | - 'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.', |
|
| 666 | - 'texte_statut_en_cours_redaction' => 'en cours de rédaction', |
|
| 667 | - 'texte_statut_poubelle' => 'à la poubelle', |
|
| 668 | - 'texte_statut_propose_evaluation' => 'proposé à l’évaluation', |
|
| 669 | - 'texte_statut_publie' => 'publié en ligne', |
|
| 670 | - 'texte_statut_refuse' => 'refusé', |
|
| 671 | - 'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :', |
|
| 672 | - 'titre_cadre_raccourcis' => 'RACCOURCIS :', |
|
| 673 | - 'titre_changer_couleur_interface' => 'Changer la couleur de l’interface', |
|
| 674 | - 'titre_image_admin_article' => 'Vous pouvez administrer cet article', |
|
| 675 | - 'titre_image_administrateur' => 'Administrateur', |
|
| 676 | - 'titre_image_aide' => 'De l’aide sur cet élément', |
|
| 677 | - 'titre_image_auteur_supprime' => 'Auteur supprimé', |
|
| 678 | - 'titre_image_redacteur' => 'Rédacteur sans accès', |
|
| 679 | - 'titre_image_redacteur_02' => 'Rédacteur', |
|
| 680 | - 'titre_image_selecteur' => 'Afficher la liste', |
|
| 681 | - 'titre_image_visiteur' => 'Visiteur', |
|
| 682 | - 'titre_joindre_document' => 'JOINDRE UN DOCUMENT', |
|
| 683 | - 'titre_mots_cles' => 'MOTS-CLÉS', |
|
| 684 | - 'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.', |
|
| 685 | - 'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE', |
|
| 686 | - 'titre_signatures_attente' => 'Signatures en attente de validation', |
|
| 687 | - 'titre_signatures_confirmees' => 'Signatures confirmées', |
|
| 688 | - 'titre_statistiques' => 'Statistiques du site', |
|
| 689 | - 'titre_titre_document' => 'Titre du document :', |
|
| 690 | - 'todo' => 'à venir', |
|
| 691 | - 'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions', |
|
| 692 | - 'trad_reference' => '(référence des traductions)', |
|
| 663 | + 'texte_inc_meta_1' => 'Le système a rencontré une erreur lors de l’écriture du fichier <code>@fichier@</code>. Veuillez, en tant qu’administrateur du site,', |
|
| 664 | + 'texte_inc_meta_2' => 'vérifier les droits d’écriture', |
|
| 665 | + 'texte_inc_meta_3' => 'sur le répertoire <code>@repertoire@</code>.', |
|
| 666 | + 'texte_statut_en_cours_redaction' => 'en cours de rédaction', |
|
| 667 | + 'texte_statut_poubelle' => 'à la poubelle', |
|
| 668 | + 'texte_statut_propose_evaluation' => 'proposé à l’évaluation', |
|
| 669 | + 'texte_statut_publie' => 'publié en ligne', |
|
| 670 | + 'texte_statut_refuse' => 'refusé', |
|
| 671 | + 'titre_ajouter_mot_cle' => 'AJOUTER UN MOT-CLÉ :', |
|
| 672 | + 'titre_cadre_raccourcis' => 'RACCOURCIS :', |
|
| 673 | + 'titre_changer_couleur_interface' => 'Changer la couleur de l’interface', |
|
| 674 | + 'titre_image_admin_article' => 'Vous pouvez administrer cet article', |
|
| 675 | + 'titre_image_administrateur' => 'Administrateur', |
|
| 676 | + 'titre_image_aide' => 'De l’aide sur cet élément', |
|
| 677 | + 'titre_image_auteur_supprime' => 'Auteur supprimé', |
|
| 678 | + 'titre_image_redacteur' => 'Rédacteur sans accès', |
|
| 679 | + 'titre_image_redacteur_02' => 'Rédacteur', |
|
| 680 | + 'titre_image_selecteur' => 'Afficher la liste', |
|
| 681 | + 'titre_image_visiteur' => 'Visiteur', |
|
| 682 | + 'titre_joindre_document' => 'JOINDRE UN DOCUMENT', |
|
| 683 | + 'titre_mots_cles' => 'MOTS-CLÉS', |
|
| 684 | + 'titre_probleme_technique' => 'Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension.', |
|
| 685 | + 'titre_publier_document' => 'PUBLIER UN DOCUMENT DANS CETTE RUBRIQUE', |
|
| 686 | + 'titre_signatures_attente' => 'Signatures en attente de validation', |
|
| 687 | + 'titre_signatures_confirmees' => 'Signatures confirmées', |
|
| 688 | + 'titre_statistiques' => 'Statistiques du site', |
|
| 689 | + 'titre_titre_document' => 'Titre du document :', |
|
| 690 | + 'todo' => 'à venir', |
|
| 691 | + 'trad_definir_reference' => 'Choisir "@titre@" comme référence des traductions', |
|
| 692 | + 'trad_reference' => '(référence des traductions)', |
|
| 693 | 693 | |
| 694 | - // U |
|
| 695 | - 'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.', |
|
| 694 | + // U |
|
| 695 | + 'upload_limit' => 'Ce fichier est trop gros pour le serveur ; la taille maximum autorisée en <i>upload</i> est de @max@.', |
|
| 696 | 696 | |
| 697 | - // Z |
|
| 698 | - 'zbug_balise_b_aval' => ' : balise B en aval', |
|
| 699 | - 'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@', |
|
| 700 | - 'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@', |
|
| 701 | - 'zbug_boucle' => 'boucle', |
|
| 702 | - 'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@', |
|
| 703 | - 'zbug_calcul' => 'calcul', |
|
| 704 | - 'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle', |
|
| 705 | - 'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@', |
|
| 706 | - 'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@', |
|
| 707 | - 'zbug_code' => 'code', |
|
| 708 | - 'zbug_critere_inconnu' => 'Critère inconnu @critere@', |
|
| 709 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique', |
|
| 710 | - 'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là. |
|
| 711 | - 'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique', |
|
| 712 | - 'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index', |
|
| 713 | - 'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@', |
|
| 714 | - 'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée', |
|
| 715 | - 'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte', |
|
| 716 | - 'zbug_erreur_compilation' => 'Erreur de compilation', |
|
| 717 | - 'zbug_erreur_execution_page' => 'Erreur d’exécution', |
|
| 718 | - 'zbug_erreur_filtre' => 'Filtre @filtre@ non défini', |
|
| 719 | - 'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)', |
|
| 720 | - 'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)', |
|
| 721 | - 'zbug_erreur_squelette' => 'Erreur(s) dans le squelette', |
|
| 722 | - 'zbug_hors_compilation' => 'Hors Compilation', |
|
| 723 | - 'zbug_info_erreur_squelette' => 'Erreur sur le site', |
|
| 724 | - 'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant', |
|
| 725 | - 'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive', |
|
| 726 | - 'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@', |
|
| 727 | - 'zbug_profile' => 'Temps de calcul : @time@', |
|
| 728 | - 'zbug_resultat' => 'résultat', |
|
| 729 | - 'zbug_serveur_indefini' => 'Serveur SQL indéfini', |
|
| 730 | - 'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée', |
|
| 731 | - 'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue', |
|
| 732 | - 'zxml_connus_attributs' => 'attributs connus', |
|
| 733 | - 'zxml_de' => 'de', |
|
| 734 | - 'zxml_inconnu_attribut' => 'attribut inconnu', |
|
| 735 | - 'zxml_inconnu_balise' => 'balise inconnue', |
|
| 736 | - 'zxml_inconnu_entite' => 'entité inconnue', |
|
| 737 | - 'zxml_inconnu_id' => 'ID inconnu', |
|
| 738 | - 'zxml_mais_de' => 'mais de', |
|
| 739 | - 'zxml_non_conforme' => 'n’est pas conforme au motif', |
|
| 740 | - 'zxml_non_fils' => 'n’est pas un fils de', |
|
| 741 | - 'zxml_nonvide_balise' => 'balise non vide', |
|
| 742 | - 'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans', |
|
| 743 | - 'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte', |
|
| 744 | - 'zxml_survoler' => 'survoler pour voir les corrects', |
|
| 745 | - 'zxml_valeur_attribut' => 'valeur de l’attribut', |
|
| 746 | - 'zxml_vide_balise' => 'balise vide', |
|
| 747 | - 'zxml_vu' => 'vu auparavant' |
|
| 697 | + // Z |
|
| 698 | + 'zbug_balise_b_aval' => ' : balise B en aval', |
|
| 699 | + 'zbug_balise_inexistante' => 'Balise @balise@ mal déclarée pour @from@', |
|
| 700 | + 'zbug_balise_sans_argument' => 'Argument manquant dans la balise @balise@', |
|
| 701 | + 'zbug_boucle' => 'boucle', |
|
| 702 | + 'zbug_boucle_recursive_undef' => 'Boucle récursive non définie : @nom@', |
|
| 703 | + 'zbug_calcul' => 'calcul', |
|
| 704 | + 'zbug_champ_hors_boucle' => 'Champ @champ@ hors boucle', |
|
| 705 | + 'zbug_champ_hors_critere' => 'Champ @champ@ hors critère @critere@', |
|
| 706 | + 'zbug_champ_hors_motif' => 'Champ @champ@ hors d’un contexte @motif@', |
|
| 707 | + 'zbug_code' => 'code', |
|
| 708 | + 'zbug_critere_inconnu' => 'Critère inconnu @critere@', |
|
| 709 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} sur une table sans clef primaire atomique', |
|
| 710 | + 'zbug_distant_interdit' => 'Externe interdit', # Contexte : une base de données "externe", pas gérée par SPIP, mais que SPIP 1.8 sait utiliser dans ses boucles -- seul problèmes certaines manipulations sont interdites sur ces bases-là. |
|
| 711 | + 'zbug_doublon_table_sans_cle_primaire' => 'Doublons sur une table sans clef primaire atomique', |
|
| 712 | + 'zbug_doublon_table_sans_index' => 'Doublons sur une table sans index', |
|
| 713 | + 'zbug_erreur_boucle_double' => 'Double définition de la boucle @id@', |
|
| 714 | + 'zbug_erreur_boucle_fermant' => 'Boucle @id@ non fermée', |
|
| 715 | + 'zbug_erreur_boucle_syntaxe' => 'Syntaxe de la boucle @id@ incorrecte', |
|
| 716 | + 'zbug_erreur_compilation' => 'Erreur de compilation', |
|
| 717 | + 'zbug_erreur_execution_page' => 'Erreur d’exécution', |
|
| 718 | + 'zbug_erreur_filtre' => 'Filtre @filtre@ non défini', |
|
| 719 | + 'zbug_erreur_filtre_nbarg_min' => 'Filtre @filtre@ : il manque @nb@ argument(s)', |
|
| 720 | + 'zbug_erreur_meme_parent' => 'Le critère {meme_parent} ne s’applique qu’aux boucles (FORUMS) ou (RUBRIQUES)', |
|
| 721 | + 'zbug_erreur_squelette' => 'Erreur(s) dans le squelette', |
|
| 722 | + 'zbug_hors_compilation' => 'Hors Compilation', |
|
| 723 | + 'zbug_info_erreur_squelette' => 'Erreur sur le site', |
|
| 724 | + 'zbug_inversion_ordre_inexistant' => 'Inversion d’un ordre inexistant', |
|
| 725 | + 'zbug_pagination_sans_critere' => 'Balise #PAGINATION sans critère {pagination} ou employé dans une boucle récursive', |
|
| 726 | + 'zbug_parametres_inclus_incorrects' => 'Paramètre d’inclusion incorrect : @param@', |
|
| 727 | + 'zbug_profile' => 'Temps de calcul : @time@', |
|
| 728 | + 'zbug_resultat' => 'résultat', |
|
| 729 | + 'zbug_serveur_indefini' => 'Serveur SQL indéfini', |
|
| 730 | + 'zbug_statistiques' => 'Statistiques des requêtes SQL classées par durée', |
|
| 731 | + 'zbug_table_inconnue' => 'Table SQL « @table@ » inconnue', |
|
| 732 | + 'zxml_connus_attributs' => 'attributs connus', |
|
| 733 | + 'zxml_de' => 'de', |
|
| 734 | + 'zxml_inconnu_attribut' => 'attribut inconnu', |
|
| 735 | + 'zxml_inconnu_balise' => 'balise inconnue', |
|
| 736 | + 'zxml_inconnu_entite' => 'entité inconnue', |
|
| 737 | + 'zxml_inconnu_id' => 'ID inconnu', |
|
| 738 | + 'zxml_mais_de' => 'mais de', |
|
| 739 | + 'zxml_non_conforme' => 'n’est pas conforme au motif', |
|
| 740 | + 'zxml_non_fils' => 'n’est pas un fils de', |
|
| 741 | + 'zxml_nonvide_balise' => 'balise non vide', |
|
| 742 | + 'zxml_obligatoire_attribut' => 'attribut obligatoire mais absent dans', |
|
| 743 | + 'zxml_succession_fils_incorrecte' => 'succession des fils incorrecte', |
|
| 744 | + 'zxml_survoler' => 'survoler pour voir les corrects', |
|
| 745 | + 'zxml_valeur_attribut' => 'valeur de l’attribut', |
|
| 746 | + 'zxml_vide_balise' => 'balise vide', |
|
| 747 | + 'zxml_vu' => 'vu auparavant' |
|
| 748 | 748 | ); |