@@ -4,539 +4,539 @@ |
||
| 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 | - 'aide_non_disponible' => 'Pomoc nije dostupna', |
|
| 14 | - 'avis_acces_interdit' => 'Pristup zabranjen.', |
|
| 15 | - 'avis_article_modifie' => 'Paznja, @nom_auteur_modif@ je radio na ovom artiklu prije @date_diff@ minuta', |
|
| 16 | - 'avis_aucun_resultat' => 'Nije pronadjen nijedan rezultat.', |
|
| 17 | - 'avis_chemin_invalide_1' => 'Opcija koju ste izabrali', |
|
| 18 | - 'avis_chemin_invalide_2' => 'nije vazeca. Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 19 | - 'avis_connexion_echec_1' => 'Konekcija na SQL server nije uspijela.', # MODIF |
|
| 20 | - 'avis_connexion_echec_2' => 'Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 21 | - 'avis_connexion_echec_3' => '<b>N.B.</b> Na nekim serverima, trebate <b>traziti</b> aktiviranje pristupa SQL bazi prije nego je mozete koristiti. Ako se ne mozete konektovati provjerite da li ste trazili pomenutu aktivaciju.', # MODIF |
|
| 22 | - 'avis_connexion_ldap_echec_1' => 'Konekcija na LDAP server nije uspjela.', |
|
| 23 | - 'avis_connexion_ldap_echec_2' => 'Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 24 | - 'avis_connexion_ldap_echec_3' => 'Ne koristite podrsku LDAP kao alternativu za importovanje korisnika.', |
|
| 25 | - 'avis_deplacement_rubrique' => 'Paznja! Ova rubrika sadrzi @contient_breves@ kratke poruke: Ako je zelite premjestiti, oznacite ovo polje kao potvrdu.', |
|
| 26 | - 'avis_erreur_connexion_mysql' => 'Greska u SQL konekciji', # MODIF |
|
| 27 | - 'avis_espace_interdit' => '<b>Zabranjen prostor</b><p>SPIP je vec instaliran.</p>', # MODIF |
|
| 28 | - 'avis_lecture_noms_bases_1' => 'Instalacijski program nije uspio ucitati imena instaliranih baza podataka.', |
|
| 29 | - 'avis_lecture_noms_bases_2' => 'Ili nijedna baza nije na raspolaganju, ili je funkcija, koja dozvoljava izlistavanje baza, dezaktivirana iz sigurnosnih razloga (sto je slucaj kod mnogih racunara).', |
|
| 30 | - 'avis_lecture_noms_bases_3' => 'Ako je u pitanju druga alternativa, moguce je da se koristi baza koja nosi isto ime kao vas login:', |
|
| 31 | - 'avis_non_acces_page' => 'Nemate pristup ovoj strani.', |
|
| 32 | - 'avis_operation_echec' => 'Operacija nije uspijela.', |
|
| 33 | - 'avis_suppression_base' => 'PAZNJA, brisanje podataka je nepovratno', |
|
| 12 | + // A |
|
| 13 | + 'aide_non_disponible' => 'Pomoc nije dostupna', |
|
| 14 | + 'avis_acces_interdit' => 'Pristup zabranjen.', |
|
| 15 | + 'avis_article_modifie' => 'Paznja, @nom_auteur_modif@ je radio na ovom artiklu prije @date_diff@ minuta', |
|
| 16 | + 'avis_aucun_resultat' => 'Nije pronadjen nijedan rezultat.', |
|
| 17 | + 'avis_chemin_invalide_1' => 'Opcija koju ste izabrali', |
|
| 18 | + 'avis_chemin_invalide_2' => 'nije vazeca. Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 19 | + 'avis_connexion_echec_1' => 'Konekcija na SQL server nije uspijela.', # MODIF |
|
| 20 | + 'avis_connexion_echec_2' => 'Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 21 | + 'avis_connexion_echec_3' => '<b>N.B.</b> Na nekim serverima, trebate <b>traziti</b> aktiviranje pristupa SQL bazi prije nego je mozete koristiti. Ako se ne mozete konektovati provjerite da li ste trazili pomenutu aktivaciju.', # MODIF |
|
| 22 | + 'avis_connexion_ldap_echec_1' => 'Konekcija na LDAP server nije uspjela.', |
|
| 23 | + 'avis_connexion_ldap_echec_2' => 'Vratite se na prethodnu stranicu i provjerite unesene podatke.', |
|
| 24 | + 'avis_connexion_ldap_echec_3' => 'Ne koristite podrsku LDAP kao alternativu za importovanje korisnika.', |
|
| 25 | + 'avis_deplacement_rubrique' => 'Paznja! Ova rubrika sadrzi @contient_breves@ kratke poruke: Ako je zelite premjestiti, oznacite ovo polje kao potvrdu.', |
|
| 26 | + 'avis_erreur_connexion_mysql' => 'Greska u SQL konekciji', # MODIF |
|
| 27 | + 'avis_espace_interdit' => '<b>Zabranjen prostor</b><p>SPIP je vec instaliran.</p>', # MODIF |
|
| 28 | + 'avis_lecture_noms_bases_1' => 'Instalacijski program nije uspio ucitati imena instaliranih baza podataka.', |
|
| 29 | + 'avis_lecture_noms_bases_2' => 'Ili nijedna baza nije na raspolaganju, ili je funkcija, koja dozvoljava izlistavanje baza, dezaktivirana iz sigurnosnih razloga (sto je slucaj kod mnogih racunara).', |
|
| 30 | + 'avis_lecture_noms_bases_3' => 'Ako je u pitanju druga alternativa, moguce je da se koristi baza koja nosi isto ime kao vas login:', |
|
| 31 | + 'avis_non_acces_page' => 'Nemate pristup ovoj strani.', |
|
| 32 | + 'avis_operation_echec' => 'Operacija nije uspijela.', |
|
| 33 | + 'avis_suppression_base' => 'PAZNJA, brisanje podataka je nepovratno', |
|
| 34 | 34 | |
| 35 | - // B |
|
| 36 | - 'bouton_acces_ldap' => 'Dodaj pristup za LDAP >>', # MODIF |
|
| 37 | - 'bouton_ajouter' => 'Dodaj', |
|
| 38 | - 'bouton_demande_publication' => 'Trazi publikaciju ovog clanka', |
|
| 39 | - 'bouton_effacer_tout' => 'Izbrisi SVE', |
|
| 40 | - 'bouton_envoyer_message' => 'Definitivna poruka: posalji', |
|
| 41 | - 'bouton_modifier' => 'Izmijeni', |
|
| 42 | - 'bouton_radio_afficher' => 'Prikazi', |
|
| 43 | - 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Prikazi u listi prisutnih urednika', |
|
| 44 | - 'bouton_radio_envoi_annonces_adresse' => 'Posalji najave na adresu:', |
|
| 45 | - 'bouton_radio_envoi_liste_nouveautes' => 'Posalji listu novosti', |
|
| 46 | - 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne prikazuj u listi urednika', |
|
| 47 | - 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne salji editorijalne najave', |
|
| 48 | - 'bouton_redirection' => 'PREUSMJERI', |
|
| 49 | - 'bouton_relancer_installation' => 'Ponovo pokreni instalaciju', |
|
| 50 | - 'bouton_suivant' => 'Sljedece', |
|
| 51 | - 'bouton_tenter_recuperation' => 'Pokusaj popraviti', |
|
| 52 | - 'bouton_test_proxy' => 'Provjeri proxy', |
|
| 53 | - 'bouton_vider_cache' => 'Isprazni kes', |
|
| 35 | + // B |
|
| 36 | + 'bouton_acces_ldap' => 'Dodaj pristup za LDAP >>', # MODIF |
|
| 37 | + 'bouton_ajouter' => 'Dodaj', |
|
| 38 | + 'bouton_demande_publication' => 'Trazi publikaciju ovog clanka', |
|
| 39 | + 'bouton_effacer_tout' => 'Izbrisi SVE', |
|
| 40 | + 'bouton_envoyer_message' => 'Definitivna poruka: posalji', |
|
| 41 | + 'bouton_modifier' => 'Izmijeni', |
|
| 42 | + 'bouton_radio_afficher' => 'Prikazi', |
|
| 43 | + 'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Prikazi u listi prisutnih urednika', |
|
| 44 | + 'bouton_radio_envoi_annonces_adresse' => 'Posalji najave na adresu:', |
|
| 45 | + 'bouton_radio_envoi_liste_nouveautes' => 'Posalji listu novosti', |
|
| 46 | + 'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ne prikazuj u listi urednika', |
|
| 47 | + 'bouton_radio_non_envoi_annonces_editoriales' => 'Ne salji editorijalne najave', |
|
| 48 | + 'bouton_redirection' => 'PREUSMJERI', |
|
| 49 | + 'bouton_relancer_installation' => 'Ponovo pokreni instalaciju', |
|
| 50 | + 'bouton_suivant' => 'Sljedece', |
|
| 51 | + 'bouton_tenter_recuperation' => 'Pokusaj popraviti', |
|
| 52 | + 'bouton_test_proxy' => 'Provjeri proxy', |
|
| 53 | + 'bouton_vider_cache' => 'Isprazni kes', |
|
| 54 | 54 | |
| 55 | - // C |
|
| 56 | - 'cache_modifiable_webmestre' => 'Webmaster stranice moze promijeniti ovaj parametar.', |
|
| 57 | - 'calendrier_synchro' => 'Ako koristite neki kompaktibilni kalendarski software <b>iCal</b>, mozete ga uskladiti sa informacijama ove stranice.', |
|
| 55 | + // C |
|
| 56 | + 'cache_modifiable_webmestre' => 'Webmaster stranice moze promijeniti ovaj parametar.', |
|
| 57 | + 'calendrier_synchro' => 'Ako koristite neki kompaktibilni kalendarski software <b>iCal</b>, mozete ga uskladiti sa informacijama ove stranice.', |
|
| 58 | 58 | |
| 59 | - // D |
|
| 60 | - 'date_mot_heures' => 'sati', |
|
| 59 | + // D |
|
| 60 | + 'date_mot_heures' => 'sati', |
|
| 61 | 61 | |
| 62 | - // E |
|
| 63 | - 'email' => 'e-mail', |
|
| 64 | - 'email_2' => 'e-mail:', |
|
| 65 | - 'entree_adresse_annuaire' => 'Adresa direktorija', |
|
| 66 | - 'entree_adresse_email' => 'Vasa e-mail adresa', |
|
| 67 | - 'entree_base_donnee_1' => 'Adresa baze podataka', |
|
| 68 | - 'entree_base_donnee_2' => '(Ova adresa cesto odgovara adresi vase stranice, nekada ona odgovara nazivu «localhost», a nekada je ostavljena prazna.)', |
|
| 69 | - 'entree_biographie' => 'Kratka biografija u nekoliko rijeci.', |
|
| 70 | - 'entree_chemin_acces' => '<b>Unijeti</b> putanju pristupa:', # MODIF |
|
| 71 | - 'entree_cle_pgp' => 'Vas PGP kljuc', |
|
| 72 | - 'entree_contenu_rubrique' => '(Sadrzaj ove rubrike, u nekoliko rijeci.)', |
|
| 73 | - 'entree_identifiants_connexion' => 'Identifikatori vase konekcije...', |
|
| 74 | - 'entree_informations_connexion_ldap' => 'U ovaj formular unesite informacije o konekciji sa LDAP direktorijem. Administrator mreze ili mreza ce vam pruziti te informacije.', |
|
| 75 | - 'entree_infos_perso' => 'Ko ste?', |
|
| 76 | - 'entree_interieur_rubrique' => 'U rubrici:', |
|
| 77 | - 'entree_liens_sites' => '<b>Hiperlink</b> (Reference, web stranice za posjetiti...)', # MODIF |
|
| 78 | - 'entree_login' => 'Vas login', |
|
| 79 | - 'entree_login_connexion_1' => 'Login konekcije', |
|
| 80 | - 'entree_login_connexion_2' => '(Nekada odgovara vasem loginu za pristup na FTP; nekada je ostavljen prazan)', |
|
| 81 | - 'entree_mot_passe' => 'Vasa lozinka', |
|
| 82 | - 'entree_mot_passe_1' => 'Lozinka konekcije', |
|
| 83 | - 'entree_mot_passe_2' => '(Nekada odgovara vasoj lozinki za pristup na FTP, a nekada je ostavljeno prazno)', |
|
| 84 | - 'entree_nom_fichier' => 'Unesite ime dokumenta @texte_compresse@:', |
|
| 85 | - 'entree_nom_pseudo' => 'Vase ime ili pseudo', |
|
| 86 | - 'entree_nom_pseudo_1' => '(Vase ime ili pseudo)', |
|
| 87 | - 'entree_nom_site' => 'Ime vase stranice', |
|
| 88 | - 'entree_nouveau_passe' => 'Nova lozinka', |
|
| 89 | - 'entree_passe_ldap' => 'Lozinka', |
|
| 90 | - 'entree_port_annuaire' => 'Broj porta direktorija', |
|
| 91 | - 'entree_signature' => 'Potpis', |
|
| 92 | - 'entree_titre_obligatoire' => '<b>Naslov</b> [Obavezno]<br />', # MODIF |
|
| 93 | - 'entree_url' => 'URL adresa vase stranice', |
|
| 62 | + // E |
|
| 63 | + 'email' => 'e-mail', |
|
| 64 | + 'email_2' => 'e-mail:', |
|
| 65 | + 'entree_adresse_annuaire' => 'Adresa direktorija', |
|
| 66 | + 'entree_adresse_email' => 'Vasa e-mail adresa', |
|
| 67 | + 'entree_base_donnee_1' => 'Adresa baze podataka', |
|
| 68 | + 'entree_base_donnee_2' => '(Ova adresa cesto odgovara adresi vase stranice, nekada ona odgovara nazivu «localhost», a nekada je ostavljena prazna.)', |
|
| 69 | + 'entree_biographie' => 'Kratka biografija u nekoliko rijeci.', |
|
| 70 | + 'entree_chemin_acces' => '<b>Unijeti</b> putanju pristupa:', # MODIF |
|
| 71 | + 'entree_cle_pgp' => 'Vas PGP kljuc', |
|
| 72 | + 'entree_contenu_rubrique' => '(Sadrzaj ove rubrike, u nekoliko rijeci.)', |
|
| 73 | + 'entree_identifiants_connexion' => 'Identifikatori vase konekcije...', |
|
| 74 | + 'entree_informations_connexion_ldap' => 'U ovaj formular unesite informacije o konekciji sa LDAP direktorijem. Administrator mreze ili mreza ce vam pruziti te informacije.', |
|
| 75 | + 'entree_infos_perso' => 'Ko ste?', |
|
| 76 | + 'entree_interieur_rubrique' => 'U rubrici:', |
|
| 77 | + 'entree_liens_sites' => '<b>Hiperlink</b> (Reference, web stranice za posjetiti...)', # MODIF |
|
| 78 | + 'entree_login' => 'Vas login', |
|
| 79 | + 'entree_login_connexion_1' => 'Login konekcije', |
|
| 80 | + 'entree_login_connexion_2' => '(Nekada odgovara vasem loginu za pristup na FTP; nekada je ostavljen prazan)', |
|
| 81 | + 'entree_mot_passe' => 'Vasa lozinka', |
|
| 82 | + 'entree_mot_passe_1' => 'Lozinka konekcije', |
|
| 83 | + 'entree_mot_passe_2' => '(Nekada odgovara vasoj lozinki za pristup na FTP, a nekada je ostavljeno prazno)', |
|
| 84 | + 'entree_nom_fichier' => 'Unesite ime dokumenta @texte_compresse@:', |
|
| 85 | + 'entree_nom_pseudo' => 'Vase ime ili pseudo', |
|
| 86 | + 'entree_nom_pseudo_1' => '(Vase ime ili pseudo)', |
|
| 87 | + 'entree_nom_site' => 'Ime vase stranice', |
|
| 88 | + 'entree_nouveau_passe' => 'Nova lozinka', |
|
| 89 | + 'entree_passe_ldap' => 'Lozinka', |
|
| 90 | + 'entree_port_annuaire' => 'Broj porta direktorija', |
|
| 91 | + 'entree_signature' => 'Potpis', |
|
| 92 | + 'entree_titre_obligatoire' => '<b>Naslov</b> [Obavezno]<br />', # MODIF |
|
| 93 | + 'entree_url' => 'URL adresa vase stranice', |
|
| 94 | 94 | |
| 95 | - // I |
|
| 96 | - 'ical_info1' => 'Na ovoj strani je predstavljeno nekoliko metoda kako da ostanete u toku sa aktuelnostima ove web stranice.', |
|
| 97 | - 'ical_info2' => 'Za sve informacije o ovim metodama, mozete konsultovati <a href="@spipnet@"> SPIP dokumentaciju </a>.', # MODIF |
|
| 98 | - 'ical_info_calendrier' => 'Na raspolaganju vam stoje dva kalendara. Jedan je plan stranice koji najavljuje sve publicirane artikle. Drugi sadrzi editorijalne najave, kao sto su vase posljednje privatne poruke: On je rezervisan za vas zahvaljujuci licnom kljucu, koji mozete izmijeniti u svakom momentu, dok mijenjate svoju lozinku.', |
|
| 99 | - 'ical_methode_http' => 'Download', |
|
| 100 | - 'ical_methode_webcal' => 'Sinhronizacija (webcal://)', # MODIF |
|
| 101 | - 'ical_texte_prive' => 'Ovaj kalendar, koji je iskljucivo za licnu upotrebu, obavjestava vas o privatnim editorijalnim aktivnostima na ovoj stranici (zadaci i licni sastanci, clanci i objavljene kratke poruke).', |
|
| 102 | - 'ical_texte_rss' => 'Novosti sa ove stranice mozete sindikovati u bilo kojem citacu dokumenata XML/RSS (Rich Site Summary). Takodze, to je format koji dozvoljava SPIP-u da cita novosti objavljene na drugim stranicama, koristeci kompatibilan format za razmjenu (sindikovane stranice).', |
|
| 103 | - 'ical_titre_js' => 'Javascript', |
|
| 104 | - 'ical_titre_mailing' => 'Mailing-lista', |
|
| 105 | - 'ical_titre_rss' => 'Dokumenti « backend »', |
|
| 106 | - 'icone_activer_cookie' => 'Postavi cookie', |
|
| 107 | - 'icone_afficher_auteurs' => 'Prikazi autore', |
|
| 108 | - 'icone_afficher_visiteurs' => 'Prikazi posjetioce', |
|
| 109 | - 'icone_arret_discussion' => 'Zavrsi ucesce u ovoj diskusiji', |
|
| 110 | - 'icone_calendrier' => 'Kalendar', |
|
| 111 | - 'icone_creer_auteur' => 'Kreiraj novog autora i asociraj ga s ovim clankom', |
|
| 112 | - 'icone_creer_mot_cle' => 'Kreiraj novu kljucnu rijec i povezi je sa ovim clankom', |
|
| 113 | - 'icone_creer_rubrique_2' => 'Kreiraj novu rubriku', |
|
| 114 | - 'icone_modifier_article' => 'Izmijeni ovaj clanak', |
|
| 115 | - 'icone_modifier_rubrique' => 'Izmijeni ovu rubriku', |
|
| 116 | - 'icone_retour' => 'Nazad', |
|
| 117 | - 'icone_retour_article' => 'Nazad na clanak', |
|
| 118 | - 'icone_supprimer_cookie' => 'Izbrisi cookie', |
|
| 119 | - 'icone_supprimer_rubrique' => 'Izbrisi ovu rubriku', |
|
| 120 | - 'icone_supprimer_signature' => 'Izbrisi ovaj potpis', |
|
| 121 | - 'icone_valider_signature' => 'Ovjeri ovaj potpis', |
|
| 122 | - 'image_administrer_rubrique' => 'Mozete biti administrator ove rubrike', |
|
| 123 | - 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF |
|
| 124 | - 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF |
|
| 125 | - 'info_1_article' => '1. clanak', |
|
| 126 | - 'info_activer_cookie' => 'Mozete aktivirati jedan <b> cookie za administraciu </b>, koji ce vam dozvoliti lak prelaz iz javnog u privati prostor.', |
|
| 127 | - 'info_administrateur' => 'Administrator', |
|
| 128 | - 'info_administrateur_1' => 'Administrator', |
|
| 129 | - 'info_administrateur_2' => 'stranice (<i>pazljiva upotreba</i>)', |
|
| 130 | - 'info_administrateur_site_01' => 'Ako ste administrator stranice', |
|
| 131 | - 'info_administrateur_site_02' => 'kliknite ovaj link', |
|
| 132 | - 'info_administrateurs' => 'Administratori', |
|
| 133 | - 'info_administrer_rubrique' => 'Mozete biti administrator ove rubrike', |
|
| 134 | - 'info_adresse' => 'na adresu:', |
|
| 135 | - 'info_adresse_url' => 'URL adresa stranice za javnost', |
|
| 136 | - 'info_aide_en_ligne' => 'Online pomoc za SPIP', |
|
| 137 | - 'info_ajout_image' => 'Ako clanku dodajete fotografije u formi dokumenta, SPIP moze kreirati vinjete (minijature) dodanih fotografija. To naprimjer dozvoljava automatsko kreiranje galerije ili portfolija.', |
|
| 138 | - 'info_ajouter_rubrique' => 'Dodaj drugu rubriku za administraciju:', |
|
| 139 | - 'info_annonce_nouveautes' => 'Najava novosti', |
|
| 140 | - 'info_article' => 'clanak', |
|
| 141 | - 'info_article_2' => 'clanci', |
|
| 142 | - 'info_article_a_paraitre' => 'Prikazi clanke sa kasnijim datumom', |
|
| 143 | - 'info_articles_02' => 'clanci', |
|
| 144 | - 'info_articles_2' => 'Clanci', |
|
| 145 | - 'info_articles_auteur' => 'Clanci ovog autora', |
|
| 146 | - 'info_articles_trouves' => 'Pronadjeni clanci', |
|
| 147 | - 'info_attente_validation' => 'Vasi clanci koji cekaju ovjeru', |
|
| 148 | - 'info_aujourdhui' => 'danas:', |
|
| 149 | - 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', # MODIF |
|
| 150 | - 'info_auteurs' => 'Autori', |
|
| 151 | - 'info_auteurs_par_tri' => 'Autori@partri@', |
|
| 152 | - 'info_auteurs_trouves' => 'Pronadjeni autori', |
|
| 153 | - 'info_authentification_externe' => 'Eksterna autentifikacija', |
|
| 154 | - 'info_avertissement' => 'Upozorenje', |
|
| 155 | - 'info_base_installee' => 'Struktura vase baze podatake je instalirana.', |
|
| 156 | - 'info_chapeau' => 'Uvod', |
|
| 157 | - 'info_chapeau_2' => 'Uvod:', |
|
| 158 | - 'info_chemin_acces_1' => 'Opcije: <b>Putanja pristupa u direktorij</b>', # MODIF |
|
| 159 | - 'info_chemin_acces_2' => 'Od sada cete morati konfigurisati putanju pristupa informacijama iz direktorija. Ova informacija je neophodna za citanje profila korisnika koji su pohranjeni u direktoriju.', |
|
| 160 | - 'info_chemin_acces_annuaire' => 'Opcije : <b>Putanja pristupa u direktorij', # MODIF |
|
| 161 | - 'info_choix_base' => 'Treca etapa :', |
|
| 162 | - 'info_classement_1' => '<sup>er</sup> iz @liste@', |
|
| 163 | - 'info_classement_2' => '<sup>e</sup> iz @liste@', |
|
| 164 | - 'info_code_acces' => 'Ne zaboravite vas kod za pristup!', |
|
| 165 | - 'info_config_suivi' => 'Ako ova adresa odgovara mailing listi, ispod mozete naznaciti adresu na koju se ucesnici mogu registrovati. Ta adresa moze biti URL (npr. strana za upisivanje na listu putem web-a), ili e-mail adresa opremljena specificnim subjektom(npr.: <tt>@adresse_suivi@?subject=prijava</tt>):', |
|
| 166 | - 'info_config_suivi_explication' => 'Mozete se prikljuciti mailing-listi ove stranice. Poslije cete u elektronskim putem primiti najave clanaka i kratkih poruka, koje su predlozene za publikaciju', |
|
| 167 | - 'info_confirmer_passe' => 'Potvrdi novu lozinku:', |
|
| 168 | - 'info_connexion_base' => 'Druga etapa: <b>Pokusaj konekcije sa bazom</b>', # MODIF |
|
| 169 | - 'info_connexion_ldap_ok' => 'Uspjesna LDAP konekcija.</b><p> Mozete pristupiti sljedecoj etapi</p>', # MODIF |
|
| 170 | - 'info_connexion_mysql' => 'Prva etapa: <b>Vasa SQL konekcija</b>', # MODIF |
|
| 171 | - 'info_connexion_ok' => 'Uspjesna konekcija.', |
|
| 172 | - 'info_contact' => 'Kontakt', |
|
| 173 | - 'info_contenu_articles' => 'Sadrzaj clanaka', |
|
| 174 | - 'info_creation_paragraphe' => '(Da biste kreirali odlomke, linije ostavite prazne.)', # MODIF |
|
| 175 | - 'info_creation_rubrique' => 'Prije nego mozete pisati clanke,<br /> morate kreirati najmanje jednu rubriku.<br />', # MODIF |
|
| 176 | - 'info_creation_tables' => 'Cetvrta etapa: <b>Kreiranje tabela baze</b>', # MODIF |
|
| 177 | - 'info_creer_base' => '<b>Kreirati</b> novu bazu podataka:', # MODIF |
|
| 178 | - 'info_dans_rubrique' => 'U rubrici:', |
|
| 179 | - 'info_date_publication_anterieure' => 'Datum proslog objavljivanja:', |
|
| 180 | - 'info_date_referencement' => 'DATUM PREPORUKE OVE STRANICE:', |
|
| 181 | - 'info_derniere_etape' => 'Posljednja etapa: <b>Zavrseno je!', # MODIF |
|
| 182 | - 'info_descriptif' => 'Opis:', |
|
| 183 | - 'info_discussion_cours' => 'Aktivne diskusije', |
|
| 184 | - 'info_ecrire_article' => 'Prije nego mozete pisati clanke, morate kreirati najmanje jednu rubriku.', |
|
| 185 | - 'info_email_envoi' => 'E-mail adresa za slanje (fakultativno)', |
|
| 186 | - 'info_email_envoi_txt' => 'Ovdje oznacite adresu za slanje e-mailova (po standardu ce adresa primaoca biti koristena kao adresa za slanje):', |
|
| 187 | - 'info_email_webmestre' => 'E-mail adresa webmastera (fakultativno)', # MODIF |
|
| 188 | - 'info_envoi_email_automatique' => 'Automatsko slanje e-mailova', |
|
| 189 | - 'info_envoyer_maintenant' => 'Posalji sada', |
|
| 190 | - 'info_etape_suivante' => 'Pristupi sljedecoj etapi', |
|
| 191 | - 'info_etape_suivante_1' => 'Mozete pristupiti sljedecoj etapi.', |
|
| 192 | - 'info_etape_suivante_2' => 'Mozete pristupiti sljedecoj etapi.', |
|
| 193 | - 'info_exportation_base' => 'eksportuj baze u @archive@', |
|
| 194 | - 'info_facilite_suivi_activite' => 'U svrhu posmatranja editorijalne aktivnosti stranice, SPIP moze elektronskom postom (npr. mailing listom urednika) proslijedjivati najave zahtijeva za publikaciju i ovjeru clanaka.', # MODIF |
|
| 195 | - 'info_fichiers_authent' => 'Dokument autentifikacije « .htpasswd »', |
|
| 196 | - 'info_forums_abo_invites' => 'Vasa stranica obudhvata i forume za clanove; posjetioci se pozivaju na registraciju u javnom prostoru stanice.', |
|
| 197 | - 'info_gauche_admin_tech' => '<b>Ova strana je dostupna samo osobama odgovornim za web stranicu.</b><p> Ona daje pristup raznim funkcijama tehnickog odrzavanja. Neke od njih pruzaju mogucnost specificne autentifikacije, koja zahtijeva pristup FTP-u web stranice.</p>', # MODIF |
|
| 198 | - 'info_gauche_admin_vider' => '<b>Ova strana je dostupna samo osobama odgovornim za web stranicu.</b><p> Ona daje pristup raznim funkcijama tehnickog odrzavanja. Neke od njih pruzaju mogucnost specificne autentifikacije, koja zahtijeva pristup FTP-u web stranice.</p>', # MODIF |
|
| 199 | - 'info_gauche_auteurs' => 'Ovdje cete pronaci sve autore ove web stranice. Njihov status je naznacen bojom njihove ikone (administrator = zelena; urednik = zuta).', |
|
| 200 | - 'info_gauche_auteurs_exterieurs' => 'Vanjski autori bez pristupa stranici su oznaceni plavom ikonom, a izbrisani autori sa ikonicom korpe za smece.', # MODIF |
|
| 201 | - 'info_gauche_messagerie' => 'Servis za slanje poruka vam omogucuje razmjenu poruka medju piscima, cuvanje biljeske (za licnu upotrebu) ili, ako ste administrator, postavljanje najava na pocetnu stranicu u privatnom prostoru.', |
|
| 202 | - 'info_gauche_statistiques_referers' => 'Ova strana predstavlja listu <i>referenci</i>, sto znaci stranice koje sadrze linkove sa vasom licnom stranicom, ali samo za jucer i danas; ova lista se vraca na nulu svaka 20 sata.', |
|
| 203 | - 'info_gauche_visiteurs_enregistres' => 'Ovdje mozete pronaci posjetioce koji su registrovani na javnoj stranici (forumi za clanove).', |
|
| 204 | - 'info_generation_miniatures_images' => 'Obradjivanje minijaturnih slika', |
|
| 205 | - 'info_hebergeur_desactiver_envoi_email' => 'Neki kompjuteri dezaktiviraju automatsko slanje mailova njihovim serverima. U tom slucaju sljedece funkcije SPIP-a nece biti u uptrebi.', |
|
| 206 | - 'info_hier' => 'Jucer:', |
|
| 207 | - 'info_identification_publique' => 'Vas javni identitet...', |
|
| 208 | - 'info_image_process' => 'Izaberite najbolju metodu pravljenja vinjeta tako sto cete kliknuti na odgovarajucu sliku.', |
|
| 209 | - 'info_images_auto' => 'Automatski izracunate slike', |
|
| 210 | - 'info_informations_personnelles' => 'Peta etapa: <b>Licne informacije</b>', # MODIF |
|
| 211 | - 'info_inscription_automatique' => 'Automatsko upisivanje novih urednika', |
|
| 212 | - 'info_jeu_caractere' => 'Set karaktera stranice', |
|
| 213 | - 'info_jours' => 'dani', |
|
| 214 | - 'info_laisser_champs_vides' => 'ostavi ova polja prazna)', |
|
| 215 | - 'info_langues' => 'Jezici stranice', |
|
| 216 | - 'info_ldap_ok' => 'LDAP autentifikacija je instalirana.', |
|
| 217 | - 'info_lien_hypertexte' => 'Hiperlink:', |
|
| 218 | - 'info_liste_redacteurs_connectes' => 'Lista konektovanih urednika', |
|
| 219 | - 'info_login_existant' => 'Ovaj login vec postoji.', |
|
| 220 | - 'info_login_trop_court' => 'Ovaj login je prekratak.', |
|
| 221 | - 'info_maximum' => 'maksimalno:', |
|
| 222 | - 'info_meme_rubrique' => 'U istoj rubrici', |
|
| 223 | - 'info_message_en_redaction' => 'Vase poruke u toku uredjivanja', |
|
| 224 | - 'info_message_technique' => 'Tehnicka poruka:', |
|
| 225 | - 'info_messagerie_interne' => 'Interni servis za poruke', |
|
| 226 | - 'info_mise_a_niveau_base' => 'nadogradnja vase SQL baze', # MODIF |
|
| 227 | - 'info_mise_a_niveau_base_2' => '\\{\\{Paznja!\\}\\} Instalirali ste verziju SPIP dokumenata, koji su stariji od one koja je vec postojala na stranici: vasa baza podataka je vjerovatno izgubljena i vasa stranica vise nece funkcionisati. <br />\\{\\{Ponovo instalirajte SPIP dokumente\\}\\}', # MODIF |
|
| 228 | - 'info_modifier_rubrique' => 'Izmijeni rubriku:', |
|
| 229 | - 'info_modifier_titre' => 'Izmijeni: @titre@', |
|
| 230 | - 'info_mon_site_spip' => 'Moja SPIP stranica', |
|
| 231 | - 'info_moyenne' => 'prosjek:', |
|
| 232 | - 'info_multi_cet_article' => 'Jezik ovog clanka:', |
|
| 233 | - 'info_multi_langues_choisies' => 'Izaberite jezike koji ce biti na raspolaganju urednicima vase stranice. Jezici koji se vec koriste na vasoj stranici, ne mogu se iskluciti.', |
|
| 234 | - 'info_multi_secteurs' => '... samo za rubrike koje se nalaze na root-u?', |
|
| 235 | - 'info_nom' => 'Ime', |
|
| 236 | - 'info_nom_destinataire' => 'Ime primaoca', |
|
| 237 | - 'info_nom_site' => 'Ime vase stranice', |
|
| 238 | - 'info_nombre_articles' => '@nb_articles@ clanci,', |
|
| 239 | - 'info_nombre_rubriques' => '@nb_rubriques@ rubrike,', |
|
| 240 | - 'info_nombre_sites' => '@nb_sites@ stranice,', |
|
| 241 | - 'info_non_deplacer' => 'Ne premijestati...', |
|
| 242 | - 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP moze regularno poslati najavu posljednjih novosti stranice (recentno objavljeni clanci i kratke poruke).', |
|
| 243 | - 'info_non_envoi_liste_nouveautes' => 'Ne slati listu novosti', |
|
| 244 | - 'info_non_modifiable' => 'Ne moze se modifikovati', |
|
| 245 | - 'info_non_suppression_mot_cle' => 'Ne zelim izbrisati ovu kljucnu rijec.', |
|
| 246 | - 'info_notes' => 'Biljeske', |
|
| 247 | - 'info_nouvel_article' => 'Novi clanak', |
|
| 248 | - 'info_nouvelle_traduction' => 'Novi prevod:', |
|
| 249 | - 'info_numero_article' => 'CLANAK BROJ:', |
|
| 250 | - 'info_obligatoire_02' => '[Obavezno]', # MODIF |
|
| 251 | - 'info_option_accepter_visiteurs' => 'Prihvati upisivanje posjetioca na javnoj stranici', |
|
| 252 | - 'info_option_ne_pas_accepter_visiteurs' => 'Odbij upisivanje posjetioca', |
|
| 253 | - 'info_options_avancees' => 'NAPREDNE OPCIJE', |
|
| 254 | - 'info_ou' => 'ili...', |
|
| 255 | - 'info_page_interdite' => 'Ova strana je zabranjena', |
|
| 256 | - 'info_par_nombre_article' => '(po broju clanaka)', # MODIF |
|
| 257 | - 'info_passe_trop_court' => 'Prekratka lozinka.', |
|
| 258 | - 'info_passes_identiques' => 'Lozinke nisu identicne.', |
|
| 259 | - 'info_plus_cinq_car' => 'vise od pet karaktera', |
|
| 260 | - 'info_plus_cinq_car_2' => '(Vise od pet karaktera)', |
|
| 261 | - 'info_plus_trois_car' => '(Vise od tri karaktera)', |
|
| 262 | - 'info_popularite' => 'popularnosti: @popularite@ ; posjete: @visites@', |
|
| 263 | - 'info_post_scriptum' => 'Post-Scriptum', |
|
| 264 | - 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 265 | - 'info_pour' => 'za', |
|
| 266 | - 'info_preview_texte' => 'Moguce je stranicu pogledati online, kao da su svi clanci i kratke poruke objavljene, ukoliko iste imaju « predlozen » status. Da li ova opcija treba biti otvorena samo administratorima, svim urednicima ili nikome?', # MODIF |
|
| 267 | - 'info_procedez_par_etape' => 'Slijedite etape', |
|
| 268 | - 'info_procedure_maj_version' => 'Potrebno je pokrenuti update, da bi se baza podataka prikljucila novoj verziji SPIP-a.', |
|
| 269 | - 'info_ps' => 'P.S.:', # MODIF |
|
| 270 | - 'info_publier' => 'objavi moje clanke', |
|
| 271 | - 'info_question_accepter_visiteurs' => 'Ako obrasci vase stranice ukljucuju upisivanje posjetioca bez pristupa u privatnu stranicu, aktivirajte sljedecu opciju:', |
|
| 272 | - 'info_question_inscription_nouveaux_redacteurs' => 'Da li prihvatate upisivanje novih urednika u javnom prostoru stranice? Ako prihvatate, posjetioci ce se moci registrovati putem automatskog formulara, a zatim ce moci pristupiti privatnom prostoru i predlagati svoje clanke. <blockquote><i>Tokom faze upisivanja, korisnici ce primiti automatski e-mail sa kodom za pristup u privatnu stranicu. Neki kompjuteri sprecavaju slanje mailova putem njihovih servera: u tom slucaju ce automatsko upisivanje biti nemoguce.', # MODIF |
|
| 273 | - 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', # MODIF |
|
| 274 | - 'info_racine_site' => 'Korjen stranice', |
|
| 275 | - 'info_recharger_page' => 'Restartujte ovu stranicu za nekoliko momenata.', |
|
| 276 | - 'info_recherche_auteur_zero' => 'Nema rezultata za « @cherche_auteur@ ».', |
|
| 277 | - 'info_recommencer' => 'Pocnite ponovo.', |
|
| 278 | - 'info_redacteur_1' => 'Urednik', |
|
| 279 | - 'info_redacteur_2' => 'koji ima/ju pristup privatnoj stranici (<i>recommandé</i>)', |
|
| 280 | - 'info_redacteurs' => 'Urednici', |
|
| 281 | - 'info_redaction_en_cours' => 'U TOKU UREDJIVANJA', |
|
| 282 | - 'info_redirection' => 'Preusmjerenje', |
|
| 283 | - 'info_refuses' => 'Vasi odbijeni clanci', |
|
| 284 | - 'info_reglage_ldap' => 'Opcije: namijestanje LDAP importa</b>', # MODIF |
|
| 285 | - 'info_renvoi_article' => '<b>Preusmjerenje.</b> Ovaj clanak se preusmjerava na stranicu:', # MODIF |
|
| 286 | - 'info_reserve_admin' => 'Samo administratori mogu izmijeniti ovu adresu.', |
|
| 287 | - 'info_restreindre_rubrique' => 'Ograniciti uredjivanje rubrike:', |
|
| 288 | - 'info_resultat_recherche' => 'Rezultati pretrage:', |
|
| 289 | - 'info_rubriques' => 'Rubrike', |
|
| 290 | - 'info_rubriques_02' => 'rubrike', |
|
| 291 | - 'info_rubriques_trouvees' => 'Pronadjene rubrike', |
|
| 292 | - 'info_sans_titre' => 'Bez naslova', |
|
| 293 | - 'info_selection_chemin_acces' => '<b>Izaberite</b> putanju pristupa direktoriju:', |
|
| 294 | - 'info_signatures' => 'potpisi', |
|
| 295 | - 'info_site' => 'Stranica', |
|
| 296 | - 'info_site_2' => 'stranica:', |
|
| 297 | - 'info_site_min' => 'stranica', |
|
| 298 | - 'info_site_reference_2' => 'Preporucena stranica', |
|
| 299 | - 'info_site_web' => 'WEB STRANICA :', # MODIF |
|
| 300 | - 'info_sites' => 'stranice', |
|
| 301 | - 'info_sites_lies_mot' => 'Preporucene stranice koje su vezane za ovu kljucnu rijec', |
|
| 302 | - 'info_sites_proxy' => 'Koristi proxy', |
|
| 303 | - 'info_sites_trouves' => 'Pronadjene stranice', |
|
| 304 | - 'info_sous_titre' => 'Podnaslov:', |
|
| 305 | - 'info_statut_administrateur' => 'Administrator', |
|
| 306 | - 'info_statut_auteur' => 'Status ovog autora:', # MODIF |
|
| 307 | - 'info_statut_redacteur' => 'Urednik', |
|
| 308 | - 'info_statut_utilisateurs_1' => 'Standardni status importovanih korisnika', |
|
| 309 | - 'info_statut_utilisateurs_2' => 'Izaberita koji status ce imati osobe koje su prisutne u LDAP direktoriju, kada se konektuju prvi put. Kasnije ce te biti u mogucnosti da status svakog autora individualno izmijenite.', |
|
| 310 | - 'info_suivi_activite' => 'Pracenje urednicke aktivnosti', |
|
| 311 | - 'info_surtitre' => 'Nadnaslov:', |
|
| 312 | - 'info_taille_maximale_vignette' => 'Maksimalna velicina vinjeta koje uredjuje sistem:', |
|
| 313 | - 'info_terminer_installation' => 'Sada mozete zavrsiti standardnu proceduru instalacije.', |
|
| 314 | - 'info_texte' => 'Tekst', |
|
| 315 | - 'info_texte_explicatif' => 'Eksplikacioni tekst', |
|
| 316 | - 'info_texte_long' => '(Ovaj tekst je dug, a zato je prikazan u vise dijelova, koji ce biti sastavljeni poslije ovjere.)', |
|
| 317 | - 'info_texte_message' => 'Tekst vase poruke:', # MODIF |
|
| 318 | - 'info_texte_message_02' => 'Tekst poruke', |
|
| 319 | - 'info_titre' => 'Naslov:', |
|
| 320 | - 'info_total' => 'total:', |
|
| 321 | - 'info_tous_articles_en_redaction' => 'Svi clanci koji su fazi obradjivanja', |
|
| 322 | - 'info_tous_articles_presents' => 'Svi objavljeni clanci u ovoj rubrici', |
|
| 323 | - 'info_tous_les' => 'svi:', |
|
| 324 | - 'info_tout_site' => 'Citava web stranica', |
|
| 325 | - 'info_tout_site2' => 'Clanak nije preveden na ovaj jezik.', |
|
| 326 | - 'info_tout_site3' => 'Clanak je preveden na ovaj jezik, ali su usvojene izmjene preporucenog clanka. Potrebno je obnoviti prevod.', |
|
| 327 | - 'info_tout_site4' => 'Clanak je preveden na ovaj jezik i prevod je obnovljen.', |
|
| 328 | - 'info_tout_site5' => 'Originalni clanak.', |
|
| 329 | - 'info_tout_site6' => '<b>Paznja:</b> prikazani su samo originalni clanci. |
|
| 95 | + // I |
|
| 96 | + 'ical_info1' => 'Na ovoj strani je predstavljeno nekoliko metoda kako da ostanete u toku sa aktuelnostima ove web stranice.', |
|
| 97 | + 'ical_info2' => 'Za sve informacije o ovim metodama, mozete konsultovati <a href="@spipnet@"> SPIP dokumentaciju </a>.', # MODIF |
|
| 98 | + 'ical_info_calendrier' => 'Na raspolaganju vam stoje dva kalendara. Jedan je plan stranice koji najavljuje sve publicirane artikle. Drugi sadrzi editorijalne najave, kao sto su vase posljednje privatne poruke: On je rezervisan za vas zahvaljujuci licnom kljucu, koji mozete izmijeniti u svakom momentu, dok mijenjate svoju lozinku.', |
|
| 99 | + 'ical_methode_http' => 'Download', |
|
| 100 | + 'ical_methode_webcal' => 'Sinhronizacija (webcal://)', # MODIF |
|
| 101 | + 'ical_texte_prive' => 'Ovaj kalendar, koji je iskljucivo za licnu upotrebu, obavjestava vas o privatnim editorijalnim aktivnostima na ovoj stranici (zadaci i licni sastanci, clanci i objavljene kratke poruke).', |
|
| 102 | + 'ical_texte_rss' => 'Novosti sa ove stranice mozete sindikovati u bilo kojem citacu dokumenata XML/RSS (Rich Site Summary). Takodze, to je format koji dozvoljava SPIP-u da cita novosti objavljene na drugim stranicama, koristeci kompatibilan format za razmjenu (sindikovane stranice).', |
|
| 103 | + 'ical_titre_js' => 'Javascript', |
|
| 104 | + 'ical_titre_mailing' => 'Mailing-lista', |
|
| 105 | + 'ical_titre_rss' => 'Dokumenti « backend »', |
|
| 106 | + 'icone_activer_cookie' => 'Postavi cookie', |
|
| 107 | + 'icone_afficher_auteurs' => 'Prikazi autore', |
|
| 108 | + 'icone_afficher_visiteurs' => 'Prikazi posjetioce', |
|
| 109 | + 'icone_arret_discussion' => 'Zavrsi ucesce u ovoj diskusiji', |
|
| 110 | + 'icone_calendrier' => 'Kalendar', |
|
| 111 | + 'icone_creer_auteur' => 'Kreiraj novog autora i asociraj ga s ovim clankom', |
|
| 112 | + 'icone_creer_mot_cle' => 'Kreiraj novu kljucnu rijec i povezi je sa ovim clankom', |
|
| 113 | + 'icone_creer_rubrique_2' => 'Kreiraj novu rubriku', |
|
| 114 | + 'icone_modifier_article' => 'Izmijeni ovaj clanak', |
|
| 115 | + 'icone_modifier_rubrique' => 'Izmijeni ovu rubriku', |
|
| 116 | + 'icone_retour' => 'Nazad', |
|
| 117 | + 'icone_retour_article' => 'Nazad na clanak', |
|
| 118 | + 'icone_supprimer_cookie' => 'Izbrisi cookie', |
|
| 119 | + 'icone_supprimer_rubrique' => 'Izbrisi ovu rubriku', |
|
| 120 | + 'icone_supprimer_signature' => 'Izbrisi ovaj potpis', |
|
| 121 | + 'icone_valider_signature' => 'Ovjeri ovaj potpis', |
|
| 122 | + 'image_administrer_rubrique' => 'Mozete biti administrator ove rubrike', |
|
| 123 | + 'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF |
|
| 124 | + 'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF |
|
| 125 | + 'info_1_article' => '1. clanak', |
|
| 126 | + 'info_activer_cookie' => 'Mozete aktivirati jedan <b> cookie za administraciu </b>, koji ce vam dozvoliti lak prelaz iz javnog u privati prostor.', |
|
| 127 | + 'info_administrateur' => 'Administrator', |
|
| 128 | + 'info_administrateur_1' => 'Administrator', |
|
| 129 | + 'info_administrateur_2' => 'stranice (<i>pazljiva upotreba</i>)', |
|
| 130 | + 'info_administrateur_site_01' => 'Ako ste administrator stranice', |
|
| 131 | + 'info_administrateur_site_02' => 'kliknite ovaj link', |
|
| 132 | + 'info_administrateurs' => 'Administratori', |
|
| 133 | + 'info_administrer_rubrique' => 'Mozete biti administrator ove rubrike', |
|
| 134 | + 'info_adresse' => 'na adresu:', |
|
| 135 | + 'info_adresse_url' => 'URL adresa stranice za javnost', |
|
| 136 | + 'info_aide_en_ligne' => 'Online pomoc za SPIP', |
|
| 137 | + 'info_ajout_image' => 'Ako clanku dodajete fotografije u formi dokumenta, SPIP moze kreirati vinjete (minijature) dodanih fotografija. To naprimjer dozvoljava automatsko kreiranje galerije ili portfolija.', |
|
| 138 | + 'info_ajouter_rubrique' => 'Dodaj drugu rubriku za administraciju:', |
|
| 139 | + 'info_annonce_nouveautes' => 'Najava novosti', |
|
| 140 | + 'info_article' => 'clanak', |
|
| 141 | + 'info_article_2' => 'clanci', |
|
| 142 | + 'info_article_a_paraitre' => 'Prikazi clanke sa kasnijim datumom', |
|
| 143 | + 'info_articles_02' => 'clanci', |
|
| 144 | + 'info_articles_2' => 'Clanci', |
|
| 145 | + 'info_articles_auteur' => 'Clanci ovog autora', |
|
| 146 | + 'info_articles_trouves' => 'Pronadjeni clanci', |
|
| 147 | + 'info_attente_validation' => 'Vasi clanci koji cekaju ovjeru', |
|
| 148 | + 'info_aujourdhui' => 'danas:', |
|
| 149 | + 'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', # MODIF |
|
| 150 | + 'info_auteurs' => 'Autori', |
|
| 151 | + 'info_auteurs_par_tri' => 'Autori@partri@', |
|
| 152 | + 'info_auteurs_trouves' => 'Pronadjeni autori', |
|
| 153 | + 'info_authentification_externe' => 'Eksterna autentifikacija', |
|
| 154 | + 'info_avertissement' => 'Upozorenje', |
|
| 155 | + 'info_base_installee' => 'Struktura vase baze podatake je instalirana.', |
|
| 156 | + 'info_chapeau' => 'Uvod', |
|
| 157 | + 'info_chapeau_2' => 'Uvod:', |
|
| 158 | + 'info_chemin_acces_1' => 'Opcije: <b>Putanja pristupa u direktorij</b>', # MODIF |
|
| 159 | + 'info_chemin_acces_2' => 'Od sada cete morati konfigurisati putanju pristupa informacijama iz direktorija. Ova informacija je neophodna za citanje profila korisnika koji su pohranjeni u direktoriju.', |
|
| 160 | + 'info_chemin_acces_annuaire' => 'Opcije : <b>Putanja pristupa u direktorij', # MODIF |
|
| 161 | + 'info_choix_base' => 'Treca etapa :', |
|
| 162 | + 'info_classement_1' => '<sup>er</sup> iz @liste@', |
|
| 163 | + 'info_classement_2' => '<sup>e</sup> iz @liste@', |
|
| 164 | + 'info_code_acces' => 'Ne zaboravite vas kod za pristup!', |
|
| 165 | + 'info_config_suivi' => 'Ako ova adresa odgovara mailing listi, ispod mozete naznaciti adresu na koju se ucesnici mogu registrovati. Ta adresa moze biti URL (npr. strana za upisivanje na listu putem web-a), ili e-mail adresa opremljena specificnim subjektom(npr.: <tt>@adresse_suivi@?subject=prijava</tt>):', |
|
| 166 | + 'info_config_suivi_explication' => 'Mozete se prikljuciti mailing-listi ove stranice. Poslije cete u elektronskim putem primiti najave clanaka i kratkih poruka, koje su predlozene za publikaciju', |
|
| 167 | + 'info_confirmer_passe' => 'Potvrdi novu lozinku:', |
|
| 168 | + 'info_connexion_base' => 'Druga etapa: <b>Pokusaj konekcije sa bazom</b>', # MODIF |
|
| 169 | + 'info_connexion_ldap_ok' => 'Uspjesna LDAP konekcija.</b><p> Mozete pristupiti sljedecoj etapi</p>', # MODIF |
|
| 170 | + 'info_connexion_mysql' => 'Prva etapa: <b>Vasa SQL konekcija</b>', # MODIF |
|
| 171 | + 'info_connexion_ok' => 'Uspjesna konekcija.', |
|
| 172 | + 'info_contact' => 'Kontakt', |
|
| 173 | + 'info_contenu_articles' => 'Sadrzaj clanaka', |
|
| 174 | + 'info_creation_paragraphe' => '(Da biste kreirali odlomke, linije ostavite prazne.)', # MODIF |
|
| 175 | + 'info_creation_rubrique' => 'Prije nego mozete pisati clanke,<br /> morate kreirati najmanje jednu rubriku.<br />', # MODIF |
|
| 176 | + 'info_creation_tables' => 'Cetvrta etapa: <b>Kreiranje tabela baze</b>', # MODIF |
|
| 177 | + 'info_creer_base' => '<b>Kreirati</b> novu bazu podataka:', # MODIF |
|
| 178 | + 'info_dans_rubrique' => 'U rubrici:', |
|
| 179 | + 'info_date_publication_anterieure' => 'Datum proslog objavljivanja:', |
|
| 180 | + 'info_date_referencement' => 'DATUM PREPORUKE OVE STRANICE:', |
|
| 181 | + 'info_derniere_etape' => 'Posljednja etapa: <b>Zavrseno je!', # MODIF |
|
| 182 | + 'info_descriptif' => 'Opis:', |
|
| 183 | + 'info_discussion_cours' => 'Aktivne diskusije', |
|
| 184 | + 'info_ecrire_article' => 'Prije nego mozete pisati clanke, morate kreirati najmanje jednu rubriku.', |
|
| 185 | + 'info_email_envoi' => 'E-mail adresa za slanje (fakultativno)', |
|
| 186 | + 'info_email_envoi_txt' => 'Ovdje oznacite adresu za slanje e-mailova (po standardu ce adresa primaoca biti koristena kao adresa za slanje):', |
|
| 187 | + 'info_email_webmestre' => 'E-mail adresa webmastera (fakultativno)', # MODIF |
|
| 188 | + 'info_envoi_email_automatique' => 'Automatsko slanje e-mailova', |
|
| 189 | + 'info_envoyer_maintenant' => 'Posalji sada', |
|
| 190 | + 'info_etape_suivante' => 'Pristupi sljedecoj etapi', |
|
| 191 | + 'info_etape_suivante_1' => 'Mozete pristupiti sljedecoj etapi.', |
|
| 192 | + 'info_etape_suivante_2' => 'Mozete pristupiti sljedecoj etapi.', |
|
| 193 | + 'info_exportation_base' => 'eksportuj baze u @archive@', |
|
| 194 | + 'info_facilite_suivi_activite' => 'U svrhu posmatranja editorijalne aktivnosti stranice, SPIP moze elektronskom postom (npr. mailing listom urednika) proslijedjivati najave zahtijeva za publikaciju i ovjeru clanaka.', # MODIF |
|
| 195 | + 'info_fichiers_authent' => 'Dokument autentifikacije « .htpasswd »', |
|
| 196 | + 'info_forums_abo_invites' => 'Vasa stranica obudhvata i forume za clanove; posjetioci se pozivaju na registraciju u javnom prostoru stanice.', |
|
| 197 | + 'info_gauche_admin_tech' => '<b>Ova strana je dostupna samo osobama odgovornim za web stranicu.</b><p> Ona daje pristup raznim funkcijama tehnickog odrzavanja. Neke od njih pruzaju mogucnost specificne autentifikacije, koja zahtijeva pristup FTP-u web stranice.</p>', # MODIF |
|
| 198 | + 'info_gauche_admin_vider' => '<b>Ova strana je dostupna samo osobama odgovornim za web stranicu.</b><p> Ona daje pristup raznim funkcijama tehnickog odrzavanja. Neke od njih pruzaju mogucnost specificne autentifikacije, koja zahtijeva pristup FTP-u web stranice.</p>', # MODIF |
|
| 199 | + 'info_gauche_auteurs' => 'Ovdje cete pronaci sve autore ove web stranice. Njihov status je naznacen bojom njihove ikone (administrator = zelena; urednik = zuta).', |
|
| 200 | + 'info_gauche_auteurs_exterieurs' => 'Vanjski autori bez pristupa stranici su oznaceni plavom ikonom, a izbrisani autori sa ikonicom korpe za smece.', # MODIF |
|
| 201 | + 'info_gauche_messagerie' => 'Servis za slanje poruka vam omogucuje razmjenu poruka medju piscima, cuvanje biljeske (za licnu upotrebu) ili, ako ste administrator, postavljanje najava na pocetnu stranicu u privatnom prostoru.', |
|
| 202 | + 'info_gauche_statistiques_referers' => 'Ova strana predstavlja listu <i>referenci</i>, sto znaci stranice koje sadrze linkove sa vasom licnom stranicom, ali samo za jucer i danas; ova lista se vraca na nulu svaka 20 sata.', |
|
| 203 | + 'info_gauche_visiteurs_enregistres' => 'Ovdje mozete pronaci posjetioce koji su registrovani na javnoj stranici (forumi za clanove).', |
|
| 204 | + 'info_generation_miniatures_images' => 'Obradjivanje minijaturnih slika', |
|
| 205 | + 'info_hebergeur_desactiver_envoi_email' => 'Neki kompjuteri dezaktiviraju automatsko slanje mailova njihovim serverima. U tom slucaju sljedece funkcije SPIP-a nece biti u uptrebi.', |
|
| 206 | + 'info_hier' => 'Jucer:', |
|
| 207 | + 'info_identification_publique' => 'Vas javni identitet...', |
|
| 208 | + 'info_image_process' => 'Izaberite najbolju metodu pravljenja vinjeta tako sto cete kliknuti na odgovarajucu sliku.', |
|
| 209 | + 'info_images_auto' => 'Automatski izracunate slike', |
|
| 210 | + 'info_informations_personnelles' => 'Peta etapa: <b>Licne informacije</b>', # MODIF |
|
| 211 | + 'info_inscription_automatique' => 'Automatsko upisivanje novih urednika', |
|
| 212 | + 'info_jeu_caractere' => 'Set karaktera stranice', |
|
| 213 | + 'info_jours' => 'dani', |
|
| 214 | + 'info_laisser_champs_vides' => 'ostavi ova polja prazna)', |
|
| 215 | + 'info_langues' => 'Jezici stranice', |
|
| 216 | + 'info_ldap_ok' => 'LDAP autentifikacija je instalirana.', |
|
| 217 | + 'info_lien_hypertexte' => 'Hiperlink:', |
|
| 218 | + 'info_liste_redacteurs_connectes' => 'Lista konektovanih urednika', |
|
| 219 | + 'info_login_existant' => 'Ovaj login vec postoji.', |
|
| 220 | + 'info_login_trop_court' => 'Ovaj login je prekratak.', |
|
| 221 | + 'info_maximum' => 'maksimalno:', |
|
| 222 | + 'info_meme_rubrique' => 'U istoj rubrici', |
|
| 223 | + 'info_message_en_redaction' => 'Vase poruke u toku uredjivanja', |
|
| 224 | + 'info_message_technique' => 'Tehnicka poruka:', |
|
| 225 | + 'info_messagerie_interne' => 'Interni servis za poruke', |
|
| 226 | + 'info_mise_a_niveau_base' => 'nadogradnja vase SQL baze', # MODIF |
|
| 227 | + 'info_mise_a_niveau_base_2' => '\\{\\{Paznja!\\}\\} Instalirali ste verziju SPIP dokumenata, koji su stariji od one koja je vec postojala na stranici: vasa baza podataka je vjerovatno izgubljena i vasa stranica vise nece funkcionisati. <br />\\{\\{Ponovo instalirajte SPIP dokumente\\}\\}', # MODIF |
|
| 228 | + 'info_modifier_rubrique' => 'Izmijeni rubriku:', |
|
| 229 | + 'info_modifier_titre' => 'Izmijeni: @titre@', |
|
| 230 | + 'info_mon_site_spip' => 'Moja SPIP stranica', |
|
| 231 | + 'info_moyenne' => 'prosjek:', |
|
| 232 | + 'info_multi_cet_article' => 'Jezik ovog clanka:', |
|
| 233 | + 'info_multi_langues_choisies' => 'Izaberite jezike koji ce biti na raspolaganju urednicima vase stranice. Jezici koji se vec koriste na vasoj stranici, ne mogu se iskluciti.', |
|
| 234 | + 'info_multi_secteurs' => '... samo za rubrike koje se nalaze na root-u?', |
|
| 235 | + 'info_nom' => 'Ime', |
|
| 236 | + 'info_nom_destinataire' => 'Ime primaoca', |
|
| 237 | + 'info_nom_site' => 'Ime vase stranice', |
|
| 238 | + 'info_nombre_articles' => '@nb_articles@ clanci,', |
|
| 239 | + 'info_nombre_rubriques' => '@nb_rubriques@ rubrike,', |
|
| 240 | + 'info_nombre_sites' => '@nb_sites@ stranice,', |
|
| 241 | + 'info_non_deplacer' => 'Ne premijestati...', |
|
| 242 | + 'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP moze regularno poslati najavu posljednjih novosti stranice (recentno objavljeni clanci i kratke poruke).', |
|
| 243 | + 'info_non_envoi_liste_nouveautes' => 'Ne slati listu novosti', |
|
| 244 | + 'info_non_modifiable' => 'Ne moze se modifikovati', |
|
| 245 | + 'info_non_suppression_mot_cle' => 'Ne zelim izbrisati ovu kljucnu rijec.', |
|
| 246 | + 'info_notes' => 'Biljeske', |
|
| 247 | + 'info_nouvel_article' => 'Novi clanak', |
|
| 248 | + 'info_nouvelle_traduction' => 'Novi prevod:', |
|
| 249 | + 'info_numero_article' => 'CLANAK BROJ:', |
|
| 250 | + 'info_obligatoire_02' => '[Obavezno]', # MODIF |
|
| 251 | + 'info_option_accepter_visiteurs' => 'Prihvati upisivanje posjetioca na javnoj stranici', |
|
| 252 | + 'info_option_ne_pas_accepter_visiteurs' => 'Odbij upisivanje posjetioca', |
|
| 253 | + 'info_options_avancees' => 'NAPREDNE OPCIJE', |
|
| 254 | + 'info_ou' => 'ili...', |
|
| 255 | + 'info_page_interdite' => 'Ova strana je zabranjena', |
|
| 256 | + 'info_par_nombre_article' => '(po broju clanaka)', # MODIF |
|
| 257 | + 'info_passe_trop_court' => 'Prekratka lozinka.', |
|
| 258 | + 'info_passes_identiques' => 'Lozinke nisu identicne.', |
|
| 259 | + 'info_plus_cinq_car' => 'vise od pet karaktera', |
|
| 260 | + 'info_plus_cinq_car_2' => '(Vise od pet karaktera)', |
|
| 261 | + 'info_plus_trois_car' => '(Vise od tri karaktera)', |
|
| 262 | + 'info_popularite' => 'popularnosti: @popularite@ ; posjete: @visites@', |
|
| 263 | + 'info_post_scriptum' => 'Post-Scriptum', |
|
| 264 | + 'info_post_scriptum_2' => 'Post-scriptum :', |
|
| 265 | + 'info_pour' => 'za', |
|
| 266 | + 'info_preview_texte' => 'Moguce je stranicu pogledati online, kao da su svi clanci i kratke poruke objavljene, ukoliko iste imaju « predlozen » status. Da li ova opcija treba biti otvorena samo administratorima, svim urednicima ili nikome?', # MODIF |
|
| 267 | + 'info_procedez_par_etape' => 'Slijedite etape', |
|
| 268 | + 'info_procedure_maj_version' => 'Potrebno je pokrenuti update, da bi se baza podataka prikljucila novoj verziji SPIP-a.', |
|
| 269 | + 'info_ps' => 'P.S.:', # MODIF |
|
| 270 | + 'info_publier' => 'objavi moje clanke', |
|
| 271 | + 'info_question_accepter_visiteurs' => 'Ako obrasci vase stranice ukljucuju upisivanje posjetioca bez pristupa u privatnu stranicu, aktivirajte sljedecu opciju:', |
|
| 272 | + 'info_question_inscription_nouveaux_redacteurs' => 'Da li prihvatate upisivanje novih urednika u javnom prostoru stranice? Ako prihvatate, posjetioci ce se moci registrovati putem automatskog formulara, a zatim ce moci pristupiti privatnom prostoru i predlagati svoje clanke. <blockquote><i>Tokom faze upisivanja, korisnici ce primiti automatski e-mail sa kodom za pristup u privatnu stranicu. Neki kompjuteri sprecavaju slanje mailova putem njihovih servera: u tom slucaju ce automatsko upisivanje biti nemoguce.', # MODIF |
|
| 273 | + 'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', # MODIF |
|
| 274 | + 'info_racine_site' => 'Korjen stranice', |
|
| 275 | + 'info_recharger_page' => 'Restartujte ovu stranicu za nekoliko momenata.', |
|
| 276 | + 'info_recherche_auteur_zero' => 'Nema rezultata za « @cherche_auteur@ ».', |
|
| 277 | + 'info_recommencer' => 'Pocnite ponovo.', |
|
| 278 | + 'info_redacteur_1' => 'Urednik', |
|
| 279 | + 'info_redacteur_2' => 'koji ima/ju pristup privatnoj stranici (<i>recommandé</i>)', |
|
| 280 | + 'info_redacteurs' => 'Urednici', |
|
| 281 | + 'info_redaction_en_cours' => 'U TOKU UREDJIVANJA', |
|
| 282 | + 'info_redirection' => 'Preusmjerenje', |
|
| 283 | + 'info_refuses' => 'Vasi odbijeni clanci', |
|
| 284 | + 'info_reglage_ldap' => 'Opcije: namijestanje LDAP importa</b>', # MODIF |
|
| 285 | + 'info_renvoi_article' => '<b>Preusmjerenje.</b> Ovaj clanak se preusmjerava na stranicu:', # MODIF |
|
| 286 | + 'info_reserve_admin' => 'Samo administratori mogu izmijeniti ovu adresu.', |
|
| 287 | + 'info_restreindre_rubrique' => 'Ograniciti uredjivanje rubrike:', |
|
| 288 | + 'info_resultat_recherche' => 'Rezultati pretrage:', |
|
| 289 | + 'info_rubriques' => 'Rubrike', |
|
| 290 | + 'info_rubriques_02' => 'rubrike', |
|
| 291 | + 'info_rubriques_trouvees' => 'Pronadjene rubrike', |
|
| 292 | + 'info_sans_titre' => 'Bez naslova', |
|
| 293 | + 'info_selection_chemin_acces' => '<b>Izaberite</b> putanju pristupa direktoriju:', |
|
| 294 | + 'info_signatures' => 'potpisi', |
|
| 295 | + 'info_site' => 'Stranica', |
|
| 296 | + 'info_site_2' => 'stranica:', |
|
| 297 | + 'info_site_min' => 'stranica', |
|
| 298 | + 'info_site_reference_2' => 'Preporucena stranica', |
|
| 299 | + 'info_site_web' => 'WEB STRANICA :', # MODIF |
|
| 300 | + 'info_sites' => 'stranice', |
|
| 301 | + 'info_sites_lies_mot' => 'Preporucene stranice koje su vezane za ovu kljucnu rijec', |
|
| 302 | + 'info_sites_proxy' => 'Koristi proxy', |
|
| 303 | + 'info_sites_trouves' => 'Pronadjene stranice', |
|
| 304 | + 'info_sous_titre' => 'Podnaslov:', |
|
| 305 | + 'info_statut_administrateur' => 'Administrator', |
|
| 306 | + 'info_statut_auteur' => 'Status ovog autora:', # MODIF |
|
| 307 | + 'info_statut_redacteur' => 'Urednik', |
|
| 308 | + 'info_statut_utilisateurs_1' => 'Standardni status importovanih korisnika', |
|
| 309 | + 'info_statut_utilisateurs_2' => 'Izaberita koji status ce imati osobe koje su prisutne u LDAP direktoriju, kada se konektuju prvi put. Kasnije ce te biti u mogucnosti da status svakog autora individualno izmijenite.', |
|
| 310 | + 'info_suivi_activite' => 'Pracenje urednicke aktivnosti', |
|
| 311 | + 'info_surtitre' => 'Nadnaslov:', |
|
| 312 | + 'info_taille_maximale_vignette' => 'Maksimalna velicina vinjeta koje uredjuje sistem:', |
|
| 313 | + 'info_terminer_installation' => 'Sada mozete zavrsiti standardnu proceduru instalacije.', |
|
| 314 | + 'info_texte' => 'Tekst', |
|
| 315 | + 'info_texte_explicatif' => 'Eksplikacioni tekst', |
|
| 316 | + 'info_texte_long' => '(Ovaj tekst je dug, a zato je prikazan u vise dijelova, koji ce biti sastavljeni poslije ovjere.)', |
|
| 317 | + 'info_texte_message' => 'Tekst vase poruke:', # MODIF |
|
| 318 | + 'info_texte_message_02' => 'Tekst poruke', |
|
| 319 | + 'info_titre' => 'Naslov:', |
|
| 320 | + 'info_total' => 'total:', |
|
| 321 | + 'info_tous_articles_en_redaction' => 'Svi clanci koji su fazi obradjivanja', |
|
| 322 | + 'info_tous_articles_presents' => 'Svi objavljeni clanci u ovoj rubrici', |
|
| 323 | + 'info_tous_les' => 'svi:', |
|
| 324 | + 'info_tout_site' => 'Citava web stranica', |
|
| 325 | + 'info_tout_site2' => 'Clanak nije preveden na ovaj jezik.', |
|
| 326 | + 'info_tout_site3' => 'Clanak je preveden na ovaj jezik, ali su usvojene izmjene preporucenog clanka. Potrebno je obnoviti prevod.', |
|
| 327 | + 'info_tout_site4' => 'Clanak je preveden na ovaj jezik i prevod je obnovljen.', |
|
| 328 | + 'info_tout_site5' => 'Originalni clanak.', |
|
| 329 | + 'info_tout_site6' => '<b>Paznja:</b> prikazani su samo originalni clanci. |
|
| 330 | 330 | Prevodi su (sa bojom koja ukazuje na njihovo stanje) povezani sa originalnim clankom:', |
| 331 | - 'info_travail_colaboratif' => 'Saradnicki rad na clancima', |
|
| 332 | - 'info_un_article' => 'clanak,', |
|
| 333 | - 'info_un_site' => 'jedna stranica,', |
|
| 334 | - 'info_une_rubrique' => 'jedna rubrika,', |
|
| 335 | - 'info_une_rubrique_02' => '1 rubrika', |
|
| 336 | - 'info_url' => 'URL:', |
|
| 337 | - 'info_urlref' => 'Hiperlink:', |
|
| 338 | - 'info_utilisation_spip' => 'Mozete poceti sa koristenjem sistema za asistirano objavljivanje...', |
|
| 339 | - 'info_visites_par_mois' => 'Prikazi po mjesecu:', |
|
| 340 | - 'info_visiteur_1' => 'posjetioc', |
|
| 341 | - 'info_visiteur_2' => 'javne stranice', |
|
| 342 | - 'info_visiteurs' => 'posjetioci', |
|
| 343 | - 'info_visiteurs_02' => 'Posjetioci javne stranice', |
|
| 344 | - 'install_echec_annonce' => 'Instalacija vjerovatno nece uspjeti, ili ce rezultirati nefunkcionirajucom stranicom...', |
|
| 345 | - 'install_extension_mbstring' => 'SPIP ne funkcionise sa:', |
|
| 346 | - 'install_extension_php_obligatoire' => 'SPIP-u je potrebna php ekstenzija:', |
|
| 347 | - 'install_select_langue' => 'Izaberite jezik, a zatim kliknite na dugme « sljedece » da bi pokrenuli proces instalacije.', |
|
| 348 | - 'intem_redacteur' => 'urednik', |
|
| 349 | - 'item_accepter_inscriptions' => 'Prihvati upise', |
|
| 350 | - 'item_activer_messages_avertissement' => 'Aktiviraj poruke upozorenja', |
|
| 351 | - 'item_administrateur_2' => 'administrator', |
|
| 352 | - 'item_afficher_calendrier' => 'Prikazati u kalendaru', |
|
| 353 | - 'item_choix_administrateurs' => 'administratori', |
|
| 354 | - 'item_choix_generation_miniature' => 'Automatski uredi minijature slika.', |
|
| 355 | - 'item_choix_non_generation_miniature' => 'Ne uredjuj minijature slika.', |
|
| 356 | - 'item_choix_redacteurs' => 'urednici', |
|
| 357 | - 'item_choix_visiteurs' => 'posjetioci javne stranice', |
|
| 358 | - 'item_creer_fichiers_authent' => 'kreiraj dokumente .htpasswd', |
|
| 359 | - 'item_login' => 'Login', |
|
| 360 | - 'item_mots_cles_association_articles' => 'za clanke', |
|
| 361 | - 'item_mots_cles_association_rubriques' => 'za rubrike', |
|
| 362 | - 'item_mots_cles_association_sites' => 'Za preporucene ili sindikovane stranice.', |
|
| 363 | - 'item_non' => 'Ne', |
|
| 364 | - 'item_non_accepter_inscriptions' => 'Ne dozvoljavaj upise', |
|
| 365 | - 'item_non_activer_messages_avertissement' => 'Bez poruka upozorenja', |
|
| 366 | - 'item_non_afficher_calendrier' => 'Ne prikazuj u kalendaru', |
|
| 367 | - 'item_non_creer_fichiers_authent' => 'Ne kreiraj ove dokumente', |
|
| 368 | - 'item_non_publier_articles' => 'Ne objavljuj clanke poslije datuma odredjenog za publikaciju.', |
|
| 369 | - 'item_nouvel_auteur' => 'Novi autor', |
|
| 370 | - 'item_nouvelle_rubrique' => 'Nova rubrika', |
|
| 371 | - 'item_oui' => 'Da', |
|
| 372 | - 'item_publier_articles' => 'Objavi clanke bez obzira na datum odredjen za njihovu publikaciju.', |
|
| 373 | - 'item_reponse_article' => 'Odgovor na clanak', |
|
| 374 | - 'item_visiteur' => 'posjetioc', |
|
| 331 | + 'info_travail_colaboratif' => 'Saradnicki rad na clancima', |
|
| 332 | + 'info_un_article' => 'clanak,', |
|
| 333 | + 'info_un_site' => 'jedna stranica,', |
|
| 334 | + 'info_une_rubrique' => 'jedna rubrika,', |
|
| 335 | + 'info_une_rubrique_02' => '1 rubrika', |
|
| 336 | + 'info_url' => 'URL:', |
|
| 337 | + 'info_urlref' => 'Hiperlink:', |
|
| 338 | + 'info_utilisation_spip' => 'Mozete poceti sa koristenjem sistema za asistirano objavljivanje...', |
|
| 339 | + 'info_visites_par_mois' => 'Prikazi po mjesecu:', |
|
| 340 | + 'info_visiteur_1' => 'posjetioc', |
|
| 341 | + 'info_visiteur_2' => 'javne stranice', |
|
| 342 | + 'info_visiteurs' => 'posjetioci', |
|
| 343 | + 'info_visiteurs_02' => 'Posjetioci javne stranice', |
|
| 344 | + 'install_echec_annonce' => 'Instalacija vjerovatno nece uspjeti, ili ce rezultirati nefunkcionirajucom stranicom...', |
|
| 345 | + 'install_extension_mbstring' => 'SPIP ne funkcionise sa:', |
|
| 346 | + 'install_extension_php_obligatoire' => 'SPIP-u je potrebna php ekstenzija:', |
|
| 347 | + 'install_select_langue' => 'Izaberite jezik, a zatim kliknite na dugme « sljedece » da bi pokrenuli proces instalacije.', |
|
| 348 | + 'intem_redacteur' => 'urednik', |
|
| 349 | + 'item_accepter_inscriptions' => 'Prihvati upise', |
|
| 350 | + 'item_activer_messages_avertissement' => 'Aktiviraj poruke upozorenja', |
|
| 351 | + 'item_administrateur_2' => 'administrator', |
|
| 352 | + 'item_afficher_calendrier' => 'Prikazati u kalendaru', |
|
| 353 | + 'item_choix_administrateurs' => 'administratori', |
|
| 354 | + 'item_choix_generation_miniature' => 'Automatski uredi minijature slika.', |
|
| 355 | + 'item_choix_non_generation_miniature' => 'Ne uredjuj minijature slika.', |
|
| 356 | + 'item_choix_redacteurs' => 'urednici', |
|
| 357 | + 'item_choix_visiteurs' => 'posjetioci javne stranice', |
|
| 358 | + 'item_creer_fichiers_authent' => 'kreiraj dokumente .htpasswd', |
|
| 359 | + 'item_login' => 'Login', |
|
| 360 | + 'item_mots_cles_association_articles' => 'za clanke', |
|
| 361 | + 'item_mots_cles_association_rubriques' => 'za rubrike', |
|
| 362 | + 'item_mots_cles_association_sites' => 'Za preporucene ili sindikovane stranice.', |
|
| 363 | + 'item_non' => 'Ne', |
|
| 364 | + 'item_non_accepter_inscriptions' => 'Ne dozvoljavaj upise', |
|
| 365 | + 'item_non_activer_messages_avertissement' => 'Bez poruka upozorenja', |
|
| 366 | + 'item_non_afficher_calendrier' => 'Ne prikazuj u kalendaru', |
|
| 367 | + 'item_non_creer_fichiers_authent' => 'Ne kreiraj ove dokumente', |
|
| 368 | + 'item_non_publier_articles' => 'Ne objavljuj clanke poslije datuma odredjenog za publikaciju.', |
|
| 369 | + 'item_nouvel_auteur' => 'Novi autor', |
|
| 370 | + 'item_nouvelle_rubrique' => 'Nova rubrika', |
|
| 371 | + 'item_oui' => 'Da', |
|
| 372 | + 'item_publier_articles' => 'Objavi clanke bez obzira na datum odredjen za njihovu publikaciju.', |
|
| 373 | + 'item_reponse_article' => 'Odgovor na clanak', |
|
| 374 | + 'item_visiteur' => 'posjetioc', |
|
| 375 | 375 | |
| 376 | - // J |
|
| 377 | - 'jour_non_connu_nc' => 'nepoznato', |
|
| 376 | + // J |
|
| 377 | + 'jour_non_connu_nc' => 'nepoznato', |
|
| 378 | 378 | |
| 379 | - // L |
|
| 380 | - 'lien_ajouter_auteur' => 'Dodaj ovog autora', |
|
| 381 | - 'lien_email' => 'e-mail', |
|
| 382 | - 'lien_nom_site' => 'IME STRANICE:', |
|
| 383 | - 'lien_retirer_auteur' => 'Odstrani autora', |
|
| 384 | - 'lien_site' => 'stranica', |
|
| 385 | - 'lien_tout_deplier' => 'Sve otvoriti', |
|
| 386 | - 'lien_tout_replier' => 'Sve zatvoriti', |
|
| 387 | - 'lien_trier_nom' => 'Poredaj po imenu', |
|
| 388 | - 'lien_trier_nombre_articles' => 'Poredaj po broju clanaka', |
|
| 389 | - 'lien_trier_statut' => 'Poredaj po statusu', |
|
| 390 | - 'lien_voir_en_ligne' => 'POGLEDAJ ONLINE:', |
|
| 391 | - 'logo_article' => 'LOGOTIP CLANKA', # MODIF |
|
| 392 | - 'logo_auteur' => 'LOGOTIP AUTORA', # MODIF |
|
| 393 | - 'logo_rubrique' => 'LOGOTIP RUBRIKE', # MODIF |
|
| 394 | - 'logo_site' => 'LOGOTIP STRANICE', # MODIF |
|
| 395 | - 'logo_standard_rubrique' => 'STANDARDNI LOGOTIP ZA RUBRIKE', # MODIF |
|
| 396 | - 'logo_survol' => 'HOVERING LOGO', # MODIF |
|
| 379 | + // L |
|
| 380 | + 'lien_ajouter_auteur' => 'Dodaj ovog autora', |
|
| 381 | + 'lien_email' => 'e-mail', |
|
| 382 | + 'lien_nom_site' => 'IME STRANICE:', |
|
| 383 | + 'lien_retirer_auteur' => 'Odstrani autora', |
|
| 384 | + 'lien_site' => 'stranica', |
|
| 385 | + 'lien_tout_deplier' => 'Sve otvoriti', |
|
| 386 | + 'lien_tout_replier' => 'Sve zatvoriti', |
|
| 387 | + 'lien_trier_nom' => 'Poredaj po imenu', |
|
| 388 | + 'lien_trier_nombre_articles' => 'Poredaj po broju clanaka', |
|
| 389 | + 'lien_trier_statut' => 'Poredaj po statusu', |
|
| 390 | + 'lien_voir_en_ligne' => 'POGLEDAJ ONLINE:', |
|
| 391 | + 'logo_article' => 'LOGOTIP CLANKA', # MODIF |
|
| 392 | + 'logo_auteur' => 'LOGOTIP AUTORA', # MODIF |
|
| 393 | + 'logo_rubrique' => 'LOGOTIP RUBRIKE', # MODIF |
|
| 394 | + 'logo_site' => 'LOGOTIP STRANICE', # MODIF |
|
| 395 | + 'logo_standard_rubrique' => 'STANDARDNI LOGOTIP ZA RUBRIKE', # MODIF |
|
| 396 | + 'logo_survol' => 'HOVERING LOGO', # MODIF |
|
| 397 | 397 | |
| 398 | - // M |
|
| 399 | - 'menu_aide_installation_choix_base' => 'Biranje vase baze', |
|
| 400 | - 'module_fichier_langue' => 'Jezicni dokument', |
|
| 401 | - 'module_raccourci' => 'Precica', |
|
| 402 | - 'module_texte_affiche' => 'Prikazani tekst', |
|
| 403 | - 'module_texte_explicatif' => 'Mozete dodati sljedece precice u obrasce vase javne stranice. One ce biti automatski prevedene u razne jezike, za koje postoje jezicni dokumenti.', |
|
| 404 | - 'module_texte_traduction' => 'Jezicni dokument « @module@ » je na raspolaganju u:', |
|
| 405 | - 'mois_non_connu' => 'nepoznato', |
|
| 398 | + // M |
|
| 399 | + 'menu_aide_installation_choix_base' => 'Biranje vase baze', |
|
| 400 | + 'module_fichier_langue' => 'Jezicni dokument', |
|
| 401 | + 'module_raccourci' => 'Precica', |
|
| 402 | + 'module_texte_affiche' => 'Prikazani tekst', |
|
| 403 | + 'module_texte_explicatif' => 'Mozete dodati sljedece precice u obrasce vase javne stranice. One ce biti automatski prevedene u razne jezike, za koje postoje jezicni dokumenti.', |
|
| 404 | + 'module_texte_traduction' => 'Jezicni dokument « @module@ » je na raspolaganju u:', |
|
| 405 | + 'mois_non_connu' => 'nepoznato', |
|
| 406 | 406 | |
| 407 | - // O |
|
| 408 | - 'onglet_repartition_actuelle' => 'Aktuelno', |
|
| 407 | + // O |
|
| 408 | + 'onglet_repartition_actuelle' => 'Aktuelno', |
|
| 409 | 409 | |
| 410 | - // P |
|
| 411 | - 'plugin_etat_developpement' => 'u razvoju', |
|
| 412 | - 'plugin_etat_experimental' => 'experimentalno', |
|
| 413 | - 'plugin_etat_stable' => 'stabilno', |
|
| 414 | - 'plugin_etat_test' => 'testira se', |
|
| 415 | - 'plugins_liste' => 'Plugin lista', |
|
| 410 | + // P |
|
| 411 | + 'plugin_etat_developpement' => 'u razvoju', |
|
| 412 | + 'plugin_etat_experimental' => 'experimentalno', |
|
| 413 | + 'plugin_etat_stable' => 'stabilno', |
|
| 414 | + 'plugin_etat_test' => 'testira se', |
|
| 415 | + 'plugins_liste' => 'Plugin lista', |
|
| 416 | 416 | |
| 417 | - // R |
|
| 418 | - 'repertoire_plugins' => 'Directorij:', |
|
| 419 | - 'required' => '[Obavezno]', # MODIF |
|
| 417 | + // R |
|
| 418 | + 'repertoire_plugins' => 'Directorij:', |
|
| 419 | + 'required' => '[Obavezno]', # MODIF |
|
| 420 | 420 | |
| 421 | - // S |
|
| 422 | - 'statut_admin_restreint' => '(ograniceni admin)', # MODIF |
|
| 421 | + // S |
|
| 422 | + 'statut_admin_restreint' => '(ograniceni admin)', # MODIF |
|
| 423 | 423 | |
| 424 | - // T |
|
| 425 | - 'taille_cache_image' => 'Slike koje SPIP automatski izracunava (vinjete dokumenata, naslove predstavljene u grafickoj formi, matematicke funkcije u TeX formatu ...) zauzimaju u @dir@ repertoaru total od @taille@.', |
|
| 426 | - 'taille_cache_octets' => 'Aktuelna velicina kesa je @octets@.', # MODIF |
|
| 427 | - 'taille_cache_vide' => 'Kes je prazan.', |
|
| 428 | - 'taille_repertoire_cache' => 'Aktuelna velicina kesa', |
|
| 429 | - 'text_article_propose_publication' => 'Clanak predlozen za objavljivanje. Ne oklijevajte da date vase misljenje u forumu dodanom ovom clanku (na dnu ove strane).', # MODIF |
|
| 430 | - 'texte_acces_ldap_anonyme_1' => 'Neki LDAP serveri ne prihvataju ni jedan anonimni pristup. U tom slucaju je potrebno odrediti identifikatora za inicijalni pristup, da bi zatim postojala mogucnost pretrage informacija u direktoriju. U vecini slucajeva, sljedeca polja mogu ostati prazna', |
|
| 431 | - 'texte_admin_effacer_01' => 'Ova komanda ce izbrisati <i>sav</i> sadrzaj baze podataka, ukljucujuci <i>sve</i> pristupe urednika i administratora. Prije nego je pokrenete, trebate pokrenuti reinstalaciju pristupa SPIP-u da biste kreirali novu bazu, kao i prvi pristup administratora.', |
|
| 432 | - 'texte_adresse_annuaire_1' => '(Ako je vas direktorij instaliran na istoj masini kao ova web stranica, vjerovatno se radi o localhost-u.)', |
|
| 433 | - 'texte_ajout_auteur' => 'Sljedeci autor je dodan clanku:', |
|
| 434 | - 'texte_annuaire_ldap_1' => 'Ako imate pristup jednom (LDAP) direktoriju, mozete ga koristiti za automatsko importovanje korisnika u SPIP.', |
|
| 435 | - 'texte_article_statut' => 'Ovaj clanak je:', |
|
| 436 | - 'texte_article_virtuel' => 'Virtuelni clanak', |
|
| 437 | - 'texte_article_virtuel_reference' => '<b>Virtuelni clanak:</b> clanak je preporucen na vasoj SPIP stranici, ali apreusmjeren na drugi URL. Da bi ste sprijecili preusmjeravanje, izbrisite nize prikazani URL.', |
|
| 438 | - 'texte_aucun_resultat_auteur' => 'Nema rezultata za"@cherche_auteur@"', |
|
| 439 | - 'texte_auteur_messagerie' => 'Ova stranica vam moze permanentno ukazivati na listu konektovanih urednika, sto vam omogucuje online razmjenu poruka. Mozete odluciti da se ne pojavljujete na ovoj listi (nevidljivi ste za druge korisnike).', |
|
| 440 | - 'texte_auteurs' => 'AUTORI', |
|
| 441 | - 'texte_choix_base_1' => 'Izaberite vasu bazu:', |
|
| 442 | - 'texte_choix_base_2' => 'SQL server sadrzi vise baza podataka.', # MODIF |
|
| 443 | - 'texte_choix_base_3' => '<b>Izaberite</b> Ispod one koja vam je dodjeljena od vaseg kompjutera:', # MODIF |
|
| 444 | - 'texte_compte_element' => '@count@ element', |
|
| 445 | - 'texte_compte_elements' => '@count@ elementi', |
|
| 446 | - 'texte_connexion_mysql' => 'Provjerite informacije koje ste dobili od vaseg kompjutera: Trebate pronaci da li vas kompjuter podrzava SQL i kodove za konekciju na SQL server.', # MODIF |
|
| 447 | - 'texte_contenu_article' => '(Sadrzaj clanka u nekoliko rijeci.)', |
|
| 448 | - 'texte_contenu_articles' => 'Prema rasporedu koji je prihvacen za vasu stranicu, mozete odluciti da se neki elementi clanaka ne koriste. Koristite se sa nize prikazanom listom i naznacite koji su elementi dostupni.', |
|
| 449 | - 'texte_crash_base' => 'Ako je vasa baza podataka pala, mozete pokusati automatsku popravku.', |
|
| 450 | - 'texte_creer_rubrique' => 'Prije pisanja clanaka,<br /> trebate kreirati rubriku.', # MODIF |
|
| 451 | - 'texte_date_creation_article' => 'DATUM NASTANKA CLANKA:', |
|
| 452 | - 'texte_date_publication_anterieure' => 'Datum proslog uredjivanja:', |
|
| 453 | - 'texte_date_publication_anterieure_nonaffichee' => 'Ne prikazuj datum proslog uredjivanja.', |
|
| 454 | - 'texte_date_publication_article' => 'DATUM OBJAVLJIVANJA:', |
|
| 455 | - 'texte_descriptif_rapide' => 'Brzi opis', |
|
| 456 | - 'texte_effacer_base' => 'Izbrisati SPIP bazu podataka', |
|
| 457 | - 'texte_en_cours_validation' => 'Dole navedeni clanci i kratke poruke su predlozene za publikaciju. Vase misljenje mozete iznijeti u njima prikljucenim forumima.', # MODIF |
|
| 458 | - 'texte_enrichir_mise_a_jour' => 'Mozete obogatiti izgled vaseg teksta na stranici, koristeci se « tipogrfskim precicama ».', |
|
| 459 | - 'texte_fichier_authent' => '<b>Treba li SPIP kreirati specijalne dokumente <tt>.htpasswd</tt> i <tt>.htpasswd-admin</tt> u repertoaru @dossier@ ?</b><p> Ti dokumenti vam omogucuju zabranu pristupa autorima i administratorima na drugim mjestima vase stranice (npr. eksterni program za statistike).</p><p> Ako od ovoga nemate nikakve koristi, mozete ostaviti standardnu vrijednost za ovu opciju (nema kreacije dokumenata).</p>', # MODIF |
|
| 460 | - 'texte_informations_personnelles_1' => 'Sistem ce sada kreirati personalizovan pistup stranici.', |
|
| 461 | - 'texte_informations_personnelles_2' => '(Napomena: ako se radi o reinstalaciji i ako vas pristup uvijek funkcionise, mozete', # MODIF |
|
| 462 | - 'texte_introductif_article' => '(Uvodni tekst u clanak.)', |
|
| 463 | - 'texte_jeu_caractere' => 'Ova opcija je korisna ako vasa stranica treba postavljati tekstove sa alfabetom (ukljucujuci njegove derivate) koji nije romanski (ili « okcidentalni »). U tom slucaju je pozeljno promijeniti standardnu postavku u odgovarajuci set karaktera; u svakum slucaju vam savjetujemo da napravite testove i pronadjete zadovoljavajuce rijesenje. Ako izmlijenite ovaj parametar, ne zaboravite javnu stranicu prilagoditi izmjenama (balise <tt>#CHARSET</tt>).', |
|
| 464 | - 'texte_login_ldap_1' => '(Ostaviti prazno za anonimni pristup ili unjeti kompletnu putanju, npr. « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 465 | - 'texte_login_precaution' => 'Paznja! Ovo je login kojim ste trenutno konektovani. Pazljivo se koristite ovim formularom...', |
|
| 466 | - 'texte_mise_a_niveau_base_1' => 'Upravo ste obnovili SPIP dokumente. Sada je potrebna nadogrdnja baze podataka.', |
|
| 467 | - 'texte_modifier_article' => 'Izmijeni clanak:', |
|
| 468 | - 'texte_multilinguisme' => 'Ako zelita obradjivati clanke na vise jezika, sa kompleksnom navigacijom, u organizaciju vase stranice mozete dodati meni za odabir jezika u clancima i/ili rubrikama.', # MODIF |
|
| 469 | - 'texte_multilinguisme_trad' => 'Svakako mozete aktivirati sistem sa obradjivanje linkova izmedju razlicitih prevoda clanaka.', # MODIF |
|
| 470 | - 'texte_non_compresse' => '<i>nije kompresovan</i> (vas server ne podrzava ovu funkciju)', |
|
| 471 | - 'texte_nouvelle_version_spip_1' => 'Instalirali ste novu verziju SPIP-a.', |
|
| 472 | - 'texte_nouvelle_version_spip_2' => 'Ovoj verziji je potrebno obnavljanje kompletnije od uobicajenog. Ako ste webmaster stranice, izbrisite dokument <tt>inc_connect.php3</tt> iz repertoara <tt>ecrire</tt> i ponovo otpocnite instalaciju da biste obnovili parametre konekcije sa bazom podataka.<p> (Napomena: ako ste zaboravili parametre vase konekcije pogledajte dokument <tt>inc_connect.php3</tt> prije nego ga izbrisete...)</p>', # MODIF |
|
| 473 | - 'texte_operation_echec' => 'Vratite se na prethodnu stranu, izaberite drugu bazu ili napravite novu. Provjerite podatke koje vam je dao vas kompjuter.', |
|
| 474 | - 'texte_plus_trois_car' => 'vise od tri karaktera', |
|
| 475 | - 'texte_plusieurs_articles' => 'Pronadjeno vise autora za "@cherche_auteur@":', |
|
| 476 | - 'texte_port_annuaire' => '(Naznacena standardna vrijednost odgovara u vecini slucajeva.)', |
|
| 477 | - 'texte_proposer_publication' => 'Kada zavrsite vas clanak,<br /> mozete predloziti njegovo objavljivanje.', # MODIF |
|
| 478 | - 'texte_proxy' => 'U odredjenim slucajevima (intranet, zasticene mreze...), koristenje <i>proxy HTTP</i> moze biti neophodno za dostizanje sindikovanih stranica. Ako je potrebno, naznacite adresu u sljedecoj formi <tt><html>http://proxy:8080</html></tt>. U vecini slucajeva, ovo polje mozete ostaviti prazno.', # MODIF |
|
| 479 | - 'texte_publication_articles_post_dates' => 'Kako se SPIP treba ponasati prema clancima ciji je datum objavljivanja odredjen za buducnost? ', |
|
| 480 | - 'texte_rappel_selection_champs' => '[Ne zaboravite ispravno izabrati ovo polje.]', |
|
| 481 | - 'texte_recalcul_page' => 'Ako zelite preracunati samo jednu stranu, predjite u javni prostor i koristite « preracunati ».', |
|
| 482 | - 'texte_recuperer_base' => 'Popravi bazu podataka', |
|
| 483 | - 'texte_reference_mais_redirige' => 'clanak je preporucen u vasoj SPIP stranici, ali je preusmjeren na drugi URL.', |
|
| 484 | - 'texte_requetes_echouent' => '<b>Ako odredzeni SQL zahtijevi sistematski i bez ociglednog razloga ne uspijevaju, moguce je da je problem u samoj bazi podataka.</b><p> SQL raspolaze mogucnosti popravljanja njegovih tabela, ako su one slucajno ostecene. Ovdje mozete isprobati popravku; u slucaju neuspijeha, sacuvajte kopiju prikaza na monitoru, koja mozda sadrzi naznake problema...</p><p> Ako se problem nastavi, kontaktirajte vas hosting servis.</p>', # MODIF |
|
| 485 | - 'texte_selection_langue_principale' => 'Mozete izabrati « glavni jezik » stranice. Taj izbor vas (na srecu!) ne obavezuje na pisanje clanaka na tom jeziku, ali dozvoljava odredjivanje: |
|
| 424 | + // T |
|
| 425 | + 'taille_cache_image' => 'Slike koje SPIP automatski izracunava (vinjete dokumenata, naslove predstavljene u grafickoj formi, matematicke funkcije u TeX formatu ...) zauzimaju u @dir@ repertoaru total od @taille@.', |
|
| 426 | + 'taille_cache_octets' => 'Aktuelna velicina kesa je @octets@.', # MODIF |
|
| 427 | + 'taille_cache_vide' => 'Kes je prazan.', |
|
| 428 | + 'taille_repertoire_cache' => 'Aktuelna velicina kesa', |
|
| 429 | + 'text_article_propose_publication' => 'Clanak predlozen za objavljivanje. Ne oklijevajte da date vase misljenje u forumu dodanom ovom clanku (na dnu ove strane).', # MODIF |
|
| 430 | + 'texte_acces_ldap_anonyme_1' => 'Neki LDAP serveri ne prihvataju ni jedan anonimni pristup. U tom slucaju je potrebno odrediti identifikatora za inicijalni pristup, da bi zatim postojala mogucnost pretrage informacija u direktoriju. U vecini slucajeva, sljedeca polja mogu ostati prazna', |
|
| 431 | + 'texte_admin_effacer_01' => 'Ova komanda ce izbrisati <i>sav</i> sadrzaj baze podataka, ukljucujuci <i>sve</i> pristupe urednika i administratora. Prije nego je pokrenete, trebate pokrenuti reinstalaciju pristupa SPIP-u da biste kreirali novu bazu, kao i prvi pristup administratora.', |
|
| 432 | + 'texte_adresse_annuaire_1' => '(Ako je vas direktorij instaliran na istoj masini kao ova web stranica, vjerovatno se radi o localhost-u.)', |
|
| 433 | + 'texte_ajout_auteur' => 'Sljedeci autor je dodan clanku:', |
|
| 434 | + 'texte_annuaire_ldap_1' => 'Ako imate pristup jednom (LDAP) direktoriju, mozete ga koristiti za automatsko importovanje korisnika u SPIP.', |
|
| 435 | + 'texte_article_statut' => 'Ovaj clanak je:', |
|
| 436 | + 'texte_article_virtuel' => 'Virtuelni clanak', |
|
| 437 | + 'texte_article_virtuel_reference' => '<b>Virtuelni clanak:</b> clanak je preporucen na vasoj SPIP stranici, ali apreusmjeren na drugi URL. Da bi ste sprijecili preusmjeravanje, izbrisite nize prikazani URL.', |
|
| 438 | + 'texte_aucun_resultat_auteur' => 'Nema rezultata za"@cherche_auteur@"', |
|
| 439 | + 'texte_auteur_messagerie' => 'Ova stranica vam moze permanentno ukazivati na listu konektovanih urednika, sto vam omogucuje online razmjenu poruka. Mozete odluciti da se ne pojavljujete na ovoj listi (nevidljivi ste za druge korisnike).', |
|
| 440 | + 'texte_auteurs' => 'AUTORI', |
|
| 441 | + 'texte_choix_base_1' => 'Izaberite vasu bazu:', |
|
| 442 | + 'texte_choix_base_2' => 'SQL server sadrzi vise baza podataka.', # MODIF |
|
| 443 | + 'texte_choix_base_3' => '<b>Izaberite</b> Ispod one koja vam je dodjeljena od vaseg kompjutera:', # MODIF |
|
| 444 | + 'texte_compte_element' => '@count@ element', |
|
| 445 | + 'texte_compte_elements' => '@count@ elementi', |
|
| 446 | + 'texte_connexion_mysql' => 'Provjerite informacije koje ste dobili od vaseg kompjutera: Trebate pronaci da li vas kompjuter podrzava SQL i kodove za konekciju na SQL server.', # MODIF |
|
| 447 | + 'texte_contenu_article' => '(Sadrzaj clanka u nekoliko rijeci.)', |
|
| 448 | + 'texte_contenu_articles' => 'Prema rasporedu koji je prihvacen za vasu stranicu, mozete odluciti da se neki elementi clanaka ne koriste. Koristite se sa nize prikazanom listom i naznacite koji su elementi dostupni.', |
|
| 449 | + 'texte_crash_base' => 'Ako je vasa baza podataka pala, mozete pokusati automatsku popravku.', |
|
| 450 | + 'texte_creer_rubrique' => 'Prije pisanja clanaka,<br /> trebate kreirati rubriku.', # MODIF |
|
| 451 | + 'texte_date_creation_article' => 'DATUM NASTANKA CLANKA:', |
|
| 452 | + 'texte_date_publication_anterieure' => 'Datum proslog uredjivanja:', |
|
| 453 | + 'texte_date_publication_anterieure_nonaffichee' => 'Ne prikazuj datum proslog uredjivanja.', |
|
| 454 | + 'texte_date_publication_article' => 'DATUM OBJAVLJIVANJA:', |
|
| 455 | + 'texte_descriptif_rapide' => 'Brzi opis', |
|
| 456 | + 'texte_effacer_base' => 'Izbrisati SPIP bazu podataka', |
|
| 457 | + 'texte_en_cours_validation' => 'Dole navedeni clanci i kratke poruke su predlozene za publikaciju. Vase misljenje mozete iznijeti u njima prikljucenim forumima.', # MODIF |
|
| 458 | + 'texte_enrichir_mise_a_jour' => 'Mozete obogatiti izgled vaseg teksta na stranici, koristeci se « tipogrfskim precicama ».', |
|
| 459 | + 'texte_fichier_authent' => '<b>Treba li SPIP kreirati specijalne dokumente <tt>.htpasswd</tt> i <tt>.htpasswd-admin</tt> u repertoaru @dossier@ ?</b><p> Ti dokumenti vam omogucuju zabranu pristupa autorima i administratorima na drugim mjestima vase stranice (npr. eksterni program za statistike).</p><p> Ako od ovoga nemate nikakve koristi, mozete ostaviti standardnu vrijednost za ovu opciju (nema kreacije dokumenata).</p>', # MODIF |
|
| 460 | + 'texte_informations_personnelles_1' => 'Sistem ce sada kreirati personalizovan pistup stranici.', |
|
| 461 | + 'texte_informations_personnelles_2' => '(Napomena: ako se radi o reinstalaciji i ako vas pristup uvijek funkcionise, mozete', # MODIF |
|
| 462 | + 'texte_introductif_article' => '(Uvodni tekst u clanak.)', |
|
| 463 | + 'texte_jeu_caractere' => 'Ova opcija je korisna ako vasa stranica treba postavljati tekstove sa alfabetom (ukljucujuci njegove derivate) koji nije romanski (ili « okcidentalni »). U tom slucaju je pozeljno promijeniti standardnu postavku u odgovarajuci set karaktera; u svakum slucaju vam savjetujemo da napravite testove i pronadjete zadovoljavajuce rijesenje. Ako izmlijenite ovaj parametar, ne zaboravite javnu stranicu prilagoditi izmjenama (balise <tt>#CHARSET</tt>).', |
|
| 464 | + 'texte_login_ldap_1' => '(Ostaviti prazno za anonimni pristup ili unjeti kompletnu putanju, npr. « <tt>uid=dupont, ou=users, dc=mon-domaine, dc=com</tt> ».)', |
|
| 465 | + 'texte_login_precaution' => 'Paznja! Ovo je login kojim ste trenutno konektovani. Pazljivo se koristite ovim formularom...', |
|
| 466 | + 'texte_mise_a_niveau_base_1' => 'Upravo ste obnovili SPIP dokumente. Sada je potrebna nadogrdnja baze podataka.', |
|
| 467 | + 'texte_modifier_article' => 'Izmijeni clanak:', |
|
| 468 | + 'texte_multilinguisme' => 'Ako zelita obradjivati clanke na vise jezika, sa kompleksnom navigacijom, u organizaciju vase stranice mozete dodati meni za odabir jezika u clancima i/ili rubrikama.', # MODIF |
|
| 469 | + 'texte_multilinguisme_trad' => 'Svakako mozete aktivirati sistem sa obradjivanje linkova izmedju razlicitih prevoda clanaka.', # MODIF |
|
| 470 | + 'texte_non_compresse' => '<i>nije kompresovan</i> (vas server ne podrzava ovu funkciju)', |
|
| 471 | + 'texte_nouvelle_version_spip_1' => 'Instalirali ste novu verziju SPIP-a.', |
|
| 472 | + 'texte_nouvelle_version_spip_2' => 'Ovoj verziji je potrebno obnavljanje kompletnije od uobicajenog. Ako ste webmaster stranice, izbrisite dokument <tt>inc_connect.php3</tt> iz repertoara <tt>ecrire</tt> i ponovo otpocnite instalaciju da biste obnovili parametre konekcije sa bazom podataka.<p> (Napomena: ako ste zaboravili parametre vase konekcije pogledajte dokument <tt>inc_connect.php3</tt> prije nego ga izbrisete...)</p>', # MODIF |
|
| 473 | + 'texte_operation_echec' => 'Vratite se na prethodnu stranu, izaberite drugu bazu ili napravite novu. Provjerite podatke koje vam je dao vas kompjuter.', |
|
| 474 | + 'texte_plus_trois_car' => 'vise od tri karaktera', |
|
| 475 | + 'texte_plusieurs_articles' => 'Pronadjeno vise autora za "@cherche_auteur@":', |
|
| 476 | + 'texte_port_annuaire' => '(Naznacena standardna vrijednost odgovara u vecini slucajeva.)', |
|
| 477 | + 'texte_proposer_publication' => 'Kada zavrsite vas clanak,<br /> mozete predloziti njegovo objavljivanje.', # MODIF |
|
| 478 | + 'texte_proxy' => 'U odredjenim slucajevima (intranet, zasticene mreze...), koristenje <i>proxy HTTP</i> moze biti neophodno za dostizanje sindikovanih stranica. Ako je potrebno, naznacite adresu u sljedecoj formi <tt><html>http://proxy:8080</html></tt>. U vecini slucajeva, ovo polje mozete ostaviti prazno.', # MODIF |
|
| 479 | + 'texte_publication_articles_post_dates' => 'Kako se SPIP treba ponasati prema clancima ciji je datum objavljivanja odredjen za buducnost? ', |
|
| 480 | + 'texte_rappel_selection_champs' => '[Ne zaboravite ispravno izabrati ovo polje.]', |
|
| 481 | + 'texte_recalcul_page' => 'Ako zelite preracunati samo jednu stranu, predjite u javni prostor i koristite « preracunati ».', |
|
| 482 | + 'texte_recuperer_base' => 'Popravi bazu podataka', |
|
| 483 | + 'texte_reference_mais_redirige' => 'clanak je preporucen u vasoj SPIP stranici, ali je preusmjeren na drugi URL.', |
|
| 484 | + 'texte_requetes_echouent' => '<b>Ako odredzeni SQL zahtijevi sistematski i bez ociglednog razloga ne uspijevaju, moguce je da je problem u samoj bazi podataka.</b><p> SQL raspolaze mogucnosti popravljanja njegovih tabela, ako su one slucajno ostecene. Ovdje mozete isprobati popravku; u slucaju neuspijeha, sacuvajte kopiju prikaza na monitoru, koja mozda sadrzi naznake problema...</p><p> Ako se problem nastavi, kontaktirajte vas hosting servis.</p>', # MODIF |
|
| 485 | + 'texte_selection_langue_principale' => 'Mozete izabrati « glavni jezik » stranice. Taj izbor vas (na srecu!) ne obavezuje na pisanje clanaka na tom jeziku, ali dozvoljava odredjivanje: |
|
| 486 | 486 | \\tab <ul><li> standardni format datuma na javnoj stranici;</li> |
| 487 | 487 | \\tab <li> prirodu tipografskog motora koj ce SPIP koristriti za izradu tekstova;</li> |
| 488 | 488 | \\tab <li> jezik koji ce se koristiti u formularima javne stranice;</li> |
| 489 | 489 | \\tab <li> standardni jezik, prisutan na privatnoj stranici.</li></ul>', |
| 490 | - 'texte_sous_titre' => 'Podnaslov', |
|
| 491 | - 'texte_statistiques_visites' => '(tamne trake: nedjelja / tamna kriva: prosjecni nivo)', |
|
| 492 | - 'texte_statut_attente_validation' => 'na cekanju za ovjeru', |
|
| 493 | - 'texte_statut_publies' => 'objavljeni', |
|
| 494 | - 'texte_statut_refuses' => 'odbijeni', |
|
| 495 | - 'texte_suppression_fichiers' => 'Koristite se ovom komandom da biste sve prisutne dokumente u SPIP kes. To omogucuje npr. izazivanje preracunavanja svih strana, u slucaju da ste izveli vazne izmjene grafizma ili strukture stranice.', |
|
| 496 | - 'texte_sur_titre' => 'Nadnaslov', |
|
| 497 | - 'texte_table_ok' => ':ova tabela je OK.', |
|
| 498 | - 'texte_tentative_recuperation' => 'Pokusaj popravke', |
|
| 499 | - 'texte_tenter_reparation' => 'Pokusati popravljanje baze podataka', |
|
| 500 | - 'texte_test_proxy' => 'Da bi ste probali ovaj proxy, ovdje naznacite adresu (web stranice) koju zelite testirati.', |
|
| 501 | - 'texte_titre_02' => 'Naslov:', |
|
| 502 | - 'texte_titre_obligatoire' => '<b>Naslov</b> [Obavezan]', # MODIF |
|
| 503 | - 'texte_travail_article' => '@nom_auteur_modif@ ostaje @date_diff@ minuta za rad na ovom clanku', |
|
| 504 | - 'texte_travail_collaboratif' => 'Ako je uobicajeno da vise urednika radi na istom clanku, sistem moze postavljati posljednje « otvarane » clanke, da bi se izbjegle simultane izmjene. Ova opcija je standardno iskljucena, da bi se izbjeglo postavljanje neodgovarajucih poruka upozorenja.', |
|
| 505 | - 'texte_vide' => 'prazno', |
|
| 506 | - 'texte_vider_cache' => 'Isprazniti kes', |
|
| 507 | - 'titre_admin_tech' => 'Tehnicko odrzavanje', |
|
| 508 | - 'titre_admin_vider' => 'Tehnicko odrzavanje', |
|
| 509 | - 'titre_cadre_afficher_article' => 'Prikazi clanke', |
|
| 510 | - 'titre_cadre_afficher_traductions' => 'Prikazi stanje prevoda za sljedece jezike:', |
|
| 511 | - 'titre_cadre_ajouter_auteur' => 'DODATI AUTORA:', |
|
| 512 | - 'titre_cadre_interieur_rubrique' => 'U unutrasnjosti rubrike', |
|
| 513 | - 'titre_cadre_numero_auteur' => 'AUTOR BROJ', |
|
| 514 | - 'titre_cadre_signature_obligatoire' => '<b>Potpis</b> [Obavezno]<br />', # MODIF |
|
| 515 | - 'titre_config_fonctions' => 'Konfiguracija stranice', |
|
| 516 | - 'titre_configuration' => 'Konfiguracija stranice', |
|
| 517 | - 'titre_connexion_ldap' => 'Opcije: <b>Vasa LDAP konekcija</b>', |
|
| 518 | - 'titre_groupe_mots' => 'GRUPA RIJECI:', |
|
| 519 | - 'titre_langue_article' => 'JEZIK CLANKA', # MODIF |
|
| 520 | - 'titre_langue_rubrique' => 'JEZIK RUBRIKE', # MODIF |
|
| 521 | - 'titre_langue_trad_article' => 'JEZIK I PREVOD CLANKA', |
|
| 522 | - 'titre_les_articles' => 'CLANCI', |
|
| 523 | - 'titre_naviguer_dans_le_site' => 'Navigacija stranicom...', |
|
| 524 | - 'titre_nouvelle_rubrique' => 'Nova rubrika', |
|
| 525 | - 'titre_numero_rubrique' => 'RUBRIKA BROJ:', |
|
| 526 | - 'titre_page_articles_edit' => 'Izmjeni: @titre@', |
|
| 527 | - 'titre_page_articles_page' => 'Clanci', |
|
| 528 | - 'titre_page_articles_tous' => 'Cijela stranica', |
|
| 529 | - 'titre_page_calendrier' => 'Kalendar @nom_mois@ @annee@', |
|
| 530 | - 'titre_page_config_contenu' => 'Konfiguracija stranice', |
|
| 531 | - 'titre_page_delete_all' => 'cjelokupno i nepovratno otklanjanje', |
|
| 532 | - 'titre_page_recherche' => 'Rezultati pretrage @recherche@', |
|
| 533 | - 'titre_page_statistiques_referers' => 'Statistike (linkovi unosenja)', |
|
| 534 | - 'titre_page_upgrade' => 'Postavljanje SPIP-a na aktuelni nivo', |
|
| 535 | - 'titre_publication_articles_post_dates' => 'Objavljivanje clanaka sa kasnijim datumom', |
|
| 536 | - 'titre_reparation' => 'Popravka', |
|
| 537 | - 'titre_suivi_petition' => 'Pracenje peticija', |
|
| 538 | - 'trad_article_traduction' => 'Sve verzije ovog clanka:', |
|
| 539 | - 'trad_delier' => 'Ne vezati vise ovaj clanak za ove prevode', # MODIF |
|
| 540 | - 'trad_lier' => 'Ovaj clanak je prevod clanka broj:', |
|
| 541 | - 'trad_new' => 'Napisati novi prevod ovog clanka' # MODIF |
|
| 490 | + 'texte_sous_titre' => 'Podnaslov', |
|
| 491 | + 'texte_statistiques_visites' => '(tamne trake: nedjelja / tamna kriva: prosjecni nivo)', |
|
| 492 | + 'texte_statut_attente_validation' => 'na cekanju za ovjeru', |
|
| 493 | + 'texte_statut_publies' => 'objavljeni', |
|
| 494 | + 'texte_statut_refuses' => 'odbijeni', |
|
| 495 | + 'texte_suppression_fichiers' => 'Koristite se ovom komandom da biste sve prisutne dokumente u SPIP kes. To omogucuje npr. izazivanje preracunavanja svih strana, u slucaju da ste izveli vazne izmjene grafizma ili strukture stranice.', |
|
| 496 | + 'texte_sur_titre' => 'Nadnaslov', |
|
| 497 | + 'texte_table_ok' => ':ova tabela je OK.', |
|
| 498 | + 'texte_tentative_recuperation' => 'Pokusaj popravke', |
|
| 499 | + 'texte_tenter_reparation' => 'Pokusati popravljanje baze podataka', |
|
| 500 | + 'texte_test_proxy' => 'Da bi ste probali ovaj proxy, ovdje naznacite adresu (web stranice) koju zelite testirati.', |
|
| 501 | + 'texte_titre_02' => 'Naslov:', |
|
| 502 | + 'texte_titre_obligatoire' => '<b>Naslov</b> [Obavezan]', # MODIF |
|
| 503 | + 'texte_travail_article' => '@nom_auteur_modif@ ostaje @date_diff@ minuta za rad na ovom clanku', |
|
| 504 | + 'texte_travail_collaboratif' => 'Ako je uobicajeno da vise urednika radi na istom clanku, sistem moze postavljati posljednje « otvarane » clanke, da bi se izbjegle simultane izmjene. Ova opcija je standardno iskljucena, da bi se izbjeglo postavljanje neodgovarajucih poruka upozorenja.', |
|
| 505 | + 'texte_vide' => 'prazno', |
|
| 506 | + 'texte_vider_cache' => 'Isprazniti kes', |
|
| 507 | + 'titre_admin_tech' => 'Tehnicko odrzavanje', |
|
| 508 | + 'titre_admin_vider' => 'Tehnicko odrzavanje', |
|
| 509 | + 'titre_cadre_afficher_article' => 'Prikazi clanke', |
|
| 510 | + 'titre_cadre_afficher_traductions' => 'Prikazi stanje prevoda za sljedece jezike:', |
|
| 511 | + 'titre_cadre_ajouter_auteur' => 'DODATI AUTORA:', |
|
| 512 | + 'titre_cadre_interieur_rubrique' => 'U unutrasnjosti rubrike', |
|
| 513 | + 'titre_cadre_numero_auteur' => 'AUTOR BROJ', |
|
| 514 | + 'titre_cadre_signature_obligatoire' => '<b>Potpis</b> [Obavezno]<br />', # MODIF |
|
| 515 | + 'titre_config_fonctions' => 'Konfiguracija stranice', |
|
| 516 | + 'titre_configuration' => 'Konfiguracija stranice', |
|
| 517 | + 'titre_connexion_ldap' => 'Opcije: <b>Vasa LDAP konekcija</b>', |
|
| 518 | + 'titre_groupe_mots' => 'GRUPA RIJECI:', |
|
| 519 | + 'titre_langue_article' => 'JEZIK CLANKA', # MODIF |
|
| 520 | + 'titre_langue_rubrique' => 'JEZIK RUBRIKE', # MODIF |
|
| 521 | + 'titre_langue_trad_article' => 'JEZIK I PREVOD CLANKA', |
|
| 522 | + 'titre_les_articles' => 'CLANCI', |
|
| 523 | + 'titre_naviguer_dans_le_site' => 'Navigacija stranicom...', |
|
| 524 | + 'titre_nouvelle_rubrique' => 'Nova rubrika', |
|
| 525 | + 'titre_numero_rubrique' => 'RUBRIKA BROJ:', |
|
| 526 | + 'titre_page_articles_edit' => 'Izmjeni: @titre@', |
|
| 527 | + 'titre_page_articles_page' => 'Clanci', |
|
| 528 | + 'titre_page_articles_tous' => 'Cijela stranica', |
|
| 529 | + 'titre_page_calendrier' => 'Kalendar @nom_mois@ @annee@', |
|
| 530 | + 'titre_page_config_contenu' => 'Konfiguracija stranice', |
|
| 531 | + 'titre_page_delete_all' => 'cjelokupno i nepovratno otklanjanje', |
|
| 532 | + 'titre_page_recherche' => 'Rezultati pretrage @recherche@', |
|
| 533 | + 'titre_page_statistiques_referers' => 'Statistike (linkovi unosenja)', |
|
| 534 | + 'titre_page_upgrade' => 'Postavljanje SPIP-a na aktuelni nivo', |
|
| 535 | + 'titre_publication_articles_post_dates' => 'Objavljivanje clanaka sa kasnijim datumom', |
|
| 536 | + 'titre_reparation' => 'Popravka', |
|
| 537 | + 'titre_suivi_petition' => 'Pracenje peticija', |
|
| 538 | + 'trad_article_traduction' => 'Sve verzije ovog clanka:', |
|
| 539 | + 'trad_delier' => 'Ne vezati vise ovaj clanak za ove prevode', # MODIF |
|
| 540 | + 'trad_lier' => 'Ovaj clanak je prevod clanka broj:', |
|
| 541 | + 'trad_new' => 'Napisati novi prevod ovog clanka' # MODIF |
|
| 542 | 542 | ); |
@@ -10,210 +10,210 @@ |
||
| 10 | 10 | \***************************************************************************/ |
| 11 | 11 | |
| 12 | 12 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 13 | - return; |
|
| 13 | + return; |
|
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | include_spip('inc/install'); |
| 17 | 17 | |
| 18 | 18 | function formulaires_declarer_bases_charger_dist() { |
| 19 | 19 | |
| 20 | - if (!autoriser('detruire')) { |
|
| 21 | - return false; |
|
| 22 | - } |
|
| 23 | - |
|
| 24 | - [$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT); |
|
| 25 | - |
|
| 26 | - $deja = bases_referencees(_FILE_CONNECT); |
|
| 27 | - // proposer un nom de connect si pas encore saisi |
|
| 28 | - $nom_connect = ''; |
|
| 29 | - if (defined('_DECLARER_CHOIX_DB')) { |
|
| 30 | - $nom_connect = _DECLARER_CHOIX_DB; |
|
| 31 | - $n = ''; |
|
| 32 | - while (in_array($nom_connect . $n, $deja)) { |
|
| 33 | - $n = ($n ? $n + 1 : 1); |
|
| 34 | - } |
|
| 35 | - $nom_connect .= $n; |
|
| 36 | - } |
|
| 37 | - |
|
| 38 | - return [ |
|
| 39 | - '_etapes' => 3, |
|
| 40 | - '_bases_deja' => $deja, |
|
| 41 | - '_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '', |
|
| 42 | - '_tables' => (defined('_DECLARER_SERVEUR_DB') && defined('_DECLARER_CHOIX_DB')) ? |
|
| 43 | - $tables = sql_alltable('%', _DECLARER_SERVEUR_DB) |
|
| 44 | - : |
|
| 45 | - [], |
|
| 46 | - 'main_db' => '', |
|
| 47 | - '_serveurs' => liste_serveurs(), |
|
| 48 | - 'sql_serveur_db' => 'sqlite3', // valeur par defaut |
|
| 49 | - 'adresse_db' => $adresse_db, |
|
| 50 | - 'login_db' => '', |
|
| 51 | - 'pass_db' => '', |
|
| 52 | - 'choix_db' => '', |
|
| 53 | - 'table_new' => '', |
|
| 54 | - 'nom_connect' => $nom_connect, |
|
| 55 | - ]; |
|
| 20 | + if (!autoriser('detruire')) { |
|
| 21 | + return false; |
|
| 22 | + } |
|
| 23 | + |
|
| 24 | + [$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT); |
|
| 25 | + |
|
| 26 | + $deja = bases_referencees(_FILE_CONNECT); |
|
| 27 | + // proposer un nom de connect si pas encore saisi |
|
| 28 | + $nom_connect = ''; |
|
| 29 | + if (defined('_DECLARER_CHOIX_DB')) { |
|
| 30 | + $nom_connect = _DECLARER_CHOIX_DB; |
|
| 31 | + $n = ''; |
|
| 32 | + while (in_array($nom_connect . $n, $deja)) { |
|
| 33 | + $n = ($n ? $n + 1 : 1); |
|
| 34 | + } |
|
| 35 | + $nom_connect .= $n; |
|
| 36 | + } |
|
| 37 | + |
|
| 38 | + return [ |
|
| 39 | + '_etapes' => 3, |
|
| 40 | + '_bases_deja' => $deja, |
|
| 41 | + '_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '', |
|
| 42 | + '_tables' => (defined('_DECLARER_SERVEUR_DB') && defined('_DECLARER_CHOIX_DB')) ? |
|
| 43 | + $tables = sql_alltable('%', _DECLARER_SERVEUR_DB) |
|
| 44 | + : |
|
| 45 | + [], |
|
| 46 | + 'main_db' => '', |
|
| 47 | + '_serveurs' => liste_serveurs(), |
|
| 48 | + 'sql_serveur_db' => 'sqlite3', // valeur par defaut |
|
| 49 | + 'adresse_db' => $adresse_db, |
|
| 50 | + 'login_db' => '', |
|
| 51 | + 'pass_db' => '', |
|
| 52 | + 'choix_db' => '', |
|
| 53 | + 'table_new' => '', |
|
| 54 | + 'nom_connect' => $nom_connect, |
|
| 55 | + ]; |
|
| 56 | 56 | } |
| 57 | 57 | |
| 58 | 58 | function liste_serveurs() { |
| 59 | - $options = []; |
|
| 60 | - $dir = _DIR_RESTREINT . 'req/'; |
|
| 61 | - $d = opendir($dir); |
|
| 62 | - if (!$d) { |
|
| 63 | - return []; |
|
| 64 | - } |
|
| 65 | - while ($f = readdir($d)) { |
|
| 66 | - if ( |
|
| 67 | - preg_match('/^(.*)[.]php$/', $f, $s) |
|
| 68 | - && is_readable($f = $dir . $f) |
|
| 69 | - ) { |
|
| 70 | - require_once($f); |
|
| 71 | - $s = $s[1]; |
|
| 72 | - $v = 'spip_versions_' . $s; |
|
| 73 | - if (function_exists($v) && $v()) { |
|
| 74 | - $options[$s] = "install_select_type_$s"; |
|
| 75 | - } else { |
|
| 76 | - spip_log("$s: portage indisponible"); |
|
| 77 | - } |
|
| 78 | - } |
|
| 79 | - } |
|
| 80 | - ksort($options); |
|
| 81 | - |
|
| 82 | - return $options; |
|
| 59 | + $options = []; |
|
| 60 | + $dir = _DIR_RESTREINT . 'req/'; |
|
| 61 | + $d = opendir($dir); |
|
| 62 | + if (!$d) { |
|
| 63 | + return []; |
|
| 64 | + } |
|
| 65 | + while ($f = readdir($d)) { |
|
| 66 | + if ( |
|
| 67 | + preg_match('/^(.*)[.]php$/', $f, $s) |
|
| 68 | + && is_readable($f = $dir . $f) |
|
| 69 | + ) { |
|
| 70 | + require_once($f); |
|
| 71 | + $s = $s[1]; |
|
| 72 | + $v = 'spip_versions_' . $s; |
|
| 73 | + if (function_exists($v) && $v()) { |
|
| 74 | + $options[$s] = "install_select_type_$s"; |
|
| 75 | + } else { |
|
| 76 | + spip_log("$s: portage indisponible"); |
|
| 77 | + } |
|
| 78 | + } |
|
| 79 | + } |
|
| 80 | + ksort($options); |
|
| 81 | + |
|
| 82 | + return $options; |
|
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | function liste_bases($server_db) { |
| 86 | - if ( |
|
| 87 | - is_null($server_db) |
|
| 88 | - || !$result = sql_listdbs($server_db) |
|
| 89 | - ) { |
|
| 90 | - return ''; |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - $noms = []; |
|
| 94 | - |
|
| 95 | - // si sqlite : result est deja un tableau |
|
| 96 | - if (is_array($result)) { |
|
| 97 | - $noms = $result; |
|
| 98 | - } else { |
|
| 99 | - while ($row = sql_fetch($result, $server_db)) { |
|
| 100 | - $noms[] = reset($row); |
|
| 101 | - } |
|
| 102 | - } |
|
| 103 | - |
|
| 104 | - return $noms; |
|
| 86 | + if ( |
|
| 87 | + is_null($server_db) |
|
| 88 | + || !$result = sql_listdbs($server_db) |
|
| 89 | + ) { |
|
| 90 | + return ''; |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + $noms = []; |
|
| 94 | + |
|
| 95 | + // si sqlite : result est deja un tableau |
|
| 96 | + if (is_array($result)) { |
|
| 97 | + $noms = $result; |
|
| 98 | + } else { |
|
| 99 | + while ($row = sql_fetch($result, $server_db)) { |
|
| 100 | + $noms[] = reset($row); |
|
| 101 | + } |
|
| 102 | + } |
|
| 103 | + |
|
| 104 | + return $noms; |
|
| 105 | 105 | } |
| 106 | 106 | |
| 107 | 107 | function formulaires_declarer_bases_verifier_1_dist() { |
| 108 | - $erreurs = []; |
|
| 109 | - [$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT); |
|
| 110 | - |
|
| 111 | - if (!$adresse_db = _request('adresse_db')) { |
|
| 112 | - $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : $def_adresse_db; |
|
| 113 | - } |
|
| 114 | - if (!$serveur_db = _request('sql_serveur_db')) { |
|
| 115 | - $serveur_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : $def_serveur_db; |
|
| 116 | - } |
|
| 117 | - |
|
| 118 | - $login_db = $pass_db = ''; |
|
| 119 | - if (!preg_match(',^sqlite,i', (string) $serveur_db)) { |
|
| 120 | - if (!$login_db = _request('login_db')) { |
|
| 121 | - $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : $def_login_db; |
|
| 122 | - } |
|
| 123 | - if (!$pass_db = _request('pass_db')) { |
|
| 124 | - $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : $def_pass_db; |
|
| 125 | - } |
|
| 126 | - } |
|
| 127 | - |
|
| 128 | - $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db); |
|
| 129 | - if ($link) { |
|
| 130 | - $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']]; |
|
| 131 | - $GLOBALS['connexions'][$serveur_db] = $link; |
|
| 132 | - define('_DECLARER_SERVEUR_DB', $serveur_db); |
|
| 133 | - define('_DECLARER_ADRESSE_DB', $adresse_db); |
|
| 134 | - define('_DECLARER_LOGIN_DB', $login_db); |
|
| 135 | - define('_DECLARER_PASS_DB', $pass_db); |
|
| 136 | - // si on est sur le meme serveur que connect.php |
|
| 137 | - // indiquer quelle est la db utilisee pour l'exclure des choix possibles |
|
| 138 | - if ($serveur_db == $def_serveur_db && $adresse_db == $def_adresse_db) { |
|
| 139 | - set_request('main_db', $sel_db); |
|
| 140 | - } else { |
|
| 141 | - set_request('main_db', ''); |
|
| 142 | - } |
|
| 143 | - } else { |
|
| 144 | - $erreurs['message_erreur'] = _T('avis_connexion_echec_1'); |
|
| 145 | - } |
|
| 146 | - |
|
| 147 | - return $erreurs; |
|
| 108 | + $erreurs = []; |
|
| 109 | + [$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT); |
|
| 110 | + |
|
| 111 | + if (!$adresse_db = _request('adresse_db')) { |
|
| 112 | + $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : $def_adresse_db; |
|
| 113 | + } |
|
| 114 | + if (!$serveur_db = _request('sql_serveur_db')) { |
|
| 115 | + $serveur_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : $def_serveur_db; |
|
| 116 | + } |
|
| 117 | + |
|
| 118 | + $login_db = $pass_db = ''; |
|
| 119 | + if (!preg_match(',^sqlite,i', (string) $serveur_db)) { |
|
| 120 | + if (!$login_db = _request('login_db')) { |
|
| 121 | + $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : $def_login_db; |
|
| 122 | + } |
|
| 123 | + if (!$pass_db = _request('pass_db')) { |
|
| 124 | + $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : $def_pass_db; |
|
| 125 | + } |
|
| 126 | + } |
|
| 127 | + |
|
| 128 | + $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db); |
|
| 129 | + if ($link) { |
|
| 130 | + $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']]; |
|
| 131 | + $GLOBALS['connexions'][$serveur_db] = $link; |
|
| 132 | + define('_DECLARER_SERVEUR_DB', $serveur_db); |
|
| 133 | + define('_DECLARER_ADRESSE_DB', $adresse_db); |
|
| 134 | + define('_DECLARER_LOGIN_DB', $login_db); |
|
| 135 | + define('_DECLARER_PASS_DB', $pass_db); |
|
| 136 | + // si on est sur le meme serveur que connect.php |
|
| 137 | + // indiquer quelle est la db utilisee pour l'exclure des choix possibles |
|
| 138 | + if ($serveur_db == $def_serveur_db && $adresse_db == $def_adresse_db) { |
|
| 139 | + set_request('main_db', $sel_db); |
|
| 140 | + } else { |
|
| 141 | + set_request('main_db', ''); |
|
| 142 | + } |
|
| 143 | + } else { |
|
| 144 | + $erreurs['message_erreur'] = _T('avis_connexion_echec_1'); |
|
| 145 | + } |
|
| 146 | + |
|
| 147 | + return $erreurs; |
|
| 148 | 148 | } |
| 149 | 149 | |
| 150 | 150 | function formulaires_declarer_bases_verifier_2_dist() { |
| 151 | - $erreurs = []; |
|
| 152 | - $choix_db = _request('choix_db'); |
|
| 153 | - if ($choix_db == '-1') { |
|
| 154 | - $choix_db = _request('table_new'); |
|
| 155 | - } |
|
| 156 | - if (!$choix_db) { |
|
| 157 | - $erreurs['choix_db'] = _T('info_obligatoire'); |
|
| 158 | - } else { |
|
| 159 | - define('_ECRIRE_INSTALL', 1); // hackons sqlite |
|
| 160 | - if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) { |
|
| 161 | - $erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]); |
|
| 162 | - } else { |
|
| 163 | - define('_DECLARER_CHOIX_DB', $choix_db); |
|
| 164 | - } |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - return $erreurs; |
|
| 151 | + $erreurs = []; |
|
| 152 | + $choix_db = _request('choix_db'); |
|
| 153 | + if ($choix_db == '-1') { |
|
| 154 | + $choix_db = _request('table_new'); |
|
| 155 | + } |
|
| 156 | + if (!$choix_db) { |
|
| 157 | + $erreurs['choix_db'] = _T('info_obligatoire'); |
|
| 158 | + } else { |
|
| 159 | + define('_ECRIRE_INSTALL', 1); // hackons sqlite |
|
| 160 | + if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) { |
|
| 161 | + $erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]); |
|
| 162 | + } else { |
|
| 163 | + define('_DECLARER_CHOIX_DB', $choix_db); |
|
| 164 | + } |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + return $erreurs; |
|
| 168 | 168 | } |
| 169 | 169 | |
| 170 | 170 | function formulaires_declarer_bases_verifier_3_dist() { |
| 171 | - $erreurs = []; |
|
| 172 | - $nom_connect = _request('nom_connect'); |
|
| 173 | - if (!$nom_connect) { |
|
| 174 | - $erreurs['nom_connect'] = _T('info_obligatoire'); |
|
| 175 | - } else { |
|
| 176 | - // securite : le nom doit etre un mot sans caracteres speciaux |
|
| 177 | - $f = preg_replace(',[^\w],', '', (string) $nom_connect); |
|
| 178 | - if ($f !== $nom_connect) { |
|
| 179 | - $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect'); |
|
| 180 | - } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) { |
|
| 181 | - $erreurs['nom_connect'] = _T('erreur_connect_deja_existant'); |
|
| 182 | - } else { |
|
| 183 | - define('_DECLARER_NOM_CONNECT', $nom_connect); |
|
| 184 | - } |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - return $erreurs; |
|
| 171 | + $erreurs = []; |
|
| 172 | + $nom_connect = _request('nom_connect'); |
|
| 173 | + if (!$nom_connect) { |
|
| 174 | + $erreurs['nom_connect'] = _T('info_obligatoire'); |
|
| 175 | + } else { |
|
| 176 | + // securite : le nom doit etre un mot sans caracteres speciaux |
|
| 177 | + $f = preg_replace(',[^\w],', '', (string) $nom_connect); |
|
| 178 | + if ($f !== $nom_connect) { |
|
| 179 | + $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect'); |
|
| 180 | + } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) { |
|
| 181 | + $erreurs['nom_connect'] = _T('erreur_connect_deja_existant'); |
|
| 182 | + } else { |
|
| 183 | + define('_DECLARER_NOM_CONNECT', $nom_connect); |
|
| 184 | + } |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + return $erreurs; |
|
| 188 | 188 | } |
| 189 | 189 | |
| 190 | 190 | function formulaires_declarer_bases_traiter_dist() { |
| 191 | 191 | |
| 192 | - $adresse_db = _DECLARER_ADRESSE_DB; |
|
| 193 | - if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) { |
|
| 194 | - [, $adresse_db, $port] = $r; |
|
| 195 | - } else { |
|
| 196 | - $port = ''; |
|
| 197 | - } |
|
| 198 | - |
|
| 199 | - $server_db = addcslashes((string) _DECLARER_SERVEUR_DB, "'\\"); |
|
| 200 | - |
|
| 201 | - $conn = install_mode_appel($server_db) |
|
| 202 | - . install_connexion( |
|
| 203 | - $adresse_db, |
|
| 204 | - $port, |
|
| 205 | - _DECLARER_LOGIN_DB, |
|
| 206 | - _DECLARER_PASS_DB, |
|
| 207 | - _DECLARER_CHOIX_DB, |
|
| 208 | - _DECLARER_SERVEUR_DB, |
|
| 209 | - '', |
|
| 210 | - '', |
|
| 211 | - '' |
|
| 212 | - ); |
|
| 213 | - |
|
| 214 | - install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn); |
|
| 215 | - |
|
| 216 | - return [ |
|
| 217 | - 'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>']) |
|
| 218 | - ]; |
|
| 192 | + $adresse_db = _DECLARER_ADRESSE_DB; |
|
| 193 | + if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) { |
|
| 194 | + [, $adresse_db, $port] = $r; |
|
| 195 | + } else { |
|
| 196 | + $port = ''; |
|
| 197 | + } |
|
| 198 | + |
|
| 199 | + $server_db = addcslashes((string) _DECLARER_SERVEUR_DB, "'\\"); |
|
| 200 | + |
|
| 201 | + $conn = install_mode_appel($server_db) |
|
| 202 | + . install_connexion( |
|
| 203 | + $adresse_db, |
|
| 204 | + $port, |
|
| 205 | + _DECLARER_LOGIN_DB, |
|
| 206 | + _DECLARER_PASS_DB, |
|
| 207 | + _DECLARER_CHOIX_DB, |
|
| 208 | + _DECLARER_SERVEUR_DB, |
|
| 209 | + '', |
|
| 210 | + '', |
|
| 211 | + '' |
|
| 212 | + ); |
|
| 213 | + |
|
| 214 | + install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn); |
|
| 215 | + |
|
| 216 | + return [ |
|
| 217 | + 'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>']) |
|
| 218 | + ]; |
|
| 219 | 219 | } |
@@ -29,7 +29,7 @@ discard block |
||
| 29 | 29 | if (defined('_DECLARER_CHOIX_DB')) { |
| 30 | 30 | $nom_connect = _DECLARER_CHOIX_DB; |
| 31 | 31 | $n = ''; |
| 32 | - while (in_array($nom_connect . $n, $deja)) { |
|
| 32 | + while (in_array($nom_connect.$n, $deja)) { |
|
| 33 | 33 | $n = ($n ? $n + 1 : 1); |
| 34 | 34 | } |
| 35 | 35 | $nom_connect .= $n; |
@@ -57,7 +57,7 @@ discard block |
||
| 57 | 57 | |
| 58 | 58 | function liste_serveurs() { |
| 59 | 59 | $options = []; |
| 60 | - $dir = _DIR_RESTREINT . 'req/'; |
|
| 60 | + $dir = _DIR_RESTREINT.'req/'; |
|
| 61 | 61 | $d = opendir($dir); |
| 62 | 62 | if (!$d) { |
| 63 | 63 | return []; |
@@ -65,11 +65,11 @@ discard block |
||
| 65 | 65 | while ($f = readdir($d)) { |
| 66 | 66 | if ( |
| 67 | 67 | preg_match('/^(.*)[.]php$/', $f, $s) |
| 68 | - && is_readable($f = $dir . $f) |
|
| 68 | + && is_readable($f = $dir.$f) |
|
| 69 | 69 | ) { |
| 70 | 70 | require_once($f); |
| 71 | 71 | $s = $s[1]; |
| 72 | - $v = 'spip_versions_' . $s; |
|
| 72 | + $v = 'spip_versions_'.$s; |
|
| 73 | 73 | if (function_exists($v) && $v()) { |
| 74 | 74 | $options[$s] = "install_select_type_$s"; |
| 75 | 75 | } else { |
@@ -127,7 +127,7 @@ discard block |
||
| 127 | 127 | |
| 128 | 128 | $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db); |
| 129 | 129 | if ($link) { |
| 130 | - $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']]; |
|
| 130 | + $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_'.$serveur_db.'_functions_'.$GLOBALS['spip_sql_version']]; |
|
| 131 | 131 | $GLOBALS['connexions'][$serveur_db] = $link; |
| 132 | 132 | define('_DECLARER_SERVEUR_DB', $serveur_db); |
| 133 | 133 | define('_DECLARER_ADRESSE_DB', $adresse_db); |
@@ -177,7 +177,7 @@ discard block |
||
| 177 | 177 | $f = preg_replace(',[^\w],', '', (string) $nom_connect); |
| 178 | 178 | if ($f !== $nom_connect) { |
| 179 | 179 | $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect'); |
| 180 | - } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) { |
|
| 180 | + } elseif (file_exists(_DIR_CONNECT.$nom_connect.'.php')) { |
|
| 181 | 181 | $erreurs['nom_connect'] = _T('erreur_connect_deja_existant'); |
| 182 | 182 | } else { |
| 183 | 183 | define('_DECLARER_NOM_CONNECT', $nom_connect); |
@@ -211,9 +211,9 @@ discard block |
||
| 211 | 211 | '' |
| 212 | 212 | ); |
| 213 | 213 | |
| 214 | - install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn); |
|
| 214 | + install_fichier_connexion(_DIR_CONNECT._DECLARER_NOM_CONNECT.'.php', $conn); |
|
| 215 | 215 | |
| 216 | 216 | return [ |
| 217 | - 'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>']) |
|
| 217 | + 'message_ok' => _T('install_connect_ok', ['connect' => '<strong>'._DECLARER_NOM_CONNECT.'</strong>']) |
|
| 218 | 218 | ]; |
| 219 | 219 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | **/ |
| 17 | 17 | |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('base/abstract_sql'); |
@@ -30,11 +30,11 @@ discard block |
||
| 30 | 30 | * true si espace privé, false sinon. |
| 31 | 31 | **/ |
| 32 | 32 | function is_url_prive($cible) { |
| 33 | - include_spip('inc/filtres_mini'); |
|
| 34 | - $path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible)); |
|
| 35 | - $path = ($path['path'] ?? ''); |
|
| 33 | + include_spip('inc/filtres_mini'); |
|
| 34 | + $path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible)); |
|
| 35 | + $path = ($path['path'] ?? ''); |
|
| 36 | 36 | |
| 37 | - return str_starts_with(substr($path, -strlen((string) _DIR_RESTREINT_ABS)), (string) _DIR_RESTREINT_ABS); |
|
| 37 | + return str_starts_with(substr($path, -strlen((string) _DIR_RESTREINT_ABS)), (string) _DIR_RESTREINT_ABS); |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | /** |
@@ -59,110 +59,110 @@ discard block |
||
| 59 | 59 | * Environnement du formulaire |
| 60 | 60 | **/ |
| 61 | 61 | function formulaires_login_charger_dist($cible = '', $options = [], $deprecated = null) { |
| 62 | - $erreur = _request('var_erreur'); |
|
| 63 | - |
|
| 64 | - if (!is_array($options)) { |
|
| 65 | - $options = [ |
|
| 66 | - 'login' => $options, |
|
| 67 | - 'prive' => $deprecated |
|
| 68 | - ]; |
|
| 69 | - } |
|
| 70 | - |
|
| 71 | - $login = (empty($options['login']) ? '' : $options['login']); |
|
| 72 | - $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 73 | - // conserver le fonctionnement historique |
|
| 74 | - if (!isset($options['autofocus'])) { |
|
| 75 | - $options['autofocus'] = true; |
|
| 76 | - } |
|
| 77 | - |
|
| 78 | - if (!$login) { |
|
| 79 | - $login = (string) _request('var_login'); |
|
| 80 | - } |
|
| 81 | - // si on est deja identifie |
|
| 82 | - if (!$login && isset($GLOBALS['visiteur_session']['email'])) { |
|
| 83 | - $login = $GLOBALS['visiteur_session']['email']; |
|
| 84 | - } |
|
| 85 | - if (!$login && isset($GLOBALS['visiteur_session']['login'])) { |
|
| 86 | - $login = $GLOBALS['visiteur_session']['login']; |
|
| 87 | - } |
|
| 88 | - // ou si on a un cookie admin |
|
| 89 | - if ( |
|
| 90 | - !$login |
|
| 91 | - && isset($_COOKIE['spip_admin']) |
|
| 92 | - && preg_match(',^@(.*)$,', (string) $_COOKIE['spip_admin'], $regs) |
|
| 93 | - ) { |
|
| 94 | - $login = $regs[1]; |
|
| 95 | - } |
|
| 96 | - |
|
| 97 | - $lang = $GLOBALS['spip_lang']; |
|
| 98 | - include_spip('inc/auth'); |
|
| 99 | - $row = auth_informer_login($login); |
|
| 100 | - |
|
| 101 | - // retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas) |
|
| 102 | - if (_request('lang') === $lang && $GLOBALS['spip_lang'] !== $lang) { |
|
| 103 | - changer_langue($lang); |
|
| 104 | - } |
|
| 105 | - |
|
| 106 | - // Construire l'environnement du squelette |
|
| 107 | - // Ne pas proposer de "rester connecte quelques jours" |
|
| 108 | - // si la duree de l'alea est inferieure a 12 h (valeur par defaut) |
|
| 109 | - |
|
| 110 | - $valeurs = [ |
|
| 111 | - 'var_login' => $login, |
|
| 112 | - 'editable' => !$row, |
|
| 113 | - 'cnx' => $row['cnx'] ?? '0', |
|
| 114 | - 'auth_http' => login_auth_http(), |
|
| 115 | - 'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '), |
|
| 116 | - '_logo' => $row['logo'] ?? '', |
|
| 117 | - '_alea_actuel' => $row['alea_actuel'] ?? '', |
|
| 118 | - '_alea_futur' => $row['alea_futur'] ?? '', |
|
| 119 | - '_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth |
|
| 120 | - '_autofocus' => ($options['autofocus'] && $options['autofocus'] !== 'non') ? ' ' : '', |
|
| 121 | - ]; |
|
| 122 | - |
|
| 123 | - if ($erreur || !isset($GLOBALS['visiteur_session']['id_auteur']) || !$GLOBALS['visiteur_session']['id_auteur']) { |
|
| 124 | - $valeurs['editable'] = true; |
|
| 125 | - } |
|
| 126 | - |
|
| 127 | - if (is_null($prive) ? is_url_prive($cible) : $prive) { |
|
| 128 | - include_spip('inc/autoriser'); |
|
| 129 | - $loge = autoriser('ecrire'); |
|
| 130 | - } else { |
|
| 131 | - $loge = (isset($GLOBALS['visiteur_session']['auth']) && $GLOBALS['visiteur_session']['auth'] != ''); |
|
| 132 | - } |
|
| 133 | - |
|
| 134 | - // Si on est connecte, appeler traiter() |
|
| 135 | - // et lancer la redirection si besoin |
|
| 136 | - if (!$valeurs['editable'] && $loge && _request('formulaire_action') !== 'login') { |
|
| 137 | - $traiter = charger_fonction('traiter', 'formulaires/login'); |
|
| 138 | - $res = $traiter($cible, $login, $prive); |
|
| 139 | - $valeurs = array_merge($valeurs, $res); |
|
| 140 | - |
|
| 141 | - if (isset($res['redirect']) && $res['redirect']) { |
|
| 142 | - include_spip('inc/headers'); |
|
| 143 | - # preparer un lien pour quand redirige_formulaire ne fonctionne pas |
|
| 144 | - $m = redirige_formulaire($res['redirect']); |
|
| 145 | - $valeurs['_deja_loge'] = inserer_attribut( |
|
| 146 | - '<a>' . _T('login_par_ici') . "</a>$m", |
|
| 147 | - 'href', |
|
| 148 | - $res['redirect'] |
|
| 149 | - ); |
|
| 150 | - } |
|
| 151 | - } |
|
| 152 | - // en cas d'echec de cookie, inc_auth a renvoye vers le script de |
|
| 153 | - // pose de cookie ; s'il n'est pas la, c'est echec cookie |
|
| 154 | - // s'il est la, c'est probablement un bookmark sur bonjour=oui, |
|
| 155 | - // et pas un echec cookie. |
|
| 156 | - if ($erreur == 'cookie') { |
|
| 157 | - $valeurs['echec_cookie'] = ' '; |
|
| 158 | - } elseif ($erreur) { |
|
| 159 | - // une erreur d'un SSO indique dans la redirection vers ici |
|
| 160 | - // mais il faut se proteger de toute tentative d'injection malveilante |
|
| 161 | - include_spip('inc/filtres'); |
|
| 162 | - $valeurs['message_erreur'] = textebrut($erreur); |
|
| 163 | - } |
|
| 164 | - |
|
| 165 | - return $valeurs; |
|
| 62 | + $erreur = _request('var_erreur'); |
|
| 63 | + |
|
| 64 | + if (!is_array($options)) { |
|
| 65 | + $options = [ |
|
| 66 | + 'login' => $options, |
|
| 67 | + 'prive' => $deprecated |
|
| 68 | + ]; |
|
| 69 | + } |
|
| 70 | + |
|
| 71 | + $login = (empty($options['login']) ? '' : $options['login']); |
|
| 72 | + $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 73 | + // conserver le fonctionnement historique |
|
| 74 | + if (!isset($options['autofocus'])) { |
|
| 75 | + $options['autofocus'] = true; |
|
| 76 | + } |
|
| 77 | + |
|
| 78 | + if (!$login) { |
|
| 79 | + $login = (string) _request('var_login'); |
|
| 80 | + } |
|
| 81 | + // si on est deja identifie |
|
| 82 | + if (!$login && isset($GLOBALS['visiteur_session']['email'])) { |
|
| 83 | + $login = $GLOBALS['visiteur_session']['email']; |
|
| 84 | + } |
|
| 85 | + if (!$login && isset($GLOBALS['visiteur_session']['login'])) { |
|
| 86 | + $login = $GLOBALS['visiteur_session']['login']; |
|
| 87 | + } |
|
| 88 | + // ou si on a un cookie admin |
|
| 89 | + if ( |
|
| 90 | + !$login |
|
| 91 | + && isset($_COOKIE['spip_admin']) |
|
| 92 | + && preg_match(',^@(.*)$,', (string) $_COOKIE['spip_admin'], $regs) |
|
| 93 | + ) { |
|
| 94 | + $login = $regs[1]; |
|
| 95 | + } |
|
| 96 | + |
|
| 97 | + $lang = $GLOBALS['spip_lang']; |
|
| 98 | + include_spip('inc/auth'); |
|
| 99 | + $row = auth_informer_login($login); |
|
| 100 | + |
|
| 101 | + // retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas) |
|
| 102 | + if (_request('lang') === $lang && $GLOBALS['spip_lang'] !== $lang) { |
|
| 103 | + changer_langue($lang); |
|
| 104 | + } |
|
| 105 | + |
|
| 106 | + // Construire l'environnement du squelette |
|
| 107 | + // Ne pas proposer de "rester connecte quelques jours" |
|
| 108 | + // si la duree de l'alea est inferieure a 12 h (valeur par defaut) |
|
| 109 | + |
|
| 110 | + $valeurs = [ |
|
| 111 | + 'var_login' => $login, |
|
| 112 | + 'editable' => !$row, |
|
| 113 | + 'cnx' => $row['cnx'] ?? '0', |
|
| 114 | + 'auth_http' => login_auth_http(), |
|
| 115 | + 'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '), |
|
| 116 | + '_logo' => $row['logo'] ?? '', |
|
| 117 | + '_alea_actuel' => $row['alea_actuel'] ?? '', |
|
| 118 | + '_alea_futur' => $row['alea_futur'] ?? '', |
|
| 119 | + '_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth |
|
| 120 | + '_autofocus' => ($options['autofocus'] && $options['autofocus'] !== 'non') ? ' ' : '', |
|
| 121 | + ]; |
|
| 122 | + |
|
| 123 | + if ($erreur || !isset($GLOBALS['visiteur_session']['id_auteur']) || !$GLOBALS['visiteur_session']['id_auteur']) { |
|
| 124 | + $valeurs['editable'] = true; |
|
| 125 | + } |
|
| 126 | + |
|
| 127 | + if (is_null($prive) ? is_url_prive($cible) : $prive) { |
|
| 128 | + include_spip('inc/autoriser'); |
|
| 129 | + $loge = autoriser('ecrire'); |
|
| 130 | + } else { |
|
| 131 | + $loge = (isset($GLOBALS['visiteur_session']['auth']) && $GLOBALS['visiteur_session']['auth'] != ''); |
|
| 132 | + } |
|
| 133 | + |
|
| 134 | + // Si on est connecte, appeler traiter() |
|
| 135 | + // et lancer la redirection si besoin |
|
| 136 | + if (!$valeurs['editable'] && $loge && _request('formulaire_action') !== 'login') { |
|
| 137 | + $traiter = charger_fonction('traiter', 'formulaires/login'); |
|
| 138 | + $res = $traiter($cible, $login, $prive); |
|
| 139 | + $valeurs = array_merge($valeurs, $res); |
|
| 140 | + |
|
| 141 | + if (isset($res['redirect']) && $res['redirect']) { |
|
| 142 | + include_spip('inc/headers'); |
|
| 143 | + # preparer un lien pour quand redirige_formulaire ne fonctionne pas |
|
| 144 | + $m = redirige_formulaire($res['redirect']); |
|
| 145 | + $valeurs['_deja_loge'] = inserer_attribut( |
|
| 146 | + '<a>' . _T('login_par_ici') . "</a>$m", |
|
| 147 | + 'href', |
|
| 148 | + $res['redirect'] |
|
| 149 | + ); |
|
| 150 | + } |
|
| 151 | + } |
|
| 152 | + // en cas d'echec de cookie, inc_auth a renvoye vers le script de |
|
| 153 | + // pose de cookie ; s'il n'est pas la, c'est echec cookie |
|
| 154 | + // s'il est la, c'est probablement un bookmark sur bonjour=oui, |
|
| 155 | + // et pas un echec cookie. |
|
| 156 | + if ($erreur == 'cookie') { |
|
| 157 | + $valeurs['echec_cookie'] = ' '; |
|
| 158 | + } elseif ($erreur) { |
|
| 159 | + // une erreur d'un SSO indique dans la redirection vers ici |
|
| 160 | + // mais il faut se proteger de toute tentative d'injection malveilante |
|
| 161 | + include_spip('inc/filtres'); |
|
| 162 | + $valeurs['message_erreur'] = textebrut($erreur); |
|
| 163 | + } |
|
| 164 | + |
|
| 165 | + return $valeurs; |
|
| 166 | 166 | } |
| 167 | 167 | |
| 168 | 168 | |
@@ -177,19 +177,19 @@ discard block |
||
| 177 | 177 | * - chaîne vide sinon. |
| 178 | 178 | **/ |
| 179 | 179 | function login_auth_http() { |
| 180 | - if ( |
|
| 181 | - !$GLOBALS['ignore_auth_http'] |
|
| 182 | - && _request('var_erreur') == 'cookie' |
|
| 183 | - && (!isset($_COOKIE['spip_session']) || $_COOKIE['spip_session'] != 'test_echec_cookie') |
|
| 184 | - && (preg_match(',apache,', \PHP_SAPI) || preg_match(',^Apache.* PHP,', (string) $_SERVER['SERVER_SOFTWARE'])) |
|
| 185 | - // Attention dans le cas 'intranet' la proposition de se loger |
|
| 186 | - // par auth_http peut conduire a l'echec. |
|
| 187 | - && !(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) |
|
| 188 | - ) { |
|
| 189 | - return generer_url_action('cookie', '', false, true); |
|
| 190 | - } else { |
|
| 191 | - return ''; |
|
| 192 | - } |
|
| 180 | + if ( |
|
| 181 | + !$GLOBALS['ignore_auth_http'] |
|
| 182 | + && _request('var_erreur') == 'cookie' |
|
| 183 | + && (!isset($_COOKIE['spip_session']) || $_COOKIE['spip_session'] != 'test_echec_cookie') |
|
| 184 | + && (preg_match(',apache,', \PHP_SAPI) || preg_match(',^Apache.* PHP,', (string) $_SERVER['SERVER_SOFTWARE'])) |
|
| 185 | + // Attention dans le cas 'intranet' la proposition de se loger |
|
| 186 | + // par auth_http peut conduire a l'echec. |
|
| 187 | + && !(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) |
|
| 188 | + ) { |
|
| 189 | + return generer_url_action('cookie', '', false, true); |
|
| 190 | + } else { |
|
| 191 | + return ''; |
|
| 192 | + } |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | |
@@ -215,65 +215,65 @@ discard block |
||
| 215 | 215 | **/ |
| 216 | 216 | function formulaires_login_verifier_dist($cible = '', $options = [], $deprecated = null) { |
| 217 | 217 | |
| 218 | - $erreurs = []; |
|
| 219 | - if (!is_array($options)) { |
|
| 220 | - $options = [ |
|
| 221 | - 'login' => $options, |
|
| 222 | - 'prive' => $deprecated |
|
| 223 | - ]; |
|
| 224 | - } |
|
| 225 | - |
|
| 226 | - $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 227 | - |
|
| 228 | - $session_login = _request('var_login'); |
|
| 229 | - $session_password = _request('password'); |
|
| 230 | - $session_remember = _request('session_remember'); |
|
| 231 | - |
|
| 232 | - if (!$session_login) { |
|
| 233 | - # pas de login saisi ! |
|
| 234 | - return ['var_login' => _T('info_obligatoire')]; |
|
| 235 | - } |
|
| 236 | - |
|
| 237 | - // appeler auth_identifier_login qui va : |
|
| 238 | - // - renvoyer un string si echec (message d'erreur) |
|
| 239 | - // - un array decrivant l'auteur identifie si possible |
|
| 240 | - // - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification |
|
| 241 | - include_spip('inc/auth'); |
|
| 242 | - $auteur = auth_identifier_login($session_login, $session_password); |
|
| 243 | - // on arrive ici si on ne s'est pas identifie avec un SSO |
|
| 244 | - if (!is_array($auteur)) { |
|
| 245 | - $erreurs = []; |
|
| 246 | - if (is_string($auteur) && strlen($auteur)) { |
|
| 247 | - $erreurs['var_login'] = $auteur; |
|
| 248 | - } |
|
| 249 | - include_spip('inc/cookie'); |
|
| 250 | - spip_setcookie('spip_admin', '', time() - 3600); |
|
| 251 | - if (strlen((string) $session_password)) { |
|
| 252 | - $erreurs['password'] = _T('login_erreur_pass'); |
|
| 253 | - } else { |
|
| 254 | - // sinon c'est un login en deux passe old style (ou js en panne) |
|
| 255 | - // pas de message d'erreur |
|
| 256 | - $erreurs['password'] = ' '; |
|
| 257 | - $erreurs['message_erreur'] = ''; |
|
| 258 | - } |
|
| 259 | - |
|
| 260 | - return |
|
| 261 | - $erreurs; |
|
| 262 | - } |
|
| 263 | - // on a ete authentifie, construire la session |
|
| 264 | - // en gerant la duree demandee pour son cookie |
|
| 265 | - if ($session_remember !== null) { |
|
| 266 | - $auteur['cookie'] = $session_remember; |
|
| 267 | - } |
|
| 268 | - // si la connexion est refusee on renvoi un message erreur de mot de passe |
|
| 269 | - // car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte |
|
| 270 | - if (auth_loger($auteur) === false) { |
|
| 271 | - $erreurs['message_erreur'] = _T('login_erreur_pass'); |
|
| 272 | - return $erreurs; |
|
| 273 | - } |
|
| 274 | - |
|
| 275 | - return (is_null($prive) ? is_url_prive($cible) : $prive) |
|
| 276 | - ? login_autoriser() : []; |
|
| 218 | + $erreurs = []; |
|
| 219 | + if (!is_array($options)) { |
|
| 220 | + $options = [ |
|
| 221 | + 'login' => $options, |
|
| 222 | + 'prive' => $deprecated |
|
| 223 | + ]; |
|
| 224 | + } |
|
| 225 | + |
|
| 226 | + $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 227 | + |
|
| 228 | + $session_login = _request('var_login'); |
|
| 229 | + $session_password = _request('password'); |
|
| 230 | + $session_remember = _request('session_remember'); |
|
| 231 | + |
|
| 232 | + if (!$session_login) { |
|
| 233 | + # pas de login saisi ! |
|
| 234 | + return ['var_login' => _T('info_obligatoire')]; |
|
| 235 | + } |
|
| 236 | + |
|
| 237 | + // appeler auth_identifier_login qui va : |
|
| 238 | + // - renvoyer un string si echec (message d'erreur) |
|
| 239 | + // - un array decrivant l'auteur identifie si possible |
|
| 240 | + // - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification |
|
| 241 | + include_spip('inc/auth'); |
|
| 242 | + $auteur = auth_identifier_login($session_login, $session_password); |
|
| 243 | + // on arrive ici si on ne s'est pas identifie avec un SSO |
|
| 244 | + if (!is_array($auteur)) { |
|
| 245 | + $erreurs = []; |
|
| 246 | + if (is_string($auteur) && strlen($auteur)) { |
|
| 247 | + $erreurs['var_login'] = $auteur; |
|
| 248 | + } |
|
| 249 | + include_spip('inc/cookie'); |
|
| 250 | + spip_setcookie('spip_admin', '', time() - 3600); |
|
| 251 | + if (strlen((string) $session_password)) { |
|
| 252 | + $erreurs['password'] = _T('login_erreur_pass'); |
|
| 253 | + } else { |
|
| 254 | + // sinon c'est un login en deux passe old style (ou js en panne) |
|
| 255 | + // pas de message d'erreur |
|
| 256 | + $erreurs['password'] = ' '; |
|
| 257 | + $erreurs['message_erreur'] = ''; |
|
| 258 | + } |
|
| 259 | + |
|
| 260 | + return |
|
| 261 | + $erreurs; |
|
| 262 | + } |
|
| 263 | + // on a ete authentifie, construire la session |
|
| 264 | + // en gerant la duree demandee pour son cookie |
|
| 265 | + if ($session_remember !== null) { |
|
| 266 | + $auteur['cookie'] = $session_remember; |
|
| 267 | + } |
|
| 268 | + // si la connexion est refusee on renvoi un message erreur de mot de passe |
|
| 269 | + // car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte |
|
| 270 | + if (auth_loger($auteur) === false) { |
|
| 271 | + $erreurs['message_erreur'] = _T('login_erreur_pass'); |
|
| 272 | + return $erreurs; |
|
| 273 | + } |
|
| 274 | + |
|
| 275 | + return (is_null($prive) ? is_url_prive($cible) : $prive) |
|
| 276 | + ? login_autoriser() : []; |
|
| 277 | 277 | } |
| 278 | 278 | |
| 279 | 279 | /** |
@@ -288,21 +288,21 @@ discard block |
||
| 288 | 288 | * - tableau vide sinon. |
| 289 | 289 | **/ |
| 290 | 290 | function login_autoriser() { |
| 291 | - include_spip('inc/autoriser'); |
|
| 292 | - if (!autoriser('ecrire')) { |
|
| 293 | - $h = generer_url_action('logout', 'logout=prive&url=' . urlencode((string) self())); |
|
| 294 | - |
|
| 295 | - return [ |
|
| 296 | - 'message_erreur' => '<h1>' |
|
| 297 | - . _T('avis_erreur_visiteur') |
|
| 298 | - . '</h1><p>' |
|
| 299 | - . _T('texte_erreur_visiteur') |
|
| 300 | - . "</p><p class='retour'>[<a href='$h'>" |
|
| 301 | - . _T('icone_deconnecter') . '</a>]</p>' |
|
| 302 | - ]; |
|
| 303 | - } |
|
| 304 | - |
|
| 305 | - return []; |
|
| 291 | + include_spip('inc/autoriser'); |
|
| 292 | + if (!autoriser('ecrire')) { |
|
| 293 | + $h = generer_url_action('logout', 'logout=prive&url=' . urlencode((string) self())); |
|
| 294 | + |
|
| 295 | + return [ |
|
| 296 | + 'message_erreur' => '<h1>' |
|
| 297 | + . _T('avis_erreur_visiteur') |
|
| 298 | + . '</h1><p>' |
|
| 299 | + . _T('texte_erreur_visiteur') |
|
| 300 | + . "</p><p class='retour'>[<a href='$h'>" |
|
| 301 | + . _T('icone_deconnecter') . '</a>]</p>' |
|
| 302 | + ]; |
|
| 303 | + } |
|
| 304 | + |
|
| 305 | + return []; |
|
| 306 | 306 | } |
| 307 | 307 | |
| 308 | 308 | /** |
@@ -323,55 +323,55 @@ discard block |
||
| 323 | 323 | * Retours du traitement |
| 324 | 324 | **/ |
| 325 | 325 | function formulaires_login_traiter_dist($cible = '', $options = [], $deprecated = null) { |
| 326 | - $res = []; |
|
| 327 | - |
|
| 328 | - if (!is_array($options)) { |
|
| 329 | - $options = [ |
|
| 330 | - 'login' => $options, |
|
| 331 | - 'prive' => $deprecated |
|
| 332 | - ]; |
|
| 333 | - } |
|
| 334 | - |
|
| 335 | - $login = (empty($options['login']) ? '' : $options['login']); |
|
| 336 | - $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 337 | - |
|
| 338 | - // Si on se connecte dans l'espace prive, |
|
| 339 | - // ajouter "bonjour" (repere a peu pres les cookies desactives) |
|
| 340 | - if (is_null($prive) ? is_url_prive($cible) : $prive) { |
|
| 341 | - $cible = parametre_url($cible, 'bonjour', 'oui', '&'); |
|
| 342 | - } |
|
| 343 | - if ($cible == '@page_auteur') { |
|
| 344 | - $cible = generer_objet_url($GLOBALS['auteur_session']['id_auteur'], 'auteur'); |
|
| 345 | - } |
|
| 346 | - |
|
| 347 | - if ($cible) { |
|
| 348 | - $cible = parametre_url($cible, 'var_login', '', '&'); |
|
| 349 | - |
|
| 350 | - // transformer la cible absolue en cible relative |
|
| 351 | - // pour pas echouer quand la meta adresse_site est foireuse |
|
| 352 | - if (strncmp((string) $cible, (string) ($u = url_de_base()), strlen((string) $u)) == 0) { |
|
| 353 | - $cible = './' . substr((string) $cible, strlen((string) $u)); |
|
| 354 | - } elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) { |
|
| 355 | - // si c'est une url absolue, refuser la redirection |
|
| 356 | - // sauf si cette securite est levee volontairement par le webmestre |
|
| 357 | - $cible = ''; |
|
| 358 | - } |
|
| 359 | - } |
|
| 360 | - |
|
| 361 | - // Si on est connecte, envoyer vers la destination |
|
| 362 | - if ($cible && $cible != self('&') && $cible != self()) { |
|
| 363 | - $res['redirect'] = $cible; |
|
| 364 | - $res['message_ok'] = inserer_attribut( |
|
| 365 | - '<a>' . _T('login_par_ici') . '</a>', |
|
| 366 | - 'href', |
|
| 367 | - $cible |
|
| 368 | - ); |
|
| 369 | - } |
|
| 370 | - |
|
| 371 | - // avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session |
|
| 372 | - if (function_exists('terminer_actualiser_sessions')) { |
|
| 373 | - terminer_actualiser_sessions(); |
|
| 374 | - } |
|
| 375 | - |
|
| 376 | - return $res; |
|
| 326 | + $res = []; |
|
| 327 | + |
|
| 328 | + if (!is_array($options)) { |
|
| 329 | + $options = [ |
|
| 330 | + 'login' => $options, |
|
| 331 | + 'prive' => $deprecated |
|
| 332 | + ]; |
|
| 333 | + } |
|
| 334 | + |
|
| 335 | + $login = (empty($options['login']) ? '' : $options['login']); |
|
| 336 | + $prive = (empty($options['prive']) ? null : $options['prive']); |
|
| 337 | + |
|
| 338 | + // Si on se connecte dans l'espace prive, |
|
| 339 | + // ajouter "bonjour" (repere a peu pres les cookies desactives) |
|
| 340 | + if (is_null($prive) ? is_url_prive($cible) : $prive) { |
|
| 341 | + $cible = parametre_url($cible, 'bonjour', 'oui', '&'); |
|
| 342 | + } |
|
| 343 | + if ($cible == '@page_auteur') { |
|
| 344 | + $cible = generer_objet_url($GLOBALS['auteur_session']['id_auteur'], 'auteur'); |
|
| 345 | + } |
|
| 346 | + |
|
| 347 | + if ($cible) { |
|
| 348 | + $cible = parametre_url($cible, 'var_login', '', '&'); |
|
| 349 | + |
|
| 350 | + // transformer la cible absolue en cible relative |
|
| 351 | + // pour pas echouer quand la meta adresse_site est foireuse |
|
| 352 | + if (strncmp((string) $cible, (string) ($u = url_de_base()), strlen((string) $u)) == 0) { |
|
| 353 | + $cible = './' . substr((string) $cible, strlen((string) $u)); |
|
| 354 | + } elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) { |
|
| 355 | + // si c'est une url absolue, refuser la redirection |
|
| 356 | + // sauf si cette securite est levee volontairement par le webmestre |
|
| 357 | + $cible = ''; |
|
| 358 | + } |
|
| 359 | + } |
|
| 360 | + |
|
| 361 | + // Si on est connecte, envoyer vers la destination |
|
| 362 | + if ($cible && $cible != self('&') && $cible != self()) { |
|
| 363 | + $res['redirect'] = $cible; |
|
| 364 | + $res['message_ok'] = inserer_attribut( |
|
| 365 | + '<a>' . _T('login_par_ici') . '</a>', |
|
| 366 | + 'href', |
|
| 367 | + $cible |
|
| 368 | + ); |
|
| 369 | + } |
|
| 370 | + |
|
| 371 | + // avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session |
|
| 372 | + if (function_exists('terminer_actualiser_sessions')) { |
|
| 373 | + terminer_actualiser_sessions(); |
|
| 374 | + } |
|
| 375 | + |
|
| 376 | + return $res; |
|
| 377 | 377 | } |
@@ -143,7 +143,7 @@ discard block |
||
| 143 | 143 | # preparer un lien pour quand redirige_formulaire ne fonctionne pas |
| 144 | 144 | $m = redirige_formulaire($res['redirect']); |
| 145 | 145 | $valeurs['_deja_loge'] = inserer_attribut( |
| 146 | - '<a>' . _T('login_par_ici') . "</a>$m", |
|
| 146 | + '<a>'._T('login_par_ici')."</a>$m", |
|
| 147 | 147 | 'href', |
| 148 | 148 | $res['redirect'] |
| 149 | 149 | ); |
@@ -290,7 +290,7 @@ discard block |
||
| 290 | 290 | function login_autoriser() { |
| 291 | 291 | include_spip('inc/autoriser'); |
| 292 | 292 | if (!autoriser('ecrire')) { |
| 293 | - $h = generer_url_action('logout', 'logout=prive&url=' . urlencode((string) self())); |
|
| 293 | + $h = generer_url_action('logout', 'logout=prive&url='.urlencode((string) self())); |
|
| 294 | 294 | |
| 295 | 295 | return [ |
| 296 | 296 | 'message_erreur' => '<h1>' |
@@ -298,7 +298,7 @@ discard block |
||
| 298 | 298 | . '</h1><p>' |
| 299 | 299 | . _T('texte_erreur_visiteur') |
| 300 | 300 | . "</p><p class='retour'>[<a href='$h'>" |
| 301 | - . _T('icone_deconnecter') . '</a>]</p>' |
|
| 301 | + . _T('icone_deconnecter').'</a>]</p>' |
|
| 302 | 302 | ]; |
| 303 | 303 | } |
| 304 | 304 | |
@@ -350,7 +350,7 @@ discard block |
||
| 350 | 350 | // transformer la cible absolue en cible relative |
| 351 | 351 | // pour pas echouer quand la meta adresse_site est foireuse |
| 352 | 352 | if (strncmp((string) $cible, (string) ($u = url_de_base()), strlen((string) $u)) == 0) { |
| 353 | - $cible = './' . substr((string) $cible, strlen((string) $u)); |
|
| 353 | + $cible = './'.substr((string) $cible, strlen((string) $u)); |
|
| 354 | 354 | } elseif (tester_url_absolue($cible) && !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) { |
| 355 | 355 | // si c'est une url absolue, refuser la redirection |
| 356 | 356 | // sauf si cette securite est levee volontairement par le webmestre |
@@ -362,7 +362,7 @@ discard block |
||
| 362 | 362 | if ($cible && $cible != self('&') && $cible != self()) { |
| 363 | 363 | $res['redirect'] = $cible; |
| 364 | 364 | $res['message_ok'] = inserer_attribut( |
| 365 | - '<a>' . _T('login_par_ici') . '</a>', |
|
| 365 | + '<a>'._T('login_par_ici').'</a>', |
|
| 366 | 366 | 'href', |
| 367 | 367 | $cible |
| 368 | 368 | ); |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | **/ |
| 17 | 17 | |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | include_spip('inc/actions'); |
@@ -46,30 +46,30 @@ discard block |
||
| 46 | 46 | * Environnement du formulaire |
| 47 | 47 | **/ |
| 48 | 48 | function formulaires_editer_rubrique_charger_dist( |
| 49 | - $id_rubrique = 'new', |
|
| 50 | - $id_parent = 0, |
|
| 51 | - $retour = '', |
|
| 52 | - $lier_trad = 0, |
|
| 53 | - $config_fonc = 'rubriques_edit_config', |
|
| 54 | - $row = [], |
|
| 55 | - $hidden = '' |
|
| 49 | + $id_rubrique = 'new', |
|
| 50 | + $id_parent = 0, |
|
| 51 | + $retour = '', |
|
| 52 | + $lier_trad = 0, |
|
| 53 | + $config_fonc = 'rubriques_edit_config', |
|
| 54 | + $row = [], |
|
| 55 | + $hidden = '' |
|
| 56 | 56 | ) { |
| 57 | - $valeurs = formulaires_editer_objet_charger( |
|
| 58 | - 'rubrique', |
|
| 59 | - $id_rubrique, |
|
| 60 | - $id_parent, |
|
| 61 | - $lier_trad, |
|
| 62 | - $retour, |
|
| 63 | - $config_fonc, |
|
| 64 | - $row, |
|
| 65 | - $hidden |
|
| 66 | - ); |
|
| 57 | + $valeurs = formulaires_editer_objet_charger( |
|
| 58 | + 'rubrique', |
|
| 59 | + $id_rubrique, |
|
| 60 | + $id_parent, |
|
| 61 | + $lier_trad, |
|
| 62 | + $retour, |
|
| 63 | + $config_fonc, |
|
| 64 | + $row, |
|
| 65 | + $hidden |
|
| 66 | + ); |
|
| 67 | 67 | |
| 68 | - if ((int) $id_rubrique && !autoriser('modifier', 'rubrique', (int) $id_rubrique)) { |
|
| 69 | - $valeurs['editable'] = ''; |
|
| 70 | - } |
|
| 68 | + if ((int) $id_rubrique && !autoriser('modifier', 'rubrique', (int) $id_rubrique)) { |
|
| 69 | + $valeurs['editable'] = ''; |
|
| 70 | + } |
|
| 71 | 71 | |
| 72 | - return $valeurs; |
|
| 72 | + return $valeurs; |
|
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | /** |
@@ -81,11 +81,11 @@ discard block |
||
| 81 | 81 | * Configuration pour le formulaire |
| 82 | 82 | */ |
| 83 | 83 | function rubriques_edit_config(array $row): array { |
| 84 | - return [ |
|
| 85 | - 'lignes' => 8, |
|
| 86 | - 'langue' => $GLOBALS['spip_lang'], |
|
| 87 | - 'restreint' => !$GLOBALS['connect_toutes_rubriques'] |
|
| 88 | - ]; |
|
| 84 | + return [ |
|
| 85 | + 'lignes' => 8, |
|
| 86 | + 'langue' => $GLOBALS['spip_lang'], |
|
| 87 | + 'restreint' => !$GLOBALS['connect_toutes_rubriques'] |
|
| 88 | + ]; |
|
| 89 | 89 | } |
| 90 | 90 | |
| 91 | 91 | /** |
@@ -110,15 +110,15 @@ discard block |
||
| 110 | 110 | * Hash du formulaire |
| 111 | 111 | */ |
| 112 | 112 | function formulaires_editer_rubrique_identifier_dist( |
| 113 | - $id_rubrique = 'new', |
|
| 114 | - $id_parent = 0, |
|
| 115 | - $retour = '', |
|
| 116 | - $lier_trad = 0, |
|
| 117 | - $config_fonc = 'rubriques_edit_config', |
|
| 118 | - $row = [], |
|
| 119 | - $hidden = '' |
|
| 113 | + $id_rubrique = 'new', |
|
| 114 | + $id_parent = 0, |
|
| 115 | + $retour = '', |
|
| 116 | + $lier_trad = 0, |
|
| 117 | + $config_fonc = 'rubriques_edit_config', |
|
| 118 | + $row = [], |
|
| 119 | + $hidden = '' |
|
| 120 | 120 | ) { |
| 121 | - return serialize([(int) $id_rubrique, $lier_trad]); |
|
| 121 | + return serialize([(int) $id_rubrique, $lier_trad]); |
|
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | /** |
@@ -144,34 +144,34 @@ discard block |
||
| 144 | 144 | * Erreurs du formulaire |
| 145 | 145 | **/ |
| 146 | 146 | function formulaires_editer_rubrique_verifier_dist( |
| 147 | - $id_rubrique = 'new', |
|
| 148 | - $id_parent = 0, |
|
| 149 | - $retour = '', |
|
| 150 | - $lier_trad = 0, |
|
| 151 | - $config_fonc = 'rubriques_edit_config', |
|
| 152 | - $row = [], |
|
| 153 | - $hidden = '' |
|
| 147 | + $id_rubrique = 'new', |
|
| 148 | + $id_parent = 0, |
|
| 149 | + $retour = '', |
|
| 150 | + $lier_trad = 0, |
|
| 151 | + $config_fonc = 'rubriques_edit_config', |
|
| 152 | + $row = [], |
|
| 153 | + $hidden = '' |
|
| 154 | 154 | ) { |
| 155 | - // auto-renseigner le titre si il n'existe pas |
|
| 156 | - titre_automatique('titre', ['descriptif', 'texte']); |
|
| 157 | - // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_rubrique si vide |
|
| 158 | - $erreurs = formulaires_editer_objet_verifier('rubrique', $id_rubrique, []); |
|
| 155 | + // auto-renseigner le titre si il n'existe pas |
|
| 156 | + titre_automatique('titre', ['descriptif', 'texte']); |
|
| 157 | + // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_rubrique si vide |
|
| 158 | + $erreurs = formulaires_editer_objet_verifier('rubrique', $id_rubrique, []); |
|
| 159 | 159 | |
| 160 | - // s'assurer qu'on ne s'auto-designe pas comme parent ! |
|
| 161 | - if ( |
|
| 162 | - (int) $id_rubrique |
|
| 163 | - && empty($erreurs['id_parent']) |
|
| 164 | - && ($id_parent = _request('id_parent')) |
|
| 165 | - ) { |
|
| 166 | - include_spip('inc/rubriques'); |
|
| 167 | - $branche = calcul_branche_in($id_rubrique); |
|
| 168 | - $branche = explode(',', (string) $branche); |
|
| 169 | - if (in_array($id_parent, $branche)) { |
|
| 170 | - $erreurs['id_parent'] = _L('Impossible de déplacer une rubrique dans sa propre branche, on tourne en rond !'); |
|
| 171 | - } |
|
| 172 | - } |
|
| 160 | + // s'assurer qu'on ne s'auto-designe pas comme parent ! |
|
| 161 | + if ( |
|
| 162 | + (int) $id_rubrique |
|
| 163 | + && empty($erreurs['id_parent']) |
|
| 164 | + && ($id_parent = _request('id_parent')) |
|
| 165 | + ) { |
|
| 166 | + include_spip('inc/rubriques'); |
|
| 167 | + $branche = calcul_branche_in($id_rubrique); |
|
| 168 | + $branche = explode(',', (string) $branche); |
|
| 169 | + if (in_array($id_parent, $branche)) { |
|
| 170 | + $erreurs['id_parent'] = _L('Impossible de déplacer une rubrique dans sa propre branche, on tourne en rond !'); |
|
| 171 | + } |
|
| 172 | + } |
|
| 173 | 173 | |
| 174 | - return $erreurs; |
|
| 174 | + return $erreurs; |
|
| 175 | 175 | } |
| 176 | 176 | |
| 177 | 177 | /** |
@@ -197,22 +197,22 @@ discard block |
||
| 197 | 197 | * Retour des traitements |
| 198 | 198 | **/ |
| 199 | 199 | function formulaires_editer_rubrique_traiter_dist( |
| 200 | - $id_rubrique = 'new', |
|
| 201 | - $id_parent = 0, |
|
| 202 | - $retour = '', |
|
| 203 | - $lier_trad = 0, |
|
| 204 | - $config_fonc = 'rubriques_edit_config', |
|
| 205 | - $row = [], |
|
| 206 | - $hidden = '' |
|
| 200 | + $id_rubrique = 'new', |
|
| 201 | + $id_parent = 0, |
|
| 202 | + $retour = '', |
|
| 203 | + $lier_trad = 0, |
|
| 204 | + $config_fonc = 'rubriques_edit_config', |
|
| 205 | + $row = [], |
|
| 206 | + $hidden = '' |
|
| 207 | 207 | ) { |
| 208 | - return formulaires_editer_objet_traiter( |
|
| 209 | - 'rubrique', |
|
| 210 | - $id_rubrique, |
|
| 211 | - $id_parent, |
|
| 212 | - $lier_trad, |
|
| 213 | - $retour, |
|
| 214 | - $config_fonc, |
|
| 215 | - $row, |
|
| 216 | - $hidden |
|
| 217 | - ); |
|
| 208 | + return formulaires_editer_objet_traiter( |
|
| 209 | + 'rubrique', |
|
| 210 | + $id_rubrique, |
|
| 211 | + $id_parent, |
|
| 212 | + $lier_trad, |
|
| 213 | + $retour, |
|
| 214 | + $config_fonc, |
|
| 215 | + $row, |
|
| 216 | + $hidden |
|
| 217 | + ); |
|
| 218 | 218 | } |
@@ -1,22 +1,22 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 4 | - return; |
|
| 4 | + return; |
|
| 5 | 5 | } |
| 6 | 6 | |
| 7 | 7 | function trier_rss($texte) { |
| 8 | - if (preg_match_all(',<item.*</item>\s*?,Uims', (string) $texte, $matches, PREG_SET_ORDER)) { |
|
| 9 | - $placeholder = '<!--REINSERT-->'; |
|
| 10 | - $items = []; |
|
| 11 | - foreach ($matches as $match) { |
|
| 12 | - if (preg_match(',<dc:date>(.*)</dc:date>,Uims', $match[0], $r)) { |
|
| 13 | - $items[strtotime($r[1])] = trim($match[0]); |
|
| 14 | - $texte = str_replace($match[0], unique($placeholder), (string) $texte); |
|
| 15 | - } |
|
| 16 | - } |
|
| 17 | - krsort($items); |
|
| 18 | - $texte = str_replace($placeholder, implode("\n\t", $items) . "\n", (string) $texte); |
|
| 19 | - } |
|
| 8 | + if (preg_match_all(',<item.*</item>\s*?,Uims', (string) $texte, $matches, PREG_SET_ORDER)) { |
|
| 9 | + $placeholder = '<!--REINSERT-->'; |
|
| 10 | + $items = []; |
|
| 11 | + foreach ($matches as $match) { |
|
| 12 | + if (preg_match(',<dc:date>(.*)</dc:date>,Uims', $match[0], $r)) { |
|
| 13 | + $items[strtotime($r[1])] = trim($match[0]); |
|
| 14 | + $texte = str_replace($match[0], unique($placeholder), (string) $texte); |
|
| 15 | + } |
|
| 16 | + } |
|
| 17 | + krsort($items); |
|
| 18 | + $texte = str_replace($placeholder, implode("\n\t", $items) . "\n", (string) $texte); |
|
| 19 | + } |
|
| 20 | 20 | |
| 21 | - return $texte; |
|
| 21 | + return $texte; |
|
| 22 | 22 | } |
@@ -15,7 +15,7 @@ |
||
| 15 | 15 | } |
| 16 | 16 | } |
| 17 | 17 | krsort($items); |
| 18 | - $texte = str_replace($placeholder, implode("\n\t", $items) . "\n", (string) $texte); |
|
| 18 | + $texte = str_replace($placeholder, implode("\n\t", $items)."\n", (string) $texte); |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | return $texte; |
@@ -10,40 +10,40 @@ |
||
| 10 | 10 | \***************************************************************************/ |
| 11 | 11 | |
| 12 | 12 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 13 | - return; |
|
| 13 | + return; |
|
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | function defaut_tri_defined($defaut) { |
| 17 | - if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 18 | - return $defaut; |
|
| 19 | - } |
|
| 17 | + if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 18 | + return $defaut; |
|
| 19 | + } |
|
| 20 | 20 | |
| 21 | - $sens = 1; |
|
| 22 | - $tri = trim((string) _TRI_ARTICLES_RUBRIQUE); |
|
| 23 | - $tri = explode(' ', $tri); |
|
| 24 | - if (strncasecmp(end($tri), 'DESC', 4) == 0) { |
|
| 25 | - $sens = -1; |
|
| 26 | - array_pop($tri); |
|
| 27 | - } elseif (strncasecmp(end($tri), 'ASC', 3) == 0) { |
|
| 28 | - $sens = 1; |
|
| 29 | - array_pop($tri); |
|
| 30 | - } |
|
| 31 | - $tri = implode(' ', $tri); |
|
| 32 | - $tri = [$tri => $sens]; |
|
| 33 | - foreach ($defaut as $n => $s) { |
|
| 34 | - if (!isset($tri[$n])) { |
|
| 35 | - $tri[$n] = $s; |
|
| 36 | - } |
|
| 37 | - } |
|
| 21 | + $sens = 1; |
|
| 22 | + $tri = trim((string) _TRI_ARTICLES_RUBRIQUE); |
|
| 23 | + $tri = explode(' ', $tri); |
|
| 24 | + if (strncasecmp(end($tri), 'DESC', 4) == 0) { |
|
| 25 | + $sens = -1; |
|
| 26 | + array_pop($tri); |
|
| 27 | + } elseif (strncasecmp(end($tri), 'ASC', 3) == 0) { |
|
| 28 | + $sens = 1; |
|
| 29 | + array_pop($tri); |
|
| 30 | + } |
|
| 31 | + $tri = implode(' ', $tri); |
|
| 32 | + $tri = [$tri => $sens]; |
|
| 33 | + foreach ($defaut as $n => $s) { |
|
| 34 | + if (!isset($tri[$n])) { |
|
| 35 | + $tri[$n] = $s; |
|
| 36 | + } |
|
| 37 | + } |
|
| 38 | 38 | |
| 39 | - return $tri; |
|
| 39 | + return $tri; |
|
| 40 | 40 | } |
| 41 | 41 | |
| 42 | 42 | function defaut_tri_par($par, $defaut) { |
| 43 | - if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 44 | - return $par; |
|
| 45 | - } |
|
| 46 | - $par = array_keys($defaut); |
|
| 43 | + if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 44 | + return $par; |
|
| 45 | + } |
|
| 46 | + $par = array_keys($defaut); |
|
| 47 | 47 | |
| 48 | - return reset($par); |
|
| 48 | + return reset($par); |
|
| 49 | 49 | } |
@@ -10,53 +10,53 @@ |
||
| 10 | 10 | \***************************************************************************/ |
| 11 | 11 | |
| 12 | 12 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 13 | - return; |
|
| 13 | + return; |
|
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | // Fonction appelee par divers pipelines |
| 17 | 17 | function notifications_instituerarticle_dist($quoi, $id_article, $options) { |
| 18 | 18 | |
| 19 | - // ne devrait jamais se produire |
|
| 20 | - if ($options['statut'] == $options['statut_ancien']) { |
|
| 21 | - spip_log('statut inchange', 'notifications'); |
|
| 22 | - |
|
| 23 | - return; |
|
| 24 | - } |
|
| 25 | - |
|
| 26 | - include_spip('inc/texte'); |
|
| 27 | - |
|
| 28 | - $modele = ''; |
|
| 29 | - if ($options['statut'] == 'publie') { |
|
| 30 | - if ( |
|
| 31 | - $GLOBALS['meta']['post_dates'] == 'non' |
|
| 32 | - && strtotime((string) $options['date']) > time() |
|
| 33 | - ) { |
|
| 34 | - $modele = 'notifications/article_valide'; |
|
| 35 | - } else { |
|
| 36 | - $modele = 'notifications/article_publie'; |
|
| 37 | - } |
|
| 38 | - } |
|
| 39 | - |
|
| 40 | - if ($options['statut'] == 'prop' && $options['statut_ancien'] != 'publie') { |
|
| 41 | - $modele = 'notifications/article_propose'; |
|
| 42 | - } |
|
| 43 | - |
|
| 44 | - if ($modele) { |
|
| 45 | - $destinataires = []; |
|
| 46 | - if ($GLOBALS['meta']['suivi_edito'] == 'oui') { |
|
| 47 | - $destinataires = explode(',', (string) $GLOBALS['meta']['adresse_suivi']); |
|
| 48 | - } |
|
| 49 | - |
|
| 50 | - |
|
| 51 | - $destinataires = pipeline( |
|
| 52 | - 'notifications_destinataires', |
|
| 53 | - [ |
|
| 54 | - 'args' => ['quoi' => $quoi, 'id' => $id_article, 'options' => $options], |
|
| 55 | - 'data' => $destinataires |
|
| 56 | - ] |
|
| 57 | - ); |
|
| 58 | - |
|
| 59 | - $texte = email_notification_article($id_article, $modele); |
|
| 60 | - notifications_envoyer_mails($destinataires, $texte); |
|
| 61 | - } |
|
| 19 | + // ne devrait jamais se produire |
|
| 20 | + if ($options['statut'] == $options['statut_ancien']) { |
|
| 21 | + spip_log('statut inchange', 'notifications'); |
|
| 22 | + |
|
| 23 | + return; |
|
| 24 | + } |
|
| 25 | + |
|
| 26 | + include_spip('inc/texte'); |
|
| 27 | + |
|
| 28 | + $modele = ''; |
|
| 29 | + if ($options['statut'] == 'publie') { |
|
| 30 | + if ( |
|
| 31 | + $GLOBALS['meta']['post_dates'] == 'non' |
|
| 32 | + && strtotime((string) $options['date']) > time() |
|
| 33 | + ) { |
|
| 34 | + $modele = 'notifications/article_valide'; |
|
| 35 | + } else { |
|
| 36 | + $modele = 'notifications/article_publie'; |
|
| 37 | + } |
|
| 38 | + } |
|
| 39 | + |
|
| 40 | + if ($options['statut'] == 'prop' && $options['statut_ancien'] != 'publie') { |
|
| 41 | + $modele = 'notifications/article_propose'; |
|
| 42 | + } |
|
| 43 | + |
|
| 44 | + if ($modele) { |
|
| 45 | + $destinataires = []; |
|
| 46 | + if ($GLOBALS['meta']['suivi_edito'] == 'oui') { |
|
| 47 | + $destinataires = explode(',', (string) $GLOBALS['meta']['adresse_suivi']); |
|
| 48 | + } |
|
| 49 | + |
|
| 50 | + |
|
| 51 | + $destinataires = pipeline( |
|
| 52 | + 'notifications_destinataires', |
|
| 53 | + [ |
|
| 54 | + 'args' => ['quoi' => $quoi, 'id' => $id_article, 'options' => $options], |
|
| 55 | + 'data' => $destinataires |
|
| 56 | + ] |
|
| 57 | + ); |
|
| 58 | + |
|
| 59 | + $texte = email_notification_article($id_article, $modele); |
|
| 60 | + notifications_envoyer_mails($destinataires, $texte); |
|
| 61 | + } |
|
| 62 | 62 | } |
@@ -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,45 +34,45 @@ discard block |
||
| 34 | 34 | */ |
| 35 | 35 | function install_etape_1_dist() { |
| 36 | 36 | |
| 37 | - $minipage = new Spip\Afficher\Minipage\Installation(); |
|
| 38 | - echo $minipage->installDebutPage(); |
|
| 37 | + $minipage = new Spip\Afficher\Minipage\Installation(); |
|
| 38 | + echo $minipage->installDebutPage(); |
|
| 39 | 39 | |
| 40 | - // stopper en cas de grosse incompatibilite de l'hebergement |
|
| 41 | - tester_compatibilite_hebergement(); |
|
| 40 | + // stopper en cas de grosse incompatibilite de l'hebergement |
|
| 41 | + tester_compatibilite_hebergement(); |
|
| 42 | 42 | |
| 43 | - // Recuperer les anciennes donnees pour plus de facilite (si presentes) |
|
| 44 | - $s = @is_readable(_FILE_CONNECT_TMP) ? analyse_fichier_connection(_FILE_CONNECT_TMP) : ''; |
|
| 43 | + // Recuperer les anciennes donnees pour plus de facilite (si presentes) |
|
| 44 | + $s = @is_readable(_FILE_CONNECT_TMP) ? analyse_fichier_connection(_FILE_CONNECT_TMP) : ''; |
|
| 45 | 45 | |
| 46 | - [$adresse_db, $login_db] = $s ?: ['localhost', '']; |
|
| 46 | + [$adresse_db, $login_db] = $s ?: ['localhost', '']; |
|
| 47 | 47 | |
| 48 | - $chmod = (isset($_GET['chmod']) && preg_match(',^\d+$,', (string) $_GET['chmod'])) ? |
|
| 49 | - sprintf('%04o', $_GET['chmod']) : '0777'; |
|
| 48 | + $chmod = (isset($_GET['chmod']) && preg_match(',^\d+$,', (string) $_GET['chmod'])) ? |
|
| 49 | + sprintf('%04o', $_GET['chmod']) : '0777'; |
|
| 50 | 50 | |
| 51 | - if (@is_readable(_FILE_CHMOD_TMP)) { |
|
| 52 | - $s = @implode('', @file(_FILE_CHMOD_TMP)); |
|
| 53 | - if (preg_match("#define\('_SPIP_CHMOD', (.*)\)#", $s, $regs)) { |
|
| 54 | - $chmod = $regs[1]; |
|
| 55 | - } |
|
| 56 | - } |
|
| 51 | + if (@is_readable(_FILE_CHMOD_TMP)) { |
|
| 52 | + $s = @implode('', @file(_FILE_CHMOD_TMP)); |
|
| 53 | + if (preg_match("#define\('_SPIP_CHMOD', (.*)\)#", $s, $regs)) { |
|
| 54 | + $chmod = $regs[1]; |
|
| 55 | + } |
|
| 56 | + } |
|
| 57 | 57 | |
| 58 | 58 | |
| 59 | - $db = [$adresse_db, _T('entree_base_donnee_2')]; |
|
| 60 | - $login = [$login_db, _T('entree_login_connexion_2')]; |
|
| 61 | - $pass = ['', _T('entree_mot_passe_2')]; |
|
| 59 | + $db = [$adresse_db, _T('entree_base_donnee_2')]; |
|
| 60 | + $login = [$login_db, _T('entree_login_connexion_2')]; |
|
| 61 | + $pass = ['', _T('entree_mot_passe_2')]; |
|
| 62 | 62 | |
| 63 | - $predef = [ |
|
| 64 | - defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : '', |
|
| 65 | - defined('_INSTALL_HOST_DB'), |
|
| 66 | - defined('_INSTALL_USER_DB'), |
|
| 67 | - defined('_INSTALL_PASS_DB') |
|
| 68 | - ]; |
|
| 63 | + $predef = [ |
|
| 64 | + defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : '', |
|
| 65 | + defined('_INSTALL_HOST_DB'), |
|
| 66 | + defined('_INSTALL_USER_DB'), |
|
| 67 | + defined('_INSTALL_PASS_DB') |
|
| 68 | + ]; |
|
| 69 | 69 | |
| 70 | 70 | |
| 71 | - echo info_progression_etape(1, 'etape_', 'install/'); |
|
| 71 | + echo info_progression_etape(1, 'etape_', 'install/'); |
|
| 72 | 72 | |
| 73 | - // ces deux chaines de langues doivent etre reecrites |
|
| 73 | + // ces deux chaines de langues doivent etre reecrites |
|
| 74 | 74 | # echo info_etape(_T('info_connexion_mysql'), _T('texte_connexion_mysql').aide ("install1", true)); |
| 75 | - echo info_etape(_T('info_connexion_base_donnee')); |
|
| 76 | - echo install_connexion_form($db, $login, $pass, $predef, "\n<input type='hidden' name='chmod' value='$chmod' />", 2); |
|
| 77 | - echo $minipage->installFinPage(); |
|
| 75 | + echo info_etape(_T('info_connexion_base_donnee')); |
|
| 76 | + echo install_connexion_form($db, $login, $pass, $predef, "\n<input type='hidden' name='chmod' value='$chmod' />", 2); |
|
| 77 | + echo $minipage->installFinPage(); |
|
| 78 | 78 | } |
@@ -10,11 +10,11 @@ discard block |
||
| 10 | 10 | \***************************************************************************/ |
| 11 | 11 | |
| 12 | 12 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 13 | - return; |
|
| 13 | + return; |
|
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | if (defined('_TEST_DIRS')) { |
| 17 | - return; |
|
| 17 | + return; |
|
| 18 | 18 | } |
| 19 | 19 | define('_TEST_DIRS', '1'); |
| 20 | 20 | |
@@ -26,38 +26,38 @@ discard block |
||
| 26 | 26 | // Tente d'ecrire |
| 27 | 27 | // |
| 28 | 28 | function test_ecrire($my_dir) { |
| 29 | - static $chmod = 0; |
|
| 30 | - |
|
| 31 | - $ok = false; |
|
| 32 | - $script = @file_exists('spip_loader.php') ? 'spip_loader.php' : $_SERVER['PHP_SELF']; |
|
| 33 | - $self = basename((string) $script); |
|
| 34 | - $uid = @fileowner('.'); |
|
| 35 | - $uid2 = @fileowner($self); |
|
| 36 | - $gid = @filegroup('.'); |
|
| 37 | - $gid2 = @filegroup($self); |
|
| 38 | - $perms = @fileperms($self); |
|
| 39 | - |
|
| 40 | - // Comparer l'appartenance d'un fichier cree par PHP |
|
| 41 | - // avec celle du script et du repertoire courant |
|
| 42 | - if (!$chmod) { |
|
| 43 | - @rmdir('test'); |
|
| 44 | - spip_unlink('test'); // effacer au cas ou |
|
| 45 | - @touch('test'); |
|
| 46 | - if ($uid > 0 && $uid == $uid2 && @fileowner('test') == $uid) { |
|
| 47 | - $chmod = 0700; |
|
| 48 | - } else { |
|
| 49 | - $chmod = $gid > 0 && $gid == $gid2 && @filegroup('test') == $gid ? 0770 : 0777; |
|
| 50 | - } |
|
| 51 | - // Appliquer de plus les droits d'acces du script |
|
| 52 | - if ($perms > 0) { |
|
| 53 | - $perms = ($perms & 0777) | (($perms & 0444) >> 2); |
|
| 54 | - $chmod |= $perms; |
|
| 55 | - } |
|
| 56 | - spip_unlink('test'); |
|
| 57 | - } |
|
| 58 | - $ok = is_dir($my_dir) && is_writable($my_dir); |
|
| 59 | - |
|
| 60 | - return $ok ? $chmod : false; |
|
| 29 | + static $chmod = 0; |
|
| 30 | + |
|
| 31 | + $ok = false; |
|
| 32 | + $script = @file_exists('spip_loader.php') ? 'spip_loader.php' : $_SERVER['PHP_SELF']; |
|
| 33 | + $self = basename((string) $script); |
|
| 34 | + $uid = @fileowner('.'); |
|
| 35 | + $uid2 = @fileowner($self); |
|
| 36 | + $gid = @filegroup('.'); |
|
| 37 | + $gid2 = @filegroup($self); |
|
| 38 | + $perms = @fileperms($self); |
|
| 39 | + |
|
| 40 | + // Comparer l'appartenance d'un fichier cree par PHP |
|
| 41 | + // avec celle du script et du repertoire courant |
|
| 42 | + if (!$chmod) { |
|
| 43 | + @rmdir('test'); |
|
| 44 | + spip_unlink('test'); // effacer au cas ou |
|
| 45 | + @touch('test'); |
|
| 46 | + if ($uid > 0 && $uid == $uid2 && @fileowner('test') == $uid) { |
|
| 47 | + $chmod = 0700; |
|
| 48 | + } else { |
|
| 49 | + $chmod = $gid > 0 && $gid == $gid2 && @filegroup('test') == $gid ? 0770 : 0777; |
|
| 50 | + } |
|
| 51 | + // Appliquer de plus les droits d'acces du script |
|
| 52 | + if ($perms > 0) { |
|
| 53 | + $perms = ($perms & 0777) | (($perms & 0444) >> 2); |
|
| 54 | + $chmod |= $perms; |
|
| 55 | + } |
|
| 56 | + spip_unlink('test'); |
|
| 57 | + } |
|
| 58 | + $ok = is_dir($my_dir) && is_writable($my_dir); |
|
| 59 | + |
|
| 60 | + return $ok ? $chmod : false; |
|
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | // |
@@ -67,84 +67,84 @@ discard block |
||
| 67 | 67 | |
| 68 | 68 | function install_etape_chmod_dist() { |
| 69 | 69 | |
| 70 | - $continuer = null; |
|
| 71 | - $test_dir = _request('test_dir'); |
|
| 72 | - $chmod = 0; |
|
| 73 | - |
|
| 74 | - if ($test_dir && !str_contains((string) $test_dir, '..')) { |
|
| 75 | - if (!str_ends_with((string) $test_dir, '/')) { |
|
| 76 | - $test_dir .= '/'; |
|
| 77 | - } |
|
| 78 | - if (!in_array($test_dir, $GLOBALS['test_dirs'])) { |
|
| 79 | - $GLOBALS['test_dirs'][] = _DIR_RACINE . $test_dir; |
|
| 80 | - } |
|
| 81 | - } else { |
|
| 82 | - if (!_FILE_CONNECT) { |
|
| 83 | - $GLOBALS['test_dirs'][] = _DIR_CONNECT; |
|
| 84 | - $GLOBALS['test_dirs'][] = _DIR_CHMOD; |
|
| 85 | - } |
|
| 86 | - } |
|
| 87 | - |
|
| 88 | - $bad_dirs = []; |
|
| 89 | - $absent_dirs = []; |
|
| 90 | - |
|
| 91 | - foreach ($GLOBALS['test_dirs'] as $i => $my_dir) { |
|
| 92 | - $test = test_ecrire($my_dir); |
|
| 93 | - if (!$test) { |
|
| 94 | - $m = preg_replace(',^' . _DIR_RACINE . ',', '', (string) $my_dir); |
|
| 95 | - if (@file_exists($my_dir)) { |
|
| 96 | - $bad_dirs['<li>' . $m . '</li>'] = 1; |
|
| 97 | - } else { |
|
| 98 | - $absent_dirs['<li>' . $m . '</li>'] = 1; |
|
| 99 | - } |
|
| 100 | - } else { |
|
| 101 | - $chmod = max($chmod, $test); |
|
| 102 | - } |
|
| 103 | - } |
|
| 104 | - |
|
| 105 | - if ($bad_dirs || $absent_dirs) { |
|
| 106 | - if (!_FILE_CONNECT) { |
|
| 107 | - $titre = _T('dirs_preliminaire'); |
|
| 108 | - $continuer = ' ' . _T('dirs_commencer') . '.'; |
|
| 109 | - } else { |
|
| 110 | - $titre = _T('dirs_probleme_droits'); |
|
| 111 | - } |
|
| 112 | - |
|
| 113 | - |
|
| 114 | - $res = "<div align='right'>" . menu_langues('var_lang_ecrire') . "</div>\n"; |
|
| 115 | - |
|
| 116 | - if ($bad_dirs) { |
|
| 117 | - $res .= |
|
| 118 | - _T( |
|
| 119 | - 'dirs_repertoires_suivants', |
|
| 120 | - ['bad_dirs' => implode("\n", array_keys($bad_dirs))] |
|
| 121 | - ) . |
|
| 122 | - '<b>' . _T('login_recharger') . '</b>.'; |
|
| 123 | - } |
|
| 124 | - |
|
| 125 | - if ($absent_dirs) { |
|
| 126 | - $res .= |
|
| 127 | - _T( |
|
| 128 | - 'dirs_repertoires_absents', |
|
| 129 | - ['bad_dirs' => implode("\n", array_keys($absent_dirs))] |
|
| 130 | - ) . |
|
| 131 | - '<b>' . _T('login_recharger') . '</b>.'; |
|
| 132 | - } |
|
| 133 | - $res = '<p>' . $continuer . $res . aider('install0', true) . '</p>'; |
|
| 134 | - |
|
| 135 | - $t = _T('login_recharger'); |
|
| 136 | - $t = ($test_dir ? "<input type='hidden' name='test_dir' value='" . spip_htmlspecialchars($test_dir, ENT_QUOTES) . "' />" : |
|
| 137 | - '') |
|
| 138 | - . "<input type='hidden' name='etape' value='chmod' />" |
|
| 139 | - . "<div style='text-align: right'><input type='submit' value='" . attribut_html($t) . "' /></div>"; |
|
| 140 | - |
|
| 141 | - echo minipres($titre, $res . generer_form_ecrire('install', $t)); |
|
| 142 | - } else { |
|
| 143 | - $deja = (_FILE_CONNECT && analyse_fichier_connection(_FILE_CONNECT)); |
|
| 144 | - if (!$deja) { |
|
| 145 | - redirige_url_ecrire('install', 'etape=1&chmod=' . $chmod); |
|
| 146 | - } else { |
|
| 147 | - redirige_url_ecrire(); |
|
| 148 | - } |
|
| 149 | - } |
|
| 70 | + $continuer = null; |
|
| 71 | + $test_dir = _request('test_dir'); |
|
| 72 | + $chmod = 0; |
|
| 73 | + |
|
| 74 | + if ($test_dir && !str_contains((string) $test_dir, '..')) { |
|
| 75 | + if (!str_ends_with((string) $test_dir, '/')) { |
|
| 76 | + $test_dir .= '/'; |
|
| 77 | + } |
|
| 78 | + if (!in_array($test_dir, $GLOBALS['test_dirs'])) { |
|
| 79 | + $GLOBALS['test_dirs'][] = _DIR_RACINE . $test_dir; |
|
| 80 | + } |
|
| 81 | + } else { |
|
| 82 | + if (!_FILE_CONNECT) { |
|
| 83 | + $GLOBALS['test_dirs'][] = _DIR_CONNECT; |
|
| 84 | + $GLOBALS['test_dirs'][] = _DIR_CHMOD; |
|
| 85 | + } |
|
| 86 | + } |
|
| 87 | + |
|
| 88 | + $bad_dirs = []; |
|
| 89 | + $absent_dirs = []; |
|
| 90 | + |
|
| 91 | + foreach ($GLOBALS['test_dirs'] as $i => $my_dir) { |
|
| 92 | + $test = test_ecrire($my_dir); |
|
| 93 | + if (!$test) { |
|
| 94 | + $m = preg_replace(',^' . _DIR_RACINE . ',', '', (string) $my_dir); |
|
| 95 | + if (@file_exists($my_dir)) { |
|
| 96 | + $bad_dirs['<li>' . $m . '</li>'] = 1; |
|
| 97 | + } else { |
|
| 98 | + $absent_dirs['<li>' . $m . '</li>'] = 1; |
|
| 99 | + } |
|
| 100 | + } else { |
|
| 101 | + $chmod = max($chmod, $test); |
|
| 102 | + } |
|
| 103 | + } |
|
| 104 | + |
|
| 105 | + if ($bad_dirs || $absent_dirs) { |
|
| 106 | + if (!_FILE_CONNECT) { |
|
| 107 | + $titre = _T('dirs_preliminaire'); |
|
| 108 | + $continuer = ' ' . _T('dirs_commencer') . '.'; |
|
| 109 | + } else { |
|
| 110 | + $titre = _T('dirs_probleme_droits'); |
|
| 111 | + } |
|
| 112 | + |
|
| 113 | + |
|
| 114 | + $res = "<div align='right'>" . menu_langues('var_lang_ecrire') . "</div>\n"; |
|
| 115 | + |
|
| 116 | + if ($bad_dirs) { |
|
| 117 | + $res .= |
|
| 118 | + _T( |
|
| 119 | + 'dirs_repertoires_suivants', |
|
| 120 | + ['bad_dirs' => implode("\n", array_keys($bad_dirs))] |
|
| 121 | + ) . |
|
| 122 | + '<b>' . _T('login_recharger') . '</b>.'; |
|
| 123 | + } |
|
| 124 | + |
|
| 125 | + if ($absent_dirs) { |
|
| 126 | + $res .= |
|
| 127 | + _T( |
|
| 128 | + 'dirs_repertoires_absents', |
|
| 129 | + ['bad_dirs' => implode("\n", array_keys($absent_dirs))] |
|
| 130 | + ) . |
|
| 131 | + '<b>' . _T('login_recharger') . '</b>.'; |
|
| 132 | + } |
|
| 133 | + $res = '<p>' . $continuer . $res . aider('install0', true) . '</p>'; |
|
| 134 | + |
|
| 135 | + $t = _T('login_recharger'); |
|
| 136 | + $t = ($test_dir ? "<input type='hidden' name='test_dir' value='" . spip_htmlspecialchars($test_dir, ENT_QUOTES) . "' />" : |
|
| 137 | + '') |
|
| 138 | + . "<input type='hidden' name='etape' value='chmod' />" |
|
| 139 | + . "<div style='text-align: right'><input type='submit' value='" . attribut_html($t) . "' /></div>"; |
|
| 140 | + |
|
| 141 | + echo minipres($titre, $res . generer_form_ecrire('install', $t)); |
|
| 142 | + } else { |
|
| 143 | + $deja = (_FILE_CONNECT && analyse_fichier_connection(_FILE_CONNECT)); |
|
| 144 | + if (!$deja) { |
|
| 145 | + redirige_url_ecrire('install', 'etape=1&chmod=' . $chmod); |
|
| 146 | + } else { |
|
| 147 | + redirige_url_ecrire(); |
|
| 148 | + } |
|
| 149 | + } |
|
| 150 | 150 | } |
@@ -76,7 +76,7 @@ discard block |
||
| 76 | 76 | $test_dir .= '/'; |
| 77 | 77 | } |
| 78 | 78 | if (!in_array($test_dir, $GLOBALS['test_dirs'])) { |
| 79 | - $GLOBALS['test_dirs'][] = _DIR_RACINE . $test_dir; |
|
| 79 | + $GLOBALS['test_dirs'][] = _DIR_RACINE.$test_dir; |
|
| 80 | 80 | } |
| 81 | 81 | } else { |
| 82 | 82 | if (!_FILE_CONNECT) { |
@@ -91,11 +91,11 @@ discard block |
||
| 91 | 91 | foreach ($GLOBALS['test_dirs'] as $i => $my_dir) { |
| 92 | 92 | $test = test_ecrire($my_dir); |
| 93 | 93 | if (!$test) { |
| 94 | - $m = preg_replace(',^' . _DIR_RACINE . ',', '', (string) $my_dir); |
|
| 94 | + $m = preg_replace(',^'._DIR_RACINE.',', '', (string) $my_dir); |
|
| 95 | 95 | if (@file_exists($my_dir)) { |
| 96 | - $bad_dirs['<li>' . $m . '</li>'] = 1; |
|
| 96 | + $bad_dirs['<li>'.$m.'</li>'] = 1; |
|
| 97 | 97 | } else { |
| 98 | - $absent_dirs['<li>' . $m . '</li>'] = 1; |
|
| 98 | + $absent_dirs['<li>'.$m.'</li>'] = 1; |
|
| 99 | 99 | } |
| 100 | 100 | } else { |
| 101 | 101 | $chmod = max($chmod, $test); |
@@ -105,21 +105,21 @@ discard block |
||
| 105 | 105 | if ($bad_dirs || $absent_dirs) { |
| 106 | 106 | if (!_FILE_CONNECT) { |
| 107 | 107 | $titre = _T('dirs_preliminaire'); |
| 108 | - $continuer = ' ' . _T('dirs_commencer') . '.'; |
|
| 108 | + $continuer = ' '._T('dirs_commencer').'.'; |
|
| 109 | 109 | } else { |
| 110 | 110 | $titre = _T('dirs_probleme_droits'); |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | |
| 114 | - $res = "<div align='right'>" . menu_langues('var_lang_ecrire') . "</div>\n"; |
|
| 114 | + $res = "<div align='right'>".menu_langues('var_lang_ecrire')."</div>\n"; |
|
| 115 | 115 | |
| 116 | 116 | if ($bad_dirs) { |
| 117 | 117 | $res .= |
| 118 | 118 | _T( |
| 119 | 119 | 'dirs_repertoires_suivants', |
| 120 | 120 | ['bad_dirs' => implode("\n", array_keys($bad_dirs))] |
| 121 | - ) . |
|
| 122 | - '<b>' . _T('login_recharger') . '</b>.'; |
|
| 121 | + ). |
|
| 122 | + '<b>'._T('login_recharger').'</b>.'; |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | 125 | if ($absent_dirs) { |
@@ -127,22 +127,21 @@ discard block |
||
| 127 | 127 | _T( |
| 128 | 128 | 'dirs_repertoires_absents', |
| 129 | 129 | ['bad_dirs' => implode("\n", array_keys($absent_dirs))] |
| 130 | - ) . |
|
| 131 | - '<b>' . _T('login_recharger') . '</b>.'; |
|
| 130 | + ). |
|
| 131 | + '<b>'._T('login_recharger').'</b>.'; |
|
| 132 | 132 | } |
| 133 | - $res = '<p>' . $continuer . $res . aider('install0', true) . '</p>'; |
|
| 133 | + $res = '<p>'.$continuer.$res.aider('install0', true).'</p>'; |
|
| 134 | 134 | |
| 135 | 135 | $t = _T('login_recharger'); |
| 136 | - $t = ($test_dir ? "<input type='hidden' name='test_dir' value='" . spip_htmlspecialchars($test_dir, ENT_QUOTES) . "' />" : |
|
| 137 | - '') |
|
| 136 | + $t = ($test_dir ? "<input type='hidden' name='test_dir' value='".spip_htmlspecialchars($test_dir, ENT_QUOTES)."' />" : '') |
|
| 138 | 137 | . "<input type='hidden' name='etape' value='chmod' />" |
| 139 | - . "<div style='text-align: right'><input type='submit' value='" . attribut_html($t) . "' /></div>"; |
|
| 138 | + . "<div style='text-align: right'><input type='submit' value='".attribut_html($t)."' /></div>"; |
|
| 140 | 139 | |
| 141 | - echo minipres($titre, $res . generer_form_ecrire('install', $t)); |
|
| 140 | + echo minipres($titre, $res.generer_form_ecrire('install', $t)); |
|
| 142 | 141 | } else { |
| 143 | 142 | $deja = (_FILE_CONNECT && analyse_fichier_connection(_FILE_CONNECT)); |
| 144 | 143 | if (!$deja) { |
| 145 | - redirige_url_ecrire('install', 'etape=1&chmod=' . $chmod); |
|
| 144 | + redirige_url_ecrire('install', 'etape=1&chmod='.$chmod); |
|
| 146 | 145 | } else { |
| 147 | 146 | redirige_url_ecrire(); |
| 148 | 147 | } |