@@ -17,7 +17,7 @@ discard block |
||
| 17 | 17 | **/ |
| 18 | 18 | |
| 19 | 19 | if (defined('_ECRIRE_INC_VERSION')) { |
| 20 | - return; |
|
| 20 | + return; |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | /** |
@@ -37,15 +37,15 @@ discard block |
||
| 37 | 37 | define('_PHP_MAX', '8.1.99'); |
| 38 | 38 | |
| 39 | 39 | if (!defined('_DIR_RESTREINT_ABS')) { |
| 40 | - /** le nom du repertoire ecrire/ */ |
|
| 41 | - define('_DIR_RESTREINT_ABS', 'ecrire/'); |
|
| 40 | + /** le nom du repertoire ecrire/ */ |
|
| 41 | + define('_DIR_RESTREINT_ABS', 'ecrire/'); |
|
| 42 | 42 | } |
| 43 | 43 | |
| 44 | 44 | /** Chemin relatif pour aller dans ecrire |
| 45 | 45 | * vide si on est dans ecrire, 'ecrire/' sinon */ |
| 46 | 46 | define( |
| 47 | - '_DIR_RESTREINT', |
|
| 48 | - (!is_dir(_DIR_RESTREINT_ABS) ? '' : _DIR_RESTREINT_ABS) |
|
| 47 | + '_DIR_RESTREINT', |
|
| 48 | + (!is_dir(_DIR_RESTREINT_ABS) ? '' : _DIR_RESTREINT_ABS) |
|
| 49 | 49 | ); |
| 50 | 50 | |
| 51 | 51 | /** Chemin relatif pour aller à la racine */ |
@@ -60,8 +60,8 @@ discard block |
||
| 60 | 60 | |
| 61 | 61 | // Icones |
| 62 | 62 | if (!defined('_NOM_IMG_PACK')) { |
| 63 | - /** Nom du dossier images */ |
|
| 64 | - define('_NOM_IMG_PACK', 'images/'); |
|
| 63 | + /** Nom du dossier images */ |
|
| 64 | + define('_NOM_IMG_PACK', 'images/'); |
|
| 65 | 65 | } |
| 66 | 66 | /** le chemin http (relatif) vers les images standard */ |
| 67 | 67 | define('_DIR_IMG_PACK', (_DIR_RACINE . 'prive/' . _NOM_IMG_PACK)); |
@@ -70,8 +70,8 @@ discard block |
||
| 70 | 70 | define('_ROOT_IMG_PACK', dirname(__DIR__) . '/prive/' . _NOM_IMG_PACK); |
| 71 | 71 | |
| 72 | 72 | if (!defined('_JAVASCRIPT')) { |
| 73 | - /** Nom du repertoire des bibliotheques JavaScript */ |
|
| 74 | - define('_JAVASCRIPT', 'javascript/'); |
|
| 73 | + /** Nom du repertoire des bibliotheques JavaScript */ |
|
| 74 | + define('_JAVASCRIPT', 'javascript/'); |
|
| 75 | 75 | } // utilisable avec #CHEMIN et find_in_path |
| 76 | 76 | /** le nom du repertoire des bibliotheques JavaScript du prive */ |
| 77 | 77 | define('_DIR_JAVASCRIPT', (_DIR_RACINE . 'prive/' . _JAVASCRIPT)); |
@@ -81,47 +81,47 @@ discard block |
||
| 81 | 81 | # mais on peut les mettre ailleurs et changer completement les noms |
| 82 | 82 | |
| 83 | 83 | if (!defined('_NOM_TEMPORAIRES_INACCESSIBLES')) { |
| 84 | - /** Nom du repertoire des fichiers Temporaires Inaccessibles par http:// */ |
|
| 85 | - define('_NOM_TEMPORAIRES_INACCESSIBLES', 'tmp/'); |
|
| 84 | + /** Nom du repertoire des fichiers Temporaires Inaccessibles par http:// */ |
|
| 85 | + define('_NOM_TEMPORAIRES_INACCESSIBLES', 'tmp/'); |
|
| 86 | 86 | } |
| 87 | 87 | if (!defined('_NOM_TEMPORAIRES_ACCESSIBLES')) { |
| 88 | - /** Nom du repertoire des fichiers Temporaires Accessibles par http:// */ |
|
| 89 | - define('_NOM_TEMPORAIRES_ACCESSIBLES', 'local/'); |
|
| 88 | + /** Nom du repertoire des fichiers Temporaires Accessibles par http:// */ |
|
| 89 | + define('_NOM_TEMPORAIRES_ACCESSIBLES', 'local/'); |
|
| 90 | 90 | } |
| 91 | 91 | if (!defined('_NOM_PERMANENTS_INACCESSIBLES')) { |
| 92 | - /** Nom du repertoire des fichiers Permanents Inaccessibles par http:// */ |
|
| 93 | - define('_NOM_PERMANENTS_INACCESSIBLES', 'config/'); |
|
| 92 | + /** Nom du repertoire des fichiers Permanents Inaccessibles par http:// */ |
|
| 93 | + define('_NOM_PERMANENTS_INACCESSIBLES', 'config/'); |
|
| 94 | 94 | } |
| 95 | 95 | if (!defined('_NOM_PERMANENTS_ACCESSIBLES')) { |
| 96 | - /** Nom du repertoire des fichiers Permanents Accessibles par http:// */ |
|
| 97 | - define('_NOM_PERMANENTS_ACCESSIBLES', 'IMG/'); |
|
| 96 | + /** Nom du repertoire des fichiers Permanents Accessibles par http:// */ |
|
| 97 | + define('_NOM_PERMANENTS_ACCESSIBLES', 'IMG/'); |
|
| 98 | 98 | } |
| 99 | 99 | |
| 100 | 100 | |
| 101 | 101 | /** Le nom du fichier de personnalisation */ |
| 102 | 102 | if (!defined('_NOM_CONFIG')) { |
| 103 | - define('_NOM_CONFIG', 'mes_options'); |
|
| 103 | + define('_NOM_CONFIG', 'mes_options'); |
|
| 104 | 104 | } |
| 105 | 105 | |
| 106 | 106 | // Son emplacement absolu si on le trouve |
| 107 | 107 | if ( |
| 108 | - @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . _NOM_CONFIG . '.php') |
|
| 109 | - or (@file_exists($f = _ROOT_RESTREINT . _NOM_CONFIG . '.php')) |
|
| 108 | + @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . _NOM_CONFIG . '.php') |
|
| 109 | + or (@file_exists($f = _ROOT_RESTREINT . _NOM_CONFIG . '.php')) |
|
| 110 | 110 | ) { |
| 111 | - /** Emplacement absolu du fichier d'option */ |
|
| 112 | - define('_FILE_OPTIONS', $f); |
|
| 111 | + /** Emplacement absolu du fichier d'option */ |
|
| 112 | + define('_FILE_OPTIONS', $f); |
|
| 113 | 113 | } else { |
| 114 | - define('_FILE_OPTIONS', ''); |
|
| 114 | + define('_FILE_OPTIONS', ''); |
|
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | if (!defined('MODULES_IDIOMES')) { |
| 118 | - /** |
|
| 119 | - * Modules par défaut pour la traduction. |
|
| 120 | - * |
|
| 121 | - * Constante utilisée par le compilateur et le décompilateur |
|
| 122 | - * sa valeur etant traitée par inc_traduire_dist |
|
| 123 | - */ |
|
| 124 | - define('MODULES_IDIOMES', 'public|spip|ecrire'); |
|
| 118 | + /** |
|
| 119 | + * Modules par défaut pour la traduction. |
|
| 120 | + * |
|
| 121 | + * Constante utilisée par le compilateur et le décompilateur |
|
| 122 | + * sa valeur etant traitée par inc_traduire_dist |
|
| 123 | + */ |
|
| 124 | + define('MODULES_IDIOMES', 'public|spip|ecrire'); |
|
| 125 | 125 | } |
| 126 | 126 | |
| 127 | 127 | // *** Fin des define *** // |
@@ -129,10 +129,10 @@ discard block |
||
| 129 | 129 | |
| 130 | 130 | // Inclure l'ecran de securite |
| 131 | 131 | if ( |
| 132 | - !defined('_ECRAN_SECURITE') |
|
| 133 | - and @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_securite.php') |
|
| 132 | + !defined('_ECRAN_SECURITE') |
|
| 133 | + and @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_securite.php') |
|
| 134 | 134 | ) { |
| 135 | - include $f; |
|
| 135 | + include $f; |
|
| 136 | 136 | } |
| 137 | 137 | |
| 138 | 138 | |
@@ -140,30 +140,30 @@ discard block |
||
| 140 | 140 | * Détecteur de robot d'indexation |
| 141 | 141 | */ |
| 142 | 142 | if (!defined('_IS_BOT')) { |
| 143 | - define( |
|
| 144 | - '_IS_BOT', |
|
| 145 | - isset($_SERVER['HTTP_USER_AGENT']) |
|
| 146 | - and preg_match( |
|
| 147 | - // mots generiques |
|
| 148 | - ',bot|slurp|crawler|spider|webvac|yandex|' |
|
| 149 | - // MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot |
|
| 150 | - . 'MSIE 6\.0|' |
|
| 151 | - // UA plus cibles |
|
| 152 | - . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|facebook|flipboard|hootsuite|FunWebProducts|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|MetaURI|Moreover|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti' |
|
| 153 | - . ',i', |
|
| 154 | - (string)$_SERVER['HTTP_USER_AGENT'] |
|
| 155 | - ) |
|
| 156 | - ); |
|
| 143 | + define( |
|
| 144 | + '_IS_BOT', |
|
| 145 | + isset($_SERVER['HTTP_USER_AGENT']) |
|
| 146 | + and preg_match( |
|
| 147 | + // mots generiques |
|
| 148 | + ',bot|slurp|crawler|spider|webvac|yandex|' |
|
| 149 | + // MSIE 6.0 est un botnet 99,9% du temps, on traite donc ce USER_AGENT comme un bot |
|
| 150 | + . 'MSIE 6\.0|' |
|
| 151 | + // UA plus cibles |
|
| 152 | + . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|facebook|flipboard|hootsuite|FunWebProducts|Google|Genieo|INA dlweb|InfegyAtlas|Java VM|LiteFinder|Lycos|MetaURI|Moreover|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti' |
|
| 153 | + . ',i', |
|
| 154 | + (string)$_SERVER['HTTP_USER_AGENT'] |
|
| 155 | + ) |
|
| 156 | + ); |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | if (!defined('_IS_CLI')) { |
| 160 | - define( |
|
| 161 | - '_IS_CLI', |
|
| 162 | - !isset($_SERVER['HTTP_HOST']) |
|
| 163 | - and !strlen($_SERVER['DOCUMENT_ROOT']) |
|
| 164 | - and !empty($_SERVER['argv']) |
|
| 165 | - and empty($_SERVER['REQUEST_METHOD']) |
|
| 166 | - ); |
|
| 160 | + define( |
|
| 161 | + '_IS_CLI', |
|
| 162 | + !isset($_SERVER['HTTP_HOST']) |
|
| 163 | + and !strlen($_SERVER['DOCUMENT_ROOT']) |
|
| 164 | + and !empty($_SERVER['argv']) |
|
| 165 | + and empty($_SERVER['REQUEST_METHOD']) |
|
| 166 | + ); |
|
| 167 | 167 | } |
| 168 | 168 | |
| 169 | 169 | // *** Parametrage par defaut de SPIP *** |
@@ -175,61 +175,61 @@ discard block |
||
| 175 | 175 | // Ne pas les rendre indefinies. |
| 176 | 176 | |
| 177 | 177 | global |
| 178 | - $nombre_de_logs, |
|
| 179 | - $taille_des_logs, |
|
| 180 | - $table_prefix, |
|
| 181 | - $cookie_prefix, |
|
| 182 | - $dossier_squelettes, |
|
| 183 | - $filtrer_javascript, |
|
| 184 | - $type_urls, |
|
| 185 | - $debut_date_publication, |
|
| 186 | - $ip, |
|
| 187 | - $mysql_rappel_connexion, |
|
| 188 | - $mysql_rappel_nom_base, |
|
| 189 | - $test_i18n, |
|
| 190 | - $ignore_auth_http, |
|
| 191 | - $ignore_remote_user, |
|
| 192 | - $derniere_modif_invalide, |
|
| 193 | - $home_server, |
|
| 194 | - $help_server, |
|
| 195 | - $url_glossaire_externe, |
|
| 196 | - $tex_server, |
|
| 197 | - $traiter_math, |
|
| 198 | - $xhtml, |
|
| 199 | - $xml_indent, |
|
| 200 | - $source_vignettes, |
|
| 201 | - $formats_logos, |
|
| 202 | - $controler_dates_rss, |
|
| 203 | - $spip_pipeline, |
|
| 204 | - $spip_matrice, |
|
| 205 | - $plugins, |
|
| 206 | - $surcharges, |
|
| 207 | - $exceptions_des_tables, |
|
| 208 | - $tables_principales, |
|
| 209 | - $table_des_tables, |
|
| 210 | - $tables_auxiliaires, |
|
| 211 | - $table_primary, |
|
| 212 | - $table_date, |
|
| 213 | - $table_titre, |
|
| 214 | - $tables_jointures, |
|
| 215 | - $liste_des_statuts, |
|
| 216 | - $liste_des_etats, |
|
| 217 | - $liste_des_authentifications, |
|
| 218 | - $spip_version_branche, |
|
| 219 | - $spip_version_code, |
|
| 220 | - $spip_version_base, |
|
| 221 | - $spip_sql_version, |
|
| 222 | - $spip_version_affichee, |
|
| 223 | - $visiteur_session, |
|
| 224 | - $auteur_session, |
|
| 225 | - $connect_statut, |
|
| 226 | - $connect_toutes_rubriques, |
|
| 227 | - $hash_recherche, |
|
| 228 | - $hash_recherche_strict, |
|
| 229 | - $ldap_present, |
|
| 230 | - $meta, |
|
| 231 | - $connect_id_rubrique, |
|
| 232 | - $puce; |
|
| 178 | + $nombre_de_logs, |
|
| 179 | + $taille_des_logs, |
|
| 180 | + $table_prefix, |
|
| 181 | + $cookie_prefix, |
|
| 182 | + $dossier_squelettes, |
|
| 183 | + $filtrer_javascript, |
|
| 184 | + $type_urls, |
|
| 185 | + $debut_date_publication, |
|
| 186 | + $ip, |
|
| 187 | + $mysql_rappel_connexion, |
|
| 188 | + $mysql_rappel_nom_base, |
|
| 189 | + $test_i18n, |
|
| 190 | + $ignore_auth_http, |
|
| 191 | + $ignore_remote_user, |
|
| 192 | + $derniere_modif_invalide, |
|
| 193 | + $home_server, |
|
| 194 | + $help_server, |
|
| 195 | + $url_glossaire_externe, |
|
| 196 | + $tex_server, |
|
| 197 | + $traiter_math, |
|
| 198 | + $xhtml, |
|
| 199 | + $xml_indent, |
|
| 200 | + $source_vignettes, |
|
| 201 | + $formats_logos, |
|
| 202 | + $controler_dates_rss, |
|
| 203 | + $spip_pipeline, |
|
| 204 | + $spip_matrice, |
|
| 205 | + $plugins, |
|
| 206 | + $surcharges, |
|
| 207 | + $exceptions_des_tables, |
|
| 208 | + $tables_principales, |
|
| 209 | + $table_des_tables, |
|
| 210 | + $tables_auxiliaires, |
|
| 211 | + $table_primary, |
|
| 212 | + $table_date, |
|
| 213 | + $table_titre, |
|
| 214 | + $tables_jointures, |
|
| 215 | + $liste_des_statuts, |
|
| 216 | + $liste_des_etats, |
|
| 217 | + $liste_des_authentifications, |
|
| 218 | + $spip_version_branche, |
|
| 219 | + $spip_version_code, |
|
| 220 | + $spip_version_base, |
|
| 221 | + $spip_sql_version, |
|
| 222 | + $spip_version_affichee, |
|
| 223 | + $visiteur_session, |
|
| 224 | + $auteur_session, |
|
| 225 | + $connect_statut, |
|
| 226 | + $connect_toutes_rubriques, |
|
| 227 | + $hash_recherche, |
|
| 228 | + $hash_recherche_strict, |
|
| 229 | + $ldap_present, |
|
| 230 | + $meta, |
|
| 231 | + $connect_id_rubrique, |
|
| 232 | + $puce; |
|
| 233 | 233 | |
| 234 | 234 | # comment on logge, defaut 4 tmp/spip.log de 100k, 0 ou 0 suppriment le log |
| 235 | 235 | $nombre_de_logs = 4; |
@@ -284,48 +284,48 @@ discard block |
||
| 284 | 284 | // Prendre en compte les entetes HTTP_X_FORWARDED_XX |
| 285 | 285 | // |
| 286 | 286 | if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { |
| 287 | - if (empty($_SERVER['HTTP_X_FORWARDED_HOST'])) { |
|
| 288 | - $_SERVER['HTTP_X_FORWARDED_HOST'] = $_SERVER['HTTP_HOST']; |
|
| 289 | - } |
|
| 290 | - if (empty($_SERVER['HTTP_X_FORWARDED_PORT'])) { |
|
| 291 | - $_SERVER['HTTP_X_FORWARDED_PORT'] = 443; |
|
| 292 | - } |
|
| 287 | + if (empty($_SERVER['HTTP_X_FORWARDED_HOST'])) { |
|
| 288 | + $_SERVER['HTTP_X_FORWARDED_HOST'] = $_SERVER['HTTP_HOST']; |
|
| 289 | + } |
|
| 290 | + if (empty($_SERVER['HTTP_X_FORWARDED_PORT'])) { |
|
| 291 | + $_SERVER['HTTP_X_FORWARDED_PORT'] = 443; |
|
| 292 | + } |
|
| 293 | 293 | } |
| 294 | 294 | if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { |
| 295 | - if (isset($_SERVER['HTTP_X_FORWARDED_PORT']) and is_numeric($_SERVER['HTTP_X_FORWARDED_PORT'])) { |
|
| 296 | - $_SERVER['SERVER_PORT'] = $_SERVER['HTTP_X_FORWARDED_PORT']; |
|
| 297 | - if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { |
|
| 298 | - $_SERVER['HTTPS'] = 'on'; |
|
| 299 | - if (isset($_SERVER['REQUEST_SCHEME'])) { |
|
| 300 | - $_SERVER['REQUEST_SCHEME'] = 'https'; |
|
| 301 | - } |
|
| 302 | - } |
|
| 303 | - } |
|
| 304 | - $host = $_SERVER['HTTP_X_FORWARDED_HOST']; |
|
| 305 | - if (strpos($host, ',') !== false) { |
|
| 306 | - $h = explode(',', $host); |
|
| 307 | - $host = trim(reset($h)); |
|
| 308 | - } |
|
| 309 | - // securite sur le contenu de l'entete |
|
| 310 | - $host = strtr($host, "<>?\"\{\}\$'` \r\n", '____________'); |
|
| 311 | - $_SERVER['HTTP_HOST'] = $host; |
|
| 295 | + if (isset($_SERVER['HTTP_X_FORWARDED_PORT']) and is_numeric($_SERVER['HTTP_X_FORWARDED_PORT'])) { |
|
| 296 | + $_SERVER['SERVER_PORT'] = $_SERVER['HTTP_X_FORWARDED_PORT']; |
|
| 297 | + if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { |
|
| 298 | + $_SERVER['HTTPS'] = 'on'; |
|
| 299 | + if (isset($_SERVER['REQUEST_SCHEME'])) { |
|
| 300 | + $_SERVER['REQUEST_SCHEME'] = 'https'; |
|
| 301 | + } |
|
| 302 | + } |
|
| 303 | + } |
|
| 304 | + $host = $_SERVER['HTTP_X_FORWARDED_HOST']; |
|
| 305 | + if (strpos($host, ',') !== false) { |
|
| 306 | + $h = explode(',', $host); |
|
| 307 | + $host = trim(reset($h)); |
|
| 308 | + } |
|
| 309 | + // securite sur le contenu de l'entete |
|
| 310 | + $host = strtr($host, "<>?\"\{\}\$'` \r\n", '____________'); |
|
| 311 | + $_SERVER['HTTP_HOST'] = $host; |
|
| 312 | 312 | } |
| 313 | 313 | // |
| 314 | 314 | // On note le numero IP du client dans la variable $ip |
| 315 | 315 | // |
| 316 | 316 | if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { |
| 317 | - $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; |
|
| 318 | - if (strpos($ip, ',') !== false) { |
|
| 319 | - $ip = explode(',', $ip); |
|
| 320 | - $ip = reset($ip); |
|
| 321 | - } |
|
| 322 | - // ecraser $_SERVER['REMOTE_ADDR'] si elle est en localhost |
|
| 323 | - if (isset($_SERVER['REMOTE_ADDR']) and $_SERVER['REMOTE_ADDR'] === '127.0.0.1') { |
|
| 324 | - $_SERVER['REMOTE_ADDR'] = $ip; |
|
| 325 | - } |
|
| 317 | + $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; |
|
| 318 | + if (strpos($ip, ',') !== false) { |
|
| 319 | + $ip = explode(',', $ip); |
|
| 320 | + $ip = reset($ip); |
|
| 321 | + } |
|
| 322 | + // ecraser $_SERVER['REMOTE_ADDR'] si elle est en localhost |
|
| 323 | + if (isset($_SERVER['REMOTE_ADDR']) and $_SERVER['REMOTE_ADDR'] === '127.0.0.1') { |
|
| 324 | + $_SERVER['REMOTE_ADDR'] = $ip; |
|
| 325 | + } |
|
| 326 | 326 | } |
| 327 | 327 | if (isset($_SERVER['REMOTE_ADDR'])) { |
| 328 | - $ip = $_SERVER['REMOTE_ADDR']; |
|
| 328 | + $ip = $_SERVER['REMOTE_ADDR']; |
|
| 329 | 329 | } |
| 330 | 330 | |
| 331 | 331 | // Pour renforcer la privacy, decommentez la ligne ci-dessous (ou recopiez-la |
@@ -410,24 +410,24 @@ discard block |
||
| 410 | 410 | |
| 411 | 411 | // Liste des statuts. |
| 412 | 412 | $liste_des_statuts = [ |
| 413 | - 'info_administrateurs' => '0minirezo', |
|
| 414 | - 'info_redacteurs' => '1comite', |
|
| 415 | - 'info_visiteurs' => '6forum', |
|
| 416 | - 'texte_statut_poubelle' => '5poubelle' |
|
| 413 | + 'info_administrateurs' => '0minirezo', |
|
| 414 | + 'info_redacteurs' => '1comite', |
|
| 415 | + 'info_visiteurs' => '6forum', |
|
| 416 | + 'texte_statut_poubelle' => '5poubelle' |
|
| 417 | 417 | ]; |
| 418 | 418 | |
| 419 | 419 | $liste_des_etats = [ |
| 420 | - 'texte_statut_en_cours_redaction' => 'prepa', |
|
| 421 | - 'texte_statut_propose_evaluation' => 'prop', |
|
| 422 | - 'texte_statut_publie' => 'publie', |
|
| 423 | - 'texte_statut_poubelle' => 'poubelle', |
|
| 424 | - 'texte_statut_refuse' => 'refuse' |
|
| 420 | + 'texte_statut_en_cours_redaction' => 'prepa', |
|
| 421 | + 'texte_statut_propose_evaluation' => 'prop', |
|
| 422 | + 'texte_statut_publie' => 'publie', |
|
| 423 | + 'texte_statut_poubelle' => 'poubelle', |
|
| 424 | + 'texte_statut_refuse' => 'refuse' |
|
| 425 | 425 | ]; |
| 426 | 426 | |
| 427 | 427 | // liste des methodes d'authentifications |
| 428 | 428 | $liste_des_authentifications = [ |
| 429 | - 'spip' => 'spip', |
|
| 430 | - 'ldap' => 'ldap' |
|
| 429 | + 'spip' => 'spip', |
|
| 430 | + 'ldap' => 'ldap' |
|
| 431 | 431 | ]; |
| 432 | 432 | |
| 433 | 433 | // Experimental : pour supprimer systematiquement l'affichage des numeros |
@@ -477,12 +477,12 @@ discard block |
||
| 477 | 477 | // Definition personnelles eventuelles |
| 478 | 478 | |
| 479 | 479 | if (_FILE_OPTIONS) { |
| 480 | - include_once _FILE_OPTIONS; |
|
| 480 | + include_once _FILE_OPTIONS; |
|
| 481 | 481 | } |
| 482 | 482 | |
| 483 | 483 | if (!defined('SPIP_ERREUR_REPORT')) { |
| 484 | - /** Masquer les warning */ |
|
| 485 | - define('SPIP_ERREUR_REPORT', E_ALL ^ E_NOTICE ^ E_DEPRECATED); |
|
| 484 | + /** Masquer les warning */ |
|
| 485 | + define('SPIP_ERREUR_REPORT', E_ALL ^ E_NOTICE ^ E_DEPRECATED); |
|
| 486 | 486 | } |
| 487 | 487 | error_reporting(SPIP_ERREUR_REPORT); |
| 488 | 488 | |
@@ -495,10 +495,10 @@ discard block |
||
| 495 | 495 | // ===> on execute en neutralisant les messages d'erreur |
| 496 | 496 | |
| 497 | 497 | spip_initialisation_core( |
| 498 | - (_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES), |
|
| 499 | - (_DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES), |
|
| 500 | - (_DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES), |
|
| 501 | - (_DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES) |
|
| 498 | + (_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES), |
|
| 499 | + (_DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES), |
|
| 500 | + (_DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES), |
|
| 501 | + (_DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES) |
|
| 502 | 502 | ); |
| 503 | 503 | |
| 504 | 504 | |
@@ -508,70 +508,70 @@ discard block |
||
| 508 | 508 | // donc il faut avoir tout fini ici avant de charger les plugins |
| 509 | 509 | |
| 510 | 510 | if (@is_readable(_CACHE_PLUGINS_OPT) and @is_readable(_CACHE_PLUGINS_PATH)) { |
| 511 | - // chargement optimise precompile |
|
| 512 | - include_once(_CACHE_PLUGINS_OPT); |
|
| 511 | + // chargement optimise precompile |
|
| 512 | + include_once(_CACHE_PLUGINS_OPT); |
|
| 513 | 513 | } else { |
| 514 | - spip_initialisation_suite(); |
|
| 515 | - include_spip('inc/plugin'); |
|
| 516 | - // generer les fichiers php precompiles |
|
| 517 | - // de chargement des plugins et des pipelines |
|
| 518 | - actualise_plugins_actifs(); |
|
| 514 | + spip_initialisation_suite(); |
|
| 515 | + include_spip('inc/plugin'); |
|
| 516 | + // generer les fichiers php precompiles |
|
| 517 | + // de chargement des plugins et des pipelines |
|
| 518 | + actualise_plugins_actifs(); |
|
| 519 | 519 | } |
| 520 | 520 | |
| 521 | 521 | // Initialisations non critiques surchargeables par les plugins |
| 522 | 522 | spip_initialisation_suite(); |
| 523 | 523 | |
| 524 | 524 | if (!defined('_LOG_FILTRE_GRAVITE')) { |
| 525 | - /** niveau maxi d'enregistrement des logs */ |
|
| 526 | - define('_LOG_FILTRE_GRAVITE', _LOG_INFO_IMPORTANTE); |
|
| 525 | + /** niveau maxi d'enregistrement des logs */ |
|
| 526 | + define('_LOG_FILTRE_GRAVITE', _LOG_INFO_IMPORTANTE); |
|
| 527 | 527 | } |
| 528 | 528 | |
| 529 | 529 | if (!defined('_OUTILS_DEVELOPPEURS')) { |
| 530 | - /** Activer des outils pour développeurs ? */ |
|
| 531 | - define('_OUTILS_DEVELOPPEURS', false); |
|
| 530 | + /** Activer des outils pour développeurs ? */ |
|
| 531 | + define('_OUTILS_DEVELOPPEURS', false); |
|
| 532 | 532 | } |
| 533 | 533 | |
| 534 | 534 | // charger systematiquement inc/autoriser dans l'espace restreint |
| 535 | 535 | if (test_espace_prive()) { |
| 536 | - include_spip('inc/autoriser'); |
|
| 536 | + include_spip('inc/autoriser'); |
|
| 537 | 537 | } |
| 538 | 538 | // |
| 539 | 539 | // Installer Spip si pas installe... sauf si justement on est en train |
| 540 | 540 | // |
| 541 | 541 | if ( |
| 542 | - !(_FILE_CONNECT |
|
| 543 | - or autoriser_sans_cookie(_request('exec')) |
|
| 544 | - or _request('action') == 'cookie' |
|
| 545 | - or _request('action') == 'converser' |
|
| 546 | - or _request('action') == 'test_dirs') |
|
| 542 | + !(_FILE_CONNECT |
|
| 543 | + or autoriser_sans_cookie(_request('exec')) |
|
| 544 | + or _request('action') == 'cookie' |
|
| 545 | + or _request('action') == 'converser' |
|
| 546 | + or _request('action') == 'test_dirs') |
|
| 547 | 547 | ) { |
| 548 | - // Si on peut installer, on lance illico |
|
| 549 | - if (test_espace_prive()) { |
|
| 550 | - include_spip('inc/headers'); |
|
| 551 | - redirige_url_ecrire('install'); |
|
| 552 | - } else { |
|
| 553 | - // Si on est dans le site public, dire que qq s'en occupe |
|
| 554 | - include_spip('inc/minipres'); |
|
| 555 | - utiliser_langue_visiteur(); |
|
| 556 | - echo minipres(_T('info_travaux_titre'), "<p style='text-align: center;'>" . _T('info_travaux_texte') . '</p>', ['status' => 503]); |
|
| 557 | - exit; |
|
| 558 | - } |
|
| 559 | - // autrement c'est une install ad hoc (spikini...), on sait pas faire |
|
| 548 | + // Si on peut installer, on lance illico |
|
| 549 | + if (test_espace_prive()) { |
|
| 550 | + include_spip('inc/headers'); |
|
| 551 | + redirige_url_ecrire('install'); |
|
| 552 | + } else { |
|
| 553 | + // Si on est dans le site public, dire que qq s'en occupe |
|
| 554 | + include_spip('inc/minipres'); |
|
| 555 | + utiliser_langue_visiteur(); |
|
| 556 | + echo minipres(_T('info_travaux_titre'), "<p style='text-align: center;'>" . _T('info_travaux_texte') . '</p>', ['status' => 503]); |
|
| 557 | + exit; |
|
| 558 | + } |
|
| 559 | + // autrement c'est une install ad hoc (spikini...), on sait pas faire |
|
| 560 | 560 | } |
| 561 | 561 | |
| 562 | 562 | // memoriser un tri sessionne eventuel |
| 563 | 563 | if ( |
| 564 | - isset($_REQUEST['var_memotri']) |
|
| 565 | - and $t = $_REQUEST['var_memotri'] |
|
| 566 | - and (strncmp($t, 'trisession', 10) == 0 or strncmp($t, 'senssession', 11) == 0) |
|
| 564 | + isset($_REQUEST['var_memotri']) |
|
| 565 | + and $t = $_REQUEST['var_memotri'] |
|
| 566 | + and (strncmp($t, 'trisession', 10) == 0 or strncmp($t, 'senssession', 11) == 0) |
|
| 567 | 567 | ) { |
| 568 | - if (!function_exists('session_set')) { |
|
| 569 | - include_spip('inc/session'); |
|
| 570 | - } |
|
| 571 | - $t = preg_replace(',\W,', '_', $t); |
|
| 572 | - if ($v = _request($t)) { |
|
| 573 | - session_set($t, $v); |
|
| 574 | - } |
|
| 568 | + if (!function_exists('session_set')) { |
|
| 569 | + include_spip('inc/session'); |
|
| 570 | + } |
|
| 571 | + $t = preg_replace(',\W,', '_', $t); |
|
| 572 | + if ($v = _request($t)) { |
|
| 573 | + session_set($t, $v); |
|
| 574 | + } |
|
| 575 | 575 | } |
| 576 | 576 | |
| 577 | 577 | /** |
@@ -581,22 +581,22 @@ discard block |
||
| 581 | 581 | * La globale $spip_header_silencieux permet de rendre le header minimal pour raisons de securite |
| 582 | 582 | */ |
| 583 | 583 | if (!defined('_HEADER_COMPOSED_BY')) { |
| 584 | - define('_HEADER_COMPOSED_BY', 'Composed-By: SPIP'); |
|
| 584 | + define('_HEADER_COMPOSED_BY', 'Composed-By: SPIP'); |
|
| 585 | 585 | } |
| 586 | 586 | if (!headers_sent() and _HEADER_COMPOSED_BY) { |
| 587 | - if (!defined('_HEADER_VARY')) { |
|
| 588 | - define('_HEADER_VARY', 'Vary: Cookie, Accept-Encoding'); |
|
| 589 | - } |
|
| 590 | - if (_HEADER_VARY) { |
|
| 591 | - header(_HEADER_VARY); |
|
| 592 | - } |
|
| 593 | - if (!isset($GLOBALS['spip_header_silencieux']) or !$GLOBALS['spip_header_silencieux']) { |
|
| 594 | - include_spip('inc/filtres_mini'); |
|
| 595 | - header(_HEADER_COMPOSED_BY . " $spip_version_affichee @ www.spip.net + " . url_absolue(_DIR_VAR . 'config.txt')); |
|
| 596 | - } else { |
|
| 597 | - // header minimal |
|
| 598 | - header(_HEADER_COMPOSED_BY . ' @ www.spip.net'); |
|
| 599 | - } |
|
| 587 | + if (!defined('_HEADER_VARY')) { |
|
| 588 | + define('_HEADER_VARY', 'Vary: Cookie, Accept-Encoding'); |
|
| 589 | + } |
|
| 590 | + if (_HEADER_VARY) { |
|
| 591 | + header(_HEADER_VARY); |
|
| 592 | + } |
|
| 593 | + if (!isset($GLOBALS['spip_header_silencieux']) or !$GLOBALS['spip_header_silencieux']) { |
|
| 594 | + include_spip('inc/filtres_mini'); |
|
| 595 | + header(_HEADER_COMPOSED_BY . " $spip_version_affichee @ www.spip.net + " . url_absolue(_DIR_VAR . 'config.txt')); |
|
| 596 | + } else { |
|
| 597 | + // header minimal |
|
| 598 | + header(_HEADER_COMPOSED_BY . ' @ www.spip.net'); |
|
| 599 | + } |
|
| 600 | 600 | } |
| 601 | 601 | |
| 602 | 602 | $methode = ($_SERVER['REQUEST_METHOD'] ?? ((php_sapi_name() == 'cli') ? 'cli' : '')); |
@@ -4,248 +4,248 @@ 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' => 'Zurück zur vollständigen grafischen Oberfläche', |
|
| 14 | - 'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen', |
|
| 15 | - 'admin_debug' => 'Debug', |
|
| 16 | - 'admin_modifier_article' => 'Artikel bearbeiten', |
|
| 17 | - 'admin_modifier_auteur' => 'Autor bearbeiten', |
|
| 18 | - 'admin_modifier_breve' => 'Meldung bearbeiten', |
|
| 19 | - 'admin_modifier_mot' => 'Schlagwort bearbeiten', |
|
| 20 | - 'admin_modifier_rubrique' => 'Rubrik bearbeiten', |
|
| 21 | - 'admin_recalculer' => 'Seite aus Cache löschen', |
|
| 22 | - 'afficher_calendrier' => 'Kalender anzeigen', |
|
| 23 | - 'afficher_trad' => 'Übersetzungen anzeigen', |
|
| 24 | - 'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.', |
|
| 25 | - 'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:', |
|
| 26 | - 'analyse_xml' => 'XML-Analyse', |
|
| 27 | - 'annuler' => 'Abbrechen', |
|
| 28 | - 'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:', |
|
| 29 | - 'articles_recents' => 'Die neuesten Artikel', |
|
| 30 | - 'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen', |
|
| 31 | - 'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.', |
|
| 32 | - 'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei', |
|
| 33 | - 'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei', |
|
| 34 | - 'avis_attention' => 'ACHTUNG!', |
|
| 35 | - 'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@', |
|
| 36 | - 'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht', |
|
| 37 | - 'avis_erreur' => 'Fehler: Siehe unten', |
|
| 38 | - 'avis_erreur_connexion' => 'Verbindungsfehler', |
|
| 39 | - 'avis_erreur_cookie' => 'Cookie-Problem', |
|
| 40 | - 'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.', |
|
| 41 | - 'avis_erreur_mysql' => 'SQL-Fehler', |
|
| 42 | - 'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ', |
|
| 43 | - 'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.', |
|
| 44 | - 'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.', |
|
| 12 | + // A |
|
| 13 | + 'access_interface_graphique' => 'Zurück zur vollständigen grafischen Oberfläche', |
|
| 14 | + 'access_mode_texte' => 'vereinfachtes Interface als Textversion anzeigen', |
|
| 15 | + 'admin_debug' => 'Debug', |
|
| 16 | + 'admin_modifier_article' => 'Artikel bearbeiten', |
|
| 17 | + 'admin_modifier_auteur' => 'Autor bearbeiten', |
|
| 18 | + 'admin_modifier_breve' => 'Meldung bearbeiten', |
|
| 19 | + 'admin_modifier_mot' => 'Schlagwort bearbeiten', |
|
| 20 | + 'admin_modifier_rubrique' => 'Rubrik bearbeiten', |
|
| 21 | + 'admin_recalculer' => 'Seite aus Cache löschen', |
|
| 22 | + 'afficher_calendrier' => 'Kalender anzeigen', |
|
| 23 | + 'afficher_trad' => 'Übersetzungen anzeigen', |
|
| 24 | + 'alerte_maj_impossible' => '<b>Achtung!</b> Ihre SQL Datenbank konnte nicht auf die Version @version@ umgestellt werden. Möglicherweise gibt es ein Problem mit den Zugriffsrechten. Bitte setzen Sie sich mit Ihrem Webspace-Provider in Verbindung.', |
|
| 25 | + 'alerte_modif_info_concourante' => 'Achtung - diese Information wurde auf anderem Weg modifiziert. Der aktuelle Wert lautet:', |
|
| 26 | + 'analyse_xml' => 'XML-Analyse', |
|
| 27 | + 'annuler' => 'Abbrechen', |
|
| 28 | + 'antispam_champ_vide' => 'Bitte lassen Sie dieses Feld leer:', |
|
| 29 | + 'articles_recents' => 'Die neuesten Artikel', |
|
| 30 | + 'attention_champ_mini_nb_caractères' => 'Achtung! Mindestens @nb@ Zeichen', |
|
| 31 | + 'avis_1_erreur_saisie' => 'Ihre Eingabe enthält einen Fehler, bitte überprüfen Sie die Informationen.', |
|
| 32 | + 'avis_archive_incorrect' => 'Die archivierte Datei ist keine SPIP-Datei', |
|
| 33 | + 'avis_archive_invalide' => 'Die archivierte Datei ist keine SPIP-Datei', |
|
| 34 | + 'avis_attention' => 'ACHTUNG!', |
|
| 35 | + 'avis_champ_incorrect_type_objet' => 'Falscher Objektname @name@ für Objekt vom Typ @type@', |
|
| 36 | + 'avis_colonne_inexistante' => 'Die Spalte @col@ existiert nicht', |
|
| 37 | + 'avis_erreur' => 'Fehler: Siehe unten', |
|
| 38 | + 'avis_erreur_connexion' => 'Verbindungsfehler', |
|
| 39 | + 'avis_erreur_cookie' => 'Cookie-Problem', |
|
| 40 | + 'avis_erreur_fonction_contexte' => 'Programmfehler. Diese Funktion darf nicht in diesem Zusammenhang aufgerufen werden.', |
|
| 41 | + 'avis_erreur_mysql' => 'SQL-Fehler', |
|
| 42 | + 'avis_erreur_sauvegarde' => 'Fehler in der Sicherung (@type@ @id_objet@) ! ', |
|
| 43 | + 'avis_erreur_visiteur' => 'Ein Problem beim Zugang zum Redaktionssystem ist aufgetreten.', |
|
| 44 | + 'avis_nb_erreurs_saisie' => 'Ihre Eingabe enthält @nb@ Fehler, bitte überprüfen Sie die Informationen.', |
|
| 45 | 45 | |
| 46 | - // B |
|
| 47 | - 'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen', |
|
| 48 | - 'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.', |
|
| 49 | - 'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen', |
|
| 50 | - 'barre_eo' => 'Ein E in das O einfügen', |
|
| 51 | - 'barre_eo_maj' => 'Ein E in ein grosses O einfügen', |
|
| 52 | - 'barre_euro' => 'Symbol € einfügen', |
|
| 53 | - 'barre_gras' => '{{fett}} setzen', |
|
| 54 | - 'barre_guillemets' => 'In „Anführungszeichen“ setzen', |
|
| 55 | - 'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen', |
|
| 56 | - 'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln', |
|
| 57 | - 'barre_italic' => 'in {kursive} Schrift setzen', |
|
| 58 | - 'barre_lien' => 'in [Hyperlink->http://...] umwandeln', |
|
| 59 | - 'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.', |
|
| 60 | - 'barre_note' => 'In [[Fussnote]] umwandeln', |
|
| 61 | - 'barre_paragraphe' => 'Neuen Absatz anlegen', |
|
| 62 | - 'barre_quote' => '<quote>Nachricht zitieren</quote>', |
|
| 63 | - 'bouton_changer' => 'Ändern', |
|
| 64 | - 'bouton_chercher' => 'Suchen', |
|
| 65 | - 'bouton_choisir' => 'Auswählen', |
|
| 66 | - 'bouton_deplacer' => 'Verschieben', |
|
| 67 | - 'bouton_download' => 'Runterladen', |
|
| 68 | - 'bouton_enregistrer' => 'Speichern', |
|
| 69 | - 'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten', |
|
| 70 | - 'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken', |
|
| 71 | - 'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken', |
|
| 72 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken', |
|
| 73 | - 'bouton_recharger_page' => 'Seite neu laden', |
|
| 74 | - 'bouton_telecharger' => 'Runterladen', |
|
| 75 | - 'bouton_upload' => 'Hochladen', |
|
| 76 | - 'bouton_valider' => 'Bestätigen', |
|
| 46 | + // B |
|
| 47 | + 'barre_a_accent_grave' => 'Grosses A mit accent grave einfügen', |
|
| 48 | + 'barre_aide' => 'Verwende Sie die typografischen Kürzel, um Ihre Seite zu formatieren.', |
|
| 49 | + 'barre_e_accent_aigu' => 'Grosses E mit accent aigu einfügen', |
|
| 50 | + 'barre_eo' => 'Ein E in das O einfügen', |
|
| 51 | + 'barre_eo_maj' => 'Ein E in ein grosses O einfügen', |
|
| 52 | + 'barre_euro' => 'Symbol € einfügen', |
|
| 53 | + 'barre_gras' => '{{fett}} setzen', |
|
| 54 | + 'barre_guillemets' => 'In „Anführungszeichen“ setzen', |
|
| 55 | + 'barre_guillemets_simples' => 'In ‚Anführungszeichen‘ setzen', |
|
| 56 | + 'barre_intertitre' => 'in {{{Zwischentitel}}} umwandeln', |
|
| 57 | + 'barre_italic' => 'in {kursive} Schrift setzen', |
|
| 58 | + 'barre_lien' => 'in [Hyperlink->http://...] umwandeln', |
|
| 59 | + 'barre_lien_input' => 'Bitte geben Sie die Adresse Ihres Links an. Sie können das Format http://www.meinewebsite.com wählen, oder einfach die Nummer eines Artikels dieser Website angeben.', |
|
| 60 | + 'barre_note' => 'In [[Fussnote]] umwandeln', |
|
| 61 | + 'barre_paragraphe' => 'Neuen Absatz anlegen', |
|
| 62 | + 'barre_quote' => '<quote>Nachricht zitieren</quote>', |
|
| 63 | + 'bouton_changer' => 'Ändern', |
|
| 64 | + 'bouton_chercher' => 'Suchen', |
|
| 65 | + 'bouton_choisir' => 'Auswählen', |
|
| 66 | + 'bouton_deplacer' => 'Verschieben', |
|
| 67 | + 'bouton_download' => 'Runterladen', |
|
| 68 | + 'bouton_enregistrer' => 'Speichern', |
|
| 69 | + 'bouton_radio_desactiver_messagerie_interne' => 'Interne Nachrichten abschalten', |
|
| 70 | + 'bouton_radio_envoi_annonces' => 'Editorische Ankündigungen verschicken', |
|
| 71 | + 'bouton_radio_non_envoi_annonces' => 'Keine Ankündigungen verschicken', |
|
| 72 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'Keine Liste der Neuigkeiten verschicken', |
|
| 73 | + 'bouton_recharger_page' => 'Seite neu laden', |
|
| 74 | + 'bouton_telecharger' => 'Runterladen', |
|
| 75 | + 'bouton_upload' => 'Hochladen', |
|
| 76 | + 'bouton_valider' => 'Bestätigen', |
|
| 77 | 77 | |
| 78 | - // C |
|
| 79 | - 'cal_apresmidi' => 'nachmittags', |
|
| 80 | - 'cal_jour_entier' => 'ganztägig', |
|
| 81 | - 'cal_matin' => 'morgens', |
|
| 82 | - 'cal_par_jour' => 'Tageskalender', |
|
| 83 | - 'cal_par_mois' => 'Monatskalender', |
|
| 84 | - 'cal_par_semaine' => 'Wochenkalender', |
|
| 85 | - 'choix_couleur_interface' => 'Farbe', |
|
| 86 | - 'choix_interface' => 'Oberflächenfarbe', |
|
| 87 | - 'colonne' => 'Spalte', |
|
| 88 | - 'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?', |
|
| 89 | - 'correcte' => 'korrekt', |
|
| 78 | + // C |
|
| 79 | + 'cal_apresmidi' => 'nachmittags', |
|
| 80 | + 'cal_jour_entier' => 'ganztägig', |
|
| 81 | + 'cal_matin' => 'morgens', |
|
| 82 | + 'cal_par_jour' => 'Tageskalender', |
|
| 83 | + 'cal_par_mois' => 'Monatskalender', |
|
| 84 | + 'cal_par_semaine' => 'Wochenkalender', |
|
| 85 | + 'choix_couleur_interface' => 'Farbe', |
|
| 86 | + 'choix_interface' => 'Oberflächenfarbe', |
|
| 87 | + 'colonne' => 'Spalte', |
|
| 88 | + 'confirm_changer_statut' => 'Achtung, Sie werden den Status dieses Elementes ändern. Wollen Sie fortfahren?', |
|
| 89 | + 'correcte' => 'korrekt', |
|
| 90 | 90 | |
| 91 | - // D |
|
| 92 | - 'date_aujourdhui' => 'heute', |
|
| 93 | - 'date_avant_jc' => 'v.u.Z.', |
|
| 94 | - 'date_dans' => 'in @delai@', |
|
| 95 | - 'date_de_mois_1' => '@j@ @nommois@', |
|
| 96 | - 'date_de_mois_10' => '@j@ @nommois@', |
|
| 97 | - 'date_de_mois_11' => '@j@ @nommois@', |
|
| 98 | - 'date_de_mois_12' => '@j@ @nommois@', |
|
| 99 | - 'date_de_mois_2' => '@j@ @nommois@', |
|
| 100 | - 'date_de_mois_3' => '@j@ @nommois@', |
|
| 101 | - 'date_de_mois_4' => '@j@ @nommois@', |
|
| 102 | - 'date_de_mois_5' => '@j@ @nommois@', |
|
| 103 | - 'date_de_mois_6' => '@j@ @nommois@', |
|
| 104 | - 'date_de_mois_7' => '@j@ @nommois@', |
|
| 105 | - 'date_de_mois_8' => '@j@ @nommois@', |
|
| 106 | - 'date_de_mois_9' => '@j@ @nommois@', |
|
| 107 | - 'date_demain' => 'morgen', |
|
| 108 | - 'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten', |
|
| 109 | - 'date_fmt_heures_minutes_court' => '@h@:@m@', |
|
| 110 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | - 'date_fmt_jour_heure' => '@jour@ um @heure@', |
|
| 112 | - 'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@', |
|
| 113 | - 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@', |
|
| 114 | - 'date_fmt_jour_mois' => '@jour@. @nommois@', |
|
| 115 | - 'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@', |
|
| 116 | - 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 117 | - 'date_fmt_nomjour' => '@nomjour@ @date@.', |
|
| 118 | - 'date_fmt_nomjour_date' => 'am @nomjour@ @date@', |
|
| 119 | - 'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@', |
|
| 120 | - 'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@', |
|
| 121 | - 'date_fmt_periode_from' => 'Von', |
|
| 122 | - 'date_fmt_periode_to' => 'bis', |
|
| 123 | - 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | - 'date_heures' => 'Stunden', |
|
| 125 | - 'date_hier' => 'gestern', |
|
| 126 | - 'date_il_y_a' => 'vor @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' => 'Sonntag', |
|
| 159 | - 'date_jour_1_abbr' => 'So.', |
|
| 160 | - 'date_jour_1_initiale' => 'S', |
|
| 161 | - 'date_jour_2' => 'Montag', |
|
| 162 | - 'date_jour_2_abbr' => 'Mo.', |
|
| 163 | - 'date_jour_2_initiale' => 'M', |
|
| 164 | - 'date_jour_3' => 'Dienstag', |
|
| 165 | - 'date_jour_3_abbr' => 'Di.', |
|
| 166 | - 'date_jour_3_initiale' => 'D', |
|
| 167 | - 'date_jour_4' => 'Mittwoch', |
|
| 168 | - 'date_jour_4_abbr' => 'Mi.', |
|
| 169 | - 'date_jour_4_initiale' => 'M', |
|
| 170 | - 'date_jour_5' => 'Donnerstag', |
|
| 171 | - 'date_jour_5_abbr' => 'Do.', |
|
| 172 | - 'date_jour_5_initiale' => 'D', |
|
| 173 | - 'date_jour_6' => 'Freitag', |
|
| 174 | - 'date_jour_6_abbr' => 'Fr.', |
|
| 175 | - 'date_jour_6_initiale' => 'F', |
|
| 176 | - 'date_jour_7' => 'Samstag', |
|
| 177 | - 'date_jour_7_abbr' => 'Sa.', |
|
| 178 | - 'date_jour_7_initiale' => 'S', |
|
| 179 | - 'date_jours' => 'Tagen', |
|
| 180 | - 'date_minutes' => 'Minuten', |
|
| 181 | - 'date_mois' => 'Monaten', |
|
| 182 | - 'date_mois_1' => 'Januar', |
|
| 183 | - 'date_mois_10' => 'Oktober', |
|
| 184 | - 'date_mois_10_abbr' => 'Okt.', |
|
| 185 | - 'date_mois_11' => 'November', |
|
| 186 | - 'date_mois_11_abbr' => 'Nev.', |
|
| 187 | - 'date_mois_12' => 'Dezember', |
|
| 188 | - 'date_mois_12_abbr' => 'Dez.', |
|
| 189 | - 'date_mois_1_abbr' => 'Jan.', |
|
| 190 | - 'date_mois_2' => 'Februar', |
|
| 191 | - 'date_mois_2_abbr' => 'Feb.', |
|
| 192 | - 'date_mois_3' => 'März', |
|
| 193 | - 'date_mois_3_abbr' => 'Mrz.', |
|
| 194 | - 'date_mois_4' => 'April', |
|
| 195 | - 'date_mois_4_abbr' => 'Apr.', |
|
| 196 | - 'date_mois_5' => 'Mai', |
|
| 197 | - 'date_mois_5_abbr' => 'Mai', |
|
| 198 | - 'date_mois_6' => 'Juni', |
|
| 199 | - 'date_mois_6_abbr' => 'Jun.', |
|
| 200 | - 'date_mois_7' => 'Juli', |
|
| 201 | - 'date_mois_7_abbr' => 'Juli', |
|
| 202 | - 'date_mois_8' => 'August', |
|
| 203 | - 'date_mois_8_abbr' => 'Aug.', |
|
| 204 | - 'date_mois_9' => 'September', |
|
| 205 | - 'date_mois_9_abbr' => 'Sept.', |
|
| 206 | - 'date_saison_1' => 'Winter', |
|
| 207 | - 'date_saison_2' => 'Frühling', |
|
| 208 | - 'date_saison_3' => 'Sommer', |
|
| 209 | - 'date_saison_4' => 'unabhängig', |
|
| 210 | - 'date_secondes' => 'Sekunden', |
|
| 211 | - 'date_semaines' => 'Wochen', |
|
| 212 | - 'date_un_mois' => 'Monat', |
|
| 213 | - 'date_une_heure' => 'Stunde', |
|
| 214 | - 'date_une_minute' => 'Minute', |
|
| 215 | - 'date_une_seconde' => 'Sekunde', |
|
| 216 | - 'date_une_semaine' => 'Woche', |
|
| 217 | - 'dirs_commencer' => 'um die Installation wirklich zu starten', |
|
| 218 | - 'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>', |
|
| 219 | - 'dirs_probleme_droits' => 'Problem mit den Berechtigungen', |
|
| 220 | - 'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul> |
|
| 91 | + // D |
|
| 92 | + 'date_aujourdhui' => 'heute', |
|
| 93 | + 'date_avant_jc' => 'v.u.Z.', |
|
| 94 | + 'date_dans' => 'in @delai@', |
|
| 95 | + 'date_de_mois_1' => '@j@ @nommois@', |
|
| 96 | + 'date_de_mois_10' => '@j@ @nommois@', |
|
| 97 | + 'date_de_mois_11' => '@j@ @nommois@', |
|
| 98 | + 'date_de_mois_12' => '@j@ @nommois@', |
|
| 99 | + 'date_de_mois_2' => '@j@ @nommois@', |
|
| 100 | + 'date_de_mois_3' => '@j@ @nommois@', |
|
| 101 | + 'date_de_mois_4' => '@j@ @nommois@', |
|
| 102 | + 'date_de_mois_5' => '@j@ @nommois@', |
|
| 103 | + 'date_de_mois_6' => '@j@ @nommois@', |
|
| 104 | + 'date_de_mois_7' => '@j@ @nommois@', |
|
| 105 | + 'date_de_mois_8' => '@j@ @nommois@', |
|
| 106 | + 'date_de_mois_9' => '@j@ @nommois@', |
|
| 107 | + 'date_demain' => 'morgen', |
|
| 108 | + 'date_fmt_heures_minutes' => '@h@ Uhr @m@ Minuten', |
|
| 109 | + 'date_fmt_heures_minutes_court' => '@h@:@m@', |
|
| 110 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 111 | + 'date_fmt_jour_heure' => '@jour@ um @heure@', |
|
| 112 | + 'date_fmt_jour_heure_debut_fin' => '@jour@ von @heure_debut@ bis @heure_fin@', |
|
| 113 | + 'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@ von @heure_debut@@dtabbr@ bis @dtend@@heure_fin@@dtabbr@', |
|
| 114 | + 'date_fmt_jour_mois' => '@jour@. @nommois@', |
|
| 115 | + 'date_fmt_jour_mois_annee' => '@jour@. @nommois@ @annee@', |
|
| 116 | + 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 117 | + 'date_fmt_nomjour' => '@nomjour@ @date@.', |
|
| 118 | + 'date_fmt_nomjour_date' => 'am @nomjour@ @date@', |
|
| 119 | + 'date_fmt_periode' => 'Vom @date_debut@ bis zum @date_fin@', |
|
| 120 | + 'date_fmt_periode_abbr' => 'Vom @dtart@@date_debut@@dtabbr@ bis zum @dtend@@date_fin@@dtabbr@', |
|
| 121 | + 'date_fmt_periode_from' => 'Von', |
|
| 122 | + 'date_fmt_periode_to' => 'bis', |
|
| 123 | + 'date_fmt_saison_annee' => '@saison@ @annee@', |
|
| 124 | + 'date_heures' => 'Stunden', |
|
| 125 | + 'date_hier' => 'gestern', |
|
| 126 | + 'date_il_y_a' => 'vor @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' => 'Sonntag', |
|
| 159 | + 'date_jour_1_abbr' => 'So.', |
|
| 160 | + 'date_jour_1_initiale' => 'S', |
|
| 161 | + 'date_jour_2' => 'Montag', |
|
| 162 | + 'date_jour_2_abbr' => 'Mo.', |
|
| 163 | + 'date_jour_2_initiale' => 'M', |
|
| 164 | + 'date_jour_3' => 'Dienstag', |
|
| 165 | + 'date_jour_3_abbr' => 'Di.', |
|
| 166 | + 'date_jour_3_initiale' => 'D', |
|
| 167 | + 'date_jour_4' => 'Mittwoch', |
|
| 168 | + 'date_jour_4_abbr' => 'Mi.', |
|
| 169 | + 'date_jour_4_initiale' => 'M', |
|
| 170 | + 'date_jour_5' => 'Donnerstag', |
|
| 171 | + 'date_jour_5_abbr' => 'Do.', |
|
| 172 | + 'date_jour_5_initiale' => 'D', |
|
| 173 | + 'date_jour_6' => 'Freitag', |
|
| 174 | + 'date_jour_6_abbr' => 'Fr.', |
|
| 175 | + 'date_jour_6_initiale' => 'F', |
|
| 176 | + 'date_jour_7' => 'Samstag', |
|
| 177 | + 'date_jour_7_abbr' => 'Sa.', |
|
| 178 | + 'date_jour_7_initiale' => 'S', |
|
| 179 | + 'date_jours' => 'Tagen', |
|
| 180 | + 'date_minutes' => 'Minuten', |
|
| 181 | + 'date_mois' => 'Monaten', |
|
| 182 | + 'date_mois_1' => 'Januar', |
|
| 183 | + 'date_mois_10' => 'Oktober', |
|
| 184 | + 'date_mois_10_abbr' => 'Okt.', |
|
| 185 | + 'date_mois_11' => 'November', |
|
| 186 | + 'date_mois_11_abbr' => 'Nev.', |
|
| 187 | + 'date_mois_12' => 'Dezember', |
|
| 188 | + 'date_mois_12_abbr' => 'Dez.', |
|
| 189 | + 'date_mois_1_abbr' => 'Jan.', |
|
| 190 | + 'date_mois_2' => 'Februar', |
|
| 191 | + 'date_mois_2_abbr' => 'Feb.', |
|
| 192 | + 'date_mois_3' => 'März', |
|
| 193 | + 'date_mois_3_abbr' => 'Mrz.', |
|
| 194 | + 'date_mois_4' => 'April', |
|
| 195 | + 'date_mois_4_abbr' => 'Apr.', |
|
| 196 | + 'date_mois_5' => 'Mai', |
|
| 197 | + 'date_mois_5_abbr' => 'Mai', |
|
| 198 | + 'date_mois_6' => 'Juni', |
|
| 199 | + 'date_mois_6_abbr' => 'Jun.', |
|
| 200 | + 'date_mois_7' => 'Juli', |
|
| 201 | + 'date_mois_7_abbr' => 'Juli', |
|
| 202 | + 'date_mois_8' => 'August', |
|
| 203 | + 'date_mois_8_abbr' => 'Aug.', |
|
| 204 | + 'date_mois_9' => 'September', |
|
| 205 | + 'date_mois_9_abbr' => 'Sept.', |
|
| 206 | + 'date_saison_1' => 'Winter', |
|
| 207 | + 'date_saison_2' => 'Frühling', |
|
| 208 | + 'date_saison_3' => 'Sommer', |
|
| 209 | + 'date_saison_4' => 'unabhängig', |
|
| 210 | + 'date_secondes' => 'Sekunden', |
|
| 211 | + 'date_semaines' => 'Wochen', |
|
| 212 | + 'date_un_mois' => 'Monat', |
|
| 213 | + 'date_une_heure' => 'Stunde', |
|
| 214 | + 'date_une_minute' => 'Minute', |
|
| 215 | + 'date_une_seconde' => 'Sekunde', |
|
| 216 | + 'date_une_semaine' => 'Woche', |
|
| 217 | + 'dirs_commencer' => 'um die Installation wirklich zu starten', |
|
| 218 | + 'dirs_preliminaire' => 'Vorbereitung: <b>Berechtigungen einstellen</b>', |
|
| 219 | + 'dirs_probleme_droits' => 'Problem mit den Berechtigungen', |
|
| 220 | + 'dirs_repertoires_absents' => '<p><b>Folgende Verzeichnisse wurden nicht gefunden:</b></p><ul>@bad_dirs@</ul> |
|
| 221 | 221 | <p>Das liegt wahrscheinlich an unzutreffender Gross- und Kleinschreibung. |
| 222 | 222 | Überprüfen Sie bitte die genaue Schreibweise der oben stehenden Verzeichnisse, |
| 223 | 223 | sollten Sie Abweichungen feststellen, benennen Sie bitte mit Ihrem FTP-Programm die betreffenden Verzeichnisse um.</p> |
| 224 | 224 | <p>Danach können Sie ', |
| 225 | - 'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul> |
|
| 225 | + 'dirs_repertoires_suivants' => '<p><b>In die folgenden Verzeichnisse kann nicht geschrieben werden:</b></p><ul>@bad_dirs@</ul> |
|
| 226 | 226 | <p>Um das Problem zu lösen, verwenden Sie bitte Ihren FTP-Client, um die Zugriffsrechte für diese |
| 227 | 227 | Verzeichnisse zu setzen.Die Installationsanleitung erläutert die Details dazu.</p> |
| 228 | 228 | <p>Wenn Sie diesen Vorgang abgeschlossen haben, können Sie', |
| 229 | - 'double_occurrence' => 'Dublette von @balise@', |
|
| 229 | + 'double_occurrence' => 'Dublette von @balise@', |
|
| 230 | 230 | |
| 231 | - // E |
|
| 232 | - 'en_cours' => 'läuft', |
|
| 233 | - 'envoi_via_le_site' => 'Gesendet über Website ', |
|
| 234 | - 'erreur' => 'Fehler', |
|
| 235 | - 'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:', |
|
| 236 | - 'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.', |
|
| 237 | - 'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.', |
|
| 238 | - 'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.', |
|
| 239 | - 'erreur_texte' => 'Fehler', |
|
| 240 | - 'etape' => 'Schritt', |
|
| 231 | + // E |
|
| 232 | + 'en_cours' => 'läuft', |
|
| 233 | + 'envoi_via_le_site' => 'Gesendet über Website ', |
|
| 234 | + 'erreur' => 'Fehler', |
|
| 235 | + 'erreur_balise_non_fermee' => 'Letzter Tag nicht geschlossen:', |
|
| 236 | + 'erreur_technique_ajaxform' => 'Ups. Das Formular wurde aufgrund eines technischen Fehlers nicht abgeschickt. Sie können es erneut versuchen.', |
|
| 237 | + 'erreur_technique_enregistrement_champs' => 'Das Feld @champs@ konnte aufgrund eines technischen Problems nicht gespeichert werden.', |
|
| 238 | + 'erreur_technique_enregistrement_impossible' => 'Technisches Prolem: Speichern nicht möglich.', |
|
| 239 | + 'erreur_texte' => 'Fehler', |
|
| 240 | + 'etape' => 'Schritt', |
|
| 241 | 241 | |
| 242 | - // F |
|
| 243 | - 'fichier_introuvable' => 'Datei @fichier@ unauffindbar.', |
|
| 244 | - 'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.', |
|
| 245 | - 'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse', |
|
| 246 | - 'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.', |
|
| 247 | - 'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.', |
|
| 248 | - 'form_auteur_mail_confirmation' => 'Hallo, |
|
| 242 | + // F |
|
| 243 | + 'fichier_introuvable' => 'Datei @fichier@ unauffindbar.', |
|
| 244 | + 'fonction_introuvable' => 'Funktion @fonction@() unauffindbar.', |
|
| 245 | + 'form_auteur_confirmation' => 'Bestätigen Sie Ihre Mailadresse', |
|
| 246 | + 'form_auteur_email_modifie' => 'Ihre Mailadresse wurde geändert.', |
|
| 247 | + 'form_auteur_envoi_mail_confirmation' => 'Eine Mail wurde an @email@ gesendet. Sie müssen auf den in ihr angegebenen Link klicken, um die Korrektheit Ihrer Adresse zu bestätigen.', |
|
| 248 | + 'form_auteur_mail_confirmation' => 'Hallo, |
|
| 249 | 249 | |
| 250 | 250 | Sie möchten Ihre Mail-Adresse ändern.Um Ihre neue Adresse zu bestätigen, |
| 251 | 251 | brauchen Sie nur diesen Link zu öffnen (wenn Sie darauf verzichten, |
@@ -253,335 +253,335 @@ discard block |
||
| 253 | 253 | |
| 254 | 254 | @url@ |
| 255 | 255 | ', |
| 256 | - 'form_deja_inscrit' => 'Sie sind bereits eingetragen.', |
|
| 257 | - 'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.', |
|
| 258 | - 'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.', |
|
| 259 | - 'form_forum_bonjour' => 'Hallo @nom@,', |
|
| 260 | - 'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@', |
|
| 261 | - 'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.', |
|
| 262 | - 'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.', |
|
| 263 | - 'form_forum_identifiants' => 'Persönliche Zugangsdaten', |
|
| 264 | - 'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.', |
|
| 265 | - 'form_forum_login' => 'Login:', |
|
| 266 | - 'form_forum_message_auto' => '(automatisch erzeugte Nachricht)', |
|
| 267 | - 'form_forum_pass' => 'Passwort:', |
|
| 268 | - 'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.', |
|
| 269 | - 'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):', |
|
| 270 | - 'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:', |
|
| 271 | - 'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.', |
|
| 272 | - 'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.', |
|
| 273 | - 'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.', |
|
| 274 | - 'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst', |
|
| 275 | - 'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.', |
|
| 276 | - 'form_prop_confirmer_envoi' => 'Endgültig senden', |
|
| 277 | - 'form_prop_description' => 'Beschreibung/Kommentar', |
|
| 278 | - 'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.', |
|
| 279 | - 'form_prop_envoyer' => 'Nachricht senden', |
|
| 280 | - 'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an', |
|
| 281 | - 'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.', |
|
| 282 | - 'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an', |
|
| 283 | - 'form_prop_message_envoye' => 'Nachricht gesendet', |
|
| 284 | - 'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.', |
|
| 285 | - 'form_prop_sujet' => 'Thema', |
|
| 286 | - 'form_prop_url_site' => 'URL der der Website', |
|
| 287 | - 'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ', |
|
| 288 | - 'format_date_incorrecte' => 'Falsches Datum oder Datumsformat', |
|
| 289 | - 'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.', |
|
| 290 | - 'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit', |
|
| 291 | - 'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.', |
|
| 292 | - 'forum_par_auteur' => 'von @auteur@', |
|
| 293 | - 'forum_titre_erreur' => 'Fehler...', |
|
| 256 | + 'form_deja_inscrit' => 'Sie sind bereits eingetragen.', |
|
| 257 | + 'form_email_non_valide' => 'Ihre E-Mail-Adresse ist ungültig.', |
|
| 258 | + 'form_forum_access_refuse' => 'Sie haben keinen Zugang mehr zu dieser Website.', |
|
| 259 | + 'form_forum_bonjour' => 'Hallo @nom@,', |
|
| 260 | + 'form_forum_confirmer_email' => 'Bitte öffnen sie folgenden URL zum Bestätigen ihrer Mailadresse: @url_confirm@', |
|
| 261 | + 'form_forum_email_deja_enregistre' => 'Diese E-Mail-Adresse ist bereits eingetragen. Sie können also Ihr normals Passwort verwenden.', |
|
| 262 | + 'form_forum_identifiant_mail' => 'Ihre neuen Zugangsdaten wurden Ihnen per Mail zugestellt.', |
|
| 263 | + 'form_forum_identifiants' => 'Persönliche Zugangsdaten', |
|
| 264 | + 'form_forum_indiquer_nom_email' => 'Tragen Sie bitte hier Ihren Namen und Ihre E-Mail-Adresse ein. Die persönlichen Zugangsdaten werden Ihnen dann per E-Mail zugeschickt.', |
|
| 265 | + 'form_forum_login' => 'Login:', |
|
| 266 | + 'form_forum_message_auto' => '(automatisch erzeugte Nachricht)', |
|
| 267 | + 'form_forum_pass' => 'Passwort:', |
|
| 268 | + 'form_forum_probleme_mail' => 'E-Mail Problem: Zugangsdaten können nicht verschickt werden.', |
|
| 269 | + 'form_forum_voici1' => 'Hier sind Ihre Zugangsdaten für die Teilnahme an der Website "@nom_site_spip@" (@adresse_site@):', |
|
| 270 | + 'form_forum_voici2' => 'Hier sind Ihre Zugangsdaten um Artikel für die Website "@nom_site_spip@" (@adresse_login@) vorzuschlagen:', |
|
| 271 | + 'form_indiquer_email' => 'Bitte geben Sie Ihre E-Mail-Adresse an.', |
|
| 272 | + 'form_indiquer_nom' => 'Bitte geben Sie Ihren Namen an.', |
|
| 273 | + 'form_indiquer_nom_site' => 'Bitte geben Sie den Namen Ihrer Website an.', |
|
| 274 | + 'form_pet_deja_enregistre' => 'Diese Website wurde bereits erfasst', |
|
| 275 | + 'form_pet_signature_pasprise' => 'Ihre Signatur wird nicht berücksichtigt.', |
|
| 276 | + 'form_prop_confirmer_envoi' => 'Endgültig senden', |
|
| 277 | + 'form_prop_description' => 'Beschreibung/Kommentar', |
|
| 278 | + 'form_prop_enregistre' => 'Ihr Vorschlag wurde gespeichert und wird nach Freigabe durch die Redaktion der Website angezeigt.', |
|
| 279 | + 'form_prop_envoyer' => 'Nachricht senden', |
|
| 280 | + 'form_prop_indiquer_email' => 'Bitte geben Sie eine gültige E-Mail Adresse an', |
|
| 281 | + 'form_prop_indiquer_nom_site' => 'Bitte geben Sie den Namen der Website an.', |
|
| 282 | + 'form_prop_indiquer_sujet' => 'Bitte geben Sie ein Thema an', |
|
| 283 | + 'form_prop_message_envoye' => 'Nachricht gesendet', |
|
| 284 | + 'form_prop_non_enregistre' => 'Ihr Vorschlag wurde nicht gespeichert.', |
|
| 285 | + 'form_prop_sujet' => 'Thema', |
|
| 286 | + 'form_prop_url_site' => 'URL der der Website', |
|
| 287 | + 'format_date_attendu' => 'Ein Datum im Format tt/mm/jjjj eingeben. ', |
|
| 288 | + 'format_date_incorrecte' => 'Falsches Datum oder Datumsformat', |
|
| 289 | + 'format_heure_attendu' => 'Uhrzeit im Format hh:mm eingeben.', |
|
| 290 | + 'format_heure_incorrecte' => 'Falsches Zeitformat oder Zeit', |
|
| 291 | + 'forum_non_inscrit' => 'Sie sind nicht eingeschrieben oder Adresse bzw. Passwort waren falsch.', |
|
| 292 | + 'forum_par_auteur' => 'von @auteur@', |
|
| 293 | + 'forum_titre_erreur' => 'Fehler...', |
|
| 294 | 294 | |
| 295 | - // I |
|
| 296 | - 'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:', |
|
| 297 | - 'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:', |
|
| 298 | - 'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.', |
|
| 299 | - 'icone_a_suivre' => 'Aufgaben', |
|
| 300 | - 'icone_admin_site' => 'Konfiguration', |
|
| 301 | - 'icone_agenda' => 'Kalender', |
|
| 302 | - 'icone_aide_ligne' => 'Online-Hilfe', |
|
| 303 | - 'icone_articles' => 'Artikel', |
|
| 304 | - 'icone_auteurs' => 'Autoren', |
|
| 305 | - 'icone_brouteur' => 'Übersicht', |
|
| 306 | - 'icone_configuration_site' => 'Konfiguration', |
|
| 307 | - 'icone_configurer_site' => 'Ihre Website konfigurieren', |
|
| 308 | - 'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen', |
|
| 309 | - 'icone_creer_rubrique' => 'Neue Rubrik anlegen', |
|
| 310 | - 'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen', |
|
| 311 | - 'icone_deconnecter' => 'Log-Out', |
|
| 312 | - 'icone_discussions' => 'Diskussionen', |
|
| 313 | - 'icone_doc_rubrique' => 'Dokumente der Rubriken', |
|
| 314 | - 'icone_ecrire_article' => 'Neuen Artikel schreiben', |
|
| 315 | - 'icone_edition_site' => 'Redaktion', |
|
| 316 | - 'icone_gestion_langues' => 'Sprachverwaltung', |
|
| 317 | - 'icone_informations_personnelles' => 'Persönliche Informationen', |
|
| 318 | - 'icone_interface_complet' => 'Expertenmodus', |
|
| 319 | - 'icone_interface_simple' => 'Standardmodus', |
|
| 320 | - 'icone_maintenance_site' => 'Wartung', |
|
| 321 | - 'icone_messagerie_personnelle' => 'Persönliche Nachrichten', |
|
| 322 | - 'icone_repartition_debut' => 'Seit Einrichtung der Website', |
|
| 323 | - 'icone_rubriques' => 'Rubriken', |
|
| 324 | - 'icone_sauver_site' => 'Website sichern', |
|
| 325 | - 'icone_site_entier' => 'Ganze Website', |
|
| 326 | - 'icone_sites_references' => 'Verlinkte Websites', |
|
| 327 | - 'icone_statistiques' => 'Statistiken', |
|
| 328 | - 'icone_suivi_activite' => 'Aktivitäten verfolgen', |
|
| 329 | - 'icone_suivi_actualite' => 'Entwicklung der Website', |
|
| 330 | - 'icone_suivi_pettions' => 'Petitionen verwalten', |
|
| 331 | - 'icone_suivi_revisions' => 'Änderungen des Artikels', |
|
| 332 | - 'icone_supprimer_document' => 'Dokument löschen', |
|
| 333 | - 'icone_supprimer_image' => 'Bild löschen', |
|
| 334 | - 'icone_tous_articles' => 'Alle Ihre Artikel', |
|
| 335 | - 'icone_tous_auteur' => 'Alle Autoren', |
|
| 336 | - 'icone_tous_visiteur' => 'Alle Besucher', |
|
| 337 | - 'icone_visiter_site' => 'Website ansehen', |
|
| 338 | - 'icone_voir_en_ligne' => 'Online ansehen', |
|
| 339 | - 'img_indisponible' => 'Bild nicht vorhanden', |
|
| 340 | - 'impossible' => 'unmöglich', |
|
| 341 | - 'info_a_suivre' => 'AUFGABEN »', |
|
| 342 | - 'info_acces_interdit' => 'Zugang gesperrt', |
|
| 343 | - 'info_acces_refuse' => 'Zugang verweigert', |
|
| 344 | - 'info_action' => 'Aktion: @action@', |
|
| 345 | - 'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten', |
|
| 346 | - 'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!', |
|
| 347 | - 'info_aide' => 'HILFE:', |
|
| 348 | - 'info_ajouter_mot' => 'Wort hinzufügen', |
|
| 349 | - 'info_annonce' => 'ANKÜNDIGUNG', |
|
| 350 | - 'info_annonces_generales' => 'Allgemeine Ankündigungen:', |
|
| 351 | - 'info_article_propose' => 'Vorgeschlagener Artikel', |
|
| 352 | - 'info_article_publie' => 'Veröffentlichter Artikel', |
|
| 353 | - 'info_article_redaction' => 'Artikel in Bearbeitung', |
|
| 354 | - 'info_article_refuse' => 'Abgelehnter Artikel', |
|
| 355 | - 'info_article_supprime' => 'Gelöschter Artikel', |
|
| 356 | - 'info_articles' => 'Artikel', |
|
| 357 | - 'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel', |
|
| 358 | - 'info_articles_nb' => '@nb@ Artikel', |
|
| 359 | - 'info_articles_proposes' => 'Vorgeschlagene Artikel', |
|
| 360 | - 'info_articles_un' => '1 Artikel', |
|
| 361 | - 'info_auteurs_nombre' => 'Autor(en):', |
|
| 362 | - 'info_authentification_ftp' => 'Authentifizierung per FTP.', |
|
| 363 | - 'info_breves_2' => 'Meldungen', |
|
| 364 | - 'info_breves_nb' => '@nb@ Meldungen', |
|
| 365 | - 'info_breves_un' => '1 Meldung', |
|
| 366 | - 'info_connexion_refusee' => 'Die Verbindung wurde verweigert.', |
|
| 367 | - 'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.', |
|
| 368 | - 'info_contenance' => 'Diese Website enthält:', |
|
| 369 | - 'info_contribution' => 'Beiträge', |
|
| 370 | - 'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.', |
|
| 371 | - 'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | - 'info_copyright_gpl' => 'GNU Public License', |
|
| 373 | - 'info_cours_edition' => 'In Bearbeitung', |
|
| 374 | - 'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ', |
|
| 375 | - 'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)', |
|
| 376 | - 'info_creer_vignette' => 'Miniaturbilder automatisch anlegen', |
|
| 377 | - 'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.', |
|
| 378 | - 'info_deplier' => 'Öffnen', |
|
| 379 | - 'info_descriptif_nombre' => 'Beschreibung(en):', |
|
| 380 | - 'info_description' => 'Beschreibung:', |
|
| 381 | - 'info_description_2' => 'Beschreibung:', |
|
| 382 | - 'info_dimension' => 'Maße:', |
|
| 383 | - 'info_documents_nb' => '@nb@ Dokumente', |
|
| 384 | - 'info_documents_un' => '1 Dokument', |
|
| 385 | - 'info_ecire_message_prive' => 'Neue private Nachricht schreiben', |
|
| 386 | - 'info_email_invalide' => 'Ungültige E-Mail Adresse.', |
|
| 387 | - 'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung', |
|
| 388 | - 'info_en_ligne' => 'Zur Zeit online:', |
|
| 389 | - 'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken', |
|
| 390 | - 'info_erreur_requete' => 'Abfragefehler: ', |
|
| 391 | - 'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...', |
|
| 392 | - 'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)', |
|
| 393 | - 'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br /> |
|
| 295 | + // I |
|
| 296 | + 'ical_texte_rss_articles' => 'Die «backend» Datei mit den Artikeln der Website finden Sie unter dieser Adresse:', |
|
| 297 | + 'ical_texte_rss_articles2' => 'Sie können auch «backend» Dateien für einzelne Rubriken de Website nutzen:', |
|
| 298 | + 'ical_texte_rss_breves' => 'Es gibt ebenfalls eine Datei für die Meldungen der Website. Wenn Sie die Nummer (ID) einer Rubrik angeben, erhalten Sie auchsschliesslich die Meldungen aus dieser Rubrik.', |
|
| 299 | + 'icone_a_suivre' => 'Aufgaben', |
|
| 300 | + 'icone_admin_site' => 'Konfiguration', |
|
| 301 | + 'icone_agenda' => 'Kalender', |
|
| 302 | + 'icone_aide_ligne' => 'Online-Hilfe', |
|
| 303 | + 'icone_articles' => 'Artikel', |
|
| 304 | + 'icone_auteurs' => 'Autoren', |
|
| 305 | + 'icone_brouteur' => 'Übersicht', |
|
| 306 | + 'icone_configuration_site' => 'Konfiguration', |
|
| 307 | + 'icone_configurer_site' => 'Ihre Website konfigurieren', |
|
| 308 | + 'icone_creer_nouvel_auteur' => 'Neuen Autor anlegen', |
|
| 309 | + 'icone_creer_rubrique' => 'Neue Rubrik anlegen', |
|
| 310 | + 'icone_creer_sous_rubrique' => 'Neue Unterrubrik anlegen', |
|
| 311 | + 'icone_deconnecter' => 'Log-Out', |
|
| 312 | + 'icone_discussions' => 'Diskussionen', |
|
| 313 | + 'icone_doc_rubrique' => 'Dokumente der Rubriken', |
|
| 314 | + 'icone_ecrire_article' => 'Neuen Artikel schreiben', |
|
| 315 | + 'icone_edition_site' => 'Redaktion', |
|
| 316 | + 'icone_gestion_langues' => 'Sprachverwaltung', |
|
| 317 | + 'icone_informations_personnelles' => 'Persönliche Informationen', |
|
| 318 | + 'icone_interface_complet' => 'Expertenmodus', |
|
| 319 | + 'icone_interface_simple' => 'Standardmodus', |
|
| 320 | + 'icone_maintenance_site' => 'Wartung', |
|
| 321 | + 'icone_messagerie_personnelle' => 'Persönliche Nachrichten', |
|
| 322 | + 'icone_repartition_debut' => 'Seit Einrichtung der Website', |
|
| 323 | + 'icone_rubriques' => 'Rubriken', |
|
| 324 | + 'icone_sauver_site' => 'Website sichern', |
|
| 325 | + 'icone_site_entier' => 'Ganze Website', |
|
| 326 | + 'icone_sites_references' => 'Verlinkte Websites', |
|
| 327 | + 'icone_statistiques' => 'Statistiken', |
|
| 328 | + 'icone_suivi_activite' => 'Aktivitäten verfolgen', |
|
| 329 | + 'icone_suivi_actualite' => 'Entwicklung der Website', |
|
| 330 | + 'icone_suivi_pettions' => 'Petitionen verwalten', |
|
| 331 | + 'icone_suivi_revisions' => 'Änderungen des Artikels', |
|
| 332 | + 'icone_supprimer_document' => 'Dokument löschen', |
|
| 333 | + 'icone_supprimer_image' => 'Bild löschen', |
|
| 334 | + 'icone_tous_articles' => 'Alle Ihre Artikel', |
|
| 335 | + 'icone_tous_auteur' => 'Alle Autoren', |
|
| 336 | + 'icone_tous_visiteur' => 'Alle Besucher', |
|
| 337 | + 'icone_visiter_site' => 'Website ansehen', |
|
| 338 | + 'icone_voir_en_ligne' => 'Online ansehen', |
|
| 339 | + 'img_indisponible' => 'Bild nicht vorhanden', |
|
| 340 | + 'impossible' => 'unmöglich', |
|
| 341 | + 'info_a_suivre' => 'AUFGABEN »', |
|
| 342 | + 'info_acces_interdit' => 'Zugang gesperrt', |
|
| 343 | + 'info_acces_refuse' => 'Zugang verweigert', |
|
| 344 | + 'info_action' => 'Aktion: @action@', |
|
| 345 | + 'info_administrer_rubriques' => 'Sie können diese Rubrik und ihre Unterrubriken verwalten', |
|
| 346 | + 'info_adresse_non_indiquee' => 'Sie haben keine Adresse zum Testen agegeben!', |
|
| 347 | + 'info_aide' => 'HILFE:', |
|
| 348 | + 'info_ajouter_mot' => 'Wort hinzufügen', |
|
| 349 | + 'info_annonce' => 'ANKÜNDIGUNG', |
|
| 350 | + 'info_annonces_generales' => 'Allgemeine Ankündigungen:', |
|
| 351 | + 'info_article_propose' => 'Vorgeschlagener Artikel', |
|
| 352 | + 'info_article_publie' => 'Veröffentlichter Artikel', |
|
| 353 | + 'info_article_redaction' => 'Artikel in Bearbeitung', |
|
| 354 | + 'info_article_refuse' => 'Abgelehnter Artikel', |
|
| 355 | + 'info_article_supprime' => 'Gelöschter Artikel', |
|
| 356 | + 'info_articles' => 'Artikel', |
|
| 357 | + 'info_articles_a_valider' => 'Zur Veröffentlichung vorgeschlagenen Artikel', |
|
| 358 | + 'info_articles_nb' => '@nb@ Artikel', |
|
| 359 | + 'info_articles_proposes' => 'Vorgeschlagene Artikel', |
|
| 360 | + 'info_articles_un' => '1 Artikel', |
|
| 361 | + 'info_auteurs_nombre' => 'Autor(en):', |
|
| 362 | + 'info_authentification_ftp' => 'Authentifizierung per FTP.', |
|
| 363 | + 'info_breves_2' => 'Meldungen', |
|
| 364 | + 'info_breves_nb' => '@nb@ Meldungen', |
|
| 365 | + 'info_breves_un' => '1 Meldung', |
|
| 366 | + 'info_connexion_refusee' => 'Die Verbindung wurde verweigert.', |
|
| 367 | + 'info_contact_developpeur' => 'Bitte kontaktieren Sie einen der Entwickler.', |
|
| 368 | + 'info_contenance' => 'Diese Website enthält:', |
|
| 369 | + 'info_contribution' => 'Beiträge', |
|
| 370 | + 'info_copyright' => '@spip@ ist freie Software im Sinne der @lien_gpl@.', |
|
| 371 | + 'info_copyright_doc' => 'Weitere Informationen finden Sie unter <a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 372 | + 'info_copyright_gpl' => 'GNU Public License', |
|
| 373 | + 'info_cours_edition' => 'In Bearbeitung', |
|
| 374 | + 'info_creer_repertoire' => 'Bitte legen Sie eine Datei oder ein Verzeichnis mit diesem Namen an: ', |
|
| 375 | + 'info_creer_repertoire_2' => '(Im Unterverzeichnis <b>@repertoire@</b>)', |
|
| 376 | + 'info_creer_vignette' => 'Miniaturbilder automatisch anlegen', |
|
| 377 | + 'info_creerdansrubrique_non_autorise' => 'Sie sind nicht berechtigt, Inhalte in dieser Rubrik anzulegen.', |
|
| 378 | + 'info_deplier' => 'Öffnen', |
|
| 379 | + 'info_descriptif_nombre' => 'Beschreibung(en):', |
|
| 380 | + 'info_description' => 'Beschreibung:', |
|
| 381 | + 'info_description_2' => 'Beschreibung:', |
|
| 382 | + 'info_dimension' => 'Maße:', |
|
| 383 | + 'info_documents_nb' => '@nb@ Dokumente', |
|
| 384 | + 'info_documents_un' => '1 Dokument', |
|
| 385 | + 'info_ecire_message_prive' => 'Neue private Nachricht schreiben', |
|
| 386 | + 'info_email_invalide' => 'Ungültige E-Mail Adresse.', |
|
| 387 | + 'info_en_cours_validation' => 'Ihre Artikel in Bearbeitung', |
|
| 388 | + 'info_en_ligne' => 'Zur Zeit online:', |
|
| 389 | + 'info_envoyer_message_prive' => 'Private Nachricht an diesen Autor schicken', |
|
| 390 | + 'info_erreur_requete' => 'Abfragefehler: ', |
|
| 391 | + 'info_erreur_squelette2' => 'Keine Vorlage <b>@fichier@</b> vorhanden ...', |
|
| 392 | + 'info_erreur_systeme' => 'Systemfahler (Fehler no. @errsys@)', |
|
| 393 | + 'info_erreur_systeme2' => 'Möglicherweise ist die Festplatte voll oder die Datenbank beschädigt.<br /> |
|
| 394 | 394 | <span style="color:red;">Versuchen Sie <a href=\'@script@\'>die Datenbank zu reparieren</a>, oder wenden Sie sich an Ihren Provider.</span>', |
| 395 | - 'info_fini' => 'Fertig!', |
|
| 396 | - 'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.', |
|
| 397 | - 'info_format_non_defini' => 'Undefiniertes Format', |
|
| 398 | - 'info_grand_ecran' => 'Grosser Bildschirm', |
|
| 399 | - 'info_image_aide' => 'HILFE', |
|
| 400 | - 'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder', |
|
| 401 | - 'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar', |
|
| 402 | - 'info_installation_systeme_publication' => 'Installation von SPIP ...', |
|
| 403 | - 'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.', |
|
| 404 | - 'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.', |
|
| 405 | - 'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.', |
|
| 406 | - 'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.', |
|
| 407 | - 'info_interface_complete' => 'Expertenmodus', |
|
| 408 | - 'info_interface_simple' => 'Standardmodus', |
|
| 409 | - 'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ', |
|
| 410 | - 'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:', |
|
| 411 | - 'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:', |
|
| 412 | - 'info_l_article' => 'Der Artikel', |
|
| 413 | - 'info_la_breve' => 'Die Meldung', |
|
| 414 | - 'info_la_rubrique' => 'Die Rubrik', |
|
| 415 | - 'info_langue_principale' => 'Hauptsprache der Website', |
|
| 416 | - 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel', |
|
| 417 | - 'info_les_auteurs_1' => 'von @les_auteurs@ ', |
|
| 418 | - 'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.', |
|
| 419 | - 'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).', |
|
| 420 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | - 'info_message_2' => 'NACHRICHT', |
|
| 422 | - 'info_message_supprime' => 'NACHRICHT GELÖSCHT', |
|
| 423 | - 'info_messages_nb' => '@nb@ Nachrichten', |
|
| 424 | - 'info_messages_un' => '1 Nachricht', |
|
| 425 | - 'info_mise_en_ligne' => 'Online seit:', |
|
| 426 | - 'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen', |
|
| 427 | - 'info_mois_courant' => 'Im Lauf des Monats:', |
|
| 428 | - 'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu', |
|
| 429 | - 'info_multi_herit' => 'Standardsprache', |
|
| 430 | - 'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.', |
|
| 431 | - 'info_multilinguisme' => 'Mehrsprachigkeit', |
|
| 432 | - 'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.', |
|
| 433 | - 'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.', |
|
| 434 | - 'info_nombre_en_ligne' => 'Zur Zeit online:', |
|
| 435 | - 'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”', |
|
| 436 | - 'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.', |
|
| 437 | - 'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT', |
|
| 438 | - 'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN', |
|
| 439 | - 'info_numero_abbreviation' => 'N° ', |
|
| 440 | - 'info_obligatoire' => 'Diese Information ist obligatorisch.', |
|
| 441 | - 'info_page_actuelle' => 'Aktuelle Seite', |
|
| 442 | - 'info_pense_bete' => 'MERKZETTEL', |
|
| 443 | - 'info_petit_ecran' => 'Kleiner Bildschirm', |
|
| 444 | - 'info_petition_close' => 'Petition geschlossen', |
|
| 445 | - 'info_pixels' => 'Pixel', |
|
| 446 | - 'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:', |
|
| 447 | - 'info_portfolio_automatique' => 'automatische Mappe:', |
|
| 448 | - 'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]', |
|
| 449 | - 'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]', |
|
| 450 | - 'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@', |
|
| 451 | - 'info_propose_2' => 'vorgeschlagener Artikel |
|
| 395 | + 'info_fini' => 'Fertig!', |
|
| 396 | + 'info_format_image' => 'Für diese Dateiformate können Vorschaubilder erstellt werden: @gd_formats@.', |
|
| 397 | + 'info_format_non_defini' => 'Undefiniertes Format', |
|
| 398 | + 'info_grand_ecran' => 'Grosser Bildschirm', |
|
| 399 | + 'info_image_aide' => 'HILFE', |
|
| 400 | + 'info_image_process_titre' => 'Methode zum Anlegen der Miniaturbilder', |
|
| 401 | + 'info_impossible_lire_page' => '<b>Fehler!</b> Die Seite <tt><html>@test_proxy@</html></tt> ist nicht über den Proxy erreichbar', |
|
| 402 | + 'info_installation_systeme_publication' => 'Installation von SPIP ...', |
|
| 403 | + 'info_installer_documents' => 'Sie können alle Dokumente im Verzeichnis @upload@ automatisch installieren.', |
|
| 404 | + 'info_installer_ftp' => 'Als Administrator können Sie Dateien (per FTP) direkt in das Verzeichnis <i>@upload@</i> kopieren und sie hier auswählen.', |
|
| 405 | + 'info_installer_images' => 'Sie können Bilder in den Formaten JPEG, GIF und PNG verwenden.', |
|
| 406 | + 'info_installer_images_dossier' => 'Bilder ins Verzeichnis @upload@ kopieren um sie hier auswählen zu können.', |
|
| 407 | + 'info_interface_complete' => 'Expertenmodus', |
|
| 408 | + 'info_interface_simple' => 'Standardmodus', |
|
| 409 | + 'info_joindre_document_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen: ', |
|
| 410 | + 'info_joindre_document_rubrique' => 'Dieser Rubrik können Sie Dokumente folgendem Typs beifügen:', |
|
| 411 | + 'info_joindre_documents_article' => 'Diesem Artikel können Sie Dokumente folgendem Typs beifügen:', |
|
| 412 | + 'info_l_article' => 'Der Artikel', |
|
| 413 | + 'info_la_breve' => 'Die Meldung', |
|
| 414 | + 'info_la_rubrique' => 'Die Rubrik', |
|
| 415 | + 'info_langue_principale' => 'Hauptsprache der Website', |
|
| 416 | + 'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ Pixel', |
|
| 417 | + 'info_les_auteurs_1' => 'von @les_auteurs@ ', |
|
| 418 | + 'info_logo_format_interdit' => 'Nur die Logos im Format @formats@ sind zugelassen.', |
|
| 419 | + 'info_logo_max_poids' => 'Die Logogrösse darf nicht @maxi@ überschreiten (aktuelle Dateigrösse @actuel@).', |
|
| 420 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 421 | + 'info_message_2' => 'NACHRICHT', |
|
| 422 | + 'info_message_supprime' => 'NACHRICHT GELÖSCHT', |
|
| 423 | + 'info_messages_nb' => '@nb@ Nachrichten', |
|
| 424 | + 'info_messages_un' => '1 Nachricht', |
|
| 425 | + 'info_mise_en_ligne' => 'Online seit:', |
|
| 426 | + 'info_modification_parametres_securite' => 'Änderung der Sicherheitseinstellungen', |
|
| 427 | + 'info_mois_courant' => 'Im Lauf des Monats:', |
|
| 428 | + 'info_mot_cle_ajoute' => 'Das folgende Wort wurde hinzugefügt zu', |
|
| 429 | + 'info_multi_herit' => 'Standardsprache', |
|
| 430 | + 'info_multi_langues_soulignees' => 'Die Texte des Interface sind in die <u>unterstrichenen Sprachen</u> ganz oder teilweise übersetzt. Wenn Sie eine von ihnen wählen, werden viele Elemente der Website automatisch übersetzt (Datumsangaben, Formulare usw.). In den nicht unterstrichenen Sprachen werden diese Elemente in der Hauptsprache der Website angezeigt.', |
|
| 431 | + 'info_multilinguisme' => 'Mehrsprachigkeit', |
|
| 432 | + 'info_nom_non_utilisateurs_connectes' => 'Ihr Name wird nicht in der Liste der zur Zeit eingelogten Nutzer angezeigt.', |
|
| 433 | + 'info_nom_utilisateurs_connectes' => 'Ihr Name wird in der Liste der angemeldeten Nutzer angezeigt.', |
|
| 434 | + 'info_nombre_en_ligne' => 'Zur Zeit online:', |
|
| 435 | + 'info_non_resultat' => 'Keine Fundstellen für “@cherche_mot@”', |
|
| 436 | + 'info_non_utilisation_messagerie' => 'Sie nehmen nicht am Nachrichtensystem der Website teil.', |
|
| 437 | + 'info_nouveau_message' => 'SIE HABEN EINE NEUE NACHRICHT', |
|
| 438 | + 'info_nouveaux_messages' => 'SIE HABEN @total_messages@ NEUE NACHRICHTEN', |
|
| 439 | + 'info_numero_abbreviation' => 'N° ', |
|
| 440 | + 'info_obligatoire' => 'Diese Information ist obligatorisch.', |
|
| 441 | + 'info_page_actuelle' => 'Aktuelle Seite', |
|
| 442 | + 'info_pense_bete' => 'MERKZETTEL', |
|
| 443 | + 'info_petit_ecran' => 'Kleiner Bildschirm', |
|
| 444 | + 'info_petition_close' => 'Petition geschlossen', |
|
| 445 | + 'info_pixels' => 'Pixel', |
|
| 446 | + 'info_plusieurs_mots_trouves' => 'Mehrere Schlagworte entsprechen Ihrem Suchkriterium “@cherche_mot@”:', |
|
| 447 | + 'info_portfolio_automatique' => 'automatische Mappe:', |
|
| 448 | + 'info_premier_resultat' => '[@debut_limit@ erste Ergebnisse von @total@]', |
|
| 449 | + 'info_premier_resultat_sur' => '[@debut_limit@ erste Ergebnisse von @total@]', |
|
| 450 | + 'info_propose_1' => '[@nom_site_spip@] vorgeschlagen : @titre@', |
|
| 451 | + 'info_propose_2' => 'vorgeschlagener Artikel |
|
| 452 | 452 | ---------------', |
| 453 | - 'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.', |
|
| 454 | - 'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit', |
|
| 455 | - 'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:', |
|
| 456 | - 'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.', |
|
| 457 | - 'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@', |
|
| 458 | - 'info_publie_2' => 'Artikel veröffentlicht |
|
| 453 | + 'info_propose_3' => 'Der Artikel “@titre@” ist zur Veröffentlichung vorgeschlagen.', |
|
| 454 | + 'info_propose_4' => 'Bitte teilen Sie den anderen Autoren Ihre Meinung zu diesem Artikel mit', |
|
| 455 | + 'info_propose_5' => '(im Forum des Artikels). Sie können ihn unter dieser Adresse lesen:', |
|
| 456 | + 'info_publie_01' => 'Der Artikel „@titre@“ wurde von @connect_nom@ freigegeben.', |
|
| 457 | + 'info_publie_1' => '[@nom_site_spip@] VERÖFFENTLICHT: @titre@', |
|
| 458 | + 'info_publie_2' => 'Artikel veröffentlicht |
|
| 459 | 459 | --------------', |
| 460 | - 'info_rechercher' => 'Suchen', |
|
| 461 | - 'info_rechercher_02' => 'Suchen:', |
|
| 462 | - 'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:', |
|
| 463 | - 'info_rubriques_nb' => '@nb@ Rubriken', |
|
| 464 | - 'info_rubriques_un' => '1 Rubrik', |
|
| 465 | - 'info_sans_titre_2' => 'ohne Titel', |
|
| 466 | - 'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.', |
|
| 467 | - 'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:', |
|
| 468 | - 'info_sites_nb' => '@nb@ Websites', |
|
| 469 | - 'info_sites_un' => '1 Website', |
|
| 470 | - 'info_supprimer_vignette' => 'Icon löschen', |
|
| 471 | - 'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.', |
|
| 472 | - 'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)', |
|
| 473 | - 'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.', |
|
| 474 | - 'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:', |
|
| 475 | - 'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:', |
|
| 476 | - 'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]', |
|
| 477 | - 'info_tout_afficher' => 'Alles zeigen', |
|
| 478 | - 'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...', |
|
| 479 | - 'info_travaux_titre' => 'Website in Bearbeitung', |
|
| 480 | - 'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.', |
|
| 481 | - 'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ', |
|
| 482 | - 'info_valider_lien' => 'Link freigeben', |
|
| 483 | - 'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.', |
|
| 484 | - 'info_vignette_defaut' => 'Standardsymbol', |
|
| 485 | - 'info_vignette_personnalisee' => 'Persönliches Icon', |
|
| 486 | - 'info_visite' => 'Besuch:', |
|
| 487 | - 'info_vos_rendez_vous' => 'Ihre kommenden Termine', |
|
| 488 | - 'infos_vos_pense_bete' => 'Ihre Merkzettel', |
|
| 460 | + 'info_rechercher' => 'Suchen', |
|
| 461 | + 'info_rechercher_02' => 'Suchen:', |
|
| 462 | + 'info_remplacer_vignette' => 'Ersetzen Sie das Standard-Piktogramm durch ein eigenes Logo:', |
|
| 463 | + 'info_rubriques_nb' => '@nb@ Rubriken', |
|
| 464 | + 'info_rubriques_un' => '1 Rubrik', |
|
| 465 | + 'info_sans_titre_2' => 'ohne Titel', |
|
| 466 | + 'info_selectionner_fichier' => 'Sie können eine Datei aus dem Verzeichnis @upload@ auswählen.', |
|
| 467 | + 'info_selectionner_fichier_2' => 'Wählen Sie eine Datei:', |
|
| 468 | + 'info_sites_nb' => '@nb@ Websites', |
|
| 469 | + 'info_sites_un' => '1 Website', |
|
| 470 | + 'info_supprimer_vignette' => 'Icon löschen', |
|
| 471 | + 'info_symbole_bleu' => 'Das <b>blaue</b> Symbol bedeutet <b>Merkzettel</b>, d.h. eine Nachricht nur zu Ihrer eigenen Verwendung.', |
|
| 472 | + 'info_symbole_jaune' => 'Das <b>gelbe</b> Symbol bedeutet <b>Ankündigung an alle Redakteure</b> (für alle Redakteure sichtbar, Änderung nur durch Administratoren)', |
|
| 473 | + 'info_symbole_vert' => 'Das <b>grüne</b> Symbol bezeichnet Nachrichten an <b>andere Benutzer</b> der Website.', |
|
| 474 | + 'info_telecharger_nouveau_logo' => 'Neues Logo hochladen:', |
|
| 475 | + 'info_telecharger_ordinateur' => 'Von Ihrem Computer hochladen:', |
|
| 476 | + 'info_tous_resultats_enregistres' => ' [alle Ergebnisse sind erfasst]', |
|
| 477 | + 'info_tout_afficher' => 'Alles zeigen', |
|
| 478 | + 'info_travaux_texte' => 'Diese Website ist noch nicht fertig eingerichtet. Schauen Sie später mal wieder rein ...', |
|
| 479 | + 'info_travaux_titre' => 'Website in Bearbeitung', |
|
| 480 | + 'info_trop_resultat' => 'Zu viele Ergebnisse für “@cherche_mot”. Bitte präzisieren Sie Ihre Suchbegriffe.', |
|
| 481 | + 'info_utilisation_messagerie_interne' => 'Sie verwenden das interne Nachrichtensystem der Website. ', |
|
| 482 | + 'info_valider_lien' => 'Link freigeben', |
|
| 483 | + 'info_verifier_image' => ', bitte prüfen Sie, ob Ihre Bilder fehlerfrei übertagen wurden.', |
|
| 484 | + 'info_vignette_defaut' => 'Standardsymbol', |
|
| 485 | + 'info_vignette_personnalisee' => 'Persönliches Icon', |
|
| 486 | + 'info_visite' => 'Besuch:', |
|
| 487 | + 'info_vos_rendez_vous' => 'Ihre kommenden Termine', |
|
| 488 | + 'infos_vos_pense_bete' => 'Ihre Merkzettel', |
|
| 489 | 489 | |
| 490 | - // L |
|
| 491 | - 'label_ajout_id_rapide' => 'schnell hinzufügen', |
|
| 492 | - 'label_poids_fichier' => 'Größe', |
|
| 493 | - 'label_ponctuer' => '@label@:', |
|
| 494 | - 'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen', |
|
| 495 | - 'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen', |
|
| 496 | - 'lien_afficher_texte_seul' => 'Nur Textmenüs', |
|
| 497 | - 'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen', |
|
| 498 | - 'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen', |
|
| 499 | - 'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen', |
|
| 500 | - 'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen', |
|
| 501 | - 'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen', |
|
| 502 | - 'lien_liberer' => 'freigeben', |
|
| 503 | - 'lien_liberer_tous' => 'Alle freigeben', |
|
| 504 | - 'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL', |
|
| 505 | - 'lien_nouveau_message' => 'NEUE NACHRICHT', |
|
| 506 | - 'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG', |
|
| 507 | - 'lien_petitions' => 'PETITION', |
|
| 508 | - 'lien_popularite' => 'Beliebtheit: @popularite@%', |
|
| 509 | - 'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE', |
|
| 510 | - 'lien_reessayer' => 'Wiederholen', |
|
| 511 | - 'lien_repondre_message' => 'Nachricht beantworten', |
|
| 512 | - 'lien_supprimer' => 'Löschen', |
|
| 513 | - 'lien_tout_afficher' => 'Alles zeigen', |
|
| 514 | - 'lien_visite_site' => 'Website anzeigen', |
|
| 515 | - 'lien_visites' => '@visites@ Besuche', |
|
| 516 | - 'lien_voir_auteur' => 'Autor anzeigen', |
|
| 517 | - 'ligne' => 'Zeile', |
|
| 518 | - 'login' => 'Login', |
|
| 519 | - 'login_acces_prive' => 'Login zum Redaktionssystem', |
|
| 520 | - 'login_autre_identifiant' => 'Unter anderem Namen anmelden', |
|
| 521 | - 'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).', |
|
| 522 | - 'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.', |
|
| 523 | - 'login_deconnexion_ok' => 'Abmeldung erfolgreich.', |
|
| 524 | - 'login_erreur_pass' => 'Passwort oder Benutzername falsch.', |
|
| 525 | - 'login_espace_prive' => 'Redaktionssystem', |
|
| 526 | - 'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.', |
|
| 527 | - 'login_login' => 'Login:', |
|
| 528 | - 'login_login2' => 'Login-ID oder E-Mail:', |
|
| 529 | - 'login_login_pass_incorrect' => '(Login oder Passwort falsch.)', |
|
| 530 | - 'login_motpasseoublie' => 'Passwort vergessen?', |
|
| 531 | - 'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und', |
|
| 532 | - 'login_nouvelle_tentative' => 'Erneut versuchen', |
|
| 533 | - 'login_par_ici' => 'Sie sind angemeldet... hier...', |
|
| 534 | - 'login_pass2' => 'Passwort:', |
|
| 535 | - 'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:', |
|
| 536 | - 'login_recharger' => 'diese Seite neu laden', |
|
| 537 | - 'login_rester_identifie' => 'An mich erinnern', |
|
| 538 | - 'login_retour_public' => 'Zurück zur öffentlichen Website', |
|
| 539 | - 'login_retour_site' => 'Zurück zur öffentlichen Website', |
|
| 540 | - 'login_retoursitepublic' => 'Zurück zur öffentlichen Website', |
|
| 541 | - 'login_sans_cookie' => 'Login ohne Cookie', |
|
| 542 | - 'login_securise' => 'Sicheres Login', |
|
| 543 | - 'login_sinscrire' => 'anmelden', |
|
| 544 | - 'login_test_navigateur' => 'Test Webbrowser/Verbindung', |
|
| 545 | - 'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)', |
|
| 490 | + // L |
|
| 491 | + 'label_ajout_id_rapide' => 'schnell hinzufügen', |
|
| 492 | + 'label_poids_fichier' => 'Größe', |
|
| 493 | + 'label_ponctuer' => '@label@:', |
|
| 494 | + 'lien_afficher_icones_seuls' => 'Nur Piktogramme anzeigen', |
|
| 495 | + 'lien_afficher_texte_icones' => 'Piktogramme und Beschriftung anzeigen', |
|
| 496 | + 'lien_afficher_texte_seul' => 'Nur Textmenüs', |
|
| 497 | + 'lien_aller_a_la_derniere_page' => 'Zur letzten Seite gehen', |
|
| 498 | + 'lien_aller_a_la_page_nb' => 'Zu Seite @nb@ gehen', |
|
| 499 | + 'lien_aller_a_la_page_precedente' => 'Zur vorherigen Seite gehen', |
|
| 500 | + 'lien_aller_a_la_page_suivante' => 'Zur nächsten Seite gehen', |
|
| 501 | + 'lien_aller_a_la_premiere_page' => 'Zur ersten Seite gehen', |
|
| 502 | + 'lien_liberer' => 'freigeben', |
|
| 503 | + 'lien_liberer_tous' => 'Alle freigeben', |
|
| 504 | + 'lien_nouvea_pense_bete' => 'NEUER MERKZETTEL', |
|
| 505 | + 'lien_nouveau_message' => 'NEUE NACHRICHT', |
|
| 506 | + 'lien_nouvelle_annonce' => 'NEUE ANKÜNDIGUNG', |
|
| 507 | + 'lien_petitions' => 'PETITION', |
|
| 508 | + 'lien_popularite' => 'Beliebtheit: @popularite@%', |
|
| 509 | + 'lien_racine_site' => 'OBERSTE EBENE DER WEBSITE', |
|
| 510 | + 'lien_reessayer' => 'Wiederholen', |
|
| 511 | + 'lien_repondre_message' => 'Nachricht beantworten', |
|
| 512 | + 'lien_supprimer' => 'Löschen', |
|
| 513 | + 'lien_tout_afficher' => 'Alles zeigen', |
|
| 514 | + 'lien_visite_site' => 'Website anzeigen', |
|
| 515 | + 'lien_visites' => '@visites@ Besuche', |
|
| 516 | + 'lien_voir_auteur' => 'Autor anzeigen', |
|
| 517 | + 'ligne' => 'Zeile', |
|
| 518 | + 'login' => 'Login', |
|
| 519 | + 'login_acces_prive' => 'Login zum Redaktionssystem', |
|
| 520 | + 'login_autre_identifiant' => 'Unter anderem Namen anmelden', |
|
| 521 | + 'login_cookie_accepte' => 'Bitte stellen Sie Ihren Webbrowser so ein, dass er sie akzeptiert (zumindest für diese Website).', |
|
| 522 | + 'login_cookie_oblige' => 'Zu Ihrer Sicherheit muss Ihr Browser Cookies akzeptieren, wenn Sie sich bei der Website anmelden.', |
|
| 523 | + 'login_deconnexion_ok' => 'Abmeldung erfolgreich.', |
|
| 524 | + 'login_erreur_pass' => 'Passwort oder Benutzername falsch.', |
|
| 525 | + 'login_espace_prive' => 'Redaktionssystem', |
|
| 526 | + 'login_identifiant_inconnu' => 'Benutzer «@login@» unbekannt.', |
|
| 527 | + 'login_login' => 'Login:', |
|
| 528 | + 'login_login2' => 'Login-ID oder E-Mail:', |
|
| 529 | + 'login_login_pass_incorrect' => '(Login oder Passwort falsch.)', |
|
| 530 | + 'login_motpasseoublie' => 'Passwort vergessen?', |
|
| 531 | + 'login_non_securise' => 'Achtung, dieses Formular ist nicht abgesichert. Wenn Sie sicher stellen wollen, dass Ihr Passwort nicht im Netzwerk mitgehört werden kann, aktivieren Sie bitte Javascript und', |
|
| 532 | + 'login_nouvelle_tentative' => 'Erneut versuchen', |
|
| 533 | + 'login_par_ici' => 'Sie sind angemeldet... hier...', |
|
| 534 | + 'login_pass2' => 'Passwort:', |
|
| 535 | + 'login_preferez_refuser' => '<b>Wenn Sie keine Cookies verwenden wollen</b>, können Sie eine alternative (weniger sichere) Anmeldung nutzen:', |
|
| 536 | + 'login_recharger' => 'diese Seite neu laden', |
|
| 537 | + 'login_rester_identifie' => 'An mich erinnern', |
|
| 538 | + 'login_retour_public' => 'Zurück zur öffentlichen Website', |
|
| 539 | + 'login_retour_site' => 'Zurück zur öffentlichen Website', |
|
| 540 | + 'login_retoursitepublic' => 'Zurück zur öffentlichen Website', |
|
| 541 | + 'login_sans_cookie' => 'Login ohne Cookie', |
|
| 542 | + 'login_securise' => 'Sicheres Login', |
|
| 543 | + 'login_sinscrire' => 'anmelden', |
|
| 544 | + 'login_test_navigateur' => 'Test Webbrowser/Verbindung', |
|
| 545 | + 'login_verifiez_navigateur' => '(Überprüfen Sie, dass Ihr Webbrowser Ihr Passwort nicht gespeichert hat ...)', |
|
| 546 | 546 | |
| 547 | - // M |
|
| 548 | - 'masquer_colonne' => 'Diese Spalte verbergen', |
|
| 549 | - 'masquer_trad' => 'Übersetzungen ausblenden', |
|
| 550 | - 'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.', |
|
| 551 | - 'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.', |
|
| 552 | - 'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.', |
|
| 553 | - 'module_fichiers_langues' => 'Sprachdateien', |
|
| 547 | + // M |
|
| 548 | + 'masquer_colonne' => 'Diese Spalte verbergen', |
|
| 549 | + 'masquer_trad' => 'Übersetzungen ausblenden', |
|
| 550 | + 'message_nouveaux_identifiants_echec' => 'Es können keine neuen Zugangsdaten erzeigt werden.', |
|
| 551 | + 'message_nouveaux_identifiants_echec_envoi' => 'Die neuen Zugangsdaten konnten nicht übermittelt werden.', |
|
| 552 | + 'message_nouveaux_identifiants_ok' => 'Die neuen Zugangsdaten wurden an @email@ übermittelt.', |
|
| 553 | + 'module_fichiers_langues' => 'Sprachdateien', |
|
| 554 | 554 | |
| 555 | - // N |
|
| 556 | - 'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.', |
|
| 557 | - 'numero' => 'Nummer', |
|
| 555 | + // N |
|
| 556 | + 'navigateur_pas_redirige' => 'Wenn Ihr Browser keine automatische Weiterleitung unterstützt, klicken Sie hier.', |
|
| 557 | + 'numero' => 'Nummer', |
|
| 558 | 558 | |
| 559 | - // O |
|
| 560 | - 'occurence' => 'Vorkommen', |
|
| 561 | - 'onglet_affacer_base' => 'Datenbank löschen', |
|
| 562 | - 'onglet_auteur' => 'Autor', |
|
| 563 | - 'onglet_contenu_site' => 'Inhalte der Website', |
|
| 564 | - 'onglet_evolution_visite_mod' => 'Entwicklung', |
|
| 565 | - 'onglet_fonctions_avances' => 'Erweiterte Einstellungen', |
|
| 566 | - 'onglet_informations_personnelles' => 'Persönliche Informationen', |
|
| 567 | - 'onglet_interactivite' => 'Interaktivität', |
|
| 568 | - 'onglet_messagerie' => 'Nachrichtensystem', |
|
| 569 | - 'onglet_repartition_rubrique' => 'Verteilung auf Rubriken', |
|
| 570 | - 'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen', |
|
| 571 | - 'onglet_vider_cache' => 'Sitecache löschen', |
|
| 559 | + // O |
|
| 560 | + 'occurence' => 'Vorkommen', |
|
| 561 | + 'onglet_affacer_base' => 'Datenbank löschen', |
|
| 562 | + 'onglet_auteur' => 'Autor', |
|
| 563 | + 'onglet_contenu_site' => 'Inhalte der Website', |
|
| 564 | + 'onglet_evolution_visite_mod' => 'Entwicklung', |
|
| 565 | + 'onglet_fonctions_avances' => 'Erweiterte Einstellungen', |
|
| 566 | + 'onglet_informations_personnelles' => 'Persönliche Informationen', |
|
| 567 | + 'onglet_interactivite' => 'Interaktivität', |
|
| 568 | + 'onglet_messagerie' => 'Nachrichtensystem', |
|
| 569 | + 'onglet_repartition_rubrique' => 'Verteilung auf Rubriken', |
|
| 570 | + 'onglet_save_restaur_base' => 'Datenbank sichern/wieder herstellen', |
|
| 571 | + 'onglet_vider_cache' => 'Sitecache löschen', |
|
| 572 | 572 | |
| 573 | - // P |
|
| 574 | - 'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:', |
|
| 575 | - 'pass_erreur' => 'Fehler', |
|
| 576 | - 'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.', |
|
| 577 | - 'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.', |
|
| 578 | - 'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.', |
|
| 579 | - 'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!', |
|
| 580 | - 'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.', |
|
| 581 | - 'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.', |
|
| 582 | - 'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.', |
|
| 583 | - 'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.', |
|
| 584 | - 'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt) |
|
| 573 | + // P |
|
| 574 | + 'pass_choix_pass' => 'Bitte geben Sie Ihr neues Passwort ein:', |
|
| 575 | + 'pass_erreur' => 'Fehler', |
|
| 576 | + 'pass_erreur_acces_refuse' => '<b>Fehler:</b> Sie haben keinen Zugang mehr zur Website.', |
|
| 577 | + 'pass_erreur_code_inconnu' => '<b>Fehler:</b> Angabe entspricht keinem Benutzer mit Zugang zu dieser Website.', |
|
| 578 | + 'pass_erreur_non_enregistre' => '<b>Fehler:</b> Die Adresse <tt>@email_oubli@</tt> ist nicht bekannt.', |
|
| 579 | + 'pass_erreur_non_valide' => '<b>Fehler:</b> Diese E-Mail Adresse <tt>@email_oubli@</tt> ist ungültig!', |
|
| 580 | + 'pass_erreur_probleme_technique' => '<b>Fehler:</b> E-Mail kann aufgrund eines technischen Problems nicht gesendet werden.', |
|
| 581 | + 'pass_espace_prive_bla' => 'Das Redaktionssystem dieser Website ist für Besucher zugänglich, die sich angemeldet haben. Nach erfolgreicher Anmeldung können Sie an Artikeln mitarbeiten, eigene Artikel vorschlagen und an allen Diskussionsforen teilnehmen.', |
|
| 582 | + 'pass_forum_bla' => 'Sie möchten in einem Forum für eingetragene Besucher der Website schreiben.', |
|
| 583 | + 'pass_indiquez_cidessous' => 'Bitte geben Sie die E-Mail Adresse an, mit der Sie sich ursprünglich eingetragen haben. Sie erhalten dann eine Mail mit allen erforderlichen Schritten um wieder Zugang zu bekommen.', |
|
| 584 | + 'pass_mail_passcookie' => '(Diese Nachricht wurde automatisch erzeugt) |
|
| 585 | 585 | |
| 586 | 586 | Um sich wieder bei der Website |
| 587 | 587 | @nom_site_spip@ (@adresse_site@) |
@@ -591,135 +591,135 @@ discard block |
||
| 591 | 591 | |
| 592 | 592 | Sie können auf dieser Seite ein neues Passwort eingeben und sich wieder bei der Website einloggen. |
| 593 | 593 | ', |
| 594 | - 'pass_mot_oublie' => 'Passwort vergessen', |
|
| 595 | - 'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.', |
|
| 596 | - 'pass_nouveau_pass' => 'Neues Passwort', |
|
| 597 | - 'pass_ok' => 'O.K.', |
|
| 598 | - 'pass_oubli_mot' => 'Passwort vergessen', |
|
| 599 | - 'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.', |
|
| 600 | - 'pass_quitter_fenetre' => 'Dieses Fenster verlassen', |
|
| 601 | - 'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».', |
|
| 602 | - 'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).', |
|
| 603 | - 'pass_retour_public' => 'Zurück zum öffentlichen Bereich', |
|
| 604 | - 'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.', |
|
| 605 | - 'pass_vousinscrire' => 'Bei dieser Website anmelden', |
|
| 606 | - 'precedent' => 'zurück', |
|
| 607 | - 'previsualisation' => 'Vorschau', |
|
| 608 | - 'previsualiser' => 'Vorschau anzeigen', |
|
| 594 | + 'pass_mot_oublie' => 'Passwort vergessen', |
|
| 595 | + 'pass_nouveau_enregistre' => 'Ihr neues Passwort wurde gespeichert.', |
|
| 596 | + 'pass_nouveau_pass' => 'Neues Passwort', |
|
| 597 | + 'pass_ok' => 'O.K.', |
|
| 598 | + 'pass_oubli_mot' => 'Passwort vergessen', |
|
| 599 | + 'pass_procedure_changer' => 'Um Ihr Paßwort zu ändern, geben Sie bitte die Mailadresse Ihres Accounts an.', |
|
| 600 | + 'pass_quitter_fenetre' => 'Dieses Fenster verlassen', |
|
| 601 | + 'pass_rappel_login' => 'Erinnerung: Ihr Login ist «@login@».', |
|
| 602 | + 'pass_recevoir_mail' => 'Ein Link zum Zurücksetzen Ihres Passworts wurde an Ihre E-Mail-Adresse geschickt (sofern diese gültig ist).', |
|
| 603 | + 'pass_retour_public' => 'Zurück zum öffentlichen Bereich', |
|
| 604 | + 'pass_rien_a_faire_ici' => 'Hier ist nichts zu tun.', |
|
| 605 | + 'pass_vousinscrire' => 'Bei dieser Website anmelden', |
|
| 606 | + 'precedent' => 'zurück', |
|
| 607 | + 'previsualisation' => 'Vorschau', |
|
| 608 | + 'previsualiser' => 'Vorschau anzeigen', |
|
| 609 | 609 | |
| 610 | - // R |
|
| 611 | - 'retour' => 'Zurück', |
|
| 610 | + // R |
|
| 611 | + 'retour' => 'Zurück', |
|
| 612 | 612 | |
| 613 | - // S |
|
| 614 | - 'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:', |
|
| 615 | - 'squelette' => 'Skelett', |
|
| 616 | - 'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile', |
|
| 617 | - 'squelette_ligne' => 'Skelett, Zeile', |
|
| 618 | - 'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@', |
|
| 619 | - 'suivant' => 'weiter', |
|
| 613 | + // S |
|
| 614 | + 'spip_conforme_dtd' => 'SPIP erkennt dieses Dokument als dem DOCTYPE entsprechend:', |
|
| 615 | + 'squelette' => 'Skelett', |
|
| 616 | + 'squelette_inclus_ligne' => 'eingebettetes Skelett, Zeile', |
|
| 617 | + 'squelette_ligne' => 'Skelett, Zeile', |
|
| 618 | + 'stats_visites_et_popularite' => '@visites@ Besuche; Beliebtheit: @popularite@', |
|
| 619 | + 'suivant' => 'weiter', |
|
| 620 | 620 | |
| 621 | - // T |
|
| 622 | - 'taille_go' => '@taille@ Start', |
|
| 623 | - 'taille_ko' => '@taille@ kB', |
|
| 624 | - 'taille_mo' => '@taille@ MB', |
|
| 625 | - 'taille_octets' => '@taille@ Byte', |
|
| 626 | - 'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „', |
|
| 627 | - 'texte_actualite_site_2' => 'den Expertenmodus aktivieren,', |
|
| 628 | - 'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.', |
|
| 629 | - 'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.', |
|
| 630 | - 'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).', |
|
| 631 | - 'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@). |
|
| 621 | + // T |
|
| 622 | + 'taille_go' => '@taille@ Start', |
|
| 623 | + 'taille_ko' => '@taille@ kB', |
|
| 624 | + 'taille_mo' => '@taille@ MB', |
|
| 625 | + 'taille_octets' => '@taille@ Byte', |
|
| 626 | + 'texte_actualite_site_1' => 'Wenn Sie sich mit der Oberfläche des Redaktionssystems vertraut gemacht haben, können Sie „', |
|
| 627 | + 'texte_actualite_site_2' => 'den Expertenmodus aktivieren,', |
|
| 628 | + 'texte_actualite_site_3' => 'um zusätzliche Funktionen zu nutzen.', |
|
| 629 | + 'texte_creation_automatique_vignette' => 'Diese Website generiert automatisch Vorschaubilder. Wenn Sie Bilder in den Formaten @gd_formats@ mit diesem Formular installieren, werden Vorschaubilder mit den maximalen Diemsionen @taille_preview@ Pixel angelegt.', |
|
| 630 | + 'texte_documents_associes' => 'Die folgenden Dokumente wurden dem Artikel zugeordnet jedoch nicht direkt in ihn eingefügt. Ja nach Gestaltung der öffentlichen Website können Sie alle beigeordneten Dokumente angezeigt werden (oder auch nicht).', |
|
| 631 | + 'texte_erreur_mise_niveau_base' => 'Datenbankfehler beim Einrichten der neuen Version. Das Bild <b>@fichier@</b> wurde nicht übernommen (Artikel @id_article@). |
|
| 632 | 632 | Bitte notieren Sie diesen Hinweis, starten Sie die Aktualisierung erneut und prüfen Sie, ob die Bilder |
| 633 | 633 | in den Artikeln angezeigt werden.', |
| 634 | - 'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.', |
|
| 635 | - 'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank. |
|
| 634 | + 'texte_erreur_visiteur' => 'Sie haben versucht, sich mit einer Identität einzuloggen, die dazu nicht berechtigt.', |
|
| 635 | + 'texte_inc_auth_1' => 'Sie sind angemeldet als <b>@auth_login@</b>, aber diese ID existiert nicht bzw. nicht mehr in der Datenbank. |
|
| 636 | 636 | Versuchen Sie,', |
| 637 | - 'texte_inc_auth_2' => 'sich erneut anzumelden', |
|
| 638 | - 'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.', |
|
| 639 | - 'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>', |
|
| 640 | - 'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ', |
|
| 641 | - 'texte_inc_meta_2' => 'die Berechtigungen', |
|
| 642 | - 'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.', |
|
| 643 | - 'texte_statut_en_cours_redaction' => 'in Bearbeitung', |
|
| 644 | - 'texte_statut_poubelle' => 'im Mülleimer', |
|
| 645 | - 'texte_statut_propose_evaluation' => 'vorgeschlagen', |
|
| 646 | - 'texte_statut_publie' => 'veröffentlicht', |
|
| 647 | - 'texte_statut_refuse' => 'abgelehnt', |
|
| 648 | - 'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:', |
|
| 649 | - 'titre_cadre_raccourcis' => 'SCHNELLZUGANG:', |
|
| 650 | - 'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern', |
|
| 651 | - 'titre_image_admin_article' => 'Sie können diesen Artikel verwalten', |
|
| 652 | - 'titre_image_administrateur' => 'Administrator', |
|
| 653 | - 'titre_image_aide' => 'Hilfe zu diesem Element', |
|
| 654 | - 'titre_image_auteur_supprime' => 'gelöschter Autor', |
|
| 655 | - 'titre_image_redacteur' => 'Redakteur ohne Systemzugang', |
|
| 656 | - 'titre_image_redacteur_02' => 'Redakteur', |
|
| 657 | - 'titre_image_selecteur' => 'Liste anzeigen', |
|
| 658 | - 'titre_image_visiteur' => 'Besucher', |
|
| 659 | - 'titre_joindre_document' => 'DOKUMENT ANFÜGEN', |
|
| 660 | - 'titre_mots_cles' => 'SCHLAGWORTE', |
|
| 661 | - 'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.', |
|
| 662 | - 'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN', |
|
| 663 | - 'titre_signatures_attente' => 'Nicht bestätigte Unterschriften', |
|
| 664 | - 'titre_signatures_confirmees' => 'Bestätigte Unterschriften', |
|
| 665 | - 'titre_statistiques' => 'Statistiken', |
|
| 666 | - 'titre_titre_document' => 'Titel des Dokuments:', |
|
| 667 | - 'todo' => 'demnächst', |
|
| 668 | - 'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen', |
|
| 669 | - 'trad_reference' => '(Referenzartikel)', |
|
| 637 | + 'texte_inc_auth_2' => 'sich erneut anzumelden', |
|
| 638 | + 'texte_inc_auth_3' => ', nachdem Sie u.U. Ihren Webbrowser neu gestartet haben.', |
|
| 639 | + 'texte_inc_config' => 'Die hier möglichten Einstellungen beeinflussen das grundsätzliche Verhalten Ihrer Website. Wir raten dringend, sie nur zu ändern, wenn Sie vollständig mit der Funktionsweise von SPIP vertraut sind.<br /><br /><b>Es ist ebenfalls mehr als ratsam, diese Einstellungen nur von Ihrem Haupt-Administrator vornehmen zu lassen.</b>', |
|
| 640 | + 'texte_inc_meta_1' => 'Das System konnte die Datei <code>@fichier@</code> nicht speichern. Bitte prüfen Sie als Administrator ', |
|
| 641 | + 'texte_inc_meta_2' => 'die Berechtigungen', |
|
| 642 | + 'texte_inc_meta_3' => 'für das Verzeichnis <code>@repertoire@</code>.', |
|
| 643 | + 'texte_statut_en_cours_redaction' => 'in Bearbeitung', |
|
| 644 | + 'texte_statut_poubelle' => 'im Mülleimer', |
|
| 645 | + 'texte_statut_propose_evaluation' => 'vorgeschlagen', |
|
| 646 | + 'texte_statut_publie' => 'veröffentlicht', |
|
| 647 | + 'texte_statut_refuse' => 'abgelehnt', |
|
| 648 | + 'titre_ajouter_mot_cle' => 'SCHLAGWORT ZUORDNEN:', |
|
| 649 | + 'titre_cadre_raccourcis' => 'SCHNELLZUGANG:', |
|
| 650 | + 'titre_changer_couleur_interface' => 'Farbe der Oberfläche ändern', |
|
| 651 | + 'titre_image_admin_article' => 'Sie können diesen Artikel verwalten', |
|
| 652 | + 'titre_image_administrateur' => 'Administrator', |
|
| 653 | + 'titre_image_aide' => 'Hilfe zu diesem Element', |
|
| 654 | + 'titre_image_auteur_supprime' => 'gelöschter Autor', |
|
| 655 | + 'titre_image_redacteur' => 'Redakteur ohne Systemzugang', |
|
| 656 | + 'titre_image_redacteur_02' => 'Redakteur', |
|
| 657 | + 'titre_image_selecteur' => 'Liste anzeigen', |
|
| 658 | + 'titre_image_visiteur' => 'Besucher', |
|
| 659 | + 'titre_joindre_document' => 'DOKUMENT ANFÜGEN', |
|
| 660 | + 'titre_mots_cles' => 'SCHLAGWORTE', |
|
| 661 | + 'titre_probleme_technique' => 'Achtung! Ein Problem mit dem SQL Server verhindert den Zugang zu diesem Teil der Website. Danke für Ihr Verständnis.', |
|
| 662 | + 'titre_publier_document' => 'DOKUMENT IN DIESER RUBRIK VERÖFFENTLICHEN', |
|
| 663 | + 'titre_signatures_attente' => 'Nicht bestätigte Unterschriften', |
|
| 664 | + 'titre_signatures_confirmees' => 'Bestätigte Unterschriften', |
|
| 665 | + 'titre_statistiques' => 'Statistiken', |
|
| 666 | + 'titre_titre_document' => 'Titel des Dokuments:', |
|
| 667 | + 'todo' => 'demnächst', |
|
| 668 | + 'trad_definir_reference' => 'Wählen Sie "@titre@" als Referenz für Übersetzungen', |
|
| 669 | + 'trad_reference' => '(Referenzartikel)', |
|
| 670 | 670 | |
| 671 | - // U |
|
| 672 | - 'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.', |
|
| 671 | + // U |
|
| 672 | + 'upload_limit' => 'Die Datei ist zu groß für den Server; die maximal erlaubte Dateigröße für den <i>Upload</i> ist @max@.', |
|
| 673 | 673 | |
| 674 | - // Z |
|
| 675 | - 'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen', |
|
| 676 | - 'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für @from@ deklariert.', |
|
| 677 | - 'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter', |
|
| 678 | - 'zbug_boucle' => 'Schleife', |
|
| 679 | - 'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert', |
|
| 680 | - 'zbug_calcul' => 'berechnen', |
|
| 681 | - 'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife', |
|
| 682 | - 'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@', |
|
| 683 | - 'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@', |
|
| 684 | - 'zbug_code' => 'Code', |
|
| 685 | - 'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@', |
|
| 686 | - 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel', |
|
| 687 | - 'zbug_distant_interdit' => 'Extern unzulässig', |
|
| 688 | - 'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel', |
|
| 689 | - 'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index', |
|
| 690 | - 'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden', |
|
| 691 | - 'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt', |
|
| 692 | - 'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft', |
|
| 693 | - 'zbug_erreur_compilation' => 'Fehler beim Kompilieren', |
|
| 694 | - 'zbug_erreur_execution_page' => 'Fehler beim Ausführen', |
|
| 695 | - 'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.', |
|
| 696 | - 'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)', |
|
| 697 | - 'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).', |
|
| 698 | - 'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)', |
|
| 699 | - 'zbug_hors_compilation' => 'Außerhalb der Kompilation', |
|
| 700 | - 'zbug_info_erreur_squelette' => 'Irrtum auf der Seite', |
|
| 701 | - 'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ', |
|
| 702 | - 'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife', |
|
| 703 | - 'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@', |
|
| 704 | - 'zbug_profile' => 'Rechenzeit: @time@', |
|
| 705 | - 'zbug_resultat' => 'Ergebnis', |
|
| 706 | - 'zbug_serveur_indefini' => 'SQL-Server nicht definiert', |
|
| 707 | - 'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer', |
|
| 708 | - 'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt', |
|
| 709 | - 'zxml_connus_attributs' => 'bekannte Attribute', |
|
| 710 | - 'zxml_de' => 'von', |
|
| 711 | - 'zxml_inconnu_attribut' => 'Attribut unbekannt', |
|
| 712 | - 'zxml_inconnu_balise' => 'Tag unbekannt', |
|
| 713 | - 'zxml_inconnu_entite' => 'Entity unbekannt', |
|
| 714 | - 'zxml_inconnu_id' => 'ID unbekannt', |
|
| 715 | - 'zxml_mais_de' => 'aber', |
|
| 716 | - 'zxml_non_conforme' => 'entspricht nicht dem Motiv', |
|
| 717 | - 'zxml_non_fils' => 'ist kein Kind von', |
|
| 718 | - 'zxml_nonvide_balise' => 'kein leerer Tag', |
|
| 719 | - 'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in', |
|
| 720 | - 'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt', |
|
| 721 | - 'zxml_survoler' => 'Mouseover zeigt korrekte', |
|
| 722 | - 'zxml_valeur_attribut' => 'Attributwert', |
|
| 723 | - 'zxml_vide_balise' => 'leerer Tag', |
|
| 724 | - 'zxml_vu' => 'bereits gesehen' |
|
| 674 | + // Z |
|
| 675 | + 'zbug_balise_b_aval' => ' : Tag B muss vor der Schleife stehen', |
|
| 676 | + 'zbug_balise_inexistante' => 'Fehler: Der Tag @balise@ wurde nicht richtig für @from@ deklariert.', |
|
| 677 | + 'zbug_balise_sans_argument' => 'Dem Tag @balise@ fehlt ein Parameter', |
|
| 678 | + 'zbug_boucle' => 'Schleife', |
|
| 679 | + 'zbug_boucle_recursive_undef' => 'Die rekursive Schleife @nom@ ist nicht definiert', |
|
| 680 | + 'zbug_calcul' => 'berechnen', |
|
| 681 | + 'zbug_champ_hors_boucle' => 'Feld @champ@ ausserhalb einer Schleife', |
|
| 682 | + 'zbug_champ_hors_critere' => 'Feld @champ@ ohne Kriterium @critere@', |
|
| 683 | + 'zbug_champ_hors_motif' => 'Feld @champ@ befindet sich ausserhalb eines Kontexts @motif@', |
|
| 684 | + 'zbug_code' => 'Code', |
|
| 685 | + 'zbug_critere_inconnu' => 'Unbekanntes Kriterium @critere@', |
|
| 686 | + 'zbug_critere_sur_table_sans_cle_primaire' => '{@critere@} für eine Tabelle ohne eindeutigen Schlüssel', |
|
| 687 | + 'zbug_distant_interdit' => 'Extern unzulässig', |
|
| 688 | + 'zbug_doublon_table_sans_cle_primaire' => 'Dublette in einer Tabelle ohne eindeutigen Primärschlüssel', |
|
| 689 | + 'zbug_doublon_table_sans_index' => 'Dublette in Tabelle ohne Index', |
|
| 690 | + 'zbug_erreur_boucle_double' => 'Schleife (BOUCLE) @id@ doppelt vorhanden', |
|
| 691 | + 'zbug_erreur_boucle_fermant' => 'Schleife (BOUCLE) @id@: Schluss-Tag fehlt', |
|
| 692 | + 'zbug_erreur_boucle_syntaxe' => 'Syntax der Schleife @id@ fehlerhaft', |
|
| 693 | + 'zbug_erreur_compilation' => 'Fehler beim Kompilieren', |
|
| 694 | + 'zbug_erreur_execution_page' => 'Fehler beim Ausführen', |
|
| 695 | + 'zbug_erreur_filtre' => 'Der Filter @filtre@ ist nicht definiert.', |
|
| 696 | + 'zbug_erreur_filtre_nbarg_min' => 'Filter @filtre@: es fehlen @nb@ Argument(e)', |
|
| 697 | + 'zbug_erreur_meme_parent' => 'Das Kriterium {meme_parent} funktioniert nur mit den Schleifen (FORUMS) und (RUBRIQUES).', |
|
| 698 | + 'zbug_erreur_squelette' => 'Fehler in Layoutvorlage (Skelett)', |
|
| 699 | + 'zbug_hors_compilation' => 'Außerhalb der Kompilation', |
|
| 700 | + 'zbug_info_erreur_squelette' => 'Irrtum auf der Seite', |
|
| 701 | + 'zbug_inversion_ordre_inexistant' => 'Umkehrung einer inexistenten Sortierung ', |
|
| 702 | + 'zbug_pagination_sans_critere' => '#PAGINATION ohne Kriterium {pagination} oder in rekursiver Schleife', |
|
| 703 | + 'zbug_parametres_inclus_incorrects' => 'INCLUDE-Parameter fehlerhaft: @param@', |
|
| 704 | + 'zbug_profile' => 'Rechenzeit: @time@', |
|
| 705 | + 'zbug_resultat' => 'Ergebnis', |
|
| 706 | + 'zbug_serveur_indefini' => 'SQL-Server nicht definiert', |
|
| 707 | + 'zbug_statistiques' => 'Statistik der SQL Abfragen nach Dauer', |
|
| 708 | + 'zbug_table_inconnue' => 'SQL-Tabelle « @table@ » unbekannt', |
|
| 709 | + 'zxml_connus_attributs' => 'bekannte Attribute', |
|
| 710 | + 'zxml_de' => 'von', |
|
| 711 | + 'zxml_inconnu_attribut' => 'Attribut unbekannt', |
|
| 712 | + 'zxml_inconnu_balise' => 'Tag unbekannt', |
|
| 713 | + 'zxml_inconnu_entite' => 'Entity unbekannt', |
|
| 714 | + 'zxml_inconnu_id' => 'ID unbekannt', |
|
| 715 | + 'zxml_mais_de' => 'aber', |
|
| 716 | + 'zxml_non_conforme' => 'entspricht nicht dem Motiv', |
|
| 717 | + 'zxml_non_fils' => 'ist kein Kind von', |
|
| 718 | + 'zxml_nonvide_balise' => 'kein leerer Tag', |
|
| 719 | + 'zxml_obligatoire_attribut' => 'obligatorisches Attribut fehlt in', |
|
| 720 | + 'zxml_succession_fils_incorrecte' => 'Objektreihenfolge inkorrekt', |
|
| 721 | + 'zxml_survoler' => 'Mouseover zeigt korrekte', |
|
| 722 | + 'zxml_valeur_attribut' => 'Attributwert', |
|
| 723 | + 'zxml_vide_balise' => 'leerer Tag', |
|
| 724 | + 'zxml_vu' => 'bereits gesehen' |
|
| 725 | 725 | ); |
@@ -4,123 +4,123 @@ |
||
| 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 | - 'accueil_site' => 'Startseite', |
|
| 14 | - 'article' => 'Artikel', |
|
| 15 | - 'articles' => 'Artikel', |
|
| 16 | - 'articles_auteur' => 'Artikel dieses Autors', |
|
| 17 | - 'articles_populaires' => 'Die beliebtesten Artikel', |
|
| 18 | - 'articles_rubrique' => 'Artikel dieser Rubrik', |
|
| 19 | - 'aucun_article' => 'Unter dieser Adresse gibt es keinen Artikel.', |
|
| 20 | - 'aucun_auteur' => 'Unter dieser Adresse gibt es keinen Autor.', |
|
| 21 | - 'aucun_site' => 'Unter dieser Adresse gibt es keien Website.', |
|
| 22 | - 'aucune_breve' => 'Unter dieser Adresse gibt es keine Meldung.', |
|
| 23 | - 'aucune_rubrique' => 'Unter dieser Adresse gibt es keine Rubrik.', |
|
| 24 | - 'auteur' => 'Autor', |
|
| 25 | - 'autres' => 'Andere', |
|
| 26 | - 'autres_breves' => 'Weitere Meldungen.', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Weitere Schlagwortgruppen', |
|
| 28 | - 'autres_sites' => 'Weitere Websites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Hallo', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Website kommentieren', |
|
| 35 | - 'contact' => 'Kontakt', |
|
| 36 | - 'copie_document_impossible' => 'Dokument kann nicht kopiert werden', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Datum', |
|
| 40 | - 'dernier_ajout' => 'Neuester Eintrag', |
|
| 41 | - 'dernieres_breves' => 'Neue Meldungen', |
|
| 42 | - 'derniers_articles' => 'Neueste Artikel', |
|
| 43 | - 'derniers_commentaires' => 'Neueste Kommentare', |
|
| 44 | - 'derniers_messages_forum' => 'Neue Forumsbeiträge', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Im Textmodus bearbeiten ', |
|
| 48 | - 'en_reponse' => 'Antwort auf:', |
|
| 49 | - 'en_resume' => 'Als Zusammenfassung', |
|
| 50 | - 'envoyer_message' => 'Nachricht senden', |
|
| 51 | - 'espace_prive' => 'Redaktion', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Akzeptierte Formate: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Baumstruktur der Website', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'Tage', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Login', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Vom gleichen Autor', |
|
| 67 | - 'meme_rubrique' => 'In der gleichen Rubrik', |
|
| 68 | - 'memes_auteurs' => 'Von den gleichen Autoren', |
|
| 69 | - 'message' => 'Nachricht', |
|
| 70 | - 'messages_forum' => 'Nachrichten', |
|
| 71 | - 'messages_recents' => 'Neue Forumsbeiträge', |
|
| 72 | - 'mots_clef' => 'Schlagwort', |
|
| 73 | - 'mots_clefs' => 'Schlagworte', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Schlagworte der gleichen Kategorie', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigation', |
|
| 78 | - 'nom' => 'Name', |
|
| 79 | - 'nouveautes' => 'Neuigkeiten', |
|
| 80 | - 'nouveautes_web' => 'Neues im WWW', |
|
| 81 | - 'nouveaux_articles' => 'Neue Artikel', |
|
| 82 | - 'nouvelles_breves' => 'Neue Meldungen', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'vorige Seite', |
|
| 86 | - 'page_suivante' => 'nächste Seite', |
|
| 87 | - 'par_auteur' => 'von ', |
|
| 88 | - 'participer_site' => 'Sie können bei dieser Website mitmachen, wenn Sie sich anmelden. Sie erhalten sofort eine E-Mail mit den Zugangsdaten zum Redaktionssystem.', |
|
| 89 | - 'plan_site' => 'Sitemap', |
|
| 90 | - 'popularite' => 'Beliebtheit', |
|
| 91 | - 'poster_message' => 'Nachricht senden', |
|
| 92 | - 'proposer_site' => 'Sie können in dieser Rubrik eine Seite vorschlagen :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'auf diesen Artikel antworten', |
|
| 96 | - 'repondre_breve' => 'auf diese Meldung antworten', |
|
| 97 | - 'resultats_recherche' => 'Suchergebnis(se)', |
|
| 98 | - 'retour_debut_forums' => 'Zurück zum Beginn des Forums', |
|
| 99 | - 'rss_abonnement' => 'Kopieren Sie die folgende URL in Ihren Feedreader:', |
|
| 100 | - 'rss_abonnement_titre' => 'Abonnieren', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Abonnieren von', |
|
| 102 | - 'rss_explication' => 'Ein RSS-Feed sammelt Informationen über die Aktualisierungen einer Website. Er liefert den Inhalt von Einträgen oder Kommentaren oder einen Auszug daraus sowie einen Link zu den Vollversionen und einige andere Informationen. Der Feed ist dazu gedacht, von einem RSS-Aggregator (Feedreader) gelesen zu werden', |
|
| 103 | - 'rss_explication_titre' => 'Was ist ein RSS-Feed ?', |
|
| 104 | - 'rubrique' => 'Rubrik', |
|
| 105 | - 'rubriques' => 'Rubriken', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Unterschrift', |
|
| 109 | - 'site_realise_avec_spip' => 'Realisiert mit SPIP', |
|
| 110 | - 'sites_web' => 'Websites', |
|
| 111 | - 'sous_rubriques' => 'Unterrubriken', |
|
| 112 | - 'spam' => 'SPAM', |
|
| 113 | - 'suite' => 'weiter', |
|
| 114 | - 'sur_web' => 'Im WWW', |
|
| 115 | - 'syndiquer_rubrique' => 'Diese Rubrik per RSS einbinden', |
|
| 116 | - 'syndiquer_site' => 'Die ganze Website mit RSS einbinden', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Dies ist der Newsletter der Website ', |
|
| 120 | - 'texte_lettre_information_2' => 'Diese Mail informiert über die Neuerscheinungen der letzten', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Druckversion', |
|
| 124 | - 'voir_en_ligne' => 'Online ansehen', |
|
| 125 | - 'voir_squelette' => 'Layoutvorlage dieser Seite ansehen' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Startseite', |
|
| 14 | + 'article' => 'Artikel', |
|
| 15 | + 'articles' => 'Artikel', |
|
| 16 | + 'articles_auteur' => 'Artikel dieses Autors', |
|
| 17 | + 'articles_populaires' => 'Die beliebtesten Artikel', |
|
| 18 | + 'articles_rubrique' => 'Artikel dieser Rubrik', |
|
| 19 | + 'aucun_article' => 'Unter dieser Adresse gibt es keinen Artikel.', |
|
| 20 | + 'aucun_auteur' => 'Unter dieser Adresse gibt es keinen Autor.', |
|
| 21 | + 'aucun_site' => 'Unter dieser Adresse gibt es keien Website.', |
|
| 22 | + 'aucune_breve' => 'Unter dieser Adresse gibt es keine Meldung.', |
|
| 23 | + 'aucune_rubrique' => 'Unter dieser Adresse gibt es keine Rubrik.', |
|
| 24 | + 'auteur' => 'Autor', |
|
| 25 | + 'autres' => 'Andere', |
|
| 26 | + 'autres_breves' => 'Weitere Meldungen.', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Weitere Schlagwortgruppen', |
|
| 28 | + 'autres_sites' => 'Weitere Websites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Hallo', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Website kommentieren', |
|
| 35 | + 'contact' => 'Kontakt', |
|
| 36 | + 'copie_document_impossible' => 'Dokument kann nicht kopiert werden', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Datum', |
|
| 40 | + 'dernier_ajout' => 'Neuester Eintrag', |
|
| 41 | + 'dernieres_breves' => 'Neue Meldungen', |
|
| 42 | + 'derniers_articles' => 'Neueste Artikel', |
|
| 43 | + 'derniers_commentaires' => 'Neueste Kommentare', |
|
| 44 | + 'derniers_messages_forum' => 'Neue Forumsbeiträge', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Im Textmodus bearbeiten ', |
|
| 48 | + 'en_reponse' => 'Antwort auf:', |
|
| 49 | + 'en_resume' => 'Als Zusammenfassung', |
|
| 50 | + 'envoyer_message' => 'Nachricht senden', |
|
| 51 | + 'espace_prive' => 'Redaktion', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Akzeptierte Formate: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Baumstruktur der Website', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'Tage', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Login', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Vom gleichen Autor', |
|
| 67 | + 'meme_rubrique' => 'In der gleichen Rubrik', |
|
| 68 | + 'memes_auteurs' => 'Von den gleichen Autoren', |
|
| 69 | + 'message' => 'Nachricht', |
|
| 70 | + 'messages_forum' => 'Nachrichten', |
|
| 71 | + 'messages_recents' => 'Neue Forumsbeiträge', |
|
| 72 | + 'mots_clef' => 'Schlagwort', |
|
| 73 | + 'mots_clefs' => 'Schlagworte', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Schlagworte der gleichen Kategorie', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigation', |
|
| 78 | + 'nom' => 'Name', |
|
| 79 | + 'nouveautes' => 'Neuigkeiten', |
|
| 80 | + 'nouveautes_web' => 'Neues im WWW', |
|
| 81 | + 'nouveaux_articles' => 'Neue Artikel', |
|
| 82 | + 'nouvelles_breves' => 'Neue Meldungen', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'vorige Seite', |
|
| 86 | + 'page_suivante' => 'nächste Seite', |
|
| 87 | + 'par_auteur' => 'von ', |
|
| 88 | + 'participer_site' => 'Sie können bei dieser Website mitmachen, wenn Sie sich anmelden. Sie erhalten sofort eine E-Mail mit den Zugangsdaten zum Redaktionssystem.', |
|
| 89 | + 'plan_site' => 'Sitemap', |
|
| 90 | + 'popularite' => 'Beliebtheit', |
|
| 91 | + 'poster_message' => 'Nachricht senden', |
|
| 92 | + 'proposer_site' => 'Sie können in dieser Rubrik eine Seite vorschlagen :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'auf diesen Artikel antworten', |
|
| 96 | + 'repondre_breve' => 'auf diese Meldung antworten', |
|
| 97 | + 'resultats_recherche' => 'Suchergebnis(se)', |
|
| 98 | + 'retour_debut_forums' => 'Zurück zum Beginn des Forums', |
|
| 99 | + 'rss_abonnement' => 'Kopieren Sie die folgende URL in Ihren Feedreader:', |
|
| 100 | + 'rss_abonnement_titre' => 'Abonnieren', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Abonnieren von', |
|
| 102 | + 'rss_explication' => 'Ein RSS-Feed sammelt Informationen über die Aktualisierungen einer Website. Er liefert den Inhalt von Einträgen oder Kommentaren oder einen Auszug daraus sowie einen Link zu den Vollversionen und einige andere Informationen. Der Feed ist dazu gedacht, von einem RSS-Aggregator (Feedreader) gelesen zu werden', |
|
| 103 | + 'rss_explication_titre' => 'Was ist ein RSS-Feed ?', |
|
| 104 | + 'rubrique' => 'Rubrik', |
|
| 105 | + 'rubriques' => 'Rubriken', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Unterschrift', |
|
| 109 | + 'site_realise_avec_spip' => 'Realisiert mit SPIP', |
|
| 110 | + 'sites_web' => 'Websites', |
|
| 111 | + 'sous_rubriques' => 'Unterrubriken', |
|
| 112 | + 'spam' => 'SPAM', |
|
| 113 | + 'suite' => 'weiter', |
|
| 114 | + 'sur_web' => 'Im WWW', |
|
| 115 | + 'syndiquer_rubrique' => 'Diese Rubrik per RSS einbinden', |
|
| 116 | + 'syndiquer_site' => 'Die ganze Website mit RSS einbinden', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Dies ist der Newsletter der Website ', |
|
| 120 | + 'texte_lettre_information_2' => 'Diese Mail informiert über die Neuerscheinungen der letzten', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Druckversion', |
|
| 124 | + 'voir_en_ligne' => 'Online ansehen', |
|
| 125 | + 'voir_squelette' => 'Layoutvorlage dieser Seite ansehen' |
|
| 126 | 126 | ); |
@@ -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 | /** |
@@ -38,20 +38,20 @@ discard block |
||
| 38 | 38 | * Liste des fichiers de langue trouvés, dans l'ordre des chemins |
| 39 | 39 | */ |
| 40 | 40 | function find_langs_in_path($file, $dirname = 'lang') { |
| 41 | - static $dirs = []; |
|
| 42 | - $liste = []; |
|
| 43 | - foreach (creer_chemin() as $dir) { |
|
| 44 | - if (!isset($dirs[$a = $dir . $dirname])) { |
|
| 45 | - $dirs[$a] = (is_dir($a) || !$a); |
|
| 46 | - } |
|
| 47 | - if ($dirs[$a]) { |
|
| 48 | - if (is_readable($a .= $file)) { |
|
| 49 | - $liste[] = $a; |
|
| 50 | - } |
|
| 51 | - } |
|
| 52 | - } |
|
| 41 | + static $dirs = []; |
|
| 42 | + $liste = []; |
|
| 43 | + foreach (creer_chemin() as $dir) { |
|
| 44 | + if (!isset($dirs[$a = $dir . $dirname])) { |
|
| 45 | + $dirs[$a] = (is_dir($a) || !$a); |
|
| 46 | + } |
|
| 47 | + if ($dirs[$a]) { |
|
| 48 | + if (is_readable($a .= $file)) { |
|
| 49 | + $liste[] = $a; |
|
| 50 | + } |
|
| 51 | + } |
|
| 52 | + } |
|
| 53 | 53 | |
| 54 | - return array_reverse($liste); |
|
| 54 | + return array_reverse($liste); |
|
| 55 | 55 | } |
| 56 | 56 | |
| 57 | 57 | /** |
@@ -66,23 +66,23 @@ discard block |
||
| 66 | 66 | * Liste des fichiers touvés pour ce module et cette langue. |
| 67 | 67 | **/ |
| 68 | 68 | function chercher_module_lang($module, $lang = '') { |
| 69 | - if ($lang) { |
|
| 70 | - $lang = '_' . $lang; |
|
| 71 | - } |
|
| 69 | + if ($lang) { |
|
| 70 | + $lang = '_' . $lang; |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | - // 1) dans un repertoire nomme lang/ se trouvant sur le chemin |
|
| 74 | - if ( |
|
| 75 | - $f = ($module == 'local' |
|
| 76 | - ? find_in_path($module . $lang . '.php', 'lang/') |
|
| 77 | - : find_langs_in_path($module . $lang . '.php', 'lang/')) |
|
| 78 | - ) { |
|
| 79 | - return is_array($f) ? $f : [$f]; |
|
| 80 | - } |
|
| 73 | + // 1) dans un repertoire nomme lang/ se trouvant sur le chemin |
|
| 74 | + if ( |
|
| 75 | + $f = ($module == 'local' |
|
| 76 | + ? find_in_path($module . $lang . '.php', 'lang/') |
|
| 77 | + : find_langs_in_path($module . $lang . '.php', 'lang/')) |
|
| 78 | + ) { |
|
| 79 | + return is_array($f) ? $f : [$f]; |
|
| 80 | + } |
|
| 81 | 81 | |
| 82 | - // 2) directement dans le chemin (old style, uniquement pour local) |
|
| 83 | - return (($module == 'local') or strpos($module, '/')) |
|
| 84 | - ? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false) |
|
| 85 | - : false; |
|
| 82 | + // 2) directement dans le chemin (old style, uniquement pour local) |
|
| 83 | + return (($module == 'local') or strpos($module, '/')) |
|
| 84 | + ? (($f = find_in_path($module . $lang . '.php')) ? [$f] : false) |
|
| 85 | + : false; |
|
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | /** |
@@ -104,33 +104,33 @@ discard block |
||
| 104 | 104 | * @return void |
| 105 | 105 | **/ |
| 106 | 106 | function charger_langue($lang, $module = 'spip') { |
| 107 | - static $langs = []; |
|
| 108 | - $var = 'i18n_' . $module . '_' . $lang; |
|
| 109 | - if (!isset($langs[$lang])) { |
|
| 110 | - $langs[$lang] = []; |
|
| 111 | - if ($lang) { |
|
| 112 | - $langs[$lang][] = $lang; |
|
| 113 | - if (strpos($lang, '_') !== false) { |
|
| 114 | - $l = explode('_', $lang); |
|
| 115 | - $langs[$lang][] = reset($l); |
|
| 116 | - } |
|
| 117 | - } |
|
| 118 | - $langs[$lang][] = $GLOBALS['meta']['langue_site']; |
|
| 119 | - $langs[$lang][] = _LANGUE_PAR_DEFAUT; |
|
| 120 | - } |
|
| 121 | - foreach ($langs[$lang] as $l) { |
|
| 122 | - if ($fichiers_lang = chercher_module_lang($module, $l)) { |
|
| 123 | - $GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l; |
|
| 124 | - $GLOBALS[$GLOBALS['idx_lang']] = lire_fichier_langue(array_shift($fichiers_lang)); |
|
| 125 | - surcharger_langue($fichiers_lang); |
|
| 126 | - if ($l !== $lang) { |
|
| 127 | - $GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l]; |
|
| 128 | - } |
|
| 129 | - $GLOBALS['lang_' . $var] = $l; |
|
| 130 | - #spip_log("module de langue : ${module}_$l.php", 'traduire'); |
|
| 131 | - break; |
|
| 132 | - } |
|
| 133 | - } |
|
| 107 | + static $langs = []; |
|
| 108 | + $var = 'i18n_' . $module . '_' . $lang; |
|
| 109 | + if (!isset($langs[$lang])) { |
|
| 110 | + $langs[$lang] = []; |
|
| 111 | + if ($lang) { |
|
| 112 | + $langs[$lang][] = $lang; |
|
| 113 | + if (strpos($lang, '_') !== false) { |
|
| 114 | + $l = explode('_', $lang); |
|
| 115 | + $langs[$lang][] = reset($l); |
|
| 116 | + } |
|
| 117 | + } |
|
| 118 | + $langs[$lang][] = $GLOBALS['meta']['langue_site']; |
|
| 119 | + $langs[$lang][] = _LANGUE_PAR_DEFAUT; |
|
| 120 | + } |
|
| 121 | + foreach ($langs[$lang] as $l) { |
|
| 122 | + if ($fichiers_lang = chercher_module_lang($module, $l)) { |
|
| 123 | + $GLOBALS['idx_lang'] = 'i18n_' . $module . '_' . $l; |
|
| 124 | + $GLOBALS[$GLOBALS['idx_lang']] = lire_fichier_langue(array_shift($fichiers_lang)); |
|
| 125 | + surcharger_langue($fichiers_lang); |
|
| 126 | + if ($l !== $lang) { |
|
| 127 | + $GLOBALS[$var] = &$GLOBALS['i18n_' . $module . '_' . $l]; |
|
| 128 | + } |
|
| 129 | + $GLOBALS['lang_' . $var] = $l; |
|
| 130 | + #spip_log("module de langue : ${module}_$l.php", 'traduire'); |
|
| 131 | + break; |
|
| 132 | + } |
|
| 133 | + } |
|
| 134 | 134 | } |
| 135 | 135 | |
| 136 | 136 | /** |
@@ -143,21 +143,21 @@ discard block |
||
| 143 | 143 | * @return array<string, string> |
| 144 | 144 | */ |
| 145 | 145 | function lire_fichier_langue(string $fichier): array { |
| 146 | - $idx_lang_before = $GLOBALS['idx_lang'] ?? null; |
|
| 147 | - $idx_lang_tmp = ($GLOBALS['idx_lang'] ?? 'lang') . '@temporaire'; |
|
| 148 | - $GLOBALS['idx_lang'] = $idx_lang_tmp; |
|
| 149 | - $idx_lang = include $fichier; |
|
| 150 | - $GLOBALS['idx_lang'] = $idx_lang_before; |
|
| 151 | - if (!is_array($idx_lang)) { |
|
| 152 | - if (isset($GLOBALS[$idx_lang_tmp]) and is_array($GLOBALS[$idx_lang_tmp])) { |
|
| 153 | - $idx_lang = $GLOBALS[$idx_lang_tmp]; |
|
| 154 | - } else { |
|
| 155 | - $idx_lang = []; |
|
| 156 | - spip_log(sprintf('Fichier de langue incorrect : %s', $fichier), _LOG_ERREUR); |
|
| 157 | - } |
|
| 158 | - unset($GLOBALS[$idx_lang_tmp]); |
|
| 159 | - } |
|
| 160 | - return $idx_lang; |
|
| 146 | + $idx_lang_before = $GLOBALS['idx_lang'] ?? null; |
|
| 147 | + $idx_lang_tmp = ($GLOBALS['idx_lang'] ?? 'lang') . '@temporaire'; |
|
| 148 | + $GLOBALS['idx_lang'] = $idx_lang_tmp; |
|
| 149 | + $idx_lang = include $fichier; |
|
| 150 | + $GLOBALS['idx_lang'] = $idx_lang_before; |
|
| 151 | + if (!is_array($idx_lang)) { |
|
| 152 | + if (isset($GLOBALS[$idx_lang_tmp]) and is_array($GLOBALS[$idx_lang_tmp])) { |
|
| 153 | + $idx_lang = $GLOBALS[$idx_lang_tmp]; |
|
| 154 | + } else { |
|
| 155 | + $idx_lang = []; |
|
| 156 | + spip_log(sprintf('Fichier de langue incorrect : %s', $fichier), _LOG_ERREUR); |
|
| 157 | + } |
|
| 158 | + unset($GLOBALS[$idx_lang_tmp]); |
|
| 159 | + } |
|
| 160 | + return $idx_lang; |
|
| 161 | 161 | } |
| 162 | 162 | |
| 163 | 163 | /** |
@@ -177,46 +177,46 @@ discard block |
||
| 177 | 177 | * Liste des chemins de fichiers de langue à surcharger. |
| 178 | 178 | **/ |
| 179 | 179 | function surcharger_langue($fichiers) { |
| 180 | - static $surcharges = []; |
|
| 181 | - if (!isset($GLOBALS['idx_lang'])) { |
|
| 182 | - return; |
|
| 183 | - } |
|
| 180 | + static $surcharges = []; |
|
| 181 | + if (!isset($GLOBALS['idx_lang'])) { |
|
| 182 | + return; |
|
| 183 | + } |
|
| 184 | 184 | |
| 185 | - if (!is_array($fichiers)) { |
|
| 186 | - $fichiers = [$fichiers]; |
|
| 187 | - } |
|
| 188 | - if (!count($fichiers)) { |
|
| 189 | - return; |
|
| 190 | - } |
|
| 191 | - foreach ($fichiers as $fichier) { |
|
| 192 | - if (!isset($surcharges[$fichier])) { |
|
| 193 | - $surcharges[$fichier] = lire_fichier_langue($fichier); |
|
| 194 | - } |
|
| 195 | - if (is_array($surcharges[$fichier])) { |
|
| 196 | - $GLOBALS[$GLOBALS['idx_lang']] ??= []; |
|
| 197 | - $GLOBALS[$GLOBALS['idx_lang']] = array_merge( |
|
| 198 | - $GLOBALS[$GLOBALS['idx_lang']], |
|
| 199 | - $surcharges[$fichier] |
|
| 200 | - ); |
|
| 201 | - } |
|
| 202 | - } |
|
| 185 | + if (!is_array($fichiers)) { |
|
| 186 | + $fichiers = [$fichiers]; |
|
| 187 | + } |
|
| 188 | + if (!count($fichiers)) { |
|
| 189 | + return; |
|
| 190 | + } |
|
| 191 | + foreach ($fichiers as $fichier) { |
|
| 192 | + if (!isset($surcharges[$fichier])) { |
|
| 193 | + $surcharges[$fichier] = lire_fichier_langue($fichier); |
|
| 194 | + } |
|
| 195 | + if (is_array($surcharges[$fichier])) { |
|
| 196 | + $GLOBALS[$GLOBALS['idx_lang']] ??= []; |
|
| 197 | + $GLOBALS[$GLOBALS['idx_lang']] = array_merge( |
|
| 198 | + $GLOBALS[$GLOBALS['idx_lang']], |
|
| 199 | + $surcharges[$fichier] |
|
| 200 | + ); |
|
| 201 | + } |
|
| 202 | + } |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | |
| 206 | 206 | |
| 207 | 207 | class SPIP_Traductions_Description { |
| 208 | - /** @var string code de langue (hors module) */ |
|
| 209 | - public $code; |
|
| 210 | - /** @var string nom du module de langue */ |
|
| 211 | - public $module; |
|
| 212 | - /** @var string langue de la traduction */ |
|
| 213 | - public $langue; |
|
| 214 | - /** @var string traduction */ |
|
| 215 | - public $texte; |
|
| 216 | - /** @var string var mode particulier appliqué ? */ |
|
| 217 | - public $mode; |
|
| 218 | - /** @var bool Corrections des textes appliqué ? */ |
|
| 219 | - public $corrections = false; |
|
| 208 | + /** @var string code de langue (hors module) */ |
|
| 209 | + public $code; |
|
| 210 | + /** @var string nom du module de langue */ |
|
| 211 | + public $module; |
|
| 212 | + /** @var string langue de la traduction */ |
|
| 213 | + public $langue; |
|
| 214 | + /** @var string traduction */ |
|
| 215 | + public $texte; |
|
| 216 | + /** @var string var mode particulier appliqué ? */ |
|
| 217 | + public $mode; |
|
| 218 | + /** @var bool Corrections des textes appliqué ? */ |
|
| 219 | + public $corrections = false; |
|
| 220 | 220 | } |
| 221 | 221 | |
| 222 | 222 | |
@@ -258,99 +258,99 @@ discard block |
||
| 258 | 258 | * - SPIP_Traductions_Description : traduction et description (texte, module, langue) |
| 259 | 259 | **/ |
| 260 | 260 | function inc_traduire_dist($ori, $lang, $raw = false) { |
| 261 | - static $deja_vu = []; |
|
| 262 | - static $local = []; |
|
| 261 | + static $deja_vu = []; |
|
| 262 | + static $local = []; |
|
| 263 | 263 | |
| 264 | - if (isset($deja_vu[$lang][$ori]) and (_request('var_mode') != 'traduction')) { |
|
| 265 | - return $raw ? $deja_vu[$lang][$ori] : $deja_vu[$lang][$ori]->texte; |
|
| 266 | - } |
|
| 264 | + if (isset($deja_vu[$lang][$ori]) and (_request('var_mode') != 'traduction')) { |
|
| 265 | + return $raw ? $deja_vu[$lang][$ori] : $deja_vu[$lang][$ori]->texte; |
|
| 266 | + } |
|
| 267 | 267 | |
| 268 | - // modules demandes explicitement <xxx|yyy|zzz:code> cf MODULES_IDIOMES |
|
| 269 | - if (strpos($ori, ':')) { |
|
| 270 | - [$modules, $code] = explode(':', $ori, 2); |
|
| 271 | - $modules = explode('|', $modules); |
|
| 272 | - $ori_complet = $ori; |
|
| 273 | - } else { |
|
| 274 | - $modules = ['spip', 'ecrire']; |
|
| 275 | - $code = $ori; |
|
| 276 | - $ori_complet = implode('|', $modules) . ':' . $ori; |
|
| 277 | - } |
|
| 268 | + // modules demandes explicitement <xxx|yyy|zzz:code> cf MODULES_IDIOMES |
|
| 269 | + if (strpos($ori, ':')) { |
|
| 270 | + [$modules, $code] = explode(':', $ori, 2); |
|
| 271 | + $modules = explode('|', $modules); |
|
| 272 | + $ori_complet = $ori; |
|
| 273 | + } else { |
|
| 274 | + $modules = ['spip', 'ecrire']; |
|
| 275 | + $code = $ori; |
|
| 276 | + $ori_complet = implode('|', $modules) . ':' . $ori; |
|
| 277 | + } |
|
| 278 | 278 | |
| 279 | - $desc = new SPIP_Traductions_Description(); |
|
| 279 | + $desc = new SPIP_Traductions_Description(); |
|
| 280 | 280 | |
| 281 | - // parcourir tous les modules jusqu'a ce qu'on trouve |
|
| 282 | - foreach ($modules as $module) { |
|
| 283 | - $var = 'i18n_' . $module . '_' . $lang; |
|
| 281 | + // parcourir tous les modules jusqu'a ce qu'on trouve |
|
| 282 | + foreach ($modules as $module) { |
|
| 283 | + $var = 'i18n_' . $module . '_' . $lang; |
|
| 284 | 284 | |
| 285 | - if (empty($GLOBALS[$var])) { |
|
| 286 | - charger_langue($lang, $module); |
|
| 287 | - // surcharges persos -- on cherche |
|
| 288 | - // (lang/)local_xx.php et/ou (lang/)local.php ... |
|
| 289 | - if (!isset($local['local_' . $lang])) { |
|
| 290 | - // redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer) |
|
| 291 | - $GLOBALS['idx_lang'] = $var; |
|
| 292 | - // ... (lang/)local_xx.php |
|
| 293 | - $local['local_' . $lang] = chercher_module_lang('local', $lang); |
|
| 294 | - } |
|
| 295 | - if ($local['local_' . $lang]) { |
|
| 296 | - surcharger_langue($local['local_' . $lang]); |
|
| 297 | - } |
|
| 298 | - // ... puis (lang/)local.php |
|
| 299 | - if (!isset($local['local'])) { |
|
| 300 | - $local['local'] = chercher_module_lang('local'); |
|
| 301 | - } |
|
| 302 | - if ($local['local']) { |
|
| 303 | - surcharger_langue($local['local']); |
|
| 304 | - } |
|
| 305 | - } |
|
| 285 | + if (empty($GLOBALS[$var])) { |
|
| 286 | + charger_langue($lang, $module); |
|
| 287 | + // surcharges persos -- on cherche |
|
| 288 | + // (lang/)local_xx.php et/ou (lang/)local.php ... |
|
| 289 | + if (!isset($local['local_' . $lang])) { |
|
| 290 | + // redéfinir la langue en cours pour les surcharges (chercher_langue a pu le changer) |
|
| 291 | + $GLOBALS['idx_lang'] = $var; |
|
| 292 | + // ... (lang/)local_xx.php |
|
| 293 | + $local['local_' . $lang] = chercher_module_lang('local', $lang); |
|
| 294 | + } |
|
| 295 | + if ($local['local_' . $lang]) { |
|
| 296 | + surcharger_langue($local['local_' . $lang]); |
|
| 297 | + } |
|
| 298 | + // ... puis (lang/)local.php |
|
| 299 | + if (!isset($local['local'])) { |
|
| 300 | + $local['local'] = chercher_module_lang('local'); |
|
| 301 | + } |
|
| 302 | + if ($local['local']) { |
|
| 303 | + surcharger_langue($local['local']); |
|
| 304 | + } |
|
| 305 | + } |
|
| 306 | 306 | |
| 307 | - if (isset($GLOBALS[$var][$code])) { |
|
| 308 | - $desc->code = $code; |
|
| 309 | - $desc->module = $module; |
|
| 310 | - $desc->langue = $GLOBALS['lang_' . $var] ?? $lang; |
|
| 311 | - $desc->texte = $GLOBALS[$var][$code]; |
|
| 312 | - break; |
|
| 313 | - } |
|
| 314 | - } |
|
| 307 | + if (isset($GLOBALS[$var][$code])) { |
|
| 308 | + $desc->code = $code; |
|
| 309 | + $desc->module = $module; |
|
| 310 | + $desc->langue = $GLOBALS['lang_' . $var] ?? $lang; |
|
| 311 | + $desc->texte = $GLOBALS[$var][$code]; |
|
| 312 | + break; |
|
| 313 | + } |
|
| 314 | + } |
|
| 315 | 315 | |
| 316 | - if (!$desc->corrections) { |
|
| 317 | - $desc->corrections = true; |
|
| 318 | - // Retour aux sources si la chaine est absente dans la langue cible ; |
|
| 319 | - // on essaie d'abord la langue du site, puis a defaut la langue fr |
|
| 320 | - if ( |
|
| 321 | - ($desc->texte === null || !strlen($desc->texte)) |
|
| 322 | - and $lang !== _LANGUE_PAR_DEFAUT |
|
| 323 | - ) { |
|
| 324 | - if ($lang !== $GLOBALS['meta']['langue_site']) { |
|
| 325 | - $desc = inc_traduire_dist($ori, $GLOBALS['meta']['langue_site'], true); |
|
| 326 | - } else { |
|
| 327 | - $desc = inc_traduire_dist($ori, _LANGUE_PAR_DEFAUT, true); |
|
| 328 | - } |
|
| 329 | - } |
|
| 316 | + if (!$desc->corrections) { |
|
| 317 | + $desc->corrections = true; |
|
| 318 | + // Retour aux sources si la chaine est absente dans la langue cible ; |
|
| 319 | + // on essaie d'abord la langue du site, puis a defaut la langue fr |
|
| 320 | + if ( |
|
| 321 | + ($desc->texte === null || !strlen($desc->texte)) |
|
| 322 | + and $lang !== _LANGUE_PAR_DEFAUT |
|
| 323 | + ) { |
|
| 324 | + if ($lang !== $GLOBALS['meta']['langue_site']) { |
|
| 325 | + $desc = inc_traduire_dist($ori, $GLOBALS['meta']['langue_site'], true); |
|
| 326 | + } else { |
|
| 327 | + $desc = inc_traduire_dist($ori, _LANGUE_PAR_DEFAUT, true); |
|
| 328 | + } |
|
| 329 | + } |
|
| 330 | 330 | |
| 331 | - // Supprimer la mention <NEW> ou <MODIF> |
|
| 332 | - if ($desc->texte && substr($desc->texte, 0, 1) === '<') { |
|
| 333 | - $desc->texte = str_replace(['<NEW>', '<MODIF>'], [], $desc->texte); |
|
| 334 | - } |
|
| 331 | + // Supprimer la mention <NEW> ou <MODIF> |
|
| 332 | + if ($desc->texte && substr($desc->texte, 0, 1) === '<') { |
|
| 333 | + $desc->texte = str_replace(['<NEW>', '<MODIF>'], [], $desc->texte); |
|
| 334 | + } |
|
| 335 | 335 | |
| 336 | - // Si on n'est pas en utf-8, la chaine peut l'etre... |
|
| 337 | - // le cas echeant on la convertit en entites html &#xxx; |
|
| 338 | - if ( |
|
| 339 | - (!isset($GLOBALS['meta']['charset']) or $GLOBALS['meta']['charset'] !== 'utf-8') |
|
| 340 | - and preg_match(',[\x7f-\xff],S', $desc->texte) |
|
| 341 | - ) { |
|
| 342 | - include_spip('inc/charsets'); |
|
| 343 | - $desc->texte = charset2unicode($desc->texte, 'utf-8'); |
|
| 344 | - } |
|
| 345 | - } |
|
| 336 | + // Si on n'est pas en utf-8, la chaine peut l'etre... |
|
| 337 | + // le cas echeant on la convertit en entites html &#xxx; |
|
| 338 | + if ( |
|
| 339 | + (!isset($GLOBALS['meta']['charset']) or $GLOBALS['meta']['charset'] !== 'utf-8') |
|
| 340 | + and preg_match(',[\x7f-\xff],S', $desc->texte) |
|
| 341 | + ) { |
|
| 342 | + include_spip('inc/charsets'); |
|
| 343 | + $desc->texte = charset2unicode($desc->texte, 'utf-8'); |
|
| 344 | + } |
|
| 345 | + } |
|
| 346 | 346 | |
| 347 | - if (_request('var_mode') == 'traduction') { |
|
| 348 | - $desc = definir_details_traduction($desc, $ori_complet); |
|
| 349 | - } else { |
|
| 350 | - $deja_vu[$lang][$ori] = $desc; |
|
| 351 | - } |
|
| 347 | + if (_request('var_mode') == 'traduction') { |
|
| 348 | + $desc = definir_details_traduction($desc, $ori_complet); |
|
| 349 | + } else { |
|
| 350 | + $deja_vu[$lang][$ori] = $desc; |
|
| 351 | + } |
|
| 352 | 352 | |
| 353 | - return $raw ? $desc : $desc->texte; |
|
| 353 | + return $raw ? $desc : $desc->texte; |
|
| 354 | 354 | } |
| 355 | 355 | |
| 356 | 356 | /** |
@@ -362,23 +362,23 @@ discard block |
||
| 362 | 362 | * @return SPIP_Traductions_Description |
| 363 | 363 | */ |
| 364 | 364 | function definir_details_traduction($desc, $modules) { |
| 365 | - if (!$desc->mode and $desc->texte) { |
|
| 366 | - // ne pas modifier 2 fois l'affichage |
|
| 367 | - $desc->mode = 'traduction'; |
|
| 368 | - $classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : ''); |
|
| 369 | - $desc->texte = '<span ' |
|
| 370 | - . 'lang=' . $desc->langue |
|
| 371 | - . ' class=' . $classe |
|
| 372 | - . ' data-module=' . $desc->module |
|
| 373 | - . ' data-code=' . $desc->code |
|
| 374 | - . ' title=' . $modules . '(' . $desc->langue . ')>' |
|
| 375 | - . $desc->texte |
|
| 376 | - . '</span>'; |
|
| 377 | - $desc->texte = str_replace( |
|
| 378 | - ["$desc->module:", "$desc->module|"], |
|
| 379 | - ["*$desc->module*:", "*$desc->module*|"], |
|
| 380 | - $desc->texte |
|
| 381 | - ); |
|
| 382 | - } |
|
| 383 | - return $desc; |
|
| 365 | + if (!$desc->mode and $desc->texte) { |
|
| 366 | + // ne pas modifier 2 fois l'affichage |
|
| 367 | + $desc->mode = 'traduction'; |
|
| 368 | + $classe = 'debug-traduction' . ($desc->module == 'ecrire' ? '-prive' : ''); |
|
| 369 | + $desc->texte = '<span ' |
|
| 370 | + . 'lang=' . $desc->langue |
|
| 371 | + . ' class=' . $classe |
|
| 372 | + . ' data-module=' . $desc->module |
|
| 373 | + . ' data-code=' . $desc->code |
|
| 374 | + . ' title=' . $modules . '(' . $desc->langue . ')>' |
|
| 375 | + . $desc->texte |
|
| 376 | + . '</span>'; |
|
| 377 | + $desc->texte = str_replace( |
|
| 378 | + ["$desc->module:", "$desc->module|"], |
|
| 379 | + ["*$desc->module*:", "*$desc->module*|"], |
|
| 380 | + $desc->texte |
|
| 381 | + ); |
|
| 382 | + } |
|
| 383 | + return $desc; |
|
| 384 | 384 | } |
@@ -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('base/abstract_sql'); |
@@ -35,33 +35,33 @@ discard block |
||
| 35 | 35 | * - une chaîne vide si autorisation à pénétrer dans l'espace privé. |
| 36 | 36 | */ |
| 37 | 37 | function inc_auth_dist() { |
| 38 | - $row = auth_mode(); |
|
| 38 | + $row = auth_mode(); |
|
| 39 | 39 | |
| 40 | - if ($row) { |
|
| 41 | - return auth_init_droits($row); |
|
| 42 | - } |
|
| 40 | + if ($row) { |
|
| 41 | + return auth_init_droits($row); |
|
| 42 | + } |
|
| 43 | 43 | |
| 44 | - if (!$GLOBALS['connect_login']) { |
|
| 45 | - return auth_a_loger(); |
|
| 46 | - } |
|
| 44 | + if (!$GLOBALS['connect_login']) { |
|
| 45 | + return auth_a_loger(); |
|
| 46 | + } |
|
| 47 | 47 | |
| 48 | - // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 49 | - // C'est soit parce que la base est inutilisable, |
|
| 50 | - // soit parce que la table des auteurs a changee (restauration etc) |
|
| 51 | - // Pas la peine d'insister. |
|
| 52 | - // Renvoyer le nom fautif et une URL de remise a zero |
|
| 48 | + // Cas ou l'auteur a ete identifie mais on n'a pas d'info sur lui |
|
| 49 | + // C'est soit parce que la base est inutilisable, |
|
| 50 | + // soit parce que la table des auteurs a changee (restauration etc) |
|
| 51 | + // Pas la peine d'insister. |
|
| 52 | + // Renvoyer le nom fautif et une URL de remise a zero |
|
| 53 | 53 | |
| 54 | - if (spip_connect()) { |
|
| 55 | - return [ |
|
| 56 | - 'login' => $GLOBALS['connect_login'], |
|
| 57 | - 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 58 | - ]; |
|
| 59 | - } |
|
| 54 | + if (spip_connect()) { |
|
| 55 | + return [ |
|
| 56 | + 'login' => $GLOBALS['connect_login'], |
|
| 57 | + 'site' => generer_url_public('', 'action=logout&logout=prive') |
|
| 58 | + ]; |
|
| 59 | + } |
|
| 60 | 60 | |
| 61 | - $n = intval(sql_errno()); |
|
| 62 | - spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 61 | + $n = intval(sql_errno()); |
|
| 62 | + spip_log("Erreur base de donnees $n " . sql_error()); |
|
| 63 | 63 | |
| 64 | - return $n ?: 1; |
|
| 64 | + return $n ?: 1; |
|
| 65 | 65 | } |
| 66 | 66 | |
| 67 | 67 | /** |
@@ -73,39 +73,39 @@ discard block |
||
| 73 | 73 | * @return array|string |
| 74 | 74 | */ |
| 75 | 75 | function auth_echec($raison) { |
| 76 | - include_spip('inc/minipres'); |
|
| 77 | - include_spip('inc/headers'); |
|
| 78 | - // pas authentifie. Pourquoi ? |
|
| 79 | - if (is_string($raison)) { |
|
| 80 | - // redirection vers une page d'authentification |
|
| 81 | - // on ne revient pas de cette fonction |
|
| 82 | - // sauf si pb de header |
|
| 83 | - $raison = redirige_formulaire($raison); |
|
| 84 | - } elseif (is_int($raison)) { |
|
| 85 | - // erreur SQL a afficher |
|
| 86 | - $raison = minipres( |
|
| 87 | - _T('info_travaux_titre'), |
|
| 88 | - _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 89 | - ); |
|
| 90 | - } elseif (@$raison['statut']) { |
|
| 91 | - // un simple visiteur n'a pas acces a l'espace prive |
|
| 92 | - spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 93 | - $raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur')); |
|
| 94 | - } else { |
|
| 95 | - // auteur en fin de droits ... |
|
| 96 | - $h = $raison['site']; |
|
| 97 | - $raison = minipres( |
|
| 98 | - _T('avis_erreur_connexion'), |
|
| 99 | - '<br /><br /><p>' |
|
| 100 | - . _T('texte_inc_auth_1', ['auth_login' => $raison['login']]) |
|
| 101 | - . " <a href='$h'>" |
|
| 102 | - . _T('texte_inc_auth_2') |
|
| 103 | - . '</a>' |
|
| 104 | - . _T('texte_inc_auth_3') |
|
| 105 | - ); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - return $raison; |
|
| 76 | + include_spip('inc/minipres'); |
|
| 77 | + include_spip('inc/headers'); |
|
| 78 | + // pas authentifie. Pourquoi ? |
|
| 79 | + if (is_string($raison)) { |
|
| 80 | + // redirection vers une page d'authentification |
|
| 81 | + // on ne revient pas de cette fonction |
|
| 82 | + // sauf si pb de header |
|
| 83 | + $raison = redirige_formulaire($raison); |
|
| 84 | + } elseif (is_int($raison)) { |
|
| 85 | + // erreur SQL a afficher |
|
| 86 | + $raison = minipres( |
|
| 87 | + _T('info_travaux_titre'), |
|
| 88 | + _T('titre_probleme_technique') . '<p><tt>' . sql_errno() . ' ' . sql_error() . '</tt></p>' |
|
| 89 | + ); |
|
| 90 | + } elseif (@$raison['statut']) { |
|
| 91 | + // un simple visiteur n'a pas acces a l'espace prive |
|
| 92 | + spip_log('connexion refusee a ' . @$raison['id_auteur']); |
|
| 93 | + $raison = minipres(_T('avis_erreur_connexion'), _T('avis_erreur_visiteur')); |
|
| 94 | + } else { |
|
| 95 | + // auteur en fin de droits ... |
|
| 96 | + $h = $raison['site']; |
|
| 97 | + $raison = minipres( |
|
| 98 | + _T('avis_erreur_connexion'), |
|
| 99 | + '<br /><br /><p>' |
|
| 100 | + . _T('texte_inc_auth_1', ['auth_login' => $raison['login']]) |
|
| 101 | + . " <a href='$h'>" |
|
| 102 | + . _T('texte_inc_auth_2') |
|
| 103 | + . '</a>' |
|
| 104 | + . _T('texte_inc_auth_3') |
|
| 105 | + ); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + return $raison; |
|
| 109 | 109 | } |
| 110 | 110 | |
| 111 | 111 | /** |
@@ -115,81 +115,81 @@ discard block |
||
| 115 | 115 | * @return array|bool|string |
| 116 | 116 | */ |
| 117 | 117 | function auth_mode() { |
| 118 | - // |
|
| 119 | - // Initialiser variables (eviter hacks par URL) |
|
| 120 | - // |
|
| 121 | - $GLOBALS['connect_login'] = ''; |
|
| 122 | - $id_auteur = null; |
|
| 123 | - $GLOBALS['auth_can_disconnect'] = false; |
|
| 124 | - |
|
| 125 | - // |
|
| 126 | - // Recuperer les donnees d'identification |
|
| 127 | - // |
|
| 128 | - include_spip('inc/session'); |
|
| 129 | - // Session valide en cours ? |
|
| 130 | - if (isset($_COOKIE['spip_session'])) { |
|
| 131 | - $session = charger_fonction('session', 'inc'); |
|
| 132 | - if ( |
|
| 133 | - $id_auteur = $session() |
|
| 134 | - or $id_auteur === 0 // reprise sur restauration |
|
| 135 | - ) { |
|
| 136 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 137 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 138 | - } else { |
|
| 139 | - unset($_COOKIE['spip_session']); |
|
| 140 | - } |
|
| 141 | - } |
|
| 142 | - |
|
| 143 | - // Essayer auth http si significatif |
|
| 144 | - // (ignorer les login d'intranet independants de spip) |
|
| 145 | - if (!$GLOBALS['ignore_auth_http']) { |
|
| 146 | - if ( |
|
| 147 | - (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']) |
|
| 148 | - and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 149 | - or |
|
| 150 | - // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 151 | - // est indisponible mais tentons quand meme pour |
|
| 152 | - // autocreation via LDAP |
|
| 153 | - (isset($_SERVER['REMOTE_USER']) |
|
| 154 | - and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 155 | - ) { |
|
| 156 | - if (!$id_auteur) { |
|
| 157 | - $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 158 | - $GLOBALS['auth_can_disconnect'] = true; |
|
| 159 | - $GLOBALS['visiteur_session'] = $r; |
|
| 160 | - $GLOBALS['connect_login'] = session_get('login'); |
|
| 161 | - $id_auteur = $r['id_auteur']; |
|
| 162 | - } else { |
|
| 163 | - // cas de la session en plus de PHP_AUTH |
|
| 164 | - /* if ($id_auteur != $r['id_auteur']){ |
|
| 118 | + // |
|
| 119 | + // Initialiser variables (eviter hacks par URL) |
|
| 120 | + // |
|
| 121 | + $GLOBALS['connect_login'] = ''; |
|
| 122 | + $id_auteur = null; |
|
| 123 | + $GLOBALS['auth_can_disconnect'] = false; |
|
| 124 | + |
|
| 125 | + // |
|
| 126 | + // Recuperer les donnees d'identification |
|
| 127 | + // |
|
| 128 | + include_spip('inc/session'); |
|
| 129 | + // Session valide en cours ? |
|
| 130 | + if (isset($_COOKIE['spip_session'])) { |
|
| 131 | + $session = charger_fonction('session', 'inc'); |
|
| 132 | + if ( |
|
| 133 | + $id_auteur = $session() |
|
| 134 | + or $id_auteur === 0 // reprise sur restauration |
|
| 135 | + ) { |
|
| 136 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 137 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 138 | + } else { |
|
| 139 | + unset($_COOKIE['spip_session']); |
|
| 140 | + } |
|
| 141 | + } |
|
| 142 | + |
|
| 143 | + // Essayer auth http si significatif |
|
| 144 | + // (ignorer les login d'intranet independants de spip) |
|
| 145 | + if (!$GLOBALS['ignore_auth_http']) { |
|
| 146 | + if ( |
|
| 147 | + (isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']) |
|
| 148 | + and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) |
|
| 149 | + or |
|
| 150 | + // Si auth http differtente de basic, PHP_AUTH_PW |
|
| 151 | + // est indisponible mais tentons quand meme pour |
|
| 152 | + // autocreation via LDAP |
|
| 153 | + (isset($_SERVER['REMOTE_USER']) |
|
| 154 | + and $r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], '')) |
|
| 155 | + ) { |
|
| 156 | + if (!$id_auteur) { |
|
| 157 | + $_SERVER['PHP_AUTH_PW'] = ''; |
|
| 158 | + $GLOBALS['auth_can_disconnect'] = true; |
|
| 159 | + $GLOBALS['visiteur_session'] = $r; |
|
| 160 | + $GLOBALS['connect_login'] = session_get('login'); |
|
| 161 | + $id_auteur = $r['id_auteur']; |
|
| 162 | + } else { |
|
| 163 | + // cas de la session en plus de PHP_AUTH |
|
| 164 | + /* if ($id_auteur != $r['id_auteur']){ |
|
| 165 | 165 | spip_log("vol de session $id_auteur" . join(', ', $r)); |
| 166 | 166 | unset($_COOKIE['spip_session']); |
| 167 | 167 | $id_auteur = ''; |
| 168 | 168 | } */ |
| 169 | - } |
|
| 170 | - } else { |
|
| 171 | - // Authentification .htaccess old style, car .htaccess semble |
|
| 172 | - // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 173 | - if (isset($_SERVER['REMOTE_USER'])) { |
|
| 174 | - $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 175 | - } |
|
| 176 | - } |
|
| 177 | - } |
|
| 178 | - |
|
| 179 | - $where = (is_numeric($id_auteur) |
|
| 180 | - /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 181 | - ) ? |
|
| 182 | - "id_auteur=$id_auteur" : |
|
| 183 | - (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text')); |
|
| 184 | - |
|
| 185 | - if (!$where) { |
|
| 186 | - return ''; |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - // Trouver les autres infos dans la table auteurs. |
|
| 190 | - // le champ 'quand' est utilise par l'agenda |
|
| 191 | - |
|
| 192 | - return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 169 | + } |
|
| 170 | + } else { |
|
| 171 | + // Authentification .htaccess old style, car .htaccess semble |
|
| 172 | + // souvent definir *aussi* PHP_AUTH_USER et PHP_AUTH_PW |
|
| 173 | + if (isset($_SERVER['REMOTE_USER'])) { |
|
| 174 | + $GLOBALS['connect_login'] = $_SERVER['REMOTE_USER']; |
|
| 175 | + } |
|
| 176 | + } |
|
| 177 | + } |
|
| 178 | + |
|
| 179 | + $where = (is_numeric($id_auteur) |
|
| 180 | + /*AND $id_auteur>0*/ // reprise lors des restaurations |
|
| 181 | + ) ? |
|
| 182 | + "id_auteur=$id_auteur" : |
|
| 183 | + (!strlen($GLOBALS['connect_login']) ? '' : 'login=' . sql_quote($GLOBALS['connect_login'], '', 'text')); |
|
| 184 | + |
|
| 185 | + if (!$where) { |
|
| 186 | + return ''; |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + // Trouver les autres infos dans la table auteurs. |
|
| 190 | + // le champ 'quand' est utilise par l'agenda |
|
| 191 | + |
|
| 192 | + return sql_fetsel('*, en_ligne AS quand', 'spip_auteurs', "$where AND statut!='5poubelle'"); |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | /** |
@@ -207,86 +207,86 @@ discard block |
||
| 207 | 207 | */ |
| 208 | 208 | function auth_init_droits($row) { |
| 209 | 209 | |
| 210 | - include_spip('inc/autoriser'); |
|
| 211 | - if (!autoriser('loger', '', 0, $row)) { |
|
| 212 | - return false; |
|
| 213 | - } |
|
| 214 | - |
|
| 215 | - |
|
| 216 | - if ($row['statut'] == 'nouveau') { |
|
| 217 | - include_spip('action/inscrire_auteur'); |
|
| 218 | - $row = confirmer_statut_inscription($row); |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 222 | - $GLOBALS['connect_login'] = $row['login']; |
|
| 223 | - $GLOBALS['connect_statut'] = $row['statut']; |
|
| 224 | - |
|
| 225 | - $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row); |
|
| 226 | - |
|
| 227 | - // au cas ou : ne pas memoriser les champs sensibles |
|
| 228 | - unset($GLOBALS['visiteur_session']['pass']); |
|
| 229 | - unset($GLOBALS['visiteur_session']['htpass']); |
|
| 230 | - unset($GLOBALS['visiteur_session']['alea_actuel']); |
|
| 231 | - unset($GLOBALS['visiteur_session']['alea_futur']); |
|
| 232 | - unset($GLOBALS['visiteur_session']['ldap_password']); |
|
| 233 | - |
|
| 234 | - // creer la session au besoin |
|
| 235 | - if (!isset($_COOKIE['spip_session'])) { |
|
| 236 | - $session = charger_fonction('session', 'inc'); |
|
| 237 | - $spip_session = $session($row); |
|
| 238 | - } |
|
| 239 | - |
|
| 240 | - // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 241 | - // car utilisees au retour par auth_loger() |
|
| 242 | - $r = @unserialize($row['prefs']); |
|
| 243 | - $GLOBALS['visiteur_session']['prefs'] = ($r ?: []); |
|
| 244 | - // si prefs pas definies, les definir par defaut |
|
| 245 | - if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 246 | - $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 247 | - $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 248 | - $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 249 | - $GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui'; |
|
| 250 | - } |
|
| 251 | - |
|
| 252 | - $GLOBALS['visiteur_session'] = pipeline( |
|
| 253 | - 'preparer_visiteur_session', |
|
| 254 | - ['args' => ['row' => $row], |
|
| 255 | - 'data' => $GLOBALS['visiteur_session']] |
|
| 256 | - ); |
|
| 257 | - |
|
| 258 | - // Etablir les droits selon le codage attendu |
|
| 259 | - // dans ecrire/index.php ecrire/prive.php |
|
| 260 | - |
|
| 261 | - // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 262 | - // A noter : le premier appel a autoriser() a le bon gout |
|
| 263 | - // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 264 | - // qui ne figure pas dans le fichier de session |
|
| 265 | - |
|
| 266 | - if (!autoriser('ecrire')) { |
|
| 267 | - return $row; |
|
| 268 | - } |
|
| 269 | - |
|
| 270 | - // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 271 | - |
|
| 272 | - auth_trace($row); |
|
| 273 | - |
|
| 274 | - // Administrateurs |
|
| 275 | - if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 276 | - if ( |
|
| 277 | - isset($GLOBALS['visiteur_session']['restreint']) |
|
| 278 | - and is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 279 | - ) { |
|
| 280 | - $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 281 | - } |
|
| 282 | - if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 283 | - $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 284 | - } |
|
| 285 | - } |
|
| 286 | - |
|
| 287 | - // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 288 | - |
|
| 289 | - return ''; // i.e. pas de pb. |
|
| 210 | + include_spip('inc/autoriser'); |
|
| 211 | + if (!autoriser('loger', '', 0, $row)) { |
|
| 212 | + return false; |
|
| 213 | + } |
|
| 214 | + |
|
| 215 | + |
|
| 216 | + if ($row['statut'] == 'nouveau') { |
|
| 217 | + include_spip('action/inscrire_auteur'); |
|
| 218 | + $row = confirmer_statut_inscription($row); |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + $GLOBALS['connect_id_auteur'] = $row['id_auteur']; |
|
| 222 | + $GLOBALS['connect_login'] = $row['login']; |
|
| 223 | + $GLOBALS['connect_statut'] = $row['statut']; |
|
| 224 | + |
|
| 225 | + $GLOBALS['visiteur_session'] = array_merge((array)$GLOBALS['visiteur_session'], $row); |
|
| 226 | + |
|
| 227 | + // au cas ou : ne pas memoriser les champs sensibles |
|
| 228 | + unset($GLOBALS['visiteur_session']['pass']); |
|
| 229 | + unset($GLOBALS['visiteur_session']['htpass']); |
|
| 230 | + unset($GLOBALS['visiteur_session']['alea_actuel']); |
|
| 231 | + unset($GLOBALS['visiteur_session']['alea_futur']); |
|
| 232 | + unset($GLOBALS['visiteur_session']['ldap_password']); |
|
| 233 | + |
|
| 234 | + // creer la session au besoin |
|
| 235 | + if (!isset($_COOKIE['spip_session'])) { |
|
| 236 | + $session = charger_fonction('session', 'inc'); |
|
| 237 | + $spip_session = $session($row); |
|
| 238 | + } |
|
| 239 | + |
|
| 240 | + // reinjecter les preferences_auteur apres le reset de spip_session |
|
| 241 | + // car utilisees au retour par auth_loger() |
|
| 242 | + $r = @unserialize($row['prefs']); |
|
| 243 | + $GLOBALS['visiteur_session']['prefs'] = ($r ?: []); |
|
| 244 | + // si prefs pas definies, les definir par defaut |
|
| 245 | + if (!isset($GLOBALS['visiteur_session']['prefs']['couleur'])) { |
|
| 246 | + $GLOBALS['visiteur_session']['prefs']['couleur'] = 2; |
|
| 247 | + $GLOBALS['visiteur_session']['prefs']['display'] = 2; |
|
| 248 | + $GLOBALS['visiteur_session']['prefs']['display_navigation'] = 'navigation_avec_icones'; |
|
| 249 | + $GLOBALS['visiteur_session']['prefs']['display_outils'] = 'oui'; |
|
| 250 | + } |
|
| 251 | + |
|
| 252 | + $GLOBALS['visiteur_session'] = pipeline( |
|
| 253 | + 'preparer_visiteur_session', |
|
| 254 | + ['args' => ['row' => $row], |
|
| 255 | + 'data' => $GLOBALS['visiteur_session']] |
|
| 256 | + ); |
|
| 257 | + |
|
| 258 | + // Etablir les droits selon le codage attendu |
|
| 259 | + // dans ecrire/index.php ecrire/prive.php |
|
| 260 | + |
|
| 261 | + // Pas autorise a acceder a ecrire ? renvoyer le tableau |
|
| 262 | + // A noter : le premier appel a autoriser() a le bon gout |
|
| 263 | + // d'initialiser $GLOBALS['visiteur_session']['restreint'], |
|
| 264 | + // qui ne figure pas dans le fichier de session |
|
| 265 | + |
|
| 266 | + if (!autoriser('ecrire')) { |
|
| 267 | + return $row; |
|
| 268 | + } |
|
| 269 | + |
|
| 270 | + // autoriser('ecrire') ne laisse passer que les Admin et les Redac |
|
| 271 | + |
|
| 272 | + auth_trace($row); |
|
| 273 | + |
|
| 274 | + // Administrateurs |
|
| 275 | + if (in_array($GLOBALS['connect_statut'], explode(',', _STATUT_AUTEUR_RUBRIQUE))) { |
|
| 276 | + if ( |
|
| 277 | + isset($GLOBALS['visiteur_session']['restreint']) |
|
| 278 | + and is_array($GLOBALS['visiteur_session']['restreint']) |
|
| 279 | + ) { |
|
| 280 | + $GLOBALS['connect_id_rubrique'] = $GLOBALS['visiteur_session']['restreint']; |
|
| 281 | + } |
|
| 282 | + if ($GLOBALS['connect_statut'] == '0minirezo') { |
|
| 283 | + $GLOBALS['connect_toutes_rubriques'] = !$GLOBALS['connect_id_rubrique']; |
|
| 284 | + } |
|
| 285 | + } |
|
| 286 | + |
|
| 287 | + // Pour les redacteurs, inc_version a fait l'initialisation minimale |
|
| 288 | + |
|
| 289 | + return ''; // i.e. pas de pb. |
|
| 290 | 290 | } |
| 291 | 291 | |
| 292 | 292 | /** |
@@ -295,23 +295,23 @@ discard block |
||
| 295 | 295 | * @return string |
| 296 | 296 | */ |
| 297 | 297 | function auth_a_loger() { |
| 298 | - $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true); |
|
| 299 | - |
|
| 300 | - // un echec au "bonjour" (login initial) quand le statut est |
|
| 301 | - // inconnu signale sans doute un probleme de cookies |
|
| 302 | - if (isset($_GET['bonjour'])) { |
|
| 303 | - $redirect = parametre_url( |
|
| 304 | - $redirect, |
|
| 305 | - 'var_erreur', |
|
| 306 | - (!isset($GLOBALS['visiteur_session']['statut']) |
|
| 307 | - ? 'cookie' |
|
| 308 | - : 'statut' |
|
| 309 | - ), |
|
| 310 | - '&' |
|
| 311 | - ); |
|
| 312 | - } |
|
| 313 | - |
|
| 314 | - return $redirect; |
|
| 298 | + $redirect = generer_url_public('login', 'url=' . rawurlencode(self('&', true)), true); |
|
| 299 | + |
|
| 300 | + // un echec au "bonjour" (login initial) quand le statut est |
|
| 301 | + // inconnu signale sans doute un probleme de cookies |
|
| 302 | + if (isset($_GET['bonjour'])) { |
|
| 303 | + $redirect = parametre_url( |
|
| 304 | + $redirect, |
|
| 305 | + 'var_erreur', |
|
| 306 | + (!isset($GLOBALS['visiteur_session']['statut']) |
|
| 307 | + ? 'cookie' |
|
| 308 | + : 'statut' |
|
| 309 | + ), |
|
| 310 | + '&' |
|
| 311 | + ); |
|
| 312 | + } |
|
| 313 | + |
|
| 314 | + return $redirect; |
|
| 315 | 315 | } |
| 316 | 316 | |
| 317 | 317 | /** |
@@ -323,19 +323,19 @@ discard block |
||
| 323 | 323 | * @param null|string $date |
| 324 | 324 | */ |
| 325 | 325 | function auth_trace($row, $date = null) { |
| 326 | - // Indiquer la connexion. A la minute pres ca suffit. |
|
| 327 | - if (!is_numeric($connect_quand = $row['quand'] ?? '')) { |
|
| 328 | - $connect_quand = strtotime($connect_quand); |
|
| 329 | - } |
|
| 326 | + // Indiquer la connexion. A la minute pres ca suffit. |
|
| 327 | + if (!is_numeric($connect_quand = $row['quand'] ?? '')) { |
|
| 328 | + $connect_quand = strtotime($connect_quand); |
|
| 329 | + } |
|
| 330 | 330 | |
| 331 | - $date ??= date('Y-m-d H:i:s'); |
|
| 331 | + $date ??= date('Y-m-d H:i:s'); |
|
| 332 | 332 | |
| 333 | - if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 334 | - sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur'])); |
|
| 335 | - $row['en_ligne'] = $date; |
|
| 336 | - } |
|
| 333 | + if (abs(strtotime($date) - $connect_quand) >= 60) { |
|
| 334 | + sql_updateq('spip_auteurs', ['en_ligne' => $date], 'id_auteur=' . intval($row['id_auteur'])); |
|
| 335 | + $row['en_ligne'] = $date; |
|
| 336 | + } |
|
| 337 | 337 | |
| 338 | - pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]); |
|
| 338 | + pipeline('trig_auth_trace', ['args' => ['row' => $row, 'date' => $date]]); |
|
| 339 | 339 | } |
| 340 | 340 | |
| 341 | 341 | |
@@ -361,28 +361,28 @@ discard block |
||
| 361 | 361 | * @return mixed |
| 362 | 362 | */ |
| 363 | 363 | function auth_administrer($fonction, $args, $defaut = false) { |
| 364 | - $auth_methode = array_shift($args); |
|
| 365 | - $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou |
|
| 366 | - if ( |
|
| 367 | - $auth = charger_fonction($auth_methode, 'auth', true) |
|
| 368 | - and function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 369 | - ) { |
|
| 370 | - $res = $f(...$args); |
|
| 371 | - } else { |
|
| 372 | - $res = $defaut; |
|
| 373 | - } |
|
| 374 | - $res = pipeline( |
|
| 375 | - 'auth_administrer', |
|
| 376 | - [ |
|
| 377 | - 'args' => [ |
|
| 378 | - 'fonction' => $fonction, |
|
| 379 | - 'methode' => $auth_methode, |
|
| 380 | - 'args' => $args |
|
| 381 | - ], |
|
| 382 | - 'data' => $res |
|
| 383 | - ] |
|
| 384 | - ); |
|
| 385 | - return $res; |
|
| 364 | + $auth_methode = array_shift($args); |
|
| 365 | + $auth_methode = $auth_methode ?: 'spip'; // valeur par defaut au cas ou |
|
| 366 | + if ( |
|
| 367 | + $auth = charger_fonction($auth_methode, 'auth', true) |
|
| 368 | + and function_exists($f = "auth_{$auth_methode}_$fonction") |
|
| 369 | + ) { |
|
| 370 | + $res = $f(...$args); |
|
| 371 | + } else { |
|
| 372 | + $res = $defaut; |
|
| 373 | + } |
|
| 374 | + $res = pipeline( |
|
| 375 | + 'auth_administrer', |
|
| 376 | + [ |
|
| 377 | + 'args' => [ |
|
| 378 | + 'fonction' => $fonction, |
|
| 379 | + 'methode' => $auth_methode, |
|
| 380 | + 'args' => $args |
|
| 381 | + ], |
|
| 382 | + 'data' => $res |
|
| 383 | + ] |
|
| 384 | + ); |
|
| 385 | + return $res; |
|
| 386 | 386 | } |
| 387 | 387 | |
| 388 | 388 | /** |
@@ -392,11 +392,11 @@ discard block |
||
| 392 | 392 | * @return array |
| 393 | 393 | */ |
| 394 | 394 | function auth_formulaire_login($flux) { |
| 395 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 396 | - $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux); |
|
| 397 | - } |
|
| 395 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 396 | + $flux = auth_administrer('formulaire_login', [$methode, $flux], $flux); |
|
| 397 | + } |
|
| 398 | 398 | |
| 399 | - return $flux; |
|
| 399 | + return $flux; |
|
| 400 | 400 | } |
| 401 | 401 | |
| 402 | 402 | |
@@ -410,19 +410,19 @@ discard block |
||
| 410 | 410 | * @return string/bool |
| 411 | 411 | */ |
| 412 | 412 | function auth_retrouver_login($login, $serveur = '') { |
| 413 | - if (!spip_connect($serveur)) { |
|
| 414 | - include_spip('inc/minipres'); |
|
| 415 | - echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 416 | - exit; |
|
| 417 | - } |
|
| 418 | - |
|
| 419 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 420 | - if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) { |
|
| 421 | - return $auteur; |
|
| 422 | - } |
|
| 423 | - } |
|
| 424 | - |
|
| 425 | - return false; |
|
| 413 | + if (!spip_connect($serveur)) { |
|
| 414 | + include_spip('inc/minipres'); |
|
| 415 | + echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique')); |
|
| 416 | + exit; |
|
| 417 | + } |
|
| 418 | + |
|
| 419 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 420 | + if ($auteur = auth_administrer('retrouver_login', [$methode, $login, $serveur])) { |
|
| 421 | + return $auteur; |
|
| 422 | + } |
|
| 423 | + } |
|
| 424 | + |
|
| 425 | + return false; |
|
| 426 | 426 | } |
| 427 | 427 | |
| 428 | 428 | /** |
@@ -437,34 +437,34 @@ discard block |
||
| 437 | 437 | * @return array |
| 438 | 438 | */ |
| 439 | 439 | function auth_informer_login($login, $serveur = '') { |
| 440 | - if ( |
|
| 441 | - !$login |
|
| 442 | - or !$login_base = auth_retrouver_login($login, $serveur) |
|
| 443 | - or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur) |
|
| 444 | - ) { |
|
| 445 | - // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 446 | - // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 447 | - |
|
| 448 | - $row = [ |
|
| 449 | - 'login' => $login, |
|
| 450 | - 'cnx' => '0', |
|
| 451 | - 'logo' => '', |
|
| 452 | - ]; |
|
| 453 | - |
|
| 454 | - return $row; |
|
| 455 | - } |
|
| 456 | - |
|
| 457 | - $prefs = @unserialize($row['prefs']); |
|
| 458 | - $infos = [ |
|
| 459 | - 'id_auteur' => $row['id_auteur'], |
|
| 460 | - 'login' => $row['login'], |
|
| 461 | - 'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 462 | - 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 463 | - ]; |
|
| 464 | - |
|
| 465 | - verifier_visiteur(); |
|
| 466 | - |
|
| 467 | - return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos); |
|
| 440 | + if ( |
|
| 441 | + !$login |
|
| 442 | + or !$login_base = auth_retrouver_login($login, $serveur) |
|
| 443 | + or !$row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login_base, $serveur, 'text'), '', '', '', '', $serveur) |
|
| 444 | + ) { |
|
| 445 | + // generer de fausses infos, mais credibles, pour eviter une attaque |
|
| 446 | + // https://core.spip.net/issues/1758 + https://core.spip.net/issues/3691 |
|
| 447 | + |
|
| 448 | + $row = [ |
|
| 449 | + 'login' => $login, |
|
| 450 | + 'cnx' => '0', |
|
| 451 | + 'logo' => '', |
|
| 452 | + ]; |
|
| 453 | + |
|
| 454 | + return $row; |
|
| 455 | + } |
|
| 456 | + |
|
| 457 | + $prefs = @unserialize($row['prefs']); |
|
| 458 | + $infos = [ |
|
| 459 | + 'id_auteur' => $row['id_auteur'], |
|
| 460 | + 'login' => $row['login'], |
|
| 461 | + 'cnx' => (isset($prefs['cnx']) and $prefs['cnx'] === 'perma') ? '1' : '0', |
|
| 462 | + 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row), |
|
| 463 | + ]; |
|
| 464 | + |
|
| 465 | + verifier_visiteur(); |
|
| 466 | + |
|
| 467 | + return auth_administrer('informer_login', [$row['source'], $infos, $row, $serveur], $infos); |
|
| 468 | 468 | } |
| 469 | 469 | |
| 470 | 470 | |
@@ -478,21 +478,21 @@ discard block |
||
| 478 | 478 | * @return mixed |
| 479 | 479 | */ |
| 480 | 480 | function auth_identifier_login($login, $password, $serveur = '') { |
| 481 | - $erreur = ''; |
|
| 482 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 483 | - if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 484 | - $auteur = $auth($login, $password, $serveur); |
|
| 485 | - if (is_array($auteur) and count($auteur)) { |
|
| 486 | - spip_log("connexion de $login par methode $methode"); |
|
| 487 | - $auteur['auth'] = $methode; |
|
| 488 | - return $auteur; |
|
| 489 | - } elseif (is_string($auteur)) { |
|
| 490 | - $erreur .= "$auteur "; |
|
| 491 | - } |
|
| 492 | - } |
|
| 493 | - } |
|
| 494 | - |
|
| 495 | - return $erreur; |
|
| 481 | + $erreur = ''; |
|
| 482 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 483 | + if ($auth = charger_fonction($methode, 'auth', true)) { |
|
| 484 | + $auteur = $auth($login, $password, $serveur); |
|
| 485 | + if (is_array($auteur) and count($auteur)) { |
|
| 486 | + spip_log("connexion de $login par methode $methode"); |
|
| 487 | + $auteur['auth'] = $methode; |
|
| 488 | + return $auteur; |
|
| 489 | + } elseif (is_string($auteur)) { |
|
| 490 | + $erreur .= "$auteur "; |
|
| 491 | + } |
|
| 492 | + } |
|
| 493 | + } |
|
| 494 | + |
|
| 495 | + return $erreur; |
|
| 496 | 496 | } |
| 497 | 497 | |
| 498 | 498 | /** |
@@ -506,8 +506,8 @@ discard block |
||
| 506 | 506 | * @return string |
| 507 | 507 | */ |
| 508 | 508 | function auth_url_retour_login($auth_methode, $login, $redirect = '', $serveur = '') { |
| 509 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 510 | - return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 509 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 510 | + return $securiser_action('auth', "$auth_methode/$login", $redirect, true); |
|
| 511 | 511 | } |
| 512 | 512 | |
| 513 | 513 | /** |
@@ -521,9 +521,9 @@ discard block |
||
| 521 | 521 | * @return mixed |
| 522 | 522 | */ |
| 523 | 523 | function auth_terminer_identifier_login($auth_methode, $login, $serveur = '') { |
| 524 | - $args = func_get_args(); |
|
| 525 | - $auteur = auth_administrer('terminer_identifier_login', $args); |
|
| 526 | - return $auteur; |
|
| 524 | + $args = func_get_args(); |
|
| 525 | + $auteur = auth_administrer('terminer_identifier_login', $args); |
|
| 526 | + return $auteur; |
|
| 527 | 527 | } |
| 528 | 528 | |
| 529 | 529 | /** |
@@ -533,29 +533,29 @@ discard block |
||
| 533 | 533 | * @return bool |
| 534 | 534 | */ |
| 535 | 535 | function auth_loger($auteur) { |
| 536 | - if (!is_array($auteur) or !count($auteur)) { |
|
| 537 | - return false; |
|
| 538 | - } |
|
| 539 | - |
|
| 540 | - // initialiser et poser le cookie de session |
|
| 541 | - unset($_COOKIE['spip_session']); |
|
| 542 | - if (auth_init_droits($auteur) === false) { |
|
| 543 | - return false; |
|
| 544 | - } |
|
| 545 | - |
|
| 546 | - // initialiser les prefs |
|
| 547 | - $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 548 | - $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 549 | - |
|
| 550 | - sql_updateq( |
|
| 551 | - 'spip_auteurs', |
|
| 552 | - ['prefs' => serialize($p)], |
|
| 553 | - 'id_auteur=' . intval($auteur['id_auteur']) |
|
| 554 | - ); |
|
| 555 | - |
|
| 556 | - // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 557 | - verifier_visiteur(); |
|
| 558 | - return true; |
|
| 536 | + if (!is_array($auteur) or !count($auteur)) { |
|
| 537 | + return false; |
|
| 538 | + } |
|
| 539 | + |
|
| 540 | + // initialiser et poser le cookie de session |
|
| 541 | + unset($_COOKIE['spip_session']); |
|
| 542 | + if (auth_init_droits($auteur) === false) { |
|
| 543 | + return false; |
|
| 544 | + } |
|
| 545 | + |
|
| 546 | + // initialiser les prefs |
|
| 547 | + $p = $GLOBALS['visiteur_session']['prefs']; |
|
| 548 | + $p['cnx'] = (isset($auteur['cookie']) and $auteur['cookie'] == 'oui') ? 'perma' : ''; |
|
| 549 | + |
|
| 550 | + sql_updateq( |
|
| 551 | + 'spip_auteurs', |
|
| 552 | + ['prefs' => serialize($p)], |
|
| 553 | + 'id_auteur=' . intval($auteur['id_auteur']) |
|
| 554 | + ); |
|
| 555 | + |
|
| 556 | + // bloquer ici le visiteur qui tente d'abuser de ses droits |
|
| 557 | + verifier_visiteur(); |
|
| 558 | + return true; |
|
| 559 | 559 | } |
| 560 | 560 | |
| 561 | 561 | /** |
@@ -565,8 +565,8 @@ discard block |
||
| 565 | 565 | * return void |
| 566 | 566 | **/ |
| 567 | 567 | function auth_deloger() { |
| 568 | - $logout = charger_fonction('logout', 'action'); |
|
| 569 | - $logout(); |
|
| 568 | + $logout = charger_fonction('logout', 'action'); |
|
| 569 | + $logout(); |
|
| 570 | 570 | } |
| 571 | 571 | |
| 572 | 572 | /** |
@@ -580,8 +580,8 @@ discard block |
||
| 580 | 580 | * @return bool |
| 581 | 581 | */ |
| 582 | 582 | function auth_autoriser_modifier_login($auth_methode, $serveur = '') { |
| 583 | - $args = func_get_args(); |
|
| 584 | - return auth_administrer('autoriser_modifier_login', $args); |
|
| 583 | + $args = func_get_args(); |
|
| 584 | + return auth_administrer('autoriser_modifier_login', $args); |
|
| 585 | 585 | } |
| 586 | 586 | |
| 587 | 587 | /** |
@@ -596,8 +596,8 @@ discard block |
||
| 596 | 596 | * message d'erreur ou chaine vide si pas d'erreur |
| 597 | 597 | */ |
| 598 | 598 | function auth_verifier_login($auth_methode, $new_login, $id_auteur = 0, $serveur = '') { |
| 599 | - $args = func_get_args(); |
|
| 600 | - return auth_administrer('verifier_login', $args, ''); |
|
| 599 | + $args = func_get_args(); |
|
| 600 | + return auth_administrer('verifier_login', $args, ''); |
|
| 601 | 601 | } |
| 602 | 602 | |
| 603 | 603 | /** |
@@ -610,8 +610,8 @@ discard block |
||
| 610 | 610 | * @return bool |
| 611 | 611 | */ |
| 612 | 612 | function auth_modifier_login($auth_methode, $new_login, $id_auteur, $serveur = '') { |
| 613 | - $args = func_get_args(); |
|
| 614 | - return auth_administrer('modifier_login', $args); |
|
| 613 | + $args = func_get_args(); |
|
| 614 | + return auth_administrer('modifier_login', $args); |
|
| 615 | 615 | } |
| 616 | 616 | |
| 617 | 617 | /** |
@@ -626,8 +626,8 @@ discard block |
||
| 626 | 626 | * succès ou échec |
| 627 | 627 | */ |
| 628 | 628 | function auth_autoriser_modifier_pass($auth_methode, $serveur = '') { |
| 629 | - $args = func_get_args(); |
|
| 630 | - return auth_administrer('autoriser_modifier_pass', $args); |
|
| 629 | + $args = func_get_args(); |
|
| 630 | + return auth_administrer('autoriser_modifier_pass', $args); |
|
| 631 | 631 | } |
| 632 | 632 | |
| 633 | 633 | /** |
@@ -643,8 +643,8 @@ discard block |
||
| 643 | 643 | * message d'erreur ou chaine vide si pas d'erreur |
| 644 | 644 | */ |
| 645 | 645 | function auth_verifier_pass($auth_methode, $login, $new_pass, $id_auteur = 0, $serveur = '') { |
| 646 | - $args = func_get_args(); |
|
| 647 | - return auth_administrer('verifier_pass', $args, ''); |
|
| 646 | + $args = func_get_args(); |
|
| 647 | + return auth_administrer('verifier_pass', $args, ''); |
|
| 648 | 648 | } |
| 649 | 649 | |
| 650 | 650 | /** |
@@ -660,8 +660,8 @@ discard block |
||
| 660 | 660 | * succes ou echec |
| 661 | 661 | */ |
| 662 | 662 | function auth_modifier_pass($auth_methode, $login, $new_pass, $id_auteur, $serveur = '') { |
| 663 | - $args = func_get_args(); |
|
| 664 | - return auth_administrer('modifier_pass', $args); |
|
| 663 | + $args = func_get_args(); |
|
| 664 | + return auth_administrer('modifier_pass', $args); |
|
| 665 | 665 | } |
| 666 | 666 | |
| 667 | 667 | /** |
@@ -677,24 +677,24 @@ discard block |
||
| 677 | 677 | * @return void |
| 678 | 678 | */ |
| 679 | 679 | function auth_synchroniser_distant( |
| 680 | - $auth_methode = true, |
|
| 681 | - $id_auteur = 0, |
|
| 682 | - $champs = [], |
|
| 683 | - $options = [], |
|
| 684 | - $serveur = '' |
|
| 680 | + $auth_methode = true, |
|
| 681 | + $id_auteur = 0, |
|
| 682 | + $champs = [], |
|
| 683 | + $options = [], |
|
| 684 | + $serveur = '' |
|
| 685 | 685 | ) { |
| 686 | - $args = func_get_args(); |
|
| 687 | - if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) { |
|
| 688 | - $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 689 | - $args = [true, $id_auteur, $champs, $options, $serveur]; |
|
| 690 | - foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 691 | - array_shift($args); |
|
| 692 | - array_unshift($args, $methode); |
|
| 693 | - auth_administrer('synchroniser_distant', $args); |
|
| 694 | - } |
|
| 695 | - } else { |
|
| 696 | - auth_administrer('synchroniser_distant', $args); |
|
| 697 | - } |
|
| 686 | + $args = func_get_args(); |
|
| 687 | + if ($auth_methode === true or (isset($options['all']) and $options['all'] == true)) { |
|
| 688 | + $options['all'] = true; // ajouter une option all=>true pour chaque auth |
|
| 689 | + $args = [true, $id_auteur, $champs, $options, $serveur]; |
|
| 690 | + foreach ($GLOBALS['liste_des_authentifications'] as $methode) { |
|
| 691 | + array_shift($args); |
|
| 692 | + array_unshift($args, $methode); |
|
| 693 | + auth_administrer('synchroniser_distant', $args); |
|
| 694 | + } |
|
| 695 | + } else { |
|
| 696 | + auth_administrer('synchroniser_distant', $args); |
|
| 697 | + } |
|
| 698 | 698 | } |
| 699 | 699 | |
| 700 | 700 | |
@@ -707,45 +707,45 @@ discard block |
||
| 707 | 707 | * @return array|bool |
| 708 | 708 | */ |
| 709 | 709 | function lire_php_auth($login, $pw, $serveur = '') { |
| 710 | - if ( |
|
| 711 | - !$login |
|
| 712 | - or !$login = auth_retrouver_login($login, $serveur) |
|
| 713 | - ) { |
|
| 714 | - return false; |
|
| 715 | - } |
|
| 716 | - |
|
| 717 | - $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 718 | - |
|
| 719 | - if (!$row) { |
|
| 720 | - if ( |
|
| 721 | - include_spip('inc/auth') |
|
| 722 | - and auth_ldap_connect($serveur) |
|
| 723 | - and $auth_ldap = charger_fonction('ldap', 'auth', true) |
|
| 724 | - ) { |
|
| 725 | - return $auth_ldap($login, $pw, $serveur, true); |
|
| 726 | - } |
|
| 727 | - |
|
| 728 | - return false; |
|
| 729 | - } |
|
| 730 | - // su pas de source definie |
|
| 731 | - // ou auth/xxx introuvable, utiliser 'spip' |
|
| 732 | - if ( |
|
| 733 | - !$auth_methode = $row['source'] |
|
| 734 | - or !$auth = charger_fonction($auth_methode, 'auth', true) |
|
| 735 | - ) { |
|
| 736 | - $auth = charger_fonction('spip', 'auth', true); |
|
| 737 | - } |
|
| 738 | - |
|
| 739 | - $auteur = ''; |
|
| 740 | - if ($auth) { |
|
| 741 | - $auteur = $auth($login, $pw, $serveur, true); |
|
| 742 | - } |
|
| 743 | - // verifier que ce n'est pas un message d'erreur |
|
| 744 | - if (is_array($auteur) and count($auteur)) { |
|
| 745 | - return $auteur; |
|
| 746 | - } |
|
| 747 | - |
|
| 748 | - return false; |
|
| 710 | + if ( |
|
| 711 | + !$login |
|
| 712 | + or !$login = auth_retrouver_login($login, $serveur) |
|
| 713 | + ) { |
|
| 714 | + return false; |
|
| 715 | + } |
|
| 716 | + |
|
| 717 | + $row = sql_fetsel('*', 'spip_auteurs', 'login=' . sql_quote($login, $serveur, 'text'), '', '', '', '', $serveur); |
|
| 718 | + |
|
| 719 | + if (!$row) { |
|
| 720 | + if ( |
|
| 721 | + include_spip('inc/auth') |
|
| 722 | + and auth_ldap_connect($serveur) |
|
| 723 | + and $auth_ldap = charger_fonction('ldap', 'auth', true) |
|
| 724 | + ) { |
|
| 725 | + return $auth_ldap($login, $pw, $serveur, true); |
|
| 726 | + } |
|
| 727 | + |
|
| 728 | + return false; |
|
| 729 | + } |
|
| 730 | + // su pas de source definie |
|
| 731 | + // ou auth/xxx introuvable, utiliser 'spip' |
|
| 732 | + if ( |
|
| 733 | + !$auth_methode = $row['source'] |
|
| 734 | + or !$auth = charger_fonction($auth_methode, 'auth', true) |
|
| 735 | + ) { |
|
| 736 | + $auth = charger_fonction('spip', 'auth', true); |
|
| 737 | + } |
|
| 738 | + |
|
| 739 | + $auteur = ''; |
|
| 740 | + if ($auth) { |
|
| 741 | + $auteur = $auth($login, $pw, $serveur, true); |
|
| 742 | + } |
|
| 743 | + // verifier que ce n'est pas un message d'erreur |
|
| 744 | + if (is_array($auteur) and count($auteur)) { |
|
| 745 | + return $auteur; |
|
| 746 | + } |
|
| 747 | + |
|
| 748 | + return false; |
|
| 749 | 749 | } |
| 750 | 750 | |
| 751 | 751 | /** |
@@ -761,21 +761,21 @@ discard block |
||
| 761 | 761 | * @param string $lien |
| 762 | 762 | */ |
| 763 | 763 | function ask_php_auth($pb, $raison, $retour = '', $url = '', $re = '', $lien = '') { |
| 764 | - @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 765 | - @Header('HTTP/1.0 401 Unauthorized'); |
|
| 766 | - $corps = ''; |
|
| 767 | - $public = generer_url_public(); |
|
| 768 | - $ecrire = generer_url_ecrire(); |
|
| 769 | - $retour = $retour ?: _T('icone_retour'); |
|
| 770 | - $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 771 | - if ($url) { |
|
| 772 | - $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 773 | - } |
|
| 774 | - |
|
| 775 | - if ($lien) { |
|
| 776 | - $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 777 | - } |
|
| 778 | - include_spip('inc/minipres'); |
|
| 779 | - echo minipres($pb, $corps); |
|
| 780 | - exit; |
|
| 764 | + @Header('WWW-Authenticate: Basic realm="espace prive"'); |
|
| 765 | + @Header('HTTP/1.0 401 Unauthorized'); |
|
| 766 | + $corps = ''; |
|
| 767 | + $public = generer_url_public(); |
|
| 768 | + $ecrire = generer_url_ecrire(); |
|
| 769 | + $retour = $retour ?: _T('icone_retour'); |
|
| 770 | + $corps .= "<p>$raison</p>[<a href='$public'>$retour</a>] "; |
|
| 771 | + if ($url) { |
|
| 772 | + $corps .= "[<a href='" . generer_url_action('cookie', "essai_auth_http=oui&$url") . "'>$re</a>]"; |
|
| 773 | + } |
|
| 774 | + |
|
| 775 | + if ($lien) { |
|
| 776 | + $corps .= " [<a href='$ecrire'>" . _T('login_espace_prive') . '</a>]'; |
|
| 777 | + } |
|
| 778 | + include_spip('inc/minipres'); |
|
| 779 | + echo minipres($pb, $corps); |
|
| 780 | + exit; |
|
| 781 | 781 | } |
@@ -11,7 +11,7 @@ |
||
| 11 | 11 | * \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | include_spip('src/Chiffrer/Chiffrement'); |
@@ -11,173 +11,173 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | include_spip('inc/headers'); |
| 18 | 18 | |
| 19 | 19 | function install_etape_3b_dist() { |
| 20 | - $auth_spip = null; |
|
| 21 | - $session = null; |
|
| 22 | - $row = null; |
|
| 23 | - $login = _request('login'); |
|
| 24 | - $email = _request('email'); |
|
| 25 | - $nom = _request('nom'); |
|
| 26 | - $pass = _request('pass'); |
|
| 27 | - $pass_verif = _request('pass_verif'); |
|
| 28 | - |
|
| 29 | - $server_db = defined('_INSTALL_SERVER_DB') |
|
| 30 | - ? _INSTALL_SERVER_DB |
|
| 31 | - : _request('server_db'); |
|
| 32 | - |
|
| 33 | - if (!defined('_PASS_LONGUEUR_MINI')) { |
|
| 34 | - define('_PASS_LONGUEUR_MINI', 6); |
|
| 35 | - } |
|
| 36 | - if (!defined('_LOGIN_TROP_COURT')) { |
|
| 37 | - define('_LOGIN_TROP_COURT', 4); |
|
| 38 | - } |
|
| 39 | - if ($login) { |
|
| 40 | - $echec = ($pass != $pass_verif) ? |
|
| 41 | - _T('info_passes_identiques') |
|
| 42 | - : ((strlen($pass) < _PASS_LONGUEUR_MINI) ? |
|
| 43 | - _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]) |
|
| 44 | - : ((strlen($login) < _LOGIN_TROP_COURT) ? |
|
| 45 | - _T('info_login_trop_court') |
|
| 46 | - : '')); |
|
| 47 | - include_spip('inc/filtres'); |
|
| 48 | - if (!$echec and $email and !email_valide($email)) { |
|
| 49 | - $echec = _T('form_email_non_valide'); |
|
| 50 | - } |
|
| 51 | - if ($echec) { |
|
| 52 | - echouer_etape_3b($echec); |
|
| 53 | - } |
|
| 54 | - } |
|
| 55 | - |
|
| 56 | - if (@file_exists(_FILE_CHMOD_TMP)) { |
|
| 57 | - include(_FILE_CHMOD_TMP); |
|
| 58 | - } else { |
|
| 59 | - redirige_url_ecrire('install'); |
|
| 60 | - } |
|
| 61 | - |
|
| 62 | - if (!@file_exists(_FILE_CONNECT_TMP)) { |
|
| 63 | - redirige_url_ecrire('install'); |
|
| 64 | - } |
|
| 65 | - |
|
| 66 | - # maintenant on connait le vrai charset du site s'il est deja configure |
|
| 67 | - # sinon par defaut lire_meta reglera _DEFAULT_CHARSET |
|
| 68 | - # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET) |
|
| 69 | - |
|
| 70 | - lire_metas(); |
|
| 71 | - if ($login) { |
|
| 72 | - include_spip('inc/charsets'); |
|
| 73 | - |
|
| 74 | - $nom = (importer_charset($nom, _DEFAULT_CHARSET)); |
|
| 75 | - $login = (importer_charset($login, _DEFAULT_CHARSET)); |
|
| 76 | - $email = (importer_charset($email, _DEFAULT_CHARSET)); |
|
| 77 | - # pour le passwd, bizarrement il faut le convertir comme s'il avait |
|
| 78 | - # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js |
|
| 79 | - $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1'); |
|
| 80 | - |
|
| 81 | - include_spip('auth/spip'); |
|
| 82 | - // prelablement, creer le champ webmestre si il n'existe pas (install neuve |
|
| 83 | - // sur une vieille base |
|
| 84 | - $t = sql_showtable('spip_auteurs', true); |
|
| 85 | - if (!isset($t['field']['webmestre'])) { |
|
| 86 | - @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL"); |
|
| 87 | - } |
|
| 88 | - |
|
| 89 | - // il faut avoir une cle des auth valide pour creer un nouvel auteur webmestre |
|
| 90 | - include_spip('inc/chiffrer'); |
|
| 91 | - $cles = \Spip\Chiffrer\SpipCles::instance(); |
|
| 92 | - $secret = $cles->getSecretAuth(); |
|
| 93 | - |
|
| 94 | - $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login)); |
|
| 95 | - if ($id_auteur !== null) { |
|
| 96 | - // c'est un auteur connu : si on a pas de secret il faut absolument qu'il se reconnecte avec le meme mot de passe |
|
| 97 | - // pour restaurer la copie des cles |
|
| 98 | - if (!$secret and !auth_spip_initialiser_secret()) { |
|
| 99 | - $row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); |
|
| 100 | - if (empty($row['backup_cles']) or !$cles->restore($row['backup_cles'], $pass, $row['pass'], $id_auteur)) { |
|
| 101 | - $echec = _T('avis_connexion_erreur_fichier_cle_manquant_1'); |
|
| 102 | - echouer_etape_3b($echec); |
|
| 103 | - } |
|
| 104 | - spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth' . _LOG_INFO_IMPORTANTE); |
|
| 105 | - $cles->save(); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - sql_updateq('spip_auteurs', [ |
|
| 109 | - 'nom' => $nom, |
|
| 110 | - 'email' => $email, |
|
| 111 | - 'login' => $login, |
|
| 112 | - 'statut' => '0minirezo' |
|
| 113 | - ], 'id_auteur=' . intval($id_auteur)); |
|
| 114 | - // le passer webmestre separement du reste, au cas ou l'alter n'aurait pas fonctionne |
|
| 115 | - @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur"); |
|
| 116 | - if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) { |
|
| 117 | - $echec = _T('avis_erreur_creation_compte'); |
|
| 118 | - echouer_etape_3b($echec); |
|
| 119 | - } |
|
| 120 | - } else { |
|
| 121 | - // Si on a pas de cle et qu'on ne sait pas la creer, on ne peut pas creer de nouveau compte : |
|
| 122 | - // il faut qu'un webmestre avec un backup fasse l'install |
|
| 123 | - if (!$secret and !auth_spip_initialiser_secret()) { |
|
| 124 | - $echec = _T('avis_connexion_erreur_fichier_cle_manquant_2'); |
|
| 125 | - echouer_etape_3b($echec); |
|
| 126 | - } |
|
| 127 | - |
|
| 128 | - $id_auteur = sql_insertq('spip_auteurs', [ |
|
| 129 | - 'nom' => $nom, |
|
| 130 | - 'email' => $email, |
|
| 131 | - 'login' => $login, |
|
| 132 | - 'statut' => '0minirezo' |
|
| 133 | - ]); |
|
| 134 | - // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne |
|
| 135 | - @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur"); |
|
| 136 | - if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) { |
|
| 137 | - $echec = _T('avis_erreur_creation_compte'); |
|
| 138 | - echouer_etape_3b($echec); |
|
| 139 | - } |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - // inserer email comme email webmaster principal |
|
| 143 | - // (sauf s'il est vide: cas de la re-installation) |
|
| 144 | - if ($email) { |
|
| 145 | - ecrire_meta('email_webmaster', $email); |
|
| 146 | - } |
|
| 147 | - |
|
| 148 | - // Connecter directement celui qui vient de (re)donner son login |
|
| 149 | - // mais sans cookie d'admin ni connexion longue |
|
| 150 | - include_spip('inc/auth'); |
|
| 151 | - if ( |
|
| 152 | - !$auteur = auth_identifier_login($login, $pass) |
|
| 153 | - or !auth_loger($auteur) |
|
| 154 | - ) { |
|
| 155 | - spip_log("login automatique impossible $auth_spip $session" . (is_countable($row) ? count($row) : 0)); |
|
| 156 | - } |
|
| 157 | - } |
|
| 158 | - |
|
| 159 | - // installer les metas |
|
| 160 | - $config = charger_fonction('config', 'inc'); |
|
| 161 | - $config(); |
|
| 162 | - |
|
| 163 | - // activer les plugins |
|
| 164 | - // leur installation ne peut pas se faire sur le meme hit, il faudra donc |
|
| 165 | - // poursuivre au hit suivant |
|
| 166 | - include_spip('inc/plugin'); |
|
| 167 | - actualise_plugins_actifs(); |
|
| 168 | - |
|
| 169 | - |
|
| 170 | - include_spip('inc/distant'); |
|
| 171 | - redirige_par_entete(parametre_url(self(), 'etape', '4', '&')); |
|
| 20 | + $auth_spip = null; |
|
| 21 | + $session = null; |
|
| 22 | + $row = null; |
|
| 23 | + $login = _request('login'); |
|
| 24 | + $email = _request('email'); |
|
| 25 | + $nom = _request('nom'); |
|
| 26 | + $pass = _request('pass'); |
|
| 27 | + $pass_verif = _request('pass_verif'); |
|
| 28 | + |
|
| 29 | + $server_db = defined('_INSTALL_SERVER_DB') |
|
| 30 | + ? _INSTALL_SERVER_DB |
|
| 31 | + : _request('server_db'); |
|
| 32 | + |
|
| 33 | + if (!defined('_PASS_LONGUEUR_MINI')) { |
|
| 34 | + define('_PASS_LONGUEUR_MINI', 6); |
|
| 35 | + } |
|
| 36 | + if (!defined('_LOGIN_TROP_COURT')) { |
|
| 37 | + define('_LOGIN_TROP_COURT', 4); |
|
| 38 | + } |
|
| 39 | + if ($login) { |
|
| 40 | + $echec = ($pass != $pass_verif) ? |
|
| 41 | + _T('info_passes_identiques') |
|
| 42 | + : ((strlen($pass) < _PASS_LONGUEUR_MINI) ? |
|
| 43 | + _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]) |
|
| 44 | + : ((strlen($login) < _LOGIN_TROP_COURT) ? |
|
| 45 | + _T('info_login_trop_court') |
|
| 46 | + : '')); |
|
| 47 | + include_spip('inc/filtres'); |
|
| 48 | + if (!$echec and $email and !email_valide($email)) { |
|
| 49 | + $echec = _T('form_email_non_valide'); |
|
| 50 | + } |
|
| 51 | + if ($echec) { |
|
| 52 | + echouer_etape_3b($echec); |
|
| 53 | + } |
|
| 54 | + } |
|
| 55 | + |
|
| 56 | + if (@file_exists(_FILE_CHMOD_TMP)) { |
|
| 57 | + include(_FILE_CHMOD_TMP); |
|
| 58 | + } else { |
|
| 59 | + redirige_url_ecrire('install'); |
|
| 60 | + } |
|
| 61 | + |
|
| 62 | + if (!@file_exists(_FILE_CONNECT_TMP)) { |
|
| 63 | + redirige_url_ecrire('install'); |
|
| 64 | + } |
|
| 65 | + |
|
| 66 | + # maintenant on connait le vrai charset du site s'il est deja configure |
|
| 67 | + # sinon par defaut lire_meta reglera _DEFAULT_CHARSET |
|
| 68 | + # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET) |
|
| 69 | + |
|
| 70 | + lire_metas(); |
|
| 71 | + if ($login) { |
|
| 72 | + include_spip('inc/charsets'); |
|
| 73 | + |
|
| 74 | + $nom = (importer_charset($nom, _DEFAULT_CHARSET)); |
|
| 75 | + $login = (importer_charset($login, _DEFAULT_CHARSET)); |
|
| 76 | + $email = (importer_charset($email, _DEFAULT_CHARSET)); |
|
| 77 | + # pour le passwd, bizarrement il faut le convertir comme s'il avait |
|
| 78 | + # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js |
|
| 79 | + $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1'); |
|
| 80 | + |
|
| 81 | + include_spip('auth/spip'); |
|
| 82 | + // prelablement, creer le champ webmestre si il n'existe pas (install neuve |
|
| 83 | + // sur une vieille base |
|
| 84 | + $t = sql_showtable('spip_auteurs', true); |
|
| 85 | + if (!isset($t['field']['webmestre'])) { |
|
| 86 | + @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3) DEFAULT 'non' NOT NULL"); |
|
| 87 | + } |
|
| 88 | + |
|
| 89 | + // il faut avoir une cle des auth valide pour creer un nouvel auteur webmestre |
|
| 90 | + include_spip('inc/chiffrer'); |
|
| 91 | + $cles = \Spip\Chiffrer\SpipCles::instance(); |
|
| 92 | + $secret = $cles->getSecretAuth(); |
|
| 93 | + |
|
| 94 | + $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login=' . sql_quote($login)); |
|
| 95 | + if ($id_auteur !== null) { |
|
| 96 | + // c'est un auteur connu : si on a pas de secret il faut absolument qu'il se reconnecte avec le meme mot de passe |
|
| 97 | + // pour restaurer la copie des cles |
|
| 98 | + if (!$secret and !auth_spip_initialiser_secret()) { |
|
| 99 | + $row = sql_fetsel('backup_cles, pass', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); |
|
| 100 | + if (empty($row['backup_cles']) or !$cles->restore($row['backup_cles'], $pass, $row['pass'], $id_auteur)) { |
|
| 101 | + $echec = _T('avis_connexion_erreur_fichier_cle_manquant_1'); |
|
| 102 | + echouer_etape_3b($echec); |
|
| 103 | + } |
|
| 104 | + spip_log("Les cles secretes ont ete restaurées avec le backup du webmestre #$id_auteur", 'auth' . _LOG_INFO_IMPORTANTE); |
|
| 105 | + $cles->save(); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + sql_updateq('spip_auteurs', [ |
|
| 109 | + 'nom' => $nom, |
|
| 110 | + 'email' => $email, |
|
| 111 | + 'login' => $login, |
|
| 112 | + 'statut' => '0minirezo' |
|
| 113 | + ], 'id_auteur=' . intval($id_auteur)); |
|
| 114 | + // le passer webmestre separement du reste, au cas ou l'alter n'aurait pas fonctionne |
|
| 115 | + @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur"); |
|
| 116 | + if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) { |
|
| 117 | + $echec = _T('avis_erreur_creation_compte'); |
|
| 118 | + echouer_etape_3b($echec); |
|
| 119 | + } |
|
| 120 | + } else { |
|
| 121 | + // Si on a pas de cle et qu'on ne sait pas la creer, on ne peut pas creer de nouveau compte : |
|
| 122 | + // il faut qu'un webmestre avec un backup fasse l'install |
|
| 123 | + if (!$secret and !auth_spip_initialiser_secret()) { |
|
| 124 | + $echec = _T('avis_connexion_erreur_fichier_cle_manquant_2'); |
|
| 125 | + echouer_etape_3b($echec); |
|
| 126 | + } |
|
| 127 | + |
|
| 128 | + $id_auteur = sql_insertq('spip_auteurs', [ |
|
| 129 | + 'nom' => $nom, |
|
| 130 | + 'email' => $email, |
|
| 131 | + 'login' => $login, |
|
| 132 | + 'statut' => '0minirezo' |
|
| 133 | + ]); |
|
| 134 | + // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne |
|
| 135 | + @sql_updateq('spip_auteurs', ['webmestre' => 'oui'], "id_auteur=$id_auteur"); |
|
| 136 | + if (!auth_spip_modifier_pass($login, $pass, $id_auteur)) { |
|
| 137 | + $echec = _T('avis_erreur_creation_compte'); |
|
| 138 | + echouer_etape_3b($echec); |
|
| 139 | + } |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + // inserer email comme email webmaster principal |
|
| 143 | + // (sauf s'il est vide: cas de la re-installation) |
|
| 144 | + if ($email) { |
|
| 145 | + ecrire_meta('email_webmaster', $email); |
|
| 146 | + } |
|
| 147 | + |
|
| 148 | + // Connecter directement celui qui vient de (re)donner son login |
|
| 149 | + // mais sans cookie d'admin ni connexion longue |
|
| 150 | + include_spip('inc/auth'); |
|
| 151 | + if ( |
|
| 152 | + !$auteur = auth_identifier_login($login, $pass) |
|
| 153 | + or !auth_loger($auteur) |
|
| 154 | + ) { |
|
| 155 | + spip_log("login automatique impossible $auth_spip $session" . (is_countable($row) ? count($row) : 0)); |
|
| 156 | + } |
|
| 157 | + } |
|
| 158 | + |
|
| 159 | + // installer les metas |
|
| 160 | + $config = charger_fonction('config', 'inc'); |
|
| 161 | + $config(); |
|
| 162 | + |
|
| 163 | + // activer les plugins |
|
| 164 | + // leur installation ne peut pas se faire sur le meme hit, il faudra donc |
|
| 165 | + // poursuivre au hit suivant |
|
| 166 | + include_spip('inc/plugin'); |
|
| 167 | + actualise_plugins_actifs(); |
|
| 168 | + |
|
| 169 | + |
|
| 170 | + include_spip('inc/distant'); |
|
| 171 | + redirige_par_entete(parametre_url(self(), 'etape', '4', '&')); |
|
| 172 | 172 | } |
| 173 | 173 | |
| 174 | 174 | function echouer_etape_3b($echec) { |
| 175 | - echo minipres( |
|
| 176 | - 'AUTO', |
|
| 177 | - info_progression_etape(3, 'etape_', 'install/', true) . |
|
| 178 | - "<div class='error'><h3>$echec</h3>\n" . |
|
| 179 | - '<p>' . _T('avis_connexion_echec_2') . '</p>' . |
|
| 180 | - '</div>' |
|
| 181 | - ); |
|
| 182 | - exit; |
|
| 175 | + echo minipres( |
|
| 176 | + 'AUTO', |
|
| 177 | + info_progression_etape(3, 'etape_', 'install/', true) . |
|
| 178 | + "<div class='error'><h3>$echec</h3>\n" . |
|
| 179 | + '<p>' . _T('avis_connexion_echec_2') . '</p>' . |
|
| 180 | + '</div>' |
|
| 181 | + ); |
|
| 182 | + exit; |
|
| 183 | 183 | } |
@@ -14,57 +14,57 @@ |
||
| 14 | 14 | |
| 15 | 15 | /** Vérification et hachage de mot de passe */ |
| 16 | 16 | class Password { |
| 17 | - /** |
|
| 18 | - * verifier qu'un mot de passe en clair est correct a l'aide de son hash |
|
| 19 | - * |
|
| 20 | - * Le mot de passe est poivre via la cle secret_des_auth |
|
| 21 | - * |
|
| 22 | - * @param string $password_clair |
|
| 23 | - * @param string $password_hash |
|
| 24 | - * @param string $key |
|
| 25 | - * @return bool |
|
| 26 | - */ |
|
| 27 | - public static function verifier( |
|
| 28 | - #[\SensitiveParameter] |
|
| 29 | - string $password_clair, |
|
| 30 | - #[\SensitiveParameter] |
|
| 31 | - string $password_hash, |
|
| 32 | - #[\SensitiveParameter] |
|
| 33 | - ?string $key = null |
|
| 34 | - ): bool { |
|
| 35 | - $key ??= self::getDefaultKey(); |
|
| 36 | - if ($key) { |
|
| 37 | - $pass_poivre = hash_hmac('sha256', $password_clair, $key); |
|
| 38 | - return password_verify($pass_poivre, $password_hash); |
|
| 39 | - } |
|
| 40 | - spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE); |
|
| 41 | - return false; |
|
| 42 | - } |
|
| 17 | + /** |
|
| 18 | + * verifier qu'un mot de passe en clair est correct a l'aide de son hash |
|
| 19 | + * |
|
| 20 | + * Le mot de passe est poivre via la cle secret_des_auth |
|
| 21 | + * |
|
| 22 | + * @param string $password_clair |
|
| 23 | + * @param string $password_hash |
|
| 24 | + * @param string $key |
|
| 25 | + * @return bool |
|
| 26 | + */ |
|
| 27 | + public static function verifier( |
|
| 28 | + #[\SensitiveParameter] |
|
| 29 | + string $password_clair, |
|
| 30 | + #[\SensitiveParameter] |
|
| 31 | + string $password_hash, |
|
| 32 | + #[\SensitiveParameter] |
|
| 33 | + ?string $key = null |
|
| 34 | + ): bool { |
|
| 35 | + $key ??= self::getDefaultKey(); |
|
| 36 | + if ($key) { |
|
| 37 | + $pass_poivre = hash_hmac('sha256', $password_clair, $key); |
|
| 38 | + return password_verify($pass_poivre, $password_hash); |
|
| 39 | + } |
|
| 40 | + spip_log('Aucune clé pour vérifier le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE); |
|
| 41 | + return false; |
|
| 42 | + } |
|
| 43 | 43 | |
| 44 | - /** |
|
| 45 | - * Calculer un hash salé du mot de passe |
|
| 46 | - * @param string $password_clair |
|
| 47 | - * @param string $salt |
|
| 48 | - * @return string |
|
| 49 | - */ |
|
| 50 | - public static function hacher( |
|
| 51 | - #[\SensitiveParameter] |
|
| 52 | - string $password_clair, |
|
| 53 | - #[\SensitiveParameter] |
|
| 54 | - ?string $key = null |
|
| 55 | - ): ?string { |
|
| 56 | - $key ??= self::getDefaultKey(); |
|
| 57 | - // ne pas fournir un hash errone si la cle nous manque |
|
| 58 | - if ($key) { |
|
| 59 | - $pass_poivre = hash_hmac('sha256', $password_clair, $key); |
|
| 60 | - return password_hash($pass_poivre, PASSWORD_DEFAULT); |
|
| 61 | - } |
|
| 62 | - spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE); |
|
| 63 | - return null; |
|
| 64 | - } |
|
| 44 | + /** |
|
| 45 | + * Calculer un hash salé du mot de passe |
|
| 46 | + * @param string $password_clair |
|
| 47 | + * @param string $salt |
|
| 48 | + * @return string |
|
| 49 | + */ |
|
| 50 | + public static function hacher( |
|
| 51 | + #[\SensitiveParameter] |
|
| 52 | + string $password_clair, |
|
| 53 | + #[\SensitiveParameter] |
|
| 54 | + ?string $key = null |
|
| 55 | + ): ?string { |
|
| 56 | + $key ??= self::getDefaultKey(); |
|
| 57 | + // ne pas fournir un hash errone si la cle nous manque |
|
| 58 | + if ($key) { |
|
| 59 | + $pass_poivre = hash_hmac('sha256', $password_clair, $key); |
|
| 60 | + return password_hash($pass_poivre, PASSWORD_DEFAULT); |
|
| 61 | + } |
|
| 62 | + spip_log('Aucune clé pour chiffrer le mot de passe', 'chiffrer' . _LOG_INFO_IMPORTANTE); |
|
| 63 | + return null; |
|
| 64 | + } |
|
| 65 | 65 | |
| 66 | - private static function getDefaultKey(): ?string { |
|
| 67 | - $keys = SpipCles::instance(); |
|
| 68 | - return $keys->getSecretAuth(); |
|
| 69 | - } |
|
| 66 | + private static function getDefaultKey(): ?string { |
|
| 67 | + $keys = SpipCles::instance(); |
|
| 68 | + return $keys->getSecretAuth(); |
|
| 69 | + } |
|
| 70 | 70 | } |
@@ -19,15 +19,15 @@ |
||
| 19 | 19 | * @package SPIP\Core\SQL\Upgrade |
| 20 | 20 | **/ |
| 21 | 21 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 22 | - return; |
|
| 22 | + return; |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | $GLOBALS['maj'][2021_02_18_00] = [ |
| 26 | - ['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ], |
|
| 27 | - ['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ], |
|
| 26 | + ['sql_alter', "TABLE spip_auteurs CHANGE imessage imessage VARCHAR(3) DEFAULT '' NOT NULL" ], |
|
| 27 | + ['sql_updateq', 'spip_auteurs', ['imessage' => 'oui'], "imessage != 'non' OR imessage IS NULL" ], |
|
| 28 | 28 | ]; |
| 29 | 29 | |
| 30 | 30 | $GLOBALS['maj'][2022_02_23_02] = [ |
| 31 | - ['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ], |
|
| 32 | - ['sql_delete', 'spip_meta', "nom='secret_du_site'" ], |
|
| 31 | + ['sql_alter', "TABLE spip_auteurs ADD backup_cles mediumtext DEFAULT '' NOT NULL" ], |
|
| 32 | + ['sql_delete', 'spip_meta', "nom='secret_du_site'" ], |
|
| 33 | 33 | ]; |