@@ -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' => 'Accueil', |
|
| 14 | - 'article' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles de cet auteur', |
|
| 17 | - 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | - 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | - 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | - 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 21 | - 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | - 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | - 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | - 'auteur' => 'Auteur', |
|
| 25 | - 'autres' => 'Autres', |
|
| 26 | - 'autres_breves' => 'Autres brèves', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | - 'autres_sites' => 'Autres sites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Salut', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenter ce site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | - 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | - 'derniers_articles' => 'Derniers articles', |
|
| 43 | - 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | - 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | - 'en_reponse' => 'En réponse à :', |
|
| 49 | - 'en_resume' => 'En résumé', |
|
| 50 | - 'envoyer_message' => 'Envoyer un message', |
|
| 51 | - 'espace_prive' => 'Espace privé', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'jours', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Se connecter', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Du même auteur', |
|
| 67 | - 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | - 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Messages', |
|
| 71 | - 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | - 'mots_clef' => 'Mot-clé', |
|
| 73 | - 'mots_clefs' => 'Mots-clés', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigation', |
|
| 78 | - 'nom' => 'Nom', |
|
| 79 | - 'nouveautes' => 'Les nouveautés', |
|
| 80 | - 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | - 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | - 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'page précédente', |
|
| 86 | - 'page_suivante' => 'page suivante', |
|
| 87 | - 'par_auteur' => 'par ', |
|
| 88 | - 'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.', |
|
| 89 | - 'plan_site' => 'Plan du site', |
|
| 90 | - 'popularite' => 'Popularité', |
|
| 91 | - 'poster_message' => 'Poster un message', |
|
| 92 | - 'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Répondre à cet article', |
|
| 96 | - 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | - 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | - 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | - 'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :', |
|
| 100 | - 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | - 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | - 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | - 'rubrique' => 'Rubrique', |
|
| 105 | - 'rubriques' => 'Rubriques', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | - 'sites_web' => 'Sites Web', |
|
| 111 | - 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'suite', |
|
| 114 | - 'sur_web' => 'Sur le Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | - 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | - 'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | - 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | - 'voir_squelette' => 'voir le squelette de cette page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Accueil', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles de cet auteur', |
|
| 17 | + 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | + 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | + 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | + 'aucun_auteur' => 'Il n’y a pas d’auteur à cette adresse', |
|
| 21 | + 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | + 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | + 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | + 'auteur' => 'Auteur', |
|
| 25 | + 'autres' => 'Autres', |
|
| 26 | + 'autres_breves' => 'Autres brèves', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | + 'autres_sites' => 'Autres sites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Salut', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenter ce site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | + 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | + 'derniers_articles' => 'Derniers articles', |
|
| 43 | + 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | + 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | + 'en_reponse' => 'En réponse à :', |
|
| 49 | + 'en_resume' => 'En résumé', |
|
| 50 | + 'envoyer_message' => 'Envoyer un message', |
|
| 51 | + 'espace_prive' => 'Espace privé', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'jours', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Se connecter', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Du même auteur', |
|
| 67 | + 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | + 'memes_auteurs' => 'Des mêmes auteurs', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Messages', |
|
| 71 | + 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | + 'mots_clef' => 'Mot-clé', |
|
| 73 | + 'mots_clefs' => 'Mots-clés', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigation', |
|
| 78 | + 'nom' => 'Nom', |
|
| 79 | + 'nouveautes' => 'Les nouveautés', |
|
| 80 | + 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | + 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | + 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'page précédente', |
|
| 86 | + 'page_suivante' => 'page suivante', |
|
| 87 | + 'par_auteur' => 'par ', |
|
| 88 | + 'participer_site' => 'Tu peux participer à la vie de ce site et proposer tes propres articles en t’inscrivant ci-dessous. Tu recevras immédiatement un email t’indiquant tes codes d’accès à l’espace privé du site.', |
|
| 89 | + 'plan_site' => 'Plan du site', |
|
| 90 | + 'popularite' => 'Popularité', |
|
| 91 | + 'poster_message' => 'Poster un message', |
|
| 92 | + 'proposer_site' => 'Tu peux proposer un site à ajouter dans cette rubrique :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Répondre à cet article', |
|
| 96 | + 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | + 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | + 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | + 'rss_abonnement' => 'Copie l’URL suivante dans ton agrégateur :', |
|
| 100 | + 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | + 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | + 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | + 'rubrique' => 'Rubrique', |
|
| 105 | + 'rubriques' => 'Rubriques', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | + 'sites_web' => 'Sites Web', |
|
| 111 | + 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'suite', |
|
| 114 | + 'sur_web' => 'Sur le Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | + 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | + 'texte_lettre_information_2' => 'Cette lettre recense les articles et les brèves publiés depuis', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | + 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | + 'voir_squelette' => 'voir le squelette de cette page' |
|
| 126 | 126 | ); |
@@ -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' => 'Home', |
|
| 14 | - 'article' => 'Articolo', |
|
| 15 | - 'articles' => 'Articoli', |
|
| 16 | - 'articles_auteur' => 'Articoli di questo autore', |
|
| 17 | - 'articles_populaires' => 'Articoli più letti', |
|
| 18 | - 'articles_rubrique' => 'Articoli di questa rubrica', |
|
| 19 | - 'aucun_article' => 'Non ci sono articoli a questo indirizzo', |
|
| 20 | - 'aucun_auteur' => 'Non ci sono autori a questo indirizzo', |
|
| 21 | - 'aucun_site' => 'Non ci sono siti a questo indirizzo', |
|
| 22 | - 'aucune_breve' => 'Non ci sono brevi a questo indirizzo', |
|
| 23 | - 'aucune_rubrique' => 'Non ci sono rubriche a questo indirizzo', |
|
| 24 | - 'auteur' => 'Autore', |
|
| 25 | - 'autres' => 'Altri', |
|
| 26 | - 'autres_breves' => 'Altre brevi', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Altri gruppi di parole chiave', |
|
| 28 | - 'autres_sites' => 'Altri siti', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Salve', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenta questo sito', |
|
| 35 | - 'contact' => 'Contatti', |
|
| 36 | - 'copie_document_impossible' => 'Impossibile copiare il documento', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Data', |
|
| 40 | - 'dernier_ajout' => 'Ultimo aggiornamento', |
|
| 41 | - 'dernieres_breves' => 'Ultime brevi', |
|
| 42 | - 'derniers_articles' => 'Ultimi articoli', |
|
| 43 | - 'derniers_commentaires' => 'Ultimi commenti', |
|
| 44 | - 'derniers_messages_forum' => 'Ultimi messaggi pubblicati nei forum', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Versione solo testo di', |
|
| 48 | - 'en_reponse' => 'In risposta a:', |
|
| 49 | - 'en_resume' => 'Riassunto', |
|
| 50 | - 'envoyer_message' => 'Invia un messaggio', |
|
| 51 | - 'espace_prive' => 'Area riservata', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formati accettati: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Mappa del sito', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'giorni', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Connettersi', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Dello stesso autore', |
|
| 67 | - 'meme_rubrique' => 'Nella stessa rubrica', |
|
| 68 | - 'memes_auteurs' => 'Degli stessi autori', |
|
| 69 | - 'message' => 'Messaggio', |
|
| 70 | - 'messages_forum' => 'Messaggi', |
|
| 71 | - 'messages_recents' => 'Messaggi più recenti del forum', |
|
| 72 | - 'mots_clef' => 'Parola chiave', |
|
| 73 | - 'mots_clefs' => 'Parole chiave', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Parole chiave nello stesso gruppo', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigazione', |
|
| 78 | - 'nom' => 'Cognome', |
|
| 79 | - 'nouveautes' => 'Le novità', |
|
| 80 | - 'nouveautes_web' => 'Novità sul Web', |
|
| 81 | - 'nouveaux_articles' => 'Nuovi articoli', |
|
| 82 | - 'nouvelles_breves' => 'Nuove brevi', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'pagina precedente', |
|
| 86 | - 'page_suivante' => 'pagina successiva', |
|
| 87 | - 'par_auteur' => 'di ', |
|
| 88 | - 'participer_site' => 'È possibile partecipare alla vita di questo sito e proporre degli articoli iscrivendosi qui sotto. Verrà spedito immediatamente un email con il codice di accesso all’area riservata del sito.', |
|
| 89 | - 'plan_site' => 'Mappa del sito', |
|
| 90 | - 'popularite' => 'Popolarità', |
|
| 91 | - 'poster_message' => 'Inviare un messaggio', |
|
| 92 | - 'proposer_site' => 'È possibile proporre un sito da aggiungere a questa rubrica:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Rispondere all’articolo', |
|
| 96 | - 'repondre_breve' => 'Rispondere a questa breve', |
|
| 97 | - 'resultats_recherche' => 'Risultati della ricerca', |
|
| 98 | - 'retour_debut_forums' => 'Tornare all’inizio dei forum', |
|
| 99 | - 'rss_abonnement' => 'Copia il seguente URL nel tuo aggregatore RSS:', |
|
| 100 | - 'rss_abonnement_titre' => 'Sottoscrivi', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Per sottoscrivere', |
|
| 102 | - 'rss_explication' => 'Un feed RSS raccoglie informazioni di aggiornamento per un sito. Fornisce il contenuto dei post o dei commenti o un estratto da essi, nonché un collegamento alle versioni complete e alcune altre informazioni. Questo feed deve essere letto da un aggregatore RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Cos’è un flusso RSS?', |
|
| 104 | - 'rubrique' => 'Rubrica', |
|
| 105 | - 'rubriques' => 'Rubriche', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Firme', |
|
| 109 | - 'site_realise_avec_spip' => 'Sito realizzato con SPIP', |
|
| 110 | - 'sites_web' => 'Siti Web', |
|
| 111 | - 'sous_rubriques' => 'Sottorubriche', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'segue', |
|
| 114 | - 'sur_web' => 'Sul Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Mettere in syndication questa rubrica', |
|
| 116 | - 'syndiquer_site' => 'Mettere in syndication tutto il sito', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Newsletter del sito', |
|
| 120 | - 'texte_lettre_information_2' => 'Questo sito contiene articoli pubblicati a partire dal ', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Versione per la stampa', |
|
| 124 | - 'voir_en_ligne' => 'Vedi on line', |
|
| 125 | - 'voir_squelette' => 'visualizza il modello di questa pagina' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Home', |
|
| 14 | + 'article' => 'Articolo', |
|
| 15 | + 'articles' => 'Articoli', |
|
| 16 | + 'articles_auteur' => 'Articoli di questo autore', |
|
| 17 | + 'articles_populaires' => 'Articoli più letti', |
|
| 18 | + 'articles_rubrique' => 'Articoli di questa rubrica', |
|
| 19 | + 'aucun_article' => 'Non ci sono articoli a questo indirizzo', |
|
| 20 | + 'aucun_auteur' => 'Non ci sono autori a questo indirizzo', |
|
| 21 | + 'aucun_site' => 'Non ci sono siti a questo indirizzo', |
|
| 22 | + 'aucune_breve' => 'Non ci sono brevi a questo indirizzo', |
|
| 23 | + 'aucune_rubrique' => 'Non ci sono rubriche a questo indirizzo', |
|
| 24 | + 'auteur' => 'Autore', |
|
| 25 | + 'autres' => 'Altri', |
|
| 26 | + 'autres_breves' => 'Altre brevi', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Altri gruppi di parole chiave', |
|
| 28 | + 'autres_sites' => 'Altri siti', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Salve', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenta questo sito', |
|
| 35 | + 'contact' => 'Contatti', |
|
| 36 | + 'copie_document_impossible' => 'Impossibile copiare il documento', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Data', |
|
| 40 | + 'dernier_ajout' => 'Ultimo aggiornamento', |
|
| 41 | + 'dernieres_breves' => 'Ultime brevi', |
|
| 42 | + 'derniers_articles' => 'Ultimi articoli', |
|
| 43 | + 'derniers_commentaires' => 'Ultimi commenti', |
|
| 44 | + 'derniers_messages_forum' => 'Ultimi messaggi pubblicati nei forum', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Versione solo testo di', |
|
| 48 | + 'en_reponse' => 'In risposta a:', |
|
| 49 | + 'en_resume' => 'Riassunto', |
|
| 50 | + 'envoyer_message' => 'Invia un messaggio', |
|
| 51 | + 'espace_prive' => 'Area riservata', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formati accettati: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Mappa del sito', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'giorni', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Connettersi', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Dello stesso autore', |
|
| 67 | + 'meme_rubrique' => 'Nella stessa rubrica', |
|
| 68 | + 'memes_auteurs' => 'Degli stessi autori', |
|
| 69 | + 'message' => 'Messaggio', |
|
| 70 | + 'messages_forum' => 'Messaggi', |
|
| 71 | + 'messages_recents' => 'Messaggi più recenti del forum', |
|
| 72 | + 'mots_clef' => 'Parola chiave', |
|
| 73 | + 'mots_clefs' => 'Parole chiave', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Parole chiave nello stesso gruppo', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigazione', |
|
| 78 | + 'nom' => 'Cognome', |
|
| 79 | + 'nouveautes' => 'Le novità', |
|
| 80 | + 'nouveautes_web' => 'Novità sul Web', |
|
| 81 | + 'nouveaux_articles' => 'Nuovi articoli', |
|
| 82 | + 'nouvelles_breves' => 'Nuove brevi', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'pagina precedente', |
|
| 86 | + 'page_suivante' => 'pagina successiva', |
|
| 87 | + 'par_auteur' => 'di ', |
|
| 88 | + 'participer_site' => 'È possibile partecipare alla vita di questo sito e proporre degli articoli iscrivendosi qui sotto. Verrà spedito immediatamente un email con il codice di accesso all’area riservata del sito.', |
|
| 89 | + 'plan_site' => 'Mappa del sito', |
|
| 90 | + 'popularite' => 'Popolarità', |
|
| 91 | + 'poster_message' => 'Inviare un messaggio', |
|
| 92 | + 'proposer_site' => 'È possibile proporre un sito da aggiungere a questa rubrica:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Rispondere all’articolo', |
|
| 96 | + 'repondre_breve' => 'Rispondere a questa breve', |
|
| 97 | + 'resultats_recherche' => 'Risultati della ricerca', |
|
| 98 | + 'retour_debut_forums' => 'Tornare all’inizio dei forum', |
|
| 99 | + 'rss_abonnement' => 'Copia il seguente URL nel tuo aggregatore RSS:', |
|
| 100 | + 'rss_abonnement_titre' => 'Sottoscrivi', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Per sottoscrivere', |
|
| 102 | + 'rss_explication' => 'Un feed RSS raccoglie informazioni di aggiornamento per un sito. Fornisce il contenuto dei post o dei commenti o un estratto da essi, nonché un collegamento alle versioni complete e alcune altre informazioni. Questo feed deve essere letto da un aggregatore RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Cos’è un flusso RSS?', |
|
| 104 | + 'rubrique' => 'Rubrica', |
|
| 105 | + 'rubriques' => 'Rubriche', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Firme', |
|
| 109 | + 'site_realise_avec_spip' => 'Sito realizzato con SPIP', |
|
| 110 | + 'sites_web' => 'Siti Web', |
|
| 111 | + 'sous_rubriques' => 'Sottorubriche', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'segue', |
|
| 114 | + 'sur_web' => 'Sul Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Mettere in syndication questa rubrica', |
|
| 116 | + 'syndiquer_site' => 'Mettere in syndication tutto il sito', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Newsletter del sito', |
|
| 120 | + 'texte_lettre_information_2' => 'Questo sito contiene articoli pubblicati a partire dal ', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Versione per la stampa', |
|
| 124 | + 'voir_en_ligne' => 'Vedi on line', |
|
| 125 | + 'voir_squelette' => 'visualizza il modello di questa pagina' |
|
| 126 | 126 | ); |
@@ -4,436 +4,436 @@ 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 | - 'activer_plugin' => 'Activer le plugin', |
|
| 14 | - 'affichage' => 'Affichage', |
|
| 15 | - 'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.', |
|
| 16 | - 'annuler_recherche' => 'Annuler la recherche', |
|
| 17 | - 'auteur' => 'Autrice :', |
|
| 18 | - 'avis_acces_interdit' => 'Accès interdit.', |
|
| 19 | - 'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.', |
|
| 20 | - 'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 21 | - 'avis_aucun_resultat' => 'Aucun résultat.', |
|
| 22 | - 'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.', |
|
| 23 | - 'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi', |
|
| 24 | - 'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.', |
|
| 25 | - 'avis_connexion_echec_1' => 'La connexion à la base de données a échoué.', |
|
| 26 | - 'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 27 | - 'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.', |
|
| 28 | - 'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.', |
|
| 29 | - 'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets', |
|
| 30 | - 'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.', |
|
| 31 | - 'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 32 | - 'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisatrices.', |
|
| 33 | - 'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.', |
|
| 34 | - 'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL', |
|
| 35 | - 'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>', |
|
| 36 | - 'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.', |
|
| 37 | - 'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée |
|
| 12 | + // A |
|
| 13 | + 'activer_plugin' => 'Activer le plugin', |
|
| 14 | + 'affichage' => 'Affichage', |
|
| 15 | + 'aide_non_disponible' => 'Cette partie de l’aide en ligne n’est pas encore disponible dans cette langue.', |
|
| 16 | + 'annuler_recherche' => 'Annuler la recherche', |
|
| 17 | + 'auteur' => 'Autrice :', |
|
| 18 | + 'avis_acces_interdit' => 'Accès interdit.', |
|
| 19 | + 'avis_acces_interdit_prive' => 'Vous n’avez pas le droit d’accéder à la page <b>@exec@</b>.', |
|
| 20 | + 'avis_article_modifie' => 'Attention, @nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 21 | + 'avis_aucun_resultat' => 'Aucun résultat.', |
|
| 22 | + 'avis_base_inaccessible' => 'Impossible de se connecter à la base de données @base@.', |
|
| 23 | + 'avis_chemin_invalide_1' => 'Le chemin que vous avez choisi', |
|
| 24 | + 'avis_chemin_invalide_2' => 'ne semble pas valide. Veuillez retourner à la page précédente et vérifier les informations fournies.', |
|
| 25 | + 'avis_connexion_echec_1' => 'La connexion à la base de données a échoué.', |
|
| 26 | + 'avis_connexion_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 27 | + 'avis_connexion_echec_3' => '<b>N.B.</b> Sur de nombreux serveurs, vous devez <b>demander</b> l’activation de votre accès à la base de données avant de pouvoir l’utiliser. Si vous ne pouvez vous connecter, vérifiez que vous avez effectué cette démarche.', |
|
| 28 | + 'avis_connexion_erreur_creer_base' => 'La base de données n’a pas pu être créée.', |
|
| 29 | + 'avis_connexion_erreur_nom_base' => 'Le nom de la base ne peut contenir que des lettres, des chiffres et des tirets', |
|
| 30 | + 'avis_connexion_ldap_echec_1' => 'La connexion au serveur LDAP a échoué.', |
|
| 31 | + 'avis_connexion_ldap_echec_2' => 'Revenez à la page précédente, et vérifiez les informations que vous avez fournies.', |
|
| 32 | + 'avis_connexion_ldap_echec_3' => 'Alternativement, n’utilisez pas le support LDAP pour importer des utilisatrices.', |
|
| 33 | + 'avis_deplacement_rubrique' => 'Attention ! Cette rubrique contient @contient_breves@ brève@scb@ : si vous la déplacez, veuillez cocher cette case de confirmation.', |
|
| 34 | + 'avis_erreur_connexion_mysql' => 'Erreur de connexion SQL', |
|
| 35 | + 'avis_espace_interdit' => '<b>Espace interdit</b> <div>SPIP est déjà installé.</div>', |
|
| 36 | + 'avis_lecture_noms_bases_1' => 'Le programme d’installation n’a pas pu lire les noms des bases de données installées.', |
|
| 37 | + 'avis_lecture_noms_bases_2' => 'Soit aucune base n’est disponible, soit la fonction permettant de lister les bases a été désactivée |
|
| 38 | 38 | pour des raisons de sécurité (ce qui est le cas chez de nombreux hébergeurs).', |
| 39 | - 'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :', |
|
| 40 | - 'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.', |
|
| 41 | - 'avis_operation_echec' => 'L’opération a échoué.', |
|
| 42 | - 'avis_operation_impossible' => 'Opération impossible', |
|
| 43 | - 'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible', |
|
| 39 | + 'avis_lecture_noms_bases_3' => 'Dans la seconde alternative, il est probable qu’une base portant votre nom de login soit utilisable :', |
|
| 40 | + 'avis_non_acces_page' => 'Vous n’avez pas accès à cette page.', |
|
| 41 | + 'avis_operation_echec' => 'L’opération a échoué.', |
|
| 42 | + 'avis_operation_impossible' => 'Opération impossible', |
|
| 43 | + 'avis_suppression_base' => 'ATTENTION, la suppression des données est irréversible', |
|
| 44 | 44 | |
| 45 | - // B |
|
| 46 | - 'bouton_acces_ldap' => 'Ajouter l’accès à LDAP', |
|
| 47 | - 'bouton_ajouter' => 'Ajouter', |
|
| 48 | - 'bouton_annuler' => 'Annuler', |
|
| 49 | - 'bouton_cache_activer' => 'Réactiver le cache', |
|
| 50 | - 'bouton_cache_desactiver' => 'Désactiver temporairement le cache', |
|
| 51 | - 'bouton_demande_publication' => 'Demander la publication de cet article', |
|
| 52 | - 'bouton_desactive_tout' => 'Tout désactiver', |
|
| 53 | - 'bouton_desinstaller' => 'Désinstaller', |
|
| 54 | - 'bouton_effacer_tout' => 'Effacer TOUT', |
|
| 55 | - 'bouton_envoyer_message' => 'Message définitif : envoyer', |
|
| 56 | - 'bouton_fermer' => 'Fermer', |
|
| 57 | - 'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données', |
|
| 58 | - 'bouton_modifier' => 'Modifier', |
|
| 59 | - 'bouton_radio_afficher' => 'Afficher', |
|
| 60 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédactrices connectées', |
|
| 61 | - 'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :', |
|
| 62 | - 'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés', |
|
| 63 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédactrices', |
|
| 64 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales', |
|
| 65 | - 'bouton_redirection' => 'REDIRECTION', |
|
| 66 | - 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut', |
|
| 67 | - 'bouton_relancer_inscription' => 'Relancer l’inscription', |
|
| 68 | - 'bouton_relancer_inscriptions' => 'Relancer les inscriptions', |
|
| 69 | - 'bouton_relancer_installation' => 'Relancer l’installation', |
|
| 70 | - 'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email', |
|
| 71 | - 'bouton_suivant' => 'Suivant', |
|
| 72 | - 'bouton_tenter_recuperation' => 'Tenter une réparation', |
|
| 73 | - 'bouton_test_proxy' => 'Essayer le proxy', |
|
| 74 | - 'bouton_vider_cache' => 'Vider le cache', |
|
| 45 | + // B |
|
| 46 | + 'bouton_acces_ldap' => 'Ajouter l’accès à LDAP', |
|
| 47 | + 'bouton_ajouter' => 'Ajouter', |
|
| 48 | + 'bouton_annuler' => 'Annuler', |
|
| 49 | + 'bouton_cache_activer' => 'Réactiver le cache', |
|
| 50 | + 'bouton_cache_desactiver' => 'Désactiver temporairement le cache', |
|
| 51 | + 'bouton_demande_publication' => 'Demander la publication de cet article', |
|
| 52 | + 'bouton_desactive_tout' => 'Tout désactiver', |
|
| 53 | + 'bouton_desinstaller' => 'Désinstaller', |
|
| 54 | + 'bouton_effacer_tout' => 'Effacer TOUT', |
|
| 55 | + 'bouton_envoyer_message' => 'Message définitif : envoyer', |
|
| 56 | + 'bouton_fermer' => 'Fermer', |
|
| 57 | + 'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données', |
|
| 58 | + 'bouton_modifier' => 'Modifier', |
|
| 59 | + 'bouton_radio_afficher' => 'Afficher', |
|
| 60 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Apparaître dans la liste des rédactrices connectées', |
|
| 61 | + 'bouton_radio_envoi_annonces_adresse' => 'Envoyer les annonces à l’adresse :', |
|
| 62 | + 'bouton_radio_envoi_liste_nouveautes' => 'Envoyer la liste des nouveautés', |
|
| 63 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne pas apparaître dans la liste des rédactrices', |
|
| 64 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne pas envoyer d’annonces éditoriales', |
|
| 65 | + 'bouton_redirection' => 'REDIRECTION', |
|
| 66 | + 'bouton_reinitialiser_aux_valeurs_par_defaut' => 'Réinitialiser aux valeurs par défaut', |
|
| 67 | + 'bouton_relancer_inscription' => 'Relancer l’inscription', |
|
| 68 | + 'bouton_relancer_inscriptions' => 'Relancer les inscriptions', |
|
| 69 | + 'bouton_relancer_installation' => 'Relancer l’installation', |
|
| 70 | + 'bouton_reset_password' => 'Générer un nouveau mot de passe et l’envoyer par email', |
|
| 71 | + 'bouton_suivant' => 'Suivant', |
|
| 72 | + 'bouton_tenter_recuperation' => 'Tenter une réparation', |
|
| 73 | + 'bouton_test_proxy' => 'Essayer le proxy', |
|
| 74 | + 'bouton_vider_cache' => 'Vider le cache', |
|
| 75 | 75 | |
| 76 | - // C |
|
| 77 | - 'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par la webmestre du site.', |
|
| 78 | - 'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.', |
|
| 79 | - 'config_activer_champs' => 'Activer les champs suivants', |
|
| 80 | - 'config_choix_base_sup' => 'indiquer une base sur ce serveur', |
|
| 81 | - 'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles', |
|
| 82 | - 'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.', |
|
| 83 | - 'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :', |
|
| 84 | - 'config_info_enregistree' => 'La nouvelle configuration a été enregistrée', |
|
| 85 | - 'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »', |
|
| 86 | - 'config_info_logos_utiliser' => 'Utiliser les logos', |
|
| 87 | - 'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos', |
|
| 88 | - 'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol', |
|
| 89 | - 'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol', |
|
| 90 | - 'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.', |
|
| 91 | - 'config_redirection' => 'Articles virtuels', |
|
| 92 | - 'config_titre_base_sup' => 'Déclaration d’une base supplémentaire', |
|
| 93 | - 'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire', |
|
| 94 | - 'connexion_ldap' => 'Connexion :', |
|
| 95 | - 'creer_et_associer_un_auteur' => 'Créer et associer une autrice', |
|
| 76 | + // C |
|
| 77 | + 'cache_modifiable_webmestre' => 'Ce paramètre est modifiable par la webmestre du site.', |
|
| 78 | + 'calendrier_synchro' => 'Si vous utilisez un logiciel d’agenda compatible <b>iCal</b>, vous pouvez le synchroniser avec les informations de ce site.', |
|
| 79 | + 'config_activer_champs' => 'Activer les champs suivants', |
|
| 80 | + 'config_choix_base_sup' => 'indiquer une base sur ce serveur', |
|
| 81 | + 'config_erreur_base_sup' => 'SPIP n’a pas accès à la liste des bases accessibles', |
|
| 82 | + 'config_info_base_sup' => 'Si vous avez d’autres bases de données à interroger à travers SPIP, avec son serveur SQL ou avec un autre, le formulaire ci-dessous, vous permet de les déclarer. Si vous laissez certains champs vides, les identifiants de connexion à la base principale seront utilisés.', |
|
| 83 | + 'config_info_base_sup_disponibles' => 'Bases supplémentaires déjà interrogeables :', |
|
| 84 | + 'config_info_enregistree' => 'La nouvelle configuration a été enregistrée', |
|
| 85 | + 'config_info_logos' => 'Chaque élément du site peut avoir un logo, ainsi qu’un « logo de survol »', |
|
| 86 | + 'config_info_logos_utiliser' => 'Utiliser les logos', |
|
| 87 | + 'config_info_logos_utiliser_non' => 'Ne pas utiliser les logos', |
|
| 88 | + 'config_info_logos_utiliser_survol' => 'Utiliser les logos de survol', |
|
| 89 | + 'config_info_logos_utiliser_survol_non' => 'Ne pas utiliser les logos de survol', |
|
| 90 | + 'config_info_redirection' => 'En activant cette option, vous pourrez créer des articles virtuels, simples références d’articles publiés sur d’autres sites ou hors de SPIP.', |
|
| 91 | + 'config_redirection' => 'Articles virtuels', |
|
| 92 | + 'config_titre_base_sup' => 'Déclaration d’une base supplémentaire', |
|
| 93 | + 'config_titre_base_sup_choix' => 'Choisissez une base supplémentaire', |
|
| 94 | + 'connexion_ldap' => 'Connexion :', |
|
| 95 | + 'creer_et_associer_un_auteur' => 'Créer et associer une autrice', |
|
| 96 | 96 | |
| 97 | - // D |
|
| 98 | - 'date_mot_heures' => 'heures', |
|
| 97 | + // D |
|
| 98 | + 'date_mot_heures' => 'heures', |
|
| 99 | 99 | |
| 100 | - // E |
|
| 101 | - 'ecran_connexion_couleur_principale' => 'Couleur principale', |
|
| 102 | - 'ecran_connexion_image_fond' => 'Image de fond', |
|
| 103 | - 'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)', |
|
| 104 | - 'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut', |
|
| 105 | - 'ecran_connexion_titre' => 'Écran de connexion', |
|
| 106 | - 'ecran_securite' => ' + écran de sécurité @version@', |
|
| 107 | - 'email' => 'email', |
|
| 108 | - 'email_2' => 'email :', |
|
| 109 | - 'en_savoir_plus' => 'En savoir plus', |
|
| 110 | - 'entree_adresse_annuaire' => 'Adresse de l’annuaire', |
|
| 111 | - 'entree_adresse_email' => 'Votre adresse email', |
|
| 112 | - 'entree_adresse_email_2' => 'Adresse email', |
|
| 113 | - 'entree_base_donnee_1' => 'Adresse de la base de données', |
|
| 114 | - 'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)', |
|
| 115 | - 'entree_biographie' => 'Courte biographie en quelques mots.', |
|
| 116 | - 'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :', |
|
| 117 | - 'entree_cle_pgp' => 'Votre clé PGP', |
|
| 118 | - 'entree_cle_pgp_2' => 'Clé PGP', |
|
| 119 | - 'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)', |
|
| 120 | - 'entree_identifiants_connexion' => 'Vos identifiants de connexion...', |
|
| 121 | - 'entree_identifiants_connexion_2' => 'Identifiants de connexion', |
|
| 122 | - 'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP. |
|
| 100 | + // E |
|
| 101 | + 'ecran_connexion_couleur_principale' => 'Couleur principale', |
|
| 102 | + 'ecran_connexion_image_fond' => 'Image de fond', |
|
| 103 | + 'ecran_connexion_image_fond_explication' => 'Utiliser une image (format JPEG, 1920x1080 pixels)', |
|
| 104 | + 'ecran_connexion_image_revenir_couleur_defaut' => 'Revenir à la couleur par défaut', |
|
| 105 | + 'ecran_connexion_titre' => 'Écran de connexion', |
|
| 106 | + 'ecran_securite' => ' + écran de sécurité @version@', |
|
| 107 | + 'email' => 'email', |
|
| 108 | + 'email_2' => 'email :', |
|
| 109 | + 'en_savoir_plus' => 'En savoir plus', |
|
| 110 | + 'entree_adresse_annuaire' => 'Adresse de l’annuaire', |
|
| 111 | + 'entree_adresse_email' => 'Votre adresse email', |
|
| 112 | + 'entree_adresse_email_2' => 'Adresse email', |
|
| 113 | + 'entree_base_donnee_1' => 'Adresse de la base de données', |
|
| 114 | + 'entree_base_donnee_2' => '(Souvent cette adresse correspond à celle de votre site, parfois elle correspond à la mention « localhost », parfois elle est laissée totalement vide.)', |
|
| 115 | + 'entree_biographie' => 'Courte biographie en quelques mots.', |
|
| 116 | + 'entree_chemin_acces' => '<b>Entrer</b> le chemin d’accès :', |
|
| 117 | + 'entree_cle_pgp' => 'Votre clé PGP', |
|
| 118 | + 'entree_cle_pgp_2' => 'Clé PGP', |
|
| 119 | + 'entree_contenu_rubrique' => '(Contenu de la rubrique en quelques mots.)', |
|
| 120 | + 'entree_identifiants_connexion' => 'Vos identifiants de connexion...', |
|
| 121 | + 'entree_identifiants_connexion_2' => 'Identifiants de connexion', |
|
| 122 | + 'entree_informations_connexion_ldap' => 'Veuillez entrer dans ce formulaire les informations de connexion à votre annuaire LDAP. |
|
| 123 | 123 | Ces informations doivent pouvoir vous être fournies par l’administratrice du système, |
| 124 | 124 | ou du réseau.', |
| 125 | - 'entree_infos_perso' => 'Qui êtes-vous ?', |
|
| 126 | - 'entree_infos_perso_2' => 'Qui est l’autrice ?', |
|
| 127 | - 'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :', |
|
| 128 | - 'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)', |
|
| 129 | - 'entree_login' => 'Votre login', |
|
| 130 | - 'entree_login_connexion_1' => 'Le login de connexion', |
|
| 131 | - 'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)', |
|
| 132 | - 'entree_mot_passe' => 'Votre mot de passe', |
|
| 133 | - 'entree_mot_passe_1' => 'Le mot de passe de connexion', |
|
| 134 | - 'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)', |
|
| 135 | - 'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :', |
|
| 136 | - 'entree_nom_pseudo' => 'Votre nom ou votre pseudo', |
|
| 137 | - 'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)', |
|
| 138 | - 'entree_nom_pseudo_2' => 'Nom ou pseudo', |
|
| 139 | - 'entree_nom_site' => 'Le nom de votre site', |
|
| 140 | - 'entree_nom_site_2' => 'Nom du site de l’autrice', |
|
| 141 | - 'entree_nouveau_passe' => 'Nouveau mot de passe', |
|
| 142 | - 'entree_passe_ldap' => 'Mot de passe', |
|
| 143 | - 'entree_port_annuaire' => 'Le numéro de port de l’annuaire', |
|
| 144 | - 'entree_signature' => 'Signature', |
|
| 145 | - 'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />', |
|
| 146 | - 'entree_url' => 'L’adresse (URL) de votre site', |
|
| 147 | - 'entree_url_2' => 'Adresse (URL) du site', |
|
| 148 | - 'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom', |
|
| 149 | - 'erreur_contenu_suspect' => 'Texte échappé', |
|
| 150 | - 'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.', |
|
| 151 | - 'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé', |
|
| 152 | - 'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.', |
|
| 153 | - 'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.', |
|
| 154 | - 'erreur_plugin_fichier_absent' => 'Fichier absent', |
|
| 155 | - 'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent', |
|
| 156 | - 'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit', |
|
| 157 | - 'erreur_plugin_nom_manquant' => 'Nom du plugin manquant', |
|
| 158 | - 'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini', |
|
| 159 | - 'erreur_plugin_tag_plugin_absent' => '<plugin> manquant dans le fichier de définition', |
|
| 160 | - 'erreur_plugin_version_manquant' => 'Version du plugin manquante', |
|
| 161 | - 'erreur_type_fichier' => 'Type de fichier incorrect', |
|
| 125 | + 'entree_infos_perso' => 'Qui êtes-vous ?', |
|
| 126 | + 'entree_infos_perso_2' => 'Qui est l’autrice ?', |
|
| 127 | + 'entree_interieur_rubrique' => 'À l’intérieur de la rubrique :', |
|
| 128 | + 'entree_liens_sites' => '<b>Lien hypertexte</b> (référence, site à visiter...)', |
|
| 129 | + 'entree_login' => 'Votre login', |
|
| 130 | + 'entree_login_connexion_1' => 'Le login de connexion', |
|
| 131 | + 'entree_login_connexion_2' => '(Correspond parfois à votre login d’accès au FTP ; parfois laissé vide)', |
|
| 132 | + 'entree_mot_passe' => 'Votre mot de passe', |
|
| 133 | + 'entree_mot_passe_1' => 'Le mot de passe de connexion', |
|
| 134 | + 'entree_mot_passe_2' => '(Correspond parfois à votre mot de passe pour le FTP ; parfois laissé vide)', |
|
| 135 | + 'entree_nom_fichier' => 'Veuillez entrer le nom du fichier @texte_compresse@ :', |
|
| 136 | + 'entree_nom_pseudo' => 'Votre nom ou votre pseudo', |
|
| 137 | + 'entree_nom_pseudo_1' => '(Votre nom ou votre pseudo)', |
|
| 138 | + 'entree_nom_pseudo_2' => 'Nom ou pseudo', |
|
| 139 | + 'entree_nom_site' => 'Le nom de votre site', |
|
| 140 | + 'entree_nom_site_2' => 'Nom du site de l’autrice', |
|
| 141 | + 'entree_nouveau_passe' => 'Nouveau mot de passe', |
|
| 142 | + 'entree_passe_ldap' => 'Mot de passe', |
|
| 143 | + 'entree_port_annuaire' => 'Le numéro de port de l’annuaire', |
|
| 144 | + 'entree_signature' => 'Signature', |
|
| 145 | + 'entree_titre_obligatoire' => '<b>Titre</b> [Obligatoire]<br />', |
|
| 146 | + 'entree_url' => 'L’adresse (URL) de votre site', |
|
| 147 | + 'entree_url_2' => 'Adresse (URL) du site', |
|
| 148 | + 'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom', |
|
| 149 | + 'erreur_contenu_suspect' => 'Texte échappé', |
|
| 150 | + 'erreur_email_deja_existant' => 'Cette adresse email est déjà enregistrée.', |
|
| 151 | + 'erreur_nom_connect_incorrect' => 'Ce nom de serveur n’est pas autorisé', |
|
| 152 | + 'erreur_plugin_attribut_balise_manquant' => 'Attribut @attribut@ manquant dans la balise @balise@.', |
|
| 153 | + 'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a échoué. Vous pouvez néanmoins le désactiver.', |
|
| 154 | + 'erreur_plugin_fichier_absent' => 'Fichier absent', |
|
| 155 | + 'erreur_plugin_fichier_def_absent' => 'Fichier de définition absent', |
|
| 156 | + 'erreur_plugin_nom_fonction_interdit' => 'Nom de fonction interdit', |
|
| 157 | + 'erreur_plugin_nom_manquant' => 'Nom du plugin manquant', |
|
| 158 | + 'erreur_plugin_prefix_manquant' => 'Espace de nommage du plugin non défini', |
|
| 159 | + 'erreur_plugin_tag_plugin_absent' => '<plugin> manquant dans le fichier de définition', |
|
| 160 | + 'erreur_plugin_version_manquant' => 'Version du plugin manquante', |
|
| 161 | + 'erreur_type_fichier' => 'Type de fichier incorrect', |
|
| 162 | 162 | |
| 163 | - // H |
|
| 164 | - 'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.', |
|
| 165 | - 'htaccess_inoperant' => 'htaccess inopérant', |
|
| 163 | + // H |
|
| 164 | + 'htaccess_a_simuler' => 'Avertissement : la configuration de votre serveur HTTP ne tient pas compte des fichiers @htaccess@. Pour pouvoir assurer une bonne sécurité, il faut que vous modifiiez cette configuration sur ce point, ou bien que les constantes @constantes@ (définissables dans le fichier mes_options.php) aient comme valeur des répertoires en dehors de @document_root@.', |
|
| 165 | + 'htaccess_inoperant' => 'htaccess inopérant', |
|
| 166 | 166 | |
| 167 | - // I |
|
| 168 | - 'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.', |
|
| 169 | - 'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.', |
|
| 170 | - 'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.', |
|
| 171 | - 'ical_methode_http' => 'Téléchargement', |
|
| 172 | - 'ical_methode_webcal' => 'Synchronisation (webcal://)', |
|
| 173 | - 'ical_texte_js' => 'Une ligne de javascript vous permet d’afficher très simplement, sur n’importe quel site vous appartenant, les articles récents publiés sur ce site.', |
|
| 174 | - 'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).', |
|
| 175 | - 'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).', |
|
| 176 | - 'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).', |
|
| 177 | - 'ical_titre_js' => 'Javascript', |
|
| 178 | - 'ical_titre_mailing' => 'Mailing-list', |
|
| 179 | - 'ical_titre_rss' => 'Fichiers de syndication', |
|
| 180 | - 'icone_accueil' => 'Accueil', |
|
| 181 | - 'icone_activer_cookie' => 'Activer le cookie de correspondance', |
|
| 182 | - 'icone_activite' => 'Activité', |
|
| 183 | - 'icone_admin_plugin' => 'Gestion des plugins', |
|
| 184 | - 'icone_administration' => 'Maintenance', |
|
| 185 | - 'icone_afficher_auteurs' => 'Afficher les autrices', |
|
| 186 | - 'icone_afficher_visiteurs' => 'Afficher les visiteuses', |
|
| 187 | - 'icone_arret_discussion' => 'Ne plus participer à cette discussion', |
|
| 188 | - 'icone_calendrier' => 'Calendrier', |
|
| 189 | - 'icone_configuration' => 'Configuration', |
|
| 190 | - 'icone_creer_auteur' => 'Créer une nouvelle autrice et l’associer à cet article', |
|
| 191 | - 'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article', |
|
| 192 | - 'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique', |
|
| 193 | - 'icone_developpement' => 'Développement', |
|
| 194 | - 'icone_edition' => 'Édition', |
|
| 195 | - 'icone_ma_langue' => 'Ma langue', |
|
| 196 | - 'icone_mes_infos' => 'Mes informations', |
|
| 197 | - 'icone_mes_preferences' => 'Mes préférences', |
|
| 198 | - 'icone_modifier_article' => 'Modifier cet article', |
|
| 199 | - 'icone_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 200 | - 'icone_publication' => 'Publication', |
|
| 201 | - 'icone_relancer_signataire' => 'Relancer la signataire', |
|
| 202 | - 'icone_retour' => 'Retour', |
|
| 203 | - 'icone_retour_article' => 'Retour à l’article', |
|
| 204 | - 'icone_squelette' => 'Squelettes', |
|
| 205 | - 'icone_suivi_publication' => 'Suivi de la publication', |
|
| 206 | - 'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance', |
|
| 207 | - 'icone_supprimer_rubrique' => 'Supprimer cette rubrique', |
|
| 208 | - 'icone_supprimer_signature' => 'Supprimer cette signature', |
|
| 209 | - 'icone_valider_signature' => 'Valider cette signature', |
|
| 210 | - 'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 211 | - 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', |
|
| 212 | - 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', |
|
| 213 | - 'info_1_article' => '1 article', |
|
| 214 | - 'info_1_auteur' => '1 autrice', |
|
| 215 | - 'info_1_message' => '1 message', |
|
| 216 | - 'info_1_mot_cle' => '1 mot-clé', |
|
| 217 | - 'info_1_rubrique' => '1 rubrique', |
|
| 218 | - 'info_1_visiteur' => '1 visiteuse', |
|
| 219 | - 'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous |
|
| 167 | + // I |
|
| 168 | + 'ical_info1' => 'Cette page présente plusieurs méthodes pour rester en contact avec la vie de ce site.', |
|
| 169 | + 'ical_info2' => 'Pour plus de renseignements sur toutes ces techniques, n’hésitez pas à consulter <a href="@spipnet@">la documentation de SPIP</a>.', |
|
| 170 | + 'ical_info_calendrier' => 'Deux calendriers sont à votre disposition. Le premier est un plan du site annonçant tous les articles publiés. Le second contient les annonces éditoriales ainsi que vos derniers messages privés : il vous est réservé grâce à une clé personnelle, que vous pouvez modifier à tout moment en renouvelant votre mot de passe.', |
|
| 171 | + 'ical_methode_http' => 'Téléchargement', |
|
| 172 | + 'ical_methode_webcal' => 'Synchronisation (webcal://)', |
|
| 173 | + 'ical_texte_js' => 'Une ligne de javascript vous permet d’afficher très simplement, sur n’importe quel site vous appartenant, les articles récents publiés sur ce site.', |
|
| 174 | + 'ical_texte_prive' => 'Ce calendrier, à usage strictement personnel, vous informe de l’activité éditoriale privée de ce site (tâches et rendez-vous personnels, articles et brèves proposés...).', |
|
| 175 | + 'ical_texte_public' => 'Ce calendrier vous permet de suivre l’activité publique de ce site (articles et brèves publiés).', |
|
| 176 | + 'ical_texte_rss' => 'Vous pouvez syndiquer les nouveautés de ce site dans n’importe quel lecteur de fichiers au format XML/RSS (Rich Site Summary). C’est aussi le format qui permet à SPIP de lire les nouveautés publiées sur d’autres sites utilisant un format d’échange compatible (sites syndiqués).', |
|
| 177 | + 'ical_titre_js' => 'Javascript', |
|
| 178 | + 'ical_titre_mailing' => 'Mailing-list', |
|
| 179 | + 'ical_titre_rss' => 'Fichiers de syndication', |
|
| 180 | + 'icone_accueil' => 'Accueil', |
|
| 181 | + 'icone_activer_cookie' => 'Activer le cookie de correspondance', |
|
| 182 | + 'icone_activite' => 'Activité', |
|
| 183 | + 'icone_admin_plugin' => 'Gestion des plugins', |
|
| 184 | + 'icone_administration' => 'Maintenance', |
|
| 185 | + 'icone_afficher_auteurs' => 'Afficher les autrices', |
|
| 186 | + 'icone_afficher_visiteurs' => 'Afficher les visiteuses', |
|
| 187 | + 'icone_arret_discussion' => 'Ne plus participer à cette discussion', |
|
| 188 | + 'icone_calendrier' => 'Calendrier', |
|
| 189 | + 'icone_configuration' => 'Configuration', |
|
| 190 | + 'icone_creer_auteur' => 'Créer une nouvelle autrice et l’associer à cet article', |
|
| 191 | + 'icone_creer_mot_cle' => 'Créer un nouveau mot-clé et le lier à cet article', |
|
| 192 | + 'icone_creer_rubrique_2' => 'Créer une nouvelle rubrique', |
|
| 193 | + 'icone_developpement' => 'Développement', |
|
| 194 | + 'icone_edition' => 'Édition', |
|
| 195 | + 'icone_ma_langue' => 'Ma langue', |
|
| 196 | + 'icone_mes_infos' => 'Mes informations', |
|
| 197 | + 'icone_mes_preferences' => 'Mes préférences', |
|
| 198 | + 'icone_modifier_article' => 'Modifier cet article', |
|
| 199 | + 'icone_modifier_rubrique' => 'Modifier cette rubrique', |
|
| 200 | + 'icone_publication' => 'Publication', |
|
| 201 | + 'icone_relancer_signataire' => 'Relancer la signataire', |
|
| 202 | + 'icone_retour' => 'Retour', |
|
| 203 | + 'icone_retour_article' => 'Retour à l’article', |
|
| 204 | + 'icone_squelette' => 'Squelettes', |
|
| 205 | + 'icone_suivi_publication' => 'Suivi de la publication', |
|
| 206 | + 'icone_supprimer_cookie' => 'Supprimer le cookie de correspondance', |
|
| 207 | + 'icone_supprimer_rubrique' => 'Supprimer cette rubrique', |
|
| 208 | + 'icone_supprimer_signature' => 'Supprimer cette signature', |
|
| 209 | + 'icone_valider_signature' => 'Valider cette signature', |
|
| 210 | + 'image_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 211 | + 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', |
|
| 212 | + 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', |
|
| 213 | + 'info_1_article' => '1 article', |
|
| 214 | + 'info_1_auteur' => '1 autrice', |
|
| 215 | + 'info_1_message' => '1 message', |
|
| 216 | + 'info_1_mot_cle' => '1 mot-clé', |
|
| 217 | + 'info_1_rubrique' => '1 rubrique', |
|
| 218 | + 'info_1_visiteur' => '1 visiteuse', |
|
| 219 | + 'info_activer_cookie' => 'Vous pouvez activer un <b>cookie de correspondance</b>, ce qui vous |
|
| 220 | 220 | permettra de passer facilement du site public au site privé.', |
| 221 | - 'info_activer_menu_developpement' => 'Afficher le menu Développement', |
|
| 222 | - 'info_admin_etre_webmestre' => 'Me donner les droits de webmestre', |
|
| 223 | - 'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>', |
|
| 224 | - 'info_admin_statuer_webmestre' => 'Donner à cette administratrice les droits de webmestre', |
|
| 225 | - 'info_admin_webmestre' => 'Cette administratrice est <b>webmestre</b>', |
|
| 226 | - 'info_administrateur' => 'Administratrice', |
|
| 227 | - 'info_administrateur_1' => 'Administratrice', |
|
| 228 | - 'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)', |
|
| 229 | - 'info_administrateur_site_01' => 'Si vous êtes administratrice du site, veuillez', |
|
| 230 | - 'info_administrateur_site_02' => 'cliquer sur ce lien', |
|
| 231 | - 'info_administrateurs' => 'Administratrices', |
|
| 232 | - 'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 233 | - 'info_adresse' => 'à l’adresse :', |
|
| 234 | - 'info_adresse_desinscription' => 'Adresse de désinscription :', |
|
| 235 | - 'info_adresse_url' => 'Adresse (URL) du site public', |
|
| 236 | - 'info_afficher_par_nb' => 'Afficher par', |
|
| 237 | - 'info_aide_en_ligne' => 'Aide en ligne SPIP', |
|
| 238 | - 'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article, |
|
| 221 | + 'info_activer_menu_developpement' => 'Afficher le menu Développement', |
|
| 222 | + 'info_admin_etre_webmestre' => 'Me donner les droits de webmestre', |
|
| 223 | + 'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>', |
|
| 224 | + 'info_admin_statuer_webmestre' => 'Donner à cette administratrice les droits de webmestre', |
|
| 225 | + 'info_admin_webmestre' => 'Cette administratrice est <b>webmestre</b>', |
|
| 226 | + 'info_administrateur' => 'Administratrice', |
|
| 227 | + 'info_administrateur_1' => 'Administratrice', |
|
| 228 | + 'info_administrateur_2' => 'du site (<i>utilisez avec précaution</i>)', |
|
| 229 | + 'info_administrateur_site_01' => 'Si vous êtes administratrice du site, veuillez', |
|
| 230 | + 'info_administrateur_site_02' => 'cliquer sur ce lien', |
|
| 231 | + 'info_administrateurs' => 'Administratrices', |
|
| 232 | + 'info_administrer_rubrique' => 'Vous pouvez administrer cette rubrique', |
|
| 233 | + 'info_adresse' => 'à l’adresse :', |
|
| 234 | + 'info_adresse_desinscription' => 'Adresse de désinscription :', |
|
| 235 | + 'info_adresse_url' => 'Adresse (URL) du site public', |
|
| 236 | + 'info_afficher_par_nb' => 'Afficher par', |
|
| 237 | + 'info_aide_en_ligne' => 'Aide en ligne SPIP', |
|
| 238 | + 'info_ajout_image' => 'Lorsque vous ajoutez des images en tant que documents joints à un article, |
|
| 239 | 239 | SPIP peut créer pour vous, automatiquement, des vignettes (miniatures) des |
| 240 | 240 | images insérées. Cela permet par exemple de créer |
| 241 | 241 | automatiquement une galerie ou un portfolio.', |
| 242 | - 'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :', |
|
| 243 | - 'info_annonce_nouveautes' => 'Annonce des nouveautés', |
|
| 244 | - 'info_article' => 'article', |
|
| 245 | - 'info_article_2' => 'articles', |
|
| 246 | - 'info_article_a_paraitre' => 'Les articles post-datés à paraître', |
|
| 247 | - 'info_articles_02' => 'articles', |
|
| 248 | - 'info_articles_2' => 'Articles', |
|
| 249 | - 'info_articles_auteur' => 'Les articles de cette autrice', |
|
| 250 | - 'info_articles_miens' => 'Mes articles', |
|
| 251 | - 'info_articles_tous' => 'Tous les articles', |
|
| 252 | - 'info_articles_trouves' => 'Articles trouvés', |
|
| 253 | - 'info_attente_validation' => 'Vos articles en attente de validation', |
|
| 254 | - 'info_aucun_article' => 'Aucun article', |
|
| 255 | - 'info_aucun_auteur' => 'Aucune autrice', |
|
| 256 | - 'info_aucun_message' => 'Aucun message', |
|
| 257 | - 'info_aucun_rubrique' => 'Aucune rubrique', |
|
| 258 | - 'info_aujourdhui' => 'aujourd’hui :', |
|
| 259 | - 'info_auteur_gere_rubriques' => 'Cette autrice gère les rubriques suivantes :', |
|
| 260 | - 'info_auteur_gere_toutes_rubriques' => 'Cette autrice gère <b>toutes les rubriques</b>', |
|
| 261 | - 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', |
|
| 262 | - 'info_auteurs' => 'Les autrices', |
|
| 263 | - 'info_auteurs_par_tri' => 'Autrices@partri@', |
|
| 264 | - 'info_auteurs_trouves' => 'Autrices trouvées', |
|
| 265 | - 'info_authentification_externe' => 'Authentification externe', |
|
| 266 | - 'info_avertissement' => 'Avertissement', |
|
| 267 | - 'info_barre_outils' => 'avec sa barre d’outils ?', |
|
| 268 | - 'info_base_installee' => 'La structure de votre base de données est installée.', |
|
| 269 | - 'info_bio' => 'Biographie', |
|
| 270 | - 'info_cache_desactive' => 'Le cache est temporairement désactivé.', |
|
| 271 | - 'info_chapeau' => 'Chapeau', |
|
| 272 | - 'info_chapeau_2' => 'Chapeau :', |
|
| 273 | - 'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 274 | - 'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisatrices stockés dans l’annuaire.', |
|
| 275 | - 'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 276 | - 'info_choix_base' => 'Troisième étape :', |
|
| 277 | - 'info_classement_1' => '<sup>er</sup> sur @liste@', |
|
| 278 | - 'info_classement_2' => '<sup>e</sup> sur @liste@', |
|
| 279 | - 'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !', |
|
| 280 | - 'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participantes au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :', |
|
| 281 | - 'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.', |
|
| 282 | - 'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :', |
|
| 283 | - 'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.', |
|
| 284 | - 'info_conflit_edition_differences' => 'Différences :', |
|
| 285 | - 'info_conflit_edition_version_enregistree' => 'La version enregistrée :', |
|
| 286 | - 'info_conflit_edition_votre_version' => 'Votre version :', |
|
| 287 | - 'info_connexion_base' => 'Essai de connexion à la base', |
|
| 288 | - 'info_connexion_base_donnee' => 'Connexion à votre base de données', |
|
| 289 | - 'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>', |
|
| 290 | - 'info_connexion_mysql' => 'Votre connexion SQL', |
|
| 291 | - 'info_connexion_ok' => 'La connexion a réussi.', |
|
| 292 | - 'info_contact' => 'Contact', |
|
| 293 | - 'info_contenu_articles' => 'Contenu des articles', |
|
| 294 | - 'info_contributions' => 'Contributions', |
|
| 295 | - 'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.', |
|
| 296 | - 'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />', |
|
| 297 | - 'info_creation_tables' => 'Création des tables de la base', |
|
| 298 | - 'info_creer_base' => '<b>Créer</b> une nouvelle base de données :', |
|
| 299 | - 'info_dans_rubrique' => 'Dans la rubrique :', |
|
| 300 | - 'info_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 301 | - 'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :', |
|
| 302 | - 'info_derniere_etape' => 'C’est terminé !', |
|
| 303 | - 'info_descriptif' => 'Descriptif :', |
|
| 304 | - 'info_desinstaller_plugin' => 'supprime les données et désactive le plugin', |
|
| 305 | - 'info_discussion_cours' => 'Discussions en cours', |
|
| 306 | - 'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.', |
|
| 307 | - 'info_email_envoi' => 'Adresse email d’envoi (optionnel)', |
|
| 308 | - 'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :', |
|
| 309 | - 'info_email_webmestre' => 'Adresse e-mail de la webmestre', |
|
| 310 | - 'info_envoi_email_automatique' => 'Envoi de mails automatique', |
|
| 311 | - 'info_envoyer_maintenant' => 'Envoyer maintenant', |
|
| 312 | - 'info_etape_suivante' => 'Passer à l’étape suivante', |
|
| 313 | - 'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.', |
|
| 314 | - 'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.', |
|
| 315 | - 'info_exceptions_proxy' => 'Exceptions pour le proxy', |
|
| 316 | - 'info_exportation_base' => 'exportation de la base vers @archive@', |
|
| 317 | - 'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité |
|
| 242 | + 'info_ajouter_rubrique' => 'Ajouter une autre rubrique à administrer :', |
|
| 243 | + 'info_annonce_nouveautes' => 'Annonce des nouveautés', |
|
| 244 | + 'info_article' => 'article', |
|
| 245 | + 'info_article_2' => 'articles', |
|
| 246 | + 'info_article_a_paraitre' => 'Les articles post-datés à paraître', |
|
| 247 | + 'info_articles_02' => 'articles', |
|
| 248 | + 'info_articles_2' => 'Articles', |
|
| 249 | + 'info_articles_auteur' => 'Les articles de cette autrice', |
|
| 250 | + 'info_articles_miens' => 'Mes articles', |
|
| 251 | + 'info_articles_tous' => 'Tous les articles', |
|
| 252 | + 'info_articles_trouves' => 'Articles trouvés', |
|
| 253 | + 'info_attente_validation' => 'Vos articles en attente de validation', |
|
| 254 | + 'info_aucun_article' => 'Aucun article', |
|
| 255 | + 'info_aucun_auteur' => 'Aucune autrice', |
|
| 256 | + 'info_aucun_message' => 'Aucun message', |
|
| 257 | + 'info_aucun_rubrique' => 'Aucune rubrique', |
|
| 258 | + 'info_aujourdhui' => 'aujourd’hui :', |
|
| 259 | + 'info_auteur_gere_rubriques' => 'Cette autrice gère les rubriques suivantes :', |
|
| 260 | + 'info_auteur_gere_toutes_rubriques' => 'Cette autrice gère <b>toutes les rubriques</b>', |
|
| 261 | + 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', |
|
| 262 | + 'info_auteurs' => 'Les autrices', |
|
| 263 | + 'info_auteurs_par_tri' => 'Autrices@partri@', |
|
| 264 | + 'info_auteurs_trouves' => 'Autrices trouvées', |
|
| 265 | + 'info_authentification_externe' => 'Authentification externe', |
|
| 266 | + 'info_avertissement' => 'Avertissement', |
|
| 267 | + 'info_barre_outils' => 'avec sa barre d’outils ?', |
|
| 268 | + 'info_base_installee' => 'La structure de votre base de données est installée.', |
|
| 269 | + 'info_bio' => 'Biographie', |
|
| 270 | + 'info_cache_desactive' => 'Le cache est temporairement désactivé.', |
|
| 271 | + 'info_chapeau' => 'Chapeau', |
|
| 272 | + 'info_chapeau_2' => 'Chapeau :', |
|
| 273 | + 'info_chemin_acces_1' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 274 | + 'info_chemin_acces_2' => 'Vous devez désormais configurer le chemin d’accès aux informations dans l’annuaire. Cette information est indispensable pour lire les profils utilisatrices stockés dans l’annuaire.', |
|
| 275 | + 'info_chemin_acces_annuaire' => 'Options : <b>Chemin d’accès dans l’annuaire</b>', |
|
| 276 | + 'info_choix_base' => 'Troisième étape :', |
|
| 277 | + 'info_classement_1' => '<sup>er</sup> sur @liste@', |
|
| 278 | + 'info_classement_2' => '<sup>e</sup> sur @liste@', |
|
| 279 | + 'info_code_acces' => 'N’oubliez pas vos propres codes d’accès !', |
|
| 280 | + 'info_config_suivi' => 'Si cette adresse correspond à une mailing-list, vous pouvez indiquer ci-dessous l’adresse à laquelle les participantes au site peuvent s’inscrire. Cette adresse peut être une URL (par exemple la page d’inscription à la liste par le Web), ou une adresse email dotée d’un sujet spécifique (par exemple : <tt>@adresse_suivi@?subject=subscribe</tt>) :', |
|
| 281 | + 'info_config_suivi_explication' => 'Vous pouvez vous abonner à la mailing-list de ce site. Vous recevrez alors par courrier électronique les annonces d’articles et de brèves proposés à la publication.', |
|
| 282 | + 'info_confirmer_passe' => 'Confirmer ce nouveau mot de passe :', |
|
| 283 | + 'info_conflit_edition_avis_non_sauvegarde' => 'Attention, les champs suivants ont été modifiés par ailleurs. Vos modifications sur ces champs n’ont donc pas été enregistrées.', |
|
| 284 | + 'info_conflit_edition_differences' => 'Différences :', |
|
| 285 | + 'info_conflit_edition_version_enregistree' => 'La version enregistrée :', |
|
| 286 | + 'info_conflit_edition_votre_version' => 'Votre version :', |
|
| 287 | + 'info_connexion_base' => 'Essai de connexion à la base', |
|
| 288 | + 'info_connexion_base_donnee' => 'Connexion à votre base de données', |
|
| 289 | + 'info_connexion_ldap_ok' => '<b>La connexion LDAP a réussi.</b><p> Vous pouvez passer à l’étape suivante.</p>', |
|
| 290 | + 'info_connexion_mysql' => 'Votre connexion SQL', |
|
| 291 | + 'info_connexion_ok' => 'La connexion a réussi.', |
|
| 292 | + 'info_contact' => 'Contact', |
|
| 293 | + 'info_contenu_articles' => 'Contenu des articles', |
|
| 294 | + 'info_contributions' => 'Contributions', |
|
| 295 | + 'info_creation_paragraphe' => 'Pour créer des paragraphes, laissez simplement des lignes vides.', |
|
| 296 | + 'info_creation_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer au moins une rubrique.<br />', |
|
| 297 | + 'info_creation_tables' => 'Création des tables de la base', |
|
| 298 | + 'info_creer_base' => '<b>Créer</b> une nouvelle base de données :', |
|
| 299 | + 'info_dans_rubrique' => 'Dans la rubrique :', |
|
| 300 | + 'info_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 301 | + 'info_date_referencement' => 'DATE DE RÉFÉRENCEMENT DE CE SITE :', |
|
| 302 | + 'info_derniere_etape' => 'C’est terminé !', |
|
| 303 | + 'info_descriptif' => 'Descriptif :', |
|
| 304 | + 'info_desinstaller_plugin' => 'supprime les données et désactive le plugin', |
|
| 305 | + 'info_discussion_cours' => 'Discussions en cours', |
|
| 306 | + 'info_ecrire_article' => 'Avant de pouvoir écrire des articles, vous devez créer au moins une rubrique.', |
|
| 307 | + 'info_email_envoi' => 'Adresse email d’envoi (optionnel)', |
|
| 308 | + 'info_email_envoi_txt' => 'Indiquez ici l’adresse à utiliser pour envoyer les emails (à défaut, l’adresse destinataire sera utilisée comme adresse d’envoi) :', |
|
| 309 | + 'info_email_webmestre' => 'Adresse e-mail de la webmestre', |
|
| 310 | + 'info_envoi_email_automatique' => 'Envoi de mails automatique', |
|
| 311 | + 'info_envoyer_maintenant' => 'Envoyer maintenant', |
|
| 312 | + 'info_etape_suivante' => 'Passer à l’étape suivante', |
|
| 313 | + 'info_etape_suivante_1' => 'Vous pouvez passer à l’étape suivante.', |
|
| 314 | + 'info_etape_suivante_2' => 'Vous pouvez passer à l’étape suivante.', |
|
| 315 | + 'info_exceptions_proxy' => 'Exceptions pour le proxy', |
|
| 316 | + 'info_exportation_base' => 'exportation de la base vers @archive@', |
|
| 317 | + 'info_facilite_suivi_activite' => 'Afin de faciliter le suivi de l’activité |
|
| 318 | 318 | éditoriale du site, SPIP peut faire parvenir par mail, par exemple |
| 319 | 319 | à une mailing-list des rédactrices, l’annonce des demandes de |
| 320 | 320 | publication et des validations d’articles.', |
| 321 | - 'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »', |
|
| 322 | - 'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteuses sont donc invitées à s’enregistrer sur le site public.', |
|
| 323 | - 'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 321 | + 'info_fichiers_authent' => 'Fichiers d’authentification « .htpasswd »', |
|
| 322 | + 'info_forums_abo_invites' => 'Votre site comporte des forums sur abonnement ; les visiteuses sont donc invitées à s’enregistrer sur le site public.', |
|
| 323 | + 'info_gauche_admin_tech' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 324 | 324 | fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui |
| 325 | 325 | exige d’avoir un accès FTP au site Web.</p>', |
| 326 | - 'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 326 | + 'info_gauche_admin_vider' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p> Elle donne accès aux différentes |
|
| 327 | 327 | fonctions de maintenance technique. Certaines d’entre elles donnent lieu à un processus d’authentification spécifique, qui |
| 328 | 328 | exige d’avoir un accès FTP au site Web.</p>', |
| 329 | - 'info_gauche_auteurs' => 'Vous trouverez ici toutes les autrices du site. |
|
| 329 | + 'info_gauche_auteurs' => 'Vous trouverez ici toutes les autrices du site. |
|
| 330 | 330 | Leur statut est indiqué par la couleur de leur icone (administratrice = vert ; rédactrice = jaune).', |
| 331 | - 'info_gauche_auteurs_exterieurs' => 'Les autrices extérieures, sans accès au site, sont indiquées par une icone bleue ; |
|
| 331 | + 'info_gauche_auteurs_exterieurs' => 'Les autrices extérieures, sans accès au site, sont indiquées par une icone bleue ; |
|
| 332 | 332 | les autrices effacées par une icone grise.', |
| 333 | - 'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédactrices, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administratrice).', |
|
| 334 | - 'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.', |
|
| 335 | - 'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteuses enregistrées |
|
| 333 | + 'info_gauche_messagerie' => 'La messagerie vous permet d’échanger des messages entre rédactrices, de conserver des pense-bêtes (pour votre usage personnel) ou d’afficher des annonces sur la page d’accueil de l’espace privé (si vous êtes administratrice).', |
|
| 334 | + 'info_gauche_statistiques_referers' => 'Cette page présente la liste des <i>referers</i>, c’est-à-dire des sites contenant des liens menant vers votre propre site, uniquement pour hier et aujourd’hui ; cette liste est remise à zéro toutes les 24 heures.', |
|
| 335 | + 'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteuses enregistrées |
|
| 336 | 336 | dans l’espace public du site (forums sur abonnement).', |
| 337 | - 'info_generation_miniatures_images' => 'Génération de miniatures des images', |
|
| 338 | - 'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction', |
|
| 339 | - 'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de |
|
| 337 | + 'info_generation_miniatures_images' => 'Génération de miniatures des images', |
|
| 338 | + 'info_gerer_trad_objets' => '@objets@ : gérer les liens de traduction', |
|
| 339 | + 'info_hebergeur_desactiver_envoi_email' => 'Certains hébergeurs désactivent l’envoi automatique de |
|
| 340 | 340 | mails depuis leurs serveurs. Dans ce cas, les fonctionnalités suivantes |
| 341 | 341 | de SPIP ne fonctionneront pas.', |
| 342 | - 'info_hier' => 'hier :', |
|
| 343 | - 'info_identification_publique' => 'Votre identité publique...', |
|
| 344 | - 'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.', |
|
| 345 | - 'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez la responsable technique et demandez les extensions « GD » ou « Imagick ».', |
|
| 346 | - 'info_images_auto' => 'Images calculées automatiquement', |
|
| 347 | - 'info_informations_personnelles' => 'Informations personnelles', |
|
| 348 | - 'info_inscription' => 'Inscription le', |
|
| 349 | - 'info_inscription_automatique' => 'Inscription automatique de nouvelles rédactrices', |
|
| 350 | - 'info_jeu_caractere' => 'Jeu de caractères du site', |
|
| 351 | - 'info_jours' => 'jours', |
|
| 352 | - 'info_laisser_champs_vides' => 'laisser ces champs vides)', |
|
| 353 | - 'info_langues' => 'Langues du site', |
|
| 354 | - 'info_ldap_ok' => 'L’authentification LDAP est installée.', |
|
| 355 | - 'info_lien_hypertexte' => 'Lien hypertexte :', |
|
| 356 | - 'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée', |
|
| 357 | - 'info_liste_redacteurs_connectes' => 'Liste des rédactrices connectées', |
|
| 358 | - 'info_login_existant' => 'Ce login existe déjà.', |
|
| 359 | - 'info_login_trop_court' => 'Login trop court.', |
|
| 360 | - 'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.', |
|
| 361 | - 'info_logos' => 'Les logos', |
|
| 362 | - 'info_maximum' => 'maximum :', |
|
| 363 | - 'info_meme_rubrique' => 'Dans la même rubrique', |
|
| 364 | - 'info_message_en_redaction' => 'Vos messages en cours de rédaction', |
|
| 365 | - 'info_message_technique' => 'Message technique :', |
|
| 366 | - 'info_messagerie_interne' => 'Messagerie interne', |
|
| 367 | - 'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL', |
|
| 368 | - 'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version |
|
| 342 | + 'info_hier' => 'hier :', |
|
| 343 | + 'info_identification_publique' => 'Votre identité publique...', |
|
| 344 | + 'info_image_process' => 'Veuillez sélectionner la meilleure méthode de fabrication des vignettes en cliquant sur l’image correspondante.', |
|
| 345 | + 'info_image_process2' => 'Si aucune image n’apparaît, alors le serveur qui héberge votre site n’a pas été configuré pour utiliser de tels outils. Si vous souhaitez utiliser ces fonctions, contactez la responsable technique et demandez les extensions « GD » ou « Imagick ».', |
|
| 346 | + 'info_images_auto' => 'Images calculées automatiquement', |
|
| 347 | + 'info_informations_personnelles' => 'Informations personnelles', |
|
| 348 | + 'info_inscription' => 'Inscription le', |
|
| 349 | + 'info_inscription_automatique' => 'Inscription automatique de nouvelles rédactrices', |
|
| 350 | + 'info_jeu_caractere' => 'Jeu de caractères du site', |
|
| 351 | + 'info_jours' => 'jours', |
|
| 352 | + 'info_laisser_champs_vides' => 'laisser ces champs vides)', |
|
| 353 | + 'info_langues' => 'Langues du site', |
|
| 354 | + 'info_ldap_ok' => 'L’authentification LDAP est installée.', |
|
| 355 | + 'info_lien_hypertexte' => 'Lien hypertexte :', |
|
| 356 | + 'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée', |
|
| 357 | + 'info_liste_redacteurs_connectes' => 'Liste des rédactrices connectées', |
|
| 358 | + 'info_login_existant' => 'Ce login existe déjà.', |
|
| 359 | + 'info_login_trop_court' => 'Login trop court.', |
|
| 360 | + 'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.', |
|
| 361 | + 'info_logos' => 'Les logos', |
|
| 362 | + 'info_maximum' => 'maximum :', |
|
| 363 | + 'info_meme_rubrique' => 'Dans la même rubrique', |
|
| 364 | + 'info_message_en_redaction' => 'Vos messages en cours de rédaction', |
|
| 365 | + 'info_message_technique' => 'Message technique :', |
|
| 366 | + 'info_messagerie_interne' => 'Messagerie interne', |
|
| 367 | + 'info_mise_a_niveau_base' => 'mise à niveau de votre base SQL', |
|
| 368 | + 'info_mise_a_niveau_base_2' => '{{Attention !}} Vous avez installé une version |
|
| 369 | 369 | des fichiers SPIP {antérieure} à celle qui se trouvait |
| 370 | 370 | auparavant sur ce site : votre base de données risque d’être |
| 371 | 371 | perdue et votre site ne fonctionnera plus.<br />{{Réinstallez les |
| 372 | 372 | fichiers de SPIP.}}', |
| 373 | - 'info_modification_enregistree' => 'Votre modification a été enregistrée', |
|
| 374 | - 'info_modifier_auteur' => 'Modifier l’autrice :', |
|
| 375 | - 'info_modifier_rubrique' => 'Modifier la rubrique :', |
|
| 376 | - 'info_modifier_titre' => 'Modifier : @titre@', |
|
| 377 | - 'info_mon_site_spip' => 'Mon site SPIP', |
|
| 378 | - 'info_moyenne' => 'moyenne :', |
|
| 379 | - 'info_multi_cet_article' => 'Langue de cet article :', |
|
| 380 | - 'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédactrices de votre site. |
|
| 373 | + 'info_modification_enregistree' => 'Votre modification a été enregistrée', |
|
| 374 | + 'info_modifier_auteur' => 'Modifier l’autrice :', |
|
| 375 | + 'info_modifier_rubrique' => 'Modifier la rubrique :', |
|
| 376 | + 'info_modifier_titre' => 'Modifier : @titre@', |
|
| 377 | + 'info_mon_site_spip' => 'Mon site SPIP', |
|
| 378 | + 'info_moyenne' => 'moyenne :', |
|
| 379 | + 'info_multi_cet_article' => 'Langue de cet article :', |
|
| 380 | + 'info_multi_langues_choisies' => 'Veuillez sélectionner ci-après les langues à disposition des rédactrices de votre site. |
|
| 381 | 381 | Les langues déjà utilisées dans votre site (affichées en premier) ne peuvent pas être désactivées.', |
| 382 | - 'info_multi_objets' => '@objets@ : activer le menu de langue', |
|
| 383 | - 'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?', |
|
| 384 | - 'info_nb_articles' => '@nb@ articles', |
|
| 385 | - 'info_nb_auteurs' => '@nb@ autrices', |
|
| 386 | - 'info_nb_messages' => '@nb@ messages', |
|
| 387 | - 'info_nb_mots_cles' => '@nb@ mots-clés', |
|
| 388 | - 'info_nb_rubriques' => '@nb@ rubriques', |
|
| 389 | - 'info_nb_visiteurs' => '@nb@ visiteuses', |
|
| 390 | - 'info_nom' => 'Nom', |
|
| 391 | - 'info_nom_destinataire' => 'Nom de la destinataire', |
|
| 392 | - 'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', |
|
| 393 | - 'info_nom_site' => 'Nom de votre site', |
|
| 394 | - 'info_nombre_articles' => '@nb_articles@ articles,', |
|
| 395 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubriques,', |
|
| 396 | - 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 397 | - 'info_non_deplacer' => 'Ne pas déplacer...', |
|
| 398 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site |
|
| 382 | + 'info_multi_objets' => '@objets@ : activer le menu de langue', |
|
| 383 | + 'info_multi_secteurs' => '... seulement pour les rubriques situées à la racine ?', |
|
| 384 | + 'info_nb_articles' => '@nb@ articles', |
|
| 385 | + 'info_nb_auteurs' => '@nb@ autrices', |
|
| 386 | + 'info_nb_messages' => '@nb@ messages', |
|
| 387 | + 'info_nb_mots_cles' => '@nb@ mots-clés', |
|
| 388 | + 'info_nb_rubriques' => '@nb@ rubriques', |
|
| 389 | + 'info_nb_visiteurs' => '@nb@ visiteuses', |
|
| 390 | + 'info_nom' => 'Nom', |
|
| 391 | + 'info_nom_destinataire' => 'Nom de la destinataire', |
|
| 392 | + 'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', |
|
| 393 | + 'info_nom_site' => 'Nom de votre site', |
|
| 394 | + 'info_nombre_articles' => '@nb_articles@ articles,', |
|
| 395 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubriques,', |
|
| 396 | + 'info_nombre_sites' => '@nb_sites@ sites,', |
|
| 397 | + 'info_non_deplacer' => 'Ne pas déplacer...', |
|
| 398 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP peut envoyer, régulièrement, l’annonce des dernières nouveautés du site |
|
| 399 | 399 | (articles et brèves récemment publiés).', |
| 400 | - 'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 401 | - 'info_non_modifiable' => 'ne peut pas être modifié', |
|
| 402 | - 'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.', |
|
| 403 | - 'info_notes' => 'Notes', |
|
| 404 | - 'info_nouvel_article' => 'Nouvel article', |
|
| 405 | - 'info_nouvelle_traduction' => 'Nouvelle traduction :', |
|
| 406 | - 'info_numero_article' => 'ARTICLE NUMÉRO :', |
|
| 407 | - 'info_obligatoire_02' => '(obligatoire)', |
|
| 408 | - 'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteuses du site public', |
|
| 409 | - 'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteuses', |
|
| 410 | - 'info_options_avancees' => 'OPTIONS AVANCÉES', |
|
| 411 | - 'info_ou' => 'ou...', |
|
| 412 | - 'info_page_interdite' => 'Page interdite', |
|
| 413 | - 'info_par_nom' => 'par nom', |
|
| 414 | - 'info_par_nombre_article' => 'par nombre d’articles', |
|
| 415 | - 'info_par_statut' => 'par statut', |
|
| 416 | - 'info_par_tri' => '’(par @tri@)’', |
|
| 417 | - 'info_passe_trop_court' => 'Mot de passe trop court.', |
|
| 418 | - 'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.', |
|
| 419 | - 'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.', |
|
| 420 | - 'info_plus_cinq_car' => 'plus de 5 caractères', |
|
| 421 | - 'info_plus_cinq_car_2' => '(Plus de 5 caractères)', |
|
| 422 | - 'info_plus_trois_car' => '(Plus de 3 caractères)', |
|
| 423 | - 'info_popularite' => 'popularité : @popularite@ ; visites : @visites@', |
|
| 424 | - 'info_post_scriptum' => 'Post-Scriptum', |
|
| 425 | - 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 426 | - 'info_pour' => 'pour', |
|
| 427 | - 'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administratrices seulement, à toutes les rédactrices, ou à personne ?', |
|
| 428 | - 'info_procedez_par_etape' => 'procédez étape par étape', |
|
| 429 | - 'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter |
|
| 400 | + 'info_non_envoi_liste_nouveautes' => 'Ne pas envoyer la liste des nouveautés', |
|
| 401 | + 'info_non_modifiable' => 'ne peut pas être modifié', |
|
| 402 | + 'info_non_suppression_mot_cle' => 'je ne veux pas supprimer ce mot-clé.', |
|
| 403 | + 'info_notes' => 'Notes', |
|
| 404 | + 'info_nouvel_article' => 'Nouvel article', |
|
| 405 | + 'info_nouvelle_traduction' => 'Nouvelle traduction :', |
|
| 406 | + 'info_numero_article' => 'ARTICLE NUMÉRO :', |
|
| 407 | + 'info_obligatoire_02' => '(obligatoire)', |
|
| 408 | + 'info_option_accepter_visiteurs' => 'Accepter l’inscription de visiteuses du site public', |
|
| 409 | + 'info_option_ne_pas_accepter_visiteurs' => 'Refuser l’inscription des visiteuses', |
|
| 410 | + 'info_options_avancees' => 'OPTIONS AVANCÉES', |
|
| 411 | + 'info_ou' => 'ou...', |
|
| 412 | + 'info_page_interdite' => 'Page interdite', |
|
| 413 | + 'info_par_nom' => 'par nom', |
|
| 414 | + 'info_par_nombre_article' => 'par nombre d’articles', |
|
| 415 | + 'info_par_statut' => 'par statut', |
|
| 416 | + 'info_par_tri' => '’(par @tri@)’', |
|
| 417 | + 'info_passe_trop_court' => 'Mot de passe trop court.', |
|
| 418 | + 'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.', |
|
| 419 | + 'info_passes_identiques' => 'Les deux mots de passe ne sont pas identiques.', |
|
| 420 | + 'info_plus_cinq_car' => 'plus de 5 caractères', |
|
| 421 | + 'info_plus_cinq_car_2' => '(Plus de 5 caractères)', |
|
| 422 | + 'info_plus_trois_car' => '(Plus de 3 caractères)', |
|
| 423 | + 'info_popularite' => 'popularité : @popularite@ ; visites : @visites@', |
|
| 424 | + 'info_post_scriptum' => 'Post-Scriptum', |
|
| 425 | + 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 426 | + 'info_pour' => 'pour', |
|
| 427 | + 'info_preview_texte' => 'Il est possible de prévisualiser le site comme si tous les articles et les brèves (ayant au moins le statut « proposé ») étaient publiés. Cette possibilité doit-elle être ouverte aux administratrices seulement, à toutes les rédactrices, ou à personne ?', |
|
| 428 | + 'info_procedez_par_etape' => 'procédez étape par étape', |
|
| 429 | + 'info_procedure_maj_version' => 'la procédure de mise à jour doit être lancée afin d’adapter |
|
| 430 | 430 | la base de données à la nouvelle version de SPIP.', |
| 431 | - 'info_proxy_ok' => 'Test du proxy réussi.', |
|
| 432 | - 'info_ps' => 'P.-S.', |
|
| 433 | - 'info_publier' => 'publier', |
|
| 434 | - 'info_publies' => 'Vos articles publiés en ligne', |
|
| 435 | - 'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteuses sans accès à l’espace privé, veuillez activer l’option ci-dessous :', |
|
| 436 | - 'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouvelles rédactrices à |
|
| 431 | + 'info_proxy_ok' => 'Test du proxy réussi.', |
|
| 432 | + 'info_ps' => 'P.-S.', |
|
| 433 | + 'info_publier' => 'publier', |
|
| 434 | + 'info_publies' => 'Vos articles publiés en ligne', |
|
| 435 | + 'info_question_accepter_visiteurs' => 'Si les squelettes de votre site prévoient l’enregistrement de visiteuses sans accès à l’espace privé, veuillez activer l’option ci-dessous :', |
|
| 436 | + 'info_question_inscription_nouveaux_redacteurs' => 'Acceptez-vous les inscriptions de nouvelles rédactrices à |
|
| 437 | 437 | partir du site public ? Si vous acceptez, les visiteuses pourront s’inscrire |
| 438 | 438 | depuis un formulaire automatisé et accéderont alors à l’espace privé pour |
| 439 | 439 | proposer leurs propres articles. <div class="notice">Lors de la phase d’inscription, |
@@ -442,403 +442,403 @@ discard block |
||
| 442 | 442 | hébergeurs désactivent l’envoi de mails depuis leurs |
| 443 | 443 | serveurs : dans ce cas, l’inscription automatique est |
| 444 | 444 | impossible.</div>', |
| 445 | - 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', |
|
| 446 | - 'info_racine_site' => 'Racine du site', |
|
| 447 | - 'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.', |
|
| 448 | - 'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».', |
|
| 449 | - 'info_recommencer' => 'Veuillez recommencer.', |
|
| 450 | - 'info_redacteur_1' => 'Rédactrice', |
|
| 451 | - 'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)', |
|
| 452 | - 'info_redacteurs' => 'Rédactrices', |
|
| 453 | - 'info_redaction_en_cours' => 'EN COURS DE RÉDACTION', |
|
| 454 | - 'info_redirection' => 'Redirection', |
|
| 455 | - 'info_redirection_activee' => 'La redirection est activée.', |
|
| 456 | - 'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.', |
|
| 457 | - 'info_redirection_desactivee' => 'La redirection a été supprimée.', |
|
| 458 | - 'info_refuses' => 'Vos articles refusés', |
|
| 459 | - 'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>', |
|
| 460 | - 'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :', |
|
| 461 | - 'info_reserve_admin' => 'Seuls les administratrices peuvent modifier cette adresse.', |
|
| 462 | - 'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :', |
|
| 463 | - 'info_resultat_recherche' => 'Résultats de la recherche :', |
|
| 464 | - 'info_rubriques' => 'Rubriques', |
|
| 465 | - 'info_rubriques_02' => 'rubriques', |
|
| 466 | - 'info_rubriques_trouvees' => 'Rubriques trouvées', |
|
| 467 | - 'info_sans_titre' => 'Sans titre', |
|
| 468 | - 'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :', |
|
| 469 | - 'info_signatures' => 'signatures', |
|
| 470 | - 'info_site' => 'Site', |
|
| 471 | - 'info_site_2' => 'site :', |
|
| 472 | - 'info_site_min' => 'site', |
|
| 473 | - 'info_site_reference_2' => 'Site référencé', |
|
| 474 | - 'info_site_web' => 'Site Web :', |
|
| 475 | - 'info_sites' => 'sites', |
|
| 476 | - 'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé', |
|
| 477 | - 'info_sites_proxy' => 'Utiliser un proxy', |
|
| 478 | - 'info_sites_trouves' => 'Sites trouvés', |
|
| 479 | - 'info_sous_titre' => 'Soustitre :', |
|
| 480 | - 'info_statut_administrateur' => 'Administratrice', |
|
| 481 | - 'info_statut_auteur' => 'Statut de cette autrice :', |
|
| 482 | - 'info_statut_auteur_2' => 'Je suis', |
|
| 483 | - 'info_statut_auteur_a_confirmer' => 'Inscription à confirmer', |
|
| 484 | - 'info_statut_auteur_autre' => 'Autre statut :', |
|
| 485 | - 'info_statut_redacteur' => 'Rédactrice', |
|
| 486 | - 'info_statut_utilisateurs_1' => 'Statut par défaut des utilisatrices importées', |
|
| 487 | - 'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque autrice au cas par cas.', |
|
| 488 | - 'info_suivi_activite' => 'Suivi de l’activité éditoriale', |
|
| 489 | - 'info_surtitre' => 'Surtitre :', |
|
| 490 | - 'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).', |
|
| 491 | - 'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?', |
|
| 492 | - 'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.', |
|
| 493 | - 'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.', |
|
| 494 | - 'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :', |
|
| 495 | - 'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.', |
|
| 496 | - 'info_texte' => 'Texte', |
|
| 497 | - 'info_texte_explicatif' => 'Texte explicatif', |
|
| 498 | - 'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)', |
|
| 499 | - 'info_texte_message' => 'Texte de votre message', |
|
| 500 | - 'info_texte_message_02' => 'Texte du message', |
|
| 501 | - 'info_titre' => 'Titre :', |
|
| 502 | - 'info_total' => 'total :', |
|
| 503 | - 'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction', |
|
| 504 | - 'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique', |
|
| 505 | - 'info_tous_articles_refuses' => 'Tous les articles refusés', |
|
| 506 | - 'info_tous_les' => 'tous les :', |
|
| 507 | - 'info_tout_site' => 'Tout le site', |
|
| 508 | - 'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.', |
|
| 509 | - 'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.', |
|
| 510 | - 'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.', |
|
| 511 | - 'info_tout_site5' => 'Article original.', |
|
| 512 | - 'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés. |
|
| 445 | + 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', |
|
| 446 | + 'info_racine_site' => 'Racine du site', |
|
| 447 | + 'info_recharger_page' => 'Veuillez recharger cette page dans quelques instants.', |
|
| 448 | + 'info_recherche_auteur_zero' => 'Aucun résultat pour « @cherche_auteur@ ».', |
|
| 449 | + 'info_recommencer' => 'Veuillez recommencer.', |
|
| 450 | + 'info_redacteur_1' => 'Rédactrice', |
|
| 451 | + 'info_redacteur_2' => 'ayant accès à l’espace privé (<i>recommandé</i>)', |
|
| 452 | + 'info_redacteurs' => 'Rédactrices', |
|
| 453 | + 'info_redaction_en_cours' => 'EN COURS DE RÉDACTION', |
|
| 454 | + 'info_redirection' => 'Redirection', |
|
| 455 | + 'info_redirection_activee' => 'La redirection est activée.', |
|
| 456 | + 'info_redirection_boucle' => 'Vous essayez de rediriger l’article sur lui-même.', |
|
| 457 | + 'info_redirection_desactivee' => 'La redirection a été supprimée.', |
|
| 458 | + 'info_refuses' => 'Vos articles refusés', |
|
| 459 | + 'info_reglage_ldap' => 'Options : <b>Réglage de l’importation LDAP</b>', |
|
| 460 | + 'info_renvoi_article' => '<b>Redirection.</b> Cet article renvoie à la page :', |
|
| 461 | + 'info_reserve_admin' => 'Seuls les administratrices peuvent modifier cette adresse.', |
|
| 462 | + 'info_restreindre_rubrique' => 'Restreindre la gestion à la rubrique :', |
|
| 463 | + 'info_resultat_recherche' => 'Résultats de la recherche :', |
|
| 464 | + 'info_rubriques' => 'Rubriques', |
|
| 465 | + 'info_rubriques_02' => 'rubriques', |
|
| 466 | + 'info_rubriques_trouvees' => 'Rubriques trouvées', |
|
| 467 | + 'info_sans_titre' => 'Sans titre', |
|
| 468 | + 'info_selection_chemin_acces' => '<b>Sélectionnez</b> ci-après le chemin d’accès dans l’annuaire :', |
|
| 469 | + 'info_signatures' => 'signatures', |
|
| 470 | + 'info_site' => 'Site', |
|
| 471 | + 'info_site_2' => 'site :', |
|
| 472 | + 'info_site_min' => 'site', |
|
| 473 | + 'info_site_reference_2' => 'Site référencé', |
|
| 474 | + 'info_site_web' => 'Site Web :', |
|
| 475 | + 'info_sites' => 'sites', |
|
| 476 | + 'info_sites_lies_mot' => 'Les sites référencés liés à ce mot-clé', |
|
| 477 | + 'info_sites_proxy' => 'Utiliser un proxy', |
|
| 478 | + 'info_sites_trouves' => 'Sites trouvés', |
|
| 479 | + 'info_sous_titre' => 'Soustitre :', |
|
| 480 | + 'info_statut_administrateur' => 'Administratrice', |
|
| 481 | + 'info_statut_auteur' => 'Statut de cette autrice :', |
|
| 482 | + 'info_statut_auteur_2' => 'Je suis', |
|
| 483 | + 'info_statut_auteur_a_confirmer' => 'Inscription à confirmer', |
|
| 484 | + 'info_statut_auteur_autre' => 'Autre statut :', |
|
| 485 | + 'info_statut_redacteur' => 'Rédactrice', |
|
| 486 | + 'info_statut_utilisateurs_1' => 'Statut par défaut des utilisatrices importées', |
|
| 487 | + 'info_statut_utilisateurs_2' => 'Choisissez le statut qui est attribué aux personnes présentes dans l’annuaire LDAP lorsqu’elles se connectent pour la première fois. Vous pourrez par la suite modifier cette valeur pour chaque autrice au cas par cas.', |
|
| 488 | + 'info_suivi_activite' => 'Suivi de l’activité éditoriale', |
|
| 489 | + 'info_surtitre' => 'Surtitre :', |
|
| 490 | + 'info_syndication_integrale_1' => 'Votre site propose des fichiers de syndication (voir « <a href="@url@">@titre@</a> »).', |
|
| 491 | + 'info_syndication_integrale_2' => 'Souhaitez-vous transmettre les articles dans leur intégralité, ou ne diffuser qu’un résumé de quelques centaines de caractères ?', |
|
| 492 | + 'info_table_prefix' => 'Vous pouvez modifier le préfixe du nom des tables de données (ceci est indispensable lorsque l’on souhaite installer plusieurs sites dans la même base de données). Ce préfixe s’écrit en lettres minuscules, non accentuées, et sans espace.', |
|
| 493 | + 'info_taille_maximale_images' => 'SPIP va tester la taille maximale des images qu’il peut traiter (en millions de pixels).<br /> Les images plus grandes ne seront pas réduites.', |
|
| 494 | + 'info_taille_maximale_vignette' => 'Taille maximale des vignettes générées par le système :', |
|
| 495 | + 'info_terminer_installation' => 'Vous pouvez maintenant terminer la procédure d’installation standard.', |
|
| 496 | + 'info_texte' => 'Texte', |
|
| 497 | + 'info_texte_explicatif' => 'Texte explicatif', |
|
| 498 | + 'info_texte_long' => '(le texte est long : il apparaît donc en plusieurs parties qui seront recollées après validation.)', |
|
| 499 | + 'info_texte_message' => 'Texte de votre message', |
|
| 500 | + 'info_texte_message_02' => 'Texte du message', |
|
| 501 | + 'info_titre' => 'Titre :', |
|
| 502 | + 'info_total' => 'total :', |
|
| 503 | + 'info_tous_articles_en_redaction' => 'Tous les articles en cours de rédaction', |
|
| 504 | + 'info_tous_articles_presents' => 'Tous les articles publiés dans cette rubrique', |
|
| 505 | + 'info_tous_articles_refuses' => 'Tous les articles refusés', |
|
| 506 | + 'info_tous_les' => 'tous les :', |
|
| 507 | + 'info_tout_site' => 'Tout le site', |
|
| 508 | + 'info_tout_site2' => 'L’article n’a pas été traduit dans cette langue.', |
|
| 509 | + 'info_tout_site3' => 'L’article a été traduit dans cette langue, mais des modifications ont été apportées par la suite à l’article de référence. La traduction doit être mise à jour.', |
|
| 510 | + 'info_tout_site4' => 'L’article a été traduit dans cette langue, et la traduction est à jour.', |
|
| 511 | + 'info_tout_site5' => 'Article original.', |
|
| 512 | + 'info_tout_site6' => '<b>Attention :</b> seuls les articles originaux sont affichés. |
|
| 513 | 513 | Les traductions sont associées à l’original, |
| 514 | 514 | dans une couleur qui indique leur état :', |
| 515 | - 'info_traductions' => 'Traductions', |
|
| 516 | - 'info_travail_colaboratif' => 'Travail collaboratif sur les articles', |
|
| 517 | - 'info_un_article' => 'un article,', |
|
| 518 | - 'info_un_site' => 'un site,', |
|
| 519 | - 'info_une_rubrique' => 'une rubrique,', |
|
| 520 | - 'info_une_rubrique_02' => '1 rubrique', |
|
| 521 | - 'info_url' => 'URL :', |
|
| 522 | - 'info_url_proxy' => 'URL du proxy', |
|
| 523 | - 'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.', |
|
| 524 | - 'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.', |
|
| 525 | - 'info_url_test_proxy' => 'URL de test', |
|
| 526 | - 'info_urlref' => 'Lien hypertexte :', |
|
| 527 | - 'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...', |
|
| 528 | - 'info_visites_par_mois' => 'Affichage par mois :', |
|
| 529 | - 'info_visiteur_1' => 'Visiteuse', |
|
| 530 | - 'info_visiteur_2' => 'du site public', |
|
| 531 | - 'info_visiteurs' => 'Visiteuses', |
|
| 532 | - 'info_visiteurs_02' => 'Visiteuses du site public', |
|
| 533 | - 'info_webmestre_forces' => 'Les webmestres sont actuellement définies dans <tt>@file_options@</tt>.', |
|
| 534 | - 'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur', |
|
| 535 | - 'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.', |
|
| 536 | - 'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...', |
|
| 537 | - 'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :', |
|
| 538 | - 'install_extension_php_obligatoire' => 'SPIP exige l’extension php :', |
|
| 539 | - 'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur', |
|
| 540 | - 'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :', |
|
| 541 | - 'install_pas_table' => 'Base actuellement sans tables', |
|
| 542 | - 'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur', |
|
| 543 | - 'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)', |
|
| 544 | - 'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.', |
|
| 545 | - 'install_select_type_db' => 'Indiquer le type de base de données :', |
|
| 546 | - 'install_select_type_mysql' => 'MySQL', |
|
| 547 | - 'install_select_type_pg' => 'PostgreSQL', |
|
| 548 | - 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 549 | - 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 550 | - 'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur', |
|
| 551 | - 'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :', |
|
| 552 | - 'install_tables_base' => 'Tables de la base', |
|
| 553 | - 'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.', |
|
| 554 | - 'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental', |
|
| 555 | - 'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié', |
|
| 556 | - 'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut', |
|
| 557 | - 'intem_redacteur' => 'rédactrice', |
|
| 558 | - 'intitule_licence' => 'Licence', |
|
| 559 | - 'item_accepter_inscriptions' => 'Accepter les inscriptions', |
|
| 560 | - 'item_activer_messages_avertissement' => 'Activer les messages d’avertissement', |
|
| 561 | - 'item_administrateur_2' => 'administratrice', |
|
| 562 | - 'item_afficher_calendrier' => 'Afficher dans le calendrier', |
|
| 563 | - 'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication', |
|
| 564 | - 'item_choix_administrateurs' => 'les administratrices', |
|
| 565 | - 'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.', |
|
| 566 | - 'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.', |
|
| 567 | - 'item_choix_redacteurs' => 'les rédactrices', |
|
| 568 | - 'item_choix_visiteurs' => 'les visiteuses du site public', |
|
| 569 | - 'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd', |
|
| 570 | - 'item_login' => 'Login', |
|
| 571 | - 'item_messagerie_agenda' => 'Activer la messagerie et l’agenda', |
|
| 572 | - 'item_mots_cles_association_articles' => 'aux articles', |
|
| 573 | - 'item_mots_cles_association_rubriques' => 'aux rubriques', |
|
| 574 | - 'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.', |
|
| 575 | - 'item_non' => 'Non', |
|
| 576 | - 'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions', |
|
| 577 | - 'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement', |
|
| 578 | - 'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier', |
|
| 579 | - 'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé', |
|
| 580 | - 'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers', |
|
| 581 | - 'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda', |
|
| 582 | - 'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.', |
|
| 583 | - 'item_nouvel_auteur' => 'Nouvelle autrice', |
|
| 584 | - 'item_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 585 | - 'item_oui' => 'Oui', |
|
| 586 | - 'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.', |
|
| 587 | - 'item_reponse_article' => 'Réponse à l’article', |
|
| 588 | - 'item_visiteur' => 'visiteuse', |
|
| 515 | + 'info_traductions' => 'Traductions', |
|
| 516 | + 'info_travail_colaboratif' => 'Travail collaboratif sur les articles', |
|
| 517 | + 'info_un_article' => 'un article,', |
|
| 518 | + 'info_un_site' => 'un site,', |
|
| 519 | + 'info_une_rubrique' => 'une rubrique,', |
|
| 520 | + 'info_une_rubrique_02' => '1 rubrique', |
|
| 521 | + 'info_url' => 'URL :', |
|
| 522 | + 'info_url_proxy' => 'URL du proxy', |
|
| 523 | + 'info_url_proxy_pas_conforme' => 'l’URL du proxy n’est pas valide.', |
|
| 524 | + 'info_url_site_pas_conforme' => 'l’URL du site n’est pas valide.', |
|
| 525 | + 'info_url_test_proxy' => 'URL de test', |
|
| 526 | + 'info_urlref' => 'Lien hypertexte :', |
|
| 527 | + 'info_utilisation_spip' => 'Vous pouvez maintenant commencer à utiliser le système de publication assistée...', |
|
| 528 | + 'info_visites_par_mois' => 'Affichage par mois :', |
|
| 529 | + 'info_visiteur_1' => 'Visiteuse', |
|
| 530 | + 'info_visiteur_2' => 'du site public', |
|
| 531 | + 'info_visiteurs' => 'Visiteuses', |
|
| 532 | + 'info_visiteurs_02' => 'Visiteuses du site public', |
|
| 533 | + 'info_webmestre_forces' => 'Les webmestres sont actuellement définies dans <tt>@file_options@</tt>.', |
|
| 534 | + 'install_adresse_base_hebergeur' => 'Adresse de la base de données attribuée par l’hébergeur', |
|
| 535 | + 'install_connect_ok' => 'La nouvelle base a bien été déclarée sous le nom de serveur @connect@.', |
|
| 536 | + 'install_echec_annonce' => 'L’installation va probablement échouer, ou aboutir à un site non fonctionnel...', |
|
| 537 | + 'install_extension_mbstring' => 'SPIP ne fonctionne pas avec :', |
|
| 538 | + 'install_extension_php_obligatoire' => 'SPIP exige l’extension php :', |
|
| 539 | + 'install_login_base_hebergeur' => 'Login de connexion attribué par l’hébergeur', |
|
| 540 | + 'install_nom_base_hebergeur' => 'Nom de la base attribué par l’hébergeur :', |
|
| 541 | + 'install_pas_table' => 'Base actuellement sans tables', |
|
| 542 | + 'install_pass_base_hebergeur' => 'Mot de passe de connexion attribué par l’hébergeur', |
|
| 543 | + 'install_php_version' => 'PHP version @version@ insuffisant (minimum = @minimum@)', |
|
| 544 | + 'install_select_langue' => 'Sélectionnez une langue puis cliquez sur le bouton « suivant » pour lancer la procédure d’installation.', |
|
| 545 | + 'install_select_type_db' => 'Indiquer le type de base de données :', |
|
| 546 | + 'install_select_type_mysql' => 'MySQL', |
|
| 547 | + 'install_select_type_pg' => 'PostgreSQL', |
|
| 548 | + 'install_select_type_sqlite2' => 'SQLite 2', |
|
| 549 | + 'install_select_type_sqlite3' => 'SQLite 3', |
|
| 550 | + 'install_serveur_hebergeur' => 'Serveur de base de données attribué par l’hébergeur', |
|
| 551 | + 'install_table_prefix_hebergeur' => 'Préfixe de table attribué par l’hébergeur :', |
|
| 552 | + 'install_tables_base' => 'Tables de la base', |
|
| 553 | + 'install_types_db_connus' => 'SPIP sait utiliser <b>MySQL</b> (le plus répandu) et <b>SQLite</b>.', |
|
| 554 | + 'install_types_db_connus_avertissement' => 'Le support de <b>PostgreSQL</b> est également proposé à titre experimental', |
|
| 555 | + 'instituer_erreur_statut_a_change' => 'Le statut a déjà été modifié', |
|
| 556 | + 'instituer_erreur_statut_non_autorise' => 'Vous ne pouvez pas choisir ce statut', |
|
| 557 | + 'intem_redacteur' => 'rédactrice', |
|
| 558 | + 'intitule_licence' => 'Licence', |
|
| 559 | + 'item_accepter_inscriptions' => 'Accepter les inscriptions', |
|
| 560 | + 'item_activer_messages_avertissement' => 'Activer les messages d’avertissement', |
|
| 561 | + 'item_administrateur_2' => 'administratrice', |
|
| 562 | + 'item_afficher_calendrier' => 'Afficher dans le calendrier', |
|
| 563 | + 'item_autoriser_syndication_integrale' => 'Diffuser l’intégralité des articles dans les fichiers de syndication', |
|
| 564 | + 'item_choix_administrateurs' => 'les administratrices', |
|
| 565 | + 'item_choix_generation_miniature' => 'Générer automatiquement les miniatures des images.', |
|
| 566 | + 'item_choix_non_generation_miniature' => 'Ne pas générer de miniatures des images.', |
|
| 567 | + 'item_choix_redacteurs' => 'les rédactrices', |
|
| 568 | + 'item_choix_visiteurs' => 'les visiteuses du site public', |
|
| 569 | + 'item_creer_fichiers_authent' => 'Créer les fichiers .htpasswd', |
|
| 570 | + 'item_login' => 'Login', |
|
| 571 | + 'item_messagerie_agenda' => 'Activer la messagerie et l’agenda', |
|
| 572 | + 'item_mots_cles_association_articles' => 'aux articles', |
|
| 573 | + 'item_mots_cles_association_rubriques' => 'aux rubriques', |
|
| 574 | + 'item_mots_cles_association_sites' => 'aux sites référencés ou syndiqués.', |
|
| 575 | + 'item_non' => 'Non', |
|
| 576 | + 'item_non_accepter_inscriptions' => 'Ne pas accepter les inscriptions', |
|
| 577 | + 'item_non_activer_messages_avertissement' => 'Pas de messages d’avertissement', |
|
| 578 | + 'item_non_afficher_calendrier' => 'Ne pas afficher dans le calendrier', |
|
| 579 | + 'item_non_autoriser_syndication_integrale' => 'Ne diffuser qu’un résumé', |
|
| 580 | + 'item_non_creer_fichiers_authent' => 'Ne pas créer ces fichiers', |
|
| 581 | + 'item_non_messagerie_agenda' => 'Désactiver la messagerie et l’agenda', |
|
| 582 | + 'item_non_publier_articles' => 'Ne pas publier les articles avant la date de publication fixée.', |
|
| 583 | + 'item_nouvel_auteur' => 'Nouvelle autrice', |
|
| 584 | + 'item_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 585 | + 'item_oui' => 'Oui', |
|
| 586 | + 'item_publier_articles' => 'Publier les articles, quelle que soit leur date de publication.', |
|
| 587 | + 'item_reponse_article' => 'Réponse à l’article', |
|
| 588 | + 'item_visiteur' => 'visiteuse', |
|
| 589 | 589 | |
| 590 | - // J |
|
| 591 | - 'jour_non_connu_nc' => 'n.c.', |
|
| 590 | + // J |
|
| 591 | + 'jour_non_connu_nc' => 'n.c.', |
|
| 592 | 592 | |
| 593 | - // L |
|
| 594 | - 'label_bando_outils' => 'Barre d’outils', |
|
| 595 | - 'label_bando_outils_afficher' => 'Afficher les outils', |
|
| 596 | - 'label_bando_outils_masquer' => 'Masquer les outils', |
|
| 597 | - 'label_choix_langue' => 'Sélectionnez votre langue', |
|
| 598 | - 'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur', |
|
| 599 | - 'label_slogan_site' => 'Slogan du site', |
|
| 600 | - 'label_taille_ecran' => 'Largeur de l’écran', |
|
| 601 | - 'label_texte_et_icones_navigation' => 'Menu de navigation', |
|
| 602 | - 'label_texte_et_icones_page' => 'Affichage dans la page', |
|
| 603 | - 'ldap_correspondance' => 'héritage du champ @champ@', |
|
| 604 | - 'ldap_correspondance_1' => 'Héritage des champs LDAP', |
|
| 605 | - 'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.', |
|
| 606 | - 'lien_ajouter_auteur' => 'Ajouter cette autrice', |
|
| 607 | - 'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique', |
|
| 608 | - 'lien_email' => 'email', |
|
| 609 | - 'lien_nom_site' => 'NOM DU SITE :', |
|
| 610 | - 'lien_rapide_contenu' => 'Aller au contenu', |
|
| 611 | - 'lien_rapide_navigation' => 'Aller à la navigation', |
|
| 612 | - 'lien_rapide_recherche' => 'Aller à la recherche', |
|
| 613 | - 'lien_retirer_auteur' => 'Retirer l’autrice', |
|
| 614 | - 'lien_retirer_rubrique' => 'Retirer la rubrique', |
|
| 615 | - 'lien_retirer_tous_auteurs' => 'Retirer toutes les autrices', |
|
| 616 | - 'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques', |
|
| 617 | - 'lien_site' => 'site', |
|
| 618 | - 'lien_tout_decocher' => 'Tout décocher', |
|
| 619 | - 'lien_tout_deplier' => 'Tout déplier', |
|
| 620 | - 'lien_tout_replier' => 'Tout replier', |
|
| 621 | - 'lien_tout_supprimer' => 'Tout supprimer', |
|
| 622 | - 'lien_trier_nom' => 'Trier par nom', |
|
| 623 | - 'lien_trier_nombre_articles' => 'Trier par nombre d’articles', |
|
| 624 | - 'lien_trier_statut' => 'Trier par statut', |
|
| 625 | - 'lien_voir_en_ligne' => 'VOIR EN LIGNE :', |
|
| 626 | - 'logo_article' => 'Logo de l’article', |
|
| 627 | - 'logo_auteur' => 'Logo de l’autrice', |
|
| 628 | - 'logo_rubrique' => 'Logo de la rubrique', |
|
| 629 | - 'logo_site' => 'Logo de ce site', |
|
| 630 | - 'logo_standard_rubrique' => 'Logo standard des rubriques', |
|
| 631 | - 'logo_survol' => 'Logo pour survol', |
|
| 593 | + // L |
|
| 594 | + 'label_bando_outils' => 'Barre d’outils', |
|
| 595 | + 'label_bando_outils_afficher' => 'Afficher les outils', |
|
| 596 | + 'label_bando_outils_masquer' => 'Masquer les outils', |
|
| 597 | + 'label_choix_langue' => 'Sélectionnez votre langue', |
|
| 598 | + 'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur', |
|
| 599 | + 'label_slogan_site' => 'Slogan du site', |
|
| 600 | + 'label_taille_ecran' => 'Largeur de l’écran', |
|
| 601 | + 'label_texte_et_icones_navigation' => 'Menu de navigation', |
|
| 602 | + 'label_texte_et_icones_page' => 'Affichage dans la page', |
|
| 603 | + 'ldap_correspondance' => 'héritage du champ @champ@', |
|
| 604 | + 'ldap_correspondance_1' => 'Héritage des champs LDAP', |
|
| 605 | + 'ldap_correspondance_2' => 'Pour chacun des champs SPIP suivants, indiquer le nom du champ LDAP correspondant. Laisser vide pour ne pas le remplir, séparer par des espaces ou des virgules pour essayer plusieurs champs LDAP.', |
|
| 606 | + 'lien_ajouter_auteur' => 'Ajouter cette autrice', |
|
| 607 | + 'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique', |
|
| 608 | + 'lien_email' => 'email', |
|
| 609 | + 'lien_nom_site' => 'NOM DU SITE :', |
|
| 610 | + 'lien_rapide_contenu' => 'Aller au contenu', |
|
| 611 | + 'lien_rapide_navigation' => 'Aller à la navigation', |
|
| 612 | + 'lien_rapide_recherche' => 'Aller à la recherche', |
|
| 613 | + 'lien_retirer_auteur' => 'Retirer l’autrice', |
|
| 614 | + 'lien_retirer_rubrique' => 'Retirer la rubrique', |
|
| 615 | + 'lien_retirer_tous_auteurs' => 'Retirer toutes les autrices', |
|
| 616 | + 'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques', |
|
| 617 | + 'lien_site' => 'site', |
|
| 618 | + 'lien_tout_decocher' => 'Tout décocher', |
|
| 619 | + 'lien_tout_deplier' => 'Tout déplier', |
|
| 620 | + 'lien_tout_replier' => 'Tout replier', |
|
| 621 | + 'lien_tout_supprimer' => 'Tout supprimer', |
|
| 622 | + 'lien_trier_nom' => 'Trier par nom', |
|
| 623 | + 'lien_trier_nombre_articles' => 'Trier par nombre d’articles', |
|
| 624 | + 'lien_trier_statut' => 'Trier par statut', |
|
| 625 | + 'lien_voir_en_ligne' => 'VOIR EN LIGNE :', |
|
| 626 | + 'logo_article' => 'Logo de l’article', |
|
| 627 | + 'logo_auteur' => 'Logo de l’autrice', |
|
| 628 | + 'logo_rubrique' => 'Logo de la rubrique', |
|
| 629 | + 'logo_site' => 'Logo de ce site', |
|
| 630 | + 'logo_standard_rubrique' => 'Logo standard des rubriques', |
|
| 631 | + 'logo_survol' => 'Logo pour survol', |
|
| 632 | 632 | |
| 633 | - // M |
|
| 634 | - 'menu_aide_installation_choix_base' => 'Choix de votre base', |
|
| 635 | - 'module_fichier_langue' => 'Fichier de langue', |
|
| 636 | - 'module_raccourci' => 'Raccourci', |
|
| 637 | - 'module_texte_affiche' => 'Texte affiché', |
|
| 638 | - 'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.', |
|
| 639 | - 'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :', |
|
| 640 | - 'mois_non_connu' => 'non connu', |
|
| 633 | + // M |
|
| 634 | + 'menu_aide_installation_choix_base' => 'Choix de votre base', |
|
| 635 | + 'module_fichier_langue' => 'Fichier de langue', |
|
| 636 | + 'module_raccourci' => 'Raccourci', |
|
| 637 | + 'module_texte_affiche' => 'Texte affiché', |
|
| 638 | + 'module_texte_explicatif' => 'Vous pouvez insérer les raccourcis suivants dans les squelettes de votre site public. Ils seront automatiquement traduits dans les différentes langues pour lesquelles il existe un fichier de langue.', |
|
| 639 | + 'module_texte_traduction' => 'Le fichier de langue « @module@ » est disponible en :', |
|
| 640 | + 'mois_non_connu' => 'non connu', |
|
| 641 | 641 | |
| 642 | - // N |
|
| 643 | - 'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible', |
|
| 644 | - 'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible', |
|
| 642 | + // N |
|
| 643 | + 'nouvelle_version_spip' => 'La mise à jour @version@ de SPIP est disponible', |
|
| 644 | + 'nouvelle_version_spip_majeure' => 'Une nouvelle version SPIP @version@ est disponible', |
|
| 645 | 645 | |
| 646 | - // O |
|
| 647 | - 'onglet_contenu' => 'Contenu', |
|
| 648 | - 'onglet_declarer_une_autre_base' => 'Déclarer une autre base', |
|
| 649 | - 'onglet_discuter' => 'Discuter', |
|
| 650 | - 'onglet_interactivite' => 'Interactivité', |
|
| 651 | - 'onglet_proprietes' => 'Propriétés', |
|
| 652 | - 'onglet_repartition_actuelle' => 'actuellement', |
|
| 653 | - 'onglet_sous_rubriques' => 'Sous-rubriques', |
|
| 646 | + // O |
|
| 647 | + 'onglet_contenu' => 'Contenu', |
|
| 648 | + 'onglet_declarer_une_autre_base' => 'Déclarer une autre base', |
|
| 649 | + 'onglet_discuter' => 'Discuter', |
|
| 650 | + 'onglet_interactivite' => 'Interactivité', |
|
| 651 | + 'onglet_proprietes' => 'Propriétés', |
|
| 652 | + 'onglet_repartition_actuelle' => 'actuellement', |
|
| 653 | + 'onglet_sous_rubriques' => 'Sous-rubriques', |
|
| 654 | 654 | |
| 655 | - // P |
|
| 656 | - 'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy', |
|
| 657 | - 'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)', |
|
| 658 | - 'phpinfo' => 'Configuration PHP', |
|
| 659 | - 'plugin_charge_paquet' => 'Chargement du paquet @name@', |
|
| 660 | - 'plugin_charger' => 'Télécharger', |
|
| 661 | - 'plugin_erreur_charger' => 'erreur : impossible de charger @zip@', |
|
| 662 | - 'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.', |
|
| 663 | - 'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.', |
|
| 664 | - 'plugin_erreur_zip' => 'échec pclzip : erreur @status@', |
|
| 665 | - 'plugin_etat_developpement' => 'en développement', |
|
| 666 | - 'plugin_etat_experimental' => 'expérimental', |
|
| 667 | - 'plugin_etat_stable' => 'stable', |
|
| 668 | - 'plugin_etat_test' => 'en test', |
|
| 669 | - 'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@', |
|
| 670 | - 'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :', |
|
| 671 | - 'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :', |
|
| 672 | - 'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;', |
|
| 673 | - 'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.', |
|
| 674 | - 'plugin_info_automatique_creer' => 'à créer à la racine du site.', |
|
| 675 | - 'plugin_info_automatique_exemples' => 'exemples :', |
|
| 676 | - 'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>', |
|
| 677 | - 'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.', |
|
| 678 | - 'plugin_info_automatique_liste' => 'Vos listes de plugins :', |
|
| 679 | - 'plugin_info_automatique_liste_officielle' => 'les plugins officiels', |
|
| 680 | - 'plugin_info_automatique_liste_update' => 'Mettre à jour les listes', |
|
| 681 | - 'plugin_info_automatique_ou' => 'ou...', |
|
| 682 | - 'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.', |
|
| 683 | - 'plugin_info_credit' => 'Crédits', |
|
| 684 | - 'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte', |
|
| 685 | - 'plugin_info_install_ok' => 'Installation réussie', |
|
| 686 | - 'plugin_info_necessite' => 'Nécessite :', |
|
| 687 | - 'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP', |
|
| 688 | - 'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.', |
|
| 689 | - 'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.', |
|
| 690 | - 'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', |
|
| 691 | - 'plugin_info_upgrade_ok' => 'Mise à jour réussie', |
|
| 692 | - 'plugin_librairies_installees' => 'Librairies installées', |
|
| 693 | - 'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.', |
|
| 694 | - 'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@', |
|
| 695 | - 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', |
|
| 696 | - 'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.', |
|
| 697 | - 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', |
|
| 698 | - 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', |
|
| 699 | - 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', |
|
| 700 | - 'plugin_source' => 'source : ', |
|
| 701 | - 'plugin_titre_automatique' => 'Installation automatique', |
|
| 702 | - 'plugin_titre_automatique_ajouter' => 'Ajouter des plugins', |
|
| 703 | - 'plugin_titre_installation' => 'Installation du plugin @plugin@', |
|
| 704 | - 'plugin_titre_modifier' => 'Mes plugins', |
|
| 705 | - 'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.', |
|
| 706 | - 'plugin_utilise_php' => '@plugin@ doit être en version @version@.', |
|
| 707 | - 'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.', |
|
| 708 | - 'plugin_zip_active' => 'Continuez pour l’activer', |
|
| 709 | - 'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.', |
|
| 710 | - 'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ', |
|
| 711 | - 'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>', |
|
| 712 | - 'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.', |
|
| 713 | - 'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@', |
|
| 714 | - 'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.', |
|
| 715 | - 'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé', |
|
| 716 | - 'plugins_actif_aucun' => 'Aucun plugin activé.', |
|
| 717 | - 'plugins_actif_un' => 'Un plugin activé.', |
|
| 718 | - 'plugins_actifs' => '@count@ plugins activés.', |
|
| 719 | - 'plugins_actifs_liste' => 'Actifs', |
|
| 720 | - 'plugins_compte' => '@count@ plugins', |
|
| 721 | - 'plugins_disponible_un' => 'Un plugin disponible.', |
|
| 722 | - 'plugins_disponibles' => '@count@ plugins disponibles.', |
|
| 723 | - 'plugins_erreur' => 'Erreur dans les plugins : @plugins@', |
|
| 724 | - 'plugins_liste' => 'Liste des plugins', |
|
| 725 | - 'plugins_liste_dist' => 'Plugins verrouillés', |
|
| 726 | - 'plugins_recents' => 'Plugins récents.', |
|
| 727 | - 'plugins_tous_liste' => 'Tous', |
|
| 728 | - 'plugins_vue_hierarchie' => 'Hiérarchie', |
|
| 729 | - 'plugins_vue_liste' => 'Liste', |
|
| 730 | - 'protocole_ldap' => 'Version du protocole :', |
|
| 655 | + // P |
|
| 656 | + 'page_pas_proxy' => 'Cette page ne doit pas passer par le proxy', |
|
| 657 | + 'pas_de_proxy_pour' => 'Au besoin, indiquez les machines ou domaines pour lesquels ce proxy ne doit pas s’appliquer (par exemple : @exemple@)', |
|
| 658 | + 'phpinfo' => 'Configuration PHP', |
|
| 659 | + 'plugin_charge_paquet' => 'Chargement du paquet @name@', |
|
| 660 | + 'plugin_charger' => 'Télécharger', |
|
| 661 | + 'plugin_erreur_charger' => 'erreur : impossible de charger @zip@', |
|
| 662 | + 'plugin_erreur_droit1' => 'Le répertoire <code>@dest@</code> n’est pas accessible en écriture.', |
|
| 663 | + 'plugin_erreur_droit2' => 'Veuillez vérifier les droits sur ce répertoire (et le créer le cas échéant), ou installer les fichiers par FTP.', |
|
| 664 | + 'plugin_erreur_zip' => 'échec pclzip : erreur @status@', |
|
| 665 | + 'plugin_etat_developpement' => 'en développement', |
|
| 666 | + 'plugin_etat_experimental' => 'expérimental', |
|
| 667 | + 'plugin_etat_stable' => 'stable', |
|
| 668 | + 'plugin_etat_test' => 'en test', |
|
| 669 | + 'plugin_impossible_activer' => 'Impossible d’activer le plugin @plugin@', |
|
| 670 | + 'plugin_info_automatique1' => 'Si vous souhaitez autoriser l’installation automatique des plugins, veuillez :', |
|
| 671 | + 'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l’installation automatique de cette librairie, veuillez :', |
|
| 672 | + 'plugin_info_automatique2' => 'créer un répertoire <code>@rep@</code> ;', |
|
| 673 | + 'plugin_info_automatique3' => 'vérifier que le serveur est autorisé à écrire dans ce répertoire.', |
|
| 674 | + 'plugin_info_automatique_creer' => 'à créer à la racine du site.', |
|
| 675 | + 'plugin_info_automatique_exemples' => 'exemples :', |
|
| 676 | + 'plugin_info_automatique_ftp' => 'Vous pouvez installer des plugins, par FTP, dans le répertoire <tt>@rep@</tt>', |
|
| 677 | + 'plugin_info_automatique_lib' => 'Certains plugins demandent aussi à pouvoir télécharger des fichiers dans le répertoire <code>lib/</code>, à créer le cas échéant à la racine du site.', |
|
| 678 | + 'plugin_info_automatique_liste' => 'Vos listes de plugins :', |
|
| 679 | + 'plugin_info_automatique_liste_officielle' => 'les plugins officiels', |
|
| 680 | + 'plugin_info_automatique_liste_update' => 'Mettre à jour les listes', |
|
| 681 | + 'plugin_info_automatique_ou' => 'ou...', |
|
| 682 | + 'plugin_info_automatique_select' => 'Sélectionnez ci-dessous un plugin : SPIP le téléchargera et l’installera dans le répertoire <code>@rep@</code> ; si ce plugin existe déjà, il sera mis à jour.', |
|
| 683 | + 'plugin_info_credit' => 'Crédits', |
|
| 684 | + 'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte', |
|
| 685 | + 'plugin_info_install_ok' => 'Installation réussie', |
|
| 686 | + 'plugin_info_necessite' => 'Nécessite :', |
|
| 687 | + 'plugin_info_non_compatible_spip' => 'Ce plugin n’est pas compatible avec cette version de SPIP', |
|
| 688 | + 'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.', |
|
| 689 | + 'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.', |
|
| 690 | + 'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', |
|
| 691 | + 'plugin_info_upgrade_ok' => 'Mise à jour réussie', |
|
| 692 | + 'plugin_librairies_installees' => 'Librairies installées', |
|
| 693 | + 'plugin_necessite_extension_php' => 'Nécessite l’extension PHP @plugin@ en version @version@.', |
|
| 694 | + 'plugin_necessite_extension_php_sans_version' => 'Nécessite l’extension PHP @plugin@', |
|
| 695 | + 'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', |
|
| 696 | + 'plugin_necessite_php' => 'Nécessite @plugin@ en version @version@.', |
|
| 697 | + 'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', |
|
| 698 | + 'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', |
|
| 699 | + 'plugin_necessite_spip' => 'Nécessite SPIP en version @version@ minimum.', |
|
| 700 | + 'plugin_source' => 'source : ', |
|
| 701 | + 'plugin_titre_automatique' => 'Installation automatique', |
|
| 702 | + 'plugin_titre_automatique_ajouter' => 'Ajouter des plugins', |
|
| 703 | + 'plugin_titre_installation' => 'Installation du plugin @plugin@', |
|
| 704 | + 'plugin_titre_modifier' => 'Mes plugins', |
|
| 705 | + 'plugin_utilise_extension_php' => 'L’extension PHP @plugin@ doit être en version @version@.', |
|
| 706 | + 'plugin_utilise_php' => '@plugin@ doit être en version @version@.', |
|
| 707 | + 'plugin_utilise_plugin' => 'Le plugin @plugin@ doit être en version @version@.', |
|
| 708 | + 'plugin_zip_active' => 'Continuez pour l’activer', |
|
| 709 | + 'plugin_zip_adresse' => 'indiquez ci-dessous l’adresse d’un fichier zip de plugin à télécharger, ou encore l’adresse d’une liste de plugins.', |
|
| 710 | + 'plugin_zip_adresse_champ' => 'Adresse du plugin ou de la liste ', |
|
| 711 | + 'plugin_zip_content' => 'Il contient les fichiers suivants (@taille@),<br />prêts à installer dans le répertoire <code>@rep@</code>', |
|
| 712 | + 'plugin_zip_installe_finie' => 'Le fichier @zip@ a été décompacté et installé.', |
|
| 713 | + 'plugin_zip_installe_rep_finie' => 'Le fichier @zip@ a été décompacté et installé dans le répertoire @rep@', |
|
| 714 | + 'plugin_zip_installer' => 'Vous pouvez maintenant l’installer.', |
|
| 715 | + 'plugin_zip_telecharge' => 'Le fichier @zip@ a été téléchargé', |
|
| 716 | + 'plugins_actif_aucun' => 'Aucun plugin activé.', |
|
| 717 | + 'plugins_actif_un' => 'Un plugin activé.', |
|
| 718 | + 'plugins_actifs' => '@count@ plugins activés.', |
|
| 719 | + 'plugins_actifs_liste' => 'Actifs', |
|
| 720 | + 'plugins_compte' => '@count@ plugins', |
|
| 721 | + 'plugins_disponible_un' => 'Un plugin disponible.', |
|
| 722 | + 'plugins_disponibles' => '@count@ plugins disponibles.', |
|
| 723 | + 'plugins_erreur' => 'Erreur dans les plugins : @plugins@', |
|
| 724 | + 'plugins_liste' => 'Liste des plugins', |
|
| 725 | + 'plugins_liste_dist' => 'Plugins verrouillés', |
|
| 726 | + 'plugins_recents' => 'Plugins récents.', |
|
| 727 | + 'plugins_tous_liste' => 'Tous', |
|
| 728 | + 'plugins_vue_hierarchie' => 'Hiérarchie', |
|
| 729 | + 'plugins_vue_liste' => 'Liste', |
|
| 730 | + 'protocole_ldap' => 'Version du protocole :', |
|
| 731 | 731 | |
| 732 | - // Q |
|
| 733 | - 'queue_executer_maintenant' => 'Exécuter maintenant', |
|
| 734 | - 'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques', |
|
| 735 | - 'queue_nb_jobs_in_queue' => '@nb@ tâches en attente', |
|
| 736 | - 'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s', |
|
| 737 | - 'queue_no_job_in_queue' => 'Aucune tâche en attente', |
|
| 738 | - 'queue_one_job_in_queue' => '1 tâche en attente', |
|
| 739 | - 'queue_priorite_tache' => 'priorité', |
|
| 740 | - 'queue_purger_queue' => 'Réinitialiser la liste des tâches', |
|
| 741 | - 'queue_titre' => 'Tâches de fond', |
|
| 732 | + // Q |
|
| 733 | + 'queue_executer_maintenant' => 'Exécuter maintenant', |
|
| 734 | + 'queue_info_purger' => 'Vous pouvez supprimer toutes les tâches de fond en attente et réinitialiser la liste avec les tâches périodiques', |
|
| 735 | + 'queue_nb_jobs_in_queue' => '@nb@ tâches en attente', |
|
| 736 | + 'queue_next_job_in_nb_sec' => 'Prochaine tâche dans @nb@ s', |
|
| 737 | + 'queue_no_job_in_queue' => 'Aucune tâche en attente', |
|
| 738 | + 'queue_one_job_in_queue' => '1 tâche en attente', |
|
| 739 | + 'queue_priorite_tache' => 'priorité', |
|
| 740 | + 'queue_purger_queue' => 'Réinitialiser la liste des tâches', |
|
| 741 | + 'queue_titre' => 'Tâches de fond', |
|
| 742 | 742 | |
| 743 | - // R |
|
| 744 | - 'repertoire_plugins' => 'Répertoire :', |
|
| 745 | - 'required' => '(obligatoire)', |
|
| 743 | + // R |
|
| 744 | + 'repertoire_plugins' => 'Répertoire :', |
|
| 745 | + 'required' => '(obligatoire)', |
|
| 746 | 746 | |
| 747 | - // S |
|
| 748 | - 'sans_heure' => 'sans heure', |
|
| 749 | - 'statut_admin_restreint' => 'admin restreinte', |
|
| 750 | - 'statut_webmestre' => 'webmestre', |
|
| 747 | + // S |
|
| 748 | + 'sans_heure' => 'sans heure', |
|
| 749 | + 'statut_admin_restreint' => 'admin restreinte', |
|
| 750 | + 'statut_webmestre' => 'webmestre', |
|
| 751 | 751 | |
| 752 | - // T |
|
| 753 | - 'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)', |
|
| 754 | - 'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)', |
|
| 755 | - 'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.', |
|
| 756 | - 'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du répertoire du cache.', |
|
| 757 | - 'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.', |
|
| 758 | - 'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.', |
|
| 759 | - 'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.', |
|
| 760 | - 'taille_cache_vide' => 'Le cache est vide.', |
|
| 761 | - 'taille_repertoire_cache' => 'Taille du répertoire cache', |
|
| 762 | - 'text_article_propose_publication' => 'Article proposé pour la publication.', |
|
| 763 | - 'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.', |
|
| 764 | - 'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données, |
|
| 752 | + // T |
|
| 753 | + 'tache_cron_asap' => 'Tâche CRON @function@ (ASAP)', |
|
| 754 | + 'tache_cron_secondes' => 'Tâche CRON @function@ (toutes les @nb@ s)', |
|
| 755 | + 'taille_cache_image' => 'Les images calculées automatiquement par SPIP (vignettes des documents, titres présentés sous forme graphique, fonctions mathématiques au format TeX...) occupent dans le répertoire @dir@ un total de @taille@.', |
|
| 756 | + 'taille_cache_infinie' => 'Ce site ne prévoit pas de limitation de taille du répertoire du cache.', |
|
| 757 | + 'taille_cache_maxi' => 'SPIP essaie de limiter la taille du répertoire du cache de ce site à environ <b>@octets@</b> de données.', |
|
| 758 | + 'taille_cache_moins_de' => 'La taille du cache est de moins de @octets@.', |
|
| 759 | + 'taille_cache_octets' => 'La taille du cache est actuellement de @octets@ environ.', |
|
| 760 | + 'taille_cache_vide' => 'Le cache est vide.', |
|
| 761 | + 'taille_repertoire_cache' => 'Taille du répertoire cache', |
|
| 762 | + 'text_article_propose_publication' => 'Article proposé pour la publication.', |
|
| 763 | + 'texte_acces_ldap_anonyme_1' => 'Certains serveurs LDAP n’acceptent aucun accès anonyme. Dans ce cas il faut spécifier un identifiant d’accès initial afin de pouvoir ensuite rechercher des informations dans l’annuaire. Dans la plupart des cas néanmoins, les champs suivants pourront être laissés vides.', |
|
| 764 | + 'texte_admin_effacer_01' => 'Cette commande efface <i>tout</i> le contenu de la base de données, |
|
| 765 | 765 | y compris <i>tous</i> les accès rédactrices et administratrices. Après l’avoir exécutée, vous devrez lancer la |
| 766 | 766 | réinstallation de SPIP pour recréer une nouvelle base ainsi qu’un premier accès administratrice.', |
| 767 | - 'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)', |
|
| 768 | - 'texte_ajout_auteur' => 'L’autrice suivante a été ajoutée à l’article :', |
|
| 769 | - 'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisatrices sous SPIP.', |
|
| 770 | - 'texte_article_statut' => 'Cet article est :', |
|
| 771 | - 'texte_article_virtuel' => 'Article virtuel', |
|
| 772 | - 'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.', |
|
| 773 | - 'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"', |
|
| 774 | - 'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédactrices connectées, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisatrices).', |
|
| 775 | - 'texte_auteurs' => 'LES AUTRICES', |
|
| 776 | - 'texte_choix_base_1' => 'Choisissez votre base :', |
|
| 777 | - 'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.', |
|
| 778 | - 'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :', |
|
| 779 | - 'texte_choix_table_prefix' => 'Préfixe des tables :', |
|
| 780 | - 'texte_compte_element' => '@count@ élément', |
|
| 781 | - 'texte_compte_elements' => '@count@ éléments', |
|
| 782 | - 'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.', |
|
| 783 | - 'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.', |
|
| 784 | - 'texte_contenu_article' => '(Contenu de l’article en quelques mots.)', |
|
| 785 | - 'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider |
|
| 767 | + 'texte_adresse_annuaire_1' => '(Si votre annuaire est installé sur la même machine que ce site Web, il s’agit probablement de « localhost ».)', |
|
| 768 | + 'texte_ajout_auteur' => 'L’autrice suivante a été ajoutée à l’article :', |
|
| 769 | + 'texte_annuaire_ldap_1' => 'Si vous avez accès à un annuaire (LDAP), vous pouvez l’utiliser pour importer automatiquement des utilisatrices sous SPIP.', |
|
| 770 | + 'texte_article_statut' => 'Cet article est :', |
|
| 771 | + 'texte_article_virtuel' => 'Article virtuel', |
|
| 772 | + 'texte_article_virtuel_reference' => '<b>Article virtuel :</b> article référencé dans votre site SPIP, mais redirigé vers une autre URL. Pour supprimer la redirection, effacez l’URL ci-dessus.', |
|
| 773 | + 'texte_aucun_resultat_auteur' => 'Aucun résultat pour "@cherche_auteur@"', |
|
| 774 | + 'texte_auteur_messagerie' => 'Ce site peut vous indiquer en permanence la liste des rédactrices connectées, ce qui vous permet d’échanger des messages en direct. Vous pouvez décider de ne pas apparaître dans cette liste (vous êtes « invisible » pour les autres utilisatrices).', |
|
| 775 | + 'texte_auteurs' => 'LES AUTRICES', |
|
| 776 | + 'texte_choix_base_1' => 'Choisissez votre base :', |
|
| 777 | + 'texte_choix_base_2' => 'Le serveur SQL contient plusieurs bases de données.', |
|
| 778 | + 'texte_choix_base_3' => '<b>Sélectionnez</b> ci-après celle qui vous a été attribuée par votre hébergeur :', |
|
| 779 | + 'texte_choix_table_prefix' => 'Préfixe des tables :', |
|
| 780 | + 'texte_compte_element' => '@count@ élément', |
|
| 781 | + 'texte_compte_elements' => '@count@ éléments', |
|
| 782 | + 'texte_conflit_edition_correction' => 'Veuillez contrôler ci-dessous les différences entre les deux versions du texte ; vous pouvez aussi copier vos modifications, puis recommencer.', |
|
| 783 | + 'texte_connexion_mysql' => 'Consultez les informations fournies par votre hébergeur : vous devez y trouver le serveur de base de données qu’il propose et vos identifiants personnels pour vous y connecter.', |
|
| 784 | + 'texte_contenu_article' => '(Contenu de l’article en quelques mots.)', |
|
| 785 | + 'texte_contenu_articles' => 'Selon la maquette adoptée pour votre site, vous pouvez décider |
|
| 786 | 786 | que certains éléments des articles ne sont pas utilisés. |
| 787 | 787 | Utilisez la liste ci-dessous pour indiquer quels éléments sont disponibles.', |
| 788 | - 'texte_crash_base' => 'Si votre base de données a |
|
| 788 | + 'texte_crash_base' => 'Si votre base de données a |
|
| 789 | 789 | crashé, vous pouvez tenter une réparation |
| 790 | 790 | automatique.', |
| 791 | - 'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.', |
|
| 792 | - 'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', |
|
| 793 | - 'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":" |
|
| 794 | - 'texte_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 795 | - 'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.', |
|
| 796 | - 'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :', |
|
| 797 | - 'texte_date_publication_objet' => 'Date de publication en ligne :', |
|
| 798 | - 'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :', |
|
| 799 | - 'texte_descriptif_rapide' => 'Descriptif rapide', |
|
| 800 | - 'texte_effacer_base' => 'Effacer la base de données SPIP', |
|
| 801 | - 'texte_effacer_statistiques' => 'Effacer les statistiques', |
|
| 802 | - 'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.', |
|
| 803 | - 'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».', |
|
| 804 | - 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> |
|
| 791 | + 'texte_creer_rubrique' => 'Avant de pouvoir écrire des articles,<br /> vous devez créer une rubrique.', |
|
| 792 | + 'texte_date_creation_article' => 'DATE DE CRÉATION DE L’ARTICLE :', |
|
| 793 | + 'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":" |
|
| 794 | + 'texte_date_publication_anterieure' => 'Date de rédaction antérieure :', |
|
| 795 | + 'texte_date_publication_anterieure_nonaffichee' => 'Ne pas afficher de date de rédaction antérieure.', |
|
| 796 | + 'texte_date_publication_article' => 'DATE DE PUBLICATION EN LIGNE :', |
|
| 797 | + 'texte_date_publication_objet' => 'Date de publication en ligne :', |
|
| 798 | + 'texte_definir_comme_traduction_rubrique' => 'Cette rubrique est une traduction de la rubrique numéro :', |
|
| 799 | + 'texte_descriptif_rapide' => 'Descriptif rapide', |
|
| 800 | + 'texte_effacer_base' => 'Effacer la base de données SPIP', |
|
| 801 | + 'texte_effacer_statistiques' => 'Effacer les statistiques', |
|
| 802 | + 'texte_en_cours_validation' => 'Les contenus ci-dessous sont en attente de validation.', |
|
| 803 | + 'texte_enrichir_mise_a_jour' => 'Vous pouvez enrichir la mise en page de votre texte en utilisant des « raccourcis typographiques ».', |
|
| 804 | + 'texte_fichier_authent' => '<b>SPIP doit-il créer les fichiers spéciaux <tt>.htpasswd</tt> et <tt>.htpasswd-admin</tt> dans le répertoire @dossier@ ?</b> |
|
| 805 | 805 | <p>Ces fichiers peuvent vous servir à restreindre l’accès aux autrices et administratrices en d’autres endroits de votre site (programme externe de statistiques, par exemple).</p> |
| 806 | 806 | <p>Si vous n’en avez pas l’utilité, vous pouvez laisser cette option à sa valeur par défaut (pas de création des fichiers).</p>', |
| 807 | - 'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.', |
|
| 808 | - 'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez', |
|
| 809 | - 'texte_introductif_article' => '(Texte introductif de l’article.)', |
|
| 810 | - 'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.', |
|
| 811 | - 'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :', |
|
| 812 | - 'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :', |
|
| 813 | - 'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 814 | - 'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connectée actuellement. |
|
| 807 | + 'texte_informations_personnelles_1' => 'Le système va maintenant vous créer un accès personnalisé au site.', |
|
| 808 | + 'texte_informations_personnelles_2' => '(Note : il s’agit d’une réinstallation, si votre accès marche toujours vous pouvez', |
|
| 809 | + 'texte_introductif_article' => '(Texte introductif de l’article.)', |
|
| 810 | + 'texte_jeu_caractere' => 'Il est conseillé d’employer, sur votre site, l’alphabet universel (<tt>utf-8</tt>) : celui-ci permet l’affichage de textes dans toutes les langues, et ne pose plus de problèmes de compatibilité avec les navigateurs modernes.', |
|
| 811 | + 'texte_jeu_caractere_3' => 'Votre site est actuellement installé dans le jeu de caractères :', |
|
| 812 | + 'texte_jeu_caractere_4' => 'Si cela ne correspond pas à la réalité de vos données (suite, par exemple, à une restauration de base de données), ou si <em>vous démarrez ce site</em> et souhaitez partir sur un autre jeu de caractères, veuillez indiquer ce dernier ici :', |
|
| 813 | + 'texte_login_ldap_1' => '(Laisser vide pour un accès anonyme, ou entrer le chemin complet, par exemple « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 814 | + 'texte_login_precaution' => 'Attention ! Ceci est le login sous lequel vous êtes connectée actuellement. |
|
| 815 | 815 | Utilisez ce formulaire avec précaution...', |
| 816 | - 'texte_messagerie_agenda' => 'Une messagerie permet aux rédactrices du site de communiquer entre elles directement dans l’espace privé du site. Elle est associée à un agenda.', |
|
| 817 | - 'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP. |
|
| 816 | + 'texte_messagerie_agenda' => 'Une messagerie permet aux rédactrices du site de communiquer entre elles directement dans l’espace privé du site. Elle est associée à un agenda.', |
|
| 817 | + 'texte_mise_a_niveau_base_1' => 'Vous venez de mettre à jour les fichiers SPIP. |
|
| 818 | 818 | Il faut maintenant mettre à niveau la base de données |
| 819 | 819 | du site.', |
| 820 | - 'texte_modifier_article' => 'Modifier l’article :', |
|
| 821 | - 'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.', |
|
| 822 | - 'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.', |
|
| 823 | - 'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)', |
|
| 824 | - 'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.', |
|
| 825 | - 'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>', |
|
| 826 | - 'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.', |
|
| 827 | - 'texte_plus_trois_car' => 'plus de 3 caractères', |
|
| 828 | - 'texte_plusieurs_articles' => 'Plusieurs autrices trouvées pour "@cherche_auteur@" :', |
|
| 829 | - 'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)', |
|
| 830 | - 'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.', |
|
| 831 | - 'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.', |
|
| 832 | - 'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.', |
|
| 833 | - 'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la |
|
| 820 | + 'texte_modifier_article' => 'Modifier l’article :', |
|
| 821 | + 'texte_multilinguisme' => 'Si vous souhaitez gérer des objets en plusieurs langues, avec une navigation complexe, vous pouvez ajouter un menu de sélection de langue sur ces objets, en fonction de l’organisation de votre site.', |
|
| 822 | + 'texte_multilinguisme_trad' => 'Vous pouvez également activer un système de gestion de liens entre les différentes traductions sur certains objets.', |
|
| 823 | + 'texte_non_compresse' => '<i>non compressé</i> (votre serveur ne supportant pas cette fonctionnalité)', |
|
| 824 | + 'texte_nouvelle_version_spip_1' => 'Vous avez installé une nouvelle version de SPIP.', |
|
| 825 | + 'texte_nouvelle_version_spip_2' => 'Cette nouvelle version nécessite une mise à jour plus complète qu’à l’accoutumée. Si vous êtes webmestre du site, veuillez effacer le fichier @connect@ et reprendre l’installation afin de mettre à jour vos paramètres de connexion à la base de données.<p> (NB. : si vous avez oublié vos paramètres de connexion, jetez un œil au fichier @connect@ avant de le supprimer...)</p>', |
|
| 826 | + 'texte_operation_echec' => 'Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.', |
|
| 827 | + 'texte_plus_trois_car' => 'plus de 3 caractères', |
|
| 828 | + 'texte_plusieurs_articles' => 'Plusieurs autrices trouvées pour "@cherche_auteur@" :', |
|
| 829 | + 'texte_port_annuaire' => '(La valeur indiquée par défaut convient généralement.)', |
|
| 830 | + 'texte_presente_plugin' => 'Cette page liste les plugins disponibles sur le site. Vous pouvez activer les plugins nécessaires en cochant la case correspondante.', |
|
| 831 | + 'texte_proposer_publication' => 'Lorsque votre article est terminé,<br /> vous pouvez proposer sa publication.', |
|
| 832 | + 'texte_proxy' => 'Dans certains cas (intranet, réseaux protégés), les sites distants (documentation de SPIP, sites syndiqués, etc.) ne sont accessibles qu’à travers un <i>proxy HTTP</i>. Le cas échéant, indiquez ci-dessous son adresse, sous la forme @proxy_en_cours@. En général, vous laisserez cette case vide.', |
|
| 833 | + 'texte_publication_articles_post_dates' => 'Quel comportement SPIP doit-il adopter face aux articles dont la |
|
| 834 | 834 | date de publication a été fixée à une |
| 835 | 835 | échéance future ?', |
| 836 | - 'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]', |
|
| 837 | - 'texte_recalcul_page' => 'Si vous voulez |
|
| 836 | + 'texte_rappel_selection_champs' => '[N’oubliez pas de sélectionner correctement ce champ.]', |
|
| 837 | + 'texte_recalcul_page' => 'Si vous voulez |
|
| 838 | 838 | recalculer une seule page, passez plutôt par l’espace public et utilisez-y le bouton « recalculer ».', |
| 839 | - 'texte_recuperer_base' => 'Réparer la base de données', |
|
| 840 | - 'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.', |
|
| 841 | - 'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent |
|
| 839 | + 'texte_recuperer_base' => 'Réparer la base de données', |
|
| 840 | + 'texte_reference_mais_redirige' => 'article référencé dans votre site SPIP, mais redirigé vers une autre URL.', |
|
| 841 | + 'texte_requetes_echouent' => '<b>Lorsque certaines requêtes SQL échouent |
|
| 842 | 842 | systématiquement et sans raison apparente, il est possible |
| 843 | 843 | que ce soit à cause de la base de données |
| 844 | 844 | elle-même.</b><p> |
@@ -849,90 +849,90 @@ discard block |
||
| 849 | 849 | peut-être des indices de ce qui ne va pas...</p><p> |
| 850 | 850 | Si le problème persiste, prenez contact avec votre |
| 851 | 851 | hébergeur.</p>', |
| 852 | - 'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer : |
|
| 852 | + 'texte_selection_langue_principale' => 'Vous pouvez sélectionner ci-dessous la « langue principale » du site. Ce choix ne vous oblige - heureusement ! - pas à écrire vos articles dans la langue sélectionnée, mais permet de déterminer : |
|
| 853 | 853 | <ul><li> le format par défaut des dates sur le site public ;</li> |
| 854 | 854 | <li> la nature du moteur typographique que SPIP doit utiliser pour le rendu des textes ;</li> |
| 855 | 855 | <li> la langue utilisée dans les formulaires du site public ;</li> |
| 856 | 856 | <li> la langue présentée par défaut dans l’espace privé.</li></ul>', |
| 857 | - 'texte_sous_titre' => 'Sous-titre', |
|
| 858 | - 'texte_statistiques_visites' => '(barres foncées : dimanche / courbe foncée : évolution de la moyenne)', |
|
| 859 | - 'texte_statut_attente_validation' => 'en attente de validation', |
|
| 860 | - 'texte_statut_publies' => 'publiés en ligne', |
|
| 861 | - 'texte_statut_refuses' => 'refusés', |
|
| 862 | - 'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents |
|
| 857 | + 'texte_sous_titre' => 'Sous-titre', |
|
| 858 | + 'texte_statistiques_visites' => '(barres foncées : dimanche / courbe foncée : évolution de la moyenne)', |
|
| 859 | + 'texte_statut_attente_validation' => 'en attente de validation', |
|
| 860 | + 'texte_statut_publies' => 'publiés en ligne', |
|
| 861 | + 'texte_statut_refuses' => 'refusés', |
|
| 862 | + 'texte_suppression_fichiers' => 'Utilisez cette commande afin de supprimer tous les fichiers présents |
|
| 863 | 863 | dans le cache SPIP. Cela permet par exemple de forcer un recalcul de toutes les pages si vous |
| 864 | 864 | avez fait des modifications importantes de graphisme ou de structure du site.', |
| 865 | - 'texte_sur_titre' => 'Sur-titre', |
|
| 866 | - 'texte_table_ok' => ' : cette table est OK.', |
|
| 867 | - 'texte_tentative_recuperation' => 'Tentative de réparation', |
|
| 868 | - 'texte_tenter_reparation' => 'Tenter une réparation de la base de données', |
|
| 869 | - 'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web |
|
| 865 | + 'texte_sur_titre' => 'Sur-titre', |
|
| 866 | + 'texte_table_ok' => ' : cette table est OK.', |
|
| 867 | + 'texte_tentative_recuperation' => 'Tentative de réparation', |
|
| 868 | + 'texte_tenter_reparation' => 'Tenter une réparation de la base de données', |
|
| 869 | + 'texte_test_proxy' => 'Pour faire un essai de ce proxy, indiquez ici l’adresse d’un site Web |
|
| 870 | 870 | que vous souhaitez tester.', |
| 871 | - 'texte_titre_02' => 'Titre :', |
|
| 872 | - 'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]', |
|
| 873 | - 'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 874 | - 'texte_travail_collaboratif' => 'S’il est fréquent que plusieures rédactrices |
|
| 871 | + 'texte_titre_02' => 'Titre :', |
|
| 872 | + 'texte_titre_obligatoire' => '<b>Titre</b> [Obligatoire]', |
|
| 873 | + 'texte_travail_article' => '@nom_auteur_modif@ a travaillé sur cet article il y a @date_diff@ minutes', |
|
| 874 | + 'texte_travail_collaboratif' => 'S’il est fréquent que plusieures rédactrices |
|
| 875 | 875 | travaillent sur le même article, le système |
| 876 | 876 | peut afficher les articles récemment « ouverts » |
| 877 | 877 | afin d’éviter les modifications simultanées. |
| 878 | 878 | Cette option est désactivée par défaut |
| 879 | 879 | afin d’éviter d’afficher des messages d’avertissement |
| 880 | 880 | intempestifs.', |
| 881 | - 'texte_vide' => 'vide', |
|
| 882 | - 'texte_vider_cache' => 'Vider le cache', |
|
| 883 | - 'titre_admin_tech' => 'Maintenance technique', |
|
| 884 | - 'titre_admin_vider' => 'Maintenance technique', |
|
| 885 | - 'titre_ajouter_un_auteur' => 'Ajouter une autrice', |
|
| 886 | - 'titre_ajouter_un_mot' => 'Ajouter un mot-clé', |
|
| 887 | - 'titre_cadre_afficher_article' => 'Afficher les articles', |
|
| 888 | - 'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :', |
|
| 889 | - 'titre_cadre_ajouter_auteur' => 'AJOUTER UNE AUTRICE :', |
|
| 890 | - 'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique', |
|
| 891 | - 'titre_cadre_numero_auteur' => 'AUTRICE NUMÉRO', |
|
| 892 | - 'titre_cadre_numero_objet' => '@objet@ NUMÉRO :', |
|
| 893 | - 'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />', |
|
| 894 | - 'titre_config_contenu_notifications' => 'Notifications', |
|
| 895 | - 'titre_config_contenu_prive' => 'Dans l’espace privé', |
|
| 896 | - 'titre_config_contenu_public' => 'Sur le site public', |
|
| 897 | - 'titre_config_fonctions' => 'Configuration du site', |
|
| 898 | - 'titre_config_langage' => 'Configurer la langue', |
|
| 899 | - 'titre_configuration' => 'Configuration du site', |
|
| 900 | - 'titre_configurer_preferences' => 'Configurer vos préférences', |
|
| 901 | - 'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus', |
|
| 902 | - 'titre_conflit_edition' => 'Conflit lors de l’édition', |
|
| 903 | - 'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>', |
|
| 904 | - 'titre_groupe_mots' => 'GROUPE DE MOTS :', |
|
| 905 | - 'titre_identite_site' => 'Identité du site', |
|
| 906 | - 'titre_langue_article' => 'Langue de l’article', |
|
| 907 | - 'titre_langue_rubrique' => 'Langue de la rubrique', |
|
| 908 | - 'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE', |
|
| 909 | - 'titre_les_articles' => 'LES ARTICLES', |
|
| 910 | - 'titre_messagerie_agenda' => 'Messagerie et agenda', |
|
| 911 | - 'titre_naviguer_dans_le_site' => 'Naviguer dans le site...', |
|
| 912 | - 'titre_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 913 | - 'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :', |
|
| 914 | - 'titre_page_articles_edit' => 'Modifier : @titre@', |
|
| 915 | - 'titre_page_articles_page' => 'Les articles', |
|
| 916 | - 'titre_page_articles_tous' => 'Tout le site', |
|
| 917 | - 'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@', |
|
| 918 | - 'titre_page_config_contenu' => 'Configuration du site', |
|
| 919 | - 'titre_page_delete_all' => 'suppression totale et irréversible', |
|
| 920 | - 'titre_page_recherche' => 'Résultats de la recherche @recherche@', |
|
| 921 | - 'titre_page_statistiques_referers' => 'Statistiques (liens entrants)', |
|
| 922 | - 'titre_page_upgrade' => 'Mise à niveau de SPIP', |
|
| 923 | - 'titre_preference_menus_favoris' => 'Menus favoris', |
|
| 924 | - 'titre_publication_articles_post_dates' => 'Publication des articles post-datés', |
|
| 925 | - 'titre_reparation' => 'Réparation', |
|
| 926 | - 'titre_suivi_petition' => 'Suivi des pétitions', |
|
| 927 | - 'tls_ldap' => 'Transport Layer Security :', |
|
| 928 | - 'trad_article_traduction' => 'Toutes les versions de cet article :', |
|
| 929 | - 'trad_delier' => 'Ne plus lier à ces traductions', |
|
| 930 | - 'trad_lier' => 'Cet article est une traduction de l’article numéro :', |
|
| 931 | - 'trad_new' => 'Écrire une nouvelle traduction', |
|
| 881 | + 'texte_vide' => 'vide', |
|
| 882 | + 'texte_vider_cache' => 'Vider le cache', |
|
| 883 | + 'titre_admin_tech' => 'Maintenance technique', |
|
| 884 | + 'titre_admin_vider' => 'Maintenance technique', |
|
| 885 | + 'titre_ajouter_un_auteur' => 'Ajouter une autrice', |
|
| 886 | + 'titre_ajouter_un_mot' => 'Ajouter un mot-clé', |
|
| 887 | + 'titre_cadre_afficher_article' => 'Afficher les articles', |
|
| 888 | + 'titre_cadre_afficher_traductions' => 'Afficher l’état des traductions pour les langues suivantes :', |
|
| 889 | + 'titre_cadre_ajouter_auteur' => 'AJOUTER UNE AUTRICE :', |
|
| 890 | + 'titre_cadre_interieur_rubrique' => 'À l’intérieur de la rubrique', |
|
| 891 | + 'titre_cadre_numero_auteur' => 'AUTRICE NUMÉRO', |
|
| 892 | + 'titre_cadre_numero_objet' => '@objet@ NUMÉRO :', |
|
| 893 | + 'titre_cadre_signature_obligatoire' => '<b>Signature</b> [Obligatoire]<br />', |
|
| 894 | + 'titre_config_contenu_notifications' => 'Notifications', |
|
| 895 | + 'titre_config_contenu_prive' => 'Dans l’espace privé', |
|
| 896 | + 'titre_config_contenu_public' => 'Sur le site public', |
|
| 897 | + 'titre_config_fonctions' => 'Configuration du site', |
|
| 898 | + 'titre_config_langage' => 'Configurer la langue', |
|
| 899 | + 'titre_configuration' => 'Configuration du site', |
|
| 900 | + 'titre_configurer_preferences' => 'Configurer vos préférences', |
|
| 901 | + 'titre_configurer_preferences_menus' => 'Configurer vos préférences de menus', |
|
| 902 | + 'titre_conflit_edition' => 'Conflit lors de l’édition', |
|
| 903 | + 'titre_connexion_ldap' => 'Options : <b>Votre connexion LDAP</b>', |
|
| 904 | + 'titre_groupe_mots' => 'GROUPE DE MOTS :', |
|
| 905 | + 'titre_identite_site' => 'Identité du site', |
|
| 906 | + 'titre_langue_article' => 'Langue de l’article', |
|
| 907 | + 'titre_langue_rubrique' => 'Langue de la rubrique', |
|
| 908 | + 'titre_langue_trad_article' => 'LANGUE ET TRADUCTIONS DE L’ARTICLE', |
|
| 909 | + 'titre_les_articles' => 'LES ARTICLES', |
|
| 910 | + 'titre_messagerie_agenda' => 'Messagerie et agenda', |
|
| 911 | + 'titre_naviguer_dans_le_site' => 'Naviguer dans le site...', |
|
| 912 | + 'titre_nouvelle_rubrique' => 'Nouvelle rubrique', |
|
| 913 | + 'titre_numero_rubrique' => 'RUBRIQUE NUMÉRO :', |
|
| 914 | + 'titre_page_articles_edit' => 'Modifier : @titre@', |
|
| 915 | + 'titre_page_articles_page' => 'Les articles', |
|
| 916 | + 'titre_page_articles_tous' => 'Tout le site', |
|
| 917 | + 'titre_page_calendrier' => 'Calendrier @nom_mois@ @annee@', |
|
| 918 | + 'titre_page_config_contenu' => 'Configuration du site', |
|
| 919 | + 'titre_page_delete_all' => 'suppression totale et irréversible', |
|
| 920 | + 'titre_page_recherche' => 'Résultats de la recherche @recherche@', |
|
| 921 | + 'titre_page_statistiques_referers' => 'Statistiques (liens entrants)', |
|
| 922 | + 'titre_page_upgrade' => 'Mise à niveau de SPIP', |
|
| 923 | + 'titre_preference_menus_favoris' => 'Menus favoris', |
|
| 924 | + 'titre_publication_articles_post_dates' => 'Publication des articles post-datés', |
|
| 925 | + 'titre_reparation' => 'Réparation', |
|
| 926 | + 'titre_suivi_petition' => 'Suivi des pétitions', |
|
| 927 | + 'tls_ldap' => 'Transport Layer Security :', |
|
| 928 | + 'trad_article_traduction' => 'Toutes les versions de cet article :', |
|
| 929 | + 'trad_delier' => 'Ne plus lier à ces traductions', |
|
| 930 | + 'trad_lier' => 'Cet article est une traduction de l’article numéro :', |
|
| 931 | + 'trad_new' => 'Écrire une nouvelle traduction', |
|
| 932 | 932 | |
| 933 | - // U |
|
| 934 | - 'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.', |
|
| 933 | + // U |
|
| 934 | + 'utf8_convert_erreur_orig' => 'Erreur : le jeu de caractères @charset@ n’est pas supporté.', |
|
| 935 | 935 | |
| 936 | - // V |
|
| 937 | - 'version' => 'Version :' |
|
| 936 | + // V |
|
| 937 | + 'version' => 'Version :' |
|
| 938 | 938 | ); |
@@ -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' => 'Accueil', |
|
| 14 | - 'article' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles de cette autrice', |
|
| 17 | - 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | - 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | - 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | - 'aucun_auteur' => 'Il n’y a pas d’autrice à cette adresse', |
|
| 21 | - 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | - 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | - 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | - 'auteur' => 'Autrice', |
|
| 25 | - 'autres' => 'Autres', |
|
| 26 | - 'autres_breves' => 'Autres brèves', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | - 'autres_sites' => 'Autres sites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Bonjour', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Commenter ce site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | - 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | - 'derniers_articles' => 'Derniers articles', |
|
| 43 | - 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | - 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | - 'en_reponse' => 'En réponse à :', |
|
| 49 | - 'en_resume' => 'En résumé', |
|
| 50 | - 'envoyer_message' => 'Envoyer un message', |
|
| 51 | - 'espace_prive' => 'Espace privé', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'jours', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Se connecter', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'De la même autrice', |
|
| 67 | - 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | - 'memes_auteurs' => 'Des mêmes autrices', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Messages', |
|
| 71 | - 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | - 'mots_clef' => 'Mot-clé', |
|
| 73 | - 'mots_clefs' => 'Mots-clés', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navigation', |
|
| 78 | - 'nom' => 'Nom', |
|
| 79 | - 'nouveautes' => 'Les nouveautés', |
|
| 80 | - 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | - 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | - 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'page précédente', |
|
| 86 | - 'page_suivante' => 'page suivante', |
|
| 87 | - 'par_auteur' => 'par ', |
|
| 88 | - 'participer_site' => 'Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d’accès à l’espace privé du site.', |
|
| 89 | - 'plan_site' => 'Plan du site', |
|
| 90 | - 'popularite' => 'Popularité', |
|
| 91 | - 'poster_message' => 'Poster un message', |
|
| 92 | - 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Répondre à cet article', |
|
| 96 | - 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | - 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | - 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | - 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 100 | - 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | - 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | - 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | - 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | - 'rubrique' => 'Rubrique', |
|
| 105 | - 'rubriques' => 'Rubriques', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | - 'sites_web' => 'Sites Web', |
|
| 111 | - 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'suite', |
|
| 114 | - 'sur_web' => 'Sur le Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | - 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | - 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | - 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | - 'voir_squelette' => 'voir le squelette de cette page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Accueil', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles de cette autrice', |
|
| 17 | + 'articles_populaires' => 'Articles les plus populaires', |
|
| 18 | + 'articles_rubrique' => 'Articles de cette rubrique', |
|
| 19 | + 'aucun_article' => 'Il n’y a pas d’article à cette adresse', |
|
| 20 | + 'aucun_auteur' => 'Il n’y a pas d’autrice à cette adresse', |
|
| 21 | + 'aucun_site' => 'Il n’y a pas de site à cette adresse', |
|
| 22 | + 'aucune_breve' => 'Il n’y a pas de brève à cette adresse', |
|
| 23 | + 'aucune_rubrique' => 'Il n’y a pas de rubrique à cette adresse', |
|
| 24 | + 'auteur' => 'Autrice', |
|
| 25 | + 'autres' => 'Autres', |
|
| 26 | + 'autres_breves' => 'Autres brèves', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Autres groupes de mots-clés', |
|
| 28 | + 'autres_sites' => 'Autres sites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Bonjour', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Commenter ce site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible de copier le document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Dernier ajout', |
|
| 41 | + 'dernieres_breves' => 'Dernières brèves', |
|
| 42 | + 'derniers_articles' => 'Derniers articles', |
|
| 43 | + 'derniers_commentaires' => 'Derniers commentaires', |
|
| 44 | + 'derniers_messages_forum' => 'Derniers messages publiés dans les forums', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Édition en mode texte de', |
|
| 48 | + 'en_reponse' => 'En réponse à :', |
|
| 49 | + 'en_resume' => 'En résumé', |
|
| 50 | + 'envoyer_message' => 'Envoyer un message', |
|
| 51 | + 'espace_prive' => 'Espace privé', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formats acceptés : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Hiérarchie du site', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'jours', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Se connecter', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'De la même autrice', |
|
| 67 | + 'meme_rubrique' => 'Dans la même rubrique', |
|
| 68 | + 'memes_auteurs' => 'Des mêmes autrices', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Messages', |
|
| 71 | + 'messages_recents' => 'Messages de forums les plus récents', |
|
| 72 | + 'mots_clef' => 'Mot-clé', |
|
| 73 | + 'mots_clefs' => 'Mots-clés', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Mots-clés dans le même groupe', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navigation', |
|
| 78 | + 'nom' => 'Nom', |
|
| 79 | + 'nouveautes' => 'Les nouveautés', |
|
| 80 | + 'nouveautes_web' => 'Nouveautés sur le Web', |
|
| 81 | + 'nouveaux_articles' => 'Nouveaux articles', |
|
| 82 | + 'nouvelles_breves' => 'Nouvelles brèves', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'page précédente', |
|
| 86 | + 'page_suivante' => 'page suivante', |
|
| 87 | + 'par_auteur' => 'par ', |
|
| 88 | + 'participer_site' => 'Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d’accès à l’espace privé du site.', |
|
| 89 | + 'plan_site' => 'Plan du site', |
|
| 90 | + 'popularite' => 'Popularité', |
|
| 91 | + 'poster_message' => 'Poster un message', |
|
| 92 | + 'proposer_site' => 'Vous pouvez proposer un site à ajouter dans cette rubrique :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Répondre à cet article', |
|
| 96 | + 'repondre_breve' => 'Répondre à cette brève', |
|
| 97 | + 'resultats_recherche' => 'Résultats de la recherche', |
|
| 98 | + 'retour_debut_forums' => 'Retour au début des forums', |
|
| 99 | + 'rss_abonnement' => 'Copiez l’URL suivante dans votre agrégateur :', |
|
| 100 | + 'rss_abonnement_titre' => 'S’abonner', |
|
| 101 | + 'rss_abonnement_titre_page' => 'S’abonner à', |
|
| 102 | + 'rss_explication' => 'Un fil RSS recueille les informations de mise à jour d’un site. Il fournit le contenu des billets ou des commentaires ou un extrait de ceux-ci, ainsi qu’un lien vers les versions complètes et quelques autres informations. Ce fil a pour vocation d’être lu par un agrégateur RSS.', |
|
| 103 | + 'rss_explication_titre' => 'Qu’est-ce qu’un flux RSS ?', |
|
| 104 | + 'rubrique' => 'Rubrique', |
|
| 105 | + 'rubriques' => 'Rubriques', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site réalisé avec SPIP', |
|
| 110 | + 'sites_web' => 'Sites Web', |
|
| 111 | + 'sous_rubriques' => 'Sous-rubriques', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'suite', |
|
| 114 | + 'sur_web' => 'Sur le Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Syndiquer cette rubrique', |
|
| 116 | + 'syndiquer_site' => 'Syndiquer tout le site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Voici la lettre d’information du site', |
|
| 120 | + 'texte_lettre_information_2' => 'Cette lettre recense les nouveautés publiées depuis', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Version à imprimer', |
|
| 124 | + 'voir_en_ligne' => 'Voir en ligne', |
|
| 125 | + 'voir_squelette' => 'voir le squelette de cette page' |
|
| 126 | 126 | ); |
@@ -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' => 'Página inicial do sítio', |
|
| 14 | - 'article' => 'Artigo', |
|
| 15 | - 'articles' => 'Artigos', |
|
| 16 | - 'articles_auteur' => 'Artigos deste autor', |
|
| 17 | - 'articles_populaires' => 'Artigos mais populares', |
|
| 18 | - 'articles_rubrique' => 'Artigos desta rubrica', |
|
| 19 | - 'aucun_article' => 'Nenhum artigo neste endereço', |
|
| 20 | - 'aucun_auteur' => 'Nenhum autor neste endereço', |
|
| 21 | - 'aucun_site' => 'Nenhum sítio neste endereço', |
|
| 22 | - 'aucune_breve' => 'Nenhuma notícia neste endereço', |
|
| 23 | - 'aucune_rubrique' => 'Nenhuma rubrica neste endereço', |
|
| 24 | - 'auteur' => 'Autor', |
|
| 25 | - 'autres' => 'Outros', |
|
| 26 | - 'autres_breves' => 'Outras notícias', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | - 'autres_sites' => 'Outros sítios', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Bom dia', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Comentar este sítio', |
|
| 35 | - 'contact' => 'Contacto', |
|
| 36 | - 'copie_document_impossible' => 'Impossível copiar este documento', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Data', |
|
| 40 | - 'dernier_ajout' => 'Última actualização', |
|
| 41 | - 'dernieres_breves' => 'Últimas notícias', |
|
| 42 | - 'derniers_articles' => 'Últimos artigos', |
|
| 43 | - 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | - 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Edição apenas em modo de texto', |
|
| 48 | - 'en_reponse' => 'Em resposta a :', |
|
| 49 | - 'en_resume' => 'Em resumo', |
|
| 50 | - 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | - 'espace_prive' => 'Área privada', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formatos válidos : @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Mapa do sítio', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'dias', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Entrar', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | - 'meme_rubrique' => 'Na mesma rubrica', |
|
| 68 | - 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | - 'message' => 'Mensagem', |
|
| 70 | - 'messages_forum' => 'Mensagens de fórum', |
|
| 71 | - 'messages_recents' => 'Mensagens de fóruns mais recentes', |
|
| 72 | - 'mots_clef' => 'Palavra-chave', |
|
| 73 | - 'mots_clefs' => 'Palavras-chave', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navegação', |
|
| 78 | - 'nom' => 'Nome', |
|
| 79 | - 'nouveautes' => 'As novidades', |
|
| 80 | - 'nouveautes_web' => 'Novidades na Web', |
|
| 81 | - 'nouveaux_articles' => 'Novos artigos', |
|
| 82 | - 'nouvelles_breves' => 'Novas notícias', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'página anterior', |
|
| 86 | - 'page_suivante' => 'página seguinte', |
|
| 87 | - 'par_auteur' => 'por', |
|
| 88 | - 'participer_site' => 'Pode participar na vida deste sítio e propor os seus próprios artigos, inscrevendo-se mais abaixo. Receberá imediatamente um email com os seus códigos de acesso ao espaço privado do sítio.', |
|
| 89 | - 'plan_site' => 'Mapa do sítio', |
|
| 90 | - 'popularite' => 'Popularidade', |
|
| 91 | - 'poster_message' => 'Enviar uma mensagem', |
|
| 92 | - 'proposer_site' => 'Você pode propor um sítio a adicionar a esta rubrica :', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Comentar este artigo', |
|
| 96 | - 'repondre_breve' => 'Comentar esta notícia', |
|
| 97 | - 'resultats_recherche' => 'Resultados da pesquisa', |
|
| 98 | - 'retour_debut_forums' => 'Regresso ao início dos fóruns', |
|
| 99 | - 'rss_abonnement' => 'Copie o seguinte URL para o seu agregador de conteúdos:', |
|
| 100 | - 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | - 'rss_explication' => 'Um "feed" RSS recolhe informação actualizada a partir de um sítio. Fornece o conteúdo das publicações ou comentários ou um extracto dos mesmos, bem como um link para as versões completas e outras informações. Este "feed" destina-se a ser lido por um agregador RSS.', |
|
| 103 | - 'rss_explication_titre' => 'O que é um "feed RSS"?', |
|
| 104 | - 'rubrique' => 'Rubrica', |
|
| 105 | - 'rubriques' => 'Rubricas', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Assinaturas', |
|
| 109 | - 'site_realise_avec_spip' => 'Sítio realizado com SPIP', |
|
| 110 | - 'sites_web' => 'Sítios Web', |
|
| 111 | - 'sous_rubriques' => 'Sub-rubricas', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'continuação', |
|
| 114 | - 'sur_web' => 'Na Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Subscrever esta rubrica', |
|
| 116 | - 'syndiquer_site' => 'Subscrever todo o sítio', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Eis a carta de informação do sítio', |
|
| 120 | - 'texte_lettre_information_2' => 'Este sítio contém novos itens publicados desde', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Versão para imprimir', |
|
| 124 | - 'voir_en_ligne' => 'Ver online', |
|
| 125 | - 'voir_squelette' => 'exibir o modelo desta página' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Página inicial do sítio', |
|
| 14 | + 'article' => 'Artigo', |
|
| 15 | + 'articles' => 'Artigos', |
|
| 16 | + 'articles_auteur' => 'Artigos deste autor', |
|
| 17 | + 'articles_populaires' => 'Artigos mais populares', |
|
| 18 | + 'articles_rubrique' => 'Artigos desta rubrica', |
|
| 19 | + 'aucun_article' => 'Nenhum artigo neste endereço', |
|
| 20 | + 'aucun_auteur' => 'Nenhum autor neste endereço', |
|
| 21 | + 'aucun_site' => 'Nenhum sítio neste endereço', |
|
| 22 | + 'aucune_breve' => 'Nenhuma notícia neste endereço', |
|
| 23 | + 'aucune_rubrique' => 'Nenhuma rubrica neste endereço', |
|
| 24 | + 'auteur' => 'Autor', |
|
| 25 | + 'autres' => 'Outros', |
|
| 26 | + 'autres_breves' => 'Outras notícias', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | + 'autres_sites' => 'Outros sítios', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Bom dia', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Comentar este sítio', |
|
| 35 | + 'contact' => 'Contacto', |
|
| 36 | + 'copie_document_impossible' => 'Impossível copiar este documento', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Data', |
|
| 40 | + 'dernier_ajout' => 'Última actualização', |
|
| 41 | + 'dernieres_breves' => 'Últimas notícias', |
|
| 42 | + 'derniers_articles' => 'Últimos artigos', |
|
| 43 | + 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | + 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Edição apenas em modo de texto', |
|
| 48 | + 'en_reponse' => 'Em resposta a :', |
|
| 49 | + 'en_resume' => 'Em resumo', |
|
| 50 | + 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | + 'espace_prive' => 'Área privada', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formatos válidos : @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Mapa do sítio', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'dias', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Entrar', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | + 'meme_rubrique' => 'Na mesma rubrica', |
|
| 68 | + 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | + 'message' => 'Mensagem', |
|
| 70 | + 'messages_forum' => 'Mensagens de fórum', |
|
| 71 | + 'messages_recents' => 'Mensagens de fóruns mais recentes', |
|
| 72 | + 'mots_clef' => 'Palavra-chave', |
|
| 73 | + 'mots_clefs' => 'Palavras-chave', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navegação', |
|
| 78 | + 'nom' => 'Nome', |
|
| 79 | + 'nouveautes' => 'As novidades', |
|
| 80 | + 'nouveautes_web' => 'Novidades na Web', |
|
| 81 | + 'nouveaux_articles' => 'Novos artigos', |
|
| 82 | + 'nouvelles_breves' => 'Novas notícias', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'página anterior', |
|
| 86 | + 'page_suivante' => 'página seguinte', |
|
| 87 | + 'par_auteur' => 'por', |
|
| 88 | + 'participer_site' => 'Pode participar na vida deste sítio e propor os seus próprios artigos, inscrevendo-se mais abaixo. Receberá imediatamente um email com os seus códigos de acesso ao espaço privado do sítio.', |
|
| 89 | + 'plan_site' => 'Mapa do sítio', |
|
| 90 | + 'popularite' => 'Popularidade', |
|
| 91 | + 'poster_message' => 'Enviar uma mensagem', |
|
| 92 | + 'proposer_site' => 'Você pode propor um sítio a adicionar a esta rubrica :', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Comentar este artigo', |
|
| 96 | + 'repondre_breve' => 'Comentar esta notícia', |
|
| 97 | + 'resultats_recherche' => 'Resultados da pesquisa', |
|
| 98 | + 'retour_debut_forums' => 'Regresso ao início dos fóruns', |
|
| 99 | + 'rss_abonnement' => 'Copie o seguinte URL para o seu agregador de conteúdos:', |
|
| 100 | + 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | + 'rss_explication' => 'Um "feed" RSS recolhe informação actualizada a partir de um sítio. Fornece o conteúdo das publicações ou comentários ou um extracto dos mesmos, bem como um link para as versões completas e outras informações. Este "feed" destina-se a ser lido por um agregador RSS.', |
|
| 103 | + 'rss_explication_titre' => 'O que é um "feed RSS"?', |
|
| 104 | + 'rubrique' => 'Rubrica', |
|
| 105 | + 'rubriques' => 'Rubricas', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Assinaturas', |
|
| 109 | + 'site_realise_avec_spip' => 'Sítio realizado com SPIP', |
|
| 110 | + 'sites_web' => 'Sítios Web', |
|
| 111 | + 'sous_rubriques' => 'Sub-rubricas', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'continuação', |
|
| 114 | + 'sur_web' => 'Na Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Subscrever esta rubrica', |
|
| 116 | + 'syndiquer_site' => 'Subscrever todo o sítio', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Eis a carta de informação do sítio', |
|
| 120 | + 'texte_lettre_information_2' => 'Este sítio contém novos itens publicados desde', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Versão para imprimir', |
|
| 124 | + 'voir_en_ligne' => 'Ver online', |
|
| 125 | + 'voir_squelette' => 'exibir o modelo desta página' |
|
| 126 | 126 | ); |
@@ -90,9 +90,9 @@ discard block |
||
| 90 | 90 | // de connexion, et tout risque d'ambiguite |
| 91 | 91 | if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
| 92 | 92 | $nom_cache_desc_sql[$serveur][$objets_sql] = |
| 93 | - _DIR_CACHE . 'sql_desc_' |
|
| 93 | + _DIR_CACHE.'sql_desc_' |
|
| 94 | 94 | . ($serveur ? "{$serveur}_" : '') |
| 95 | - . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 95 | + . substr(md5($connexion['db'].':'.$connexion['prefixe'].":$objets_sql"), 0, 8) |
|
| 96 | 96 | . '.txt'; |
| 97 | 97 | // nouveau nom de cache = nouvelle version en memoire |
| 98 | 98 | unset($connexion['tables']); |
@@ -120,7 +120,7 @@ discard block |
||
| 120 | 120 | if ($connexion['spip_connect_version']) { |
| 121 | 121 | if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
| 122 | 122 | $nom = $GLOBALS['table_des_tables'][$nom]; |
| 123 | - $nom_sql = 'spip_' . $nom; |
|
| 123 | + $nom_sql = 'spip_'.$nom; |
|
| 124 | 124 | } |
| 125 | 125 | } |
| 126 | 126 | |
@@ -147,12 +147,12 @@ discard block |
||
| 147 | 147 | // meme si pas d'abreviation declaree, trouver la table spip_$nom |
| 148 | 148 | // si c'est une table principale, |
| 149 | 149 | // puisqu'on le fait aussi pour les tables auxiliaires |
| 150 | - elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 151 | - $nom_sql = 'spip_' . $nom; |
|
| 150 | + elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_'.$nom])) { |
|
| 151 | + $nom_sql = 'spip_'.$nom; |
|
| 152 | 152 | $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
| 153 | 153 | } elseif ( |
| 154 | 154 | isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
| 155 | - or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 155 | + or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_'.$nom]) |
|
| 156 | 156 | ) { |
| 157 | 157 | $nom_sql = $n; |
| 158 | 158 | $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | ) { |
| 169 | 169 | if (!$fdesc) { |
| 170 | 170 | $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
| 171 | - spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 171 | + spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base'.$log_level); |
|
| 172 | 172 | |
| 173 | 173 | return null; |
| 174 | 174 | } |
@@ -180,7 +180,7 @@ discard block |
||
| 180 | 180 | $desc['exist'] = true; |
| 181 | 181 | // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
| 182 | 182 | // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
| 183 | - if (! $desc['key']) { |
|
| 183 | + if (!$desc['key']) { |
|
| 184 | 184 | spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
| 185 | 185 | unset($desc['key']); |
| 186 | 186 | } |
@@ -197,7 +197,7 @@ discard block |
||
| 197 | 197 | if (!isset($desc['key']) && !empty($fdesc['key'])) { |
| 198 | 198 | $desc['key'] = $fdesc['key']; |
| 199 | 199 | } |
| 200 | - if (! isset($desc['key'])) { |
|
| 200 | + if (!isset($desc['key'])) { |
|
| 201 | 201 | $desc['key'] = []; |
| 202 | 202 | } |
| 203 | 203 | |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\SQL\Tables |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | include_spip('base/objets'); |
| 22 | 22 | |
@@ -68,154 +68,154 @@ discard block |
||
| 68 | 68 | * |
| 69 | 69 | **/ |
| 70 | 70 | function base_trouver_table_dist($nom, $serveur = '', $table_spip = true, array $options = []) { |
| 71 | - $desc_cache = null; |
|
| 72 | - static $nom_cache_desc_sql = []; |
|
| 73 | - |
|
| 74 | - if ( |
|
| 75 | - !spip_connect($serveur) |
|
| 76 | - or !preg_match('/^[a-zA-Z0-9._-]*/', $nom) |
|
| 77 | - ) { |
|
| 78 | - return null; |
|
| 79 | - } |
|
| 80 | - |
|
| 81 | - $options = $options + [ |
|
| 82 | - // si false, baissera le niveau de log si une table demandée n’existe pas |
|
| 83 | - 'log_missing' => true, |
|
| 84 | - ]; |
|
| 85 | - |
|
| 86 | - $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 87 | - $objets_sql = lister_tables_objets_sql('::md5'); |
|
| 88 | - |
|
| 89 | - // le nom du cache depend du serveur mais aussi du nom de la db et du prefixe |
|
| 90 | - // ce qui permet une auto invalidation en cas de modif manuelle du fichier |
|
| 91 | - // de connexion, et tout risque d'ambiguite |
|
| 92 | - if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
|
| 93 | - $nom_cache_desc_sql[$serveur][$objets_sql] = |
|
| 94 | - _DIR_CACHE . 'sql_desc_' |
|
| 95 | - . ($serveur ? "{$serveur}_" : '') |
|
| 96 | - . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 97 | - . '.txt'; |
|
| 98 | - // nouveau nom de cache = nouvelle version en memoire |
|
| 99 | - unset($connexion['tables']); |
|
| 100 | - } |
|
| 101 | - |
|
| 102 | - // un appel avec $nom vide est une demande explicite de vidange du cache des descriptions |
|
| 103 | - if (!$nom) { |
|
| 104 | - spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]); |
|
| 105 | - $connexion['tables'] = []; |
|
| 106 | - |
|
| 107 | - return null; |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - $nom_sql = $nom; |
|
| 111 | - if (preg_match('/\.(.*)$/', $nom, $s)) { |
|
| 112 | - $nom_sql = $s[1]; |
|
| 113 | - } else { |
|
| 114 | - $nom_sql = $nom; |
|
| 115 | - } |
|
| 116 | - |
|
| 117 | - $fdesc = $desc = ''; |
|
| 118 | - $connexion = &$GLOBALS['connexions'][$serveur ?: 0]; |
|
| 119 | - |
|
| 120 | - // base sous SPIP: gerer les abreviations explicites des noms de table |
|
| 121 | - if ($connexion['spip_connect_version']) { |
|
| 122 | - if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
|
| 123 | - $nom = $GLOBALS['table_des_tables'][$nom]; |
|
| 124 | - $nom_sql = 'spip_' . $nom; |
|
| 125 | - } |
|
| 126 | - } |
|
| 127 | - |
|
| 128 | - // si c'est la premiere table qu'on cherche |
|
| 129 | - // et si on est pas explicitement en recalcul |
|
| 130 | - // on essaye de recharger le cache des decriptions de ce serveur |
|
| 131 | - // dans le fichier cache |
|
| 132 | - if ( |
|
| 133 | - !isset($connexion['tables'][$nom_sql]) |
|
| 134 | - and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul' |
|
| 135 | - and (!isset($connexion['tables']) or !$connexion['tables']) |
|
| 136 | - ) { |
|
| 137 | - if ( |
|
| 138 | - lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache) |
|
| 139 | - and $desc_cache = unserialize($desc_cache) |
|
| 140 | - ) { |
|
| 141 | - $connexion['tables'] = $desc_cache; |
|
| 142 | - } |
|
| 143 | - } |
|
| 144 | - if ($table_spip and !isset($connexion['tables'][$nom_sql])) { |
|
| 145 | - if (isset($GLOBALS['tables_principales'][$nom_sql])) { |
|
| 146 | - $fdesc = $GLOBALS['tables_principales'][$nom_sql]; |
|
| 147 | - } |
|
| 148 | - // meme si pas d'abreviation declaree, trouver la table spip_$nom |
|
| 149 | - // si c'est une table principale, |
|
| 150 | - // puisqu'on le fait aussi pour les tables auxiliaires |
|
| 151 | - elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 152 | - $nom_sql = 'spip_' . $nom; |
|
| 153 | - $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
|
| 154 | - } elseif ( |
|
| 155 | - isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
|
| 156 | - or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 157 | - ) { |
|
| 158 | - $nom_sql = $n; |
|
| 159 | - $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
|
| 160 | - } # table locale a cote de SPIP, comme non SPIP: |
|
| 161 | - } |
|
| 162 | - if (!isset($connexion['tables'][$nom_sql])) { |
|
| 163 | - // La *vraie* base a la priorite |
|
| 164 | - $exists = sql_table_exists($nom_sql, $table_spip, $serveur); |
|
| 165 | - if ( |
|
| 166 | - !$exists |
|
| 167 | - or !$desc = sql_showtable($nom_sql, $table_spip, $serveur) |
|
| 168 | - or !$desc['field'] |
|
| 169 | - ) { |
|
| 170 | - if (!$fdesc) { |
|
| 171 | - $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
|
| 172 | - spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 173 | - |
|
| 174 | - return null; |
|
| 175 | - } |
|
| 176 | - // on ne sait pas lire la structure de la table : |
|
| 177 | - // on retombe sur la description donnee dans les fichiers spip |
|
| 178 | - $desc = $fdesc; |
|
| 179 | - $desc['exist'] = false; |
|
| 180 | - } else { |
|
| 181 | - $desc['exist'] = true; |
|
| 182 | - // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
|
| 183 | - // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
|
| 184 | - if (! $desc['key']) { |
|
| 185 | - spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
|
| 186 | - unset($desc['key']); |
|
| 187 | - } |
|
| 188 | - } |
|
| 189 | - |
|
| 190 | - $desc['table'] = $desc['table_sql'] = $nom_sql; |
|
| 191 | - $desc['connexion'] = $serveur; |
|
| 192 | - |
|
| 193 | - // charger les infos declarees pour cette table |
|
| 194 | - // en lui passant les infos connues |
|
| 195 | - // $desc est prioritaire pour la description de la table |
|
| 196 | - $desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc); |
|
| 197 | - // s'assurer qu'on a toujours un 'key' |
|
| 198 | - if (!isset($desc['key']) && !empty($fdesc['key'])) { |
|
| 199 | - $desc['key'] = $fdesc['key']; |
|
| 200 | - } |
|
| 201 | - if (! isset($desc['key'])) { |
|
| 202 | - $desc['key'] = []; |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - // si tables_objets_sql est bien fini d'init, on peut cacher |
|
| 206 | - $connexion['tables'][$nom_sql] = $desc; |
|
| 207 | - $res = &$connexion['tables'][$nom_sql]; |
|
| 208 | - // une nouvelle table a ete decrite |
|
| 209 | - // mettons donc a jour le cache des descriptions de ce serveur |
|
| 210 | - if (is_writeable(_DIR_CACHE)) { |
|
| 211 | - ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true); |
|
| 212 | - } |
|
| 213 | - } else { |
|
| 214 | - $res = &$connexion['tables'][$nom_sql]; |
|
| 215 | - } |
|
| 216 | - |
|
| 217 | - // toujours retourner $nom dans id_table |
|
| 218 | - $res['id_table'] = $nom; |
|
| 219 | - |
|
| 220 | - return $res; |
|
| 71 | + $desc_cache = null; |
|
| 72 | + static $nom_cache_desc_sql = []; |
|
| 73 | + |
|
| 74 | + if ( |
|
| 75 | + !spip_connect($serveur) |
|
| 76 | + or !preg_match('/^[a-zA-Z0-9._-]*/', $nom) |
|
| 77 | + ) { |
|
| 78 | + return null; |
|
| 79 | + } |
|
| 80 | + |
|
| 81 | + $options = $options + [ |
|
| 82 | + // si false, baissera le niveau de log si une table demandée n’existe pas |
|
| 83 | + 'log_missing' => true, |
|
| 84 | + ]; |
|
| 85 | + |
|
| 86 | + $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0]; |
|
| 87 | + $objets_sql = lister_tables_objets_sql('::md5'); |
|
| 88 | + |
|
| 89 | + // le nom du cache depend du serveur mais aussi du nom de la db et du prefixe |
|
| 90 | + // ce qui permet une auto invalidation en cas de modif manuelle du fichier |
|
| 91 | + // de connexion, et tout risque d'ambiguite |
|
| 92 | + if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) { |
|
| 93 | + $nom_cache_desc_sql[$serveur][$objets_sql] = |
|
| 94 | + _DIR_CACHE . 'sql_desc_' |
|
| 95 | + . ($serveur ? "{$serveur}_" : '') |
|
| 96 | + . substr(md5($connexion['db'] . ':' . $connexion['prefixe'] . ":$objets_sql"), 0, 8) |
|
| 97 | + . '.txt'; |
|
| 98 | + // nouveau nom de cache = nouvelle version en memoire |
|
| 99 | + unset($connexion['tables']); |
|
| 100 | + } |
|
| 101 | + |
|
| 102 | + // un appel avec $nom vide est une demande explicite de vidange du cache des descriptions |
|
| 103 | + if (!$nom) { |
|
| 104 | + spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]); |
|
| 105 | + $connexion['tables'] = []; |
|
| 106 | + |
|
| 107 | + return null; |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + $nom_sql = $nom; |
|
| 111 | + if (preg_match('/\.(.*)$/', $nom, $s)) { |
|
| 112 | + $nom_sql = $s[1]; |
|
| 113 | + } else { |
|
| 114 | + $nom_sql = $nom; |
|
| 115 | + } |
|
| 116 | + |
|
| 117 | + $fdesc = $desc = ''; |
|
| 118 | + $connexion = &$GLOBALS['connexions'][$serveur ?: 0]; |
|
| 119 | + |
|
| 120 | + // base sous SPIP: gerer les abreviations explicites des noms de table |
|
| 121 | + if ($connexion['spip_connect_version']) { |
|
| 122 | + if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) { |
|
| 123 | + $nom = $GLOBALS['table_des_tables'][$nom]; |
|
| 124 | + $nom_sql = 'spip_' . $nom; |
|
| 125 | + } |
|
| 126 | + } |
|
| 127 | + |
|
| 128 | + // si c'est la premiere table qu'on cherche |
|
| 129 | + // et si on est pas explicitement en recalcul |
|
| 130 | + // on essaye de recharger le cache des decriptions de ce serveur |
|
| 131 | + // dans le fichier cache |
|
| 132 | + if ( |
|
| 133 | + !isset($connexion['tables'][$nom_sql]) |
|
| 134 | + and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul' |
|
| 135 | + and (!isset($connexion['tables']) or !$connexion['tables']) |
|
| 136 | + ) { |
|
| 137 | + if ( |
|
| 138 | + lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache) |
|
| 139 | + and $desc_cache = unserialize($desc_cache) |
|
| 140 | + ) { |
|
| 141 | + $connexion['tables'] = $desc_cache; |
|
| 142 | + } |
|
| 143 | + } |
|
| 144 | + if ($table_spip and !isset($connexion['tables'][$nom_sql])) { |
|
| 145 | + if (isset($GLOBALS['tables_principales'][$nom_sql])) { |
|
| 146 | + $fdesc = $GLOBALS['tables_principales'][$nom_sql]; |
|
| 147 | + } |
|
| 148 | + // meme si pas d'abreviation declaree, trouver la table spip_$nom |
|
| 149 | + // si c'est une table principale, |
|
| 150 | + // puisqu'on le fait aussi pour les tables auxiliaires |
|
| 151 | + elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) { |
|
| 152 | + $nom_sql = 'spip_' . $nom; |
|
| 153 | + $fdesc = &$GLOBALS['tables_principales'][$nom_sql]; |
|
| 154 | + } elseif ( |
|
| 155 | + isset($GLOBALS['tables_auxiliaires'][$n = $nom]) |
|
| 156 | + or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom]) |
|
| 157 | + ) { |
|
| 158 | + $nom_sql = $n; |
|
| 159 | + $fdesc = &$GLOBALS['tables_auxiliaires'][$n]; |
|
| 160 | + } # table locale a cote de SPIP, comme non SPIP: |
|
| 161 | + } |
|
| 162 | + if (!isset($connexion['tables'][$nom_sql])) { |
|
| 163 | + // La *vraie* base a la priorite |
|
| 164 | + $exists = sql_table_exists($nom_sql, $table_spip, $serveur); |
|
| 165 | + if ( |
|
| 166 | + !$exists |
|
| 167 | + or !$desc = sql_showtable($nom_sql, $table_spip, $serveur) |
|
| 168 | + or !$desc['field'] |
|
| 169 | + ) { |
|
| 170 | + if (!$fdesc) { |
|
| 171 | + $log_level = $options['log_missing'] ? _LOG_INFO_IMPORTANTE : _LOG_DEBUG; |
|
| 172 | + spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . $log_level); |
|
| 173 | + |
|
| 174 | + return null; |
|
| 175 | + } |
|
| 176 | + // on ne sait pas lire la structure de la table : |
|
| 177 | + // on retombe sur la description donnee dans les fichiers spip |
|
| 178 | + $desc = $fdesc; |
|
| 179 | + $desc['exist'] = false; |
|
| 180 | + } else { |
|
| 181 | + $desc['exist'] = true; |
|
| 182 | + // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple) |
|
| 183 | + // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une |
|
| 184 | + if (! $desc['key']) { |
|
| 185 | + spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base'); |
|
| 186 | + unset($desc['key']); |
|
| 187 | + } |
|
| 188 | + } |
|
| 189 | + |
|
| 190 | + $desc['table'] = $desc['table_sql'] = $nom_sql; |
|
| 191 | + $desc['connexion'] = $serveur; |
|
| 192 | + |
|
| 193 | + // charger les infos declarees pour cette table |
|
| 194 | + // en lui passant les infos connues |
|
| 195 | + // $desc est prioritaire pour la description de la table |
|
| 196 | + $desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc); |
|
| 197 | + // s'assurer qu'on a toujours un 'key' |
|
| 198 | + if (!isset($desc['key']) && !empty($fdesc['key'])) { |
|
| 199 | + $desc['key'] = $fdesc['key']; |
|
| 200 | + } |
|
| 201 | + if (! isset($desc['key'])) { |
|
| 202 | + $desc['key'] = []; |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + // si tables_objets_sql est bien fini d'init, on peut cacher |
|
| 206 | + $connexion['tables'][$nom_sql] = $desc; |
|
| 207 | + $res = &$connexion['tables'][$nom_sql]; |
|
| 208 | + // une nouvelle table a ete decrite |
|
| 209 | + // mettons donc a jour le cache des descriptions de ce serveur |
|
| 210 | + if (is_writeable(_DIR_CACHE)) { |
|
| 211 | + ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true); |
|
| 212 | + } |
|
| 213 | + } else { |
|
| 214 | + $res = &$connexion['tables'][$nom_sql]; |
|
| 215 | + } |
|
| 216 | + |
|
| 217 | + // toujours retourner $nom dans id_table |
|
| 218 | + $res['id_table'] = $nom; |
|
| 219 | + |
|
| 220 | + return $res; |
|
| 221 | 221 | } |
@@ -54,8 +54,7 @@ discard block |
||
| 54 | 54 | |
| 55 | 55 | if (!is_null($options['range'])) { |
| 56 | 56 | spip_livrer_fichier_partie($fichier, $options['range']); |
| 57 | - } |
|
| 58 | - else { |
|
| 57 | + } else { |
|
| 59 | 58 | spip_livrer_fichier_entier($fichier); |
| 60 | 59 | } |
| 61 | 60 | } |
@@ -86,8 +85,7 @@ discard block |
||
| 86 | 85 | header('Expires: 0'); // set expiration time |
| 87 | 86 | header('Pragma: public'); |
| 88 | 87 | header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
| 89 | - } |
|
| 90 | - else { |
|
| 88 | + } else { |
|
| 91 | 89 | $f = basename($fichier); |
| 92 | 90 | header("Content-Disposition: inline; filename=\"$f\";"); |
| 93 | 91 | header('Expires: ' . $expires); // set expiration time |
@@ -154,8 +152,7 @@ discard block |
||
| 154 | 152 | } |
| 155 | 153 | |
| 156 | 154 | $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
| 157 | - } |
|
| 158 | - else { |
|
| 155 | + } else { |
|
| 159 | 156 | // si pas de range valide, on delegue a la methode d'envoi complet |
| 160 | 157 | spip_livrer_fichier_entier($fichier); |
| 161 | 158 | // redondant, mais facilite la comprehension du code |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Fichier |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | /** |
@@ -36,28 +36,28 @@ discard block |
||
| 36 | 36 | */ |
| 37 | 37 | function spip_livrer_fichier($fichier, $content_type = 'application/octet-stream', $options = []) { |
| 38 | 38 | |
| 39 | - $defaut = [ |
|
| 40 | - 'attachment' => false, |
|
| 41 | - 'expires' => 3600, |
|
| 42 | - 'range' => null |
|
| 43 | - ]; |
|
| 44 | - $options = array_merge($defaut, $options); |
|
| 45 | - if (is_numeric($options['expires']) and $options['expires'] > 0) { |
|
| 46 | - $options['expires'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 47 | - } |
|
| 48 | - |
|
| 49 | - if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
|
| 50 | - $options['range'] = $_SERVER['HTTP_RANGE']; |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - spip_livrer_fichier_entetes($fichier, $content_type, $options['attachment'] && !$options['range'], $options['expires']); |
|
| 54 | - |
|
| 55 | - if (!is_null($options['range'])) { |
|
| 56 | - spip_livrer_fichier_partie($fichier, $options['range']); |
|
| 57 | - } |
|
| 58 | - else { |
|
| 59 | - spip_livrer_fichier_entier($fichier); |
|
| 60 | - } |
|
| 39 | + $defaut = [ |
|
| 40 | + 'attachment' => false, |
|
| 41 | + 'expires' => 3600, |
|
| 42 | + 'range' => null |
|
| 43 | + ]; |
|
| 44 | + $options = array_merge($defaut, $options); |
|
| 45 | + if (is_numeric($options['expires']) and $options['expires'] > 0) { |
|
| 46 | + $options['expires'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 47 | + } |
|
| 48 | + |
|
| 49 | + if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
|
| 50 | + $options['range'] = $_SERVER['HTTP_RANGE']; |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + spip_livrer_fichier_entetes($fichier, $content_type, $options['attachment'] && !$options['range'], $options['expires']); |
|
| 54 | + |
|
| 55 | + if (!is_null($options['range'])) { |
|
| 56 | + spip_livrer_fichier_partie($fichier, $options['range']); |
|
| 57 | + } |
|
| 58 | + else { |
|
| 59 | + spip_livrer_fichier_entier($fichier); |
|
| 60 | + } |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | /** |
@@ -70,28 +70,28 @@ discard block |
||
| 70 | 70 | * @param int|string $expires |
| 71 | 71 | */ |
| 72 | 72 | function spip_livrer_fichier_entetes($fichier, $content_type = 'application/octet-stream', $attachment = false, $expires = 0) { |
| 73 | - // toujours envoyer un content type, meme vide ! |
|
| 74 | - header('Accept-Ranges: bytes'); |
|
| 75 | - header('Content-Type: ' . $content_type); |
|
| 76 | - |
|
| 77 | - if ($attachment) { |
|
| 78 | - $f = basename($fichier); |
|
| 79 | - // ce content-type est necessaire pour eviter des corruptions de zip dans ie6 |
|
| 80 | - header('Content-Type: application/octet-stream'); |
|
| 81 | - |
|
| 82 | - header("Content-Disposition: attachment; filename=\"$f\";"); |
|
| 83 | - header('Content-Transfer-Encoding: binary'); |
|
| 84 | - |
|
| 85 | - // fix for IE caching or PHP bug issue |
|
| 86 | - header('Expires: 0'); // set expiration time |
|
| 87 | - header('Pragma: public'); |
|
| 88 | - header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
| 89 | - } |
|
| 90 | - else { |
|
| 91 | - $f = basename($fichier); |
|
| 92 | - header("Content-Disposition: inline; filename=\"$f\";"); |
|
| 93 | - header('Expires: ' . $expires); // set expiration time |
|
| 94 | - } |
|
| 73 | + // toujours envoyer un content type, meme vide ! |
|
| 74 | + header('Accept-Ranges: bytes'); |
|
| 75 | + header('Content-Type: ' . $content_type); |
|
| 76 | + |
|
| 77 | + if ($attachment) { |
|
| 78 | + $f = basename($fichier); |
|
| 79 | + // ce content-type est necessaire pour eviter des corruptions de zip dans ie6 |
|
| 80 | + header('Content-Type: application/octet-stream'); |
|
| 81 | + |
|
| 82 | + header("Content-Disposition: attachment; filename=\"$f\";"); |
|
| 83 | + header('Content-Transfer-Encoding: binary'); |
|
| 84 | + |
|
| 85 | + // fix for IE caching or PHP bug issue |
|
| 86 | + header('Expires: 0'); // set expiration time |
|
| 87 | + header('Pragma: public'); |
|
| 88 | + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); |
|
| 89 | + } |
|
| 90 | + else { |
|
| 91 | + $f = basename($fichier); |
|
| 92 | + header("Content-Disposition: inline; filename=\"$f\";"); |
|
| 93 | + header('Expires: ' . $expires); // set expiration time |
|
| 94 | + } |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | /** |
@@ -99,20 +99,20 @@ discard block |
||
| 99 | 99 | * @param string $fichier |
| 100 | 100 | */ |
| 101 | 101 | function spip_livrer_fichier_entier($fichier) { |
| 102 | - if (!file_exists($fichier)) { |
|
| 103 | - throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 104 | - } |
|
| 102 | + if (!file_exists($fichier)) { |
|
| 103 | + throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 104 | + } |
|
| 105 | 105 | |
| 106 | - if (!is_readable($fichier)) { |
|
| 107 | - throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 108 | - } |
|
| 106 | + if (!is_readable($fichier)) { |
|
| 107 | + throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 108 | + } |
|
| 109 | 109 | |
| 110 | - if ($size = filesize($fichier)) { |
|
| 111 | - header(sprintf('Content-Length: %d', $size)); |
|
| 112 | - } |
|
| 110 | + if ($size = filesize($fichier)) { |
|
| 111 | + header(sprintf('Content-Length: %d', $size)); |
|
| 112 | + } |
|
| 113 | 113 | |
| 114 | - readfile($fichier); |
|
| 115 | - exit(); |
|
| 114 | + readfile($fichier); |
|
| 115 | + exit(); |
|
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | /** |
@@ -125,98 +125,98 @@ discard block |
||
| 125 | 125 | * @throws Exception |
| 126 | 126 | */ |
| 127 | 127 | function spip_livrer_fichier_partie($fichier, $range = null) { |
| 128 | - if (!file_exists($fichier)) { |
|
| 129 | - throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 130 | - } |
|
| 128 | + if (!file_exists($fichier)) { |
|
| 129 | + throw new \Exception(sprintf('File not found: %s', $fichier)); |
|
| 130 | + } |
|
| 131 | 131 | |
| 132 | - if (!is_readable($fichier)) { |
|
| 133 | - throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 134 | - } |
|
| 132 | + if (!is_readable($fichier)) { |
|
| 133 | + throw new \Exception(sprintf('File not readable: %s', $fichier)); |
|
| 134 | + } |
|
| 135 | 135 | |
| 136 | 136 | |
| 137 | - // Par defaut on envoie tout |
|
| 138 | - $byteOffset = 0; |
|
| 139 | - $byteLength = $fileSize = filesize($fichier); |
|
| 137 | + // Par defaut on envoie tout |
|
| 138 | + $byteOffset = 0; |
|
| 139 | + $byteLength = $fileSize = filesize($fichier); |
|
| 140 | 140 | |
| 141 | 141 | |
| 142 | - // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
|
| 143 | - if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
|
| 144 | - ### Offset signifies where we should begin to read the file |
|
| 145 | - $byteOffset = (int)$match[1]; |
|
| 142 | + // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
|
| 143 | + if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
|
| 144 | + ### Offset signifies where we should begin to read the file |
|
| 145 | + $byteOffset = (int)$match[1]; |
|
| 146 | 146 | |
| 147 | 147 | |
| 148 | - ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
|
| 149 | - if (isset($match[2])) { |
|
| 150 | - $finishBytes = (int)$match[2]; |
|
| 151 | - $byteLength = $finishBytes + 1; |
|
| 152 | - } else { |
|
| 153 | - $finishBytes = $fileSize - 1; |
|
| 154 | - } |
|
| 148 | + ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
|
| 149 | + if (isset($match[2])) { |
|
| 150 | + $finishBytes = (int)$match[2]; |
|
| 151 | + $byteLength = $finishBytes + 1; |
|
| 152 | + } else { |
|
| 153 | + $finishBytes = $fileSize - 1; |
|
| 154 | + } |
|
| 155 | 155 | |
| 156 | - $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
|
| 157 | - } |
|
| 158 | - else { |
|
| 159 | - // si pas de range valide, on delegue a la methode d'envoi complet |
|
| 160 | - spip_livrer_fichier_entier($fichier); |
|
| 161 | - // redondant, mais facilite la comprehension du code |
|
| 162 | - exit(); |
|
| 163 | - } |
|
| 156 | + $cr_header = sprintf('Content-Range: bytes %d-%d/%d', $byteOffset, $finishBytes, $fileSize); |
|
| 157 | + } |
|
| 158 | + else { |
|
| 159 | + // si pas de range valide, on delegue a la methode d'envoi complet |
|
| 160 | + spip_livrer_fichier_entier($fichier); |
|
| 161 | + // redondant, mais facilite la comprehension du code |
|
| 162 | + exit(); |
|
| 163 | + } |
|
| 164 | 164 | |
| 165 | - // Remove headers that might unnecessarily clutter up the output |
|
| 166 | - header_remove('Cache-Control'); |
|
| 167 | - header_remove('Pragma'); |
|
| 165 | + // Remove headers that might unnecessarily clutter up the output |
|
| 166 | + header_remove('Cache-Control'); |
|
| 167 | + header_remove('Pragma'); |
|
| 168 | 168 | |
| 169 | - // partial content |
|
| 170 | - header('HTTP/1.1 206 Partial content'); |
|
| 171 | - header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 169 | + // partial content |
|
| 170 | + header('HTTP/1.1 206 Partial content'); |
|
| 171 | + header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 172 | 172 | |
| 173 | 173 | |
| 174 | - $byteRange = $byteLength - $byteOffset; |
|
| 174 | + $byteRange = $byteLength - $byteOffset; |
|
| 175 | 175 | |
| 176 | - header(sprintf('Content-Length: %d', $byteRange)); |
|
| 176 | + header(sprintf('Content-Length: %d', $byteRange)); |
|
| 177 | 177 | |
| 178 | - // Variable containing the buffer |
|
| 179 | - $buffer = ''; |
|
| 180 | - // Just a reasonable buffer size |
|
| 181 | - $bufferSize = 512 * 16; |
|
| 182 | - // Contains how much is left to read of the byteRange |
|
| 183 | - $bytePool = $byteRange; |
|
| 178 | + // Variable containing the buffer |
|
| 179 | + $buffer = ''; |
|
| 180 | + // Just a reasonable buffer size |
|
| 181 | + $bufferSize = 512 * 16; |
|
| 182 | + // Contains how much is left to read of the byteRange |
|
| 183 | + $bytePool = $byteRange; |
|
| 184 | 184 | |
| 185 | - if (!$handle = fopen($fichier, 'r')) { |
|
| 186 | - throw new \Exception(sprintf('Could not get handle for file %s', $fichier)); |
|
| 187 | - } |
|
| 185 | + if (!$handle = fopen($fichier, 'r')) { |
|
| 186 | + throw new \Exception(sprintf('Could not get handle for file %s', $fichier)); |
|
| 187 | + } |
|
| 188 | 188 | |
| 189 | - if (fseek($handle, $byteOffset, SEEK_SET) == -1) { |
|
| 190 | - throw new \Exception(sprintf('Could not seek to byte offset %d', $byteOffset)); |
|
| 191 | - } |
|
| 189 | + if (fseek($handle, $byteOffset, SEEK_SET) == -1) { |
|
| 190 | + throw new \Exception(sprintf('Could not seek to byte offset %d', $byteOffset)); |
|
| 191 | + } |
|
| 192 | 192 | |
| 193 | 193 | |
| 194 | - while ($bytePool > 0) { |
|
| 195 | - // How many bytes we request on this iteration |
|
| 196 | - $chunkSizeRequested = min($bufferSize, $bytePool); |
|
| 194 | + while ($bytePool > 0) { |
|
| 195 | + // How many bytes we request on this iteration |
|
| 196 | + $chunkSizeRequested = min($bufferSize, $bytePool); |
|
| 197 | 197 | |
| 198 | - // Try readin $chunkSizeRequested bytes from $handle and put data in $buffer |
|
| 199 | - $buffer = fread($handle, $chunkSizeRequested); |
|
| 198 | + // Try readin $chunkSizeRequested bytes from $handle and put data in $buffer |
|
| 199 | + $buffer = fread($handle, $chunkSizeRequested); |
|
| 200 | 200 | |
| 201 | - // Store how many bytes were actually read |
|
| 202 | - $chunkSizeActual = strlen($buffer); |
|
| 201 | + // Store how many bytes were actually read |
|
| 202 | + $chunkSizeActual = strlen($buffer); |
|
| 203 | 203 | |
| 204 | - // If we didn't get any bytes that means something unexpected has happened since $bytePool should be zero already |
|
| 205 | - if ($chunkSizeActual == 0) { |
|
| 206 | - // For production servers this should go in your php error log, since it will break the output |
|
| 207 | - trigger_error('Chunksize became 0', E_USER_WARNING); |
|
| 208 | - break; |
|
| 209 | - } |
|
| 204 | + // If we didn't get any bytes that means something unexpected has happened since $bytePool should be zero already |
|
| 205 | + if ($chunkSizeActual == 0) { |
|
| 206 | + // For production servers this should go in your php error log, since it will break the output |
|
| 207 | + trigger_error('Chunksize became 0', E_USER_WARNING); |
|
| 208 | + break; |
|
| 209 | + } |
|
| 210 | 210 | |
| 211 | - // Decrease byte pool with amount of bytes that were read during this iteration |
|
| 212 | - $bytePool -= $chunkSizeActual; |
|
| 211 | + // Decrease byte pool with amount of bytes that were read during this iteration |
|
| 212 | + $bytePool -= $chunkSizeActual; |
|
| 213 | 213 | |
| 214 | - // Write the buffer to output |
|
| 215 | - print $buffer; |
|
| 214 | + // Write the buffer to output |
|
| 215 | + print $buffer; |
|
| 216 | 216 | |
| 217 | - // Try to output the data to the client immediately |
|
| 218 | - flush(); |
|
| 219 | - } |
|
| 217 | + // Try to output the data to the client immediately |
|
| 218 | + flush(); |
|
| 219 | + } |
|
| 220 | 220 | |
| 221 | - exit(); |
|
| 221 | + exit(); |
|
| 222 | 222 | } |
@@ -43,7 +43,7 @@ discard block |
||
| 43 | 43 | ]; |
| 44 | 44 | $options = array_merge($defaut, $options); |
| 45 | 45 | if (is_numeric($options['expires']) and $options['expires'] > 0) { |
| 46 | - $options['expires'] = gmdate('D, d M Y H:i:s', time() + $options['expires']) . ' GMT'; |
|
| 46 | + $options['expires'] = gmdate('D, d M Y H:i:s', time() + $options['expires']).' GMT'; |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | 49 | if (is_null($options) and isset($_SERVER['HTTP_RANGE'])) { |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | function spip_livrer_fichier_entetes($fichier, $content_type = 'application/octet-stream', $attachment = false, $expires = 0) { |
| 73 | 73 | // toujours envoyer un content type, meme vide ! |
| 74 | 74 | header('Accept-Ranges: bytes'); |
| 75 | - header('Content-Type: ' . $content_type); |
|
| 75 | + header('Content-Type: '.$content_type); |
|
| 76 | 76 | |
| 77 | 77 | if ($attachment) { |
| 78 | 78 | $f = basename($fichier); |
@@ -90,7 +90,7 @@ discard block |
||
| 90 | 90 | else { |
| 91 | 91 | $f = basename($fichier); |
| 92 | 92 | header("Content-Disposition: inline; filename=\"$f\";"); |
| 93 | - header('Expires: ' . $expires); // set expiration time |
|
| 93 | + header('Expires: '.$expires); // set expiration time |
|
| 94 | 94 | } |
| 95 | 95 | } |
| 96 | 96 | |
@@ -142,12 +142,12 @@ discard block |
||
| 142 | 142 | // Parse Content-Range header for byte offsets, looks like "bytes=11525-" OR "bytes=11525-12451" |
| 143 | 143 | if ($range and preg_match('%bytes=(\d+)-(\d+)?%i', $range, $match)) { |
| 144 | 144 | ### Offset signifies where we should begin to read the file |
| 145 | - $byteOffset = (int)$match[1]; |
|
| 145 | + $byteOffset = (int) $match[1]; |
|
| 146 | 146 | |
| 147 | 147 | |
| 148 | 148 | ### Length is for how long we should read the file according to the browser, and can never go beyond the file size |
| 149 | 149 | if (isset($match[2])) { |
| 150 | - $finishBytes = (int)$match[2]; |
|
| 150 | + $finishBytes = (int) $match[2]; |
|
| 151 | 151 | $byteLength = $finishBytes + 1; |
| 152 | 152 | } else { |
| 153 | 153 | $finishBytes = $fileSize - 1; |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | |
| 169 | 169 | // partial content |
| 170 | 170 | header('HTTP/1.1 206 Partial content'); |
| 171 | - header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 171 | + header($cr_header); ### Decrease by 1 on byte-length since this definition is zero-based index of bytes being sent |
|
| 172 | 172 | |
| 173 | 173 | |
| 174 | 174 | $byteRange = $byteLength - $byteOffset; |
@@ -147,7 +147,7 @@ discard block |
||
| 147 | 147 | // donc si on est dans le public avec un cache on va perdre le dynamisme |
| 148 | 148 | // et on risque de mettre en cache les valeurs pre-remplies du formulaire |
| 149 | 149 | // on injecte donc le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction |
| 150 | - $p->code = "'<'.'?php echo (" . texte_script($p->code) . "); ?'.'>'"; |
|
| 150 | + $p->code = "'<'.'?php echo (".texte_script($p->code)."); ?'.'>'"; |
|
| 151 | 151 | // dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave) |
| 152 | 152 | } |
| 153 | 153 | return $p; |
@@ -327,7 +327,7 @@ discard block |
||
| 327 | 327 | foreach ($erreurs as $k => $v) { |
| 328 | 328 | if (is_string($v) and strlen(trim($v)) and strpos($k, '_') !== 0) { |
| 329 | 329 | // on encapsule dans un span car ces messages sont en general simple, juste du texte, et deja dans un span dans le form |
| 330 | - $valeurs['erreurs'][$k] = "<span role='alert'>" . $erreurs[$k] . '</span>'; |
|
| 330 | + $valeurs['erreurs'][$k] = "<span role='alert'>".$erreurs[$k].'</span>'; |
|
| 331 | 331 | } |
| 332 | 332 | } |
| 333 | 333 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Formulaires |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('inc/filtres'); |
@@ -35,22 +35,22 @@ discard block |
||
| 35 | 35 | * Saisie protégée |
| 36 | 36 | **/ |
| 37 | 37 | function protege_champ($texte) { |
| 38 | - if (is_array($texte)) { |
|
| 39 | - return array_map('protege_champ', $texte); |
|
| 40 | - } elseif ($texte === null) { |
|
| 41 | - return $texte; |
|
| 42 | - } elseif (is_bool($texte)) { |
|
| 43 | - return $texte ? '1' : ''; |
|
| 44 | - } elseif (is_string($texte) and $texte) { |
|
| 45 | - if (preg_match(',^[abis]:\d+[:;],', $texte) and @unserialize($texte) !== false) { |
|
| 46 | - // ne pas corrompre une valeur serialize |
|
| 47 | - return $texte; |
|
| 48 | - } elseif (strpbrk($texte, "&\"'<>") !== false) { |
|
| 49 | - return spip_htmlspecialchars($texte, ENT_QUOTES); |
|
| 50 | - } |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - return $texte; |
|
| 38 | + if (is_array($texte)) { |
|
| 39 | + return array_map('protege_champ', $texte); |
|
| 40 | + } elseif ($texte === null) { |
|
| 41 | + return $texte; |
|
| 42 | + } elseif (is_bool($texte)) { |
|
| 43 | + return $texte ? '1' : ''; |
|
| 44 | + } elseif (is_string($texte) and $texte) { |
|
| 45 | + if (preg_match(',^[abis]:\d+[:;],', $texte) and @unserialize($texte) !== false) { |
|
| 46 | + // ne pas corrompre une valeur serialize |
|
| 47 | + return $texte; |
|
| 48 | + } elseif (strpbrk($texte, "&\"'<>") !== false) { |
|
| 49 | + return spip_htmlspecialchars($texte, ENT_QUOTES); |
|
| 50 | + } |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + return $texte; |
|
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | /** |
@@ -64,17 +64,17 @@ discard block |
||
| 64 | 64 | * - false : pas de squelette trouvé |
| 65 | 65 | **/ |
| 66 | 66 | function existe_formulaire($form) { |
| 67 | - if (substr($form, 0, 11) == 'FORMULAIRE_') { |
|
| 68 | - $form = strtolower(substr($form, 11)); |
|
| 69 | - } else { |
|
| 70 | - $form = strtolower($form); |
|
| 71 | - } |
|
| 67 | + if (substr($form, 0, 11) == 'FORMULAIRE_') { |
|
| 68 | + $form = strtolower(substr($form, 11)); |
|
| 69 | + } else { |
|
| 70 | + $form = strtolower($form); |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | - if (!$form) { |
|
| 74 | - return ''; |
|
| 75 | - } // on ne sait pas, le nom du formulaire n'est pas fourni ici |
|
| 73 | + if (!$form) { |
|
| 74 | + return ''; |
|
| 75 | + } // on ne sait pas, le nom du formulaire n'est pas fourni ici |
|
| 76 | 76 | |
| 77 | - return trouver_fond($form, 'formulaires/') ? $form : false; |
|
| 77 | + return trouver_fond($form, 'formulaires/') ? $form : false; |
|
| 78 | 78 | } |
| 79 | 79 | |
| 80 | 80 | /** |
@@ -83,31 +83,31 @@ discard block |
||
| 83 | 83 | * @return false|array |
| 84 | 84 | */ |
| 85 | 85 | function test_formulaire_inclus_par_modele() { |
| 86 | - $trace = debug_backtrace(0, 20); |
|
| 87 | - $trace_fonctions = array_column($trace, 'function'); |
|
| 88 | - $trace_fonctions = array_map('strtolower', $trace_fonctions); |
|
| 89 | - |
|
| 90 | - // regarder si un flag a ete leve juste avant l'appel de balise_FORMULAIRE_dyn |
|
| 91 | - if ( |
|
| 92 | - function_exists('arguments_balise_dyn_depuis_modele') |
|
| 93 | - and $form = arguments_balise_dyn_depuis_modele(null, 'read') |
|
| 94 | - ) { |
|
| 95 | - if (in_array('balise_formulaire__dyn', $trace_fonctions)) { |
|
| 96 | - $k = array_search('balise_formulaire__dyn', $trace_fonctions); |
|
| 97 | - if ($trace[$k]['args'][0] === $form) { |
|
| 98 | - return $trace[$k]['args']; |
|
| 99 | - } |
|
| 100 | - } |
|
| 101 | - } |
|
| 102 | - |
|
| 103 | - // fallback qui ne repose pas sur le flag lie a l'analyse de contexte_compil, |
|
| 104 | - // mais ne marche pas si executer_balise_dynamique est appelee via du php dans le squelette |
|
| 105 | - if (in_array('eval', $trace_fonctions) and in_array('inclure_modele', $trace_fonctions)) { |
|
| 106 | - $k = array_search('inclure_modele', $trace_fonctions); |
|
| 107 | - // les arguments de recuperer_fond() passes par inclure_modele() |
|
| 108 | - return $trace[$k - 1]['args'][1]['args']; |
|
| 109 | - } |
|
| 110 | - return false; |
|
| 86 | + $trace = debug_backtrace(0, 20); |
|
| 87 | + $trace_fonctions = array_column($trace, 'function'); |
|
| 88 | + $trace_fonctions = array_map('strtolower', $trace_fonctions); |
|
| 89 | + |
|
| 90 | + // regarder si un flag a ete leve juste avant l'appel de balise_FORMULAIRE_dyn |
|
| 91 | + if ( |
|
| 92 | + function_exists('arguments_balise_dyn_depuis_modele') |
|
| 93 | + and $form = arguments_balise_dyn_depuis_modele(null, 'read') |
|
| 94 | + ) { |
|
| 95 | + if (in_array('balise_formulaire__dyn', $trace_fonctions)) { |
|
| 96 | + $k = array_search('balise_formulaire__dyn', $trace_fonctions); |
|
| 97 | + if ($trace[$k]['args'][0] === $form) { |
|
| 98 | + return $trace[$k]['args']; |
|
| 99 | + } |
|
| 100 | + } |
|
| 101 | + } |
|
| 102 | + |
|
| 103 | + // fallback qui ne repose pas sur le flag lie a l'analyse de contexte_compil, |
|
| 104 | + // mais ne marche pas si executer_balise_dynamique est appelee via du php dans le squelette |
|
| 105 | + if (in_array('eval', $trace_fonctions) and in_array('inclure_modele', $trace_fonctions)) { |
|
| 106 | + $k = array_search('inclure_modele', $trace_fonctions); |
|
| 107 | + // les arguments de recuperer_fond() passes par inclure_modele() |
|
| 108 | + return $trace[$k - 1]['args'][1]['args']; |
|
| 109 | + } |
|
| 110 | + return false; |
|
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | /** |
@@ -122,32 +122,32 @@ discard block |
||
| 122 | 122 | **/ |
| 123 | 123 | function balise_FORMULAIRE__dist($p) { |
| 124 | 124 | |
| 125 | - // Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide. |
|
| 126 | - // mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer |
|
| 127 | - if (existe_formulaire($p->nom_champ) === false) { |
|
| 128 | - $p->code = "''"; |
|
| 129 | - $p->interdire_scripts = false; |
|
| 130 | - |
|
| 131 | - return $p; |
|
| 132 | - } |
|
| 133 | - |
|
| 134 | - // sinon renvoyer un code php dynamique |
|
| 135 | - $p = calculer_balise_dynamique($p, $p->nom_champ, []); |
|
| 136 | - |
|
| 137 | - if ( |
|
| 138 | - !test_espace_prive() |
|
| 139 | - and !empty($p->descr['sourcefile']) |
|
| 140 | - and $f = $p->descr['sourcefile'] |
|
| 141 | - and basename(dirname($f)) === 'modeles' |
|
| 142 | - ) { |
|
| 143 | - // un modele est toujours inséré en texte dans son contenant |
|
| 144 | - // donc si on est dans le public avec un cache on va perdre le dynamisme |
|
| 145 | - // et on risque de mettre en cache les valeurs pre-remplies du formulaire |
|
| 146 | - // on injecte donc le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction |
|
| 147 | - $p->code = "'<'.'?php echo (" . texte_script($p->code) . "); ?'.'>'"; |
|
| 148 | - // dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave) |
|
| 149 | - } |
|
| 150 | - return $p; |
|
| 125 | + // Cas d'un #FORMULAIRE_TOTO inexistant : renvoyer la chaine vide. |
|
| 126 | + // mais si #FORMULAIRE_{toto} on ne peut pas savoir a la compilation, continuer |
|
| 127 | + if (existe_formulaire($p->nom_champ) === false) { |
|
| 128 | + $p->code = "''"; |
|
| 129 | + $p->interdire_scripts = false; |
|
| 130 | + |
|
| 131 | + return $p; |
|
| 132 | + } |
|
| 133 | + |
|
| 134 | + // sinon renvoyer un code php dynamique |
|
| 135 | + $p = calculer_balise_dynamique($p, $p->nom_champ, []); |
|
| 136 | + |
|
| 137 | + if ( |
|
| 138 | + !test_espace_prive() |
|
| 139 | + and !empty($p->descr['sourcefile']) |
|
| 140 | + and $f = $p->descr['sourcefile'] |
|
| 141 | + and basename(dirname($f)) === 'modeles' |
|
| 142 | + ) { |
|
| 143 | + // un modele est toujours inséré en texte dans son contenant |
|
| 144 | + // donc si on est dans le public avec un cache on va perdre le dynamisme |
|
| 145 | + // et on risque de mettre en cache les valeurs pre-remplies du formulaire |
|
| 146 | + // on injecte donc le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction |
|
| 147 | + $p->code = "'<'.'?php echo (" . texte_script($p->code) . "); ?'.'>'"; |
|
| 148 | + // dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave) |
|
| 149 | + } |
|
| 150 | + return $p; |
|
| 151 | 151 | } |
| 152 | 152 | |
| 153 | 153 | /** |
@@ -167,17 +167,17 @@ discard block |
||
| 167 | 167 | * - string : texte à afficher directement |
| 168 | 168 | */ |
| 169 | 169 | function balise_FORMULAIRE__dyn($form, ...$args) { |
| 170 | - $form = existe_formulaire($form); |
|
| 171 | - if (!$form) { |
|
| 172 | - return ''; |
|
| 173 | - } |
|
| 170 | + $form = existe_formulaire($form); |
|
| 171 | + if (!$form) { |
|
| 172 | + return ''; |
|
| 173 | + } |
|
| 174 | 174 | |
| 175 | - $contexte = balise_FORMULAIRE__contexte($form, $args); |
|
| 176 | - if (!is_array($contexte)) { |
|
| 177 | - return $contexte; |
|
| 178 | - } |
|
| 175 | + $contexte = balise_FORMULAIRE__contexte($form, $args); |
|
| 176 | + if (!is_array($contexte)) { |
|
| 177 | + return $contexte; |
|
| 178 | + } |
|
| 179 | 179 | |
| 180 | - return ["formulaires/$form", 3600, $contexte]; |
|
| 180 | + return ["formulaires/$form", 3600, $contexte]; |
|
| 181 | 181 | } |
| 182 | 182 | |
| 183 | 183 | /** |
@@ -192,85 +192,85 @@ discard block |
||
| 192 | 192 | * string: Formulaire non applicable (message d’explication) |
| 193 | 193 | **/ |
| 194 | 194 | function balise_FORMULAIRE__contexte($form, $args) { |
| 195 | - // tester si ce formulaire vient d'etre poste (memes arguments) |
|
| 196 | - // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page |
|
| 197 | - // si poste, on recupere les erreurs |
|
| 198 | - |
|
| 199 | - $je_suis_poste = false; |
|
| 200 | - if ( |
|
| 201 | - $post_form = _request('formulaire_action') |
|
| 202 | - and $post_form == $form |
|
| 203 | - and $p = _request('formulaire_action_args') |
|
| 204 | - and is_array($p = decoder_contexte_ajax($p, $post_form)) |
|
| 205 | - ) { |
|
| 206 | - // enlever le faux attribut de langue masque |
|
| 207 | - array_shift($p); |
|
| 208 | - if (formulaire__identifier($form, $args, $p)) { |
|
| 209 | - $je_suis_poste = true; |
|
| 210 | - } |
|
| 211 | - } |
|
| 212 | - |
|
| 213 | - $editable = true; |
|
| 214 | - $erreurs = $post = []; |
|
| 215 | - if ($je_suis_poste) { |
|
| 216 | - $post = traiter_formulaires_dynamiques(true); |
|
| 217 | - $e = "erreurs_$form"; |
|
| 218 | - $erreurs = $post[$e] ?? []; |
|
| 219 | - $editable = "editable_$form"; |
|
| 220 | - $editable = (!isset($post[$e])) |
|
| 221 | - || (is_countable($erreurs) ? count($erreurs) : 0) |
|
| 222 | - || (isset($post[$editable]) && $post[$editable]); |
|
| 223 | - } |
|
| 224 | - |
|
| 225 | - $valeurs = formulaire__charger($form, $args, $je_suis_poste); |
|
| 226 | - |
|
| 227 | - // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable |
|
| 228 | - // C'est plus fort qu'editable qui est gere par le squelette |
|
| 229 | - // Idealement $valeur doit etre alors un message explicatif. |
|
| 230 | - if (!is_array($valeurs)) { |
|
| 231 | - return is_string($valeurs) ? $valeurs : ''; |
|
| 232 | - } |
|
| 233 | - |
|
| 234 | - // charger peut passer une action si le formulaire ne tourne pas sur self() |
|
| 235 | - // ou une action vide si elle ne sert pas |
|
| 236 | - $action = $valeurs['action'] ?? self('&', true); |
|
| 237 | - // bug IEx : si action finit par / |
|
| 238 | - // IE croit que le <form ... action=../ > est autoferme |
|
| 239 | - if (substr($action, -1) == '/') { |
|
| 240 | - // on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un / |
|
| 241 | - $action .= '#'; |
|
| 242 | - } |
|
| 243 | - |
|
| 244 | - // recuperer la saisie en cours si erreurs |
|
| 245 | - // seulement si c'est ce formulaire qui est poste |
|
| 246 | - // ou si on le demande explicitement par le parametre _forcer_request = true |
|
| 247 | - $dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])); |
|
| 248 | - foreach (array_keys($valeurs) as $champ) { |
|
| 249 | - if ($champ[0] !== '_' and !in_array($champ, ['message_ok', 'message_erreur', 'editable'])) { |
|
| 250 | - if ($dispo and (($v = _request($champ)) !== null)) { |
|
| 251 | - $valeurs[$champ] = $v; |
|
| 252 | - } |
|
| 253 | - // nettoyer l'url des champs qui vont etre saisis |
|
| 254 | - if ($action) { |
|
| 255 | - $action = parametre_url($action, $champ, ''); |
|
| 256 | - } |
|
| 257 | - // proteger les ' et les " dans les champs que l'on va injecter |
|
| 258 | - $valeurs[$champ] = protege_champ($valeurs[$champ]); |
|
| 259 | - } |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - if ($action) { |
|
| 263 | - // nettoyer l'url |
|
| 264 | - $action = parametre_url($action, 'formulaire_action', ''); |
|
| 265 | - $action = parametre_url($action, 'formulaire_action_args', ''); |
|
| 266 | - $action = parametre_url($action, 'formulaire_action_sign', ''); |
|
| 267 | - } |
|
| 268 | - |
|
| 269 | - /** |
|
| 270 | - * @deprecated 4.0 |
|
| 271 | - * servait pour poster sur les actions de type editer_xxx() qui ne prenaient pas d'argument autrement que par _request('arg') et pour lesquelles il fallait donc passer un hash valide |
|
| 272 | - */ |
|
| 273 | - /* |
|
| 195 | + // tester si ce formulaire vient d'etre poste (memes arguments) |
|
| 196 | + // pour ne pas confondre 2 #FORMULAIRES_XX identiques sur une meme page |
|
| 197 | + // si poste, on recupere les erreurs |
|
| 198 | + |
|
| 199 | + $je_suis_poste = false; |
|
| 200 | + if ( |
|
| 201 | + $post_form = _request('formulaire_action') |
|
| 202 | + and $post_form == $form |
|
| 203 | + and $p = _request('formulaire_action_args') |
|
| 204 | + and is_array($p = decoder_contexte_ajax($p, $post_form)) |
|
| 205 | + ) { |
|
| 206 | + // enlever le faux attribut de langue masque |
|
| 207 | + array_shift($p); |
|
| 208 | + if (formulaire__identifier($form, $args, $p)) { |
|
| 209 | + $je_suis_poste = true; |
|
| 210 | + } |
|
| 211 | + } |
|
| 212 | + |
|
| 213 | + $editable = true; |
|
| 214 | + $erreurs = $post = []; |
|
| 215 | + if ($je_suis_poste) { |
|
| 216 | + $post = traiter_formulaires_dynamiques(true); |
|
| 217 | + $e = "erreurs_$form"; |
|
| 218 | + $erreurs = $post[$e] ?? []; |
|
| 219 | + $editable = "editable_$form"; |
|
| 220 | + $editable = (!isset($post[$e])) |
|
| 221 | + || (is_countable($erreurs) ? count($erreurs) : 0) |
|
| 222 | + || (isset($post[$editable]) && $post[$editable]); |
|
| 223 | + } |
|
| 224 | + |
|
| 225 | + $valeurs = formulaire__charger($form, $args, $je_suis_poste); |
|
| 226 | + |
|
| 227 | + // si $valeurs n'est pas un tableau, le formulaire n'est pas applicable |
|
| 228 | + // C'est plus fort qu'editable qui est gere par le squelette |
|
| 229 | + // Idealement $valeur doit etre alors un message explicatif. |
|
| 230 | + if (!is_array($valeurs)) { |
|
| 231 | + return is_string($valeurs) ? $valeurs : ''; |
|
| 232 | + } |
|
| 233 | + |
|
| 234 | + // charger peut passer une action si le formulaire ne tourne pas sur self() |
|
| 235 | + // ou une action vide si elle ne sert pas |
|
| 236 | + $action = $valeurs['action'] ?? self('&', true); |
|
| 237 | + // bug IEx : si action finit par / |
|
| 238 | + // IE croit que le <form ... action=../ > est autoferme |
|
| 239 | + if (substr($action, -1) == '/') { |
|
| 240 | + // on ajoute une ancre pour feinter IE, au pire ca tue l'ancre qui finit par un / |
|
| 241 | + $action .= '#'; |
|
| 242 | + } |
|
| 243 | + |
|
| 244 | + // recuperer la saisie en cours si erreurs |
|
| 245 | + // seulement si c'est ce formulaire qui est poste |
|
| 246 | + // ou si on le demande explicitement par le parametre _forcer_request = true |
|
| 247 | + $dispo = ($je_suis_poste || (isset($valeurs['_forcer_request']) && $valeurs['_forcer_request'])); |
|
| 248 | + foreach (array_keys($valeurs) as $champ) { |
|
| 249 | + if ($champ[0] !== '_' and !in_array($champ, ['message_ok', 'message_erreur', 'editable'])) { |
|
| 250 | + if ($dispo and (($v = _request($champ)) !== null)) { |
|
| 251 | + $valeurs[$champ] = $v; |
|
| 252 | + } |
|
| 253 | + // nettoyer l'url des champs qui vont etre saisis |
|
| 254 | + if ($action) { |
|
| 255 | + $action = parametre_url($action, $champ, ''); |
|
| 256 | + } |
|
| 257 | + // proteger les ' et les " dans les champs que l'on va injecter |
|
| 258 | + $valeurs[$champ] = protege_champ($valeurs[$champ]); |
|
| 259 | + } |
|
| 260 | + } |
|
| 261 | + |
|
| 262 | + if ($action) { |
|
| 263 | + // nettoyer l'url |
|
| 264 | + $action = parametre_url($action, 'formulaire_action', ''); |
|
| 265 | + $action = parametre_url($action, 'formulaire_action_args', ''); |
|
| 266 | + $action = parametre_url($action, 'formulaire_action_sign', ''); |
|
| 267 | + } |
|
| 268 | + |
|
| 269 | + /** |
|
| 270 | + * @deprecated 4.0 |
|
| 271 | + * servait pour poster sur les actions de type editer_xxx() qui ne prenaient pas d'argument autrement que par _request('arg') et pour lesquelles il fallait donc passer un hash valide |
|
| 272 | + */ |
|
| 273 | + /* |
|
| 274 | 274 | if (isset($valeurs['_action'])) { |
| 275 | 275 | $securiser_action = charger_fonction('securiser_action', 'inc'); |
| 276 | 276 | $secu = $securiser_action(reset($valeurs['_action']), end($valeurs['_action']), '', -1); |
@@ -280,59 +280,59 @@ discard block |
||
| 280 | 280 | } |
| 281 | 281 | */ |
| 282 | 282 | |
| 283 | - // empiler la lang en tant que premier argument implicite du CVT |
|
| 284 | - // pour permettre de la restaurer au moment du Verifier et du Traiter |
|
| 285 | - array_unshift($args, $GLOBALS['spip_lang']); |
|
| 286 | - |
|
| 287 | - $valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form); |
|
| 288 | - $valeurs['erreurs'] = $erreurs; |
|
| 289 | - $valeurs['action'] = $action; |
|
| 290 | - $valeurs['form'] = $form; |
|
| 291 | - |
|
| 292 | - $valeurs['formulaire_sign'] = ''; |
|
| 293 | - if (!empty($GLOBALS['visiteur_session']['id_auteur'])) { |
|
| 294 | - $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 295 | - $secu = $securiser_action($valeurs['form'], $valeurs['formulaire_args'], '', -1); |
|
| 296 | - $valeurs['formulaire_sign'] = $secu['hash']; |
|
| 297 | - } |
|
| 298 | - |
|
| 299 | - if (!isset($valeurs['id'])) { |
|
| 300 | - $valeurs['id'] = 'new'; |
|
| 301 | - } |
|
| 302 | - // editable peut venir de charger() ou de traiter() sinon |
|
| 303 | - if (!isset($valeurs['editable'])) { |
|
| 304 | - $valeurs['editable'] = $editable; |
|
| 305 | - } |
|
| 306 | - // dans tous les cas, renvoyer un espace ou vide (et pas un booleen) |
|
| 307 | - $valeurs['editable'] = ($valeurs['editable'] ? ' ' : ''); |
|
| 308 | - |
|
| 309 | - if ($je_suis_poste) { |
|
| 310 | - $valeurs['message_erreur'] = ''; |
|
| 311 | - if (isset($erreurs['message_erreur'])) { |
|
| 312 | - $valeurs['message_erreur'] = $erreurs['message_erreur']; |
|
| 313 | - } |
|
| 314 | - |
|
| 315 | - $valeurs['message_ok'] = ''; |
|
| 316 | - if (isset($post["message_ok_$form"])) { |
|
| 317 | - $valeurs['message_ok'] = $post["message_ok_$form"]; |
|
| 318 | - } elseif (isset($erreurs['message_ok'])) { |
|
| 319 | - $valeurs['message_ok'] = $erreurs['message_ok']; |
|
| 320 | - } |
|
| 321 | - |
|
| 322 | - // accessibilite : encapsuler toutes les erreurs dans un role='alert' |
|
| 323 | - // uniquement si c'est une string et au premier niveau (on ne touche pas au tableaux) |
|
| 324 | - // et si $k ne commence pas par un _ (c'est bien une vrai erreur sur un vrai champ) |
|
| 325 | - if (html5_permis()) { |
|
| 326 | - foreach ($erreurs as $k => $v) { |
|
| 327 | - if (is_string($v) and strlen(trim($v)) and strpos($k, '_') !== 0) { |
|
| 328 | - // on encapsule dans un span car ces messages sont en general simple, juste du texte, et deja dans un span dans le form |
|
| 329 | - $valeurs['erreurs'][$k] = "<span role='alert'>" . $erreurs[$k] . '</span>'; |
|
| 330 | - } |
|
| 331 | - } |
|
| 332 | - } |
|
| 333 | - } |
|
| 334 | - |
|
| 335 | - return $valeurs; |
|
| 283 | + // empiler la lang en tant que premier argument implicite du CVT |
|
| 284 | + // pour permettre de la restaurer au moment du Verifier et du Traiter |
|
| 285 | + array_unshift($args, $GLOBALS['spip_lang']); |
|
| 286 | + |
|
| 287 | + $valeurs['formulaire_args'] = encoder_contexte_ajax($args, $form); |
|
| 288 | + $valeurs['erreurs'] = $erreurs; |
|
| 289 | + $valeurs['action'] = $action; |
|
| 290 | + $valeurs['form'] = $form; |
|
| 291 | + |
|
| 292 | + $valeurs['formulaire_sign'] = ''; |
|
| 293 | + if (!empty($GLOBALS['visiteur_session']['id_auteur'])) { |
|
| 294 | + $securiser_action = charger_fonction('securiser_action', 'inc'); |
|
| 295 | + $secu = $securiser_action($valeurs['form'], $valeurs['formulaire_args'], '', -1); |
|
| 296 | + $valeurs['formulaire_sign'] = $secu['hash']; |
|
| 297 | + } |
|
| 298 | + |
|
| 299 | + if (!isset($valeurs['id'])) { |
|
| 300 | + $valeurs['id'] = 'new'; |
|
| 301 | + } |
|
| 302 | + // editable peut venir de charger() ou de traiter() sinon |
|
| 303 | + if (!isset($valeurs['editable'])) { |
|
| 304 | + $valeurs['editable'] = $editable; |
|
| 305 | + } |
|
| 306 | + // dans tous les cas, renvoyer un espace ou vide (et pas un booleen) |
|
| 307 | + $valeurs['editable'] = ($valeurs['editable'] ? ' ' : ''); |
|
| 308 | + |
|
| 309 | + if ($je_suis_poste) { |
|
| 310 | + $valeurs['message_erreur'] = ''; |
|
| 311 | + if (isset($erreurs['message_erreur'])) { |
|
| 312 | + $valeurs['message_erreur'] = $erreurs['message_erreur']; |
|
| 313 | + } |
|
| 314 | + |
|
| 315 | + $valeurs['message_ok'] = ''; |
|
| 316 | + if (isset($post["message_ok_$form"])) { |
|
| 317 | + $valeurs['message_ok'] = $post["message_ok_$form"]; |
|
| 318 | + } elseif (isset($erreurs['message_ok'])) { |
|
| 319 | + $valeurs['message_ok'] = $erreurs['message_ok']; |
|
| 320 | + } |
|
| 321 | + |
|
| 322 | + // accessibilite : encapsuler toutes les erreurs dans un role='alert' |
|
| 323 | + // uniquement si c'est une string et au premier niveau (on ne touche pas au tableaux) |
|
| 324 | + // et si $k ne commence pas par un _ (c'est bien une vrai erreur sur un vrai champ) |
|
| 325 | + if (html5_permis()) { |
|
| 326 | + foreach ($erreurs as $k => $v) { |
|
| 327 | + if (is_string($v) and strlen(trim($v)) and strpos($k, '_') !== 0) { |
|
| 328 | + // on encapsule dans un span car ces messages sont en general simple, juste du texte, et deja dans un span dans le form |
|
| 329 | + $valeurs['erreurs'][$k] = "<span role='alert'>" . $erreurs[$k] . '</span>'; |
|
| 330 | + } |
|
| 331 | + } |
|
| 332 | + } |
|
| 333 | + } |
|
| 334 | + |
|
| 335 | + return $valeurs; |
|
| 336 | 336 | } |
| 337 | 337 | |
| 338 | 338 | /** |
@@ -344,51 +344,51 @@ discard block |
||
| 344 | 344 | * @return array |
| 345 | 345 | */ |
| 346 | 346 | function formulaire__charger($form, $args, $poste) { |
| 347 | - if ($charger_valeurs = charger_fonction('charger', "formulaires/$form", true)) { |
|
| 348 | - $valeurs = $charger_valeurs(...$args); |
|
| 349 | - } else { |
|
| 350 | - $valeurs = []; |
|
| 351 | - } |
|
| 352 | - |
|
| 353 | - $valeurs = pipeline( |
|
| 354 | - 'formulaire_charger', |
|
| 355 | - [ |
|
| 356 | - 'args' => ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste], |
|
| 357 | - 'data' => $valeurs |
|
| 358 | - ] |
|
| 359 | - ); |
|
| 360 | - |
|
| 361 | - // prise en charge CVT multi etape |
|
| 362 | - if (is_array($valeurs) and isset($valeurs['_etapes'])) { |
|
| 363 | - include_spip('inc/cvt_multietapes'); |
|
| 364 | - $valeurs = cvtmulti_formulaire_charger_etapes( |
|
| 365 | - ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste], |
|
| 366 | - $valeurs |
|
| 367 | - ); |
|
| 368 | - } |
|
| 369 | - |
|
| 370 | - // si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline ! |
|
| 371 | - if (is_array($valeurs)) { |
|
| 372 | - if (!isset($valeurs['_pipelines'])) { |
|
| 373 | - $valeurs['_pipelines'] = []; |
|
| 374 | - } |
|
| 375 | - // l'ancien argument _pipeline devient maintenant _pipelines |
|
| 376 | - // reinjectons le vieux _pipeline au debut de _pipelines |
|
| 377 | - if (isset($valeurs['_pipeline'])) { |
|
| 378 | - $pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline']; |
|
| 379 | - $args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : []; |
|
| 380 | - |
|
| 381 | - $pipelines = [$pipe => $args]; |
|
| 382 | - $valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']); |
|
| 383 | - } |
|
| 384 | - |
|
| 385 | - // et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire |
|
| 386 | - // qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond |
|
| 387 | - // (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes) |
|
| 388 | - $valeurs['_pipelines']['formulaire_fond'] = ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste]; |
|
| 389 | - } |
|
| 390 | - |
|
| 391 | - return $valeurs; |
|
| 347 | + if ($charger_valeurs = charger_fonction('charger', "formulaires/$form", true)) { |
|
| 348 | + $valeurs = $charger_valeurs(...$args); |
|
| 349 | + } else { |
|
| 350 | + $valeurs = []; |
|
| 351 | + } |
|
| 352 | + |
|
| 353 | + $valeurs = pipeline( |
|
| 354 | + 'formulaire_charger', |
|
| 355 | + [ |
|
| 356 | + 'args' => ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste], |
|
| 357 | + 'data' => $valeurs |
|
| 358 | + ] |
|
| 359 | + ); |
|
| 360 | + |
|
| 361 | + // prise en charge CVT multi etape |
|
| 362 | + if (is_array($valeurs) and isset($valeurs['_etapes'])) { |
|
| 363 | + include_spip('inc/cvt_multietapes'); |
|
| 364 | + $valeurs = cvtmulti_formulaire_charger_etapes( |
|
| 365 | + ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste], |
|
| 366 | + $valeurs |
|
| 367 | + ); |
|
| 368 | + } |
|
| 369 | + |
|
| 370 | + // si $valeurs et false ou une chaine, pas de formulaire, donc pas de pipeline ! |
|
| 371 | + if (is_array($valeurs)) { |
|
| 372 | + if (!isset($valeurs['_pipelines'])) { |
|
| 373 | + $valeurs['_pipelines'] = []; |
|
| 374 | + } |
|
| 375 | + // l'ancien argument _pipeline devient maintenant _pipelines |
|
| 376 | + // reinjectons le vieux _pipeline au debut de _pipelines |
|
| 377 | + if (isset($valeurs['_pipeline'])) { |
|
| 378 | + $pipe = is_array($valeurs['_pipeline']) ? reset($valeurs['_pipeline']) : $valeurs['_pipeline']; |
|
| 379 | + $args = is_array($valeurs['_pipeline']) ? end($valeurs['_pipeline']) : []; |
|
| 380 | + |
|
| 381 | + $pipelines = [$pipe => $args]; |
|
| 382 | + $valeurs['_pipelines'] = array_merge($pipelines, $valeurs['_pipelines']); |
|
| 383 | + } |
|
| 384 | + |
|
| 385 | + // et enfin, ajoutons systematiquement un pipeline sur le squelette du formulaire |
|
| 386 | + // qui constitue le cas le plus courant d'utilisation du pipeline recuperer_fond |
|
| 387 | + // (performance, cela evite de s'injecter dans recuperer_fond utilise pour *tous* les squelettes) |
|
| 388 | + $valeurs['_pipelines']['formulaire_fond'] = ['form' => $form, 'args' => $args, 'je_suis_poste' => $poste]; |
|
| 389 | + } |
|
| 390 | + |
|
| 391 | + return $valeurs; |
|
| 392 | 392 | } |
| 393 | 393 | |
| 394 | 394 | /** |
@@ -407,9 +407,9 @@ discard block |
||
| 407 | 407 | * @return bool |
| 408 | 408 | */ |
| 409 | 409 | function formulaire__identifier($form, $args, $p) { |
| 410 | - if ($identifier_args = charger_fonction('identifier', "formulaires/$form", true)) { |
|
| 411 | - return $identifier_args(...$args) === $identifier_args(...$p); |
|
| 412 | - } |
|
| 410 | + if ($identifier_args = charger_fonction('identifier', "formulaires/$form", true)) { |
|
| 411 | + return $identifier_args(...$args) === $identifier_args(...$p); |
|
| 412 | + } |
|
| 413 | 413 | |
| 414 | - return $args === $p; |
|
| 414 | + return $args === $p; |
|
| 415 | 415 | } |
@@ -975,9 +975,9 @@ |
||
| 975 | 975 | if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) { |
| 976 | 976 | define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))'); |
| 977 | 977 | } |
| 978 | - $GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')'; |
|
| 978 | + $GLOBALS['table_des_traitements']['BIO'][] = 'safehtml('._TRAITEMENT_RACCOURCIS.')'; |
|
| 979 | 979 | $GLOBALS['table_des_traitements']['NOM_SITE']['spip_auteurs'] = 'entites_html(%s)'; |
| 980 | - $GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')'; |
|
| 980 | + $GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml('._TRAITEMENT_TYPO_SANS_NUMERO.')'; |
|
| 981 | 981 | $GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS; |
| 982 | 982 | $GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)'; |
| 983 | 983 | $GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)'; |
@@ -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 | |
@@ -34,53 +34,53 @@ discard block |
||
| 34 | 34 | * @package SPIP\Core\Compilateur\AST |
| 35 | 35 | */ |
| 36 | 36 | class Contexte { |
| 37 | - /** |
|
| 38 | - * Description du squelette |
|
| 39 | - * |
|
| 40 | - * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 41 | - * |
|
| 42 | - * Peut contenir les index : |
|
| 43 | - * |
|
| 44 | - * - nom : Nom du fichier de cache |
|
| 45 | - * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 46 | - * - sourcefile : Chemin du squelette |
|
| 47 | - * - squelette : Code du squelette |
|
| 48 | - * - id_mere : Identifiant de la boucle parente |
|
| 49 | - * - documents : Pour embed et img dans les textes |
|
| 50 | - * - session : Pour un cache sessionné par auteur |
|
| 51 | - * - niv : Niveau de tabulation |
|
| 52 | - * |
|
| 53 | - * @var array |
|
| 54 | - */ |
|
| 55 | - public $descr = []; |
|
| 56 | - |
|
| 57 | - /** |
|
| 58 | - * Identifiant de la boucle |
|
| 59 | - * |
|
| 60 | - * @var string |
|
| 61 | - */ |
|
| 62 | - public $id_boucle = ''; |
|
| 63 | - |
|
| 64 | - /** |
|
| 65 | - * Numéro de ligne dans le code source du squelette |
|
| 66 | - * |
|
| 67 | - * @var int |
|
| 68 | - */ |
|
| 69 | - public $ligne = 0; |
|
| 70 | - |
|
| 71 | - /** |
|
| 72 | - * Langue d'exécution |
|
| 73 | - * |
|
| 74 | - * @var string |
|
| 75 | - */ |
|
| 76 | - public $lang = ''; |
|
| 77 | - |
|
| 78 | - /** |
|
| 79 | - * Résultat de la compilation: toujours une expression PHP |
|
| 80 | - * |
|
| 81 | - * @var string |
|
| 82 | - */ |
|
| 83 | - public $code = ''; |
|
| 37 | + /** |
|
| 38 | + * Description du squelette |
|
| 39 | + * |
|
| 40 | + * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 41 | + * |
|
| 42 | + * Peut contenir les index : |
|
| 43 | + * |
|
| 44 | + * - nom : Nom du fichier de cache |
|
| 45 | + * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 46 | + * - sourcefile : Chemin du squelette |
|
| 47 | + * - squelette : Code du squelette |
|
| 48 | + * - id_mere : Identifiant de la boucle parente |
|
| 49 | + * - documents : Pour embed et img dans les textes |
|
| 50 | + * - session : Pour un cache sessionné par auteur |
|
| 51 | + * - niv : Niveau de tabulation |
|
| 52 | + * |
|
| 53 | + * @var array |
|
| 54 | + */ |
|
| 55 | + public $descr = []; |
|
| 56 | + |
|
| 57 | + /** |
|
| 58 | + * Identifiant de la boucle |
|
| 59 | + * |
|
| 60 | + * @var string |
|
| 61 | + */ |
|
| 62 | + public $id_boucle = ''; |
|
| 63 | + |
|
| 64 | + /** |
|
| 65 | + * Numéro de ligne dans le code source du squelette |
|
| 66 | + * |
|
| 67 | + * @var int |
|
| 68 | + */ |
|
| 69 | + public $ligne = 0; |
|
| 70 | + |
|
| 71 | + /** |
|
| 72 | + * Langue d'exécution |
|
| 73 | + * |
|
| 74 | + * @var string |
|
| 75 | + */ |
|
| 76 | + public $lang = ''; |
|
| 77 | + |
|
| 78 | + /** |
|
| 79 | + * Résultat de la compilation: toujours une expression PHP |
|
| 80 | + * |
|
| 81 | + * @var string |
|
| 82 | + */ |
|
| 83 | + public $code = ''; |
|
| 84 | 84 | } |
| 85 | 85 | |
| 86 | 86 | |
@@ -90,44 +90,44 @@ discard block |
||
| 90 | 90 | * @package SPIP\Core\Compilateur\AST |
| 91 | 91 | **/ |
| 92 | 92 | class Texte { |
| 93 | - /** |
|
| 94 | - * Type de noeud |
|
| 95 | - * |
|
| 96 | - * @var string |
|
| 97 | - */ |
|
| 98 | - public $type = 'texte'; |
|
| 99 | - |
|
| 100 | - /** |
|
| 101 | - * Le texte |
|
| 102 | - * |
|
| 103 | - * @var string |
|
| 104 | - */ |
|
| 105 | - public $texte; |
|
| 106 | - |
|
| 107 | - /** |
|
| 108 | - * Contenu avant le texte. |
|
| 109 | - * |
|
| 110 | - * Vide ou apostrophe simple ou double si le texte en était entouré |
|
| 111 | - * |
|
| 112 | - * @var string|array |
|
| 113 | - */ |
|
| 114 | - public $avant = ''; |
|
| 115 | - |
|
| 116 | - /** |
|
| 117 | - * Contenu après le texte. |
|
| 118 | - * |
|
| 119 | - * Vide ou apostrophe simple ou double si le texte en était entouré |
|
| 120 | - * |
|
| 121 | - * @var string|array |
|
| 122 | - */ |
|
| 123 | - public $apres = ''; |
|
| 124 | - |
|
| 125 | - /** |
|
| 126 | - * Numéro de ligne dans le code source du squelette |
|
| 127 | - * |
|
| 128 | - * @var int |
|
| 129 | - */ |
|
| 130 | - public $ligne = 0; |
|
| 93 | + /** |
|
| 94 | + * Type de noeud |
|
| 95 | + * |
|
| 96 | + * @var string |
|
| 97 | + */ |
|
| 98 | + public $type = 'texte'; |
|
| 99 | + |
|
| 100 | + /** |
|
| 101 | + * Le texte |
|
| 102 | + * |
|
| 103 | + * @var string |
|
| 104 | + */ |
|
| 105 | + public $texte; |
|
| 106 | + |
|
| 107 | + /** |
|
| 108 | + * Contenu avant le texte. |
|
| 109 | + * |
|
| 110 | + * Vide ou apostrophe simple ou double si le texte en était entouré |
|
| 111 | + * |
|
| 112 | + * @var string|array |
|
| 113 | + */ |
|
| 114 | + public $avant = ''; |
|
| 115 | + |
|
| 116 | + /** |
|
| 117 | + * Contenu après le texte. |
|
| 118 | + * |
|
| 119 | + * Vide ou apostrophe simple ou double si le texte en était entouré |
|
| 120 | + * |
|
| 121 | + * @var string|array |
|
| 122 | + */ |
|
| 123 | + public $apres = ''; |
|
| 124 | + |
|
| 125 | + /** |
|
| 126 | + * Numéro de ligne dans le code source du squelette |
|
| 127 | + * |
|
| 128 | + * @var int |
|
| 129 | + */ |
|
| 130 | + public $ligne = 0; |
|
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | /** |
@@ -136,50 +136,50 @@ discard block |
||
| 136 | 136 | * @package SPIP\Core\Compilateur\AST |
| 137 | 137 | **/ |
| 138 | 138 | class Inclure { |
| 139 | - /** |
|
| 140 | - * Type de noeud |
|
| 141 | - * |
|
| 142 | - * @var string |
|
| 143 | - */ |
|
| 144 | - public $type = 'include'; |
|
| 145 | - |
|
| 146 | - /** |
|
| 147 | - * Nom d'un fichier inclu |
|
| 148 | - * |
|
| 149 | - * - Objet Texte si inclusion d'un autre squelette |
|
| 150 | - * - chaîne si inclusion d'un fichier PHP directement |
|
| 151 | - * |
|
| 152 | - * @var string|Texte |
|
| 153 | - */ |
|
| 154 | - public $texte; |
|
| 155 | - |
|
| 156 | - /** |
|
| 157 | - * Inutilisé, propriété générique de l'AST |
|
| 158 | - * |
|
| 159 | - * @var string|array |
|
| 160 | - */ |
|
| 161 | - public $avant = ''; |
|
| 162 | - |
|
| 163 | - /** |
|
| 164 | - * Inutilisé, propriété générique de l'AST |
|
| 165 | - * |
|
| 166 | - * @var string|array |
|
| 167 | - */ |
|
| 168 | - public $apres = ''; |
|
| 169 | - |
|
| 170 | - /** |
|
| 171 | - * Numéro de ligne dans le code source du squelette |
|
| 172 | - * |
|
| 173 | - * @var int |
|
| 174 | - */ |
|
| 175 | - public $ligne = 0; |
|
| 176 | - |
|
| 177 | - /** |
|
| 178 | - * Valeurs des paramètres |
|
| 179 | - * |
|
| 180 | - * @var array |
|
| 181 | - */ |
|
| 182 | - public $param = []; |
|
| 139 | + /** |
|
| 140 | + * Type de noeud |
|
| 141 | + * |
|
| 142 | + * @var string |
|
| 143 | + */ |
|
| 144 | + public $type = 'include'; |
|
| 145 | + |
|
| 146 | + /** |
|
| 147 | + * Nom d'un fichier inclu |
|
| 148 | + * |
|
| 149 | + * - Objet Texte si inclusion d'un autre squelette |
|
| 150 | + * - chaîne si inclusion d'un fichier PHP directement |
|
| 151 | + * |
|
| 152 | + * @var string|Texte |
|
| 153 | + */ |
|
| 154 | + public $texte; |
|
| 155 | + |
|
| 156 | + /** |
|
| 157 | + * Inutilisé, propriété générique de l'AST |
|
| 158 | + * |
|
| 159 | + * @var string|array |
|
| 160 | + */ |
|
| 161 | + public $avant = ''; |
|
| 162 | + |
|
| 163 | + /** |
|
| 164 | + * Inutilisé, propriété générique de l'AST |
|
| 165 | + * |
|
| 166 | + * @var string|array |
|
| 167 | + */ |
|
| 168 | + public $apres = ''; |
|
| 169 | + |
|
| 170 | + /** |
|
| 171 | + * Numéro de ligne dans le code source du squelette |
|
| 172 | + * |
|
| 173 | + * @var int |
|
| 174 | + */ |
|
| 175 | + public $ligne = 0; |
|
| 176 | + |
|
| 177 | + /** |
|
| 178 | + * Valeurs des paramètres |
|
| 179 | + * |
|
| 180 | + * @var array |
|
| 181 | + */ |
|
| 182 | + public $param = []; |
|
| 183 | 183 | } |
| 184 | 184 | |
| 185 | 185 | |
@@ -189,392 +189,392 @@ discard block |
||
| 189 | 189 | * @package SPIP\Core\Compilateur\AST |
| 190 | 190 | **/ |
| 191 | 191 | class Boucle { |
| 192 | - /** |
|
| 193 | - * Type de noeud |
|
| 194 | - * |
|
| 195 | - * @var string |
|
| 196 | - */ |
|
| 197 | - public $type = 'boucle'; |
|
| 198 | - |
|
| 199 | - /** |
|
| 200 | - * Identifiant de la boucle |
|
| 201 | - * |
|
| 202 | - * @var string |
|
| 203 | - */ |
|
| 204 | - public $id_boucle; |
|
| 205 | - |
|
| 206 | - /** |
|
| 207 | - * Identifiant de la boucle parente |
|
| 208 | - * |
|
| 209 | - * @var string |
|
| 210 | - */ |
|
| 211 | - public $id_parent = ''; |
|
| 212 | - |
|
| 213 | - /** |
|
| 214 | - * Partie avant toujours affichee |
|
| 215 | - * |
|
| 216 | - * @var string|array |
|
| 217 | - */ |
|
| 218 | - public $preaff = ''; |
|
| 219 | - |
|
| 220 | - /** |
|
| 221 | - * Partie optionnelle avant |
|
| 222 | - * |
|
| 223 | - * @var string|array |
|
| 224 | - */ |
|
| 225 | - public $avant = ''; |
|
| 226 | - |
|
| 227 | - /** |
|
| 228 | - * Pour chaque élément |
|
| 229 | - * |
|
| 230 | - * @var string|array |
|
| 231 | - */ |
|
| 232 | - public $milieu = ''; |
|
| 233 | - |
|
| 234 | - /** |
|
| 235 | - * Partie optionnelle après |
|
| 236 | - * |
|
| 237 | - * @var string|array |
|
| 238 | - */ |
|
| 239 | - public $apres = ''; |
|
| 240 | - |
|
| 241 | - /** |
|
| 242 | - * Partie alternative, si pas de résultat dans la boucle |
|
| 243 | - * |
|
| 244 | - * @var string|array |
|
| 245 | - */ |
|
| 246 | - public $altern = ''; |
|
| 247 | - |
|
| 248 | - /** |
|
| 249 | - * Partie apres toujours affichee |
|
| 250 | - * |
|
| 251 | - * @var string|array |
|
| 252 | - */ |
|
| 253 | - public $postaff = ''; |
|
| 254 | - |
|
| 255 | - |
|
| 256 | - /** |
|
| 257 | - * La boucle doit-elle sélectionner la langue ? |
|
| 258 | - * |
|
| 259 | - * @var string|null |
|
| 260 | - */ |
|
| 261 | - public $lang_select; |
|
| 262 | - |
|
| 263 | - /** |
|
| 264 | - * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 265 | - * |
|
| 266 | - * @var string|null |
|
| 267 | - */ |
|
| 268 | - public $type_requete; |
|
| 269 | - |
|
| 270 | - /** |
|
| 271 | - * La table est elle optionnelle ? |
|
| 272 | - * |
|
| 273 | - * Si oui, aucune erreur ne sera générée si la table demandée n'est pas présente |
|
| 274 | - * |
|
| 275 | - * @var bool |
|
| 276 | - */ |
|
| 277 | - public $table_optionnelle = false; |
|
| 278 | - |
|
| 279 | - /** |
|
| 280 | - * Nom du fichier de connexion |
|
| 281 | - * |
|
| 282 | - * @var string |
|
| 283 | - */ |
|
| 284 | - public $sql_serveur = ''; |
|
| 285 | - |
|
| 286 | - /** |
|
| 287 | - * Paramètres de la boucle |
|
| 288 | - * |
|
| 289 | - * Description des paramètres passés à la boucle, qui servent ensuite |
|
| 290 | - * au calcul des critères |
|
| 291 | - * |
|
| 292 | - * @var array |
|
| 293 | - */ |
|
| 294 | - public $param = []; |
|
| 295 | - |
|
| 296 | - /** |
|
| 297 | - * Critères de la boucle |
|
| 298 | - * |
|
| 299 | - * @var Critere[] |
|
| 300 | - */ |
|
| 301 | - public $criteres = []; |
|
| 302 | - |
|
| 303 | - /** |
|
| 304 | - * Textes insérés entre 2 éléments de boucle (critère inter) |
|
| 305 | - * |
|
| 306 | - * @var string[] |
|
| 307 | - */ |
|
| 308 | - public $separateur = []; |
|
| 309 | - |
|
| 310 | - /** |
|
| 311 | - * Liste des jointures possibles avec cette table |
|
| 312 | - * |
|
| 313 | - * Les jointures par défaut de la table sont complétées en priorité |
|
| 314 | - * des jointures déclarées explicitement sur la boucle |
|
| 315 | - * |
|
| 316 | - * @see base_trouver_table_dist() |
|
| 317 | - * @var array |
|
| 318 | - */ |
|
| 319 | - public $jointures = []; |
|
| 320 | - |
|
| 321 | - /** |
|
| 322 | - * Jointures explicites avec cette table |
|
| 323 | - * |
|
| 324 | - * Ces jointures sont utilisées en priorité par rapport aux jointures |
|
| 325 | - * normales possibles pour retrouver les colonnes demandées extérieures |
|
| 326 | - * à la boucle. |
|
| 327 | - * |
|
| 328 | - * @var string|bool |
|
| 329 | - */ |
|
| 330 | - public $jointures_explicites = false; |
|
| 331 | - |
|
| 332 | - /** |
|
| 333 | - * Nom de la variable PHP stockant le noms de doublons utilisés "$doublons_index" |
|
| 334 | - * |
|
| 335 | - * @var string|null |
|
| 336 | - */ |
|
| 337 | - public $doublons; |
|
| 338 | - |
|
| 339 | - /** |
|
| 340 | - * Code PHP ajouté au début de chaque itération de boucle. |
|
| 341 | - * |
|
| 342 | - * Utilisé entre autre par les critères {pagination}, {n-a,b}, {a/b}... |
|
| 343 | - * |
|
| 344 | - * @var string |
|
| 345 | - */ |
|
| 346 | - public $partie = ''; |
|
| 347 | - |
|
| 348 | - /** |
|
| 349 | - * Nombre de divisions de la boucle, d'éléments à afficher, |
|
| 350 | - * ou de soustractions d'éléments à faire |
|
| 351 | - * |
|
| 352 | - * Dans les critères limitant le nombre d'éléments affichés |
|
| 353 | - * {a,b}, {a,n-b}, {a/b}, {pagination b}, b est affecté à total_parties. |
|
| 354 | - * |
|
| 355 | - * @var string |
|
| 356 | - */ |
|
| 357 | - public $total_parties = ''; |
|
| 358 | - |
|
| 359 | - /** |
|
| 360 | - * Code PHP ajouté avant l'itération de boucle. |
|
| 361 | - * |
|
| 362 | - * Utilisé entre autre par les critères {pagination}, {a,b}, {a/b} |
|
| 363 | - * pour initialiser les variables de début et de fin d'itération. |
|
| 364 | - * |
|
| 365 | - * @var string |
|
| 366 | - */ |
|
| 367 | - public $mode_partie = ''; |
|
| 368 | - |
|
| 369 | - /** |
|
| 370 | - * Identifiant d'une boucle qui appelle celle-ci de manière récursive |
|
| 371 | - * |
|
| 372 | - * Si une boucle est appelée de manière récursive quelque part par |
|
| 373 | - * une autre boucle comme <BOUCLE_rec(boucle_identifiant) />, cette |
|
| 374 | - * boucle (identifiant) reçoit dans cette propriété l'identifiant |
|
| 375 | - * de l'appelant (rec) |
|
| 376 | - * |
|
| 377 | - * @var string |
|
| 378 | - */ |
|
| 379 | - public $externe = ''; |
|
| 380 | - |
|
| 381 | - // champs pour la construction de la requete SQL |
|
| 382 | - |
|
| 383 | - /** |
|
| 384 | - * Liste des champs à récupérer par la boucle |
|
| 385 | - * |
|
| 386 | - * Expression 'table.nom_champ' ou calculée 'nom_champ AS x' |
|
| 387 | - * |
|
| 388 | - * @var string[] |
|
| 389 | - */ |
|
| 390 | - public $select = []; |
|
| 391 | - |
|
| 392 | - /** |
|
| 393 | - * Liste des alias / tables SQL utilisées dans la boucle |
|
| 394 | - * |
|
| 395 | - * L'index est un identifiant (xx dans spip_xx assez souvent) qui servira |
|
| 396 | - * d'alias au nom de la table ; la valeur est le nom de la table SQL désirée. |
|
| 397 | - * |
|
| 398 | - * L'index 0 peut définir le type de sources de données de l'itérateur DATA |
|
| 399 | - * |
|
| 400 | - * @var string[] |
|
| 401 | - */ |
|
| 402 | - public $from = []; |
|
| 403 | - |
|
| 404 | - /** |
|
| 405 | - * Liste des alias / type de jointures utilisées dans la boucle |
|
| 406 | - * |
|
| 407 | - * L'index est le nom d'alias (comme pour la propriété $from), et la valeur |
|
| 408 | - * un type de jointure parmi 'INNER', 'LEFT', 'RIGHT', 'OUTER'. |
|
| 409 | - * |
|
| 410 | - * Lorsque le type n'est pas déclaré pour un alias, c'est 'INNER' |
|
| 411 | - * qui sera utilisé par défaut (créant donc un INNER JOIN). |
|
| 412 | - * |
|
| 413 | - * @var string[] |
|
| 414 | - */ |
|
| 415 | - public $from_type = []; |
|
| 416 | - |
|
| 417 | - /** |
|
| 418 | - * Liste des conditions WHERE de la boucle |
|
| 419 | - * |
|
| 420 | - * Permet de restreindre les éléments retournés par une boucle |
|
| 421 | - * en fonctions des conditions transmises dans ce tableau. |
|
| 422 | - * |
|
| 423 | - * Ce tableau peut avoir plusieurs niveaux de profondeur. |
|
| 424 | - * |
|
| 425 | - * Les éléments du premier niveau sont reliés par des AND, donc |
|
| 426 | - * chaque élément ajouté directement au where par |
|
| 427 | - * $boucle->where[] = array(...) ou $boucle->where[] = "'expression'" |
|
| 428 | - * est une condition AND en plus. |
|
| 429 | - * |
|
| 430 | - * Par contre, lorsqu'on indique un tableau, il peut décrire des relations |
|
| 431 | - * internes différentes. Soit $expr un tableau d'expressions quelconques de 3 valeurs : |
|
| 432 | - * $expr = array(operateur, val1, val2) |
|
| 433 | - * |
|
| 434 | - * Ces 3 valeurs sont des expressions PHP. L'index 0 désigne l'opérateur |
|
| 435 | - * à réaliser tel que : |
|
| 436 | - * |
|
| 437 | - * - "'='" , "'>='", "'<'", "'IN'", "'REGEXP'", "'LIKE'", ... : |
|
| 438 | - * val1 et val2 sont des champs et valeurs à utiliser dans la comparaison |
|
| 439 | - * suivant cet ordre : "val1 operateur val2". |
|
| 440 | - * Exemple : $boucle->where[] = array("'='", "'articles.statut'", "'\"publie\"'"); |
|
| 441 | - * - "'AND'", "'OR'", "'NOT'" : |
|
| 442 | - * dans ce cas val1 et val2 sont également des expressions |
|
| 443 | - * de comparaison complètes, et peuvent être eux-même des tableaux comme $expr |
|
| 444 | - * Exemples : |
|
| 445 | - * $boucle->where[] = array("'OR'", $expr1, $expr2); |
|
| 446 | - * $boucle->where[] = array("'NOT'", $expr); // val2 n'existe pas avec NOT |
|
| 447 | - * |
|
| 448 | - * D'autres noms sont possibles pour l'opérateur (le nombre de valeurs diffère) : |
|
| 449 | - * - "'SELF'", "'SUBSELECT'" : indiquent des sous requêtes |
|
| 450 | - * - "'?'" : indique une condition à faire évaluer (val1 ? val2 : val3) |
|
| 451 | - * |
|
| 452 | - * @var array |
|
| 453 | - */ |
|
| 454 | - public $where = []; |
|
| 455 | - |
|
| 456 | - public $join = []; |
|
| 457 | - public $having = []; |
|
| 458 | - public $limit = ''; |
|
| 459 | - public $group = []; |
|
| 460 | - public $order = []; |
|
| 461 | - public $default_order = []; |
|
| 462 | - public $date = 'date'; |
|
| 463 | - public $hash = ''; |
|
| 464 | - public $in = ''; |
|
| 465 | - public $sous_requete = false; |
|
| 466 | - |
|
| 467 | - /** |
|
| 468 | - * Code PHP qui sera ajouté en tout début de la fonction de boucle |
|
| 469 | - * |
|
| 470 | - * Il sert à insérer le code calculant une hierarchie |
|
| 471 | - * |
|
| 472 | - * @var string |
|
| 473 | - */ |
|
| 474 | - public $hierarchie = ''; |
|
| 475 | - |
|
| 476 | - // champs pour la construction du corps PHP |
|
| 477 | - |
|
| 478 | - /** |
|
| 479 | - * Description des sources de données de la boucle |
|
| 480 | - * |
|
| 481 | - * Description des données de la boucle issu de trouver_table |
|
| 482 | - * dans le cadre de l'itérateur SQL et contenant au moins l'index 'field'. |
|
| 483 | - * |
|
| 484 | - * @see base_trouver_table_dist() |
|
| 485 | - * @var array |
|
| 486 | - */ |
|
| 487 | - public $show = []; |
|
| 488 | - |
|
| 489 | - /** |
|
| 490 | - * Nom de la table SQL principale de la boucle, sans son préfixe |
|
| 491 | - * |
|
| 492 | - * @var string |
|
| 493 | - */ |
|
| 494 | - public $id_table; |
|
| 495 | - |
|
| 496 | - /** |
|
| 497 | - * Nom de la clé primaire de la table SQL principale de la boucle |
|
| 498 | - * |
|
| 499 | - * @var string |
|
| 500 | - */ |
|
| 501 | - public $primary; |
|
| 502 | - |
|
| 503 | - /** |
|
| 504 | - * Code PHP compilé de la boucle |
|
| 505 | - * |
|
| 506 | - * @var string |
|
| 507 | - */ |
|
| 508 | - public $return; |
|
| 509 | - |
|
| 510 | - public $numrows = false; |
|
| 511 | - public $cptrows = false; |
|
| 512 | - |
|
| 513 | - /** |
|
| 514 | - * Description du squelette |
|
| 515 | - * |
|
| 516 | - * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 517 | - * |
|
| 518 | - * Peut contenir les index : |
|
| 519 | - * |
|
| 520 | - * - nom : Nom du fichier de cache |
|
| 521 | - * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 522 | - * - sourcefile : Chemin du squelette |
|
| 523 | - * - squelette : Code du squelette |
|
| 524 | - * - id_mere : Identifiant de la boucle parente |
|
| 525 | - * - documents : Pour embed et img dans les textes |
|
| 526 | - * - session : Pour un cache sessionné par auteur |
|
| 527 | - * - niv : Niveau de tabulation |
|
| 528 | - * |
|
| 529 | - * @var array |
|
| 530 | - */ |
|
| 531 | - public $descr = []; |
|
| 532 | - |
|
| 533 | - /** |
|
| 534 | - * Numéro de ligne dans le code source du squelette |
|
| 535 | - * |
|
| 536 | - * @var int |
|
| 537 | - */ |
|
| 538 | - public $ligne = 0; |
|
| 539 | - |
|
| 540 | - |
|
| 541 | - /** |
|
| 542 | - * table pour stocker les modificateurs de boucle tels que tout, plat ..., |
|
| 543 | - * utilisable par les plugins egalement |
|
| 544 | - * |
|
| 545 | - * @var array<string, mixed> |
|
| 546 | - */ |
|
| 547 | - public $modificateur = []; |
|
| 548 | - |
|
| 549 | - /** |
|
| 550 | - * Type d'itérateur utilisé pour cette boucle |
|
| 551 | - * |
|
| 552 | - * - 'SQL' dans le cadre d'une boucle sur une table SQL |
|
| 553 | - * - 'DATA' pour l'itérateur DATA, ... |
|
| 554 | - * |
|
| 555 | - * @var string |
|
| 556 | - */ |
|
| 557 | - public $iterateur = ''; // type d'iterateur |
|
| 558 | - |
|
| 559 | - /** |
|
| 560 | - * @var array $debug Textes qui seront insérés dans l’entête de boucle du mode debug |
|
| 561 | - */ |
|
| 562 | - public $debug = []; |
|
| 563 | - |
|
| 564 | - /** |
|
| 565 | - * Index de la boucle dont le champ présent dans cette boucle est originaire, |
|
| 566 | - * notamment si le champ a été trouve dans une boucle parente |
|
| 567 | - * |
|
| 568 | - * Tableau nom du champ => index de boucle |
|
| 569 | - * |
|
| 570 | - * @var array $index_champ |
|
| 571 | - */ |
|
| 572 | - public $index_champ = []; |
|
| 573 | - |
|
| 574 | - // obsoletes, conserves provisoirement pour compatibilite |
|
| 575 | - public $tout = false; |
|
| 576 | - public $plat = false; |
|
| 577 | - public $lien = false; |
|
| 192 | + /** |
|
| 193 | + * Type de noeud |
|
| 194 | + * |
|
| 195 | + * @var string |
|
| 196 | + */ |
|
| 197 | + public $type = 'boucle'; |
|
| 198 | + |
|
| 199 | + /** |
|
| 200 | + * Identifiant de la boucle |
|
| 201 | + * |
|
| 202 | + * @var string |
|
| 203 | + */ |
|
| 204 | + public $id_boucle; |
|
| 205 | + |
|
| 206 | + /** |
|
| 207 | + * Identifiant de la boucle parente |
|
| 208 | + * |
|
| 209 | + * @var string |
|
| 210 | + */ |
|
| 211 | + public $id_parent = ''; |
|
| 212 | + |
|
| 213 | + /** |
|
| 214 | + * Partie avant toujours affichee |
|
| 215 | + * |
|
| 216 | + * @var string|array |
|
| 217 | + */ |
|
| 218 | + public $preaff = ''; |
|
| 219 | + |
|
| 220 | + /** |
|
| 221 | + * Partie optionnelle avant |
|
| 222 | + * |
|
| 223 | + * @var string|array |
|
| 224 | + */ |
|
| 225 | + public $avant = ''; |
|
| 226 | + |
|
| 227 | + /** |
|
| 228 | + * Pour chaque élément |
|
| 229 | + * |
|
| 230 | + * @var string|array |
|
| 231 | + */ |
|
| 232 | + public $milieu = ''; |
|
| 233 | + |
|
| 234 | + /** |
|
| 235 | + * Partie optionnelle après |
|
| 236 | + * |
|
| 237 | + * @var string|array |
|
| 238 | + */ |
|
| 239 | + public $apres = ''; |
|
| 240 | + |
|
| 241 | + /** |
|
| 242 | + * Partie alternative, si pas de résultat dans la boucle |
|
| 243 | + * |
|
| 244 | + * @var string|array |
|
| 245 | + */ |
|
| 246 | + public $altern = ''; |
|
| 247 | + |
|
| 248 | + /** |
|
| 249 | + * Partie apres toujours affichee |
|
| 250 | + * |
|
| 251 | + * @var string|array |
|
| 252 | + */ |
|
| 253 | + public $postaff = ''; |
|
| 254 | + |
|
| 255 | + |
|
| 256 | + /** |
|
| 257 | + * La boucle doit-elle sélectionner la langue ? |
|
| 258 | + * |
|
| 259 | + * @var string|null |
|
| 260 | + */ |
|
| 261 | + public $lang_select; |
|
| 262 | + |
|
| 263 | + /** |
|
| 264 | + * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 265 | + * |
|
| 266 | + * @var string|null |
|
| 267 | + */ |
|
| 268 | + public $type_requete; |
|
| 269 | + |
|
| 270 | + /** |
|
| 271 | + * La table est elle optionnelle ? |
|
| 272 | + * |
|
| 273 | + * Si oui, aucune erreur ne sera générée si la table demandée n'est pas présente |
|
| 274 | + * |
|
| 275 | + * @var bool |
|
| 276 | + */ |
|
| 277 | + public $table_optionnelle = false; |
|
| 278 | + |
|
| 279 | + /** |
|
| 280 | + * Nom du fichier de connexion |
|
| 281 | + * |
|
| 282 | + * @var string |
|
| 283 | + */ |
|
| 284 | + public $sql_serveur = ''; |
|
| 285 | + |
|
| 286 | + /** |
|
| 287 | + * Paramètres de la boucle |
|
| 288 | + * |
|
| 289 | + * Description des paramètres passés à la boucle, qui servent ensuite |
|
| 290 | + * au calcul des critères |
|
| 291 | + * |
|
| 292 | + * @var array |
|
| 293 | + */ |
|
| 294 | + public $param = []; |
|
| 295 | + |
|
| 296 | + /** |
|
| 297 | + * Critères de la boucle |
|
| 298 | + * |
|
| 299 | + * @var Critere[] |
|
| 300 | + */ |
|
| 301 | + public $criteres = []; |
|
| 302 | + |
|
| 303 | + /** |
|
| 304 | + * Textes insérés entre 2 éléments de boucle (critère inter) |
|
| 305 | + * |
|
| 306 | + * @var string[] |
|
| 307 | + */ |
|
| 308 | + public $separateur = []; |
|
| 309 | + |
|
| 310 | + /** |
|
| 311 | + * Liste des jointures possibles avec cette table |
|
| 312 | + * |
|
| 313 | + * Les jointures par défaut de la table sont complétées en priorité |
|
| 314 | + * des jointures déclarées explicitement sur la boucle |
|
| 315 | + * |
|
| 316 | + * @see base_trouver_table_dist() |
|
| 317 | + * @var array |
|
| 318 | + */ |
|
| 319 | + public $jointures = []; |
|
| 320 | + |
|
| 321 | + /** |
|
| 322 | + * Jointures explicites avec cette table |
|
| 323 | + * |
|
| 324 | + * Ces jointures sont utilisées en priorité par rapport aux jointures |
|
| 325 | + * normales possibles pour retrouver les colonnes demandées extérieures |
|
| 326 | + * à la boucle. |
|
| 327 | + * |
|
| 328 | + * @var string|bool |
|
| 329 | + */ |
|
| 330 | + public $jointures_explicites = false; |
|
| 331 | + |
|
| 332 | + /** |
|
| 333 | + * Nom de la variable PHP stockant le noms de doublons utilisés "$doublons_index" |
|
| 334 | + * |
|
| 335 | + * @var string|null |
|
| 336 | + */ |
|
| 337 | + public $doublons; |
|
| 338 | + |
|
| 339 | + /** |
|
| 340 | + * Code PHP ajouté au début de chaque itération de boucle. |
|
| 341 | + * |
|
| 342 | + * Utilisé entre autre par les critères {pagination}, {n-a,b}, {a/b}... |
|
| 343 | + * |
|
| 344 | + * @var string |
|
| 345 | + */ |
|
| 346 | + public $partie = ''; |
|
| 347 | + |
|
| 348 | + /** |
|
| 349 | + * Nombre de divisions de la boucle, d'éléments à afficher, |
|
| 350 | + * ou de soustractions d'éléments à faire |
|
| 351 | + * |
|
| 352 | + * Dans les critères limitant le nombre d'éléments affichés |
|
| 353 | + * {a,b}, {a,n-b}, {a/b}, {pagination b}, b est affecté à total_parties. |
|
| 354 | + * |
|
| 355 | + * @var string |
|
| 356 | + */ |
|
| 357 | + public $total_parties = ''; |
|
| 358 | + |
|
| 359 | + /** |
|
| 360 | + * Code PHP ajouté avant l'itération de boucle. |
|
| 361 | + * |
|
| 362 | + * Utilisé entre autre par les critères {pagination}, {a,b}, {a/b} |
|
| 363 | + * pour initialiser les variables de début et de fin d'itération. |
|
| 364 | + * |
|
| 365 | + * @var string |
|
| 366 | + */ |
|
| 367 | + public $mode_partie = ''; |
|
| 368 | + |
|
| 369 | + /** |
|
| 370 | + * Identifiant d'une boucle qui appelle celle-ci de manière récursive |
|
| 371 | + * |
|
| 372 | + * Si une boucle est appelée de manière récursive quelque part par |
|
| 373 | + * une autre boucle comme <BOUCLE_rec(boucle_identifiant) />, cette |
|
| 374 | + * boucle (identifiant) reçoit dans cette propriété l'identifiant |
|
| 375 | + * de l'appelant (rec) |
|
| 376 | + * |
|
| 377 | + * @var string |
|
| 378 | + */ |
|
| 379 | + public $externe = ''; |
|
| 380 | + |
|
| 381 | + // champs pour la construction de la requete SQL |
|
| 382 | + |
|
| 383 | + /** |
|
| 384 | + * Liste des champs à récupérer par la boucle |
|
| 385 | + * |
|
| 386 | + * Expression 'table.nom_champ' ou calculée 'nom_champ AS x' |
|
| 387 | + * |
|
| 388 | + * @var string[] |
|
| 389 | + */ |
|
| 390 | + public $select = []; |
|
| 391 | + |
|
| 392 | + /** |
|
| 393 | + * Liste des alias / tables SQL utilisées dans la boucle |
|
| 394 | + * |
|
| 395 | + * L'index est un identifiant (xx dans spip_xx assez souvent) qui servira |
|
| 396 | + * d'alias au nom de la table ; la valeur est le nom de la table SQL désirée. |
|
| 397 | + * |
|
| 398 | + * L'index 0 peut définir le type de sources de données de l'itérateur DATA |
|
| 399 | + * |
|
| 400 | + * @var string[] |
|
| 401 | + */ |
|
| 402 | + public $from = []; |
|
| 403 | + |
|
| 404 | + /** |
|
| 405 | + * Liste des alias / type de jointures utilisées dans la boucle |
|
| 406 | + * |
|
| 407 | + * L'index est le nom d'alias (comme pour la propriété $from), et la valeur |
|
| 408 | + * un type de jointure parmi 'INNER', 'LEFT', 'RIGHT', 'OUTER'. |
|
| 409 | + * |
|
| 410 | + * Lorsque le type n'est pas déclaré pour un alias, c'est 'INNER' |
|
| 411 | + * qui sera utilisé par défaut (créant donc un INNER JOIN). |
|
| 412 | + * |
|
| 413 | + * @var string[] |
|
| 414 | + */ |
|
| 415 | + public $from_type = []; |
|
| 416 | + |
|
| 417 | + /** |
|
| 418 | + * Liste des conditions WHERE de la boucle |
|
| 419 | + * |
|
| 420 | + * Permet de restreindre les éléments retournés par une boucle |
|
| 421 | + * en fonctions des conditions transmises dans ce tableau. |
|
| 422 | + * |
|
| 423 | + * Ce tableau peut avoir plusieurs niveaux de profondeur. |
|
| 424 | + * |
|
| 425 | + * Les éléments du premier niveau sont reliés par des AND, donc |
|
| 426 | + * chaque élément ajouté directement au where par |
|
| 427 | + * $boucle->where[] = array(...) ou $boucle->where[] = "'expression'" |
|
| 428 | + * est une condition AND en plus. |
|
| 429 | + * |
|
| 430 | + * Par contre, lorsqu'on indique un tableau, il peut décrire des relations |
|
| 431 | + * internes différentes. Soit $expr un tableau d'expressions quelconques de 3 valeurs : |
|
| 432 | + * $expr = array(operateur, val1, val2) |
|
| 433 | + * |
|
| 434 | + * Ces 3 valeurs sont des expressions PHP. L'index 0 désigne l'opérateur |
|
| 435 | + * à réaliser tel que : |
|
| 436 | + * |
|
| 437 | + * - "'='" , "'>='", "'<'", "'IN'", "'REGEXP'", "'LIKE'", ... : |
|
| 438 | + * val1 et val2 sont des champs et valeurs à utiliser dans la comparaison |
|
| 439 | + * suivant cet ordre : "val1 operateur val2". |
|
| 440 | + * Exemple : $boucle->where[] = array("'='", "'articles.statut'", "'\"publie\"'"); |
|
| 441 | + * - "'AND'", "'OR'", "'NOT'" : |
|
| 442 | + * dans ce cas val1 et val2 sont également des expressions |
|
| 443 | + * de comparaison complètes, et peuvent être eux-même des tableaux comme $expr |
|
| 444 | + * Exemples : |
|
| 445 | + * $boucle->where[] = array("'OR'", $expr1, $expr2); |
|
| 446 | + * $boucle->where[] = array("'NOT'", $expr); // val2 n'existe pas avec NOT |
|
| 447 | + * |
|
| 448 | + * D'autres noms sont possibles pour l'opérateur (le nombre de valeurs diffère) : |
|
| 449 | + * - "'SELF'", "'SUBSELECT'" : indiquent des sous requêtes |
|
| 450 | + * - "'?'" : indique une condition à faire évaluer (val1 ? val2 : val3) |
|
| 451 | + * |
|
| 452 | + * @var array |
|
| 453 | + */ |
|
| 454 | + public $where = []; |
|
| 455 | + |
|
| 456 | + public $join = []; |
|
| 457 | + public $having = []; |
|
| 458 | + public $limit = ''; |
|
| 459 | + public $group = []; |
|
| 460 | + public $order = []; |
|
| 461 | + public $default_order = []; |
|
| 462 | + public $date = 'date'; |
|
| 463 | + public $hash = ''; |
|
| 464 | + public $in = ''; |
|
| 465 | + public $sous_requete = false; |
|
| 466 | + |
|
| 467 | + /** |
|
| 468 | + * Code PHP qui sera ajouté en tout début de la fonction de boucle |
|
| 469 | + * |
|
| 470 | + * Il sert à insérer le code calculant une hierarchie |
|
| 471 | + * |
|
| 472 | + * @var string |
|
| 473 | + */ |
|
| 474 | + public $hierarchie = ''; |
|
| 475 | + |
|
| 476 | + // champs pour la construction du corps PHP |
|
| 477 | + |
|
| 478 | + /** |
|
| 479 | + * Description des sources de données de la boucle |
|
| 480 | + * |
|
| 481 | + * Description des données de la boucle issu de trouver_table |
|
| 482 | + * dans le cadre de l'itérateur SQL et contenant au moins l'index 'field'. |
|
| 483 | + * |
|
| 484 | + * @see base_trouver_table_dist() |
|
| 485 | + * @var array |
|
| 486 | + */ |
|
| 487 | + public $show = []; |
|
| 488 | + |
|
| 489 | + /** |
|
| 490 | + * Nom de la table SQL principale de la boucle, sans son préfixe |
|
| 491 | + * |
|
| 492 | + * @var string |
|
| 493 | + */ |
|
| 494 | + public $id_table; |
|
| 495 | + |
|
| 496 | + /** |
|
| 497 | + * Nom de la clé primaire de la table SQL principale de la boucle |
|
| 498 | + * |
|
| 499 | + * @var string |
|
| 500 | + */ |
|
| 501 | + public $primary; |
|
| 502 | + |
|
| 503 | + /** |
|
| 504 | + * Code PHP compilé de la boucle |
|
| 505 | + * |
|
| 506 | + * @var string |
|
| 507 | + */ |
|
| 508 | + public $return; |
|
| 509 | + |
|
| 510 | + public $numrows = false; |
|
| 511 | + public $cptrows = false; |
|
| 512 | + |
|
| 513 | + /** |
|
| 514 | + * Description du squelette |
|
| 515 | + * |
|
| 516 | + * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 517 | + * |
|
| 518 | + * Peut contenir les index : |
|
| 519 | + * |
|
| 520 | + * - nom : Nom du fichier de cache |
|
| 521 | + * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 522 | + * - sourcefile : Chemin du squelette |
|
| 523 | + * - squelette : Code du squelette |
|
| 524 | + * - id_mere : Identifiant de la boucle parente |
|
| 525 | + * - documents : Pour embed et img dans les textes |
|
| 526 | + * - session : Pour un cache sessionné par auteur |
|
| 527 | + * - niv : Niveau de tabulation |
|
| 528 | + * |
|
| 529 | + * @var array |
|
| 530 | + */ |
|
| 531 | + public $descr = []; |
|
| 532 | + |
|
| 533 | + /** |
|
| 534 | + * Numéro de ligne dans le code source du squelette |
|
| 535 | + * |
|
| 536 | + * @var int |
|
| 537 | + */ |
|
| 538 | + public $ligne = 0; |
|
| 539 | + |
|
| 540 | + |
|
| 541 | + /** |
|
| 542 | + * table pour stocker les modificateurs de boucle tels que tout, plat ..., |
|
| 543 | + * utilisable par les plugins egalement |
|
| 544 | + * |
|
| 545 | + * @var array<string, mixed> |
|
| 546 | + */ |
|
| 547 | + public $modificateur = []; |
|
| 548 | + |
|
| 549 | + /** |
|
| 550 | + * Type d'itérateur utilisé pour cette boucle |
|
| 551 | + * |
|
| 552 | + * - 'SQL' dans le cadre d'une boucle sur une table SQL |
|
| 553 | + * - 'DATA' pour l'itérateur DATA, ... |
|
| 554 | + * |
|
| 555 | + * @var string |
|
| 556 | + */ |
|
| 557 | + public $iterateur = ''; // type d'iterateur |
|
| 558 | + |
|
| 559 | + /** |
|
| 560 | + * @var array $debug Textes qui seront insérés dans l’entête de boucle du mode debug |
|
| 561 | + */ |
|
| 562 | + public $debug = []; |
|
| 563 | + |
|
| 564 | + /** |
|
| 565 | + * Index de la boucle dont le champ présent dans cette boucle est originaire, |
|
| 566 | + * notamment si le champ a été trouve dans une boucle parente |
|
| 567 | + * |
|
| 568 | + * Tableau nom du champ => index de boucle |
|
| 569 | + * |
|
| 570 | + * @var array $index_champ |
|
| 571 | + */ |
|
| 572 | + public $index_champ = []; |
|
| 573 | + |
|
| 574 | + // obsoletes, conserves provisoirement pour compatibilite |
|
| 575 | + public $tout = false; |
|
| 576 | + public $plat = false; |
|
| 577 | + public $lien = false; |
|
| 578 | 578 | } |
| 579 | 579 | |
| 580 | 580 | /** |
@@ -585,56 +585,56 @@ discard block |
||
| 585 | 585 | * @package SPIP\Core\Compilateur\AST |
| 586 | 586 | **/ |
| 587 | 587 | class Critere { |
| 588 | - /** |
|
| 589 | - * Type de noeud |
|
| 590 | - * |
|
| 591 | - * @var string |
|
| 592 | - */ |
|
| 593 | - public $type = 'critere'; |
|
| 594 | - |
|
| 595 | - /** |
|
| 596 | - * Opérateur (>, <, >=, IN, ...) |
|
| 597 | - * |
|
| 598 | - * @var null|string |
|
| 599 | - */ |
|
| 600 | - public $op; |
|
| 601 | - |
|
| 602 | - /** |
|
| 603 | - * Présence d'une négation (truc !op valeur) |
|
| 604 | - * |
|
| 605 | - * @var null|string |
|
| 606 | - */ |
|
| 607 | - public $not; |
|
| 608 | - |
|
| 609 | - /** |
|
| 610 | - * Présence d'une exclusion (!truc op valeur) |
|
| 611 | - * |
|
| 612 | - * @var null|string |
|
| 613 | - */ |
|
| 614 | - public $exclus; |
|
| 615 | - |
|
| 616 | - /** |
|
| 617 | - * Présence d'une condition dans le critère (truc ?) |
|
| 618 | - * |
|
| 619 | - * @var bool |
|
| 620 | - */ |
|
| 621 | - public $cond = false; |
|
| 622 | - |
|
| 623 | - /** |
|
| 624 | - * Paramètres du critère |
|
| 625 | - * - $param[0] : élément avant l'opérateur |
|
| 626 | - * - $param[1..n] : éléments après l'opérateur |
|
| 627 | - * |
|
| 628 | - * @var array |
|
| 629 | - */ |
|
| 630 | - public $param = []; |
|
| 631 | - |
|
| 632 | - /** |
|
| 633 | - * Numéro de ligne dans le code source du squelette |
|
| 634 | - * |
|
| 635 | - * @var int |
|
| 636 | - */ |
|
| 637 | - public $ligne = 0; |
|
| 588 | + /** |
|
| 589 | + * Type de noeud |
|
| 590 | + * |
|
| 591 | + * @var string |
|
| 592 | + */ |
|
| 593 | + public $type = 'critere'; |
|
| 594 | + |
|
| 595 | + /** |
|
| 596 | + * Opérateur (>, <, >=, IN, ...) |
|
| 597 | + * |
|
| 598 | + * @var null|string |
|
| 599 | + */ |
|
| 600 | + public $op; |
|
| 601 | + |
|
| 602 | + /** |
|
| 603 | + * Présence d'une négation (truc !op valeur) |
|
| 604 | + * |
|
| 605 | + * @var null|string |
|
| 606 | + */ |
|
| 607 | + public $not; |
|
| 608 | + |
|
| 609 | + /** |
|
| 610 | + * Présence d'une exclusion (!truc op valeur) |
|
| 611 | + * |
|
| 612 | + * @var null|string |
|
| 613 | + */ |
|
| 614 | + public $exclus; |
|
| 615 | + |
|
| 616 | + /** |
|
| 617 | + * Présence d'une condition dans le critère (truc ?) |
|
| 618 | + * |
|
| 619 | + * @var bool |
|
| 620 | + */ |
|
| 621 | + public $cond = false; |
|
| 622 | + |
|
| 623 | + /** |
|
| 624 | + * Paramètres du critère |
|
| 625 | + * - $param[0] : élément avant l'opérateur |
|
| 626 | + * - $param[1..n] : éléments après l'opérateur |
|
| 627 | + * |
|
| 628 | + * @var array |
|
| 629 | + */ |
|
| 630 | + public $param = []; |
|
| 631 | + |
|
| 632 | + /** |
|
| 633 | + * Numéro de ligne dans le code source du squelette |
|
| 634 | + * |
|
| 635 | + * @var int |
|
| 636 | + */ |
|
| 637 | + public $ligne = 0; |
|
| 638 | 638 | } |
| 639 | 639 | |
| 640 | 640 | /** |
@@ -643,139 +643,139 @@ discard block |
||
| 643 | 643 | * @package SPIP\Core\Compilateur\AST |
| 644 | 644 | **/ |
| 645 | 645 | class Champ { |
| 646 | - /** |
|
| 647 | - * Type de noeud |
|
| 648 | - * |
|
| 649 | - * @var string |
|
| 650 | - */ |
|
| 651 | - public $type = 'champ'; |
|
| 652 | - |
|
| 653 | - /** |
|
| 654 | - * Nom du champ demandé. Exemple 'ID_ARTICLE' |
|
| 655 | - * |
|
| 656 | - * @var string|null |
|
| 657 | - */ |
|
| 658 | - public $nom_champ; |
|
| 659 | - |
|
| 660 | - /** |
|
| 661 | - * Identifiant de la boucle parente si explicité |
|
| 662 | - * |
|
| 663 | - * @var string|null |
|
| 664 | - */ |
|
| 665 | - public $nom_boucle = ''; |
|
| 666 | - |
|
| 667 | - /** |
|
| 668 | - * Partie optionnelle avant |
|
| 669 | - * |
|
| 670 | - * @var null|string|array |
|
| 671 | - */ |
|
| 672 | - public $avant; |
|
| 673 | - |
|
| 674 | - /** |
|
| 675 | - * Partie optionnelle après |
|
| 676 | - * |
|
| 677 | - * @var null|string|array |
|
| 678 | - */ |
|
| 679 | - public $apres; |
|
| 680 | - |
|
| 681 | - /** |
|
| 682 | - * Étoiles : annuler des automatismes |
|
| 683 | - * |
|
| 684 | - * - '*' annule les filtres automatiques |
|
| 685 | - * - '**' annule en plus les protections de scripts |
|
| 686 | - * |
|
| 687 | - * @var null|string |
|
| 688 | - */ |
|
| 689 | - public $etoile; |
|
| 690 | - |
|
| 691 | - /** |
|
| 692 | - * Arguments et filtres explicites sur la balise |
|
| 693 | - * |
|
| 694 | - * - $param[0] contient les arguments de la balise |
|
| 695 | - * - $param[1..n] contient les filtres à appliquer à la balise |
|
| 696 | - * |
|
| 697 | - * @var array |
|
| 698 | - */ |
|
| 699 | - public $param = []; |
|
| 700 | - |
|
| 701 | - /** |
|
| 702 | - * Source des filtres (compatibilité) (?) |
|
| 703 | - * |
|
| 704 | - * @var array|null |
|
| 705 | - */ |
|
| 706 | - public $fonctions = []; |
|
| 707 | - |
|
| 708 | - /** |
|
| 709 | - * Identifiant de la boucle |
|
| 710 | - * |
|
| 711 | - * @var string |
|
| 712 | - */ |
|
| 713 | - public $id_boucle = ''; |
|
| 714 | - |
|
| 715 | - /** |
|
| 716 | - * AST du squelette, liste de toutes les boucles |
|
| 717 | - * |
|
| 718 | - * @var Boucles[] |
|
| 719 | - */ |
|
| 720 | - public $boucles; |
|
| 721 | - |
|
| 722 | - /** |
|
| 723 | - * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 724 | - * |
|
| 725 | - * @var string|null |
|
| 726 | - */ |
|
| 727 | - public $type_requete; |
|
| 728 | - |
|
| 729 | - /** |
|
| 730 | - * Résultat de la compilation: toujours une expression PHP |
|
| 731 | - * |
|
| 732 | - * @var string |
|
| 733 | - */ |
|
| 734 | - public $code = ''; |
|
| 735 | - |
|
| 736 | - /** |
|
| 737 | - * Interdire les scripts |
|
| 738 | - * |
|
| 739 | - * false si on est sûr de cette balise |
|
| 740 | - * |
|
| 741 | - * @see interdire_scripts() |
|
| 742 | - * @var bool |
|
| 743 | - */ |
|
| 744 | - public $interdire_scripts = true; |
|
| 745 | - |
|
| 746 | - /** |
|
| 747 | - * Description du squelette |
|
| 748 | - * |
|
| 749 | - * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 750 | - * |
|
| 751 | - * Peut contenir les index : |
|
| 752 | - * |
|
| 753 | - * - nom : Nom du fichier de cache |
|
| 754 | - * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 755 | - * - sourcefile : Chemin du squelette |
|
| 756 | - * - squelette : Code du squelette |
|
| 757 | - * - id_mere : Identifiant de la boucle parente |
|
| 758 | - * - documents : Pour embed et img dans les textes |
|
| 759 | - * - session : Pour un cache sessionné par auteur |
|
| 760 | - * - niv : Niveau de tabulation |
|
| 761 | - * |
|
| 762 | - * @var array |
|
| 763 | - */ |
|
| 764 | - public $descr = []; |
|
| 765 | - |
|
| 766 | - /** |
|
| 767 | - * Numéro de ligne dans le code source du squelette |
|
| 768 | - * |
|
| 769 | - * @var int |
|
| 770 | - */ |
|
| 771 | - public $ligne = 0; |
|
| 772 | - |
|
| 773 | - /** |
|
| 774 | - * Drapeau pour reperer les balises calculées par une fonction explicite |
|
| 775 | - * |
|
| 776 | - * @var bool |
|
| 777 | - */ |
|
| 778 | - public $balise_calculee = false; |
|
| 646 | + /** |
|
| 647 | + * Type de noeud |
|
| 648 | + * |
|
| 649 | + * @var string |
|
| 650 | + */ |
|
| 651 | + public $type = 'champ'; |
|
| 652 | + |
|
| 653 | + /** |
|
| 654 | + * Nom du champ demandé. Exemple 'ID_ARTICLE' |
|
| 655 | + * |
|
| 656 | + * @var string|null |
|
| 657 | + */ |
|
| 658 | + public $nom_champ; |
|
| 659 | + |
|
| 660 | + /** |
|
| 661 | + * Identifiant de la boucle parente si explicité |
|
| 662 | + * |
|
| 663 | + * @var string|null |
|
| 664 | + */ |
|
| 665 | + public $nom_boucle = ''; |
|
| 666 | + |
|
| 667 | + /** |
|
| 668 | + * Partie optionnelle avant |
|
| 669 | + * |
|
| 670 | + * @var null|string|array |
|
| 671 | + */ |
|
| 672 | + public $avant; |
|
| 673 | + |
|
| 674 | + /** |
|
| 675 | + * Partie optionnelle après |
|
| 676 | + * |
|
| 677 | + * @var null|string|array |
|
| 678 | + */ |
|
| 679 | + public $apres; |
|
| 680 | + |
|
| 681 | + /** |
|
| 682 | + * Étoiles : annuler des automatismes |
|
| 683 | + * |
|
| 684 | + * - '*' annule les filtres automatiques |
|
| 685 | + * - '**' annule en plus les protections de scripts |
|
| 686 | + * |
|
| 687 | + * @var null|string |
|
| 688 | + */ |
|
| 689 | + public $etoile; |
|
| 690 | + |
|
| 691 | + /** |
|
| 692 | + * Arguments et filtres explicites sur la balise |
|
| 693 | + * |
|
| 694 | + * - $param[0] contient les arguments de la balise |
|
| 695 | + * - $param[1..n] contient les filtres à appliquer à la balise |
|
| 696 | + * |
|
| 697 | + * @var array |
|
| 698 | + */ |
|
| 699 | + public $param = []; |
|
| 700 | + |
|
| 701 | + /** |
|
| 702 | + * Source des filtres (compatibilité) (?) |
|
| 703 | + * |
|
| 704 | + * @var array|null |
|
| 705 | + */ |
|
| 706 | + public $fonctions = []; |
|
| 707 | + |
|
| 708 | + /** |
|
| 709 | + * Identifiant de la boucle |
|
| 710 | + * |
|
| 711 | + * @var string |
|
| 712 | + */ |
|
| 713 | + public $id_boucle = ''; |
|
| 714 | + |
|
| 715 | + /** |
|
| 716 | + * AST du squelette, liste de toutes les boucles |
|
| 717 | + * |
|
| 718 | + * @var Boucles[] |
|
| 719 | + */ |
|
| 720 | + public $boucles; |
|
| 721 | + |
|
| 722 | + /** |
|
| 723 | + * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 724 | + * |
|
| 725 | + * @var string|null |
|
| 726 | + */ |
|
| 727 | + public $type_requete; |
|
| 728 | + |
|
| 729 | + /** |
|
| 730 | + * Résultat de la compilation: toujours une expression PHP |
|
| 731 | + * |
|
| 732 | + * @var string |
|
| 733 | + */ |
|
| 734 | + public $code = ''; |
|
| 735 | + |
|
| 736 | + /** |
|
| 737 | + * Interdire les scripts |
|
| 738 | + * |
|
| 739 | + * false si on est sûr de cette balise |
|
| 740 | + * |
|
| 741 | + * @see interdire_scripts() |
|
| 742 | + * @var bool |
|
| 743 | + */ |
|
| 744 | + public $interdire_scripts = true; |
|
| 745 | + |
|
| 746 | + /** |
|
| 747 | + * Description du squelette |
|
| 748 | + * |
|
| 749 | + * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 750 | + * |
|
| 751 | + * Peut contenir les index : |
|
| 752 | + * |
|
| 753 | + * - nom : Nom du fichier de cache |
|
| 754 | + * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 755 | + * - sourcefile : Chemin du squelette |
|
| 756 | + * - squelette : Code du squelette |
|
| 757 | + * - id_mere : Identifiant de la boucle parente |
|
| 758 | + * - documents : Pour embed et img dans les textes |
|
| 759 | + * - session : Pour un cache sessionné par auteur |
|
| 760 | + * - niv : Niveau de tabulation |
|
| 761 | + * |
|
| 762 | + * @var array |
|
| 763 | + */ |
|
| 764 | + public $descr = []; |
|
| 765 | + |
|
| 766 | + /** |
|
| 767 | + * Numéro de ligne dans le code source du squelette |
|
| 768 | + * |
|
| 769 | + * @var int |
|
| 770 | + */ |
|
| 771 | + public $ligne = 0; |
|
| 772 | + |
|
| 773 | + /** |
|
| 774 | + * Drapeau pour reperer les balises calculées par une fonction explicite |
|
| 775 | + * |
|
| 776 | + * @var bool |
|
| 777 | + */ |
|
| 778 | + public $balise_calculee = false; |
|
| 779 | 779 | } |
| 780 | 780 | |
| 781 | 781 | |
@@ -783,123 +783,123 @@ discard block |
||
| 783 | 783 | * Description d'une chaîne de langue |
| 784 | 784 | **/ |
| 785 | 785 | class Idiome { |
| 786 | - /** |
|
| 787 | - * Type de noeud |
|
| 788 | - * |
|
| 789 | - * @var string |
|
| 790 | - */ |
|
| 791 | - public $type = 'idiome'; |
|
| 792 | - |
|
| 793 | - /** |
|
| 794 | - * Clé de traduction demandée. Exemple 'item_oui' |
|
| 795 | - * |
|
| 796 | - * @var string |
|
| 797 | - */ |
|
| 798 | - public $nom_champ = ''; |
|
| 799 | - |
|
| 800 | - /** |
|
| 801 | - * Module de langue où chercher la clé de traduction. Exemple 'medias' |
|
| 802 | - * |
|
| 803 | - * @var string |
|
| 804 | - */ |
|
| 805 | - public $module = ''; |
|
| 806 | - |
|
| 807 | - /** |
|
| 808 | - * Arguments à passer à la chaîne |
|
| 809 | - * |
|
| 810 | - * @var array |
|
| 811 | - */ |
|
| 812 | - public $arg = []; |
|
| 813 | - |
|
| 814 | - /** |
|
| 815 | - * Filtres à appliquer au résultat |
|
| 816 | - * |
|
| 817 | - * @var array |
|
| 818 | - */ |
|
| 819 | - public $param = []; |
|
| 820 | - |
|
| 821 | - /** |
|
| 822 | - * Source des filtres (compatibilité) (?) |
|
| 823 | - * |
|
| 824 | - * @var array|null |
|
| 825 | - */ |
|
| 826 | - public $fonctions = []; |
|
| 827 | - |
|
| 828 | - /** |
|
| 829 | - * Inutilisé, propriété générique de l'AST |
|
| 830 | - * |
|
| 831 | - * @var string|array |
|
| 832 | - */ |
|
| 833 | - public $avant = ''; |
|
| 834 | - |
|
| 835 | - /** |
|
| 836 | - * Inutilisé, propriété générique de l'AST |
|
| 837 | - * |
|
| 838 | - * @var string|array |
|
| 839 | - */ |
|
| 840 | - public $apres = ''; |
|
| 841 | - |
|
| 842 | - /** |
|
| 843 | - * Identifiant de la boucle |
|
| 844 | - * |
|
| 845 | - * @var string |
|
| 846 | - */ |
|
| 847 | - public $id_boucle = ''; |
|
| 848 | - |
|
| 849 | - /** |
|
| 850 | - * AST du squelette, liste de toutes les boucles |
|
| 851 | - * |
|
| 852 | - * @var Boucles[] |
|
| 853 | - */ |
|
| 854 | - public $boucles; |
|
| 855 | - |
|
| 856 | - /** |
|
| 857 | - * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 858 | - * |
|
| 859 | - * @var string|null |
|
| 860 | - */ |
|
| 861 | - public $type_requete; |
|
| 862 | - |
|
| 863 | - /** |
|
| 864 | - * Résultat de la compilation: toujours une expression PHP |
|
| 865 | - * |
|
| 866 | - * @var string |
|
| 867 | - */ |
|
| 868 | - public $code = ''; |
|
| 869 | - |
|
| 870 | - /** |
|
| 871 | - * Interdire les scripts |
|
| 872 | - * |
|
| 873 | - * @see interdire_scripts() |
|
| 874 | - * @var bool |
|
| 875 | - */ |
|
| 876 | - public $interdire_scripts = false; |
|
| 877 | - |
|
| 878 | - /** |
|
| 879 | - * Description du squelette |
|
| 880 | - * |
|
| 881 | - * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 882 | - * |
|
| 883 | - * Peut contenir les index : |
|
| 884 | - * - nom : Nom du fichier de cache |
|
| 885 | - * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 886 | - * - sourcefile : Chemin du squelette |
|
| 887 | - * - squelette : Code du squelette |
|
| 888 | - * - id_mere : Identifiant de la boucle parente |
|
| 889 | - * - documents : Pour embed et img dans les textes |
|
| 890 | - * - session : Pour un cache sessionné par auteur |
|
| 891 | - * - niv : Niveau de tabulation |
|
| 892 | - * |
|
| 893 | - * @var array |
|
| 894 | - */ |
|
| 895 | - public $descr = []; |
|
| 896 | - |
|
| 897 | - /** |
|
| 898 | - * Numéro de ligne dans le code source du squelette |
|
| 899 | - * |
|
| 900 | - * @var int |
|
| 901 | - */ |
|
| 902 | - public $ligne = 0; |
|
| 786 | + /** |
|
| 787 | + * Type de noeud |
|
| 788 | + * |
|
| 789 | + * @var string |
|
| 790 | + */ |
|
| 791 | + public $type = 'idiome'; |
|
| 792 | + |
|
| 793 | + /** |
|
| 794 | + * Clé de traduction demandée. Exemple 'item_oui' |
|
| 795 | + * |
|
| 796 | + * @var string |
|
| 797 | + */ |
|
| 798 | + public $nom_champ = ''; |
|
| 799 | + |
|
| 800 | + /** |
|
| 801 | + * Module de langue où chercher la clé de traduction. Exemple 'medias' |
|
| 802 | + * |
|
| 803 | + * @var string |
|
| 804 | + */ |
|
| 805 | + public $module = ''; |
|
| 806 | + |
|
| 807 | + /** |
|
| 808 | + * Arguments à passer à la chaîne |
|
| 809 | + * |
|
| 810 | + * @var array |
|
| 811 | + */ |
|
| 812 | + public $arg = []; |
|
| 813 | + |
|
| 814 | + /** |
|
| 815 | + * Filtres à appliquer au résultat |
|
| 816 | + * |
|
| 817 | + * @var array |
|
| 818 | + */ |
|
| 819 | + public $param = []; |
|
| 820 | + |
|
| 821 | + /** |
|
| 822 | + * Source des filtres (compatibilité) (?) |
|
| 823 | + * |
|
| 824 | + * @var array|null |
|
| 825 | + */ |
|
| 826 | + public $fonctions = []; |
|
| 827 | + |
|
| 828 | + /** |
|
| 829 | + * Inutilisé, propriété générique de l'AST |
|
| 830 | + * |
|
| 831 | + * @var string|array |
|
| 832 | + */ |
|
| 833 | + public $avant = ''; |
|
| 834 | + |
|
| 835 | + /** |
|
| 836 | + * Inutilisé, propriété générique de l'AST |
|
| 837 | + * |
|
| 838 | + * @var string|array |
|
| 839 | + */ |
|
| 840 | + public $apres = ''; |
|
| 841 | + |
|
| 842 | + /** |
|
| 843 | + * Identifiant de la boucle |
|
| 844 | + * |
|
| 845 | + * @var string |
|
| 846 | + */ |
|
| 847 | + public $id_boucle = ''; |
|
| 848 | + |
|
| 849 | + /** |
|
| 850 | + * AST du squelette, liste de toutes les boucles |
|
| 851 | + * |
|
| 852 | + * @var Boucles[] |
|
| 853 | + */ |
|
| 854 | + public $boucles; |
|
| 855 | + |
|
| 856 | + /** |
|
| 857 | + * Alias de table d'application de la requête ou nom complet de la table SQL |
|
| 858 | + * |
|
| 859 | + * @var string|null |
|
| 860 | + */ |
|
| 861 | + public $type_requete; |
|
| 862 | + |
|
| 863 | + /** |
|
| 864 | + * Résultat de la compilation: toujours une expression PHP |
|
| 865 | + * |
|
| 866 | + * @var string |
|
| 867 | + */ |
|
| 868 | + public $code = ''; |
|
| 869 | + |
|
| 870 | + /** |
|
| 871 | + * Interdire les scripts |
|
| 872 | + * |
|
| 873 | + * @see interdire_scripts() |
|
| 874 | + * @var bool |
|
| 875 | + */ |
|
| 876 | + public $interdire_scripts = false; |
|
| 877 | + |
|
| 878 | + /** |
|
| 879 | + * Description du squelette |
|
| 880 | + * |
|
| 881 | + * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 882 | + * |
|
| 883 | + * Peut contenir les index : |
|
| 884 | + * - nom : Nom du fichier de cache |
|
| 885 | + * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 886 | + * - sourcefile : Chemin du squelette |
|
| 887 | + * - squelette : Code du squelette |
|
| 888 | + * - id_mere : Identifiant de la boucle parente |
|
| 889 | + * - documents : Pour embed et img dans les textes |
|
| 890 | + * - session : Pour un cache sessionné par auteur |
|
| 891 | + * - niv : Niveau de tabulation |
|
| 892 | + * |
|
| 893 | + * @var array |
|
| 894 | + */ |
|
| 895 | + public $descr = []; |
|
| 896 | + |
|
| 897 | + /** |
|
| 898 | + * Numéro de ligne dans le code source du squelette |
|
| 899 | + * |
|
| 900 | + * @var int |
|
| 901 | + */ |
|
| 902 | + public $ligne = 0; |
|
| 903 | 903 | } |
| 904 | 904 | |
| 905 | 905 | /** |
@@ -908,28 +908,28 @@ discard block |
||
| 908 | 908 | * @package SPIP\Core\Compilateur\AST |
| 909 | 909 | **/ |
| 910 | 910 | class Polyglotte { |
| 911 | - /** |
|
| 912 | - * Type de noeud |
|
| 913 | - * |
|
| 914 | - * @var string |
|
| 915 | - */ |
|
| 916 | - public $type = 'polyglotte'; |
|
| 917 | - |
|
| 918 | - /** |
|
| 919 | - * Tableau des traductions possibles classées par langue |
|
| 920 | - * |
|
| 921 | - * Tableau code de langue => texte |
|
| 922 | - * |
|
| 923 | - * @var array |
|
| 924 | - */ |
|
| 925 | - public $traductions = []; |
|
| 926 | - |
|
| 927 | - /** |
|
| 928 | - * Numéro de ligne dans le code source du squelette |
|
| 929 | - * |
|
| 930 | - * @var int |
|
| 931 | - */ |
|
| 932 | - public $ligne = 0; |
|
| 911 | + /** |
|
| 912 | + * Type de noeud |
|
| 913 | + * |
|
| 914 | + * @var string |
|
| 915 | + */ |
|
| 916 | + public $type = 'polyglotte'; |
|
| 917 | + |
|
| 918 | + /** |
|
| 919 | + * Tableau des traductions possibles classées par langue |
|
| 920 | + * |
|
| 921 | + * Tableau code de langue => texte |
|
| 922 | + * |
|
| 923 | + * @var array |
|
| 924 | + */ |
|
| 925 | + public $traductions = []; |
|
| 926 | + |
|
| 927 | + /** |
|
| 928 | + * Numéro de ligne dans le code source du squelette |
|
| 929 | + * |
|
| 930 | + * @var int |
|
| 931 | + */ |
|
| 932 | + public $ligne = 0; |
|
| 933 | 933 | } |
| 934 | 934 | |
| 935 | 935 | |
@@ -952,90 +952,90 @@ discard block |
||
| 952 | 952 | */ |
| 953 | 953 | function declarer_interfaces() { |
| 954 | 954 | |
| 955 | - $GLOBALS['table_des_tables']['articles'] = 'articles'; |
|
| 956 | - $GLOBALS['table_des_tables']['auteurs'] = 'auteurs'; |
|
| 957 | - $GLOBALS['table_des_tables']['rubriques'] = 'rubriques'; |
|
| 958 | - $GLOBALS['table_des_tables']['hierarchie'] = 'rubriques'; |
|
| 959 | - |
|
| 960 | - // definition des statuts de publication |
|
| 961 | - $GLOBALS['table_statut'] = []; |
|
| 962 | - |
|
| 963 | - // |
|
| 964 | - // tableau des tables de jointures |
|
| 965 | - // Ex: gestion du critere {id_mot} dans la boucle(ARTICLES) |
|
| 966 | - $GLOBALS['tables_jointures'] = []; |
|
| 967 | - $GLOBALS['tables_jointures']['spip_jobs'][] = 'jobs_liens'; |
|
| 968 | - |
|
| 969 | - // $GLOBALS['exceptions_des_jointures']['titre_mot'] = array('spip_mots', 'titre'); // pour exemple |
|
| 970 | - $GLOBALS['exceptions_des_jointures']['profondeur'] = ['spip_rubriques', 'profondeur']; |
|
| 971 | - |
|
| 972 | - |
|
| 973 | - if (!defined('_TRAITEMENT_TYPO')) { |
|
| 974 | - define('_TRAITEMENT_TYPO', 'typo(%s, "TYPO", $connect, $Pile[0])'); |
|
| 975 | - } |
|
| 976 | - if (!defined('_TRAITEMENT_RACCOURCIS')) { |
|
| 977 | - define('_TRAITEMENT_RACCOURCIS', 'propre(%s, $connect, $Pile[0])'); |
|
| 978 | - } |
|
| 979 | - if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) { |
|
| 980 | - define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))'); |
|
| 981 | - } |
|
| 982 | - $GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')'; |
|
| 983 | - $GLOBALS['table_des_traitements']['NOM_SITE']['spip_auteurs'] = 'entites_html(%s)'; |
|
| 984 | - $GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')'; |
|
| 985 | - $GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS; |
|
| 986 | - $GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)'; |
|
| 987 | - $GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)'; |
|
| 988 | - $GLOBALS['table_des_traitements']['DATE_MODIF'][] = 'normaliser_date(%s)'; |
|
| 989 | - $GLOBALS['table_des_traitements']['DATE_NOUVEAUTES'][] = 'normaliser_date(%s)'; |
|
| 990 | - $GLOBALS['table_des_traitements']['DESCRIPTIF'][] = _TRAITEMENT_RACCOURCIS; |
|
| 991 | - $GLOBALS['table_des_traitements']['INTRODUCTION'][] = _TRAITEMENT_RACCOURCIS; |
|
| 992 | - $GLOBALS['table_des_traitements']['NOM_SITE_SPIP'][] = _TRAITEMENT_TYPO; |
|
| 993 | - $GLOBALS['table_des_traitements']['NOM'][] = _TRAITEMENT_TYPO_SANS_NUMERO; |
|
| 994 | - $GLOBALS['table_des_traitements']['AUTEUR'][] = _TRAITEMENT_TYPO; |
|
| 995 | - $GLOBALS['table_des_traitements']['PS'][] = _TRAITEMENT_RACCOURCIS; |
|
| 996 | - $GLOBALS['table_des_traitements']['SOURCE'][] = _TRAITEMENT_TYPO; |
|
| 997 | - $GLOBALS['table_des_traitements']['SOUSTITRE'][] = _TRAITEMENT_TYPO; |
|
| 998 | - $GLOBALS['table_des_traitements']['SURTITRE'][] = _TRAITEMENT_TYPO; |
|
| 999 | - $GLOBALS['table_des_traitements']['TAGS'][] = '%s'; |
|
| 1000 | - $GLOBALS['table_des_traitements']['TEXTE'][] = _TRAITEMENT_RACCOURCIS; |
|
| 1001 | - $GLOBALS['table_des_traitements']['TITRE'][] = _TRAITEMENT_TYPO_SANS_NUMERO; |
|
| 1002 | - $GLOBALS['table_des_traitements']['TYPE'][] = _TRAITEMENT_TYPO; |
|
| 1003 | - $GLOBALS['table_des_traitements']['DESCRIPTIF_SITE_SPIP'][] = _TRAITEMENT_RACCOURCIS; |
|
| 1004 | - $GLOBALS['table_des_traitements']['SLOGAN_SITE_SPIP'][] = _TRAITEMENT_TYPO; |
|
| 1005 | - $GLOBALS['table_des_traitements']['ENV'][] = 'entites_html(%s,true)'; |
|
| 1006 | - |
|
| 1007 | - // valeur par defaut pour les balises non listees ci-dessus |
|
| 1008 | - $GLOBALS['table_des_traitements']['*'][] = false; // pas de traitement, mais permet au compilo de trouver la declaration suivante |
|
| 1009 | - // toujours securiser les DATA |
|
| 1010 | - $GLOBALS['table_des_traitements']['*']['DATA'] = 'safehtml(%s)'; |
|
| 1011 | - // expliciter pour VALEUR qui est un champ calcule et ne sera pas protege par le catch-all * |
|
| 1012 | - $GLOBALS['table_des_traitements']['VALEUR']['DATA'] = 'safehtml(%s)'; |
|
| 1013 | - |
|
| 1014 | - |
|
| 1015 | - // gerer l'affectation en 2 temps car si le pipe n'est pas encore declare, on ecrase les globales |
|
| 1016 | - $interfaces = pipeline( |
|
| 1017 | - 'declarer_tables_interfaces', |
|
| 1018 | - [ |
|
| 1019 | - 'table_des_tables' => $GLOBALS['table_des_tables'], |
|
| 1020 | - 'exceptions_des_tables' => $GLOBALS['exceptions_des_tables'], |
|
| 1021 | - 'table_date' => $GLOBALS['table_date'], |
|
| 1022 | - 'table_titre' => $GLOBALS['table_titre'], |
|
| 1023 | - 'tables_jointures' => $GLOBALS['tables_jointures'], |
|
| 1024 | - 'exceptions_des_jointures' => $GLOBALS['exceptions_des_jointures'], |
|
| 1025 | - 'table_des_traitements' => $GLOBALS['table_des_traitements'], |
|
| 1026 | - 'table_statut' => $GLOBALS['table_statut'], |
|
| 1027 | - ] |
|
| 1028 | - ); |
|
| 1029 | - if ($interfaces) { |
|
| 1030 | - $GLOBALS['table_des_tables'] = $interfaces['table_des_tables']; |
|
| 1031 | - $GLOBALS['exceptions_des_tables'] = $interfaces['exceptions_des_tables']; |
|
| 1032 | - $GLOBALS['table_date'] = $interfaces['table_date']; |
|
| 1033 | - $GLOBALS['table_titre'] = $interfaces['table_titre']; |
|
| 1034 | - $GLOBALS['tables_jointures'] = $interfaces['tables_jointures']; |
|
| 1035 | - $GLOBALS['exceptions_des_jointures'] = $interfaces['exceptions_des_jointures']; |
|
| 1036 | - $GLOBALS['table_des_traitements'] = $interfaces['table_des_traitements']; |
|
| 1037 | - $GLOBALS['table_statut'] = $interfaces['table_statut']; |
|
| 1038 | - } |
|
| 955 | + $GLOBALS['table_des_tables']['articles'] = 'articles'; |
|
| 956 | + $GLOBALS['table_des_tables']['auteurs'] = 'auteurs'; |
|
| 957 | + $GLOBALS['table_des_tables']['rubriques'] = 'rubriques'; |
|
| 958 | + $GLOBALS['table_des_tables']['hierarchie'] = 'rubriques'; |
|
| 959 | + |
|
| 960 | + // definition des statuts de publication |
|
| 961 | + $GLOBALS['table_statut'] = []; |
|
| 962 | + |
|
| 963 | + // |
|
| 964 | + // tableau des tables de jointures |
|
| 965 | + // Ex: gestion du critere {id_mot} dans la boucle(ARTICLES) |
|
| 966 | + $GLOBALS['tables_jointures'] = []; |
|
| 967 | + $GLOBALS['tables_jointures']['spip_jobs'][] = 'jobs_liens'; |
|
| 968 | + |
|
| 969 | + // $GLOBALS['exceptions_des_jointures']['titre_mot'] = array('spip_mots', 'titre'); // pour exemple |
|
| 970 | + $GLOBALS['exceptions_des_jointures']['profondeur'] = ['spip_rubriques', 'profondeur']; |
|
| 971 | + |
|
| 972 | + |
|
| 973 | + if (!defined('_TRAITEMENT_TYPO')) { |
|
| 974 | + define('_TRAITEMENT_TYPO', 'typo(%s, "TYPO", $connect, $Pile[0])'); |
|
| 975 | + } |
|
| 976 | + if (!defined('_TRAITEMENT_RACCOURCIS')) { |
|
| 977 | + define('_TRAITEMENT_RACCOURCIS', 'propre(%s, $connect, $Pile[0])'); |
|
| 978 | + } |
|
| 979 | + if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) { |
|
| 980 | + define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))'); |
|
| 981 | + } |
|
| 982 | + $GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')'; |
|
| 983 | + $GLOBALS['table_des_traitements']['NOM_SITE']['spip_auteurs'] = 'entites_html(%s)'; |
|
| 984 | + $GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')'; |
|
| 985 | + $GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS; |
|
| 986 | + $GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)'; |
|
| 987 | + $GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)'; |
|
| 988 | + $GLOBALS['table_des_traitements']['DATE_MODIF'][] = 'normaliser_date(%s)'; |
|
| 989 | + $GLOBALS['table_des_traitements']['DATE_NOUVEAUTES'][] = 'normaliser_date(%s)'; |
|
| 990 | + $GLOBALS['table_des_traitements']['DESCRIPTIF'][] = _TRAITEMENT_RACCOURCIS; |
|
| 991 | + $GLOBALS['table_des_traitements']['INTRODUCTION'][] = _TRAITEMENT_RACCOURCIS; |
|
| 992 | + $GLOBALS['table_des_traitements']['NOM_SITE_SPIP'][] = _TRAITEMENT_TYPO; |
|
| 993 | + $GLOBALS['table_des_traitements']['NOM'][] = _TRAITEMENT_TYPO_SANS_NUMERO; |
|
| 994 | + $GLOBALS['table_des_traitements']['AUTEUR'][] = _TRAITEMENT_TYPO; |
|
| 995 | + $GLOBALS['table_des_traitements']['PS'][] = _TRAITEMENT_RACCOURCIS; |
|
| 996 | + $GLOBALS['table_des_traitements']['SOURCE'][] = _TRAITEMENT_TYPO; |
|
| 997 | + $GLOBALS['table_des_traitements']['SOUSTITRE'][] = _TRAITEMENT_TYPO; |
|
| 998 | + $GLOBALS['table_des_traitements']['SURTITRE'][] = _TRAITEMENT_TYPO; |
|
| 999 | + $GLOBALS['table_des_traitements']['TAGS'][] = '%s'; |
|
| 1000 | + $GLOBALS['table_des_traitements']['TEXTE'][] = _TRAITEMENT_RACCOURCIS; |
|
| 1001 | + $GLOBALS['table_des_traitements']['TITRE'][] = _TRAITEMENT_TYPO_SANS_NUMERO; |
|
| 1002 | + $GLOBALS['table_des_traitements']['TYPE'][] = _TRAITEMENT_TYPO; |
|
| 1003 | + $GLOBALS['table_des_traitements']['DESCRIPTIF_SITE_SPIP'][] = _TRAITEMENT_RACCOURCIS; |
|
| 1004 | + $GLOBALS['table_des_traitements']['SLOGAN_SITE_SPIP'][] = _TRAITEMENT_TYPO; |
|
| 1005 | + $GLOBALS['table_des_traitements']['ENV'][] = 'entites_html(%s,true)'; |
|
| 1006 | + |
|
| 1007 | + // valeur par defaut pour les balises non listees ci-dessus |
|
| 1008 | + $GLOBALS['table_des_traitements']['*'][] = false; // pas de traitement, mais permet au compilo de trouver la declaration suivante |
|
| 1009 | + // toujours securiser les DATA |
|
| 1010 | + $GLOBALS['table_des_traitements']['*']['DATA'] = 'safehtml(%s)'; |
|
| 1011 | + // expliciter pour VALEUR qui est un champ calcule et ne sera pas protege par le catch-all * |
|
| 1012 | + $GLOBALS['table_des_traitements']['VALEUR']['DATA'] = 'safehtml(%s)'; |
|
| 1013 | + |
|
| 1014 | + |
|
| 1015 | + // gerer l'affectation en 2 temps car si le pipe n'est pas encore declare, on ecrase les globales |
|
| 1016 | + $interfaces = pipeline( |
|
| 1017 | + 'declarer_tables_interfaces', |
|
| 1018 | + [ |
|
| 1019 | + 'table_des_tables' => $GLOBALS['table_des_tables'], |
|
| 1020 | + 'exceptions_des_tables' => $GLOBALS['exceptions_des_tables'], |
|
| 1021 | + 'table_date' => $GLOBALS['table_date'], |
|
| 1022 | + 'table_titre' => $GLOBALS['table_titre'], |
|
| 1023 | + 'tables_jointures' => $GLOBALS['tables_jointures'], |
|
| 1024 | + 'exceptions_des_jointures' => $GLOBALS['exceptions_des_jointures'], |
|
| 1025 | + 'table_des_traitements' => $GLOBALS['table_des_traitements'], |
|
| 1026 | + 'table_statut' => $GLOBALS['table_statut'], |
|
| 1027 | + ] |
|
| 1028 | + ); |
|
| 1029 | + if ($interfaces) { |
|
| 1030 | + $GLOBALS['table_des_tables'] = $interfaces['table_des_tables']; |
|
| 1031 | + $GLOBALS['exceptions_des_tables'] = $interfaces['exceptions_des_tables']; |
|
| 1032 | + $GLOBALS['table_date'] = $interfaces['table_date']; |
|
| 1033 | + $GLOBALS['table_titre'] = $interfaces['table_titre']; |
|
| 1034 | + $GLOBALS['tables_jointures'] = $interfaces['tables_jointures']; |
|
| 1035 | + $GLOBALS['exceptions_des_jointures'] = $interfaces['exceptions_des_jointures']; |
|
| 1036 | + $GLOBALS['table_des_traitements'] = $interfaces['table_des_traitements']; |
|
| 1037 | + $GLOBALS['table_statut'] = $interfaces['table_statut']; |
|
| 1038 | + } |
|
| 1039 | 1039 | } |
| 1040 | 1040 | |
| 1041 | 1041 | declarer_interfaces(); |