Completed
Push — master ( ad4f09...6d727b )
by cam
01:02 queued 13s
created
ecrire/lang/ecrire_bs.php 1 patch
Indentation   +513 added lines, -513 removed lines patch added patch discarded remove patch
@@ -4,539 +4,539 @@
 block discarded – undo
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
 );
Please login to merge, or discard this patch.
prive/formulaires/declarer_bases.php 2 patches
Indentation   +181 added lines, -181 removed lines patch added patch discarded remove patch
@@ -10,210 +10,210 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
prive/formulaires/login.php 2 patches
Indentation   +247 added lines, -247 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 		);
Please login to merge, or discard this patch.
prive/formulaires/editer_rubrique.php 1 patch
Indentation   +77 added lines, -77 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
prive/transmettre/rss/a_suivre_fonctions.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -1,22 +1,22 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@
 block discarded – undo
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;
Please login to merge, or discard this patch.
prive/objets/liste/articles_fonctions.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -10,40 +10,40 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
ecrire/notifications/instituerarticle.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -10,53 +10,53 @@
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
ecrire/install/etape_1.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
ecrire/install/etape_chmod.php 2 patches
Indentation   +114 added lines, -114 removed lines patch added patch discarded remove patch
@@ -10,11 +10,11 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 }
Please login to merge, or discard this patch.
Spacing   +15 added lines, -16 removed lines patch added patch discarded remove patch
@@ -76,7 +76,7 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 		}
Please login to merge, or discard this patch.