@@ -66,7 +66,7 @@ discard block |
||
| 66 | 66 | */ |
| 67 | 67 | |
| 68 | 68 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 69 | - return; |
|
| 69 | + return; |
|
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | /** |
@@ -77,46 +77,46 @@ discard block |
||
| 77 | 77 | * @return array|false |
| 78 | 78 | */ |
| 79 | 79 | function cvtmulti_recuperer_post_precedents($form) { |
| 80 | - include_spip('inc/filtres'); |
|
| 81 | - if ( |
|
| 82 | - $form |
|
| 83 | - and $c = _request('cvtm_prev_post') |
|
| 84 | - and $c = decoder_contexte_ajax($c, $form) |
|
| 85 | - ) { |
|
| 86 | - #var_dump($c); |
|
| 80 | + include_spip('inc/filtres'); |
|
| 81 | + if ( |
|
| 82 | + $form |
|
| 83 | + and $c = _request('cvtm_prev_post') |
|
| 84 | + and $c = decoder_contexte_ajax($c, $form) |
|
| 85 | + ) { |
|
| 86 | + #var_dump($c); |
|
| 87 | 87 | |
| 88 | - # reinjecter dans la bonne variable pour permettre de retrouver |
|
| 89 | - # toutes les saisies dans un seul tableau |
|
| 90 | - if ($_SERVER['REQUEST_METHOD'] == 'POST') { |
|
| 91 | - $store = &$_POST; |
|
| 92 | - } else { |
|
| 93 | - $store = &$_GET; |
|
| 94 | - } |
|
| 88 | + # reinjecter dans la bonne variable pour permettre de retrouver |
|
| 89 | + # toutes les saisies dans un seul tableau |
|
| 90 | + if ($_SERVER['REQUEST_METHOD'] == 'POST') { |
|
| 91 | + $store = &$_POST; |
|
| 92 | + } else { |
|
| 93 | + $store = &$_GET; |
|
| 94 | + } |
|
| 95 | 95 | |
| 96 | - foreach ($c as $k => $v) { // on ecrase pas si saisi a nouveau ! |
|
| 97 | - if (!isset($store[$k])) { |
|
| 98 | - $_REQUEST[$k] = $store[$k] = $v; |
|
| 99 | - } // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
|
| 100 | - elseif ( |
|
| 101 | - is_array($store[$k]) |
|
| 102 | - and is_array($v) |
|
| 103 | - and $z = array_keys($v) |
|
| 104 | - and !is_numeric(reset($z)) |
|
| 105 | - and $z = array_keys($store[$k]) |
|
| 106 | - and !is_numeric(reset($z)) |
|
| 107 | - ) { |
|
| 108 | - $_REQUEST[$k] = $store[$k] = array_merge($v, $store[$k]); |
|
| 109 | - } |
|
| 110 | - } |
|
| 96 | + foreach ($c as $k => $v) { // on ecrase pas si saisi a nouveau ! |
|
| 97 | + if (!isset($store[$k])) { |
|
| 98 | + $_REQUEST[$k] = $store[$k] = $v; |
|
| 99 | + } // mais si tableau des deux cotes, on merge avec priorite a la derniere saisie |
|
| 100 | + elseif ( |
|
| 101 | + is_array($store[$k]) |
|
| 102 | + and is_array($v) |
|
| 103 | + and $z = array_keys($v) |
|
| 104 | + and !is_numeric(reset($z)) |
|
| 105 | + and $z = array_keys($store[$k]) |
|
| 106 | + and !is_numeric(reset($z)) |
|
| 107 | + ) { |
|
| 108 | + $_REQUEST[$k] = $store[$k] = array_merge($v, $store[$k]); |
|
| 109 | + } |
|
| 110 | + } |
|
| 111 | 111 | |
| 112 | - // vider pour eviter un second appel a verifier_n |
|
| 113 | - // en cas de double implementation (unipotence) |
|
| 114 | - set_request('cvtm_prev_post'); |
|
| 112 | + // vider pour eviter un second appel a verifier_n |
|
| 113 | + // en cas de double implementation (unipotence) |
|
| 114 | + set_request('cvtm_prev_post'); |
|
| 115 | 115 | |
| 116 | - return [$c['_etape'], $c['_etapes']]; |
|
| 117 | - } |
|
| 116 | + return [$c['_etape'], $c['_etapes']]; |
|
| 117 | + } |
|
| 118 | 118 | |
| 119 | - return false; |
|
| 119 | + return false; |
|
| 120 | 120 | } |
| 121 | 121 | |
| 122 | 122 | /** |
@@ -129,28 +129,28 @@ discard block |
||
| 129 | 129 | * @return array |
| 130 | 130 | */ |
| 131 | 131 | function cvtmulti_sauver_post($form, $je_suis_poste, &$valeurs) { |
| 132 | - if (!isset($valeurs['_cvtm_prev_post'])) { |
|
| 133 | - $post = ['_etape' => $valeurs['_etape'], '_etapes' => $valeurs['_etapes']]; |
|
| 134 | - foreach (array_keys($valeurs) as $champ) { |
|
| 135 | - if (substr($champ, 0, 1) !== '_') { |
|
| 136 | - if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
|
| 137 | - if (($v = _request($champ)) !== null) { |
|
| 138 | - $post[$champ] = $v; |
|
| 139 | - } |
|
| 140 | - } |
|
| 141 | - } |
|
| 142 | - } |
|
| 143 | - include_spip('inc/filtres'); |
|
| 144 | - $c = encoder_contexte_ajax($post, $form); |
|
| 145 | - if (!isset($valeurs['_hidden'])) { |
|
| 146 | - $valeurs['_hidden'] = ''; |
|
| 147 | - } |
|
| 148 | - $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
|
| 149 | - // marquer comme fait, pour eviter double encodage (unipotence) |
|
| 150 | - $valeurs['_cvtm_prev_post'] = true; |
|
| 151 | - } |
|
| 132 | + if (!isset($valeurs['_cvtm_prev_post'])) { |
|
| 133 | + $post = ['_etape' => $valeurs['_etape'], '_etapes' => $valeurs['_etapes']]; |
|
| 134 | + foreach (array_keys($valeurs) as $champ) { |
|
| 135 | + if (substr($champ, 0, 1) !== '_') { |
|
| 136 | + if ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])) { |
|
| 137 | + if (($v = _request($champ)) !== null) { |
|
| 138 | + $post[$champ] = $v; |
|
| 139 | + } |
|
| 140 | + } |
|
| 141 | + } |
|
| 142 | + } |
|
| 143 | + include_spip('inc/filtres'); |
|
| 144 | + $c = encoder_contexte_ajax($post, $form); |
|
| 145 | + if (!isset($valeurs['_hidden'])) { |
|
| 146 | + $valeurs['_hidden'] = ''; |
|
| 147 | + } |
|
| 148 | + $valeurs['_hidden'] .= "<input type='hidden' name='cvtm_prev_post' value='$c' />"; |
|
| 149 | + // marquer comme fait, pour eviter double encodage (unipotence) |
|
| 150 | + $valeurs['_cvtm_prev_post'] = true; |
|
| 151 | + } |
|
| 152 | 152 | |
| 153 | - return $valeurs; |
|
| 153 | + return $valeurs; |
|
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | |
@@ -164,14 +164,14 @@ discard block |
||
| 164 | 164 | * @return array |
| 165 | 165 | */ |
| 166 | 166 | function cvtmulti_formulaire_charger($flux) { |
| 167 | - if ( |
|
| 168 | - is_array($flux['data']) |
|
| 169 | - and isset($flux['data']['_etapes']) |
|
| 170 | - ) { |
|
| 171 | - $flux['data'] = cvtmulti_formulaire_charger_etapes($flux['args'], $flux['data']); |
|
| 172 | - } |
|
| 167 | + if ( |
|
| 168 | + is_array($flux['data']) |
|
| 169 | + and isset($flux['data']['_etapes']) |
|
| 170 | + ) { |
|
| 171 | + $flux['data'] = cvtmulti_formulaire_charger_etapes($flux['args'], $flux['data']); |
|
| 172 | + } |
|
| 173 | 173 | |
| 174 | - return $flux; |
|
| 174 | + return $flux; |
|
| 175 | 175 | } |
| 176 | 176 | |
| 177 | 177 | /** |
@@ -181,19 +181,19 @@ discard block |
||
| 181 | 181 | * @return array |
| 182 | 182 | */ |
| 183 | 183 | function cvtmulti_formulaire_charger_etapes($args, $valeurs) { |
| 184 | - if (!isset($valeurs['_etape'])) { |
|
| 185 | - $form = $args['form']; |
|
| 186 | - $je_suis_poste = $args['je_suis_poste']; |
|
| 187 | - $nb_etapes = $valeurs['_etapes']; |
|
| 188 | - $etape = _request('_etape'); |
|
| 189 | - $etape = min(max($etape, 1), $nb_etapes); |
|
| 190 | - set_request('_etape', $etape); |
|
| 191 | - $valeurs['_etape'] = $etape; |
|
| 184 | + if (!isset($valeurs['_etape'])) { |
|
| 185 | + $form = $args['form']; |
|
| 186 | + $je_suis_poste = $args['je_suis_poste']; |
|
| 187 | + $nb_etapes = $valeurs['_etapes']; |
|
| 188 | + $etape = _request('_etape'); |
|
| 189 | + $etape = min(max($etape, 1), $nb_etapes); |
|
| 190 | + set_request('_etape', $etape); |
|
| 191 | + $valeurs['_etape'] = $etape; |
|
| 192 | 192 | |
| 193 | - // sauver les posts de cette etape pour les avoir a la prochaine etape |
|
| 194 | - $valeurs = cvtmulti_sauver_post($form, $je_suis_poste, $valeurs); |
|
| 195 | - } |
|
| 196 | - return $valeurs; |
|
| 193 | + // sauver les posts de cette etape pour les avoir a la prochaine etape |
|
| 194 | + $valeurs = cvtmulti_sauver_post($form, $je_suis_poste, $valeurs); |
|
| 195 | + } |
|
| 196 | + return $valeurs; |
|
| 197 | 197 | } |
| 198 | 198 | |
| 199 | 199 | |
@@ -206,8 +206,8 @@ discard block |
||
| 206 | 206 | * @return array |
| 207 | 207 | */ |
| 208 | 208 | function cvtmulti_formulaire_verifier($flux) { |
| 209 | - $flux['data'] = cvtmulti_formulaire_verifier_etapes($flux['args'], $flux['data']); |
|
| 210 | - return $flux; |
|
| 209 | + $flux['data'] = cvtmulti_formulaire_verifier_etapes($flux['args'], $flux['data']); |
|
| 210 | + return $flux; |
|
| 211 | 211 | } |
| 212 | 212 | |
| 213 | 213 | /** |
@@ -218,87 +218,87 @@ discard block |
||
| 218 | 218 | * @return array |
| 219 | 219 | */ |
| 220 | 220 | function cvtmulti_formulaire_verifier_etapes($args, $erreurs) { |
| 221 | - #var_dump('Pipe verifier'); |
|
| 221 | + #var_dump('Pipe verifier'); |
|
| 222 | 222 | |
| 223 | - if ( |
|
| 224 | - $form = $args['form'] |
|
| 225 | - and ($e = cvtmulti_recuperer_post_precedents($form)) !== false |
|
| 226 | - ) { |
|
| 227 | - // recuperer l'etape saisie et le nombre d'etapes total |
|
| 228 | - [$etape, $etapes] = $e; |
|
| 229 | - $etape_demandee = intval(_request('aller_a_etape')); // possibilite de poster un entier dans aller_a_etape |
|
| 223 | + if ( |
|
| 224 | + $form = $args['form'] |
|
| 225 | + and ($e = cvtmulti_recuperer_post_precedents($form)) !== false |
|
| 226 | + ) { |
|
| 227 | + // recuperer l'etape saisie et le nombre d'etapes total |
|
| 228 | + [$etape, $etapes] = $e; |
|
| 229 | + $etape_demandee = intval(_request('aller_a_etape')); // possibilite de poster un entier dans aller_a_etape |
|
| 230 | 230 | |
| 231 | - $args['etape_saisie'] = $etape; |
|
| 232 | - $args['etapes'] = $etapes; |
|
| 233 | - // lancer les verifs pour chaque etape deja saisie de 1 a $etape |
|
| 234 | - $erreurs_etapes = []; |
|
| 235 | - $derniere_etape_ok = 0; |
|
| 236 | - $e = 0; |
|
| 237 | - while ($e < max($etape, $etape_demandee - 1) and $e < $etapes) { |
|
| 238 | - $e++; |
|
| 239 | - $erreurs_etapes[$e] = []; |
|
| 240 | - if ($verifier = charger_fonction("verifier_$e", "formulaires/$form/", true)) { |
|
| 241 | - $erreurs_etapes[$e] = $verifier(...$args['args']); |
|
| 242 | - } elseif ($verifier = charger_fonction('verifier_etape', "formulaires/$form/", true)) { |
|
| 243 | - $a = $args['args']; |
|
| 244 | - array_unshift($a, $e); |
|
| 245 | - $erreurs_etapes[$e] = $verifier(...$a); |
|
| 246 | - } |
|
| 247 | - // et on appelle un pipeline dedie aux etapes, plus easy |
|
| 248 | - $args['etape'] = $e; |
|
| 249 | - $args['etape_demandee'] = $etape_demandee; |
|
| 250 | - $erreurs_etapes[$e] = pipeline( |
|
| 251 | - 'formulaire_verifier_etape', |
|
| 252 | - [ |
|
| 253 | - 'args' => $args, |
|
| 254 | - 'data' => $erreurs_etapes[$e] |
|
| 255 | - ] |
|
| 256 | - ); |
|
| 231 | + $args['etape_saisie'] = $etape; |
|
| 232 | + $args['etapes'] = $etapes; |
|
| 233 | + // lancer les verifs pour chaque etape deja saisie de 1 a $etape |
|
| 234 | + $erreurs_etapes = []; |
|
| 235 | + $derniere_etape_ok = 0; |
|
| 236 | + $e = 0; |
|
| 237 | + while ($e < max($etape, $etape_demandee - 1) and $e < $etapes) { |
|
| 238 | + $e++; |
|
| 239 | + $erreurs_etapes[$e] = []; |
|
| 240 | + if ($verifier = charger_fonction("verifier_$e", "formulaires/$form/", true)) { |
|
| 241 | + $erreurs_etapes[$e] = $verifier(...$args['args']); |
|
| 242 | + } elseif ($verifier = charger_fonction('verifier_etape', "formulaires/$form/", true)) { |
|
| 243 | + $a = $args['args']; |
|
| 244 | + array_unshift($a, $e); |
|
| 245 | + $erreurs_etapes[$e] = $verifier(...$a); |
|
| 246 | + } |
|
| 247 | + // et on appelle un pipeline dedie aux etapes, plus easy |
|
| 248 | + $args['etape'] = $e; |
|
| 249 | + $args['etape_demandee'] = $etape_demandee; |
|
| 250 | + $erreurs_etapes[$e] = pipeline( |
|
| 251 | + 'formulaire_verifier_etape', |
|
| 252 | + [ |
|
| 253 | + 'args' => $args, |
|
| 254 | + 'data' => $erreurs_etapes[$e] |
|
| 255 | + ] |
|
| 256 | + ); |
|
| 257 | 257 | |
| 258 | - if ($derniere_etape_ok == $e - 1 and !(is_countable($erreurs_etapes[$e]) ? count($erreurs_etapes[$e]) : 0)) { |
|
| 259 | - $derniere_etape_ok = $e; |
|
| 260 | - } |
|
| 261 | - // possibilite de poster dans _retour_etape_x ou aller_a_etape |
|
| 262 | - if (!is_null(_request("_retour_etape_$e"))) { |
|
| 263 | - $etape_demandee = $e; |
|
| 264 | - } |
|
| 265 | - // Il se peut que les verifications ait décidé de faire sauter des étapes |
|
| 266 | - if ($aller_a_etape = intval(_request('aller_a_etape'))) { |
|
| 267 | - $etape_demandee = $aller_a_etape; // possibilite de poster un entier dans aller_a_etape |
|
| 268 | - } |
|
| 269 | - } |
|
| 258 | + if ($derniere_etape_ok == $e - 1 and !(is_countable($erreurs_etapes[$e]) ? count($erreurs_etapes[$e]) : 0)) { |
|
| 259 | + $derniere_etape_ok = $e; |
|
| 260 | + } |
|
| 261 | + // possibilite de poster dans _retour_etape_x ou aller_a_etape |
|
| 262 | + if (!is_null(_request("_retour_etape_$e"))) { |
|
| 263 | + $etape_demandee = $e; |
|
| 264 | + } |
|
| 265 | + // Il se peut que les verifications ait décidé de faire sauter des étapes |
|
| 266 | + if ($aller_a_etape = intval(_request('aller_a_etape'))) { |
|
| 267 | + $etape_demandee = $aller_a_etape; // possibilite de poster un entier dans aller_a_etape |
|
| 268 | + } |
|
| 269 | + } |
|
| 270 | 270 | |
| 271 | 271 | |
| 272 | - // si la derniere etape OK etait la derniere |
|
| 273 | - // on renvoie le flux inchange et ca declenche traiter |
|
| 274 | - if ( |
|
| 275 | - $derniere_etape_ok == $etapes |
|
| 276 | - and (!$etape_demandee or $etape_demandee >= $etapes) |
|
| 277 | - ) { |
|
| 278 | - return $erreurs; |
|
| 279 | - } else { |
|
| 280 | - $etape = $derniere_etape_ok + 1; |
|
| 281 | - if ($etape_demandee > 0 and $etape_demandee < $etape) { |
|
| 282 | - $etape = $etape_demandee; |
|
| 283 | - } |
|
| 284 | - $etape = min($etape, $etapes); |
|
| 285 | - #var_dump("prochaine etape $etape"); |
|
| 286 | - // retourner les erreurs de l'etape ciblee |
|
| 287 | - $erreurs = $erreurs_etapes[$etape] ?? []; |
|
| 288 | - // Ne pas se tromper dans le texte du message d'erreur : la clé '_etapes' n'est pas une erreur ! |
|
| 289 | - if ($erreurs) { |
|
| 290 | - if (!isset($erreurs['message_erreur'])) { |
|
| 291 | - $erreurs['message_erreur'] = singulier_ou_pluriel(is_countable($erreurs) ? count($erreurs) : 0, 'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie'); |
|
| 292 | - } |
|
| 293 | - } else { |
|
| 294 | - $erreurs['message_erreur'] = ''; |
|
| 295 | - } |
|
| 296 | - $erreurs['_etapes'] = "etape suivante $etape"; |
|
| 297 | - set_request('_etape', $etape); |
|
| 298 | - } |
|
| 299 | - } |
|
| 272 | + // si la derniere etape OK etait la derniere |
|
| 273 | + // on renvoie le flux inchange et ca declenche traiter |
|
| 274 | + if ( |
|
| 275 | + $derniere_etape_ok == $etapes |
|
| 276 | + and (!$etape_demandee or $etape_demandee >= $etapes) |
|
| 277 | + ) { |
|
| 278 | + return $erreurs; |
|
| 279 | + } else { |
|
| 280 | + $etape = $derniere_etape_ok + 1; |
|
| 281 | + if ($etape_demandee > 0 and $etape_demandee < $etape) { |
|
| 282 | + $etape = $etape_demandee; |
|
| 283 | + } |
|
| 284 | + $etape = min($etape, $etapes); |
|
| 285 | + #var_dump("prochaine etape $etape"); |
|
| 286 | + // retourner les erreurs de l'etape ciblee |
|
| 287 | + $erreurs = $erreurs_etapes[$etape] ?? []; |
|
| 288 | + // Ne pas se tromper dans le texte du message d'erreur : la clé '_etapes' n'est pas une erreur ! |
|
| 289 | + if ($erreurs) { |
|
| 290 | + if (!isset($erreurs['message_erreur'])) { |
|
| 291 | + $erreurs['message_erreur'] = singulier_ou_pluriel(is_countable($erreurs) ? count($erreurs) : 0, 'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie'); |
|
| 292 | + } |
|
| 293 | + } else { |
|
| 294 | + $erreurs['message_erreur'] = ''; |
|
| 295 | + } |
|
| 296 | + $erreurs['_etapes'] = "etape suivante $etape"; |
|
| 297 | + set_request('_etape', $etape); |
|
| 298 | + } |
|
| 299 | + } |
|
| 300 | 300 | |
| 301 | - return $erreurs; |
|
| 301 | + return $erreurs; |
|
| 302 | 302 | } |
| 303 | 303 | |
| 304 | 304 | /** |
@@ -310,17 +310,17 @@ discard block |
||
| 310 | 310 | * @return array |
| 311 | 311 | */ |
| 312 | 312 | function cvtmulti_styliser($flux) { |
| 313 | - if ( |
|
| 314 | - strncmp($flux['args']['fond'], 'formulaires/', 12) == 0 |
|
| 315 | - and isset($flux['args']['contexte']['_etapes']) |
|
| 316 | - and isset($flux['args']['contexte']['_etape']) |
|
| 317 | - and ($e = $flux['args']['contexte']['_etape']) > 1 |
|
| 318 | - and $ext = $flux['args']['ext'] |
|
| 319 | - and $f = $flux['data'] |
|
| 320 | - and file_exists($f . "_$e.$ext") |
|
| 321 | - ) { |
|
| 322 | - $flux['data'] = $f . "_$e"; |
|
| 323 | - } |
|
| 313 | + if ( |
|
| 314 | + strncmp($flux['args']['fond'], 'formulaires/', 12) == 0 |
|
| 315 | + and isset($flux['args']['contexte']['_etapes']) |
|
| 316 | + and isset($flux['args']['contexte']['_etape']) |
|
| 317 | + and ($e = $flux['args']['contexte']['_etape']) > 1 |
|
| 318 | + and $ext = $flux['args']['ext'] |
|
| 319 | + and $f = $flux['data'] |
|
| 320 | + and file_exists($f . "_$e.$ext") |
|
| 321 | + ) { |
|
| 322 | + $flux['data'] = $f . "_$e"; |
|
| 323 | + } |
|
| 324 | 324 | |
| 325 | - return $flux; |
|
| 325 | + return $flux; |
|
| 326 | 326 | } |
@@ -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 | /** |
@@ -43,9 +43,9 @@ discard block |
||
| 43 | 43 | * URL, code HTML du formulaire ou tableau (action, arg, hash) |
| 44 | 44 | */ |
| 45 | 45 | function generer_action_auteur($action, $arg = '', $redirect = '', $mode = false, $att = '', $public = false) { |
| 46 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 46 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 47 | 47 | |
| 48 | - return $securiser_action($action, $arg, $redirect, $mode, $att, $public); |
|
| 48 | + return $securiser_action($action, $arg, $redirect, $mode, $att, $public); |
|
| 49 | 49 | } |
| 50 | 50 | |
| 51 | 51 | /** |
@@ -78,9 +78,9 @@ discard block |
||
| 78 | 78 | * Code HTML du formulaire |
| 79 | 79 | */ |
| 80 | 80 | function redirige_action_auteur($action, $arg, $ret, $gra = '', $mode = false, $atts = '', $public = false) { |
| 81 | - $r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) . generer_url_ecrire($ret, $gra, true, true); |
|
| 81 | + $r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) . generer_url_ecrire($ret, $gra, true, true); |
|
| 82 | 82 | |
| 83 | - return generer_action_auteur($action, $arg, $r, $mode, $atts, $public); |
|
| 83 | + return generer_action_auteur($action, $arg, $r, $mode, $atts, $public); |
|
| 84 | 84 | } |
| 85 | 85 | |
| 86 | 86 | /** |
@@ -105,9 +105,9 @@ discard block |
||
| 105 | 105 | * URL, code HTML du formulaire ou tableau (action, arg, hash) |
| 106 | 106 | */ |
| 107 | 107 | function redirige_action_post($action, $arg, $ret, $gra, $corps, $att = '') { |
| 108 | - $r = _DIR_RESTREINT . generer_url_ecrire($ret, $gra, false, true); |
|
| 108 | + $r = _DIR_RESTREINT . generer_url_ecrire($ret, $gra, false, true); |
|
| 109 | 109 | |
| 110 | - return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'"); |
|
| 110 | + return generer_action_auteur($action, $arg, $r, $corps, $att . " method='post'"); |
|
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | |
@@ -124,26 +124,26 @@ discard block |
||
| 124 | 124 | * passer "text/html" comme $content_type |
| 125 | 125 | */ |
| 126 | 126 | function ajax_retour($corps, $content_type = null): void { |
| 127 | - $xml = false; |
|
| 128 | - if (is_null($content_type) or $content_type === true) { |
|
| 129 | - $xml = true; |
|
| 130 | - $content_type = 'text/html'; |
|
| 131 | - } elseif (!$content_type or !is_string($content_type) or strpos($content_type, '/') === false) { |
|
| 132 | - $content_type = 'text/html'; |
|
| 133 | - } |
|
| 127 | + $xml = false; |
|
| 128 | + if (is_null($content_type) or $content_type === true) { |
|
| 129 | + $xml = true; |
|
| 130 | + $content_type = 'text/html'; |
|
| 131 | + } elseif (!$content_type or !is_string($content_type) or strpos($content_type, '/') === false) { |
|
| 132 | + $content_type = 'text/html'; |
|
| 133 | + } |
|
| 134 | 134 | |
| 135 | - $e = ''; |
|
| 136 | - if ( |
|
| 137 | - isset($_COOKIE['spip_admin']) |
|
| 138 | - and ((_request('var_mode') == 'debug') or !empty($GLOBALS['tableau_des_temps'])) |
|
| 139 | - ) { |
|
| 140 | - $e = erreur_squelette(); |
|
| 141 | - } |
|
| 135 | + $e = ''; |
|
| 136 | + if ( |
|
| 137 | + isset($_COOKIE['spip_admin']) |
|
| 138 | + and ((_request('var_mode') == 'debug') or !empty($GLOBALS['tableau_des_temps'])) |
|
| 139 | + ) { |
|
| 140 | + $e = erreur_squelette(); |
|
| 141 | + } |
|
| 142 | 142 | |
| 143 | - $c = $GLOBALS['meta']['charset']; |
|
| 144 | - header('Content-Type: ' . $content_type . '; charset=' . $c); |
|
| 145 | - $debut = (($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : ''); |
|
| 146 | - $fin = ''; |
|
| 143 | + $c = $GLOBALS['meta']['charset']; |
|
| 144 | + header('Content-Type: ' . $content_type . '; charset=' . $c); |
|
| 145 | + $debut = (($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : ''); |
|
| 146 | + $fin = ''; |
|
| 147 | 147 | |
| 148 | - echo $debut, $corps, $fin, $e; |
|
| 148 | + echo $debut, $corps, $fin, $e; |
|
| 149 | 149 | } |
@@ -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/boutons'); |
@@ -37,33 +37,33 @@ discard block |
||
| 37 | 37 | * Contexte |
| 38 | 38 | **/ |
| 39 | 39 | function definir_barre_contexte($contexte = null) { |
| 40 | - if (is_null($contexte)) { |
|
| 41 | - $contexte = $_GET; |
|
| 42 | - } elseif (is_string($contexte)) { |
|
| 43 | - $contexte = unserialize($contexte); |
|
| 44 | - } |
|
| 45 | - if (!isset($contexte['id_rubrique']) and isset($contexte['exec'])) { |
|
| 46 | - if (!function_exists('trouver_objet_exec')) { |
|
| 47 | - include_spip('inc/pipelines_ecrire'); |
|
| 48 | - } |
|
| 49 | - if ($e = trouver_objet_exec($contexte['exec'])) { |
|
| 50 | - $_id = $e['id_table_objet']; |
|
| 51 | - if (isset($contexte[$_id]) and $id = intval($contexte[$_id])) { |
|
| 52 | - $table = $e['table_objet_sql']; |
|
| 53 | - $row = sql_fetsel('*', $table, "$_id=" . intval($id)); |
|
| 54 | - if (isset($row['id_rubrique'])) { |
|
| 55 | - $contexte['id_rubrique'] = $row['id_rubrique']; |
|
| 56 | - if (isset($row['id_secteur'])) { |
|
| 57 | - $contexte['id_secteur'] = $row['id_secteur']; |
|
| 58 | - } |
|
| 59 | - } elseif (isset($row['id_groupe'])) { |
|
| 60 | - // TODO supprimer ce bloc quand https://core.spip.net/issues/3844 sera réalisé |
|
| 61 | - $contexte['id_groupe'] = $row['id_groupe']; |
|
| 62 | - } |
|
| 63 | - } |
|
| 64 | - } |
|
| 65 | - } |
|
| 66 | - return $contexte; |
|
| 40 | + if (is_null($contexte)) { |
|
| 41 | + $contexte = $_GET; |
|
| 42 | + } elseif (is_string($contexte)) { |
|
| 43 | + $contexte = unserialize($contexte); |
|
| 44 | + } |
|
| 45 | + if (!isset($contexte['id_rubrique']) and isset($contexte['exec'])) { |
|
| 46 | + if (!function_exists('trouver_objet_exec')) { |
|
| 47 | + include_spip('inc/pipelines_ecrire'); |
|
| 48 | + } |
|
| 49 | + if ($e = trouver_objet_exec($contexte['exec'])) { |
|
| 50 | + $_id = $e['id_table_objet']; |
|
| 51 | + if (isset($contexte[$_id]) and $id = intval($contexte[$_id])) { |
|
| 52 | + $table = $e['table_objet_sql']; |
|
| 53 | + $row = sql_fetsel('*', $table, "$_id=" . intval($id)); |
|
| 54 | + if (isset($row['id_rubrique'])) { |
|
| 55 | + $contexte['id_rubrique'] = $row['id_rubrique']; |
|
| 56 | + if (isset($row['id_secteur'])) { |
|
| 57 | + $contexte['id_secteur'] = $row['id_secteur']; |
|
| 58 | + } |
|
| 59 | + } elseif (isset($row['id_groupe'])) { |
|
| 60 | + // TODO supprimer ce bloc quand https://core.spip.net/issues/3844 sera réalisé |
|
| 61 | + $contexte['id_groupe'] = $row['id_groupe']; |
|
| 62 | + } |
|
| 63 | + } |
|
| 64 | + } |
|
| 65 | + } |
|
| 66 | + return $contexte; |
|
| 67 | 67 | } |
| 68 | 68 | |
| 69 | 69 | /** |
@@ -79,89 +79,89 @@ discard block |
||
| 79 | 79 | * @return array |
| 80 | 80 | */ |
| 81 | 81 | function definir_barre_boutons($contexte = [], $icones = true, $autorise = true) { |
| 82 | - include_spip('inc/autoriser'); |
|
| 83 | - $boutons_admin = []; |
|
| 82 | + include_spip('inc/autoriser'); |
|
| 83 | + $boutons_admin = []; |
|
| 84 | 84 | |
| 85 | - // les boutons du core, issus de ecrire/paquet.xml |
|
| 86 | - $liste_boutons = []; |
|
| 85 | + // les boutons du core, issus de ecrire/paquet.xml |
|
| 86 | + $liste_boutons = []; |
|
| 87 | 87 | |
| 88 | - // ajouter les boutons issus des plugin via paquet.xml |
|
| 89 | - if ( |
|
| 90 | - function_exists('boutons_plugins') |
|
| 91 | - and is_array($liste_boutons_plugins = boutons_plugins()) |
|
| 92 | - ) { |
|
| 93 | - $liste_boutons = &$liste_boutons_plugins; |
|
| 94 | - } |
|
| 88 | + // ajouter les boutons issus des plugin via paquet.xml |
|
| 89 | + if ( |
|
| 90 | + function_exists('boutons_plugins') |
|
| 91 | + and is_array($liste_boutons_plugins = boutons_plugins()) |
|
| 92 | + ) { |
|
| 93 | + $liste_boutons = &$liste_boutons_plugins; |
|
| 94 | + } |
|
| 95 | 95 | |
| 96 | - foreach ($liste_boutons as $id => $infos) { |
|
| 97 | - $parent = ''; |
|
| 98 | - // les boutons principaux ne sont pas soumis a autorisation |
|
| 99 | - if ( |
|
| 100 | - !isset($infos['parent']) |
|
| 101 | - or !($parent = $infos['parent']) |
|
| 102 | - or !$autorise |
|
| 103 | - or autoriser('menu', "_$id", 0, null, ['contexte' => $contexte]) |
|
| 104 | - ) { |
|
| 105 | - if ( |
|
| 106 | - $parent |
|
| 107 | - and $parent = preg_replace(',^bando_,', 'menu_', $parent) |
|
| 108 | - and isset($boutons_admin[$parent]) |
|
| 109 | - ) { |
|
| 110 | - $position = (isset($infos['position']) and strlen($infos['position'])) ? intval($infos['position']) : count($boutons_admin[$parent]->sousmenu); |
|
| 111 | - if ($position < 0) { |
|
| 112 | - $position = count($boutons_admin[$parent]->sousmenu) + 1 + $position; |
|
| 113 | - } |
|
| 114 | - $boutons_admin[$parent]->sousmenu = array_slice($boutons_admin[$parent]->sousmenu, 0, $position) |
|
| 115 | - + [ |
|
| 116 | - $id => new Bouton( |
|
| 117 | - ($icones and !empty($infos['icone'])) ? find_in_theme($infos['icone']) : '', // icone |
|
| 118 | - $infos['titre'], // titre |
|
| 119 | - (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, |
|
| 120 | - (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null |
|
| 121 | - ) |
|
| 122 | - ] |
|
| 123 | - + array_slice($boutons_admin[$parent]->sousmenu, $position, 100); |
|
| 124 | - } |
|
| 125 | - if ( |
|
| 126 | - !$parent |
|
| 127 | - // provisoire, eviter les vieux boutons |
|
| 128 | - and (!in_array($id, ['forum', 'statistiques_visites'])) |
|
| 129 | - and (!$autorise or autoriser('menugrandeentree', "_$id", 0, null, ['contexte' => $contexte])) |
|
| 130 | - ) { |
|
| 131 | - $position = (isset($infos['position']) and $infos['position']) ? $infos['position'] : count($boutons_admin); |
|
| 132 | - $boutons_admin = array_slice($boutons_admin, 0, $position) |
|
| 133 | - + [ |
|
| 134 | - $id => new Bouton( |
|
| 135 | - ($icones and isset($infos['icone']) and $infos['icone']) ? find_in_theme($infos['icone']) : '', // icone |
|
| 136 | - $infos['titre'], // titre |
|
| 137 | - (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, |
|
| 138 | - (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null |
|
| 139 | - ) |
|
| 140 | - ] |
|
| 141 | - + array_slice($boutons_admin, $position, 100); |
|
| 142 | - } |
|
| 143 | - } |
|
| 144 | - } |
|
| 145 | - $boutons_admin = pipeline('ajouter_menus', $boutons_admin); |
|
| 96 | + foreach ($liste_boutons as $id => $infos) { |
|
| 97 | + $parent = ''; |
|
| 98 | + // les boutons principaux ne sont pas soumis a autorisation |
|
| 99 | + if ( |
|
| 100 | + !isset($infos['parent']) |
|
| 101 | + or !($parent = $infos['parent']) |
|
| 102 | + or !$autorise |
|
| 103 | + or autoriser('menu', "_$id", 0, null, ['contexte' => $contexte]) |
|
| 104 | + ) { |
|
| 105 | + if ( |
|
| 106 | + $parent |
|
| 107 | + and $parent = preg_replace(',^bando_,', 'menu_', $parent) |
|
| 108 | + and isset($boutons_admin[$parent]) |
|
| 109 | + ) { |
|
| 110 | + $position = (isset($infos['position']) and strlen($infos['position'])) ? intval($infos['position']) : count($boutons_admin[$parent]->sousmenu); |
|
| 111 | + if ($position < 0) { |
|
| 112 | + $position = count($boutons_admin[$parent]->sousmenu) + 1 + $position; |
|
| 113 | + } |
|
| 114 | + $boutons_admin[$parent]->sousmenu = array_slice($boutons_admin[$parent]->sousmenu, 0, $position) |
|
| 115 | + + [ |
|
| 116 | + $id => new Bouton( |
|
| 117 | + ($icones and !empty($infos['icone'])) ? find_in_theme($infos['icone']) : '', // icone |
|
| 118 | + $infos['titre'], // titre |
|
| 119 | + (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, |
|
| 120 | + (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null |
|
| 121 | + ) |
|
| 122 | + ] |
|
| 123 | + + array_slice($boutons_admin[$parent]->sousmenu, $position, 100); |
|
| 124 | + } |
|
| 125 | + if ( |
|
| 126 | + !$parent |
|
| 127 | + // provisoire, eviter les vieux boutons |
|
| 128 | + and (!in_array($id, ['forum', 'statistiques_visites'])) |
|
| 129 | + and (!$autorise or autoriser('menugrandeentree', "_$id", 0, null, ['contexte' => $contexte])) |
|
| 130 | + ) { |
|
| 131 | + $position = (isset($infos['position']) and $infos['position']) ? $infos['position'] : count($boutons_admin); |
|
| 132 | + $boutons_admin = array_slice($boutons_admin, 0, $position) |
|
| 133 | + + [ |
|
| 134 | + $id => new Bouton( |
|
| 135 | + ($icones and isset($infos['icone']) and $infos['icone']) ? find_in_theme($infos['icone']) : '', // icone |
|
| 136 | + $infos['titre'], // titre |
|
| 137 | + (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, |
|
| 138 | + (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null |
|
| 139 | + ) |
|
| 140 | + ] |
|
| 141 | + + array_slice($boutons_admin, $position, 100); |
|
| 142 | + } |
|
| 143 | + } |
|
| 144 | + } |
|
| 145 | + $boutons_admin = pipeline('ajouter_menus', $boutons_admin); |
|
| 146 | 146 | |
| 147 | - // définir les favoris et positions d’origine |
|
| 148 | - if ($boutons_admin) { |
|
| 149 | - $menus_favoris = obtenir_menus_favoris(); |
|
| 150 | - $i = 1; |
|
| 151 | - foreach ($boutons_admin as $key => $menu) { |
|
| 152 | - $menu->favori = table_valeur($menus_favoris, $key, false); |
|
| 153 | - $menu->position = $i++; |
|
| 154 | - if ($menu->sousmenu) { |
|
| 155 | - $j = 1; |
|
| 156 | - foreach ($menu->sousmenu as $key => $bouton) { |
|
| 157 | - $bouton->favori = table_valeur($menus_favoris, $key, false); |
|
| 158 | - $bouton->position = $j++; |
|
| 159 | - } |
|
| 160 | - } |
|
| 161 | - } |
|
| 162 | - } |
|
| 147 | + // définir les favoris et positions d’origine |
|
| 148 | + if ($boutons_admin) { |
|
| 149 | + $menus_favoris = obtenir_menus_favoris(); |
|
| 150 | + $i = 1; |
|
| 151 | + foreach ($boutons_admin as $key => $menu) { |
|
| 152 | + $menu->favori = table_valeur($menus_favoris, $key, false); |
|
| 153 | + $menu->position = $i++; |
|
| 154 | + if ($menu->sousmenu) { |
|
| 155 | + $j = 1; |
|
| 156 | + foreach ($menu->sousmenu as $key => $bouton) { |
|
| 157 | + $bouton->favori = table_valeur($menus_favoris, $key, false); |
|
| 158 | + $bouton->position = $j++; |
|
| 159 | + } |
|
| 160 | + } |
|
| 161 | + } |
|
| 162 | + } |
|
| 163 | 163 | |
| 164 | - return $boutons_admin; |
|
| 164 | + return $boutons_admin; |
|
| 165 | 165 | } |
| 166 | 166 | |
| 167 | 167 | /** |
@@ -173,22 +173,22 @@ discard block |
||
| 173 | 173 | * @return Bouton[] |
| 174 | 174 | */ |
| 175 | 175 | function trier_boutons_enfants_par_alpha($menus, $avec_favoris = false) { |
| 176 | - foreach ($menus as $menu) { |
|
| 177 | - if ($menu->sousmenu) { |
|
| 178 | - $libelles = $isfavoris = $favoris = []; |
|
| 179 | - foreach ($menu->sousmenu as $key => $item) { |
|
| 180 | - $libelles[$key] = strtolower(translitteration(_T($item->libelle))); |
|
| 181 | - $isfavoris[$key] = (bool)$item->favori; |
|
| 182 | - $favoris[$key] = $item->favori; |
|
| 183 | - } |
|
| 184 | - if ($avec_favoris) { |
|
| 185 | - array_multisort($isfavoris, SORT_DESC, $favoris, SORT_ASC, $libelles, SORT_ASC, $menu->sousmenu); |
|
| 186 | - } else { |
|
| 187 | - array_multisort($libelles, SORT_ASC, $menu->sousmenu); |
|
| 188 | - } |
|
| 189 | - } |
|
| 190 | - } |
|
| 191 | - return $menus; |
|
| 176 | + foreach ($menus as $menu) { |
|
| 177 | + if ($menu->sousmenu) { |
|
| 178 | + $libelles = $isfavoris = $favoris = []; |
|
| 179 | + foreach ($menu->sousmenu as $key => $item) { |
|
| 180 | + $libelles[$key] = strtolower(translitteration(_T($item->libelle))); |
|
| 181 | + $isfavoris[$key] = (bool)$item->favori; |
|
| 182 | + $favoris[$key] = $item->favori; |
|
| 183 | + } |
|
| 184 | + if ($avec_favoris) { |
|
| 185 | + array_multisort($isfavoris, SORT_DESC, $favoris, SORT_ASC, $libelles, SORT_ASC, $menu->sousmenu); |
|
| 186 | + } else { |
|
| 187 | + array_multisort($libelles, SORT_ASC, $menu->sousmenu); |
|
| 188 | + } |
|
| 189 | + } |
|
| 190 | + } |
|
| 191 | + return $menus; |
|
| 192 | 192 | } |
| 193 | 193 | |
| 194 | 194 | /** |
@@ -199,7 +199,7 @@ discard block |
||
| 199 | 199 | * @return Bouton[] |
| 200 | 200 | */ |
| 201 | 201 | function trier_boutons_enfants_par_favoris_alpha($menus) { |
| 202 | - return trier_boutons_enfants_par_alpha($menus, true); |
|
| 202 | + return trier_boutons_enfants_par_alpha($menus, true); |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | |
@@ -212,23 +212,23 @@ discard block |
||
| 212 | 212 | * @return string |
| 213 | 213 | */ |
| 214 | 214 | function bandeau_creer_url($url, $args = '', $contexte = null) { |
| 215 | - if (!preg_match(',[\/\?],', $url)) { |
|
| 216 | - $url = generer_url_ecrire($url, $args, true); |
|
| 217 | - // recuperer les parametres du contexte demande par l'url sous la forme |
|
| 218 | - // &truc=@machin@ |
|
| 219 | - // @machin@ etant remplace par _request('machin') |
|
| 220 | - $url = str_replace('&', '&', $url); |
|
| 221 | - while (preg_match(',[&?]([a-z_]+)=@([a-z_]+)@,i', $url, $matches)) { |
|
| 222 | - if ($matches[2] == 'id_secteur' and !isset($contexte['id_secteur']) and isset($contexte['id_rubrique'])) { |
|
| 223 | - $contexte['id_secteur'] = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($contexte['id_rubrique'])); |
|
| 224 | - } |
|
| 225 | - $val = _request($matches[2], $contexte); |
|
| 226 | - $url = parametre_url($url, $matches[1], $val ?: '', '&'); |
|
| 227 | - } |
|
| 228 | - $url = str_replace('&', '&', $url); |
|
| 229 | - } |
|
| 215 | + if (!preg_match(',[\/\?],', $url)) { |
|
| 216 | + $url = generer_url_ecrire($url, $args, true); |
|
| 217 | + // recuperer les parametres du contexte demande par l'url sous la forme |
|
| 218 | + // &truc=@machin@ |
|
| 219 | + // @machin@ etant remplace par _request('machin') |
|
| 220 | + $url = str_replace('&', '&', $url); |
|
| 221 | + while (preg_match(',[&?]([a-z_]+)=@([a-z_]+)@,i', $url, $matches)) { |
|
| 222 | + if ($matches[2] == 'id_secteur' and !isset($contexte['id_secteur']) and isset($contexte['id_rubrique'])) { |
|
| 223 | + $contexte['id_secteur'] = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($contexte['id_rubrique'])); |
|
| 224 | + } |
|
| 225 | + $val = _request($matches[2], $contexte); |
|
| 226 | + $url = parametre_url($url, $matches[1], $val ?: '', '&'); |
|
| 227 | + } |
|
| 228 | + $url = str_replace('&', '&', $url); |
|
| 229 | + } |
|
| 230 | 230 | |
| 231 | - return $url; |
|
| 231 | + return $url; |
|
| 232 | 232 | } |
| 233 | 233 | |
| 234 | 234 | /** |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | * Code HTML du bandeau |
| 239 | 239 | */ |
| 240 | 240 | function inc_bandeau_dist() { |
| 241 | - return recuperer_fond('prive/squelettes/inclure/barre-nav', $_GET); |
|
| 241 | + return recuperer_fond('prive/squelettes/inclure/barre-nav', $_GET); |
|
| 242 | 242 | } |
| 243 | 243 | |
| 244 | 244 | |
@@ -247,13 +247,13 @@ discard block |
||
| 247 | 247 | * @return array |
| 248 | 248 | */ |
| 249 | 249 | function obtenir_menus_favoris() { |
| 250 | - if ( |
|
| 251 | - isset($GLOBALS['visiteur_session']['prefs']['menus_favoris']) |
|
| 252 | - and is_array($GLOBALS['visiteur_session']['prefs']['menus_favoris']) |
|
| 253 | - and $GLOBALS['visiteur_session']['prefs']['menus_favoris'] |
|
| 254 | - ) { |
|
| 255 | - return $GLOBALS['visiteur_session']['prefs']['menus_favoris']; |
|
| 256 | - } |
|
| 257 | - $definir_menus_favoris = charger_fonction('definir_menus_favoris', 'inc'); |
|
| 258 | - return $definir_menus_favoris(); |
|
| 250 | + if ( |
|
| 251 | + isset($GLOBALS['visiteur_session']['prefs']['menus_favoris']) |
|
| 252 | + and is_array($GLOBALS['visiteur_session']['prefs']['menus_favoris']) |
|
| 253 | + and $GLOBALS['visiteur_session']['prefs']['menus_favoris'] |
|
| 254 | + ) { |
|
| 255 | + return $GLOBALS['visiteur_session']['prefs']['menus_favoris']; |
|
| 256 | + } |
|
| 257 | + $definir_menus_favoris = charger_fonction('definir_menus_favoris', 'inc'); |
|
| 258 | + return $definir_menus_favoris(); |
|
| 259 | 259 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\SQL |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | require_once _ROOT_RESTREINT . 'base/objets.php'; |
| 22 | 22 | |
@@ -42,118 +42,118 @@ discard block |
||
| 42 | 42 | **/ |
| 43 | 43 | function spip_connect($serveur = '', $version = '') { |
| 44 | 44 | |
| 45 | - $serveur = !is_string($serveur) ? '' : strtolower($serveur); |
|
| 46 | - $index = $serveur ?: 0; |
|
| 47 | - if (!$version) { |
|
| 48 | - $version = $GLOBALS['spip_sql_version']; |
|
| 49 | - } |
|
| 50 | - if (isset($GLOBALS['connexions'][$index][$version])) { |
|
| 51 | - return $GLOBALS['connexions'][$index]; |
|
| 52 | - } |
|
| 53 | - |
|
| 54 | - include_spip('base/abstract_sql'); |
|
| 55 | - $install = (_request('exec') == 'install'); |
|
| 56 | - |
|
| 57 | - // Premiere connexion ? |
|
| 58 | - if (!($old = isset($GLOBALS['connexions'][$index]))) { |
|
| 59 | - $f = (!preg_match('/^[\w\.]*$/', $serveur)) |
|
| 60 | - ? '' // nom de serveur mal ecrit |
|
| 61 | - : ($serveur ? |
|
| 62 | - (_DIR_CONNECT . $serveur . '.php') // serveur externe |
|
| 63 | - : (_FILE_CONNECT ?: ($install ? _FILE_CONNECT_TMP // init du serveur principal |
|
| 64 | - : ''))); // installation pas faite |
|
| 65 | - |
|
| 66 | - unset($GLOBALS['db_ok']); |
|
| 67 | - unset($GLOBALS['spip_connect_version']); |
|
| 68 | - if ($f) { |
|
| 69 | - if (is_readable($f)) { |
|
| 70 | - include($f); |
|
| 71 | - } elseif ($serveur and !$install) { |
|
| 72 | - // chercher une declaration de serveur dans le path |
|
| 73 | - // qui pourra un jour servir a declarer des bases sqlite |
|
| 74 | - // par des plugins. Et sert aussi aux boucles POUR. |
|
| 75 | - find_in_path("$serveur.php", 'connect/', true); |
|
| 76 | - } |
|
| 77 | - } |
|
| 78 | - if (!isset($GLOBALS['db_ok'])) { |
|
| 79 | - // fera mieux la prochaine fois |
|
| 80 | - if ($install) { |
|
| 81 | - return false; |
|
| 82 | - } |
|
| 83 | - if ($f and is_readable($f)) { |
|
| 84 | - spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE); |
|
| 85 | - } else { |
|
| 86 | - spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE); |
|
| 87 | - } |
|
| 88 | - spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS); |
|
| 89 | - |
|
| 90 | - // ne plus reessayer si ce n'est pas l'install |
|
| 91 | - return $GLOBALS['connexions'][$index] = false; |
|
| 92 | - } |
|
| 93 | - $GLOBALS['connexions'][$index] = $GLOBALS['db_ok']; |
|
| 94 | - } |
|
| 95 | - // si la connexion a deja ete tentee mais a echoue, le dire! |
|
| 96 | - if (!$GLOBALS['connexions'][$index]) { |
|
| 97 | - return false; |
|
| 98 | - } |
|
| 99 | - |
|
| 100 | - // la connexion a reussi ou etait deja faite. |
|
| 101 | - // chargement de la version du jeu de fonctions |
|
| 102 | - // si pas dans le fichier par defaut |
|
| 103 | - $type = $GLOBALS['db_ok']['type']; |
|
| 104 | - $jeu = 'spip_' . $type . '_functions_' . $version; |
|
| 105 | - if (!isset($GLOBALS[$jeu])) { |
|
| 106 | - if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) { |
|
| 107 | - spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS); |
|
| 108 | - |
|
| 109 | - // ne plus reessayer |
|
| 110 | - return $GLOBALS['connexions'][$index][$version] = []; |
|
| 111 | - } |
|
| 112 | - } |
|
| 113 | - $GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu]; |
|
| 114 | - if ($old) { |
|
| 115 | - return $GLOBALS['connexions'][$index]; |
|
| 116 | - } |
|
| 117 | - |
|
| 118 | - $GLOBALS['connexions'][$index]['spip_connect_version'] = $GLOBALS['spip_connect_version'] ?? 0; |
|
| 119 | - |
|
| 120 | - // initialisation de l'alphabet utilise dans les connexions SQL |
|
| 121 | - // si l'installation l'a determine. |
|
| 122 | - // Celui du serveur principal l'impose aux serveurs secondaires |
|
| 123 | - // s'ils le connaissent |
|
| 124 | - |
|
| 125 | - if (!$serveur) { |
|
| 126 | - $charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']); |
|
| 127 | - if (!$charset) { |
|
| 128 | - unset($GLOBALS['connexions'][$index]); |
|
| 129 | - spip_log('spip_connect: absence de charset', _LOG_AVERTISSEMENT); |
|
| 130 | - |
|
| 131 | - return false; |
|
| 132 | - } |
|
| 133 | - } else { |
|
| 134 | - if ($GLOBALS['db_ok']['charset']) { |
|
| 135 | - $charset = $GLOBALS['db_ok']['charset']; |
|
| 136 | - } |
|
| 137 | - // spip_meta n'existe pas toujours dans la base |
|
| 138 | - // C'est le cas d'un dump sqlite par exemple |
|
| 139 | - elseif ( |
|
| 140 | - $GLOBALS['connexions'][$index]['spip_connect_version'] |
|
| 141 | - and sql_showtable('spip_meta', true, $serveur) |
|
| 142 | - and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur) |
|
| 143 | - ) { |
|
| 144 | - $charset = $r; |
|
| 145 | - } else { |
|
| 146 | - $charset = -1; |
|
| 147 | - } |
|
| 148 | - } |
|
| 149 | - if ($charset != -1) { |
|
| 150 | - $f = $GLOBALS[$jeu]['set_charset']; |
|
| 151 | - if (function_exists($f)) { |
|
| 152 | - $f($charset, $serveur); |
|
| 153 | - } |
|
| 154 | - } |
|
| 155 | - |
|
| 156 | - return $GLOBALS['connexions'][$index]; |
|
| 45 | + $serveur = !is_string($serveur) ? '' : strtolower($serveur); |
|
| 46 | + $index = $serveur ?: 0; |
|
| 47 | + if (!$version) { |
|
| 48 | + $version = $GLOBALS['spip_sql_version']; |
|
| 49 | + } |
|
| 50 | + if (isset($GLOBALS['connexions'][$index][$version])) { |
|
| 51 | + return $GLOBALS['connexions'][$index]; |
|
| 52 | + } |
|
| 53 | + |
|
| 54 | + include_spip('base/abstract_sql'); |
|
| 55 | + $install = (_request('exec') == 'install'); |
|
| 56 | + |
|
| 57 | + // Premiere connexion ? |
|
| 58 | + if (!($old = isset($GLOBALS['connexions'][$index]))) { |
|
| 59 | + $f = (!preg_match('/^[\w\.]*$/', $serveur)) |
|
| 60 | + ? '' // nom de serveur mal ecrit |
|
| 61 | + : ($serveur ? |
|
| 62 | + (_DIR_CONNECT . $serveur . '.php') // serveur externe |
|
| 63 | + : (_FILE_CONNECT ?: ($install ? _FILE_CONNECT_TMP // init du serveur principal |
|
| 64 | + : ''))); // installation pas faite |
|
| 65 | + |
|
| 66 | + unset($GLOBALS['db_ok']); |
|
| 67 | + unset($GLOBALS['spip_connect_version']); |
|
| 68 | + if ($f) { |
|
| 69 | + if (is_readable($f)) { |
|
| 70 | + include($f); |
|
| 71 | + } elseif ($serveur and !$install) { |
|
| 72 | + // chercher une declaration de serveur dans le path |
|
| 73 | + // qui pourra un jour servir a declarer des bases sqlite |
|
| 74 | + // par des plugins. Et sert aussi aux boucles POUR. |
|
| 75 | + find_in_path("$serveur.php", 'connect/', true); |
|
| 76 | + } |
|
| 77 | + } |
|
| 78 | + if (!isset($GLOBALS['db_ok'])) { |
|
| 79 | + // fera mieux la prochaine fois |
|
| 80 | + if ($install) { |
|
| 81 | + return false; |
|
| 82 | + } |
|
| 83 | + if ($f and is_readable($f)) { |
|
| 84 | + spip_log("spip_connect: fichier de connexion '$f' OK.", _LOG_INFO_IMPORTANTE); |
|
| 85 | + } else { |
|
| 86 | + spip_log("spip_connect: fichier de connexion '$f' non trouve", _LOG_INFO_IMPORTANTE); |
|
| 87 | + } |
|
| 88 | + spip_log("spip_connect: echec connexion ou serveur $index mal defini dans '$f'.", _LOG_HS); |
|
| 89 | + |
|
| 90 | + // ne plus reessayer si ce n'est pas l'install |
|
| 91 | + return $GLOBALS['connexions'][$index] = false; |
|
| 92 | + } |
|
| 93 | + $GLOBALS['connexions'][$index] = $GLOBALS['db_ok']; |
|
| 94 | + } |
|
| 95 | + // si la connexion a deja ete tentee mais a echoue, le dire! |
|
| 96 | + if (!$GLOBALS['connexions'][$index]) { |
|
| 97 | + return false; |
|
| 98 | + } |
|
| 99 | + |
|
| 100 | + // la connexion a reussi ou etait deja faite. |
|
| 101 | + // chargement de la version du jeu de fonctions |
|
| 102 | + // si pas dans le fichier par defaut |
|
| 103 | + $type = $GLOBALS['db_ok']['type']; |
|
| 104 | + $jeu = 'spip_' . $type . '_functions_' . $version; |
|
| 105 | + if (!isset($GLOBALS[$jeu])) { |
|
| 106 | + if (!find_in_path($type . '_' . $version . '.php', 'req/', true)) { |
|
| 107 | + spip_log("spip_connect: serveur $index version '$version' non defini pour '$type'", _LOG_HS); |
|
| 108 | + |
|
| 109 | + // ne plus reessayer |
|
| 110 | + return $GLOBALS['connexions'][$index][$version] = []; |
|
| 111 | + } |
|
| 112 | + } |
|
| 113 | + $GLOBALS['connexions'][$index][$version] = $GLOBALS[$jeu]; |
|
| 114 | + if ($old) { |
|
| 115 | + return $GLOBALS['connexions'][$index]; |
|
| 116 | + } |
|
| 117 | + |
|
| 118 | + $GLOBALS['connexions'][$index]['spip_connect_version'] = $GLOBALS['spip_connect_version'] ?? 0; |
|
| 119 | + |
|
| 120 | + // initialisation de l'alphabet utilise dans les connexions SQL |
|
| 121 | + // si l'installation l'a determine. |
|
| 122 | + // Celui du serveur principal l'impose aux serveurs secondaires |
|
| 123 | + // s'ils le connaissent |
|
| 124 | + |
|
| 125 | + if (!$serveur) { |
|
| 126 | + $charset = spip_connect_main($GLOBALS[$jeu], $GLOBALS['db_ok']['charset']); |
|
| 127 | + if (!$charset) { |
|
| 128 | + unset($GLOBALS['connexions'][$index]); |
|
| 129 | + spip_log('spip_connect: absence de charset', _LOG_AVERTISSEMENT); |
|
| 130 | + |
|
| 131 | + return false; |
|
| 132 | + } |
|
| 133 | + } else { |
|
| 134 | + if ($GLOBALS['db_ok']['charset']) { |
|
| 135 | + $charset = $GLOBALS['db_ok']['charset']; |
|
| 136 | + } |
|
| 137 | + // spip_meta n'existe pas toujours dans la base |
|
| 138 | + // C'est le cas d'un dump sqlite par exemple |
|
| 139 | + elseif ( |
|
| 140 | + $GLOBALS['connexions'][$index]['spip_connect_version'] |
|
| 141 | + and sql_showtable('spip_meta', true, $serveur) |
|
| 142 | + and $r = sql_getfetsel('valeur', 'spip_meta', "nom='charset_sql_connexion'", '', '', '', '', $serveur) |
|
| 143 | + ) { |
|
| 144 | + $charset = $r; |
|
| 145 | + } else { |
|
| 146 | + $charset = -1; |
|
| 147 | + } |
|
| 148 | + } |
|
| 149 | + if ($charset != -1) { |
|
| 150 | + $f = $GLOBALS[$jeu]['set_charset']; |
|
| 151 | + if (function_exists($f)) { |
|
| 152 | + $f($charset, $serveur); |
|
| 153 | + } |
|
| 154 | + } |
|
| 155 | + |
|
| 156 | + return $GLOBALS['connexions'][$index]; |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | /** |
@@ -162,12 +162,12 @@ discard block |
||
| 162 | 162 | * @param string $serveur Nom du connecteur de bdd utilisé |
| 163 | 163 | **/ |
| 164 | 164 | function spip_sql_erreur($serveur = '') { |
| 165 | - $connexion = spip_connect($serveur); |
|
| 166 | - $e = sql_errno($serveur); |
|
| 167 | - $t = ($connexion['type'] ?? 'sql'); |
|
| 168 | - $m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']); |
|
| 169 | - $f = $t . $serveur; |
|
| 170 | - spip_log($m, $f . '.' . _LOG_ERREUR); |
|
| 165 | + $connexion = spip_connect($serveur); |
|
| 166 | + $e = sql_errno($serveur); |
|
| 167 | + $t = ($connexion['type'] ?? 'sql'); |
|
| 168 | + $m = "Erreur $e de $t: " . sql_error($serveur) . "\nin " . sql_error_backtrace() . "\n" . trim($connexion['last']); |
|
| 169 | + $f = $t . $serveur; |
|
| 170 | + spip_log($m, $f . '.' . _LOG_ERREUR); |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | /** |
@@ -189,23 +189,23 @@ discard block |
||
| 189 | 189 | * - array : description de la connexion, si l'instruction sql est indisponible pour cette connexion |
| 190 | 190 | **/ |
| 191 | 191 | function spip_connect_sql($version, $ins = '', $serveur = '', $continue = false) { |
| 192 | - $desc = spip_connect($serveur, $version); |
|
| 193 | - if ( |
|
| 194 | - $desc |
|
| 195 | - and $f = ($desc[$version][$ins] ?? '') |
|
| 196 | - and function_exists($f) |
|
| 197 | - ) { |
|
| 198 | - return $f; |
|
| 199 | - } |
|
| 200 | - if ($continue) { |
|
| 201 | - return $desc; |
|
| 202 | - } |
|
| 203 | - if ($ins) { |
|
| 204 | - spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR); |
|
| 205 | - } |
|
| 206 | - include_spip('inc/minipres'); |
|
| 207 | - echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]); |
|
| 208 | - exit; |
|
| 192 | + $desc = spip_connect($serveur, $version); |
|
| 193 | + if ( |
|
| 194 | + $desc |
|
| 195 | + and $f = ($desc[$version][$ins] ?? '') |
|
| 196 | + and function_exists($f) |
|
| 197 | + ) { |
|
| 198 | + return $f; |
|
| 199 | + } |
|
| 200 | + if ($continue) { |
|
| 201 | + return $desc; |
|
| 202 | + } |
|
| 203 | + if ($ins) { |
|
| 204 | + spip_log("Le serveur '$serveur' version $version n'a pas '$ins'", _LOG_ERREUR); |
|
| 205 | + } |
|
| 206 | + include_spip('inc/minipres'); |
|
| 207 | + echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique'), ['status' => 503]); |
|
| 208 | + exit; |
|
| 209 | 209 | } |
| 210 | 210 | |
| 211 | 211 | /** |
@@ -231,70 +231,70 @@ discard block |
||
| 231 | 231 | * @return array|null Description de la connexion |
| 232 | 232 | */ |
| 233 | 233 | function spip_connect_db( |
| 234 | - $host, |
|
| 235 | - $port, |
|
| 236 | - $login, |
|
| 237 | - $pass, |
|
| 238 | - $db = '', |
|
| 239 | - $type = 'mysql', |
|
| 240 | - $prefixe = '', |
|
| 241 | - $auth = '', |
|
| 242 | - $charset = '' |
|
| 234 | + $host, |
|
| 235 | + $port, |
|
| 236 | + $login, |
|
| 237 | + $pass, |
|
| 238 | + $db = '', |
|
| 239 | + $type = 'mysql', |
|
| 240 | + $prefixe = '', |
|
| 241 | + $auth = '', |
|
| 242 | + $charset = '' |
|
| 243 | 243 | ) { |
| 244 | - // temps avant nouvelle tentative de connexion |
|
| 245 | - // suite a une connection echouee |
|
| 246 | - if (!defined('_CONNECT_RETRY_DELAY')) { |
|
| 247 | - define('_CONNECT_RETRY_DELAY', 30); |
|
| 248 | - } |
|
| 249 | - |
|
| 250 | - $f = ''; |
|
| 251 | - // un fichier de identifiant par combinaison (type,host,port,db) |
|
| 252 | - // pour ne pas declarer tout indisponible d'un coup |
|
| 253 | - // si en cours d'installation ou si db=@test@ on ne pose rien |
|
| 254 | - // car c'est un test de connexion |
|
| 255 | - if (!defined('_ECRIRE_INSTALL') and $db !== '@test@') { |
|
| 256 | - $f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out'; |
|
| 257 | - } elseif ($db == '@test@') { |
|
| 258 | - $db = ''; |
|
| 259 | - } |
|
| 260 | - |
|
| 261 | - if ( |
|
| 262 | - $f |
|
| 263 | - and @file_exists($f) |
|
| 264 | - and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY) |
|
| 265 | - ) { |
|
| 266 | - spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS); |
|
| 267 | - |
|
| 268 | - return null; |
|
| 269 | - } |
|
| 270 | - |
|
| 271 | - if (!$prefixe) { |
|
| 272 | - $prefixe = $GLOBALS['table_prefix'] ?? $db; |
|
| 273 | - } |
|
| 274 | - $h = charger_fonction($type, 'req', true); |
|
| 275 | - if (!$h) { |
|
| 276 | - spip_log("les requetes $type ne sont pas fournies", _LOG_HS); |
|
| 277 | - |
|
| 278 | - return null; |
|
| 279 | - } |
|
| 280 | - if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) { |
|
| 281 | - if (!is_array($auth)) { |
|
| 282 | - // compatibilite version 0.7 initiale |
|
| 283 | - $g['ldap'] = $auth; |
|
| 284 | - $auth = ['ldap' => $auth]; |
|
| 285 | - } |
|
| 286 | - $g['authentification'] = $auth; |
|
| 287 | - $g['type'] = $type; |
|
| 288 | - $g['charset'] = $charset; |
|
| 289 | - |
|
| 290 | - return $GLOBALS['db_ok'] = $g; |
|
| 291 | - } |
|
| 292 | - // En cas d'indisponibilite du serveur, eviter de le bombarder |
|
| 293 | - if ($f) { |
|
| 294 | - @touch($f); |
|
| 295 | - spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS); |
|
| 296 | - } |
|
| 297 | - return null; |
|
| 244 | + // temps avant nouvelle tentative de connexion |
|
| 245 | + // suite a une connection echouee |
|
| 246 | + if (!defined('_CONNECT_RETRY_DELAY')) { |
|
| 247 | + define('_CONNECT_RETRY_DELAY', 30); |
|
| 248 | + } |
|
| 249 | + |
|
| 250 | + $f = ''; |
|
| 251 | + // un fichier de identifiant par combinaison (type,host,port,db) |
|
| 252 | + // pour ne pas declarer tout indisponible d'un coup |
|
| 253 | + // si en cours d'installation ou si db=@test@ on ne pose rien |
|
| 254 | + // car c'est un test de connexion |
|
| 255 | + if (!defined('_ECRIRE_INSTALL') and $db !== '@test@') { |
|
| 256 | + $f = _DIR_TMP . $type . '.' . substr(md5($host . $port . $db), 0, 8) . '.out'; |
|
| 257 | + } elseif ($db == '@test@') { |
|
| 258 | + $db = ''; |
|
| 259 | + } |
|
| 260 | + |
|
| 261 | + if ( |
|
| 262 | + $f |
|
| 263 | + and @file_exists($f) |
|
| 264 | + and (time() - @filemtime($f) < _CONNECT_RETRY_DELAY) |
|
| 265 | + ) { |
|
| 266 | + spip_log("Echec : $f recent. Pas de tentative de connexion", _LOG_HS); |
|
| 267 | + |
|
| 268 | + return null; |
|
| 269 | + } |
|
| 270 | + |
|
| 271 | + if (!$prefixe) { |
|
| 272 | + $prefixe = $GLOBALS['table_prefix'] ?? $db; |
|
| 273 | + } |
|
| 274 | + $h = charger_fonction($type, 'req', true); |
|
| 275 | + if (!$h) { |
|
| 276 | + spip_log("les requetes $type ne sont pas fournies", _LOG_HS); |
|
| 277 | + |
|
| 278 | + return null; |
|
| 279 | + } |
|
| 280 | + if ($g = $h($host, $port, $login, $pass, $db, $prefixe)) { |
|
| 281 | + if (!is_array($auth)) { |
|
| 282 | + // compatibilite version 0.7 initiale |
|
| 283 | + $g['ldap'] = $auth; |
|
| 284 | + $auth = ['ldap' => $auth]; |
|
| 285 | + } |
|
| 286 | + $g['authentification'] = $auth; |
|
| 287 | + $g['type'] = $type; |
|
| 288 | + $g['charset'] = $charset; |
|
| 289 | + |
|
| 290 | + return $GLOBALS['db_ok'] = $g; |
|
| 291 | + } |
|
| 292 | + // En cas d'indisponibilite du serveur, eviter de le bombarder |
|
| 293 | + if ($f) { |
|
| 294 | + @touch($f); |
|
| 295 | + spip_log("Echec connexion serveur $type : host[$host] port[$port] login[$login] base[$db]", $type . '.' . _LOG_HS); |
|
| 296 | + } |
|
| 297 | + return null; |
|
| 298 | 298 | } |
| 299 | 299 | |
| 300 | 300 | |
@@ -326,32 +326,32 @@ discard block |
||
| 326 | 326 | * - nom du charset sinon |
| 327 | 327 | **/ |
| 328 | 328 | function spip_connect_main($connexion, $charset_sql_connexion = '') { |
| 329 | - if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) { |
|
| 330 | - include_spip('inc/headers'); |
|
| 331 | - redirige_url_ecrire('upgrade', 'reinstall=oui'); |
|
| 332 | - } |
|
| 333 | - |
|
| 334 | - if (!($f = $connexion['select'])) { |
|
| 335 | - return false; |
|
| 336 | - } |
|
| 337 | - // si le charset est fourni, l'utiliser |
|
| 338 | - if ($charset_sql_connexion) { |
|
| 339 | - return $charset_sql_connexion; |
|
| 340 | - } |
|
| 341 | - // sinon on regarde la table spip_meta |
|
| 342 | - // en cas d'erreur select retourne la requette (is_string=true donc) |
|
| 343 | - if ( |
|
| 344 | - !$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'") |
|
| 345 | - or is_string($r) |
|
| 346 | - ) { |
|
| 347 | - return false; |
|
| 348 | - } |
|
| 349 | - if (!($f = $connexion['fetch'])) { |
|
| 350 | - return false; |
|
| 351 | - } |
|
| 352 | - $r = $f($r); |
|
| 353 | - |
|
| 354 | - return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1; |
|
| 329 | + if ($GLOBALS['spip_connect_version'] < 0.1 and _DIR_RESTREINT) { |
|
| 330 | + include_spip('inc/headers'); |
|
| 331 | + redirige_url_ecrire('upgrade', 'reinstall=oui'); |
|
| 332 | + } |
|
| 333 | + |
|
| 334 | + if (!($f = $connexion['select'])) { |
|
| 335 | + return false; |
|
| 336 | + } |
|
| 337 | + // si le charset est fourni, l'utiliser |
|
| 338 | + if ($charset_sql_connexion) { |
|
| 339 | + return $charset_sql_connexion; |
|
| 340 | + } |
|
| 341 | + // sinon on regarde la table spip_meta |
|
| 342 | + // en cas d'erreur select retourne la requette (is_string=true donc) |
|
| 343 | + if ( |
|
| 344 | + !$r = $f('valeur', 'spip_meta', "nom='charset_sql_connexion'") |
|
| 345 | + or is_string($r) |
|
| 346 | + ) { |
|
| 347 | + return false; |
|
| 348 | + } |
|
| 349 | + if (!($f = $connexion['fetch'])) { |
|
| 350 | + return false; |
|
| 351 | + } |
|
| 352 | + $r = $f($r); |
|
| 353 | + |
|
| 354 | + return (isset($r['valeur']) && $r['valeur']) ? $r['valeur'] : -1; |
|
| 355 | 355 | } |
| 356 | 356 | |
| 357 | 357 | /** |
@@ -367,8 +367,8 @@ discard block |
||
| 367 | 367 | * @return array |
| 368 | 368 | */ |
| 369 | 369 | function spip_connect_ldap($serveur = '') { |
| 370 | - include_spip('auth/ldap'); |
|
| 371 | - return auth_ldap_connect($serveur); |
|
| 370 | + include_spip('auth/ldap'); |
|
| 371 | + return auth_ldap_connect($serveur); |
|
| 372 | 372 | } |
| 373 | 373 | |
| 374 | 374 | /** |
@@ -384,16 +384,16 @@ discard block |
||
| 384 | 384 | * @return string Valeur échappée. |
| 385 | 385 | **/ |
| 386 | 386 | function _q($a): string { |
| 387 | - if (is_numeric($a)) { |
|
| 388 | - return strval($a); |
|
| 389 | - } elseif (is_array($a)) { |
|
| 390 | - return join(',', array_map('_q', $a)); |
|
| 391 | - } elseif (is_scalar($a)) { |
|
| 392 | - return ("'" . addslashes($a) . "'"); |
|
| 393 | - } elseif ($a === null) { |
|
| 394 | - return "''"; |
|
| 395 | - } |
|
| 396 | - throw new \RuntimeException('Can’t use _q with ' . gettype($a)); |
|
| 387 | + if (is_numeric($a)) { |
|
| 388 | + return strval($a); |
|
| 389 | + } elseif (is_array($a)) { |
|
| 390 | + return join(',', array_map('_q', $a)); |
|
| 391 | + } elseif (is_scalar($a)) { |
|
| 392 | + return ("'" . addslashes($a) . "'"); |
|
| 393 | + } elseif ($a === null) { |
|
| 394 | + return "''"; |
|
| 395 | + } |
|
| 396 | + throw new \RuntimeException('Can’t use _q with ' . gettype($a)); |
|
| 397 | 397 | } |
| 398 | 398 | |
| 399 | 399 | /** |
@@ -409,75 +409,75 @@ discard block |
||
| 409 | 409 | * @return array |
| 410 | 410 | */ |
| 411 | 411 | function query_echappe_textes($query, $uniqid = null) { |
| 412 | - static $codeEchappements = null; |
|
| 413 | - if (is_null($codeEchappements) or $uniqid) { |
|
| 414 | - if (is_null($uniqid)) { |
|
| 415 | - $uniqid = uniqid(); |
|
| 416 | - } |
|
| 417 | - $uniqid = substr(md5($uniqid), 0, 4); |
|
| 418 | - $codeEchappements = ['\\\\' => "\x1@#{$uniqid}#@\x1", "\\'" => "\x2@#{$uniqid}#@\x2", '\\"' => "\x3@#{$uniqid}#@\x3", '%' => "\x4@#{$uniqid}#@\x4"]; |
|
| 419 | - } |
|
| 420 | - if ($query === null) { |
|
| 421 | - return $codeEchappements; |
|
| 422 | - } |
|
| 423 | - |
|
| 424 | - // si la query contient deja des codes d'echappement on va s'emmeler les pinceaux et donc on ne touche a rien |
|
| 425 | - // ce n'est pas un cas legitime |
|
| 426 | - foreach ($codeEchappements as $codeEchappement) { |
|
| 427 | - if (strpos($query, (string) $codeEchappement) !== false) { |
|
| 428 | - return [$query, []]; |
|
| 429 | - } |
|
| 430 | - } |
|
| 431 | - |
|
| 432 | - $query_echappees = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query); |
|
| 433 | - if (preg_match_all("/('[^']*')|(\"[^\"]*\")/S", $query_echappees, $textes)) { |
|
| 434 | - $textes = reset($textes); |
|
| 435 | - |
|
| 436 | - $parts = []; |
|
| 437 | - $currentpos = 0; |
|
| 438 | - $k = 0; |
|
| 439 | - while (count($textes)) { |
|
| 440 | - $part = array_shift($textes); |
|
| 441 | - $nextpos = strpos($query_echappees, $part, $currentpos); |
|
| 442 | - // si besoin recoller ensemble les doubles '' de sqlite (echappement des ') |
|
| 443 | - while (count($textes) and substr($part, -1) === "'") { |
|
| 444 | - $next = reset($textes); |
|
| 445 | - if ( |
|
| 446 | - strpos($next, "'") === 0 |
|
| 447 | - and strpos($query_echappees, $part . $next, $currentpos) === $nextpos |
|
| 448 | - ) { |
|
| 449 | - $part .= array_shift($textes); |
|
| 450 | - } |
|
| 451 | - else { |
|
| 452 | - break; |
|
| 453 | - } |
|
| 454 | - } |
|
| 455 | - $k++; |
|
| 456 | - $parts[$k] = [ |
|
| 457 | - 'texte' => $part, |
|
| 458 | - 'position' => $nextpos, |
|
| 459 | - 'placeholder' => '%' . $k . '$s', |
|
| 460 | - ]; |
|
| 461 | - $currentpos = $nextpos + strlen($part); |
|
| 462 | - } |
|
| 463 | - |
|
| 464 | - // et on replace les parts une par une en commencant par la fin |
|
| 465 | - while ($k > 0) { |
|
| 466 | - $query_echappees = substr_replace($query_echappees, $parts[$k]['placeholder'], $parts[$k]['position'], strlen($parts[$k]['texte'])); |
|
| 467 | - $k--; |
|
| 468 | - } |
|
| 469 | - $textes = array_column($parts, 'texte'); |
|
| 470 | - } else { |
|
| 471 | - $textes = []; |
|
| 472 | - } |
|
| 473 | - |
|
| 474 | - // si il reste des quotes simples ou doubles, c'est qu'on s'est emmelle les pinceaux |
|
| 475 | - // dans le doute on ne touche a rien |
|
| 476 | - if (strpbrk($query_echappees, "'\"") !== false) { |
|
| 477 | - return [$query, []]; |
|
| 478 | - } |
|
| 479 | - |
|
| 480 | - return [$query_echappees, $textes]; |
|
| 412 | + static $codeEchappements = null; |
|
| 413 | + if (is_null($codeEchappements) or $uniqid) { |
|
| 414 | + if (is_null($uniqid)) { |
|
| 415 | + $uniqid = uniqid(); |
|
| 416 | + } |
|
| 417 | + $uniqid = substr(md5($uniqid), 0, 4); |
|
| 418 | + $codeEchappements = ['\\\\' => "\x1@#{$uniqid}#@\x1", "\\'" => "\x2@#{$uniqid}#@\x2", '\\"' => "\x3@#{$uniqid}#@\x3", '%' => "\x4@#{$uniqid}#@\x4"]; |
|
| 419 | + } |
|
| 420 | + if ($query === null) { |
|
| 421 | + return $codeEchappements; |
|
| 422 | + } |
|
| 423 | + |
|
| 424 | + // si la query contient deja des codes d'echappement on va s'emmeler les pinceaux et donc on ne touche a rien |
|
| 425 | + // ce n'est pas un cas legitime |
|
| 426 | + foreach ($codeEchappements as $codeEchappement) { |
|
| 427 | + if (strpos($query, (string) $codeEchappement) !== false) { |
|
| 428 | + return [$query, []]; |
|
| 429 | + } |
|
| 430 | + } |
|
| 431 | + |
|
| 432 | + $query_echappees = str_replace(array_keys($codeEchappements), array_values($codeEchappements), $query); |
|
| 433 | + if (preg_match_all("/('[^']*')|(\"[^\"]*\")/S", $query_echappees, $textes)) { |
|
| 434 | + $textes = reset($textes); |
|
| 435 | + |
|
| 436 | + $parts = []; |
|
| 437 | + $currentpos = 0; |
|
| 438 | + $k = 0; |
|
| 439 | + while (count($textes)) { |
|
| 440 | + $part = array_shift($textes); |
|
| 441 | + $nextpos = strpos($query_echappees, $part, $currentpos); |
|
| 442 | + // si besoin recoller ensemble les doubles '' de sqlite (echappement des ') |
|
| 443 | + while (count($textes) and substr($part, -1) === "'") { |
|
| 444 | + $next = reset($textes); |
|
| 445 | + if ( |
|
| 446 | + strpos($next, "'") === 0 |
|
| 447 | + and strpos($query_echappees, $part . $next, $currentpos) === $nextpos |
|
| 448 | + ) { |
|
| 449 | + $part .= array_shift($textes); |
|
| 450 | + } |
|
| 451 | + else { |
|
| 452 | + break; |
|
| 453 | + } |
|
| 454 | + } |
|
| 455 | + $k++; |
|
| 456 | + $parts[$k] = [ |
|
| 457 | + 'texte' => $part, |
|
| 458 | + 'position' => $nextpos, |
|
| 459 | + 'placeholder' => '%' . $k . '$s', |
|
| 460 | + ]; |
|
| 461 | + $currentpos = $nextpos + strlen($part); |
|
| 462 | + } |
|
| 463 | + |
|
| 464 | + // et on replace les parts une par une en commencant par la fin |
|
| 465 | + while ($k > 0) { |
|
| 466 | + $query_echappees = substr_replace($query_echappees, $parts[$k]['placeholder'], $parts[$k]['position'], strlen($parts[$k]['texte'])); |
|
| 467 | + $k--; |
|
| 468 | + } |
|
| 469 | + $textes = array_column($parts, 'texte'); |
|
| 470 | + } else { |
|
| 471 | + $textes = []; |
|
| 472 | + } |
|
| 473 | + |
|
| 474 | + // si il reste des quotes simples ou doubles, c'est qu'on s'est emmelle les pinceaux |
|
| 475 | + // dans le doute on ne touche a rien |
|
| 476 | + if (strpbrk($query_echappees, "'\"") !== false) { |
|
| 477 | + return [$query, []]; |
|
| 478 | + } |
|
| 479 | + |
|
| 480 | + return [$query_echappees, $textes]; |
|
| 481 | 481 | } |
| 482 | 482 | |
| 483 | 483 | /** |
@@ -491,16 +491,16 @@ discard block |
||
| 491 | 491 | * @return string |
| 492 | 492 | */ |
| 493 | 493 | function query_reinjecte_textes($query, $textes) { |
| 494 | - // recuperer les codes echappements |
|
| 495 | - $codeEchappements = query_echappe_textes(null); |
|
| 494 | + // recuperer les codes echappements |
|
| 495 | + $codeEchappements = query_echappe_textes(null); |
|
| 496 | 496 | |
| 497 | - if (!empty($textes)) { |
|
| 498 | - $query = sprintf($query, ...$textes); |
|
| 499 | - } |
|
| 497 | + if (!empty($textes)) { |
|
| 498 | + $query = sprintf($query, ...$textes); |
|
| 499 | + } |
|
| 500 | 500 | |
| 501 | - $query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query); |
|
| 501 | + $query = str_replace(array_values($codeEchappements), array_keys($codeEchappements), $query); |
|
| 502 | 502 | |
| 503 | - return $query; |
|
| 503 | + return $query; |
|
| 504 | 504 | } |
| 505 | 505 | |
| 506 | 506 | |
@@ -519,7 +519,7 @@ discard block |
||
| 519 | 519 | **/ |
| 520 | 520 | function spip_query($query, $serveur = '') { |
| 521 | 521 | |
| 522 | - $f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true); |
|
| 522 | + $f = spip_connect_sql($GLOBALS['spip_sql_version'], 'query', $serveur, true); |
|
| 523 | 523 | |
| 524 | - return function_exists($f) ? $f($query, $serveur) : false; |
|
| 524 | + return function_exists($f) ? $f($query, $serveur) : false; |
|
| 525 | 525 | } |
@@ -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 | /** |
@@ -35,18 +35,18 @@ discard block |
||
| 35 | 35 | */ |
| 36 | 36 | function genie_maintenance_dist($t) { |
| 37 | 37 | |
| 38 | - // (re)mettre .htaccess avec deny from all |
|
| 39 | - // dans les deux repertoires dits inaccessibles par http |
|
| 40 | - include_spip('inc/acces'); |
|
| 41 | - verifier_htaccess(_DIR_ETC); |
|
| 42 | - verifier_htaccess(_DIR_TMP); |
|
| 38 | + // (re)mettre .htaccess avec deny from all |
|
| 39 | + // dans les deux repertoires dits inaccessibles par http |
|
| 40 | + include_spip('inc/acces'); |
|
| 41 | + verifier_htaccess(_DIR_ETC); |
|
| 42 | + verifier_htaccess(_DIR_TMP); |
|
| 43 | 43 | |
| 44 | - // Verifier qu'aucune table n'est crashee |
|
| 45 | - if (!_request('reinstall')) { |
|
| 46 | - verifier_crash_tables(); |
|
| 47 | - } |
|
| 44 | + // Verifier qu'aucune table n'est crashee |
|
| 45 | + if (!_request('reinstall')) { |
|
| 46 | + verifier_crash_tables(); |
|
| 47 | + } |
|
| 48 | 48 | |
| 49 | - return 1; |
|
| 49 | + return 1; |
|
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | |
@@ -63,33 +63,33 @@ discard block |
||
| 63 | 63 | * des tables qui ont crashé. |
| 64 | 64 | */ |
| 65 | 65 | function verifier_crash_tables() { |
| 66 | - if (spip_connect()) { |
|
| 67 | - include_spip('base/serial'); |
|
| 68 | - include_spip('base/auxiliaires'); |
|
| 69 | - $crash = []; |
|
| 70 | - foreach (['tables_principales', 'tables_auxiliaires'] as $com) { |
|
| 71 | - foreach ($GLOBALS[$com] as $table => $desc) { |
|
| 72 | - if ( |
|
| 73 | - !sql_select('*', $table, '', '', '', 1) |
|
| 74 | - and !defined('spip_interdire_cache') |
|
| 75 | - ) { # cas "LOST CONNECTION" |
|
| 76 | - $crash[] = $table; |
|
| 77 | - } |
|
| 78 | - } |
|
| 79 | - } |
|
| 80 | - #$crash[] = 'test'; |
|
| 81 | - if ($crash) { |
|
| 82 | - ecrire_meta('message_crash_tables', serialize($crash)); |
|
| 83 | - spip_log('crash des tables', 'err'); |
|
| 84 | - spip_log($crash, 'err'); |
|
| 85 | - } else { |
|
| 86 | - effacer_meta('message_crash_tables'); |
|
| 87 | - } |
|
| 66 | + if (spip_connect()) { |
|
| 67 | + include_spip('base/serial'); |
|
| 68 | + include_spip('base/auxiliaires'); |
|
| 69 | + $crash = []; |
|
| 70 | + foreach (['tables_principales', 'tables_auxiliaires'] as $com) { |
|
| 71 | + foreach ($GLOBALS[$com] as $table => $desc) { |
|
| 72 | + if ( |
|
| 73 | + !sql_select('*', $table, '', '', '', 1) |
|
| 74 | + and !defined('spip_interdire_cache') |
|
| 75 | + ) { # cas "LOST CONNECTION" |
|
| 76 | + $crash[] = $table; |
|
| 77 | + } |
|
| 78 | + } |
|
| 79 | + } |
|
| 80 | + #$crash[] = 'test'; |
|
| 81 | + if ($crash) { |
|
| 82 | + ecrire_meta('message_crash_tables', serialize($crash)); |
|
| 83 | + spip_log('crash des tables', 'err'); |
|
| 84 | + spip_log($crash, 'err'); |
|
| 85 | + } else { |
|
| 86 | + effacer_meta('message_crash_tables'); |
|
| 87 | + } |
|
| 88 | 88 | |
| 89 | - return $crash; |
|
| 90 | - } |
|
| 89 | + return $crash; |
|
| 90 | + } |
|
| 91 | 91 | |
| 92 | - return false; |
|
| 92 | + return false; |
|
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | /** |
@@ -105,16 +105,16 @@ discard block |
||
| 105 | 105 | * @return string |
| 106 | 106 | */ |
| 107 | 107 | function message_crash_tables() { |
| 108 | - if ($crash = verifier_crash_tables()) { |
|
| 109 | - return |
|
| 110 | - '<strong>' . _T('texte_recuperer_base') . '</strong><br />' |
|
| 111 | - . ' <tt>' . join(', ', $crash) . '</tt><br />' |
|
| 112 | - . generer_form_ecrire( |
|
| 113 | - 'base_repair', |
|
| 114 | - _T('texte_crash_base'), |
|
| 115 | - '', |
|
| 116 | - _T('bouton_tenter_recuperation') |
|
| 117 | - ); |
|
| 118 | - } |
|
| 119 | - return ''; |
|
| 108 | + if ($crash = verifier_crash_tables()) { |
|
| 109 | + return |
|
| 110 | + '<strong>' . _T('texte_recuperer_base') . '</strong><br />' |
|
| 111 | + . ' <tt>' . join(', ', $crash) . '</tt><br />' |
|
| 112 | + . generer_form_ecrire( |
|
| 113 | + 'base_repair', |
|
| 114 | + _T('texte_crash_base'), |
|
| 115 | + '', |
|
| 116 | + _T('bouton_tenter_recuperation') |
|
| 117 | + ); |
|
| 118 | + } |
|
| 119 | + return ''; |
|
| 120 | 120 | } |
@@ -18,7 +18,7 @@ discard block |
||
| 18 | 18 | **/ |
| 19 | 19 | |
| 20 | 20 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 21 | - return; |
|
| 21 | + return; |
|
| 22 | 22 | } |
| 23 | 23 | |
| 24 | 24 | /** |
@@ -43,22 +43,22 @@ discard block |
||
| 43 | 43 | * Pile complétée par le code à générer |
| 44 | 44 | */ |
| 45 | 45 | function balise_ALERTE_MESSAGE_dist($p) { |
| 46 | - $_texte = interprete_argument_balise(1, $p); |
|
| 47 | - $_titre = interprete_argument_balise(2, $p); |
|
| 48 | - $_class = interprete_argument_balise(3, $p); |
|
| 49 | - $_role = interprete_argument_balise(4, $p); |
|
| 50 | - $_id = interprete_argument_balise(5, $p); |
|
| 51 | - $_texte = ($_texte ?: "''"); |
|
| 52 | - $_titre = ($_titre ? ", $_titre" : ', null'); |
|
| 53 | - $_class = ($_class ? ", $_class" : ', null'); |
|
| 54 | - $_role = ($_role ? ", $_role" : ', null'); |
|
| 55 | - $_id = ($_id ? ", $_id" : ', null'); |
|
| 46 | + $_texte = interprete_argument_balise(1, $p); |
|
| 47 | + $_titre = interprete_argument_balise(2, $p); |
|
| 48 | + $_class = interprete_argument_balise(3, $p); |
|
| 49 | + $_role = interprete_argument_balise(4, $p); |
|
| 50 | + $_id = interprete_argument_balise(5, $p); |
|
| 51 | + $_texte = ($_texte ?: "''"); |
|
| 52 | + $_titre = ($_titre ? ", $_titre" : ', null'); |
|
| 53 | + $_class = ($_class ? ", $_class" : ', null'); |
|
| 54 | + $_role = ($_role ? ", $_role" : ', null'); |
|
| 55 | + $_id = ($_id ? ", $_id" : ', null'); |
|
| 56 | 56 | |
| 57 | - $f = chercher_filtre('message_alerte'); |
|
| 58 | - $p->code = "$f($_texte$_titre$_class$_role$_id)"; |
|
| 59 | - $p->interdire_scripts = false; |
|
| 57 | + $f = chercher_filtre('message_alerte'); |
|
| 58 | + $p->code = "$f($_texte$_titre$_class$_role$_id)"; |
|
| 59 | + $p->interdire_scripts = false; |
|
| 60 | 60 | |
| 61 | - return $p; |
|
| 61 | + return $p; |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | /** |
@@ -86,20 +86,20 @@ discard block |
||
| 86 | 86 | * Pile complétée par le code à générer |
| 87 | 87 | */ |
| 88 | 88 | function balise_ALERTE_OUVRIR_dist($p) { |
| 89 | - $_titre = interprete_argument_balise(1, $p); |
|
| 90 | - $_class = interprete_argument_balise(2, $p); |
|
| 91 | - $_role = interprete_argument_balise(3, $p); |
|
| 92 | - $_id = interprete_argument_balise(4, $p); |
|
| 93 | - $_titre = ($_titre ? "$_titre" : 'null'); |
|
| 94 | - $_class = ($_class ? ", $_class" : ', null'); |
|
| 95 | - $_role = ($_role ? ", $_role" : ', null'); |
|
| 96 | - $_id = ($_id ? ", $_id" : ', null'); |
|
| 89 | + $_titre = interprete_argument_balise(1, $p); |
|
| 90 | + $_class = interprete_argument_balise(2, $p); |
|
| 91 | + $_role = interprete_argument_balise(3, $p); |
|
| 92 | + $_id = interprete_argument_balise(4, $p); |
|
| 93 | + $_titre = ($_titre ? "$_titre" : 'null'); |
|
| 94 | + $_class = ($_class ? ", $_class" : ', null'); |
|
| 95 | + $_role = ($_role ? ", $_role" : ', null'); |
|
| 96 | + $_id = ($_id ? ", $_id" : ', null'); |
|
| 97 | 97 | |
| 98 | - $f = chercher_filtre('message_alerte_ouvrir'); |
|
| 99 | - $p->code = "$f($_titre$_class$_role$_id)"; |
|
| 100 | - $p->interdire_scripts = false; |
|
| 98 | + $f = chercher_filtre('message_alerte_ouvrir'); |
|
| 99 | + $p->code = "$f($_titre$_class$_role$_id)"; |
|
| 100 | + $p->interdire_scripts = false; |
|
| 101 | 101 | |
| 102 | - return $p; |
|
| 102 | + return $p; |
|
| 103 | 103 | } |
| 104 | 104 | |
| 105 | 105 | /** |
@@ -121,11 +121,11 @@ discard block |
||
| 121 | 121 | * Pile complétée par le code à générer |
| 122 | 122 | */ |
| 123 | 123 | function balise_ALERTE_FERMER_dist($p) { |
| 124 | - $f = chercher_filtre('message_alerte_fermer'); |
|
| 125 | - $p->code = "$f()"; |
|
| 126 | - $p->interdire_scripts = false; |
|
| 124 | + $f = chercher_filtre('message_alerte_fermer'); |
|
| 125 | + $p->code = "$f()"; |
|
| 126 | + $p->interdire_scripts = false; |
|
| 127 | 127 | |
| 128 | - return $p; |
|
| 128 | + return $p; |
|
| 129 | 129 | } |
| 130 | 130 | |
| 131 | 131 | /** |
@@ -160,14 +160,14 @@ discard block |
||
| 160 | 160 | */ |
| 161 | 161 | function message_alerte(string $texte, ?string $titre = null, ?string $class = null, ?string $role = null, ?string $id = null): string { |
| 162 | 162 | |
| 163 | - $message_alerte_ouvrir = chercher_filtre('message_alerte_ouvrir'); |
|
| 164 | - $message_alerte_fermer = chercher_filtre('message_alerte_fermer'); |
|
| 165 | - $message = |
|
| 166 | - $message_alerte_ouvrir($titre, $class, $role, $id) . |
|
| 167 | - $texte . |
|
| 168 | - $message_alerte_fermer(); |
|
| 163 | + $message_alerte_ouvrir = chercher_filtre('message_alerte_ouvrir'); |
|
| 164 | + $message_alerte_fermer = chercher_filtre('message_alerte_fermer'); |
|
| 165 | + $message = |
|
| 166 | + $message_alerte_ouvrir($titre, $class, $role, $id) . |
|
| 167 | + $texte . |
|
| 168 | + $message_alerte_fermer(); |
|
| 169 | 169 | |
| 170 | - return $message; |
|
| 170 | + return $message; |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | 173 | /** |
@@ -198,56 +198,56 @@ discard block |
||
| 198 | 198 | */ |
| 199 | 199 | function message_alerte_ouvrir(?string $titre = null, ?string $class = null, ?string $role = null, ?string $id = null): string { |
| 200 | 200 | |
| 201 | - $prive = test_espace_prive(); |
|
| 201 | + $prive = test_espace_prive(); |
|
| 202 | 202 | |
| 203 | - // Valeurs par défaut |
|
| 204 | - $titre = trim($titre ?? ''); |
|
| 205 | - $role ??= 'alert'; // fallback uniquement si null |
|
| 206 | - $class ??= 'notice'; // fallback uniquement si null |
|
| 203 | + // Valeurs par défaut |
|
| 204 | + $titre = trim($titre ?? ''); |
|
| 205 | + $role ??= 'alert'; // fallback uniquement si null |
|
| 206 | + $class ??= 'notice'; // fallback uniquement si null |
|
| 207 | 207 | |
| 208 | - // Type d'alerte : le chercher dans les classes, nettoyer celles-ci, puis le réinjecter |
|
| 209 | - $types = [ |
|
| 210 | - 'notice', |
|
| 211 | - 'error', |
|
| 212 | - 'success', |
|
| 213 | - 'info', |
|
| 214 | - ]; |
|
| 215 | - $type = array_intersect(explode(' ', $class), $types); |
|
| 216 | - $type = reset($type); |
|
| 217 | - $class = trim(str_replace($types, '', $class) . " $type"); |
|
| 208 | + // Type d'alerte : le chercher dans les classes, nettoyer celles-ci, puis le réinjecter |
|
| 209 | + $types = [ |
|
| 210 | + 'notice', |
|
| 211 | + 'error', |
|
| 212 | + 'success', |
|
| 213 | + 'info', |
|
| 214 | + ]; |
|
| 215 | + $type = array_intersect(explode(' ', $class), $types); |
|
| 216 | + $type = reset($type); |
|
| 217 | + $class = trim(str_replace($types, '', $class) . " $type"); |
|
| 218 | 218 | |
| 219 | - // Classes |
|
| 220 | - $class_racine = 'msg-alert'; |
|
| 221 | - $clearfix = ($prive ? 'clearfix' : ''); |
|
| 222 | - $class_alerte = "$class_racine $class"; |
|
| 223 | - $class_texte = "${class_racine}__text $clearfix"; |
|
| 224 | - $class_titre = "${class_racine}__heading"; |
|
| 219 | + // Classes |
|
| 220 | + $class_racine = 'msg-alert'; |
|
| 221 | + $clearfix = ($prive ? 'clearfix' : ''); |
|
| 222 | + $class_alerte = "$class_racine $class"; |
|
| 223 | + $class_texte = "${class_racine}__text $clearfix"; |
|
| 224 | + $class_titre = "${class_racine}__heading"; |
|
| 225 | 225 | |
| 226 | - // Titre : markup |
|
| 227 | - $titre = trim($titre); |
|
| 228 | - if (strlen($titre)) { |
|
| 229 | - include_spip('inc/filtres'); |
|
| 230 | - // Si besoin on encapsule le titre : un h3 dans le privé, un simple div sinon. |
|
| 231 | - $cherche_tag = ($prive ? '<h' : '<'); |
|
| 232 | - $wrap_tag = ($prive ? '<h3>' : '<div>'); |
|
| 233 | - if (strpos($titre, $cherche_tag) !== 0) { |
|
| 234 | - $titre = wrap($titre, $wrap_tag); |
|
| 235 | - } |
|
| 236 | - // puis on ajoute la classe |
|
| 237 | - $titre = ajouter_class($titre, $class_titre); |
|
| 238 | - } |
|
| 226 | + // Titre : markup |
|
| 227 | + $titre = trim($titre); |
|
| 228 | + if (strlen($titre)) { |
|
| 229 | + include_spip('inc/filtres'); |
|
| 230 | + // Si besoin on encapsule le titre : un h3 dans le privé, un simple div sinon. |
|
| 231 | + $cherche_tag = ($prive ? '<h' : '<'); |
|
| 232 | + $wrap_tag = ($prive ? '<h3>' : '<div>'); |
|
| 233 | + if (strpos($titre, $cherche_tag) !== 0) { |
|
| 234 | + $titre = wrap($titre, $wrap_tag); |
|
| 235 | + } |
|
| 236 | + // puis on ajoute la classe |
|
| 237 | + $titre = ajouter_class($titre, $class_titre); |
|
| 238 | + } |
|
| 239 | 239 | |
| 240 | - // Attributs |
|
| 241 | - $attr_role = ($role ? "role=\"$role\"" : ''); |
|
| 242 | - $attr_id = ($id ? "id=\"$id\"" : ''); |
|
| 243 | - $attr_data = ($type ? "data-alert=\"$type\"" : ''); |
|
| 240 | + // Attributs |
|
| 241 | + $attr_role = ($role ? "role=\"$role\"" : ''); |
|
| 242 | + $attr_id = ($id ? "id=\"$id\"" : ''); |
|
| 243 | + $attr_data = ($type ? "data-alert=\"$type\"" : ''); |
|
| 244 | 244 | |
| 245 | - $message = |
|
| 246 | - "<div class=\"$class_alerte\" $attr_role $attr_id $attr_data>" |
|
| 247 | - . $titre |
|
| 248 | - . "<div class=\"$class_texte\">"; |
|
| 245 | + $message = |
|
| 246 | + "<div class=\"$class_alerte\" $attr_role $attr_id $attr_data>" |
|
| 247 | + . $titre |
|
| 248 | + . "<div class=\"$class_texte\">"; |
|
| 249 | 249 | |
| 250 | - return $message; |
|
| 250 | + return $message; |
|
| 251 | 251 | } |
| 252 | 252 | |
| 253 | 253 | /** |
@@ -261,5 +261,5 @@ discard block |
||
| 261 | 261 | * HTML de fin de l'alerte |
| 262 | 262 | */ |
| 263 | 263 | function message_alerte_fermer(): string { |
| 264 | - return '</div></div>'; |
|
| 264 | + return '</div></div>'; |
|
| 265 | 265 | } |
@@ -9,384 +9,384 @@ |
||
| 9 | 9 | |
| 10 | 10 | $GLOBALS['CHARSET']['translit'] = [ |
| 11 | 11 | // latin [fausse plage] |
| 12 | - 128 => 'EUR', |
|
| 13 | - 131 => 'f', |
|
| 14 | - 140 => 'OE', |
|
| 15 | - 147 => '\'\'', |
|
| 16 | - 148 => '\'\'', |
|
| 17 | - 153 => '(TM)', |
|
| 18 | - 156 => 'oe', |
|
| 19 | - 159 => 'Y', |
|
| 12 | + 128 => 'EUR', |
|
| 13 | + 131 => 'f', |
|
| 14 | + 140 => 'OE', |
|
| 15 | + 147 => '\'\'', |
|
| 16 | + 148 => '\'\'', |
|
| 17 | + 153 => '(TM)', |
|
| 18 | + 156 => 'oe', |
|
| 19 | + 159 => 'Y', |
|
| 20 | 20 | |
| 21 | 21 | // latin [legal] |
| 22 | - 160 => ' ', |
|
| 23 | - 161 => '!', |
|
| 24 | - 162 => 'c', |
|
| 25 | - 163 => 'L', |
|
| 26 | - 164 => 'O', |
|
| 27 | - 165 => 'yen', |
|
| 28 | - 166 => '|', |
|
| 29 | - 167 => 'p', |
|
| 30 | - 169 => '(c)', |
|
| 31 | - 171 => '<<', |
|
| 32 | - 172 => '-', |
|
| 33 | - 173 => '-', |
|
| 34 | - 174 => '(R)', |
|
| 35 | - 176 => 'o', |
|
| 36 | - 177 => '+-', |
|
| 37 | - 181 => 'mu', |
|
| 38 | - 182 => 'p', |
|
| 39 | - 183 => '.', |
|
| 40 | - 186 => 'o ', |
|
| 41 | - 187 => '>>', |
|
| 42 | - 191 => '?', |
|
| 43 | - 192 => 'A', |
|
| 44 | - 193 => 'A', |
|
| 45 | - 194 => 'A', |
|
| 46 | - 195 => 'A', |
|
| 47 | - 196 => 'A', |
|
| 48 | - 197 => 'A', |
|
| 49 | - 198 => 'AE', |
|
| 50 | - 199 => 'C', |
|
| 51 | - 200 => 'E', |
|
| 52 | - 201 => 'E', |
|
| 53 | - 202 => 'E', |
|
| 54 | - 203 => 'E', |
|
| 55 | - 204 => 'I', |
|
| 56 | - 205 => 'I', |
|
| 57 | - 206 => 'I', |
|
| 58 | - 207 => 'I', |
|
| 59 | - 209 => 'N', |
|
| 60 | - 210 => 'O', |
|
| 61 | - 211 => 'O', |
|
| 62 | - 212 => 'O', |
|
| 63 | - 213 => 'O', |
|
| 64 | - 214 => 'O', |
|
| 65 | - 216 => 'O', |
|
| 66 | - 217 => 'U', |
|
| 67 | - 218 => 'U', |
|
| 68 | - 219 => 'U', |
|
| 69 | - 220 => 'U', |
|
| 70 | - 223 => 'ss', |
|
| 71 | - 224 => 'a', |
|
| 72 | - 225 => 'a', |
|
| 73 | - 226 => 'a', |
|
| 74 | - 227 => 'a', |
|
| 75 | - 228 => 'a', |
|
| 76 | - 229 => 'a', |
|
| 77 | - 230 => 'ae', |
|
| 78 | - 231 => 'c', |
|
| 79 | - 232 => 'e', |
|
| 80 | - 233 => 'e', |
|
| 81 | - 234 => 'e', |
|
| 82 | - 235 => 'e', |
|
| 83 | - 236 => 'i', |
|
| 84 | - 237 => 'i', |
|
| 85 | - 238 => 'i', |
|
| 86 | - 239 => 'i', |
|
| 87 | - 241 => 'n', |
|
| 88 | - 242 => 'o', |
|
| 89 | - 243 => 'o', |
|
| 90 | - 244 => 'o', |
|
| 91 | - 245 => 'o', |
|
| 92 | - 246 => 'o', |
|
| 93 | - 248 => 'o', |
|
| 94 | - 249 => 'u', |
|
| 95 | - 250 => 'u', |
|
| 96 | - 251 => 'u', |
|
| 97 | - 252 => 'u', |
|
| 98 | - 255 => 'y', |
|
| 22 | + 160 => ' ', |
|
| 23 | + 161 => '!', |
|
| 24 | + 162 => 'c', |
|
| 25 | + 163 => 'L', |
|
| 26 | + 164 => 'O', |
|
| 27 | + 165 => 'yen', |
|
| 28 | + 166 => '|', |
|
| 29 | + 167 => 'p', |
|
| 30 | + 169 => '(c)', |
|
| 31 | + 171 => '<<', |
|
| 32 | + 172 => '-', |
|
| 33 | + 173 => '-', |
|
| 34 | + 174 => '(R)', |
|
| 35 | + 176 => 'o', |
|
| 36 | + 177 => '+-', |
|
| 37 | + 181 => 'mu', |
|
| 38 | + 182 => 'p', |
|
| 39 | + 183 => '.', |
|
| 40 | + 186 => 'o ', |
|
| 41 | + 187 => '>>', |
|
| 42 | + 191 => '?', |
|
| 43 | + 192 => 'A', |
|
| 44 | + 193 => 'A', |
|
| 45 | + 194 => 'A', |
|
| 46 | + 195 => 'A', |
|
| 47 | + 196 => 'A', |
|
| 48 | + 197 => 'A', |
|
| 49 | + 198 => 'AE', |
|
| 50 | + 199 => 'C', |
|
| 51 | + 200 => 'E', |
|
| 52 | + 201 => 'E', |
|
| 53 | + 202 => 'E', |
|
| 54 | + 203 => 'E', |
|
| 55 | + 204 => 'I', |
|
| 56 | + 205 => 'I', |
|
| 57 | + 206 => 'I', |
|
| 58 | + 207 => 'I', |
|
| 59 | + 209 => 'N', |
|
| 60 | + 210 => 'O', |
|
| 61 | + 211 => 'O', |
|
| 62 | + 212 => 'O', |
|
| 63 | + 213 => 'O', |
|
| 64 | + 214 => 'O', |
|
| 65 | + 216 => 'O', |
|
| 66 | + 217 => 'U', |
|
| 67 | + 218 => 'U', |
|
| 68 | + 219 => 'U', |
|
| 69 | + 220 => 'U', |
|
| 70 | + 223 => 'ss', |
|
| 71 | + 224 => 'a', |
|
| 72 | + 225 => 'a', |
|
| 73 | + 226 => 'a', |
|
| 74 | + 227 => 'a', |
|
| 75 | + 228 => 'a', |
|
| 76 | + 229 => 'a', |
|
| 77 | + 230 => 'ae', |
|
| 78 | + 231 => 'c', |
|
| 79 | + 232 => 'e', |
|
| 80 | + 233 => 'e', |
|
| 81 | + 234 => 'e', |
|
| 82 | + 235 => 'e', |
|
| 83 | + 236 => 'i', |
|
| 84 | + 237 => 'i', |
|
| 85 | + 238 => 'i', |
|
| 86 | + 239 => 'i', |
|
| 87 | + 241 => 'n', |
|
| 88 | + 242 => 'o', |
|
| 89 | + 243 => 'o', |
|
| 90 | + 244 => 'o', |
|
| 91 | + 245 => 'o', |
|
| 92 | + 246 => 'o', |
|
| 93 | + 248 => 'o', |
|
| 94 | + 249 => 'u', |
|
| 95 | + 250 => 'u', |
|
| 96 | + 251 => 'u', |
|
| 97 | + 252 => 'u', |
|
| 98 | + 255 => 'y', |
|
| 99 | 99 | |
| 100 | 100 | // turc |
| 101 | - 286 => 'G', |
|
| 102 | - 287 => 'g', |
|
| 103 | - 304 => 'I', |
|
| 104 | - 305 => 'i', |
|
| 101 | + 286 => 'G', |
|
| 102 | + 287 => 'g', |
|
| 103 | + 304 => 'I', |
|
| 104 | + 305 => 'i', |
|
| 105 | 105 | |
| 106 | 106 | // esperanto |
| 107 | - 264 => 'Cx', |
|
| 108 | - 265 => 'cx', |
|
| 109 | - 284 => 'Gx', |
|
| 110 | - 285 => 'gx', |
|
| 111 | - 292 => 'Hx', |
|
| 112 | - 293 => 'hx', |
|
| 113 | - 308 => 'Jx', |
|
| 114 | - 309 => 'jx', |
|
| 115 | - 348 => 'Sx', |
|
| 116 | - 349 => 'sx', |
|
| 117 | - 364 => 'Ux', |
|
| 118 | - 365 => 'ux', |
|
| 107 | + 264 => 'Cx', |
|
| 108 | + 265 => 'cx', |
|
| 109 | + 284 => 'Gx', |
|
| 110 | + 285 => 'gx', |
|
| 111 | + 292 => 'Hx', |
|
| 112 | + 293 => 'hx', |
|
| 113 | + 308 => 'Jx', |
|
| 114 | + 309 => 'jx', |
|
| 115 | + 348 => 'Sx', |
|
| 116 | + 349 => 'sx', |
|
| 117 | + 364 => 'Ux', |
|
| 118 | + 365 => 'ux', |
|
| 119 | 119 | |
| 120 | 120 | |
| 121 | 121 | // latin2 [Czech] |
| 122 | - 283 => 'e', |
|
| 123 | - 353 => 's', |
|
| 124 | - 269 => 'c', |
|
| 125 | - 345 => 'r', |
|
| 126 | - 382 => 'z', |
|
| 127 | - 367 => 'u', |
|
| 128 | - 328 => 'n', |
|
| 129 | - 357 => 't', |
|
| 130 | - 271 => 'd', |
|
| 131 | - 449 => 'o', |
|
| 132 | - 282 => 'E', |
|
| 133 | - 352 => 'S', |
|
| 134 | - 268 => 'C', |
|
| 135 | - 344 => 'R', |
|
| 136 | - 381 => 'Z', |
|
| 137 | - 366 => 'U', |
|
| 138 | - 327 => 'N', |
|
| 139 | - 356 => 'T', |
|
| 140 | - 270 => 'D', |
|
| 141 | - 467 => 'O', |
|
| 122 | + 283 => 'e', |
|
| 123 | + 353 => 's', |
|
| 124 | + 269 => 'c', |
|
| 125 | + 345 => 'r', |
|
| 126 | + 382 => 'z', |
|
| 127 | + 367 => 'u', |
|
| 128 | + 328 => 'n', |
|
| 129 | + 357 => 't', |
|
| 130 | + 271 => 'd', |
|
| 131 | + 449 => 'o', |
|
| 132 | + 282 => 'E', |
|
| 133 | + 352 => 'S', |
|
| 134 | + 268 => 'C', |
|
| 135 | + 344 => 'R', |
|
| 136 | + 381 => 'Z', |
|
| 137 | + 366 => 'U', |
|
| 138 | + 327 => 'N', |
|
| 139 | + 356 => 'T', |
|
| 140 | + 270 => 'D', |
|
| 141 | + 467 => 'O', |
|
| 142 | 142 | |
| 143 | 143 | // francais |
| 144 | - 338 => 'OE', |
|
| 145 | - 339 => 'oe', |
|
| 146 | - 376 => 'Y', |
|
| 147 | - 402 => 'f', |
|
| 144 | + 338 => 'OE', |
|
| 145 | + 339 => 'oe', |
|
| 146 | + 376 => 'Y', |
|
| 147 | + 402 => 'f', |
|
| 148 | 148 | |
| 149 | 149 | //polskie |
| 150 | - 260 => 'A', |
|
| 151 | - 261 => 'a', |
|
| 152 | - 262 => 'C', |
|
| 153 | - 263 => 'c', |
|
| 154 | - 280 => 'E', |
|
| 155 | - 281 => 'e', |
|
| 156 | - 321 => 'L', |
|
| 157 | - 322 => 'l', |
|
| 158 | - 323 => 'N', |
|
| 159 | - 324 => 'n', |
|
| 160 | - 346 => 'S', |
|
| 161 | - 347 => 's', |
|
| 162 | - 377 => 'Z', |
|
| 163 | - 378 => 'z', |
|
| 164 | - 379 => 'Z', |
|
| 165 | - 380 => 'z', |
|
| 150 | + 260 => 'A', |
|
| 151 | + 261 => 'a', |
|
| 152 | + 262 => 'C', |
|
| 153 | + 263 => 'c', |
|
| 154 | + 280 => 'E', |
|
| 155 | + 281 => 'e', |
|
| 156 | + 321 => 'L', |
|
| 157 | + 322 => 'l', |
|
| 158 | + 323 => 'N', |
|
| 159 | + 324 => 'n', |
|
| 160 | + 346 => 'S', |
|
| 161 | + 347 => 's', |
|
| 162 | + 377 => 'Z', |
|
| 163 | + 378 => 'z', |
|
| 164 | + 379 => 'Z', |
|
| 165 | + 380 => 'z', |
|
| 166 | 166 | |
| 167 | 167 | //roumain |
| 168 | - 258 => 'A', |
|
| 169 | - 259 => 'a', |
|
| 170 | - 354 => 'T', |
|
| 171 | - 355 => 't', |
|
| 168 | + 258 => 'A', |
|
| 169 | + 259 => 'a', |
|
| 170 | + 354 => 'T', |
|
| 171 | + 355 => 't', |
|
| 172 | 172 | |
| 173 | 173 | //turc & roumain |
| 174 | - 350 => 'S', |
|
| 175 | - 351 => 's', |
|
| 174 | + 350 => 'S', |
|
| 175 | + 351 => 's', |
|
| 176 | 176 | |
| 177 | 177 | // cyrillique |
| 178 | - 1026 => 'D%', |
|
| 179 | - 1027 => 'G%', |
|
| 180 | - 8218 => '\'', |
|
| 181 | - 1107 => 'g%', |
|
| 182 | - 8222 => '"', |
|
| 183 | - 8230 => '...', |
|
| 184 | - 8224 => '/-', |
|
| 185 | - 8225 => '/=', |
|
| 186 | - 8364 => 'EUR', |
|
| 187 | - 8240 => '0/00', |
|
| 188 | - 1033 => 'LJ', |
|
| 189 | - 8249 => '<', |
|
| 190 | - 1034 => 'NJ', |
|
| 191 | - 1036 => 'KJ', |
|
| 192 | - 1035 => 'Ts', |
|
| 193 | - 1039 => 'DZ', |
|
| 194 | - 1106 => 'd%', |
|
| 195 | - 8216 => '`', |
|
| 196 | - 8217 => '\'', |
|
| 197 | - 8220 => '"', |
|
| 198 | - 8221 => '"', |
|
| 199 | - 8226 => ' o ', |
|
| 200 | - 8211 => '-', |
|
| 201 | - 8212 => '~', |
|
| 202 | - 8482 => '(TM)', |
|
| 203 | - 1113 => 'lj', |
|
| 204 | - 8250 => '>', |
|
| 205 | - 1114 => 'nj', |
|
| 206 | - 1116 => 'kj', |
|
| 207 | - 1115 => 'ts', |
|
| 208 | - 1119 => 'dz', |
|
| 209 | - 1038 => 'V%', |
|
| 210 | - 1118 => 'v%', |
|
| 211 | - 1032 => 'J%', |
|
| 212 | - 1168 => 'G3', |
|
| 213 | - 1025 => 'IO', |
|
| 214 | - 1028 => 'IE', |
|
| 215 | - 1031 => 'YI', |
|
| 216 | - 1030 => 'II', |
|
| 217 | - 1110 => 'ii', |
|
| 218 | - 1169 => 'g3', |
|
| 219 | - 1105 => 'io', |
|
| 220 | - 8470 => 'No.', |
|
| 221 | - 1108 => 'ie', |
|
| 222 | - 1112 => 'j%', |
|
| 223 | - 1029 => 'DS', |
|
| 224 | - 1109 => 'ds', |
|
| 225 | - 1111 => 'yi', |
|
| 226 | - 1040 => 'A', |
|
| 227 | - 1041 => 'B', |
|
| 228 | - 1042 => 'V', |
|
| 229 | - 1043 => 'G', |
|
| 230 | - 1044 => 'D', |
|
| 231 | - 1045 => 'E', |
|
| 232 | - 1046 => 'ZH', |
|
| 233 | - 1047 => 'Z', |
|
| 234 | - 1048 => 'I', |
|
| 235 | - 1049 => 'J', |
|
| 236 | - 1050 => 'K', |
|
| 237 | - 1051 => 'L', |
|
| 238 | - 1052 => 'M', |
|
| 239 | - 1053 => 'N', |
|
| 240 | - 1054 => 'O', |
|
| 241 | - 1055 => 'P', |
|
| 242 | - 1056 => 'R', |
|
| 243 | - 1057 => 'S', |
|
| 244 | - 1058 => 'T', |
|
| 245 | - 1059 => 'U', |
|
| 246 | - 1060 => 'F', |
|
| 247 | - 1061 => 'H', |
|
| 248 | - 1062 => 'C', |
|
| 249 | - 1063 => 'CH', |
|
| 250 | - 1064 => 'SH', |
|
| 251 | - 1065 => 'SCH', |
|
| 252 | - 1066 => '"', |
|
| 253 | - 1067 => 'Y', |
|
| 254 | - 1068 => '\'', |
|
| 255 | - 1069 => '`E', |
|
| 256 | - 1070 => 'YU', |
|
| 257 | - 1071 => 'YA', |
|
| 258 | - 1072 => 'a', |
|
| 259 | - 1073 => 'b', |
|
| 260 | - 1074 => 'v', |
|
| 261 | - 1075 => 'g', |
|
| 262 | - 1076 => 'd', |
|
| 263 | - 1077 => 'e', |
|
| 264 | - 1078 => 'zh', |
|
| 265 | - 1079 => 'z', |
|
| 266 | - 1080 => 'i', |
|
| 267 | - 1081 => 'j', |
|
| 268 | - 1082 => 'k', |
|
| 269 | - 1083 => 'l', |
|
| 270 | - 1084 => 'm', |
|
| 271 | - 1085 => 'n', |
|
| 272 | - 1086 => 'o', |
|
| 273 | - 1087 => 'p', |
|
| 274 | - 1088 => 'r', |
|
| 275 | - 1089 => 's', |
|
| 276 | - 1090 => 't', |
|
| 277 | - 1091 => 'u', |
|
| 278 | - 1092 => 'f', |
|
| 279 | - 1093 => 'h', |
|
| 280 | - 1094 => 'c', |
|
| 281 | - 1095 => 'ch', |
|
| 282 | - 1096 => 'sh', |
|
| 283 | - 1097 => 'sch', |
|
| 284 | - 1098 => '"', |
|
| 285 | - 1099 => 'y', |
|
| 286 | - 1100 => '\'', |
|
| 287 | - 1101 => '`e', |
|
| 288 | - 1102 => 'yu', |
|
| 289 | - 1103 => 'ya', |
|
| 178 | + 1026 => 'D%', |
|
| 179 | + 1027 => 'G%', |
|
| 180 | + 8218 => '\'', |
|
| 181 | + 1107 => 'g%', |
|
| 182 | + 8222 => '"', |
|
| 183 | + 8230 => '...', |
|
| 184 | + 8224 => '/-', |
|
| 185 | + 8225 => '/=', |
|
| 186 | + 8364 => 'EUR', |
|
| 187 | + 8240 => '0/00', |
|
| 188 | + 1033 => 'LJ', |
|
| 189 | + 8249 => '<', |
|
| 190 | + 1034 => 'NJ', |
|
| 191 | + 1036 => 'KJ', |
|
| 192 | + 1035 => 'Ts', |
|
| 193 | + 1039 => 'DZ', |
|
| 194 | + 1106 => 'd%', |
|
| 195 | + 8216 => '`', |
|
| 196 | + 8217 => '\'', |
|
| 197 | + 8220 => '"', |
|
| 198 | + 8221 => '"', |
|
| 199 | + 8226 => ' o ', |
|
| 200 | + 8211 => '-', |
|
| 201 | + 8212 => '~', |
|
| 202 | + 8482 => '(TM)', |
|
| 203 | + 1113 => 'lj', |
|
| 204 | + 8250 => '>', |
|
| 205 | + 1114 => 'nj', |
|
| 206 | + 1116 => 'kj', |
|
| 207 | + 1115 => 'ts', |
|
| 208 | + 1119 => 'dz', |
|
| 209 | + 1038 => 'V%', |
|
| 210 | + 1118 => 'v%', |
|
| 211 | + 1032 => 'J%', |
|
| 212 | + 1168 => 'G3', |
|
| 213 | + 1025 => 'IO', |
|
| 214 | + 1028 => 'IE', |
|
| 215 | + 1031 => 'YI', |
|
| 216 | + 1030 => 'II', |
|
| 217 | + 1110 => 'ii', |
|
| 218 | + 1169 => 'g3', |
|
| 219 | + 1105 => 'io', |
|
| 220 | + 8470 => 'No.', |
|
| 221 | + 1108 => 'ie', |
|
| 222 | + 1112 => 'j%', |
|
| 223 | + 1029 => 'DS', |
|
| 224 | + 1109 => 'ds', |
|
| 225 | + 1111 => 'yi', |
|
| 226 | + 1040 => 'A', |
|
| 227 | + 1041 => 'B', |
|
| 228 | + 1042 => 'V', |
|
| 229 | + 1043 => 'G', |
|
| 230 | + 1044 => 'D', |
|
| 231 | + 1045 => 'E', |
|
| 232 | + 1046 => 'ZH', |
|
| 233 | + 1047 => 'Z', |
|
| 234 | + 1048 => 'I', |
|
| 235 | + 1049 => 'J', |
|
| 236 | + 1050 => 'K', |
|
| 237 | + 1051 => 'L', |
|
| 238 | + 1052 => 'M', |
|
| 239 | + 1053 => 'N', |
|
| 240 | + 1054 => 'O', |
|
| 241 | + 1055 => 'P', |
|
| 242 | + 1056 => 'R', |
|
| 243 | + 1057 => 'S', |
|
| 244 | + 1058 => 'T', |
|
| 245 | + 1059 => 'U', |
|
| 246 | + 1060 => 'F', |
|
| 247 | + 1061 => 'H', |
|
| 248 | + 1062 => 'C', |
|
| 249 | + 1063 => 'CH', |
|
| 250 | + 1064 => 'SH', |
|
| 251 | + 1065 => 'SCH', |
|
| 252 | + 1066 => '"', |
|
| 253 | + 1067 => 'Y', |
|
| 254 | + 1068 => '\'', |
|
| 255 | + 1069 => '`E', |
|
| 256 | + 1070 => 'YU', |
|
| 257 | + 1071 => 'YA', |
|
| 258 | + 1072 => 'a', |
|
| 259 | + 1073 => 'b', |
|
| 260 | + 1074 => 'v', |
|
| 261 | + 1075 => 'g', |
|
| 262 | + 1076 => 'd', |
|
| 263 | + 1077 => 'e', |
|
| 264 | + 1078 => 'zh', |
|
| 265 | + 1079 => 'z', |
|
| 266 | + 1080 => 'i', |
|
| 267 | + 1081 => 'j', |
|
| 268 | + 1082 => 'k', |
|
| 269 | + 1083 => 'l', |
|
| 270 | + 1084 => 'm', |
|
| 271 | + 1085 => 'n', |
|
| 272 | + 1086 => 'o', |
|
| 273 | + 1087 => 'p', |
|
| 274 | + 1088 => 'r', |
|
| 275 | + 1089 => 's', |
|
| 276 | + 1090 => 't', |
|
| 277 | + 1091 => 'u', |
|
| 278 | + 1092 => 'f', |
|
| 279 | + 1093 => 'h', |
|
| 280 | + 1094 => 'c', |
|
| 281 | + 1095 => 'ch', |
|
| 282 | + 1096 => 'sh', |
|
| 283 | + 1097 => 'sch', |
|
| 284 | + 1098 => '"', |
|
| 285 | + 1099 => 'y', |
|
| 286 | + 1100 => '\'', |
|
| 287 | + 1101 => '`e', |
|
| 288 | + 1102 => 'yu', |
|
| 289 | + 1103 => 'ya', |
|
| 290 | 290 | |
| 291 | 291 | // vietnamien en translitteration de base |
| 292 | - 7843 => 'a', |
|
| 293 | - 7841 => 'a', |
|
| 294 | - 7845 => 'a', |
|
| 295 | - 7847 => 'a', |
|
| 296 | - 7849 => 'a', |
|
| 297 | - 7851 => 'a', |
|
| 298 | - 7853 => 'a', |
|
| 299 | - 7855 => 'a', |
|
| 300 | - 7857 => 'a', |
|
| 301 | - 7859 => 'a', |
|
| 302 | - 7861 => 'a', |
|
| 303 | - 7863 => 'a', |
|
| 304 | - 7842 => 'A', |
|
| 305 | - 7840 => 'A', |
|
| 306 | - 7844 => 'A', |
|
| 307 | - 7846 => 'A', |
|
| 308 | - 7848 => 'A', |
|
| 309 | - 7850 => 'A', |
|
| 310 | - 7852 => 'A', |
|
| 311 | - 7854 => 'A', |
|
| 312 | - 7856 => 'A', |
|
| 313 | - 7858 => 'A', |
|
| 314 | - 7860 => 'A', |
|
| 315 | - 7862 => 'A', |
|
| 316 | - 7867 => 'e', |
|
| 317 | - 7869 => 'e', |
|
| 318 | - 7865 => 'e', |
|
| 319 | - 7871 => 'e', |
|
| 320 | - 7873 => 'e', |
|
| 321 | - 7875 => 'e', |
|
| 322 | - 7877 => 'e', |
|
| 323 | - 7879 => 'e', |
|
| 324 | - 7866 => 'E', |
|
| 325 | - 7868 => 'E', |
|
| 326 | - 7864 => 'E', |
|
| 327 | - 7870 => 'E', |
|
| 328 | - 7872 => 'E', |
|
| 329 | - 7874 => 'E', |
|
| 330 | - 7876 => 'E', |
|
| 331 | - 7878 => 'E', |
|
| 332 | - 7881 => 'i', |
|
| 333 | - 7883 => 'i', |
|
| 334 | - 7880 => 'I', |
|
| 335 | - 7882 => 'I', |
|
| 336 | - 7887 => 'o', |
|
| 337 | - 7885 => 'o', |
|
| 338 | - 7889 => 'o', |
|
| 339 | - 7891 => 'o', |
|
| 340 | - 7893 => 'o', |
|
| 341 | - 7895 => 'o', |
|
| 342 | - 7897 => 'o', |
|
| 343 | - 417 => 'o', |
|
| 344 | - 7899 => 'o', |
|
| 345 | - 7901 => 'o', |
|
| 346 | - 7903 => 'o', |
|
| 347 | - 7905 => 'o', |
|
| 348 | - 7907 => 'o', |
|
| 349 | - 7886 => 'O', |
|
| 350 | - 7884 => 'O', |
|
| 351 | - 7888 => 'O', |
|
| 352 | - 7890 => 'O', |
|
| 353 | - 7892 => 'O', |
|
| 354 | - 7894 => 'O', |
|
| 355 | - 7896 => 'O', |
|
| 356 | - 416 => 'O', |
|
| 357 | - 7898 => 'O', |
|
| 358 | - 7900 => 'O', |
|
| 359 | - 7902 => 'O', |
|
| 360 | - 7904 => 'O', |
|
| 361 | - 7906 => 'O', |
|
| 362 | - 7911 => 'u', |
|
| 363 | - 361 => 'u', |
|
| 364 | - 7909 => 'u', |
|
| 365 | - 432 => 'u', |
|
| 366 | - 7913 => 'u', |
|
| 367 | - 7915 => 'u', |
|
| 368 | - 7917 => 'u', |
|
| 369 | - 7919 => 'u', |
|
| 370 | - 7921 => 'u', |
|
| 371 | - 7910 => 'U', |
|
| 372 | - 360 => 'U', |
|
| 373 | - 7908 => 'U', |
|
| 374 | - 431 => 'U', |
|
| 375 | - 7912 => 'U', |
|
| 376 | - 7914 => 'U', |
|
| 377 | - 7916 => 'U', |
|
| 378 | - 7918 => 'U', |
|
| 379 | - 7920 => 'U', |
|
| 380 | - 253 => 'y', |
|
| 381 | - 7923 => 'y', |
|
| 382 | - 7927 => 'y', |
|
| 383 | - 7929 => 'y', |
|
| 384 | - 7925 => 'y', |
|
| 385 | - 221 => 'Y', |
|
| 386 | - 7922 => 'Y', |
|
| 387 | - 7926 => 'Y', |
|
| 388 | - 7928 => 'Y', |
|
| 389 | - 7924 => 'Y', |
|
| 390 | - 273 => 'd' |
|
| 292 | + 7843 => 'a', |
|
| 293 | + 7841 => 'a', |
|
| 294 | + 7845 => 'a', |
|
| 295 | + 7847 => 'a', |
|
| 296 | + 7849 => 'a', |
|
| 297 | + 7851 => 'a', |
|
| 298 | + 7853 => 'a', |
|
| 299 | + 7855 => 'a', |
|
| 300 | + 7857 => 'a', |
|
| 301 | + 7859 => 'a', |
|
| 302 | + 7861 => 'a', |
|
| 303 | + 7863 => 'a', |
|
| 304 | + 7842 => 'A', |
|
| 305 | + 7840 => 'A', |
|
| 306 | + 7844 => 'A', |
|
| 307 | + 7846 => 'A', |
|
| 308 | + 7848 => 'A', |
|
| 309 | + 7850 => 'A', |
|
| 310 | + 7852 => 'A', |
|
| 311 | + 7854 => 'A', |
|
| 312 | + 7856 => 'A', |
|
| 313 | + 7858 => 'A', |
|
| 314 | + 7860 => 'A', |
|
| 315 | + 7862 => 'A', |
|
| 316 | + 7867 => 'e', |
|
| 317 | + 7869 => 'e', |
|
| 318 | + 7865 => 'e', |
|
| 319 | + 7871 => 'e', |
|
| 320 | + 7873 => 'e', |
|
| 321 | + 7875 => 'e', |
|
| 322 | + 7877 => 'e', |
|
| 323 | + 7879 => 'e', |
|
| 324 | + 7866 => 'E', |
|
| 325 | + 7868 => 'E', |
|
| 326 | + 7864 => 'E', |
|
| 327 | + 7870 => 'E', |
|
| 328 | + 7872 => 'E', |
|
| 329 | + 7874 => 'E', |
|
| 330 | + 7876 => 'E', |
|
| 331 | + 7878 => 'E', |
|
| 332 | + 7881 => 'i', |
|
| 333 | + 7883 => 'i', |
|
| 334 | + 7880 => 'I', |
|
| 335 | + 7882 => 'I', |
|
| 336 | + 7887 => 'o', |
|
| 337 | + 7885 => 'o', |
|
| 338 | + 7889 => 'o', |
|
| 339 | + 7891 => 'o', |
|
| 340 | + 7893 => 'o', |
|
| 341 | + 7895 => 'o', |
|
| 342 | + 7897 => 'o', |
|
| 343 | + 417 => 'o', |
|
| 344 | + 7899 => 'o', |
|
| 345 | + 7901 => 'o', |
|
| 346 | + 7903 => 'o', |
|
| 347 | + 7905 => 'o', |
|
| 348 | + 7907 => 'o', |
|
| 349 | + 7886 => 'O', |
|
| 350 | + 7884 => 'O', |
|
| 351 | + 7888 => 'O', |
|
| 352 | + 7890 => 'O', |
|
| 353 | + 7892 => 'O', |
|
| 354 | + 7894 => 'O', |
|
| 355 | + 7896 => 'O', |
|
| 356 | + 416 => 'O', |
|
| 357 | + 7898 => 'O', |
|
| 358 | + 7900 => 'O', |
|
| 359 | + 7902 => 'O', |
|
| 360 | + 7904 => 'O', |
|
| 361 | + 7906 => 'O', |
|
| 362 | + 7911 => 'u', |
|
| 363 | + 361 => 'u', |
|
| 364 | + 7909 => 'u', |
|
| 365 | + 432 => 'u', |
|
| 366 | + 7913 => 'u', |
|
| 367 | + 7915 => 'u', |
|
| 368 | + 7917 => 'u', |
|
| 369 | + 7919 => 'u', |
|
| 370 | + 7921 => 'u', |
|
| 371 | + 7910 => 'U', |
|
| 372 | + 360 => 'U', |
|
| 373 | + 7908 => 'U', |
|
| 374 | + 431 => 'U', |
|
| 375 | + 7912 => 'U', |
|
| 376 | + 7914 => 'U', |
|
| 377 | + 7916 => 'U', |
|
| 378 | + 7918 => 'U', |
|
| 379 | + 7920 => 'U', |
|
| 380 | + 253 => 'y', |
|
| 381 | + 7923 => 'y', |
|
| 382 | + 7927 => 'y', |
|
| 383 | + 7929 => 'y', |
|
| 384 | + 7925 => 'y', |
|
| 385 | + 221 => 'Y', |
|
| 386 | + 7922 => 'Y', |
|
| 387 | + 7926 => 'Y', |
|
| 388 | + 7928 => 'Y', |
|
| 389 | + 7924 => 'Y', |
|
| 390 | + 273 => 'd' |
|
| 391 | 391 | |
| 392 | 392 | ]; |
@@ -19,7 +19,7 @@ discard block |
||
| 19 | 19 | /** Drapeau indiquant que l'on est dans l'espace privé */ |
| 20 | 20 | define('_ESPACE_PRIVE', true); |
| 21 | 21 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 22 | - include 'inc_version.php'; |
|
| 22 | + include 'inc_version.php'; |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | include_spip('inc/cookie'); |
@@ -35,18 +35,18 @@ discard block |
||
| 35 | 35 | // alors il faut blinder les variables d'URL |
| 36 | 36 | // |
| 37 | 37 | if (autoriser_sans_cookie($exec, false)) { |
| 38 | - if (!isset($reinstall)) { |
|
| 39 | - $reinstall = 'non'; |
|
| 40 | - } |
|
| 41 | - $var_auth = true; |
|
| 38 | + if (!isset($reinstall)) { |
|
| 39 | + $reinstall = 'non'; |
|
| 40 | + } |
|
| 41 | + $var_auth = true; |
|
| 42 | 42 | } else { |
| 43 | - // Authentification, redefinissable |
|
| 44 | - $auth = charger_fonction('auth', 'inc'); |
|
| 45 | - $var_auth = $auth(); |
|
| 46 | - if ($var_auth) { |
|
| 47 | - echo auth_echec($var_auth); |
|
| 48 | - exit; |
|
| 49 | - } |
|
| 43 | + // Authentification, redefinissable |
|
| 44 | + $auth = charger_fonction('auth', 'inc'); |
|
| 45 | + $var_auth = $auth(); |
|
| 46 | + if ($var_auth) { |
|
| 47 | + echo auth_echec($var_auth); |
|
| 48 | + exit; |
|
| 49 | + } |
|
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | // initialiser a la langue par defaut |
@@ -57,29 +57,29 @@ discard block |
||
| 57 | 57 | |
| 58 | 58 | |
| 59 | 59 | if (_request('action') or _request('var_ajax') or _request('formulaire_action')) { |
| 60 | - if (!autoriser_sans_cookie($exec)) { |
|
| 61 | - // Charger l'aiguilleur qui va mettre sur la bonne voie les traitements derogatoires |
|
| 62 | - include_spip('public/aiguiller'); |
|
| 63 | - if ( |
|
| 64 | - // cas des appels actions ?action=xxx |
|
| 65 | - traiter_appels_actions() |
|
| 66 | - or |
|
| 67 | - // cas des hits ajax sur les inclusions ajax |
|
| 68 | - traiter_appels_inclusions_ajax() |
|
| 69 | - or |
|
| 70 | - // cas des formulaires charger/verifier/traiter |
|
| 71 | - traiter_formulaires_dynamiques() |
|
| 72 | - ) { |
|
| 73 | - exit; |
|
| 74 | - } // le hit est fini ! |
|
| 75 | - } |
|
| 60 | + if (!autoriser_sans_cookie($exec)) { |
|
| 61 | + // Charger l'aiguilleur qui va mettre sur la bonne voie les traitements derogatoires |
|
| 62 | + include_spip('public/aiguiller'); |
|
| 63 | + if ( |
|
| 64 | + // cas des appels actions ?action=xxx |
|
| 65 | + traiter_appels_actions() |
|
| 66 | + or |
|
| 67 | + // cas des hits ajax sur les inclusions ajax |
|
| 68 | + traiter_appels_inclusions_ajax() |
|
| 69 | + or |
|
| 70 | + // cas des formulaires charger/verifier/traiter |
|
| 71 | + traiter_formulaires_dynamiques() |
|
| 72 | + ) { |
|
| 73 | + exit; |
|
| 74 | + } // le hit est fini ! |
|
| 75 | + } |
|
| 76 | 76 | } |
| 77 | 77 | // securiser les redirect du back-office |
| 78 | 78 | if (_request('redirect')) { |
| 79 | - if (!function_exists('securiser_redirect_action')) { |
|
| 80 | - include_spip('public/aiguiller'); |
|
| 81 | - } |
|
| 82 | - set_request('redirect', securiser_redirect_action(_request('redirect'))); |
|
| 79 | + if (!function_exists('securiser_redirect_action')) { |
|
| 80 | + include_spip('public/aiguiller'); |
|
| 81 | + } |
|
| 82 | + set_request('redirect', securiser_redirect_action(_request('redirect'))); |
|
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | |
@@ -89,12 +89,12 @@ discard block |
||
| 89 | 89 | |
| 90 | 90 | // Controle de la version, sauf si on est deja en train de s'en occuper |
| 91 | 91 | if ( |
| 92 | - !$reinstall == 'oui' |
|
| 93 | - and !_AJAX |
|
| 94 | - and isset($GLOBALS['meta']['version_installee']) |
|
| 95 | - and ($GLOBALS['spip_version_base'] != (str_replace(',', '.', $GLOBALS['meta']['version_installee']))) |
|
| 92 | + !$reinstall == 'oui' |
|
| 93 | + and !_AJAX |
|
| 94 | + and isset($GLOBALS['meta']['version_installee']) |
|
| 95 | + and ($GLOBALS['spip_version_base'] != (str_replace(',', '.', $GLOBALS['meta']['version_installee']))) |
|
| 96 | 96 | ) { |
| 97 | - $exec = 'demande_mise_a_jour'; |
|
| 97 | + $exec = 'demande_mise_a_jour'; |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | // Quand une action d'administration est en cours (meta "admin"), |
@@ -104,39 +104,39 @@ discard block |
||
| 104 | 104 | // sinon c'est qu'elle a ete interrompue et il faut la reprendre |
| 105 | 105 | |
| 106 | 106 | elseif (isset($GLOBALS['meta']['admin'])) { |
| 107 | - if (preg_match('/^(.*)_(\d+)_/', $GLOBALS['meta']['admin'], $l)) { |
|
| 108 | - [, $var_f, $n] = $l; |
|
| 109 | - } |
|
| 110 | - if ( |
|
| 111 | - _AJAX |
|
| 112 | - or !( |
|
| 113 | - isset($_COOKIE['spip_admin']) |
|
| 114 | - or (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']['statut'] == '0minirezo') |
|
| 115 | - ) |
|
| 116 | - ) { |
|
| 117 | - spip_log('Quand la meta admin vaut ' . |
|
| 118 | - $GLOBALS['meta']['admin'] . |
|
| 119 | - ' seul un admin peut se connecter et sans AJAX.' . |
|
| 120 | - ' En cas de probleme, detruire cette meta.'); |
|
| 121 | - die(_T('info_travaux_texte')); |
|
| 122 | - } |
|
| 123 | - if ($n) { |
|
| 124 | - [, $var_f, $n] = $l; |
|
| 125 | - if (tester_url_ecrire("base_$var_f")) { |
|
| 126 | - $var_f = "base_$var_f"; |
|
| 127 | - } |
|
| 128 | - if ($var_f != $exec) { |
|
| 129 | - spip_log("Le script $var_f lance par auteur$n se substitue a l'exec $exec"); |
|
| 130 | - $exec = $var_f; |
|
| 131 | - set_request('exec', $exec); |
|
| 132 | - } |
|
| 133 | - } |
|
| 107 | + if (preg_match('/^(.*)_(\d+)_/', $GLOBALS['meta']['admin'], $l)) { |
|
| 108 | + [, $var_f, $n] = $l; |
|
| 109 | + } |
|
| 110 | + if ( |
|
| 111 | + _AJAX |
|
| 112 | + or !( |
|
| 113 | + isset($_COOKIE['spip_admin']) |
|
| 114 | + or (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']['statut'] == '0minirezo') |
|
| 115 | + ) |
|
| 116 | + ) { |
|
| 117 | + spip_log('Quand la meta admin vaut ' . |
|
| 118 | + $GLOBALS['meta']['admin'] . |
|
| 119 | + ' seul un admin peut se connecter et sans AJAX.' . |
|
| 120 | + ' En cas de probleme, detruire cette meta.'); |
|
| 121 | + die(_T('info_travaux_texte')); |
|
| 122 | + } |
|
| 123 | + if ($n) { |
|
| 124 | + [, $var_f, $n] = $l; |
|
| 125 | + if (tester_url_ecrire("base_$var_f")) { |
|
| 126 | + $var_f = "base_$var_f"; |
|
| 127 | + } |
|
| 128 | + if ($var_f != $exec) { |
|
| 129 | + spip_log("Le script $var_f lance par auteur$n se substitue a l'exec $exec"); |
|
| 130 | + $exec = $var_f; |
|
| 131 | + set_request('exec', $exec); |
|
| 132 | + } |
|
| 133 | + } |
|
| 134 | 134 | } |
| 135 | 135 | // si nom pas plausible, prendre le script par defaut |
| 136 | 136 | // attention aux deux cas 404/403 qui commencent par un 4 ! |
| 137 | 137 | elseif (!preg_match(',^[a-z4_][0-9a-z_-]*$,i', $exec)) { |
| 138 | - $exec = 'accueil'; |
|
| 139 | - set_request('exec', $exec); |
|
| 138 | + $exec = 'accueil'; |
|
| 139 | + set_request('exec', $exec); |
|
| 140 | 140 | } |
| 141 | 141 | |
| 142 | 142 | // compatibilite ascendante : obsolete, ne plus utiliser |
@@ -148,19 +148,19 @@ discard block |
||
| 148 | 148 | // on appelle directement la fonction, car un appel d'action peut conduire a une boucle infinie |
| 149 | 149 | // si le cookie n'est pas pose correctement dans l'action |
| 150 | 150 | if ( |
| 151 | - !$var_auth and isset($_COOKIE['spip_lang_ecrire']) |
|
| 152 | - and $_COOKIE['spip_lang_ecrire'] <> $GLOBALS['visiteur_session']['lang'] |
|
| 151 | + !$var_auth and isset($_COOKIE['spip_lang_ecrire']) |
|
| 152 | + and $_COOKIE['spip_lang_ecrire'] <> $GLOBALS['visiteur_session']['lang'] |
|
| 153 | 153 | ) { |
| 154 | - include_spip('action/converser'); |
|
| 155 | - action_converser_post($GLOBALS['visiteur_session']['lang'], true); |
|
| 154 | + include_spip('action/converser'); |
|
| 155 | + action_converser_post($GLOBALS['visiteur_session']['lang'], true); |
|
| 156 | 156 | } |
| 157 | 157 | |
| 158 | 158 | if ($var_f = tester_url_ecrire($exec)) { |
| 159 | - $var_f = charger_fonction($var_f); |
|
| 160 | - $var_f(); // at last |
|
| 159 | + $var_f = charger_fonction($var_f); |
|
| 160 | + $var_f(); // at last |
|
| 161 | 161 | } else { |
| 162 | - // Rien de connu: rerouter vers exec=404 au lieu d'echouer |
|
| 163 | - // ce qui permet de laisser la main a un plugin |
|
| 164 | - $var_f = charger_fonction('404'); |
|
| 165 | - $var_f($exec); |
|
| 162 | + // Rien de connu: rerouter vers exec=404 au lieu d'echouer |
|
| 163 | + // ce qui permet de laisser la main a un plugin |
|
| 164 | + $var_f = charger_fonction('404'); |
|
| 165 | + $var_f($exec); |
|
| 166 | 166 | } |
@@ -4,582 +4,582 @@ discard block |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'access_interface_graphique' => 'Voltar para a interface gráfica completa', |
|
| 14 | - 'access_mode_texte' => 'Exibir a interface textual simplificada', |
|
| 15 | - 'admin_debug' => 'depurar', |
|
| 16 | - 'admin_modifier_article' => 'Editar esta matéria', |
|
| 17 | - 'admin_modifier_auteur' => 'Editar este autor', |
|
| 18 | - 'admin_modifier_breve' => 'Editar esta nota', |
|
| 19 | - 'admin_modifier_mot' => 'Editar esta palavra-chave', |
|
| 20 | - 'admin_modifier_rubrique' => 'Editar esta seção', |
|
| 21 | - 'admin_recalculer' => 'Atualizar esta página', |
|
| 22 | - 'afficher_calendrier' => 'Exibir o calendário', |
|
| 23 | - 'afficher_trad' => 'exibir as traduções', |
|
| 24 | - 'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.', |
|
| 25 | - 'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:', |
|
| 26 | - 'analyse_xml' => 'Analisar XML', |
|
| 27 | - 'annuler' => 'Cancelar', |
|
| 28 | - 'antispam_champ_vide' => 'Por favor, deixe este campo vazio:', |
|
| 29 | - 'articles_recents' => 'Matérias mais recentes', |
|
| 30 | - 'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres', |
|
| 31 | - 'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.', |
|
| 32 | - 'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP', |
|
| 33 | - 'avis_archive_invalide' => 'a cópia de segurança não é válida', |
|
| 34 | - 'avis_attention' => 'ATENÇÃO!', |
|
| 35 | - 'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@', |
|
| 36 | - 'avis_colonne_inexistante' => 'A coluna @col@ não existe', |
|
| 37 | - 'avis_erreur' => 'Erro: ver abaixo', |
|
| 38 | - 'avis_erreur_connexion' => 'Erro de conexão', |
|
| 39 | - 'avis_erreur_cookie' => 'problema de cookie', |
|
| 40 | - 'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.', |
|
| 41 | - 'avis_erreur_mysql' => 'Erro SQL', |
|
| 42 | - 'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !', |
|
| 43 | - 'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado', |
|
| 44 | - 'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.', |
|
| 12 | + // A |
|
| 13 | + 'access_interface_graphique' => 'Voltar para a interface gráfica completa', |
|
| 14 | + 'access_mode_texte' => 'Exibir a interface textual simplificada', |
|
| 15 | + 'admin_debug' => 'depurar', |
|
| 16 | + 'admin_modifier_article' => 'Editar esta matéria', |
|
| 17 | + 'admin_modifier_auteur' => 'Editar este autor', |
|
| 18 | + 'admin_modifier_breve' => 'Editar esta nota', |
|
| 19 | + 'admin_modifier_mot' => 'Editar esta palavra-chave', |
|
| 20 | + 'admin_modifier_rubrique' => 'Editar esta seção', |
|
| 21 | + 'admin_recalculer' => 'Atualizar esta página', |
|
| 22 | + 'afficher_calendrier' => 'Exibir o calendário', |
|
| 23 | + 'afficher_trad' => 'exibir as traduções', |
|
| 24 | + 'alerte_maj_impossible' => '<b>Atenção!</b> A atualização da base de dados SQL para a versão @version@ não é possível, provavelmente por problema de direitos de edição na base de dados. Por favor, contate o seu provedor de hospedagem.', |
|
| 25 | + 'alerte_modif_info_concourante' => 'ATENÇÃO: Esta informação foi alterada por outra pessoa. O valor atual é:', |
|
| 26 | + 'analyse_xml' => 'Analisar XML', |
|
| 27 | + 'annuler' => 'Cancelar', |
|
| 28 | + 'antispam_champ_vide' => 'Por favor, deixe este campo vazio:', |
|
| 29 | + 'articles_recents' => 'Matérias mais recentes', |
|
| 30 | + 'attention_champ_mini_nb_caractères' => 'Atenção! Mínimo de @nb@ caracteres', |
|
| 31 | + 'avis_1_erreur_saisie' => 'Há um erro nos dados informados. Por favor, verifique.', |
|
| 32 | + 'avis_archive_incorrect' => 'a cópia de segurança não é um arquivo do SPIP', |
|
| 33 | + 'avis_archive_invalide' => 'a cópia de segurança não é válida', |
|
| 34 | + 'avis_attention' => 'ATENÇÃO!', |
|
| 35 | + 'avis_champ_incorrect_type_objet' => 'Nome de campo @name@ incorreto para objeto do tipo @type@', |
|
| 36 | + 'avis_colonne_inexistante' => 'A coluna @col@ não existe', |
|
| 37 | + 'avis_erreur' => 'Erro: ver abaixo', |
|
| 38 | + 'avis_erreur_connexion' => 'Erro de conexão', |
|
| 39 | + 'avis_erreur_cookie' => 'problema de cookie', |
|
| 40 | + 'avis_erreur_fonction_contexte' => 'Erro de programação. Esta função não deve ser chamada neste contexto.', |
|
| 41 | + 'avis_erreur_mysql' => 'Erro SQL', |
|
| 42 | + 'avis_erreur_sauvegarde' => 'Erro na cópia de segurança (@type@ @id_objet@) !', |
|
| 43 | + 'avis_erreur_visiteur' => 'Problema de acesso ao espaço privado', |
|
| 44 | + 'avis_nb_erreurs_saisie' => 'Há @nb@ erros nos dados informados. Por favor, verifique.', |
|
| 45 | 45 | |
| 46 | - // B |
|
| 47 | - 'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave', |
|
| 48 | - 'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout', |
|
| 49 | - 'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo', |
|
| 50 | - 'barre_eo' => 'Inserir um OE contraído', |
|
| 51 | - 'barre_eo_maj' => 'Inserir um OE contraído maiúsculo', |
|
| 52 | - 'barre_euro' => 'Inserir o símbolo € (euro)', |
|
| 53 | - 'barre_gras' => 'Escrever em {{negrito}}', |
|
| 54 | - 'barre_guillemets' => 'envolver em "aspas"', |
|
| 55 | - 'barre_guillemets_simples' => 'Envolver em ’plicas’', |
|
| 56 | - 'barre_intertitre' => 'Transformar em {{{entretítulo}}}', |
|
| 57 | - 'barre_italic' => 'Escrever em {itálico}', |
|
| 58 | - 'barre_lien' => 'Transformar em [link hipertexto->http://...]', |
|
| 59 | - 'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.', |
|
| 60 | - 'barre_note' => 'Transformar em [[Nota de pé de página]]', |
|
| 61 | - 'barre_paragraphe' => 'Criar um parágrafo', |
|
| 62 | - 'barre_quote' => '<quote>Citar uma mensagem</quote>', |
|
| 63 | - 'bouton_changer' => 'Alterar', |
|
| 64 | - 'bouton_chercher' => 'Procurar', |
|
| 65 | - 'bouton_choisir' => 'Escolher', |
|
| 66 | - 'bouton_deplacer' => 'Deslocar', |
|
| 67 | - 'bouton_download' => 'Baixar', |
|
| 68 | - 'bouton_enregistrer' => 'Gravar', |
|
| 69 | - 'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens', |
|
| 70 | - 'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais', |
|
| 71 | - 'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos', |
|
| 72 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades', |
|
| 73 | - 'bouton_recharger_page' => 'atualizar esta página', |
|
| 74 | - 'bouton_telecharger' => 'Transferir', |
|
| 75 | - 'bouton_upload' => 'Upload', |
|
| 76 | - 'bouton_valider' => 'Validar', |
|
| 46 | + // B |
|
| 47 | + 'barre_a_accent_grave' => 'Inserir um A maiúsculo com acento grave', |
|
| 48 | + 'barre_aide' => 'utilize os atalhos tipográficos para enriquecer o seu layout', |
|
| 49 | + 'barre_e_accent_aigu' => 'Inserir um E maiúsculo com acento agudo', |
|
| 50 | + 'barre_eo' => 'Inserir um OE contraído', |
|
| 51 | + 'barre_eo_maj' => 'Inserir um OE contraído maiúsculo', |
|
| 52 | + 'barre_euro' => 'Inserir o símbolo € (euro)', |
|
| 53 | + 'barre_gras' => 'Escrever em {{negrito}}', |
|
| 54 | + 'barre_guillemets' => 'envolver em "aspas"', |
|
| 55 | + 'barre_guillemets_simples' => 'Envolver em ’plicas’', |
|
| 56 | + 'barre_intertitre' => 'Transformar em {{{entretítulo}}}', |
|
| 57 | + 'barre_italic' => 'Escrever em {itálico}', |
|
| 58 | + 'barre_lien' => 'Transformar em [link hipertexto->http://...]', |
|
| 59 | + 'barre_lien_input' => 'Informe o endereço do seu link (você pode informar um endereço web do tipo http://www.monsite/com ou simplesmente informar o número de uma matéria deste site.', |
|
| 60 | + 'barre_note' => 'Transformar em [[Nota de pé de página]]', |
|
| 61 | + 'barre_paragraphe' => 'Criar um parágrafo', |
|
| 62 | + 'barre_quote' => '<quote>Citar uma mensagem</quote>', |
|
| 63 | + 'bouton_changer' => 'Alterar', |
|
| 64 | + 'bouton_chercher' => 'Procurar', |
|
| 65 | + 'bouton_choisir' => 'Escolher', |
|
| 66 | + 'bouton_deplacer' => 'Deslocar', |
|
| 67 | + 'bouton_download' => 'Baixar', |
|
| 68 | + 'bouton_enregistrer' => 'Gravar', |
|
| 69 | + 'bouton_radio_desactiver_messagerie_interne' => 'Desativar o sistema interno de mensagens', |
|
| 70 | + 'bouton_radio_envoi_annonces' => 'Enviar os avisos editoriais', |
|
| 71 | + 'bouton_radio_non_envoi_annonces' => 'Não enviar os avisos', |
|
| 72 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'Não enviar a lista de novidades', |
|
| 73 | + 'bouton_recharger_page' => 'atualizar esta página', |
|
| 74 | + 'bouton_telecharger' => 'Transferir', |
|
| 75 | + 'bouton_upload' => 'Upload', |
|
| 76 | + 'bouton_valider' => 'Validar', |
|
| 77 | 77 | |
| 78 | - // C |
|
| 79 | - 'cal_apresmidi' => 'tarde', |
|
| 80 | - 'cal_jour_entier' => 'dia todo', |
|
| 81 | - 'cal_matin' => 'manhã', |
|
| 82 | - 'cal_par_jour' => 'calendário por dia', |
|
| 83 | - 'cal_par_mois' => 'calendário por mês', |
|
| 84 | - 'cal_par_semaine' => 'calendário por semana', |
|
| 85 | - 'choix_couleur_interface' => 'côr', |
|
| 86 | - 'choix_interface' => 'escolha da interface', |
|
| 87 | - 'colonne' => 'Coluna', |
|
| 88 | - 'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?', |
|
| 89 | - 'correcte' => 'correta', |
|
| 78 | + // C |
|
| 79 | + 'cal_apresmidi' => 'tarde', |
|
| 80 | + 'cal_jour_entier' => 'dia todo', |
|
| 81 | + 'cal_matin' => 'manhã', |
|
| 82 | + 'cal_par_jour' => 'calendário por dia', |
|
| 83 | + 'cal_par_mois' => 'calendário por mês', |
|
| 84 | + 'cal_par_semaine' => 'calendário por semana', |
|
| 85 | + 'choix_couleur_interface' => 'côr', |
|
| 86 | + 'choix_interface' => 'escolha da interface', |
|
| 87 | + 'colonne' => 'Coluna', |
|
| 88 | + 'confirm_changer_statut' => 'Atenção, você solicitou a alteração de status deste elemento. Deseja continuar?', |
|
| 89 | + 'correcte' => 'correta', |
|
| 90 | 90 | |
| 91 | - // D |
|
| 92 | - 'date_aujourdhui' => 'hoje', |
|
| 93 | - 'date_avant_jc' => 'a.C.', |
|
| 94 | - 'date_dans' => 'entre @delai@', |
|
| 95 | - 'date_de_mois_1' => '@j@ de @nommois@', |
|
| 96 | - 'date_de_mois_10' => '@j@ de @nommois@', |
|
| 97 | - 'date_de_mois_11' => '@j@ de @nommois@', |
|
| 98 | - 'date_de_mois_12' => '@j@ de @nommois@', |
|
| 99 | - 'date_de_mois_2' => '@j@ de @nommois@', |
|
| 100 | - 'date_de_mois_3' => '@j@ de @nommois@', |
|
| 101 | - 'date_de_mois_4' => '@j@ de @nommois@', |
|
| 102 | - 'date_de_mois_5' => '@j@ de @nommois@', |
|
| 103 | - 'date_de_mois_6' => '@j@ de @nommois@', |
|
| 104 | - 'date_de_mois_7' => '@j@ de @nommois@', |
|
| 105 | - 'date_de_mois_8' => '@j@ de @nommois@', |
|
| 106 | - 'date_de_mois_9' => '@j@ de @nommois@', |
|
| 107 | - 'date_demain' => 'amanhã', |
|
| 108 | - 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 109 | - 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 110 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | - 'date_fmt_jour_heure' => '@jour@ - @heure@', |
|
| 112 | - 'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@', |
|
| 113 | - 'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@', |
|
| 114 | - 'date_fmt_jour_mois' => '@jour@ de @nommois@', |
|
| 115 | - 'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@', |
|
| 116 | - 'date_fmt_mois_annee' => '@nommois@ de @annee@', |
|
| 117 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 118 | - 'date_fmt_nomjour_date' => '@nomjour@ de @date@', |
|
| 119 | - 'date_fmt_periode' => 'De @date_debut@ a @date_fin@', |
|
| 120 | - 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@', |
|
| 121 | - 'date_fmt_periode_from' => 'De', |
|
| 122 | - 'date_fmt_periode_to' => 'para', |
|
| 123 | - 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | - 'date_heures' => 'horas', |
|
| 125 | - 'date_hier' => 'ontem', |
|
| 126 | - 'date_il_y_a' => 'há @delai@', |
|
| 127 | - 'date_jnum1' => '1º', |
|
| 128 | - 'date_jnum10' => '10', |
|
| 129 | - 'date_jnum11' => '11', |
|
| 130 | - 'date_jnum12' => '12', |
|
| 131 | - 'date_jnum13' => '13', |
|
| 132 | - 'date_jnum14' => '14', |
|
| 133 | - 'date_jnum15' => '15', |
|
| 134 | - 'date_jnum16' => '16', |
|
| 135 | - 'date_jnum17' => '17', |
|
| 136 | - 'date_jnum18' => '18', |
|
| 137 | - 'date_jnum19' => '19', |
|
| 138 | - 'date_jnum2' => '2', |
|
| 139 | - 'date_jnum20' => '20', |
|
| 140 | - 'date_jnum21' => '21', |
|
| 141 | - 'date_jnum22' => '22', |
|
| 142 | - 'date_jnum23' => '23', |
|
| 143 | - 'date_jnum24' => '24', |
|
| 144 | - 'date_jnum25' => '25', |
|
| 145 | - 'date_jnum26' => '26', |
|
| 146 | - 'date_jnum27' => '27', |
|
| 147 | - 'date_jnum28' => '28', |
|
| 148 | - 'date_jnum29' => '29', |
|
| 149 | - 'date_jnum3' => '3', |
|
| 150 | - 'date_jnum30' => '30', |
|
| 151 | - 'date_jnum31' => '31', |
|
| 152 | - 'date_jnum4' => '4', |
|
| 153 | - 'date_jnum5' => '5', |
|
| 154 | - 'date_jnum6' => '6', |
|
| 155 | - 'date_jnum7' => '7', |
|
| 156 | - 'date_jnum8' => '8', |
|
| 157 | - 'date_jnum9' => '9', |
|
| 158 | - 'date_jour_1' => 'domingo', |
|
| 159 | - 'date_jour_1_abbr' => 'dom.', |
|
| 160 | - 'date_jour_1_initiale' => 'd.', |
|
| 161 | - 'date_jour_2' => 'segunda-feira', |
|
| 162 | - 'date_jour_2_abbr' => 'seg.', |
|
| 163 | - 'date_jour_2_initiale' => 's.', |
|
| 164 | - 'date_jour_3' => 'terça-feira', |
|
| 165 | - 'date_jour_3_abbr' => 'ter.', |
|
| 166 | - 'date_jour_3_initiale' => 't.', |
|
| 167 | - 'date_jour_4' => 'quarta-feira', |
|
| 168 | - 'date_jour_4_abbr' => 'quar.', |
|
| 169 | - 'date_jour_4_initiale' => 'q.', |
|
| 170 | - 'date_jour_5' => 'quinta-feira', |
|
| 171 | - 'date_jour_5_abbr' => 'quin.', |
|
| 172 | - 'date_jour_5_initiale' => 'q.', |
|
| 173 | - 'date_jour_6' => 'sexta-feira', |
|
| 174 | - 'date_jour_6_abbr' => 'sex.', |
|
| 175 | - 'date_jour_6_initiale' => 's.', |
|
| 176 | - 'date_jour_7' => 'sábado', |
|
| 177 | - 'date_jour_7_abbr' => 'sáb.', |
|
| 178 | - 'date_jour_7_initiale' => 's.', |
|
| 179 | - 'date_jours' => 'dias', |
|
| 180 | - 'date_minutes' => 'minutos', |
|
| 181 | - 'date_mois' => 'meses', |
|
| 182 | - 'date_mois_1' => 'janeiro', |
|
| 183 | - 'date_mois_10' => 'outubro', |
|
| 184 | - 'date_mois_10_abbr' => 'out.', |
|
| 185 | - 'date_mois_11' => 'novembro', |
|
| 186 | - 'date_mois_11_abbr' => 'nov.', |
|
| 187 | - 'date_mois_12' => 'dezembro', |
|
| 188 | - 'date_mois_12_abbr' => 'dez.', |
|
| 189 | - 'date_mois_1_abbr' => 'jan.', |
|
| 190 | - 'date_mois_2' => 'fevereiro', |
|
| 191 | - 'date_mois_2_abbr' => 'fev.', |
|
| 192 | - 'date_mois_3' => 'março', |
|
| 193 | - 'date_mois_3_abbr' => 'mar.', |
|
| 194 | - 'date_mois_4' => 'abril', |
|
| 195 | - 'date_mois_4_abbr' => 'abr.', |
|
| 196 | - 'date_mois_5' => 'maio', |
|
| 197 | - 'date_mois_5_abbr' => 'mai.', |
|
| 198 | - 'date_mois_6' => 'junho', |
|
| 199 | - 'date_mois_6_abbr' => 'jun.', |
|
| 200 | - 'date_mois_7' => 'julho', |
|
| 201 | - 'date_mois_7_abbr' => 'jul.', |
|
| 202 | - 'date_mois_8' => 'agosto', |
|
| 203 | - 'date_mois_8_abbr' => 'ago.', |
|
| 204 | - 'date_mois_9' => 'setembro', |
|
| 205 | - 'date_mois_9_abbr' => 'set.', |
|
| 206 | - 'date_saison_1' => 'inverno', |
|
| 207 | - 'date_saison_2' => 'primavera', |
|
| 208 | - 'date_saison_3' => 'verão', |
|
| 209 | - 'date_saison_4' => 'outono', |
|
| 210 | - 'date_secondes' => 'segundos', |
|
| 211 | - 'date_semaines' => 'semanas', |
|
| 212 | - 'date_un_mois' => 'mês', |
|
| 213 | - 'date_une_heure' => 'hora', |
|
| 214 | - 'date_une_minute' => 'minuto', |
|
| 215 | - 'date_une_seconde' => 'segundo', |
|
| 216 | - 'date_une_semaine' => 'semana', |
|
| 217 | - 'dirs_commencer' => 'Para começar realmente a instalação', |
|
| 218 | - 'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>', |
|
| 219 | - 'dirs_probleme_droits' => 'Problema com as permissões de acesso', |
|
| 220 | - 'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul> |
|
| 91 | + // D |
|
| 92 | + 'date_aujourdhui' => 'hoje', |
|
| 93 | + 'date_avant_jc' => 'a.C.', |
|
| 94 | + 'date_dans' => 'entre @delai@', |
|
| 95 | + 'date_de_mois_1' => '@j@ de @nommois@', |
|
| 96 | + 'date_de_mois_10' => '@j@ de @nommois@', |
|
| 97 | + 'date_de_mois_11' => '@j@ de @nommois@', |
|
| 98 | + 'date_de_mois_12' => '@j@ de @nommois@', |
|
| 99 | + 'date_de_mois_2' => '@j@ de @nommois@', |
|
| 100 | + 'date_de_mois_3' => '@j@ de @nommois@', |
|
| 101 | + 'date_de_mois_4' => '@j@ de @nommois@', |
|
| 102 | + 'date_de_mois_5' => '@j@ de @nommois@', |
|
| 103 | + 'date_de_mois_6' => '@j@ de @nommois@', |
|
| 104 | + 'date_de_mois_7' => '@j@ de @nommois@', |
|
| 105 | + 'date_de_mois_8' => '@j@ de @nommois@', |
|
| 106 | + 'date_de_mois_9' => '@j@ de @nommois@', |
|
| 107 | + 'date_demain' => 'amanhã', |
|
| 108 | + 'date_fmt_heures_minutes' => '@h@h@m@min', |
|
| 109 | + 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 110 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | + 'date_fmt_jour_heure' => '@jour@ - @heure@', |
|
| 112 | + 'date_fmt_jour_heure_debut_fin' => 'dia @jour@ de @heure_debut@ a @heure_fin@', |
|
| 113 | + 'date_fmt_jour_heure_debut_fin_abbr' => 'dia @dtstart@@jour@ de @heure_debut@@dtabbr@ a @dtstart@@heure_fin@@dtend@', |
|
| 114 | + 'date_fmt_jour_mois' => '@jour@ de @nommois@', |
|
| 115 | + 'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@', |
|
| 116 | + 'date_fmt_mois_annee' => '@nommois@ de @annee@', |
|
| 117 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 118 | + 'date_fmt_nomjour_date' => '@nomjour@ de @date@', |
|
| 119 | + 'date_fmt_periode' => 'De @date_debut@ a @date_fin@', |
|
| 120 | + 'date_fmt_periode_abbr' => 'De @dtart@@date_debut@@dtabbr@ a @dtend@@date_fin@@dtabbr@', |
|
| 121 | + 'date_fmt_periode_from' => 'De', |
|
| 122 | + 'date_fmt_periode_to' => 'para', |
|
| 123 | + 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | + 'date_heures' => 'horas', |
|
| 125 | + 'date_hier' => 'ontem', |
|
| 126 | + 'date_il_y_a' => 'há @delai@', |
|
| 127 | + 'date_jnum1' => '1º', |
|
| 128 | + 'date_jnum10' => '10', |
|
| 129 | + 'date_jnum11' => '11', |
|
| 130 | + 'date_jnum12' => '12', |
|
| 131 | + 'date_jnum13' => '13', |
|
| 132 | + 'date_jnum14' => '14', |
|
| 133 | + 'date_jnum15' => '15', |
|
| 134 | + 'date_jnum16' => '16', |
|
| 135 | + 'date_jnum17' => '17', |
|
| 136 | + 'date_jnum18' => '18', |
|
| 137 | + 'date_jnum19' => '19', |
|
| 138 | + 'date_jnum2' => '2', |
|
| 139 | + 'date_jnum20' => '20', |
|
| 140 | + 'date_jnum21' => '21', |
|
| 141 | + 'date_jnum22' => '22', |
|
| 142 | + 'date_jnum23' => '23', |
|
| 143 | + 'date_jnum24' => '24', |
|
| 144 | + 'date_jnum25' => '25', |
|
| 145 | + 'date_jnum26' => '26', |
|
| 146 | + 'date_jnum27' => '27', |
|
| 147 | + 'date_jnum28' => '28', |
|
| 148 | + 'date_jnum29' => '29', |
|
| 149 | + 'date_jnum3' => '3', |
|
| 150 | + 'date_jnum30' => '30', |
|
| 151 | + 'date_jnum31' => '31', |
|
| 152 | + 'date_jnum4' => '4', |
|
| 153 | + 'date_jnum5' => '5', |
|
| 154 | + 'date_jnum6' => '6', |
|
| 155 | + 'date_jnum7' => '7', |
|
| 156 | + 'date_jnum8' => '8', |
|
| 157 | + 'date_jnum9' => '9', |
|
| 158 | + 'date_jour_1' => 'domingo', |
|
| 159 | + 'date_jour_1_abbr' => 'dom.', |
|
| 160 | + 'date_jour_1_initiale' => 'd.', |
|
| 161 | + 'date_jour_2' => 'segunda-feira', |
|
| 162 | + 'date_jour_2_abbr' => 'seg.', |
|
| 163 | + 'date_jour_2_initiale' => 's.', |
|
| 164 | + 'date_jour_3' => 'terça-feira', |
|
| 165 | + 'date_jour_3_abbr' => 'ter.', |
|
| 166 | + 'date_jour_3_initiale' => 't.', |
|
| 167 | + 'date_jour_4' => 'quarta-feira', |
|
| 168 | + 'date_jour_4_abbr' => 'quar.', |
|
| 169 | + 'date_jour_4_initiale' => 'q.', |
|
| 170 | + 'date_jour_5' => 'quinta-feira', |
|
| 171 | + 'date_jour_5_abbr' => 'quin.', |
|
| 172 | + 'date_jour_5_initiale' => 'q.', |
|
| 173 | + 'date_jour_6' => 'sexta-feira', |
|
| 174 | + 'date_jour_6_abbr' => 'sex.', |
|
| 175 | + 'date_jour_6_initiale' => 's.', |
|
| 176 | + 'date_jour_7' => 'sábado', |
|
| 177 | + 'date_jour_7_abbr' => 'sáb.', |
|
| 178 | + 'date_jour_7_initiale' => 's.', |
|
| 179 | + 'date_jours' => 'dias', |
|
| 180 | + 'date_minutes' => 'minutos', |
|
| 181 | + 'date_mois' => 'meses', |
|
| 182 | + 'date_mois_1' => 'janeiro', |
|
| 183 | + 'date_mois_10' => 'outubro', |
|
| 184 | + 'date_mois_10_abbr' => 'out.', |
|
| 185 | + 'date_mois_11' => 'novembro', |
|
| 186 | + 'date_mois_11_abbr' => 'nov.', |
|
| 187 | + 'date_mois_12' => 'dezembro', |
|
| 188 | + 'date_mois_12_abbr' => 'dez.', |
|
| 189 | + 'date_mois_1_abbr' => 'jan.', |
|
| 190 | + 'date_mois_2' => 'fevereiro', |
|
| 191 | + 'date_mois_2_abbr' => 'fev.', |
|
| 192 | + 'date_mois_3' => 'março', |
|
| 193 | + 'date_mois_3_abbr' => 'mar.', |
|
| 194 | + 'date_mois_4' => 'abril', |
|
| 195 | + 'date_mois_4_abbr' => 'abr.', |
|
| 196 | + 'date_mois_5' => 'maio', |
|
| 197 | + 'date_mois_5_abbr' => 'mai.', |
|
| 198 | + 'date_mois_6' => 'junho', |
|
| 199 | + 'date_mois_6_abbr' => 'jun.', |
|
| 200 | + 'date_mois_7' => 'julho', |
|
| 201 | + 'date_mois_7_abbr' => 'jul.', |
|
| 202 | + 'date_mois_8' => 'agosto', |
|
| 203 | + 'date_mois_8_abbr' => 'ago.', |
|
| 204 | + 'date_mois_9' => 'setembro', |
|
| 205 | + 'date_mois_9_abbr' => 'set.', |
|
| 206 | + 'date_saison_1' => 'inverno', |
|
| 207 | + 'date_saison_2' => 'primavera', |
|
| 208 | + 'date_saison_3' => 'verão', |
|
| 209 | + 'date_saison_4' => 'outono', |
|
| 210 | + 'date_secondes' => 'segundos', |
|
| 211 | + 'date_semaines' => 'semanas', |
|
| 212 | + 'date_un_mois' => 'mês', |
|
| 213 | + 'date_une_heure' => 'hora', |
|
| 214 | + 'date_une_minute' => 'minuto', |
|
| 215 | + 'date_une_seconde' => 'segundo', |
|
| 216 | + 'date_une_semaine' => 'semana', |
|
| 217 | + 'dirs_commencer' => 'Para começar realmente a instalação', |
|
| 218 | + 'dirs_preliminaire' => 'Preliminar: <b>Configurar os direitos de acesso</b>', |
|
| 219 | + 'dirs_probleme_droits' => 'Problema com as permissões de acesso', |
|
| 220 | + 'dirs_repertoires_absents' => '<p><b>Os diretórios a seguir não foram encontrados:</b></p><ul>@bad_dirs@.</ul> |
|
| 221 | 221 | <p>É provável que isto se deva a um problema de letras em maiúsculas e minúsculas. |
| 222 | 222 | Verifique se as maiúsculas e minúsuculas destes diretórios coincidem exatamente com o que está sendo exibido abaixo; se este não for o caso, renomeie os diretórios com o seu programa de FTP de modo a corrigir o erro. |
| 223 | 223 | <p>Uma vêz feita esta manipulação, você poderá ', |
| 224 | - 'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul> |
|
| 224 | + 'dirs_repertoires_suivants' => '<p><b>Os diretórios a seguir não estão acessiveis para leitura:</b></p><ul>@bad_dirs@.</ul> |
|
| 225 | 225 | <p>Para corrigir, utilize o seu programa de FTP para configurar os direitos de acesso de cada um destes diretórios. O procedimento está explicado em detalhes no guia de instalação.</p> |
| 226 | 226 | <p>Uma vêz feita esta alteração, você poderá ', |
| 227 | - 'double_occurrence' => 'Ocorrência dupla de @balise@', |
|
| 227 | + 'double_occurrence' => 'Ocorrência dupla de @balise@', |
|
| 228 | 228 | |
| 229 | - // E |
|
| 230 | - 'en_cours' => 'em curso', |
|
| 231 | - 'envoi_via_le_site' => 'Envio pelo site', |
|
| 232 | - 'erreur' => 'Erro', |
|
| 233 | - 'erreur_balise_non_fermee' => 'Última tag em aberto:', |
|
| 234 | - 'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.', |
|
| 235 | - 'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.', |
|
| 236 | - 'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.', |
|
| 237 | - 'erreur_texte' => 'erro(s)', |
|
| 238 | - 'etape' => 'Etapa', |
|
| 229 | + // E |
|
| 230 | + 'en_cours' => 'em curso', |
|
| 231 | + 'envoi_via_le_site' => 'Envio pelo site', |
|
| 232 | + 'erreur' => 'Erro', |
|
| 233 | + 'erreur_balise_non_fermee' => 'Última tag em aberto:', |
|
| 234 | + 'erreur_technique_ajaxform' => 'Ooops. Um erro inesperado impediu o envio do formulário. Você pode tentar novamente.', |
|
| 235 | + 'erreur_technique_enregistrement_champs' => 'Um erro técnico impediu a gravação correta do campo @champs@.', |
|
| 236 | + 'erreur_technique_enregistrement_impossible' => 'Um erro técnico impediu a gravação.', |
|
| 237 | + 'erreur_texte' => 'erro(s)', |
|
| 238 | + 'etape' => 'Etapa', |
|
| 239 | 239 | |
| 240 | - // F |
|
| 241 | - 'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.', |
|
| 242 | - 'fonction_introuvable' => 'Função @fonction@() não encontrada.', |
|
| 243 | - 'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail', |
|
| 244 | - 'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.', |
|
| 245 | - 'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.', |
|
| 246 | - 'form_auteur_mail_confirmation' => 'Olá, |
|
| 240 | + // F |
|
| 241 | + 'fichier_introuvable' => 'Arquivo @fichier@ não encontrado.', |
|
| 242 | + 'fonction_introuvable' => 'Função @fonction@() não encontrada.', |
|
| 243 | + 'form_auteur_confirmation' => 'Confirme o seu endereço de e-mail', |
|
| 244 | + 'form_auteur_email_modifie' => 'O seu endereço de e-mail foi alterado.', |
|
| 245 | + 'form_auteur_envoi_mail_confirmation' => 'Uma mensagem de confirmação acabou de ser enviada para @email@. Você precisa entrar no endereço web mencionado na mensagem para validar o seu endereço de e-mail.', |
|
| 246 | + 'form_auteur_mail_confirmation' => 'Olá, |
|
| 247 | 247 | |
| 248 | 248 | Você pediu para alterar o seu endereço de e-mail |
| 249 | 249 | Para confirmar o seu novo endereço, basta acessar o endereço abaixo (cas contrário, a sua solicitação será ignorada): |
| 250 | 250 | |
| 251 | 251 | @url@ |
| 252 | 252 | ', |
| 253 | - 'form_deja_inscrit' => 'Você já está inscrito.', |
|
| 254 | - 'form_email_non_valide' => 'Seu endereço de e-mail não é válido.', |
|
| 255 | - 'form_forum_access_refuse' => 'Você não tem mais acesso a este site.', |
|
| 256 | - 'form_forum_bonjour' => 'Bom dia @nom@,', |
|
| 257 | - 'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@', |
|
| 258 | - 'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.', |
|
| 259 | - 'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.', |
|
| 260 | - 'form_forum_identifiants' => 'Identificadores pessoais', |
|
| 261 | - 'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.', |
|
| 262 | - 'form_forum_login' => 'login:', |
|
| 263 | - 'form_forum_message_auto' => '(esta é uma mensagem automática)', |
|
| 264 | - 'form_forum_pass' => 'senha:', |
|
| 265 | - 'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.', |
|
| 266 | - 'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):', |
|
| 267 | - 'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):', |
|
| 268 | - 'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.', |
|
| 269 | - 'form_indiquer_nom' => 'Por favor, informe o seu nome.', |
|
| 270 | - 'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.', |
|
| 271 | - 'form_pet_deja_enregistre' => 'Este site já está cadastrado', |
|
| 272 | - 'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.', |
|
| 273 | - 'form_prop_confirmer_envoi' => 'Confirmar o envio', |
|
| 274 | - 'form_prop_description' => 'Descrição / comentário', |
|
| 275 | - 'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.', |
|
| 276 | - 'form_prop_envoyer' => 'Enviar uma mensagem', |
|
| 277 | - 'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido', |
|
| 278 | - 'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.', |
|
| 279 | - 'form_prop_indiquer_sujet' => 'Por favor, informe um assunto', |
|
| 280 | - 'form_prop_message_envoye' => 'Mensagem enviada', |
|
| 281 | - 'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.', |
|
| 282 | - 'form_prop_sujet' => 'Assunto', |
|
| 283 | - 'form_prop_url_site' => 'Endereço URL do site', |
|
| 284 | - 'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.', |
|
| 285 | - 'format_date_incorrecte' => 'A data e o seu formato está incorreta', |
|
| 286 | - 'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.', |
|
| 287 | - 'format_heure_incorrecte' => 'A hora e o seu formato está incorreta', |
|
| 288 | - 'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.', |
|
| 289 | - 'forum_par_auteur' => 'por @auteur@', |
|
| 290 | - 'forum_titre_erreur' => 'Erro...', |
|
| 253 | + 'form_deja_inscrit' => 'Você já está inscrito.', |
|
| 254 | + 'form_email_non_valide' => 'Seu endereço de e-mail não é válido.', |
|
| 255 | + 'form_forum_access_refuse' => 'Você não tem mais acesso a este site.', |
|
| 256 | + 'form_forum_bonjour' => 'Bom dia @nom@,', |
|
| 257 | + 'form_forum_confirmer_email' => 'Para confirmar o seu endereço de e-mail, clique neste link: @url_confirm@', |
|
| 258 | + 'form_forum_email_deja_enregistre' => 'Este endereço de e-mail já está cadastrado, você pode usar a sua senha habitual.', |
|
| 259 | + 'form_forum_identifiant_mail' => 'Seu novo login foi enviado por e-mail.', |
|
| 260 | + 'form_forum_identifiants' => 'Identificadores pessoais', |
|
| 261 | + 'form_forum_indiquer_nom_email' => 'Informe aqui o seu nome endereço de e-mail. O seu identificador pessoal será enviado de imediato por correio eletrônico.', |
|
| 262 | + 'form_forum_login' => 'login:', |
|
| 263 | + 'form_forum_message_auto' => '(esta é uma mensagem automática)', |
|
| 264 | + 'form_forum_pass' => 'senha:', |
|
| 265 | + 'form_forum_probleme_mail' => 'Problema de e-mail: o identificador não pôde ser enviado.', |
|
| 266 | + 'form_forum_voici1' => 'Estes são os seus identificadores para que você possa participar da vida do site "@nom_site_spip@" (@adresse_site@):', |
|
| 267 | + 'form_forum_voici2' => 'Estes são os seus identificadores para que você possa propor matérias ao site "@nom_site_spip@" (@adresse_login@):', |
|
| 268 | + 'form_indiquer_email' => 'Por favor, informe o seu endereço de e-mail.', |
|
| 269 | + 'form_indiquer_nom' => 'Por favor, informe o seu nome.', |
|
| 270 | + 'form_indiquer_nom_site' => 'Por favor, informe o nome do seu site.', |
|
| 271 | + 'form_pet_deja_enregistre' => 'Este site já está cadastrado', |
|
| 272 | + 'form_pet_signature_pasprise' => 'Sua assinatura não foi computada.', |
|
| 273 | + 'form_prop_confirmer_envoi' => 'Confirmar o envio', |
|
| 274 | + 'form_prop_description' => 'Descrição / comentário', |
|
| 275 | + 'form_prop_enregistre' => 'Sua proposta foi cadastrada, ela aparecerá online após ser validada pelos responsáveis deste site.', |
|
| 276 | + 'form_prop_envoyer' => 'Enviar uma mensagem', |
|
| 277 | + 'form_prop_indiquer_email' => 'Por favor, indique um endereço de e-mail válido', |
|
| 278 | + 'form_prop_indiquer_nom_site' => 'Por favor, informe o nome do site.', |
|
| 279 | + 'form_prop_indiquer_sujet' => 'Por favor, informe um assunto', |
|
| 280 | + 'form_prop_message_envoye' => 'Mensagem enviada', |
|
| 281 | + 'form_prop_non_enregistre' => 'Sua proposta não foi cadastrada.', |
|
| 282 | + 'form_prop_sujet' => 'Assunto', |
|
| 283 | + 'form_prop_url_site' => 'Endereço URL do site', |
|
| 284 | + 'format_date_attendu' => 'Inserir uma data no formato dd/mm/aaaa.', |
|
| 285 | + 'format_date_incorrecte' => 'A data e o seu formato está incorreta', |
|
| 286 | + 'format_heure_attendu' => 'Inserir uma hora no formato hh:mm.', |
|
| 287 | + 'format_heure_incorrecte' => 'A hora e o seu formato está incorreta', |
|
| 288 | + 'forum_non_inscrit' => 'Você não está inscrito, ou o endereço ou a senha estão errados.', |
|
| 289 | + 'forum_par_auteur' => 'por @auteur@', |
|
| 290 | + 'forum_titre_erreur' => 'Erro...', |
|
| 291 | 291 | |
| 292 | - // I |
|
| 293 | - 'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:', |
|
| 294 | - 'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:', |
|
| 295 | - 'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.', |
|
| 296 | - 'icone_a_suivre' => 'Acompanhar', |
|
| 297 | - 'icone_admin_site' => 'Administração do site', |
|
| 298 | - 'icone_agenda' => 'Agenda', |
|
| 299 | - 'icone_aide_ligne' => 'Ajuda', |
|
| 300 | - 'icone_articles' => 'Matérias', |
|
| 301 | - 'icone_auteurs' => 'Autores', |
|
| 302 | - 'icone_brouteur' => 'Navegação rápida', |
|
| 303 | - 'icone_configuration_site' => 'Configuração', |
|
| 304 | - 'icone_configurer_site' => 'Configurar o seu site', |
|
| 305 | - 'icone_creer_nouvel_auteur' => 'Criar um novo autor', |
|
| 306 | - 'icone_creer_rubrique' => 'Criar uma seção', |
|
| 307 | - 'icone_creer_sous_rubrique' => 'Criar uma subseção', |
|
| 308 | - 'icone_deconnecter' => 'Desconectar-se', |
|
| 309 | - 'icone_discussions' => 'Discussões', |
|
| 310 | - 'icone_doc_rubrique' => 'Documentos das seções', |
|
| 311 | - 'icone_ecrire_article' => 'Escrever uma nova matéria', |
|
| 312 | - 'icone_edition_site' => 'Edição', |
|
| 313 | - 'icone_gestion_langues' => 'Gerenciamento de idiomas', |
|
| 314 | - 'icone_informations_personnelles' => 'Informações pessoais', |
|
| 315 | - 'icone_interface_complet' => 'interface completa', |
|
| 316 | - 'icone_interface_simple' => 'Interface simplificada', |
|
| 317 | - 'icone_maintenance_site' => 'Manutenção do site', |
|
| 318 | - 'icone_messagerie_personnelle' => 'Mensagens pessoais', |
|
| 319 | - 'icone_repartition_debut' => 'Exibir a repartição após o início', |
|
| 320 | - 'icone_rubriques' => 'Seções', |
|
| 321 | - 'icone_sauver_site' => 'Backup do site', |
|
| 322 | - 'icone_site_entier' => 'Todo o site', |
|
| 323 | - 'icone_sites_references' => 'Sites referenciados', |
|
| 324 | - 'icone_statistiques' => 'Estatísticas do site', |
|
| 325 | - 'icone_suivi_activite' => 'Acompanhar a vida do site', |
|
| 326 | - 'icone_suivi_actualite' => 'Evolução do site', |
|
| 327 | - 'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições', |
|
| 328 | - 'icone_suivi_revisions' => 'Modificações das matérias', |
|
| 329 | - 'icone_supprimer_document' => 'Suprimir este documento', |
|
| 330 | - 'icone_supprimer_image' => 'Suprimir esta imagem', |
|
| 331 | - 'icone_tous_articles' => 'Todas as suas matérias', |
|
| 332 | - 'icone_tous_auteur' => 'Todos os autores', |
|
| 333 | - 'icone_tous_visiteur' => 'Todos os visitantes', |
|
| 334 | - 'icone_visiter_site' => 'Ver o site público', |
|
| 335 | - 'icone_voir_en_ligne' => 'Ver online', |
|
| 336 | - 'img_indisponible' => 'imagem indisponível', |
|
| 337 | - 'impossible' => 'impossível', |
|
| 338 | - 'info_a_suivre' => 'ACOMPANHAR»', |
|
| 339 | - 'info_acces_interdit' => 'Acesso interdito', |
|
| 340 | - 'info_acces_refuse' => 'Acesso recusado', |
|
| 341 | - 'info_action' => 'Ação: @action@', |
|
| 342 | - 'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções', |
|
| 343 | - 'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!', |
|
| 344 | - 'info_aide' => 'AJUDA:', |
|
| 345 | - 'info_ajouter_mot' => 'Incluir esta palavra', |
|
| 346 | - 'info_annonce' => 'AVISO', |
|
| 347 | - 'info_annonces_generales' => 'Avisos gerais:', |
|
| 348 | - 'info_article_propose' => 'Matéria proposta', |
|
| 349 | - 'info_article_publie' => 'Matéria publicada', |
|
| 350 | - 'info_article_redaction' => 'Matéria em fase de redação', |
|
| 351 | - 'info_article_refuse' => 'Matéria recusada', |
|
| 352 | - 'info_article_supprime' => 'Matéria suprimida', |
|
| 353 | - 'info_articles' => 'Matérias', |
|
| 354 | - 'info_articles_a_valider' => 'As matérias para validar', |
|
| 355 | - 'info_articles_nb' => '@nb@ matérias', |
|
| 356 | - 'info_articles_proposes' => 'Matérias propostas', |
|
| 357 | - 'info_articles_un' => '1 matéria', |
|
| 358 | - 'info_auteurs_nombre' => 'autor(es):', |
|
| 359 | - 'info_authentification_ftp' => 'Autenticação (por FTP).', |
|
| 360 | - 'info_breves_2' => 'notas', |
|
| 361 | - 'info_breves_nb' => '@nb@ notas', |
|
| 362 | - 'info_breves_un' => '1 nota', |
|
| 363 | - 'info_connexion_refusee' => 'Conexão recusada', |
|
| 364 | - 'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.', |
|
| 365 | - 'info_contenance' => 'Este site contém:', |
|
| 366 | - 'info_contribution' => 'contribuições', |
|
| 367 | - 'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.', |
|
| 368 | - 'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 369 | - 'info_copyright_gpl' => 'sob licença GPL', |
|
| 370 | - 'info_cours_edition' => 'Em edição', |
|
| 371 | - 'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:', |
|
| 372 | - 'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:', |
|
| 373 | - 'info_creer_vignette' => 'criação automática do ícone', |
|
| 374 | - 'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção', |
|
| 375 | - 'info_deplier' => 'Expandir', |
|
| 376 | - 'info_descriptif_nombre' => 'descrição(ões):', |
|
| 377 | - 'info_description' => 'Resumo:', |
|
| 378 | - 'info_description_2' => 'Resumo:', |
|
| 379 | - 'info_dimension' => 'Dimensões:', |
|
| 380 | - 'info_documents_nb' => '@nb@ documentos', |
|
| 381 | - 'info_documents_un' => '1 documento', |
|
| 382 | - 'info_ecire_message_prive' => 'Escrever uma mensagem privada', |
|
| 383 | - 'info_email_invalide' => 'Endereço de e-mail inválido.', |
|
| 384 | - 'info_en_cours_validation' => 'Suas matérias em fase de redação', |
|
| 385 | - 'info_en_ligne' => 'Atualmente online:', |
|
| 386 | - 'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor', |
|
| 387 | - 'info_erreur_requete' => 'Erro na requisição:', |
|
| 388 | - 'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...', |
|
| 389 | - 'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)', |
|
| 390 | - 'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br /> |
|
| 292 | + // I |
|
| 293 | + 'ical_texte_rss_articles' => 'O arquivo «backend» das matérias deste site encontra-se no endereço:', |
|
| 294 | + 'ical_texte_rss_articles2' => 'Você pode também obter os arquivos «backend» para as matérias de cada seção do site:', |
|
| 295 | + 'ical_texte_rss_breves' => 'Existe também um arquivo contendo as notas do site. Ao especificar um número de seção, você obterá unicamente as natos dessa seção.', |
|
| 296 | + 'icone_a_suivre' => 'Acompanhar', |
|
| 297 | + 'icone_admin_site' => 'Administração do site', |
|
| 298 | + 'icone_agenda' => 'Agenda', |
|
| 299 | + 'icone_aide_ligne' => 'Ajuda', |
|
| 300 | + 'icone_articles' => 'Matérias', |
|
| 301 | + 'icone_auteurs' => 'Autores', |
|
| 302 | + 'icone_brouteur' => 'Navegação rápida', |
|
| 303 | + 'icone_configuration_site' => 'Configuração', |
|
| 304 | + 'icone_configurer_site' => 'Configurar o seu site', |
|
| 305 | + 'icone_creer_nouvel_auteur' => 'Criar um novo autor', |
|
| 306 | + 'icone_creer_rubrique' => 'Criar uma seção', |
|
| 307 | + 'icone_creer_sous_rubrique' => 'Criar uma subseção', |
|
| 308 | + 'icone_deconnecter' => 'Desconectar-se', |
|
| 309 | + 'icone_discussions' => 'Discussões', |
|
| 310 | + 'icone_doc_rubrique' => 'Documentos das seções', |
|
| 311 | + 'icone_ecrire_article' => 'Escrever uma nova matéria', |
|
| 312 | + 'icone_edition_site' => 'Edição', |
|
| 313 | + 'icone_gestion_langues' => 'Gerenciamento de idiomas', |
|
| 314 | + 'icone_informations_personnelles' => 'Informações pessoais', |
|
| 315 | + 'icone_interface_complet' => 'interface completa', |
|
| 316 | + 'icone_interface_simple' => 'Interface simplificada', |
|
| 317 | + 'icone_maintenance_site' => 'Manutenção do site', |
|
| 318 | + 'icone_messagerie_personnelle' => 'Mensagens pessoais', |
|
| 319 | + 'icone_repartition_debut' => 'Exibir a repartição após o início', |
|
| 320 | + 'icone_rubriques' => 'Seções', |
|
| 321 | + 'icone_sauver_site' => 'Backup do site', |
|
| 322 | + 'icone_site_entier' => 'Todo o site', |
|
| 323 | + 'icone_sites_references' => 'Sites referenciados', |
|
| 324 | + 'icone_statistiques' => 'Estatísticas do site', |
|
| 325 | + 'icone_suivi_activite' => 'Acompanhar a vida do site', |
|
| 326 | + 'icone_suivi_actualite' => 'Evolução do site', |
|
| 327 | + 'icone_suivi_pettions' => 'Acompanhar / gerenciar as petições', |
|
| 328 | + 'icone_suivi_revisions' => 'Modificações das matérias', |
|
| 329 | + 'icone_supprimer_document' => 'Suprimir este documento', |
|
| 330 | + 'icone_supprimer_image' => 'Suprimir esta imagem', |
|
| 331 | + 'icone_tous_articles' => 'Todas as suas matérias', |
|
| 332 | + 'icone_tous_auteur' => 'Todos os autores', |
|
| 333 | + 'icone_tous_visiteur' => 'Todos os visitantes', |
|
| 334 | + 'icone_visiter_site' => 'Ver o site público', |
|
| 335 | + 'icone_voir_en_ligne' => 'Ver online', |
|
| 336 | + 'img_indisponible' => 'imagem indisponível', |
|
| 337 | + 'impossible' => 'impossível', |
|
| 338 | + 'info_a_suivre' => 'ACOMPANHAR»', |
|
| 339 | + 'info_acces_interdit' => 'Acesso interdito', |
|
| 340 | + 'info_acces_refuse' => 'Acesso recusado', |
|
| 341 | + 'info_action' => 'Ação: @action@', |
|
| 342 | + 'info_administrer_rubriques' => 'Você pode administrar esta seção e suas subseções', |
|
| 343 | + 'info_adresse_non_indiquee' => 'Você não informou o endereço a testar!', |
|
| 344 | + 'info_aide' => 'AJUDA:', |
|
| 345 | + 'info_ajouter_mot' => 'Incluir esta palavra', |
|
| 346 | + 'info_annonce' => 'AVISO', |
|
| 347 | + 'info_annonces_generales' => 'Avisos gerais:', |
|
| 348 | + 'info_article_propose' => 'Matéria proposta', |
|
| 349 | + 'info_article_publie' => 'Matéria publicada', |
|
| 350 | + 'info_article_redaction' => 'Matéria em fase de redação', |
|
| 351 | + 'info_article_refuse' => 'Matéria recusada', |
|
| 352 | + 'info_article_supprime' => 'Matéria suprimida', |
|
| 353 | + 'info_articles' => 'Matérias', |
|
| 354 | + 'info_articles_a_valider' => 'As matérias para validar', |
|
| 355 | + 'info_articles_nb' => '@nb@ matérias', |
|
| 356 | + 'info_articles_proposes' => 'Matérias propostas', |
|
| 357 | + 'info_articles_un' => '1 matéria', |
|
| 358 | + 'info_auteurs_nombre' => 'autor(es):', |
|
| 359 | + 'info_authentification_ftp' => 'Autenticação (por FTP).', |
|
| 360 | + 'info_breves_2' => 'notas', |
|
| 361 | + 'info_breves_nb' => '@nb@ notas', |
|
| 362 | + 'info_breves_un' => '1 nota', |
|
| 363 | + 'info_connexion_refusee' => 'Conexão recusada', |
|
| 364 | + 'info_contact_developpeur' => 'Por favor, contate um desenvolvedor.', |
|
| 365 | + 'info_contenance' => 'Este site contém:', |
|
| 366 | + 'info_contribution' => 'contribuições', |
|
| 367 | + 'info_copyright' => '@spip@ é um software livre distribuído @lien_gpl@.', |
|
| 368 | + 'info_copyright_doc' => 'Para mais informações, veja o site <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 369 | + 'info_copyright_gpl' => 'sob licença GPL', |
|
| 370 | + 'info_cours_edition' => 'Em edição', |
|
| 371 | + 'info_creer_repertoire' => 'Por favor, crie um arquivo ou diretório com o nome:', |
|
| 372 | + 'info_creer_repertoire_2' => 'dentro do subdiretório <b>@repertoire@</b>, e depois:', |
|
| 373 | + 'info_creer_vignette' => 'criação automática do ícone', |
|
| 374 | + 'info_creerdansrubrique_non_autorise' => 'Você não tem permissão para criar um conteúdo nesta seção', |
|
| 375 | + 'info_deplier' => 'Expandir', |
|
| 376 | + 'info_descriptif_nombre' => 'descrição(ões):', |
|
| 377 | + 'info_description' => 'Resumo:', |
|
| 378 | + 'info_description_2' => 'Resumo:', |
|
| 379 | + 'info_dimension' => 'Dimensões:', |
|
| 380 | + 'info_documents_nb' => '@nb@ documentos', |
|
| 381 | + 'info_documents_un' => '1 documento', |
|
| 382 | + 'info_ecire_message_prive' => 'Escrever uma mensagem privada', |
|
| 383 | + 'info_email_invalide' => 'Endereço de e-mail inválido.', |
|
| 384 | + 'info_en_cours_validation' => 'Suas matérias em fase de redação', |
|
| 385 | + 'info_en_ligne' => 'Atualmente online:', |
|
| 386 | + 'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor', |
|
| 387 | + 'info_erreur_requete' => 'Erro na requisição:', |
|
| 388 | + 'info_erreur_squelette2' => 'Nenhum template <b>@fichier@</b> está disponível...', |
|
| 389 | + 'info_erreur_systeme' => 'Erro do sistema (errno @errsys@)', |
|
| 390 | + 'info_erreur_systeme2' => 'É possível que não haja espaço livre em disco, ou que a base de dados esteja corrompida.<br /> |
|
| 391 | 391 | <span style="color:red;">Tente <a href=\'@script@\'>reparar a base</a>, ou contate o seu serviço de hospedagem.</span>', |
| 392 | - 'info_fini' => 'Terminou!', |
|
| 393 | - 'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.', |
|
| 394 | - 'info_format_non_defini' => 'formato não definido', |
|
| 395 | - 'info_grand_ecran' => 'Alta resolução', |
|
| 396 | - 'info_image_aide' => 'AJUDA', |
|
| 397 | - 'info_image_process_titre' => 'Método de criação dos ícones', |
|
| 398 | - 'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy', |
|
| 399 | - 'info_installation_systeme_publication' => 'Instalação do sistema de publicação...', |
|
| 400 | - 'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.', |
|
| 401 | - 'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.', |
|
| 402 | - 'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.', |
|
| 403 | - 'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.', |
|
| 404 | - 'info_interface_complete' => 'interface completa', |
|
| 405 | - 'info_interface_simple' => 'Interface simplificada', |
|
| 406 | - 'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir', |
|
| 407 | - 'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir', |
|
| 408 | - 'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:', |
|
| 409 | - 'info_l_article' => 'a matéria', |
|
| 410 | - 'info_la_breve' => 'a nota', |
|
| 411 | - 'info_la_rubrique' => 'a seção', |
|
| 412 | - 'info_langue_principale' => 'Idioma principal do site', |
|
| 413 | - 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels', |
|
| 414 | - 'info_les_auteurs_1' => 'por @les_auteurs@', |
|
| 415 | - 'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.', |
|
| 416 | - 'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).', |
|
| 417 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 418 | - 'info_message_2' => 'MENSAGEM', |
|
| 419 | - 'info_message_supprime' => 'MENSAGEM EXCLUÍDA', |
|
| 420 | - 'info_messages_nb' => '@nb@ mensagens', |
|
| 421 | - 'info_messages_un' => '1 mensagem', |
|
| 422 | - 'info_mise_en_ligne' => 'Data de publicação online:', |
|
| 423 | - 'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança', |
|
| 424 | - 'info_mois_courant' => 'No mês corrente:', |
|
| 425 | - 'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a', |
|
| 426 | - 'info_multi_herit' => 'Idioma padrão', |
|
| 427 | - 'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.', |
|
| 428 | - 'info_multilinguisme' => 'Multilinguismo', |
|
| 429 | - 'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.', |
|
| 430 | - 'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.', |
|
| 431 | - 'info_nombre_en_ligne' => 'Online neste momento:', |
|
| 432 | - 'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"', |
|
| 433 | - 'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.', |
|
| 434 | - 'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM', |
|
| 435 | - 'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS', |
|
| 436 | - 'info_numero_abbreviation' => 'N° ', |
|
| 437 | - 'info_obligatoire' => 'Esta informação é obrigatória', |
|
| 438 | - 'info_page_actuelle' => 'Página atual', |
|
| 439 | - 'info_pense_bete' => 'LEMBRETE', |
|
| 440 | - 'info_petit_ecran' => 'Baixa resolução', |
|
| 441 | - 'info_petition_close' => 'Petição fechada', |
|
| 442 | - 'info_pixels' => 'pixels', |
|
| 443 | - 'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":', |
|
| 444 | - 'info_portfolio_automatique' => 'Portfólio automático:', |
|
| 445 | - 'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]', |
|
| 446 | - 'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]', |
|
| 447 | - 'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@', |
|
| 448 | - 'info_propose_2' => 'Matéria proposta |
|
| 392 | + 'info_fini' => 'Terminou!', |
|
| 393 | + 'info_format_image' => 'Formatos das imagens que podem ser utilizados para criar os ícones @gd_formats@.', |
|
| 394 | + 'info_format_non_defini' => 'formato não definido', |
|
| 395 | + 'info_grand_ecran' => 'Alta resolução', |
|
| 396 | + 'info_image_aide' => 'AJUDA', |
|
| 397 | + 'info_image_process_titre' => 'Método de criação dos ícones', |
|
| 398 | + 'info_impossible_lire_page' => '<b>Erro!</b> Impossível ler a página <tt><html>@test_proxy@</html></tt> via proxy', |
|
| 399 | + 'info_installation_systeme_publication' => 'Instalação do sistema de publicação...', |
|
| 400 | + 'info_installer_documents' => 'Você pode instalar automaticamente todos os documentos contídos no diretório @upload@.', |
|
| 401 | + 'info_installer_ftp' => 'Como administrador, você pode transferir (por FTP) arquivos para o diretório @upload@ para, em seguida, selecioná-los aqui diretamente.', |
|
| 402 | + 'info_installer_images' => 'Você pode transferir imagens nos formatos JPEG, GIF e PNG.', |
|
| 403 | + 'info_installer_images_dossier' => 'Transferir as imagens para o diretório @upload@ para poder selecioná-las aqui.', |
|
| 404 | + 'info_interface_complete' => 'interface completa', |
|
| 405 | + 'info_interface_simple' => 'Interface simplificada', |
|
| 406 | + 'info_joindre_document_article' => 'Você pode anexar a esta matéria documentos dos tipos a seguir', |
|
| 407 | + 'info_joindre_document_rubrique' => 'Você pode anexar a esta seção documentos dos tipos a seguir', |
|
| 408 | + 'info_joindre_documents_article' => 'Você pode anexar à sua matéria documentos dos tipos a seguir:', |
|
| 409 | + 'info_l_article' => 'a matéria', |
|
| 410 | + 'info_la_breve' => 'a nota', |
|
| 411 | + 'info_la_rubrique' => 'a seção', |
|
| 412 | + 'info_langue_principale' => 'Idioma principal do site', |
|
| 413 | + 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ pixels', |
|
| 414 | + 'info_les_auteurs_1' => 'por @les_auteurs@', |
|
| 415 | + 'info_logo_format_interdit' => 'Apenas os ícones nos formatos @formats@ estão autorizados.', |
|
| 416 | + 'info_logo_max_poids' => 'Os ícones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).', |
|
| 417 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 418 | + 'info_message_2' => 'MENSAGEM', |
|
| 419 | + 'info_message_supprime' => 'MENSAGEM EXCLUÍDA', |
|
| 420 | + 'info_messages_nb' => '@nb@ mensagens', |
|
| 421 | + 'info_messages_un' => '1 mensagem', |
|
| 422 | + 'info_mise_en_ligne' => 'Data de publicação online:', |
|
| 423 | + 'info_modification_parametres_securite' => 'modificações dos parâmetros de segurança', |
|
| 424 | + 'info_mois_courant' => 'No mês corrente:', |
|
| 425 | + 'info_mot_cle_ajoute' => 'A palavra-chave a seguir foi associada a', |
|
| 426 | + 'info_multi_herit' => 'Idioma padrão', |
|
| 427 | + 'info_multi_langues_soulignees' => 'Os <u>idiomas sublinhados</u> dispõem de tradução total ou parcial dos textos da interface. Se você escolher esses idiomas, diversos elementos do site público (datas, formulários) são traduzidos automaticamente. Para os idiomas não sublinhados, estes elementos aparecerão no idioma principal do site.', |
|
| 428 | + 'info_multilinguisme' => 'Multilinguismo', |
|
| 429 | + 'info_nom_non_utilisateurs_connectes' => 'Seu nome não aparece na relação de usuários conectados.', |
|
| 430 | + 'info_nom_utilisateurs_connectes' => 'Seu nome aparecerá na relação de usuários conectados.', |
|
| 431 | + 'info_nombre_en_ligne' => 'Online neste momento:', |
|
| 432 | + 'info_non_resultat' => 'Nenhum resultados para "@cherche_mot@"', |
|
| 433 | + 'info_non_utilisation_messagerie' => 'Você não utiliza o sistema de mensagens deste site.', |
|
| 434 | + 'info_nouveau_message' => 'VOCÊ TEM UMA NOVA MENSAGEM', |
|
| 435 | + 'info_nouveaux_messages' => 'VOCÊ TEM @total_messages@ MENSAGENS NOVAS', |
|
| 436 | + 'info_numero_abbreviation' => 'N° ', |
|
| 437 | + 'info_obligatoire' => 'Esta informação é obrigatória', |
|
| 438 | + 'info_page_actuelle' => 'Página atual', |
|
| 439 | + 'info_pense_bete' => 'LEMBRETE', |
|
| 440 | + 'info_petit_ecran' => 'Baixa resolução', |
|
| 441 | + 'info_petition_close' => 'Petição fechada', |
|
| 442 | + 'info_pixels' => 'pixels', |
|
| 443 | + 'info_plusieurs_mots_trouves' => 'Várias palavras-chave encontradas para "@cherche_mot@":', |
|
| 444 | + 'info_portfolio_automatique' => 'Portfólio automático:', |
|
| 445 | + 'info_premier_resultat' => '[@debut_limit@ primeiros resultados de @total@]', |
|
| 446 | + 'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados de @total@]', |
|
| 447 | + 'info_propose_1' => '[@nom_site_spip@] Propõe: @titre@', |
|
| 448 | + 'info_propose_2' => 'Matéria proposta |
|
| 449 | 449 | ----------------', |
| 450 | - 'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.', |
|
| 451 | - 'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião', |
|
| 452 | - 'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:', |
|
| 453 | - 'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.', |
|
| 454 | - 'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@', |
|
| 455 | - 'info_publie_2' => 'Matéria publicada |
|
| 450 | + 'info_propose_3' => 'A matéria "@titre@" foi proposta para publicação.', |
|
| 451 | + 'info_propose_4' => 'Você está convidado a consultá-la e dar sua opinião', |
|
| 452 | + 'info_propose_5' => 'no fórum a ela anexado. Ela está disponível no endereço:', |
|
| 453 | + 'info_publie_01' => 'A matéria "@titre@" foi validada por @connect_nom@.', |
|
| 454 | + 'info_publie_1' => '[@nom_site_spip@] PUBLICADO: @titre@', |
|
| 455 | + 'info_publie_2' => 'Matéria publicada |
|
| 456 | 456 | -----------------', |
| 457 | - 'info_rechercher' => 'Procurar', |
|
| 458 | - 'info_rechercher_02' => 'Procurar:', |
|
| 459 | - 'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:', |
|
| 460 | - 'info_rubriques_nb' => '@nb@ seções', |
|
| 461 | - 'info_rubriques_un' => '1 seção', |
|
| 462 | - 'info_sans_titre_2' => 'sem título', |
|
| 463 | - 'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@', |
|
| 464 | - 'info_selectionner_fichier_2' => 'Selecionar um arquivo:', |
|
| 465 | - 'info_sites_nb' => '@nb@ sites', |
|
| 466 | - 'info_sites_un' => '1 site', |
|
| 467 | - 'info_supprimer_vignette' => 'excluir o ícone', |
|
| 468 | - 'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.', |
|
| 469 | - 'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.', |
|
| 470 | - 'info_symbole_vert' => 'O ícone <b>verde</b> indica as <b>mensagens trocadas com outros usuários</b> do site.', |
|
| 471 | - 'info_telecharger_nouveau_logo' => 'Transferir um novo logo:', |
|
| 472 | - 'info_telecharger_ordinateur' => 'Tranferir do seu computador:', |
|
| 473 | - 'info_tous_resultats_enregistres' => '[todos os resultados são gravados]', |
|
| 474 | - 'info_tout_afficher' => 'Mostrar todas', |
|
| 475 | - 'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...', |
|
| 476 | - 'info_travaux_titre' => 'Site em manutenção', |
|
| 477 | - 'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.', |
|
| 478 | - 'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.', |
|
| 479 | - 'info_valider_lien' => 'validar este link', |
|
| 480 | - 'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.', |
|
| 481 | - 'info_vignette_defaut' => 'Ícone padrão', |
|
| 482 | - 'info_vignette_personnalisee' => 'Ícone personalizado', |
|
| 483 | - 'info_visite' => 'visita:', |
|
| 484 | - 'info_vos_rendez_vous' => 'Seus encontros futuros', |
|
| 485 | - 'infos_vos_pense_bete' => 'Seus lembretes', |
|
| 457 | + 'info_rechercher' => 'Procurar', |
|
| 458 | + 'info_rechercher_02' => 'Procurar:', |
|
| 459 | + 'info_remplacer_vignette' => 'Substituir o ícone padrão por um logo personalizado:', |
|
| 460 | + 'info_rubriques_nb' => '@nb@ seções', |
|
| 461 | + 'info_rubriques_un' => '1 seção', |
|
| 462 | + 'info_sans_titre_2' => 'sem título', |
|
| 463 | + 'info_selectionner_fichier' => 'Você pode escolher um arquivo do diretório @upload@', |
|
| 464 | + 'info_selectionner_fichier_2' => 'Selecionar um arquivo:', |
|
| 465 | + 'info_sites_nb' => '@nb@ sites', |
|
| 466 | + 'info_sites_un' => '1 site', |
|
| 467 | + 'info_supprimer_vignette' => 'excluir o ícone', |
|
| 468 | + 'info_symbole_bleu' => 'O ícone <b>azul</b> indica um <b>lembrete</b>: ou seja, uma mensagem para seu uso pessoal.', |
|
| 469 | + 'info_symbole_jaune' => 'O ícone <b>amarelo</b> indica um <b>anúncio para todos os redatores</b>: modificável por todos os administradores, e visível por todos os redatores.', |
|
| 470 | + 'info_symbole_vert' => 'O ícone <b>verde</b> indica as <b>mensagens trocadas com outros usuários</b> do site.', |
|
| 471 | + 'info_telecharger_nouveau_logo' => 'Transferir um novo logo:', |
|
| 472 | + 'info_telecharger_ordinateur' => 'Tranferir do seu computador:', |
|
| 473 | + 'info_tous_resultats_enregistres' => '[todos os resultados são gravados]', |
|
| 474 | + 'info_tout_afficher' => 'Mostrar todas', |
|
| 475 | + 'info_travaux_texte' => 'Este site ainda não está configurado. Volte mais tarde...', |
|
| 476 | + 'info_travaux_titre' => 'Site em manutenção', |
|
| 477 | + 'info_trop_resultat' => 'Resultados de mais para "@cherche_mot@"; por favor, refine a busca.', |
|
| 478 | + 'info_utilisation_messagerie_interne' => 'Você usa o sistema interno de mensagens deste site.', |
|
| 479 | + 'info_valider_lien' => 'validar este link', |
|
| 480 | + 'info_verifier_image' => ', verifique se as suas imagens foram transferidas corretamente.', |
|
| 481 | + 'info_vignette_defaut' => 'Ícone padrão', |
|
| 482 | + 'info_vignette_personnalisee' => 'Ícone personalizado', |
|
| 483 | + 'info_visite' => 'visita:', |
|
| 484 | + 'info_vos_rendez_vous' => 'Seus encontros futuros', |
|
| 485 | + 'infos_vos_pense_bete' => 'Seus lembretes', |
|
| 486 | 486 | |
| 487 | - // L |
|
| 488 | - 'label_ajout_id_rapide' => 'Ajuda rápida', |
|
| 489 | - 'label_poids_fichier' => 'Tamanho', |
|
| 490 | - 'label_ponctuer' => '@label@:', |
|
| 491 | - 'lien_afficher_icones_seuls' => 'Exibir apenas os ícones', |
|
| 492 | - 'lien_afficher_texte_icones' => 'Exibir ícones e texto', |
|
| 493 | - 'lien_afficher_texte_seul' => 'Exibir apenas o texto', |
|
| 494 | - 'lien_aller_a_la_derniere_page' => 'Ir para a última página', |
|
| 495 | - 'lien_aller_a_la_page_nb' => 'Ir para a página @nb@', |
|
| 496 | - 'lien_aller_a_la_page_precedente' => 'Ir para a página anterior', |
|
| 497 | - 'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte', |
|
| 498 | - 'lien_aller_a_la_premiere_page' => 'Ir para a primeira página', |
|
| 499 | - 'lien_liberer' => 'liberar', |
|
| 500 | - 'lien_liberer_tous' => 'liberar todas', |
|
| 501 | - 'lien_nouvea_pense_bete' => 'NOVO LEMBRETE', |
|
| 502 | - 'lien_nouveau_message' => 'NOVA MENSAGEM', |
|
| 503 | - 'lien_nouvelle_annonce' => 'NOVO ANÚNCIO', |
|
| 504 | - 'lien_petitions' => 'PETIÇÃO', |
|
| 505 | - 'lien_popularite' => 'popularidade: @popularite@%', |
|
| 506 | - 'lien_racine_site' => 'RAIZ DO SITE', |
|
| 507 | - 'lien_reessayer' => 'tente novamente', |
|
| 508 | - 'lien_repondre_message' => 'Responder a esta mensagem', |
|
| 509 | - 'lien_supprimer' => 'excluir', |
|
| 510 | - 'lien_tout_afficher' => 'Mostrar tudo', |
|
| 511 | - 'lien_visite_site' => 'visitar este site', |
|
| 512 | - 'lien_visites' => '@visites@ visitas', |
|
| 513 | - 'lien_voir_auteur' => 'Ver este autor', |
|
| 514 | - 'ligne' => 'Linha', |
|
| 515 | - 'login' => 'Conexão', |
|
| 516 | - 'login_acces_prive' => 'acesso ao espaço privado', |
|
| 517 | - 'login_autre_identifiant' => 'conectar-se com outra identificação', |
|
| 518 | - 'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).', |
|
| 519 | - 'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.', |
|
| 520 | - 'login_deconnexion_ok' => 'Desconexão efetuada.', |
|
| 521 | - 'login_erreur_pass' => 'Erro de senha.', |
|
| 522 | - 'login_espace_prive' => 'espaço privado', |
|
| 523 | - 'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.', |
|
| 524 | - 'login_login' => 'Login:', |
|
| 525 | - 'login_login2' => 'Login', |
|
| 526 | - 'login_login_pass_incorrect' => '(Login ou senha incorreta.)', |
|
| 527 | - 'login_motpasseoublie' => 'esqueceu sua senha?', |
|
| 528 | - 'login_non_securise' => 'Atenção, este formulário não é seguro. |
|
| 487 | + // L |
|
| 488 | + 'label_ajout_id_rapide' => 'Ajuda rápida', |
|
| 489 | + 'label_poids_fichier' => 'Tamanho', |
|
| 490 | + 'label_ponctuer' => '@label@:', |
|
| 491 | + 'lien_afficher_icones_seuls' => 'Exibir apenas os ícones', |
|
| 492 | + 'lien_afficher_texte_icones' => 'Exibir ícones e texto', |
|
| 493 | + 'lien_afficher_texte_seul' => 'Exibir apenas o texto', |
|
| 494 | + 'lien_aller_a_la_derniere_page' => 'Ir para a última página', |
|
| 495 | + 'lien_aller_a_la_page_nb' => 'Ir para a página @nb@', |
|
| 496 | + 'lien_aller_a_la_page_precedente' => 'Ir para a página anterior', |
|
| 497 | + 'lien_aller_a_la_page_suivante' => 'Ir para a página seguinte', |
|
| 498 | + 'lien_aller_a_la_premiere_page' => 'Ir para a primeira página', |
|
| 499 | + 'lien_liberer' => 'liberar', |
|
| 500 | + 'lien_liberer_tous' => 'liberar todas', |
|
| 501 | + 'lien_nouvea_pense_bete' => 'NOVO LEMBRETE', |
|
| 502 | + 'lien_nouveau_message' => 'NOVA MENSAGEM', |
|
| 503 | + 'lien_nouvelle_annonce' => 'NOVO ANÚNCIO', |
|
| 504 | + 'lien_petitions' => 'PETIÇÃO', |
|
| 505 | + 'lien_popularite' => 'popularidade: @popularite@%', |
|
| 506 | + 'lien_racine_site' => 'RAIZ DO SITE', |
|
| 507 | + 'lien_reessayer' => 'tente novamente', |
|
| 508 | + 'lien_repondre_message' => 'Responder a esta mensagem', |
|
| 509 | + 'lien_supprimer' => 'excluir', |
|
| 510 | + 'lien_tout_afficher' => 'Mostrar tudo', |
|
| 511 | + 'lien_visite_site' => 'visitar este site', |
|
| 512 | + 'lien_visites' => '@visites@ visitas', |
|
| 513 | + 'lien_voir_auteur' => 'Ver este autor', |
|
| 514 | + 'ligne' => 'Linha', |
|
| 515 | + 'login' => 'Conexão', |
|
| 516 | + 'login_acces_prive' => 'acesso ao espaço privado', |
|
| 517 | + 'login_autre_identifiant' => 'conectar-se com outra identificação', |
|
| 518 | + 'login_cookie_accepte' => 'Por favor, configure o seu navegador para aceitá-los (pelo menos para este site).', |
|
| 519 | + 'login_cookie_oblige' => 'Para você se identificar de modo seguro neste site, você precisa aceitar cookies.', |
|
| 520 | + 'login_deconnexion_ok' => 'Desconexão efetuada.', |
|
| 521 | + 'login_erreur_pass' => 'Erro de senha.', |
|
| 522 | + 'login_espace_prive' => 'espaço privado', |
|
| 523 | + 'login_identifiant_inconnu' => 'O identificador «@login@» não está cadastrado.', |
|
| 524 | + 'login_login' => 'Login:', |
|
| 525 | + 'login_login2' => 'Login', |
|
| 526 | + 'login_login_pass_incorrect' => '(Login ou senha incorreta.)', |
|
| 527 | + 'login_motpasseoublie' => 'esqueceu sua senha?', |
|
| 528 | + 'login_non_securise' => 'Atenção, este formulário não é seguro. |
|
| 529 | 529 | Se você não quiser que a sua senha possa ser interceptada na rede, por favor ative o Javascript no seu navegador e', |
| 530 | - 'login_nouvelle_tentative' => 'Tentar novamente', |
|
| 531 | - 'login_par_ici' => 'VocÊ está registrado... por aqui...', |
|
| 532 | - 'login_pass2' => 'Senha:', |
|
| 533 | - 'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:', |
|
| 534 | - 'login_recharger' => 'atualizar esta página', |
|
| 535 | - 'login_rester_identifie' => 'Manter-se identificado', |
|
| 536 | - 'login_retour_public' => 'Voltar ao site público', |
|
| 537 | - 'login_retour_site' => 'Voltar ao site público', |
|
| 538 | - 'login_retoursitepublic' => 'voltar ao site público', |
|
| 539 | - 'login_sans_cookie' => 'Identificação sem cookie', |
|
| 540 | - 'login_securise' => 'Login seguro', |
|
| 541 | - 'login_sinscrire' => 'cadastrar-se', |
|
| 542 | - 'login_test_navigateur' => 'testar navegador/reconexão', |
|
| 543 | - 'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)', |
|
| 530 | + 'login_nouvelle_tentative' => 'Tentar novamente', |
|
| 531 | + 'login_par_ici' => 'VocÊ está registrado... por aqui...', |
|
| 532 | + 'login_pass2' => 'Senha:', |
|
| 533 | + 'login_preferez_refuser' => '<b>Se você prefere recusar os cookies</b>, um outro método de conexão (menos seguro) está disponível:', |
|
| 534 | + 'login_recharger' => 'atualizar esta página', |
|
| 535 | + 'login_rester_identifie' => 'Manter-se identificado', |
|
| 536 | + 'login_retour_public' => 'Voltar ao site público', |
|
| 537 | + 'login_retour_site' => 'Voltar ao site público', |
|
| 538 | + 'login_retoursitepublic' => 'voltar ao site público', |
|
| 539 | + 'login_sans_cookie' => 'Identificação sem cookie', |
|
| 540 | + 'login_securise' => 'Login seguro', |
|
| 541 | + 'login_sinscrire' => 'cadastrar-se', |
|
| 542 | + 'login_test_navigateur' => 'testar navegador/reconexão', |
|
| 543 | + 'login_verifiez_navigateur' => '(Verifique sempre se o seu navegador não está memorizando a sua senha...)', |
|
| 544 | 544 | |
| 545 | - // M |
|
| 546 | - 'masquer_colonne' => 'Ocultar esta coluna', |
|
| 547 | - 'masquer_trad' => 'esconder as traduções', |
|
| 548 | - 'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.', |
|
| 549 | - 'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.', |
|
| 550 | - 'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.', |
|
| 551 | - 'module_fichiers_langues' => 'Arquivos de idioma', |
|
| 545 | + // M |
|
| 546 | + 'masquer_colonne' => 'Ocultar esta coluna', |
|
| 547 | + 'masquer_trad' => 'esconder as traduções', |
|
| 548 | + 'message_nouveaux_identifiants_echec' => 'Impossível criar novos logins.', |
|
| 549 | + 'message_nouveaux_identifiants_echec_envoi' => 'Os novos logins de conexão não puderam ser enviados.', |
|
| 550 | + 'message_nouveaux_identifiants_ok' => 'Os novos logins de conexão foram enviados para @email@.', |
|
| 551 | + 'module_fichiers_langues' => 'Arquivos de idioma', |
|
| 552 | 552 | |
| 553 | - // N |
|
| 554 | - 'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.', |
|
| 555 | - 'numero' => 'Número', |
|
| 553 | + // N |
|
| 554 | + 'navigateur_pas_redirige' => 'Se o seu navegador não o redirecionar, clique aqui para continuar.', |
|
| 555 | + 'numero' => 'Número', |
|
| 556 | 556 | |
| 557 | - // O |
|
| 558 | - 'occurence' => 'Ocorrência', |
|
| 559 | - 'onglet_affacer_base' => 'Apagar a base', |
|
| 560 | - 'onglet_auteur' => 'O autor', |
|
| 561 | - 'onglet_contenu_site' => 'Conteúdo do site', |
|
| 562 | - 'onglet_evolution_visite_mod' => 'Evolução', |
|
| 563 | - 'onglet_fonctions_avances' => 'Funções avançadas', |
|
| 564 | - 'onglet_informations_personnelles' => 'Informações pessoais', |
|
| 565 | - 'onglet_interactivite' => 'Interatividade', |
|
| 566 | - 'onglet_messagerie' => 'Sistema de mensagens', |
|
| 567 | - 'onglet_repartition_rubrique' => 'Repartição por seções', |
|
| 568 | - 'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base', |
|
| 569 | - 'onglet_vider_cache' => 'Esvaziar o cache', |
|
| 557 | + // O |
|
| 558 | + 'occurence' => 'Ocorrência', |
|
| 559 | + 'onglet_affacer_base' => 'Apagar a base', |
|
| 560 | + 'onglet_auteur' => 'O autor', |
|
| 561 | + 'onglet_contenu_site' => 'Conteúdo do site', |
|
| 562 | + 'onglet_evolution_visite_mod' => 'Evolução', |
|
| 563 | + 'onglet_fonctions_avances' => 'Funções avançadas', |
|
| 564 | + 'onglet_informations_personnelles' => 'Informações pessoais', |
|
| 565 | + 'onglet_interactivite' => 'Interatividade', |
|
| 566 | + 'onglet_messagerie' => 'Sistema de mensagens', |
|
| 567 | + 'onglet_repartition_rubrique' => 'Repartição por seções', |
|
| 568 | + 'onglet_save_restaur_base' => 'Fazer cópia de segurança/restaurar a base', |
|
| 569 | + 'onglet_vider_cache' => 'Esvaziar o cache', |
|
| 570 | 570 | |
| 571 | - // P |
|
| 572 | - 'pass_choix_pass' => 'Por favor, escolha a sua nova senha:', |
|
| 573 | - 'pass_erreur' => 'Erro', |
|
| 574 | - 'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.', |
|
| 575 | - 'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.', |
|
| 576 | - 'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.', |
|
| 577 | - 'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!', |
|
| 578 | - 'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.', |
|
| 579 | - 'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.', |
|
| 580 | - 'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.', |
|
| 581 | - 'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.', |
|
| 582 | - 'pass_mail_passcookie' => '(esta é uma mensagem automática) |
|
| 571 | + // P |
|
| 572 | + 'pass_choix_pass' => 'Por favor, escolha a sua nova senha:', |
|
| 573 | + 'pass_erreur' => 'Erro', |
|
| 574 | + 'pass_erreur_acces_refuse' => '<b>Erro:</b> você não tem mais acesso a este site.', |
|
| 575 | + 'pass_erreur_code_inconnu' => '<b>Erro:</b> este login não corresponde a nenhum visitante com permissão de acesso a este site.', |
|
| 576 | + 'pass_erreur_non_enregistre' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não está cadastrado neste site.', |
|
| 577 | + 'pass_erreur_non_valide' => '<b>Erro:</b> o e-mail <tt>@email_oubli@</tt> não é válido!', |
|
| 578 | + 'pass_erreur_probleme_technique' => '<b>Erro:</b> este e-mail não pôde ser enviado devido a um problema técnico.', |
|
| 579 | + 'pass_espace_prive_bla' => 'O espaço privado deste site é aberto aos visitantes, após inscrição. Uma vez cadastrado, você poderá consultar as matérias em fase de redação, propor a publicação de novas matérias e participar de todos os fóruns.', |
|
| 580 | + 'pass_forum_bla' => 'Você soliciou a participação num fórum reservado a visitantes registrados.', |
|
| 581 | + 'pass_indiquez_cidessous' => 'Informe abaixo o endereço de e-mail com o qual você se cadastrou anteriormente. Você receberá um e-mail lhe indicando os procedimentos a seguir para recuperar o seu acesso.', |
|
| 582 | + 'pass_mail_passcookie' => '(esta é uma mensagem automática) |
|
| 583 | 583 | Para recuperar o seu acesso ao site |
| 584 | 584 | @nom_site_spip@ (@adresse_site@) |
| 585 | 585 | |
@@ -591,136 +591,136 @@ discard block |
||
| 591 | 591 | e reconectar-se com o site. |
| 592 | 592 | |
| 593 | 593 | ', |
| 594 | - 'pass_mot_oublie' => 'Senha esquecida', |
|
| 595 | - 'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.', |
|
| 596 | - 'pass_nouveau_pass' => 'Nova senha', |
|
| 597 | - 'pass_ok' => 'OK', |
|
| 598 | - 'pass_oubli_mot' => 'Esquecimento de senha', |
|
| 599 | - 'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.', |
|
| 600 | - 'pass_quitter_fenetre' => 'Fechar esta janela', |
|
| 601 | - 'pass_rappel_login' => 'Lembrete: seu login é «@login@».', |
|
| 602 | - 'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).', |
|
| 603 | - 'pass_retour_public' => 'Voltar para o site público', |
|
| 604 | - 'pass_rien_a_faire_ici' => 'Nada a fazer aqui.', |
|
| 605 | - 'pass_vousinscrire' => 'Cadastrar-se neste site', |
|
| 606 | - 'precedent' => 'precedente', |
|
| 607 | - 'previsualisation' => 'Visualização', |
|
| 608 | - 'previsualiser' => 'Visualizar', |
|
| 594 | + 'pass_mot_oublie' => 'Senha esquecida', |
|
| 595 | + 'pass_nouveau_enregistre' => 'Sua nova senha foi cadastrada.', |
|
| 596 | + 'pass_nouveau_pass' => 'Nova senha', |
|
| 597 | + 'pass_ok' => 'OK', |
|
| 598 | + 'pass_oubli_mot' => 'Esquecimento de senha', |
|
| 599 | + 'pass_procedure_changer' => 'Para alterar a sua senha, por favor informe o endereço de e-mail associado à sua conta.', |
|
| 600 | + 'pass_quitter_fenetre' => 'Fechar esta janela', |
|
| 601 | + 'pass_rappel_login' => 'Lembrete: seu login é «@login@».', |
|
| 602 | + 'pass_recevoir_mail' => 'Um link para redefinição da sua senha foi enviado para o seu endereço de e-mail (se ele for válido).', |
|
| 603 | + 'pass_retour_public' => 'Voltar para o site público', |
|
| 604 | + 'pass_rien_a_faire_ici' => 'Nada a fazer aqui.', |
|
| 605 | + 'pass_vousinscrire' => 'Cadastrar-se neste site', |
|
| 606 | + 'precedent' => 'precedente', |
|
| 607 | + 'previsualisation' => 'Visualização', |
|
| 608 | + 'previsualiser' => 'Visualizar', |
|
| 609 | 609 | |
| 610 | - // R |
|
| 611 | - 'retour' => 'Voltar', |
|
| 610 | + // R |
|
| 611 | + 'retour' => 'Voltar', |
|
| 612 | 612 | |
| 613 | - // S |
|
| 614 | - 'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:', |
|
| 615 | - 'squelette' => 'template', |
|
| 616 | - 'squelette_inclus_ligne' => 'template incluído, linha', |
|
| 617 | - 'squelette_ligne' => 'template, linha', |
|
| 618 | - 'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@', |
|
| 619 | - 'suivant' => 'seguinte', |
|
| 613 | + // S |
|
| 614 | + 'spip_conforme_dtd' => 'O SPIP considera este documento de acordo com o seu DOCTYPE:', |
|
| 615 | + 'squelette' => 'template', |
|
| 616 | + 'squelette_inclus_ligne' => 'template incluído, linha', |
|
| 617 | + 'squelette_ligne' => 'template, linha', |
|
| 618 | + 'stats_visites_et_popularite' => '@visites@ visitas; popularidade: @popularite@', |
|
| 619 | + 'suivant' => 'seguinte', |
|
| 620 | 620 | |
| 621 | - // T |
|
| 622 | - 'taille_go' => '@taille@ GB', |
|
| 623 | - 'taille_ko' => '@taille@ KB', |
|
| 624 | - 'taille_mo' => '@taille@ MB', |
|
| 625 | - 'taille_octets' => ' @taille@ bytes', |
|
| 626 | - 'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «', |
|
| 627 | - 'texte_actualite_site_2' => 'interface completa', |
|
| 628 | - 'texte_actualite_site_3' => '» para abrir mais possibilidades.', |
|
| 629 | - 'texte_creation_automatique_vignette' => 'A criação automática de ícones de visualização está ativada neste site. Se você transferir por este formulário imagens no(s) formato(s) @gd_formats@, elas serão acompanhadas de um ícone com o tamanho máximo de @taille_preview@ pixels.', |
|
| 630 | - 'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria, |
|
| 621 | + // T |
|
| 622 | + 'taille_go' => '@taille@ GB', |
|
| 623 | + 'taille_ko' => '@taille@ KB', |
|
| 624 | + 'taille_mo' => '@taille@ MB', |
|
| 625 | + 'taille_octets' => ' @taille@ bytes', |
|
| 626 | + 'texte_actualite_site_1' => 'Quando você estiver mais familiarizado com a interface, clique em «', |
|
| 627 | + 'texte_actualite_site_2' => 'interface completa', |
|
| 628 | + 'texte_actualite_site_3' => '» para abrir mais possibilidades.', |
|
| 629 | + 'texte_creation_automatique_vignette' => 'A criação automática de ícones de visualização está ativada neste site. Se você transferir por este formulário imagens no(s) formato(s) @gd_formats@, elas serão acompanhadas de um ícone com o tamanho máximo de @taille_preview@ pixels.', |
|
| 630 | + 'texte_documents_associes' => 'Os documentos a seguir estão associados à matéria, |
|
| 631 | 631 | mas eles não foram inseridos diretamente. Dependendo da elaboração dos templates do site público, eles podem aparecer como documentos anexados.', |
| 632 | - 'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização. |
|
| 632 | + 'texte_erreur_mise_niveau_base' => 'Erro da base de dados durante a atualização. |
|
| 633 | 633 | A imagem <b>@fichier@</b> não passou (matéria @id_article@). |
| 634 | 634 | Anote esta referência, tente novamente a atualização e, finalmente, verifique se as imagens aparecem nas matérias.', |
| 635 | - 'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.', |
|
| 636 | - 'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base. |
|
| 635 | + 'texte_erreur_visiteur' => 'Você tentou acessar o espaço restrito com um login que não tem a permissão necessária.', |
|
| 636 | + 'texte_inc_auth_1' => 'Você se identificou com o login <b>@auth_login@</b>, mas ele não consta (mais) na base. |
|
| 637 | 637 | Tente se', |
| 638 | - 'texte_inc_auth_2' => 'reconectar', |
|
| 639 | - 'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.', |
|
| 640 | - 'texte_inc_config' => 'As modificações efetuadas nestas páginas influem consideravelmente no funcionamento do seu site. É recomendável não intervir enquanto você não estiver familiarizado com o funcionamento do sistema SPIP.<br /><br /><b>Geralmente, é fortemente aconselhável deixar a carga destas páginas para o webmaster principal do seu site.</b>', |
|
| 641 | - 'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,', |
|
| 642 | - 'texte_inc_meta_2' => 'Verificar os direitos de escrita', |
|
| 643 | - 'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.', |
|
| 644 | - 'texte_statut_en_cours_redaction' => 'em fase de redação', |
|
| 645 | - 'texte_statut_poubelle' => 'na lixeira', |
|
| 646 | - 'texte_statut_propose_evaluation' => 'proposto para avaliação', |
|
| 647 | - 'texte_statut_publie' => 'publicado online', |
|
| 648 | - 'texte_statut_refuse' => 'recusado', |
|
| 649 | - 'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:', |
|
| 650 | - 'titre_cadre_raccourcis' => 'ATALHOS:', |
|
| 651 | - 'titre_changer_couleur_interface' => 'Alterar a côr da interface', |
|
| 652 | - 'titre_image_admin_article' => 'Você pode administrar esta matéria', |
|
| 653 | - 'titre_image_administrateur' => 'Administrador', |
|
| 654 | - 'titre_image_aide' => 'Ajuda sobre este elemento', |
|
| 655 | - 'titre_image_auteur_supprime' => 'Autor excluído', |
|
| 656 | - 'titre_image_redacteur' => 'Redator sem acesso', |
|
| 657 | - 'titre_image_redacteur_02' => 'Redator', |
|
| 658 | - 'titre_image_selecteur' => 'Ver a lista', |
|
| 659 | - 'titre_image_visiteur' => 'Visitante', |
|
| 660 | - 'titre_joindre_document' => 'INCLUIR UM DOCUMENTO', |
|
| 661 | - 'titre_mots_cles' => 'PALAVRAS-CHAVE', |
|
| 662 | - 'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.', |
|
| 663 | - 'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO', |
|
| 664 | - 'titre_signatures_attente' => 'Assinaturas aguardando validação', |
|
| 665 | - 'titre_signatures_confirmees' => 'Assinaturas confirmadas', |
|
| 666 | - 'titre_statistiques' => 'Estatísticas do site', |
|
| 667 | - 'titre_titre_document' => 'Título do documento:', |
|
| 668 | - 'todo' => 'breve', |
|
| 669 | - 'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções', |
|
| 670 | - 'trad_reference' => '(matéria das traduções)', |
|
| 638 | + 'texte_inc_auth_2' => 'reconectar', |
|
| 639 | + 'texte_inc_auth_3' => ', após ter eventualmente saído e reiniciado o seu navegador.', |
|
| 640 | + 'texte_inc_config' => 'As modificações efetuadas nestas páginas influem consideravelmente no funcionamento do seu site. É recomendável não intervir enquanto você não estiver familiarizado com o funcionamento do sistema SPIP.<br /><br /><b>Geralmente, é fortemente aconselhável deixar a carga destas páginas para o webmaster principal do seu site.</b>', |
|
| 641 | + 'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>@fichier@</code>. Como administrador do site, queira por favor,', |
|
| 642 | + 'texte_inc_meta_2' => 'Verificar os direitos de escrita', |
|
| 643 | + 'texte_inc_meta_3' => 'no diretório <code>@repertoire@</code>.', |
|
| 644 | + 'texte_statut_en_cours_redaction' => 'em fase de redação', |
|
| 645 | + 'texte_statut_poubelle' => 'na lixeira', |
|
| 646 | + 'texte_statut_propose_evaluation' => 'proposto para avaliação', |
|
| 647 | + 'texte_statut_publie' => 'publicado online', |
|
| 648 | + 'texte_statut_refuse' => 'recusado', |
|
| 649 | + 'titre_ajouter_mot_cle' => 'INCLUIR UMA PALAVRA-CHAVE:', |
|
| 650 | + 'titre_cadre_raccourcis' => 'ATALHOS:', |
|
| 651 | + 'titre_changer_couleur_interface' => 'Alterar a côr da interface', |
|
| 652 | + 'titre_image_admin_article' => 'Você pode administrar esta matéria', |
|
| 653 | + 'titre_image_administrateur' => 'Administrador', |
|
| 654 | + 'titre_image_aide' => 'Ajuda sobre este elemento', |
|
| 655 | + 'titre_image_auteur_supprime' => 'Autor excluído', |
|
| 656 | + 'titre_image_redacteur' => 'Redator sem acesso', |
|
| 657 | + 'titre_image_redacteur_02' => 'Redator', |
|
| 658 | + 'titre_image_selecteur' => 'Ver a lista', |
|
| 659 | + 'titre_image_visiteur' => 'Visitante', |
|
| 660 | + 'titre_joindre_document' => 'INCLUIR UM DOCUMENTO', |
|
| 661 | + 'titre_mots_cles' => 'PALAVRAS-CHAVE', |
|
| 662 | + 'titre_probleme_technique' => 'Atenção: um problema técnico (servidor SQL) impede o acesso a esta parte do site. Agradecemos sua compreensão.', |
|
| 663 | + 'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA SEÇÃO', |
|
| 664 | + 'titre_signatures_attente' => 'Assinaturas aguardando validação', |
|
| 665 | + 'titre_signatures_confirmees' => 'Assinaturas confirmadas', |
|
| 666 | + 'titre_statistiques' => 'Estatísticas do site', |
|
| 667 | + 'titre_titre_document' => 'Título do documento:', |
|
| 668 | + 'todo' => 'breve', |
|
| 669 | + 'trad_definir_reference' => 'Escolher "@titre@" como referência das traduções', |
|
| 670 | + 'trad_reference' => '(matéria das traduções)', |
|
| 671 | 671 | |
| 672 | - // U |
|
| 673 | - 'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.', |
|
| 672 | + // U |
|
| 673 | + 'upload_limit' => 'Este arquivo é grande demais para o servidor; o tamanho máximo autorizado para <i>upload</i> é de @max@.', |
|
| 674 | 674 | |
| 675 | - // Z |
|
| 676 | - 'zbug_balise_b_aval' => ': tag B colocada após BOUCLE', |
|
| 677 | - 'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@', |
|
| 678 | - 'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@', |
|
| 679 | - 'zbug_boucle' => 'laço', |
|
| 680 | - 'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@', |
|
| 681 | - 'zbug_calcul' => 'cálculo', |
|
| 682 | - 'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço', |
|
| 683 | - 'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@', |
|
| 684 | - 'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@', |
|
| 685 | - 'zbug_code' => 'código', |
|
| 686 | - 'zbug_critere_inconnu' => 'Critério @critere@ desconhecido', |
|
| 687 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica', |
|
| 688 | - 'zbug_distant_interdit' => 'Externa interdita', |
|
| 689 | - 'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica', |
|
| 690 | - 'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index', |
|
| 691 | - 'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@', |
|
| 692 | - 'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado', |
|
| 693 | - 'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta', |
|
| 694 | - 'zbug_erreur_compilation' => 'Erro de compilação', |
|
| 695 | - 'zbug_erreur_execution_page' => 'Erro de execução', |
|
| 696 | - 'zbug_erreur_filtre' => 'Filtro @filtre@ não definido', |
|
| 697 | - 'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)', |
|
| 698 | - 'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)', |
|
| 699 | - 'zbug_erreur_squelette' => 'Erro(s) no template', |
|
| 700 | - 'zbug_hors_compilation' => 'Fora de Compilação', |
|
| 701 | - 'zbug_info_erreur_squelette' => 'Erro no site', |
|
| 702 | - 'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente', |
|
| 703 | - 'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva', |
|
| 704 | - 'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@', |
|
| 705 | - 'zbug_profile' => 'Tempo de processamento: @time@', |
|
| 706 | - 'zbug_resultat' => 'resultado', |
|
| 707 | - 'zbug_serveur_indefini' => 'Sevidor SQL não definido', |
|
| 708 | - 'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração', |
|
| 709 | - 'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida', |
|
| 710 | - 'zxml_connus_attributs' => 'atributos conhecidos', |
|
| 711 | - 'zxml_de' => 'de', |
|
| 712 | - 'zxml_inconnu_attribut' => 'atributo desconhecido', |
|
| 713 | - 'zxml_inconnu_balise' => 'tag desconhecida', |
|
| 714 | - 'zxml_inconnu_entite' => 'entidade desconhecida', |
|
| 715 | - 'zxml_inconnu_id' => 'ID desconhecida', |
|
| 716 | - 'zxml_mais_de' => 'mas de', |
|
| 717 | - 'zxml_non_conforme' => 'não está de acordo com o motivo', |
|
| 718 | - 'zxml_non_fils' => 'não é filho de', |
|
| 719 | - 'zxml_nonvide_balise' => 'tag não vazia', |
|
| 720 | - 'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em', |
|
| 721 | - 'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta', |
|
| 722 | - 'zxml_survoler' => 'sobrepor para ver os corretos', |
|
| 723 | - 'zxml_valeur_attribut' => 'valor do atributo', |
|
| 724 | - 'zxml_vide_balise' => 'tag vazia', |
|
| 725 | - 'zxml_vu' => 'previsualização' |
|
| 675 | + // Z |
|
| 676 | + 'zbug_balise_b_aval' => ': tag B colocada após BOUCLE', |
|
| 677 | + 'zbug_balise_inexistante' => 'Tag @balise@ mal declarada para @from@', |
|
| 678 | + 'zbug_balise_sans_argument' => 'Falta um arqumento na tag @balise@', |
|
| 679 | + 'zbug_boucle' => 'laço', |
|
| 680 | + 'zbug_boucle_recursive_undef' => 'Laço recursivo não definido: @nom@', |
|
| 681 | + 'zbug_calcul' => 'cálculo', |
|
| 682 | + 'zbug_champ_hors_boucle' => 'Campo @champ@ fora do laço', |
|
| 683 | + 'zbug_champ_hors_critere' => 'Campo @champ@ fora do critério @critere@', |
|
| 684 | + 'zbug_champ_hors_motif' => 'Campo @champ@ fora de um contexto @motif@', |
|
| 685 | + 'zbug_code' => 'código', |
|
| 686 | + 'zbug_critere_inconnu' => 'Critério @critere@ desconhecido', |
|
| 687 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} em uma tabela sem chave primária atômica', |
|
| 688 | + 'zbug_distant_interdit' => 'Externa interdita', |
|
| 689 | + 'zbug_doublon_table_sans_cle_primaire' => 'Duplicação em tabela sem chave primária atômica', |
|
| 690 | + 'zbug_doublon_table_sans_index' => 'Doublons em uma tabela sem index', |
|
| 691 | + 'zbug_erreur_boucle_double' => 'Dupla definição do laço @id@', |
|
| 692 | + 'zbug_erreur_boucle_fermant' => 'Laço @id@ não fechado', |
|
| 693 | + 'zbug_erreur_boucle_syntaxe' => 'Sintaxe do laço @id@ está incorreta', |
|
| 694 | + 'zbug_erreur_compilation' => 'Erro de compilação', |
|
| 695 | + 'zbug_erreur_execution_page' => 'Erro de execução', |
|
| 696 | + 'zbug_erreur_filtre' => 'Filtro @filtre@ não definido', |
|
| 697 | + 'zbug_erreur_filtre_nbarg_min' => 'Filtro @filtre@: falta(m) @nb@ argumento(s)', |
|
| 698 | + 'zbug_erreur_meme_parent' => 'O critério {meme_parent} aplica-se exclusivamente aos laços (FORUMS) ou (RUBRIQUES)', |
|
| 699 | + 'zbug_erreur_squelette' => 'Erro(s) no template', |
|
| 700 | + 'zbug_hors_compilation' => 'Fora de Compilação', |
|
| 701 | + 'zbug_info_erreur_squelette' => 'Erro no site', |
|
| 702 | + 'zbug_inversion_ordre_inexistant' => 'Inversão de uma ordem inexistente', |
|
| 703 | + 'zbug_pagination_sans_critere' => 'Tag #PAGINATION sem critério {pagination} ou usada dentro de uma boucle recursiva', |
|
| 704 | + 'zbug_parametres_inclus_incorrects' => 'Parâmetro de inclusão incorreto: @param@', |
|
| 705 | + 'zbug_profile' => 'Tempo de processamento: @time@', |
|
| 706 | + 'zbug_resultat' => 'resultado', |
|
| 707 | + 'zbug_serveur_indefini' => 'Sevidor SQL não definido', |
|
| 708 | + 'zbug_statistiques' => 'Estatísticas das requisições SQL classificadas por duração', |
|
| 709 | + 'zbug_table_inconnue' => 'Tabela SQL «@table@» desconhecida', |
|
| 710 | + 'zxml_connus_attributs' => 'atributos conhecidos', |
|
| 711 | + 'zxml_de' => 'de', |
|
| 712 | + 'zxml_inconnu_attribut' => 'atributo desconhecido', |
|
| 713 | + 'zxml_inconnu_balise' => 'tag desconhecida', |
|
| 714 | + 'zxml_inconnu_entite' => 'entidade desconhecida', |
|
| 715 | + 'zxml_inconnu_id' => 'ID desconhecida', |
|
| 716 | + 'zxml_mais_de' => 'mas de', |
|
| 717 | + 'zxml_non_conforme' => 'não está de acordo com o motivo', |
|
| 718 | + 'zxml_non_fils' => 'não é filho de', |
|
| 719 | + 'zxml_nonvide_balise' => 'tag não vazia', |
|
| 720 | + 'zxml_obligatoire_attribut' => 'atributo obrigatório mas ausente em', |
|
| 721 | + 'zxml_succession_fils_incorrecte' => 'sucessão de filhos incorreta', |
|
| 722 | + 'zxml_survoler' => 'sobrepor para ver os corretos', |
|
| 723 | + 'zxml_valeur_attribut' => 'valor do atributo', |
|
| 724 | + 'zxml_vide_balise' => 'tag vazia', |
|
| 725 | + 'zxml_vu' => 'previsualização' |
|
| 726 | 726 | ); |