Completed
Push — master ( 96aef1...4b20f4 )
by cam
01:29
created
ecrire/lang/public_oc_ni.php 1 patch
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -4,118 +4,118 @@
 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
-	'accueil_site' => 'Acuèlh',
14
-	'article' => 'Article',
15
-	'articles' => 'Articles',
16
-	'articles_auteur' => 'Articles d’aquel autor',
17
-	'articles_populaires' => 'Lu articles mai populars',
18
-	'articles_rubrique' => 'Articles d’aquela rubrica',
19
-	'aucun_article' => 'Li a minga d’article à-n-aquela adreça',
20
-	'aucun_auteur' => 'Li a minga d’autor à-n-aquela adreça',
21
-	'aucun_site' => 'Li a minga de site à-n-aquela adreça',
22
-	'aucune_breve' => 'Li a minga de brèva à-n-aquela adreça',
23
-	'aucune_rubrique' => 'Li a minga de rubrica à-n-aquela adreça',
24
-	'auteur' => 'Autor',
25
-	'autres' => 'Autres',
26
-	'autres_breves' => 'Autri brèvas',
27
-	'autres_groupes_mots_clefs' => 'Autres grops de mòts claus',
28
-	'autres_sites' => 'Autres sites',
29
-
30
-	// B
31
-	'bonjour' => 'Boanjorn',
32
-
33
-	// C
34
-	'commenter_site' => 'Comentar aqueu site',
35
-	'contact' => 'Contacte',
36
-	'copie_document_impossible' => 'Impossible de copiar lo document',
37
-
38
-	// D
39
-	'date' => 'Data',
40
-	'dernier_ajout' => 'Darrier ajust',
41
-	'dernieres_breves' => 'Darrieras brèvas',
42
-	'derniers_articles' => 'Darriers articles',
43
-	'derniers_commentaires' => 'Darriers comentaris',
44
-	'derniers_messages_forum' => 'Darriers messatges publicats dins lu fòros',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'Edicion en mòde tèxt de',
48
-	'en_reponse' => 'En respoasta à:',
49
-	'en_resume' => 'En resumit',
50
-	'envoyer_message' => 'Mandar un messatge',
51
-	'espace_prive' => 'Espaci privat',
52
-
53
-	// F
54
-	'formats_acceptes' => 'Formats acceptats : @formats@.',
55
-
56
-	// H
57
-	'hierarchie_site' => 'Ierarquia dau sit',
58
-
59
-	// J
60
-	'jours' => 'jorns',
61
-
62
-	// L
63
-	'lien_connecter' => 'Si conectar',
64
-
65
-	// M
66
-	'meme_auteur' => 'Dau meme autor',
67
-	'meme_rubrique' => 'Dins la mema rubrica',
68
-	'memes_auteurs' => 'Dei memes autors',
69
-	'message' => 'Messatge',
70
-	'messages_forum' => 'Messatges',
71
-	'messages_recents' => 'Lu messatges de fòros mai recents',
72
-	'mots_clef' => 'Mòt-clau',
73
-	'mots_clefs' => 'Mòts-claus',
74
-	'mots_clefs_meme_groupe' => 'Mòts-claus dins lo meme grop',
75
-
76
-	// N
77
-	'navigation' => 'Navigacion',
78
-	'nom' => 'Nom',
79
-	'nouveautes' => 'Li novèutats',
80
-	'nouveautes_web' => 'Novèutats sus lo oèb',
81
-	'nouveaux_articles' => 'Articles nòus',
82
-	'nouvelles_breves' => 'Brèvas novèlas',
83
-
84
-	// P
85
-	'page_precedente' => 'pàgina anteriora',
86
-	'page_suivante' => 'pàgina seguenta',
87
-	'par_auteur' => 'da',
88
-	'participer_site' => 'Podètz participar à la vida d’aqueu sit e prepauar lu voastres articles en vos inscrivent çai sota. Receberètz un e-mail que v’indicarà lu voastres còdes per accedir à l’espaci privat dau sit.',
89
-	'plan_site' => 'Plan dau site',
90
-	'popularite' => 'Popularitat',
91
-	'poster_message' => 'Postar un messatge',
92
-	'proposer_site' => 'Podètz prepauar un site à ajustar en aquela rubrica:',
93
-
94
-	// R
95
-	'repondre_article' => 'Respoandre à-n-aquel article',
96
-	'repondre_breve' => 'Respoandre à-n-aquela brèva',
97
-	'resultats_recherche' => 'Resultats de la recèrca',
98
-	'retour_debut_forums' => 'Retorn au començament dei fòros',
99
-	'rubrique' => 'Rubrica',
100
-	'rubriques' => 'Rubricas',
101
-
102
-	// S
103
-	'signatures_petition' => 'Firmas',
104
-	'site_realise_avec_spip' => 'Sit realisat embé SPIP',
105
-	'sites_web' => 'Sits web',
106
-	'sous_rubriques' => 'Sosrubricas',
107
-	'spam' => 'Espam',
108
-	'suite' => 'seguida',
109
-	'sur_web' => 'Sus lo oèb',
110
-	'syndiquer_rubrique' => 'Sindicar aquela rubrica',
111
-	'syndiquer_site' => 'Sindicar tot lo sit',
112
-
113
-	// T
114
-	'texte_lettre_information' => 'Vequí la letra d’informacion dau sit',
115
-	'texte_lettre_information_2' => 'Aquela letra recensa li noveutas publicadi despí',
116
-
117
-	// V
118
-	'ver_imprimer' => 'Version d’estampar',
119
-	'voir_en_ligne' => 'Vejatz en linha',
120
-	'voir_squelette' => 'veire l’esqueleta d’aquela pàgina'
12
+    // A
13
+    'accueil_site' => 'Acuèlh',
14
+    'article' => 'Article',
15
+    'articles' => 'Articles',
16
+    'articles_auteur' => 'Articles d’aquel autor',
17
+    'articles_populaires' => 'Lu articles mai populars',
18
+    'articles_rubrique' => 'Articles d’aquela rubrica',
19
+    'aucun_article' => 'Li a minga d’article à-n-aquela adreça',
20
+    'aucun_auteur' => 'Li a minga d’autor à-n-aquela adreça',
21
+    'aucun_site' => 'Li a minga de site à-n-aquela adreça',
22
+    'aucune_breve' => 'Li a minga de brèva à-n-aquela adreça',
23
+    'aucune_rubrique' => 'Li a minga de rubrica à-n-aquela adreça',
24
+    'auteur' => 'Autor',
25
+    'autres' => 'Autres',
26
+    'autres_breves' => 'Autri brèvas',
27
+    'autres_groupes_mots_clefs' => 'Autres grops de mòts claus',
28
+    'autres_sites' => 'Autres sites',
29
+
30
+    // B
31
+    'bonjour' => 'Boanjorn',
32
+
33
+    // C
34
+    'commenter_site' => 'Comentar aqueu site',
35
+    'contact' => 'Contacte',
36
+    'copie_document_impossible' => 'Impossible de copiar lo document',
37
+
38
+    // D
39
+    'date' => 'Data',
40
+    'dernier_ajout' => 'Darrier ajust',
41
+    'dernieres_breves' => 'Darrieras brèvas',
42
+    'derniers_articles' => 'Darriers articles',
43
+    'derniers_commentaires' => 'Darriers comentaris',
44
+    'derniers_messages_forum' => 'Darriers messatges publicats dins lu fòros',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'Edicion en mòde tèxt de',
48
+    'en_reponse' => 'En respoasta à:',
49
+    'en_resume' => 'En resumit',
50
+    'envoyer_message' => 'Mandar un messatge',
51
+    'espace_prive' => 'Espaci privat',
52
+
53
+    // F
54
+    'formats_acceptes' => 'Formats acceptats : @formats@.',
55
+
56
+    // H
57
+    'hierarchie_site' => 'Ierarquia dau sit',
58
+
59
+    // J
60
+    'jours' => 'jorns',
61
+
62
+    // L
63
+    'lien_connecter' => 'Si conectar',
64
+
65
+    // M
66
+    'meme_auteur' => 'Dau meme autor',
67
+    'meme_rubrique' => 'Dins la mema rubrica',
68
+    'memes_auteurs' => 'Dei memes autors',
69
+    'message' => 'Messatge',
70
+    'messages_forum' => 'Messatges',
71
+    'messages_recents' => 'Lu messatges de fòros mai recents',
72
+    'mots_clef' => 'Mòt-clau',
73
+    'mots_clefs' => 'Mòts-claus',
74
+    'mots_clefs_meme_groupe' => 'Mòts-claus dins lo meme grop',
75
+
76
+    // N
77
+    'navigation' => 'Navigacion',
78
+    'nom' => 'Nom',
79
+    'nouveautes' => 'Li novèutats',
80
+    'nouveautes_web' => 'Novèutats sus lo oèb',
81
+    'nouveaux_articles' => 'Articles nòus',
82
+    'nouvelles_breves' => 'Brèvas novèlas',
83
+
84
+    // P
85
+    'page_precedente' => 'pàgina anteriora',
86
+    'page_suivante' => 'pàgina seguenta',
87
+    'par_auteur' => 'da',
88
+    'participer_site' => 'Podètz participar à la vida d’aqueu sit e prepauar lu voastres articles en vos inscrivent çai sota. Receberètz un e-mail que v’indicarà lu voastres còdes per accedir à l’espaci privat dau sit.',
89
+    'plan_site' => 'Plan dau site',
90
+    'popularite' => 'Popularitat',
91
+    'poster_message' => 'Postar un messatge',
92
+    'proposer_site' => 'Podètz prepauar un site à ajustar en aquela rubrica:',
93
+
94
+    // R
95
+    'repondre_article' => 'Respoandre à-n-aquel article',
96
+    'repondre_breve' => 'Respoandre à-n-aquela brèva',
97
+    'resultats_recherche' => 'Resultats de la recèrca',
98
+    'retour_debut_forums' => 'Retorn au començament dei fòros',
99
+    'rubrique' => 'Rubrica',
100
+    'rubriques' => 'Rubricas',
101
+
102
+    // S
103
+    'signatures_petition' => 'Firmas',
104
+    'site_realise_avec_spip' => 'Sit realisat embé SPIP',
105
+    'sites_web' => 'Sits web',
106
+    'sous_rubriques' => 'Sosrubricas',
107
+    'spam' => 'Espam',
108
+    'suite' => 'seguida',
109
+    'sur_web' => 'Sus lo oèb',
110
+    'syndiquer_rubrique' => 'Sindicar aquela rubrica',
111
+    'syndiquer_site' => 'Sindicar tot lo sit',
112
+
113
+    // T
114
+    'texte_lettre_information' => 'Vequí la letra d’informacion dau sit',
115
+    'texte_lettre_information_2' => 'Aquela letra recensa li noveutas publicadi despí',
116
+
117
+    // V
118
+    'ver_imprimer' => 'Version d’estampar',
119
+    'voir_en_ligne' => 'Vejatz en linha',
120
+    'voir_squelette' => 'veire l’esqueleta d’aquela pàgina'
121 121
 );
Please login to merge, or discard this patch.
ecrire/prive.php 2 patches
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -20,20 +20,20 @@
 block discarded – undo
20 20
 $var_auth = $auth();
21 21
 
22 22
 if ($var_auth !== '') {
23
-	if (!is_int($var_auth)) {
24
-		// si l'authentifie' n'a pas acces a l'espace de redac
25
-		// c'est qu'on voulait forcer sa reconnaissance en tant que visiteur.
26
-		// On reexecute pour deboucher sur le include public.
27
-		// autrement on insiste
28
-		if (is_array($var_auth)) {
29
-			$var_auth = '../?' . $_SERVER['QUERY_STRING'];
30
-			spip_setcookie('spip_session', $_COOKIE['spip_session'], [
31
-				'expires' => time() + 3600 * 24 * 14
32
-			]);
33
-		}
34
-		include_spip('inc/headers');
35
-		redirige_formulaire($var_auth);
36
-	}
23
+    if (!is_int($var_auth)) {
24
+        // si l'authentifie' n'a pas acces a l'espace de redac
25
+        // c'est qu'on voulait forcer sa reconnaissance en tant que visiteur.
26
+        // On reexecute pour deboucher sur le include public.
27
+        // autrement on insiste
28
+        if (is_array($var_auth)) {
29
+            $var_auth = '../?' . $_SERVER['QUERY_STRING'];
30
+            spip_setcookie('spip_session', $_COOKIE['spip_session'], [
31
+                'expires' => time() + 3600 * 24 * 14
32
+            ]);
33
+        }
34
+        include_spip('inc/headers');
35
+        redirige_formulaire($var_auth);
36
+    }
37 37
 }
38 38
 
39 39
 // En somme, est prive' ce qui est publiquement nomme'...
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@
 block discarded – undo
26 26
 		// On reexecute pour deboucher sur le include public.
27 27
 		// autrement on insiste
28 28
 		if (is_array($var_auth)) {
29
-			$var_auth = '../?' . $_SERVER['QUERY_STRING'];
29
+			$var_auth = '../?'.$_SERVER['QUERY_STRING'];
30 30
 			spip_setcookie('spip_session', $_COOKIE['spip_session'], [
31 31
 				'expires' => time() + 3600 * 24 * 14
32 32
 			]);
Please login to merge, or discard this patch.
prive/images/index.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -9,13 +9,13 @@
 block discarded – undo
9 9
 	<h1>Index des icones de <a href='https://www.spip.net'>Spip</a></h1>
10 10
 	<table>
11 11
 		<?php
12
-		$myDir = opendir('.');
13
-		while ($file = readdir($myDir)) {
14
-			if (preg_match(',\.(png|gif)$,i', $file)) {
15
-				echo "		<tr><td>$file</td><td><img src='$file' alt='$file' /></td></tr>\n";
16
-			}
17
-		}
18
-		?>
12
+        $myDir = opendir('.');
13
+        while ($file = readdir($myDir)) {
14
+            if (preg_match(',\.(png|gif)$,i', $file)) {
15
+                echo "		<tr><td>$file</td><td><img src='$file' alt='$file' /></td></tr>\n";
16
+            }
17
+        }
18
+        ?>
19 19
 	</table>
20 20
 </center>
21 21
 </body>
Please login to merge, or discard this patch.
prive/ajax_item_pick_fonctions.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@
 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
 include_spip('inc/filtres_selecteur_generique');
Please login to merge, or discard this patch.
prive/informer_auteur_fonctions.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 
@@ -34,15 +34,15 @@  discard block
 block discarded – undo
34 34
  *     JSON des différentes informations
35 35
  */
36 36
 function informer_auteur($bof) {
37
-	include_spip('inc/json');
38
-	include_spip('formulaires/login');
39
-	include_spip('inc/auth');
40
-	$login = strval(_request('var_login'));
41
-	$row = auth_informer_login($login);
42
-	if ($row and is_array($row) and isset($row['id_auteur'])) {
43
-		unset($row['id_auteur']);
44
-	}
37
+    include_spip('inc/json');
38
+    include_spip('formulaires/login');
39
+    include_spip('inc/auth');
40
+    $login = strval(_request('var_login'));
41
+    $row = auth_informer_login($login);
42
+    if ($row and is_array($row) and isset($row['id_auteur'])) {
43
+        unset($row['id_auteur']);
44
+    }
45 45
 
46
-	// on encode tout pour ne pas avoir de probleme au deballage dans le JS
47
-	return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
46
+    // on encode tout pour ne pas avoir de probleme au deballage dans le JS
47
+    return json_encode($row, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);
48 48
 }
Please login to merge, or discard this patch.
ecrire/inc/precharger_objet.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -157,8 +157,7 @@
 block discarded – undo
157 157
 			if (count($autre_langue) == 1) {
158 158
 				$row['lang'] = reset($autre_langue);
159 159
 			}
160
-		}
161
-		else {
160
+		} else {
162 161
 			$row['lang'] = 'en';
163 162
 		}
164 163
 
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
 
51 51
 	// si l'objet existe deja, on retourne simplement ses valeurs
52 52
 	if (is_numeric($id_objet)) {
53
-		return sql_fetsel('*', $table, "$_id_objet=" . intval($id_objet));
53
+		return sql_fetsel('*', $table, "$_id_objet=".intval($id_objet));
54 54
 	}
55 55
 
56 56
 	// ici, on demande une creation.
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	// si demande de traduction
65 65
 	// on recupere les valeurs de la traduction
66 66
 	if ($lier_trad) {
67
-		if ($select = charger_fonction('precharger_traduction_' . $type, 'inc', true)) {
67
+		if ($select = charger_fonction('precharger_traduction_'.$type, 'inc', true)) {
68 68
 			$row = $select($id_objet, $id_rubrique, $lier_trad);
69 69
 		} else {
70 70
 			$row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 	// recuperer le secteur, pour affecter les bons champs extras
103 103
 	if ($id_rubrique and $is_secteur) {
104 104
 		if (!$row['id_secteur']) {
105
-			$row_rub = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . sql_quote($id_rubrique));
105
+			$row_rub = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.sql_quote($id_rubrique));
106 106
 			$row['id_secteur'] = $row_rub;
107 107
 		}
108 108
 	}
@@ -133,10 +133,10 @@  discard block
 block discarded – undo
133 133
 	$_id_objet = id_table_objet($table);
134 134
 
135 135
 	// Recuperer les donnees de l'objet original
136
-	$row = sql_fetsel('*', $table, "$_id_objet=" . intval($lier_trad));
136
+	$row = sql_fetsel('*', $table, "$_id_objet=".intval($lier_trad));
137 137
 	if ($row) {
138 138
 		include_spip('inc/filtres');
139
-		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
139
+		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')).' '.$row[$champ_titre];
140 140
 	} else {
141 141
 		$row = [];
142 142
 	}
@@ -186,14 +186,14 @@  discard block
 block discarded – undo
186 186
 					$id_parent = 0;
187 187
 				} else {
188 188
 					// on cherche une rubrique soeur dans la bonne langue
189
-					$row_rub = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
189
+					$row_rub = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique='.intval($id_rubrique));
190 190
 					$id_parent = $row_rub['id_parent'];
191 191
 				}
192 192
 
193 193
 				$row_rub = sql_fetsel(
194 194
 					'id_rubrique',
195 195
 					'spip_rubriques',
196
-					"lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=" . intval($id_parent)
196
+					"lang='".$GLOBALS['spip_lang']."' AND id_parent=".intval($id_parent)
197 197
 				);
198 198
 				if ($row_rub) {
199 199
 					$row['id_rubrique'] = $row_rub['id_rubrique'];
Please login to merge, or discard this patch.
Indentation   +139 added lines, -139 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
 include_spip('inc/autoriser'); // necessaire si appel de l'espace public
@@ -45,70 +45,70 @@  discard block
 block discarded – undo
45 45
  **/
46 46
 function precharger_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre') {
47 47
 
48
-	$row = [];
49
-	$table = table_objet_sql($type);
50
-	$_id_objet = id_table_objet($table);
51
-
52
-	// si l'objet existe deja, on retourne simplement ses valeurs
53
-	if (is_numeric($id_objet)) {
54
-		return sql_fetsel('*', $table, "$_id_objet=" . intval($id_objet));
55
-	}
56
-
57
-	// ici, on demande une creation.
58
-	// on prerempli certains elements : les champs si traduction,
59
-	// les id_rubrique et id_secteur si l'objet a ces champs
60
-	$desc = lister_tables_objets_sql($table);
61
-	# il faudrait calculer $champ_titre ici
62
-	$is_rubrique = isset($desc['field']['id_rubrique']);
63
-	$is_secteur = isset($desc['field']['id_secteur']);
64
-
65
-	// si demande de traduction
66
-	// on recupere les valeurs de la traduction
67
-	if ($lier_trad) {
68
-		if ($select = charger_fonction('precharger_traduction_' . $type, 'inc', true)) {
69
-			$row = $select($id_objet, $id_rubrique, $lier_trad);
70
-		} else {
71
-			$row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
72
-		}
73
-	} else {
74
-		$row[$champ_titre] = '';
75
-		if ($is_rubrique) {
76
-			$row['id_rubrique'] = $id_rubrique;
77
-		}
78
-	}
79
-
80
-	// calcul de la rubrique
81
-	# note : comment faire pour des traductions sur l'objet rubriques ?
82
-	if ($is_rubrique) {
83
-		// appel du script a la racine, faut choisir
84
-		// admin restreint ==> sa premiere rubrique
85
-		// autre ==> la derniere rubrique cree
86
-		if (!$row['id_rubrique']) {
87
-			if ($GLOBALS['connect_id_rubrique']) {
88
-				$row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
89
-			} else {
90
-				$row_rub = sql_fetsel('id_rubrique', 'spip_rubriques', '', '', 'id_rubrique DESC', 1);
91
-				$row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
92
-			}
93
-			if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
94
-				// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
95
-				$res = sql_select('id_rubrique', 'spip_rubriques', 'id_parent=0');
96
-				while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && $row_rub = sql_fetch($res)) {
97
-					$row['id_rubrique'] = $row_rub['id_rubrique'];
98
-				}
99
-			}
100
-		}
101
-	}
102
-
103
-	// recuperer le secteur, pour affecter les bons champs extras
104
-	if ($id_rubrique and $is_secteur) {
105
-		if (!$row['id_secteur']) {
106
-			$row_rub = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . sql_quote($id_rubrique));
107
-			$row['id_secteur'] = $row_rub;
108
-		}
109
-	}
110
-
111
-	return $row;
48
+    $row = [];
49
+    $table = table_objet_sql($type);
50
+    $_id_objet = id_table_objet($table);
51
+
52
+    // si l'objet existe deja, on retourne simplement ses valeurs
53
+    if (is_numeric($id_objet)) {
54
+        return sql_fetsel('*', $table, "$_id_objet=" . intval($id_objet));
55
+    }
56
+
57
+    // ici, on demande une creation.
58
+    // on prerempli certains elements : les champs si traduction,
59
+    // les id_rubrique et id_secteur si l'objet a ces champs
60
+    $desc = lister_tables_objets_sql($table);
61
+    # il faudrait calculer $champ_titre ici
62
+    $is_rubrique = isset($desc['field']['id_rubrique']);
63
+    $is_secteur = isset($desc['field']['id_secteur']);
64
+
65
+    // si demande de traduction
66
+    // on recupere les valeurs de la traduction
67
+    if ($lier_trad) {
68
+        if ($select = charger_fonction('precharger_traduction_' . $type, 'inc', true)) {
69
+            $row = $select($id_objet, $id_rubrique, $lier_trad);
70
+        } else {
71
+            $row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
72
+        }
73
+    } else {
74
+        $row[$champ_titre] = '';
75
+        if ($is_rubrique) {
76
+            $row['id_rubrique'] = $id_rubrique;
77
+        }
78
+    }
79
+
80
+    // calcul de la rubrique
81
+    # note : comment faire pour des traductions sur l'objet rubriques ?
82
+    if ($is_rubrique) {
83
+        // appel du script a la racine, faut choisir
84
+        // admin restreint ==> sa premiere rubrique
85
+        // autre ==> la derniere rubrique cree
86
+        if (!$row['id_rubrique']) {
87
+            if ($GLOBALS['connect_id_rubrique']) {
88
+                $row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
89
+            } else {
90
+                $row_rub = sql_fetsel('id_rubrique', 'spip_rubriques', '', '', 'id_rubrique DESC', 1);
91
+                $row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
92
+            }
93
+            if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
94
+                // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
95
+                $res = sql_select('id_rubrique', 'spip_rubriques', 'id_parent=0');
96
+                while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && $row_rub = sql_fetch($res)) {
97
+                    $row['id_rubrique'] = $row_rub['id_rubrique'];
98
+                }
99
+            }
100
+        }
101
+    }
102
+
103
+    // recuperer le secteur, pour affecter les bons champs extras
104
+    if ($id_rubrique and $is_secteur) {
105
+        if (!$row['id_secteur']) {
106
+            $row_rub = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . sql_quote($id_rubrique));
107
+            $row['id_secteur'] = $row_rub;
108
+        }
109
+    }
110
+
111
+    return $row;
112 112
 }
113 113
 
114 114
 
@@ -130,78 +130,78 @@  discard block
 block discarded – undo
130 130
  *     Couples clés / valeurs des champs du formulaire à charger
131 131
  **/
132 132
 function precharger_traduction_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre') {
133
-	$table = table_objet_sql($type);
134
-	$_id_objet = id_table_objet($table);
135
-
136
-	// Recuperer les donnees de l'objet original
137
-	$row = sql_fetsel('*', $table, "$_id_objet=" . intval($lier_trad));
138
-	if ($row) {
139
-		include_spip('inc/filtres');
140
-		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
141
-	} else {
142
-		$row = [];
143
-	}
144
-
145
-	// on met l'objet dans une rubrique si l'objet le peut
146
-	$desc = lister_tables_objets_sql($table);
147
-	$is_rubrique = isset($desc['field']['id_rubrique']);
148
-
149
-	if ($is_rubrique) {
150
-		$langues_dispo = explode(',', $GLOBALS['meta']['langues_multilingue']);
151
-		// si le redacteur utilise une autre langue que celle de la source, on suppose que c'est pour traduire dans sa langue
152
-		if (in_array($GLOBALS['spip_lang'], $langues_dispo) and $GLOBALS['spip_lang'] !== $row['lang']) {
153
-			$row['lang'] = $GLOBALS['spip_lang'];
154
-		}
155
-		// sinon si il y a seulement 2 langues dispos, on bascule sur l'"autre"
156
-		elseif (count($langues_dispo) == 2) {
157
-			$autre_langue = array_diff($langues_dispo, [$row['lang']]);
158
-			if (count($autre_langue) == 1) {
159
-				$row['lang'] = reset($autre_langue);
160
-			}
161
-		}
162
-		else {
163
-			$row['lang'] = 'en';
164
-		}
165
-
166
-		if ($id_rubrique) {
167
-			$row['id_rubrique'] = $id_rubrique;
168
-
169
-			return $row;
170
-		}
171
-		$id_rubrique = $row['id_rubrique'];
172
-
173
-
174
-		// Regler la langue, si possible, sur celle du redacteur
175
-		// Cela implique souvent de choisir une rubrique ou un secteur
176
-		if (in_array($GLOBALS['spip_lang'], $langues_dispo)) {
177
-			// Si le menu de langues est autorise sur l'objet,
178
-			// on peut changer la langue quelle que soit la rubrique
179
-			// donc on reste dans la meme rubrique
180
-			if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
181
-				$row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
182
-
183
-				// Sinon, chercher la rubrique la plus adaptee pour
184
-				// accueillir l'objet dans la langue du traducteur
185
-			} elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
186
-				if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
187
-					$id_parent = 0;
188
-				} else {
189
-					// on cherche une rubrique soeur dans la bonne langue
190
-					$row_rub = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
191
-					$id_parent = $row_rub['id_parent'];
192
-				}
193
-
194
-				$row_rub = sql_fetsel(
195
-					'id_rubrique',
196
-					'spip_rubriques',
197
-					"lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=" . intval($id_parent)
198
-				);
199
-				if ($row_rub) {
200
-					$row['id_rubrique'] = $row_rub['id_rubrique'];
201
-				}
202
-			}
203
-		}
204
-	}
205
-
206
-	return $row;
133
+    $table = table_objet_sql($type);
134
+    $_id_objet = id_table_objet($table);
135
+
136
+    // Recuperer les donnees de l'objet original
137
+    $row = sql_fetsel('*', $table, "$_id_objet=" . intval($lier_trad));
138
+    if ($row) {
139
+        include_spip('inc/filtres');
140
+        $row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
141
+    } else {
142
+        $row = [];
143
+    }
144
+
145
+    // on met l'objet dans une rubrique si l'objet le peut
146
+    $desc = lister_tables_objets_sql($table);
147
+    $is_rubrique = isset($desc['field']['id_rubrique']);
148
+
149
+    if ($is_rubrique) {
150
+        $langues_dispo = explode(',', $GLOBALS['meta']['langues_multilingue']);
151
+        // si le redacteur utilise une autre langue que celle de la source, on suppose que c'est pour traduire dans sa langue
152
+        if (in_array($GLOBALS['spip_lang'], $langues_dispo) and $GLOBALS['spip_lang'] !== $row['lang']) {
153
+            $row['lang'] = $GLOBALS['spip_lang'];
154
+        }
155
+        // sinon si il y a seulement 2 langues dispos, on bascule sur l'"autre"
156
+        elseif (count($langues_dispo) == 2) {
157
+            $autre_langue = array_diff($langues_dispo, [$row['lang']]);
158
+            if (count($autre_langue) == 1) {
159
+                $row['lang'] = reset($autre_langue);
160
+            }
161
+        }
162
+        else {
163
+            $row['lang'] = 'en';
164
+        }
165
+
166
+        if ($id_rubrique) {
167
+            $row['id_rubrique'] = $id_rubrique;
168
+
169
+            return $row;
170
+        }
171
+        $id_rubrique = $row['id_rubrique'];
172
+
173
+
174
+        // Regler la langue, si possible, sur celle du redacteur
175
+        // Cela implique souvent de choisir une rubrique ou un secteur
176
+        if (in_array($GLOBALS['spip_lang'], $langues_dispo)) {
177
+            // Si le menu de langues est autorise sur l'objet,
178
+            // on peut changer la langue quelle que soit la rubrique
179
+            // donc on reste dans la meme rubrique
180
+            if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
181
+                $row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
182
+
183
+                // Sinon, chercher la rubrique la plus adaptee pour
184
+                // accueillir l'objet dans la langue du traducteur
185
+            } elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
186
+                if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
187
+                    $id_parent = 0;
188
+                } else {
189
+                    // on cherche une rubrique soeur dans la bonne langue
190
+                    $row_rub = sql_fetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
191
+                    $id_parent = $row_rub['id_parent'];
192
+                }
193
+
194
+                $row_rub = sql_fetsel(
195
+                    'id_rubrique',
196
+                    'spip_rubriques',
197
+                    "lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=" . intval($id_parent)
198
+                );
199
+                if ($row_rub) {
200
+                    $row['id_rubrique'] = $row_rub['id_rubrique'];
201
+                }
202
+            }
203
+        }
204
+    }
205
+
206
+    return $row;
207 207
 }
Please login to merge, or discard this patch.
config/ecran_securite.php 2 patches
Spacing   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -15,10 +15,10 @@  discard block
 block discarded – undo
15 15
  * Test utilisateur
16 16
  */
17 17
 if (isset($_GET['test_ecran_securite'])) {
18
-	$ecran_securite_raison = 'test ' . _ECRAN_SECURITE;
18
+	$ecran_securite_raison = 'test '._ECRAN_SECURITE;
19 19
 }
20 20
 
21
-if (file_exists($f = __DIR__ . DIRECTORY_SEPARATOR  . 'ecran_securite_options.php')) {
21
+if (file_exists($f = __DIR__.DIRECTORY_SEPARATOR.'ecran_securite_options.php')) {
22 22
 	include ($f);
23 23
 }
24 24
 
@@ -226,8 +226,8 @@  discard block
 block discarded – undo
226 226
 						'yats',
227 227
 						'yeti',
228 228
 						'zeerch'
229
-					)) . ',i',
230
-				(string)$_SERVER['HTTP_USER_AGENT']
229
+					)).',i',
230
+				(string) $_SERVER['HTTP_USER_AGENT']
231 231
 			)
232 232
 	);
233 233
 }
@@ -236,13 +236,13 @@  discard block
 block discarded – undo
236 236
 		'_IS_BOT_FRIEND',
237 237
 		isset($_SERVER['HTTP_USER_AGENT'])
238 238
 			and preg_match(
239
-				',' . implode('|', array(
239
+				','.implode('|', array(
240 240
 					'facebookexternalhit',
241 241
 					'twitterbot',
242 242
 					'flipboardproxy',
243 243
 					'wordpress'
244
-				)) . ',i',
245
-				(string)$_SERVER['HTTP_USER_AGENT']
244
+				)).',i',
245
+				(string) $_SERVER['HTTP_USER_AGENT']
246 246
 			)
247 247
 	);
248 248
 }
@@ -291,10 +291,10 @@  discard block
 block discarded – undo
291 291
  */
292 292
 foreach (array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
293 293
 	if (isset($_GET[$var])) {
294
-		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
294
+		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string) $_GET[$var]);
295 295
 	}
296 296
 	if (isset($_POST[$var])) {
297
-		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
297
+		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string) $_POST[$var]);
298 298
 	}
299 299
 }
300 300
 
@@ -302,8 +302,8 @@  discard block
 block discarded – undo
302 302
  * Filtre l'accès à spip_acces_doc (injection SQL en 1.8.2x)
303 303
  */
304 304
 if (isset($_SERVER['REQUEST_URI'])) {
305
-	if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
306
-		$file = addslashes((string)$_GET['file']);
305
+	if (preg_match(',^(.*/)?spip_acces_doc\.,', (string) $_SERVER['REQUEST_URI'])) {
306
+		$file = addslashes((string) $_GET['file']);
307 307
 	}
308 308
 }
309 309
 
@@ -323,13 +323,13 @@  discard block
 block discarded – undo
323 323
  */
324 324
 if (
325 325
 	isset($_REQUEST['partie_cal'])
326
-	and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal'])
326
+	and $_REQUEST['partie_cal'] !== htmlentities((string) $_REQUEST['partie_cal'])
327 327
 ) {
328 328
 	$ecran_securite_raison = "partie_cal";
329 329
 }
330 330
 if (
331 331
 	isset($_REQUEST['echelle'])
332
-	and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle'])
332
+	and $_REQUEST['echelle'] !== htmlentities((string) $_REQUEST['echelle'])
333 333
 ) {
334 334
 	$ecran_securite_raison = "echelle";
335 335
 }
@@ -339,13 +339,13 @@  discard block
 block discarded – undo
339 339
  */
340 340
 if (
341 341
 	isset($_REQUEST['exec'])
342
-	and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec'])
342
+	and !preg_match(',^[\w-]+$,', (string) $_REQUEST['exec'])
343 343
 ) {
344 344
 	$ecran_securite_raison = "exec";
345 345
 }
346 346
 if (
347 347
 	isset($_REQUEST['cherche_auteur'])
348
-	and preg_match(',[<],', (string)$_REQUEST['cherche_auteur'])
348
+	and preg_match(',[<],', (string) $_REQUEST['cherche_auteur'])
349 349
 ) {
350 350
 	$ecran_securite_raison = "cherche_auteur";
351 351
 }
@@ -353,7 +353,7 @@  discard block
 block discarded – undo
353 353
 	isset($_REQUEST['exec'])
354 354
 	and $_REQUEST['exec'] == 'auteurs'
355 355
 	and isset($_REQUEST['recherche'])
356
-	and preg_match(',[<],', (string)$_REQUEST['recherche'])
356
+	and preg_match(',[<],', (string) $_REQUEST['recherche'])
357 357
 ) {
358 358
 	$ecran_securite_raison = "recherche";
359 359
 }
@@ -361,7 +361,7 @@  discard block
 block discarded – undo
361 361
 	isset($_REQUEST['exec'])
362 362
 	and $_REQUEST['exec'] == 'info_plugin'
363 363
 	and isset($_REQUEST['plugin'])
364
-	and preg_match(',[<],', (string)$_REQUEST['plugin'])
364
+	and preg_match(',[<],', (string) $_REQUEST['plugin'])
365 365
 ) {
366 366
 	$ecran_securite_raison = "plugin";
367 367
 }
@@ -388,7 +388,7 @@  discard block
 block discarded – undo
388 388
 				echo minipres(_T('info_acces_interdit'));
389 389
 				exit;
390 390
 			}
391
-			require _DIR_RESTREINT . 'action/configurer.php';
391
+			require _DIR_RESTREINT.'action/configurer.php';
392 392
 			action_configurer_dist();
393 393
 		}
394 394
 	}
@@ -440,9 +440,9 @@  discard block
 block discarded – undo
440 440
 if (_IS_BOT) {
441 441
 	if (
442 442
 		(isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
443
-		or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
444
-		or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_'))
445
-		or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
443
+		or (strpos((string) $_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string) $_SERVER['REQUEST_URI']))
444
+		or (isset($_REQUEST['calendrier_annee']) and strpos((string) $_SERVER['REQUEST_URI'], 'debut_'))
445
+		or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string) $_SERVER['REQUEST_URI']))
446 446
 	) {
447 447
 		$ecran_securite_raison = "robot agenda/double pagination";
448 448
 	}
@@ -456,7 +456,7 @@  discard block
 block discarded – undo
456 456
 	if ($_REQUEST['page'] == 'test_cfg') {
457 457
 		$ecran_securite_raison = "test_cfg";
458 458
 	}
459
-	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page'])) {
459
+	if ($_REQUEST['page'] !== htmlspecialchars((string) $_REQUEST['page'])) {
460 460
 		$ecran_securite_raison = "xsspage";
461 461
 	}
462 462
 	if (
@@ -472,7 +472,7 @@  discard block
 block discarded – undo
472 472
  */
473 473
 foreach (array('var_login') as $var) {
474 474
 	if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var])) {
475
-		$ecran_securite_raison = "xss " . $var;
475
+		$ecran_securite_raison = "xss ".$var;
476 476
 	}
477 477
 }
478 478
 
@@ -520,13 +520,13 @@  discard block
 block discarded – undo
520 520
  */
521 521
 if (
522 522
 	isset($_REQUEST['nom_sauvegarde'])
523
-	and strstr((string)$_REQUEST['nom_sauvegarde'], '/')
523
+	and strstr((string) $_REQUEST['nom_sauvegarde'], '/')
524 524
 ) {
525 525
 	$ecran_securite_raison = 'nom_sauvegarde manipulee';
526 526
 }
527 527
 if (
528 528
 	isset($_REQUEST['znom_sauvegarde'])
529
-	and strstr((string)$_REQUEST['znom_sauvegarde'], '/')
529
+	and strstr((string) $_REQUEST['znom_sauvegarde'], '/')
530 530
 ) {
531 531
 	$ecran_securite_raison = 'znom_sauvegarde manipulee';
532 532
 }
Please login to merge, or discard this patch.
Indentation   +427 added lines, -427 removed lines patch added patch discarded remove patch
@@ -15,11 +15,11 @@  discard block
 block discarded – undo
15 15
  * Test utilisateur
16 16
  */
17 17
 if (isset($_GET['test_ecran_securite'])) {
18
-	$ecran_securite_raison = 'test ' . _ECRAN_SECURITE;
18
+    $ecran_securite_raison = 'test ' . _ECRAN_SECURITE;
19 19
 }
20 20
 
21 21
 if (file_exists($f = __DIR__ . DIRECTORY_SEPARATOR  . 'ecran_securite_options.php')) {
22
-	include ($f);
22
+    include ($f);
23 23
 }
24 24
 
25 25
 /*
@@ -29,222 +29,222 @@  discard block
 block discarded – undo
29 29
  * le load depasse ECRAN_SECURITE_LOAD)
30 30
  */
31 31
 if (!defined('_IS_BOT') and isset($_GET['var_isbot'])) {
32
-	define('_IS_BOT', $_GET['var_isbot'] ? true : false);
32
+    define('_IS_BOT', $_GET['var_isbot'] ? true : false);
33 33
 }
34 34
 
35 35
 /*
36 36
  * Détecteur de robot d'indexation
37 37
  */
38 38
 if (!defined('_IS_BOT')) {
39
-	define(
40
-		'_IS_BOT',
41
-		isset($_SERVER['HTTP_USER_AGENT'])
42
-			and preg_match(
43
-				','
44
-					. implode('|', array(
45
-						// mots generiques
46
-						'bot',
47
-						'slurp',
48
-						'crawler',
49
-						'crwlr',
50
-						'java',
51
-						'monitoring',
52
-						'spider',
53
-						'webvac',
54
-						'yandex',
55
-						'MSIE 6\.0', // botnet 99,9% du temps
56
-						// UA plus cibles
57
-						'200please',
58
-						'80legs',
59
-						'a6-indexer',
60
-						'aboundex',
61
-						'accoona',
62
-						'acrylicapps',
63
-						'addthis',
64
-						'adressendeutschland',
65
-						'alexa',
66
-						'altavista',
67
-						'analyticsseo',
68
-						'antennapod',
69
-						'arachnys',
70
-						'archive',
71
-						'argclrint',
72
-						'aspseek',
73
-						'baidu',
74
-						'begunadvertising',
75
-						'bing',
76
-						'bloglines',
77
-						'buck',
78
-						'browsershots',
79
-						'bubing',
80
-						'butterfly',
81
-						'changedetection',
82
-						'charlotte',
83
-						'chilkat',
84
-						'china',
85
-						'coccoc',
86
-						'crowsnest',
87
-						'dataminr',
88
-						'daumoa',
89
-						'dlvr\.it',
90
-						'dlweb',
91
-						'drupal',
92
-						'ec2linkfinder',
93
-						'eset\.com',
94
-						'estyle',
95
-						'exalead',
96
-						'ezooms',
97
-						'facebookexternalhit',
98
-						'facebookplatform',
99
-						'fairshare',
100
-						'feedfetcher',
101
-						'feedfetcher-google',
102
-						'feedly',
103
-						'fetch',
104
-						'flipboardproxy',
105
-						'genieo',
106
-						'google',
107
-						'go-http-client',
108
-						'grapeshot',
109
-						'hatena-useragent',
110
-						'head',
111
-						'hosttracker',
112
-						'hubspot',
113
-						'ia_archiver',
114
-						'ichiro',
115
-						'iltrovatore-setaccio',
116
-						'immediatenet',
117
-						'ina',
118
-						'inoreader',
119
-						'infegyatlas',
120
-						'infohelfer',
121
-						'instapaper',
122
-						'jabse',
123
-						'james',
124
-						'jersey',
125
-						'kumkie',
126
-						'linkdex',
127
-						'linkfluence',
128
-						'linkwalker',
129
-						'litefinder',
130
-						'loadimpactpageanalyzer',
131
-						'ltx71',
132
-						'luminate',
133
-						'lycos',
134
-						'lycosa',
135
-						'mediapartners-google',
136
-						'msai',
137
-						'myapp',
138
-						'nativehost',
139
-						'najdi',
140
-						'netcraftsurveyagent',
141
-						'netestate',
142
-						'netseer',
143
-						'netnewswire',
144
-						'newspaper',
145
-						'newsblur',
146
-						'nuhk',
147
-						'nuzzel',
148
-						'okhttp',
149
-						'otmedia',
150
-						'owlin',
151
-						'owncloud',
152
-						'panscient',
153
-						'paper\.li',
154
-						'parsijoo',
155
-						'protopage',
156
-						'plukkie',
157
-						'proximic',
158
-						'pubsub',
159
-						'python',
160
-						'qirina',
161
-						'qoshe',
162
-						'qualidator',
163
-						'qwantify',
164
-						'rambler',
165
-						'readability',
166
-						'ruby',
167
-						'sbsearch',
168
-						'scoop\.it',
169
-						'scooter',
170
-						'scoutjet',
171
-						'scrapy',
172
-						'scrubby',
173
-						'scrubbybloglines',
174
-						'shareaholic',
175
-						'shopwiki',
176
-						'simplepie',
177
-						'sistrix',
178
-						'sitechecker',
179
-						'siteexplorer',
180
-						'snapshot',
181
-						'sogou',
182
-						'special_archiver',
183
-						'speedy',
184
-						'spinn3r',
185
-						'spreadtrum',
186
-						'steeler',
187
-						'subscriber',
188
-						'suma',
189
-						'superdownloads',
190
-						'svenska-webbsido',
191
-						'teoma',
192
-						'the knowledge AI',
193
-						'thumbshots',
194
-						'tineye',
195
-						'traackr',
196
-						'trendiction',
197
-						'trendsmap',
198
-						'tweetedtimes',
199
-						'tweetmeme',
200
-						'universalfeedparser',
201
-						'uaslinkchecker',
202
-						'undrip',
203
-						'unwindfetchor',
204
-						'upday',
205
-						'vedma',
206
-						'vkshare',
207
-						'vm',
208
-						'wch',
209
-						'webalta',
210
-						'webcookies',
211
-						'webparser',
212
-						'webthumbnail',
213
-						'wesee',
214
-						'wise-guys',
215
-						'woko',
216
-						'wordpress',
217
-						'wotbox',
218
-						'y!j-bri',
219
-						'y!j-bro',
220
-						'y!j-brw',
221
-						'y!j-bsc',
222
-						'yahoo',
223
-						'yahoo!',
224
-						'yahooysmcm',
225
-						'ymobactus',
226
-						'yats',
227
-						'yeti',
228
-						'zeerch'
229
-					)) . ',i',
230
-				(string)$_SERVER['HTTP_USER_AGENT']
231
-			)
232
-	);
39
+    define(
40
+        '_IS_BOT',
41
+        isset($_SERVER['HTTP_USER_AGENT'])
42
+            and preg_match(
43
+                ','
44
+                    . implode('|', array(
45
+                        // mots generiques
46
+                        'bot',
47
+                        'slurp',
48
+                        'crawler',
49
+                        'crwlr',
50
+                        'java',
51
+                        'monitoring',
52
+                        'spider',
53
+                        'webvac',
54
+                        'yandex',
55
+                        'MSIE 6\.0', // botnet 99,9% du temps
56
+                        // UA plus cibles
57
+                        '200please',
58
+                        '80legs',
59
+                        'a6-indexer',
60
+                        'aboundex',
61
+                        'accoona',
62
+                        'acrylicapps',
63
+                        'addthis',
64
+                        'adressendeutschland',
65
+                        'alexa',
66
+                        'altavista',
67
+                        'analyticsseo',
68
+                        'antennapod',
69
+                        'arachnys',
70
+                        'archive',
71
+                        'argclrint',
72
+                        'aspseek',
73
+                        'baidu',
74
+                        'begunadvertising',
75
+                        'bing',
76
+                        'bloglines',
77
+                        'buck',
78
+                        'browsershots',
79
+                        'bubing',
80
+                        'butterfly',
81
+                        'changedetection',
82
+                        'charlotte',
83
+                        'chilkat',
84
+                        'china',
85
+                        'coccoc',
86
+                        'crowsnest',
87
+                        'dataminr',
88
+                        'daumoa',
89
+                        'dlvr\.it',
90
+                        'dlweb',
91
+                        'drupal',
92
+                        'ec2linkfinder',
93
+                        'eset\.com',
94
+                        'estyle',
95
+                        'exalead',
96
+                        'ezooms',
97
+                        'facebookexternalhit',
98
+                        'facebookplatform',
99
+                        'fairshare',
100
+                        'feedfetcher',
101
+                        'feedfetcher-google',
102
+                        'feedly',
103
+                        'fetch',
104
+                        'flipboardproxy',
105
+                        'genieo',
106
+                        'google',
107
+                        'go-http-client',
108
+                        'grapeshot',
109
+                        'hatena-useragent',
110
+                        'head',
111
+                        'hosttracker',
112
+                        'hubspot',
113
+                        'ia_archiver',
114
+                        'ichiro',
115
+                        'iltrovatore-setaccio',
116
+                        'immediatenet',
117
+                        'ina',
118
+                        'inoreader',
119
+                        'infegyatlas',
120
+                        'infohelfer',
121
+                        'instapaper',
122
+                        'jabse',
123
+                        'james',
124
+                        'jersey',
125
+                        'kumkie',
126
+                        'linkdex',
127
+                        'linkfluence',
128
+                        'linkwalker',
129
+                        'litefinder',
130
+                        'loadimpactpageanalyzer',
131
+                        'ltx71',
132
+                        'luminate',
133
+                        'lycos',
134
+                        'lycosa',
135
+                        'mediapartners-google',
136
+                        'msai',
137
+                        'myapp',
138
+                        'nativehost',
139
+                        'najdi',
140
+                        'netcraftsurveyagent',
141
+                        'netestate',
142
+                        'netseer',
143
+                        'netnewswire',
144
+                        'newspaper',
145
+                        'newsblur',
146
+                        'nuhk',
147
+                        'nuzzel',
148
+                        'okhttp',
149
+                        'otmedia',
150
+                        'owlin',
151
+                        'owncloud',
152
+                        'panscient',
153
+                        'paper\.li',
154
+                        'parsijoo',
155
+                        'protopage',
156
+                        'plukkie',
157
+                        'proximic',
158
+                        'pubsub',
159
+                        'python',
160
+                        'qirina',
161
+                        'qoshe',
162
+                        'qualidator',
163
+                        'qwantify',
164
+                        'rambler',
165
+                        'readability',
166
+                        'ruby',
167
+                        'sbsearch',
168
+                        'scoop\.it',
169
+                        'scooter',
170
+                        'scoutjet',
171
+                        'scrapy',
172
+                        'scrubby',
173
+                        'scrubbybloglines',
174
+                        'shareaholic',
175
+                        'shopwiki',
176
+                        'simplepie',
177
+                        'sistrix',
178
+                        'sitechecker',
179
+                        'siteexplorer',
180
+                        'snapshot',
181
+                        'sogou',
182
+                        'special_archiver',
183
+                        'speedy',
184
+                        'spinn3r',
185
+                        'spreadtrum',
186
+                        'steeler',
187
+                        'subscriber',
188
+                        'suma',
189
+                        'superdownloads',
190
+                        'svenska-webbsido',
191
+                        'teoma',
192
+                        'the knowledge AI',
193
+                        'thumbshots',
194
+                        'tineye',
195
+                        'traackr',
196
+                        'trendiction',
197
+                        'trendsmap',
198
+                        'tweetedtimes',
199
+                        'tweetmeme',
200
+                        'universalfeedparser',
201
+                        'uaslinkchecker',
202
+                        'undrip',
203
+                        'unwindfetchor',
204
+                        'upday',
205
+                        'vedma',
206
+                        'vkshare',
207
+                        'vm',
208
+                        'wch',
209
+                        'webalta',
210
+                        'webcookies',
211
+                        'webparser',
212
+                        'webthumbnail',
213
+                        'wesee',
214
+                        'wise-guys',
215
+                        'woko',
216
+                        'wordpress',
217
+                        'wotbox',
218
+                        'y!j-bri',
219
+                        'y!j-bro',
220
+                        'y!j-brw',
221
+                        'y!j-bsc',
222
+                        'yahoo',
223
+                        'yahoo!',
224
+                        'yahooysmcm',
225
+                        'ymobactus',
226
+                        'yats',
227
+                        'yeti',
228
+                        'zeerch'
229
+                    )) . ',i',
230
+                (string)$_SERVER['HTTP_USER_AGENT']
231
+            )
232
+    );
233 233
 }
234 234
 if (!defined('_IS_BOT_FRIEND')) {
235
-	define(
236
-		'_IS_BOT_FRIEND',
237
-		isset($_SERVER['HTTP_USER_AGENT'])
238
-			and preg_match(
239
-				',' . implode('|', array(
240
-					'facebookexternalhit',
241
-					'twitterbot',
242
-					'flipboardproxy',
243
-					'wordpress'
244
-				)) . ',i',
245
-				(string)$_SERVER['HTTP_USER_AGENT']
246
-			)
247
-	);
235
+    define(
236
+        '_IS_BOT_FRIEND',
237
+        isset($_SERVER['HTTP_USER_AGENT'])
238
+            and preg_match(
239
+                ',' . implode('|', array(
240
+                    'facebookexternalhit',
241
+                    'twitterbot',
242
+                    'flipboardproxy',
243
+                    'wordpress'
244
+                )) . ',i',
245
+                (string)$_SERVER['HTTP_USER_AGENT']
246
+            )
247
+    );
248 248
 }
249 249
 
250 250
 /*
@@ -256,28 +256,28 @@  discard block
 block discarded – undo
256 256
  */
257 257
 $_exceptions = array('id_table', 'id_base', 'id_parent', 'id_article_pdf');
258 258
 foreach ($_GET as $var => $val) {
259
-	if (
260
-		$_GET[$var] and strncmp($var, "id_", 3) == 0
261
-		and !in_array($var, $_exceptions)
262
-	) {
263
-		$_GET[$var] = is_array($_GET[$var]) ? @array_map('intval', $_GET[$var]) : intval($_GET[$var]);
264
-	}
259
+    if (
260
+        $_GET[$var] and strncmp($var, "id_", 3) == 0
261
+        and !in_array($var, $_exceptions)
262
+    ) {
263
+        $_GET[$var] = is_array($_GET[$var]) ? @array_map('intval', $_GET[$var]) : intval($_GET[$var]);
264
+    }
265 265
 }
266 266
 foreach ($_POST as $var => $val) {
267
-	if (
268
-		$_POST[$var] and strncmp($var, "id_", 3) == 0
269
-		and !in_array($var, $_exceptions)
270
-	) {
271
-		$_POST[$var] = is_array($_POST[$var]) ? @array_map('intval', $_POST[$var]) : intval($_POST[$var]);
272
-	}
267
+    if (
268
+        $_POST[$var] and strncmp($var, "id_", 3) == 0
269
+        and !in_array($var, $_exceptions)
270
+    ) {
271
+        $_POST[$var] = is_array($_POST[$var]) ? @array_map('intval', $_POST[$var]) : intval($_POST[$var]);
272
+    }
273 273
 }
274 274
 foreach ($GLOBALS as $var => $val) {
275
-	if (
276
-		$GLOBALS[$var] and strncmp($var, "id_", 3) == 0
277
-		and !in_array($var, $_exceptions)
278
-	) {
279
-		$GLOBALS[$var] = is_array($GLOBALS[$var]) ? @array_map('intval', $GLOBALS[$var]) : intval($GLOBALS[$var]);
280
-	}
275
+    if (
276
+        $GLOBALS[$var] and strncmp($var, "id_", 3) == 0
277
+        and !in_array($var, $_exceptions)
278
+    ) {
279
+        $GLOBALS[$var] = is_array($GLOBALS[$var]) ? @array_map('intval', $GLOBALS[$var]) : intval($GLOBALS[$var]);
280
+    }
281 281
 }
282 282
 
283 283
 /*
@@ -290,116 +290,116 @@  discard block
 block discarded – undo
290 290
  * Contrôle de quelques variables (XSS)
291 291
  */
292 292
 foreach (array('lang', 'var_recherche', 'aide', 'var_lang_r', 'lang_r', 'var_ajax_ancre', 'nom_fichier') as $var) {
293
-	if (isset($_GET[$var])) {
294
-		$_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
295
-	}
296
-	if (isset($_POST[$var])) {
297
-		$_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
298
-	}
293
+    if (isset($_GET[$var])) {
294
+        $_REQUEST[$var] = $GLOBALS[$var] = $_GET[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_GET[$var]);
295
+    }
296
+    if (isset($_POST[$var])) {
297
+        $_REQUEST[$var] = $GLOBALS[$var] = $_POST[$var] = preg_replace(',[^\w\,/#&;-]+,', ' ', (string)$_POST[$var]);
298
+    }
299 299
 }
300 300
 
301 301
 /*
302 302
  * Filtre l'accès à spip_acces_doc (injection SQL en 1.8.2x)
303 303
  */
304 304
 if (isset($_SERVER['REQUEST_URI'])) {
305
-	if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
306
-		$file = addslashes((string)$_GET['file']);
307
-	}
305
+    if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
306
+        $file = addslashes((string)$_GET['file']);
307
+    }
308 308
 }
309 309
 
310 310
 /*
311 311
  * Pas d'inscription abusive
312 312
  */
313 313
 if (
314
-	isset($_REQUEST['mode']) and isset($_REQUEST['page'])
315
-	and !in_array($_REQUEST['mode'], array("6forum", "1comite"))
316
-	and $_REQUEST['page'] == "identifiants"
314
+    isset($_REQUEST['mode']) and isset($_REQUEST['page'])
315
+    and !in_array($_REQUEST['mode'], array("6forum", "1comite"))
316
+    and $_REQUEST['page'] == "identifiants"
317 317
 ) {
318
-	$ecran_securite_raison = "identifiants";
318
+    $ecran_securite_raison = "identifiants";
319 319
 }
320 320
 
321 321
 /*
322 322
  * Agenda joue à l'injection php
323 323
  */
324 324
 if (
325
-	isset($_REQUEST['partie_cal'])
326
-	and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal'])
325
+    isset($_REQUEST['partie_cal'])
326
+    and $_REQUEST['partie_cal'] !== htmlentities((string)$_REQUEST['partie_cal'])
327 327
 ) {
328
-	$ecran_securite_raison = "partie_cal";
328
+    $ecran_securite_raison = "partie_cal";
329 329
 }
330 330
 if (
331
-	isset($_REQUEST['echelle'])
332
-	and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle'])
331
+    isset($_REQUEST['echelle'])
332
+    and $_REQUEST['echelle'] !== htmlentities((string)$_REQUEST['echelle'])
333 333
 ) {
334
-	$ecran_securite_raison = "echelle";
334
+    $ecran_securite_raison = "echelle";
335 335
 }
336 336
 
337 337
 /*
338 338
  * Espace privé
339 339
  */
340 340
 if (
341
-	isset($_REQUEST['exec'])
342
-	and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec'])
341
+    isset($_REQUEST['exec'])
342
+    and !preg_match(',^[\w-]+$,', (string)$_REQUEST['exec'])
343 343
 ) {
344
-	$ecran_securite_raison = "exec";
344
+    $ecran_securite_raison = "exec";
345 345
 }
346 346
 if (
347
-	isset($_REQUEST['cherche_auteur'])
348
-	and preg_match(',[<],', (string)$_REQUEST['cherche_auteur'])
347
+    isset($_REQUEST['cherche_auteur'])
348
+    and preg_match(',[<],', (string)$_REQUEST['cherche_auteur'])
349 349
 ) {
350
-	$ecran_securite_raison = "cherche_auteur";
350
+    $ecran_securite_raison = "cherche_auteur";
351 351
 }
352 352
 if (
353
-	isset($_REQUEST['exec'])
354
-	and $_REQUEST['exec'] == 'auteurs'
355
-	and isset($_REQUEST['recherche'])
356
-	and preg_match(',[<],', (string)$_REQUEST['recherche'])
353
+    isset($_REQUEST['exec'])
354
+    and $_REQUEST['exec'] == 'auteurs'
355
+    and isset($_REQUEST['recherche'])
356
+    and preg_match(',[<],', (string)$_REQUEST['recherche'])
357 357
 ) {
358
-	$ecran_securite_raison = "recherche";
358
+    $ecran_securite_raison = "recherche";
359 359
 }
360 360
 if (
361
-	isset($_REQUEST['exec'])
362
-	and $_REQUEST['exec'] == 'info_plugin'
363
-	and isset($_REQUEST['plugin'])
364
-	and preg_match(',[<],', (string)$_REQUEST['plugin'])
361
+    isset($_REQUEST['exec'])
362
+    and $_REQUEST['exec'] == 'info_plugin'
363
+    and isset($_REQUEST['plugin'])
364
+    and preg_match(',[<],', (string)$_REQUEST['plugin'])
365 365
 ) {
366
-	$ecran_securite_raison = "plugin";
366
+    $ecran_securite_raison = "plugin";
367 367
 }
368 368
 if (
369
-	isset($_REQUEST['exec'])
370
-	and $_REQUEST['exec'] == 'puce_statut'
371
-	and isset($_REQUEST['id'])
372
-	and !intval($_REQUEST['id'])
369
+    isset($_REQUEST['exec'])
370
+    and $_REQUEST['exec'] == 'puce_statut'
371
+    and isset($_REQUEST['id'])
372
+    and !intval($_REQUEST['id'])
373 373
 ) {
374
-	$ecran_securite_raison = "puce_statut";
374
+    $ecran_securite_raison = "puce_statut";
375 375
 }
376 376
 if (
377
-	isset($_REQUEST['action'])
378
-	and $_REQUEST['action'] == 'configurer'
377
+    isset($_REQUEST['action'])
378
+    and $_REQUEST['action'] == 'configurer'
379 379
 ) {
380
-	if (
381
-		@file_exists('inc_version.php')
382
-		or @file_exists('ecrire/inc_version.php')
383
-	) {
384
-		function action_configurer() {
385
-			include_spip('inc/autoriser');
386
-			if (!autoriser('configurer', _request('configuration'))) {
387
-				include_spip('inc/minipres');
388
-				echo minipres(_T('info_acces_interdit'));
389
-				exit;
390
-			}
391
-			require _DIR_RESTREINT . 'action/configurer.php';
392
-			action_configurer_dist();
393
-		}
394
-	}
380
+    if (
381
+        @file_exists('inc_version.php')
382
+        or @file_exists('ecrire/inc_version.php')
383
+    ) {
384
+        function action_configurer() {
385
+            include_spip('inc/autoriser');
386
+            if (!autoriser('configurer', _request('configuration'))) {
387
+                include_spip('inc/minipres');
388
+                echo minipres(_T('info_acces_interdit'));
389
+                exit;
390
+            }
391
+            require _DIR_RESTREINT . 'action/configurer.php';
392
+            action_configurer_dist();
393
+        }
394
+    }
395 395
 }
396 396
 if (
397
-	isset($_REQUEST['action'])
398
-	and $_REQUEST['action'] == 'ordonner_liens_documents'
399
-	and isset($_REQUEST['ordre'])
400
-	and is_string($_REQUEST['ordre'])
397
+    isset($_REQUEST['action'])
398
+    and $_REQUEST['action'] == 'ordonner_liens_documents'
399
+    and isset($_REQUEST['ordre'])
400
+    and is_string($_REQUEST['ordre'])
401 401
 ) {
402
-	$ecran_securite_raison = "ordre a la chaine";
402
+    $ecran_securite_raison = "ordre a la chaine";
403 403
 }
404 404
 
405 405
 
@@ -407,29 +407,29 @@  discard block
 block discarded – undo
407 407
  * Bloque les requêtes contenant %00 (manipulation d'include)
408 408
  */
409 409
 if (strpos(
410
-	(function_exists('get_magic_quotes_gpc') and @get_magic_quotes_gpc())
411
-		? stripslashes(serialize($_REQUEST))
412
-		: serialize($_REQUEST),
413
-	chr(0)
410
+    (function_exists('get_magic_quotes_gpc') and @get_magic_quotes_gpc())
411
+        ? stripslashes(serialize($_REQUEST))
412
+        : serialize($_REQUEST),
413
+    chr(0)
414 414
 ) !== false) {
415
-	$ecran_securite_raison = "%00";
415
+    $ecran_securite_raison = "%00";
416 416
 }
417 417
 
418 418
 /*
419 419
  * Bloque les requêtes fond=formulaire_
420 420
  */
421 421
 if (
422
-	isset($_REQUEST['fond'])
423
-	and preg_match(',^formulaire_,i', $_REQUEST['fond'])
422
+    isset($_REQUEST['fond'])
423
+    and preg_match(',^formulaire_,i', $_REQUEST['fond'])
424 424
 ) {
425
-	$ecran_securite_raison = "fond=formulaire_";
425
+    $ecran_securite_raison = "fond=formulaire_";
426 426
 }
427 427
 
428 428
 /*
429 429
  * Bloque les requêtes du type ?GLOBALS[type_urls]=toto (bug vieux php)
430 430
  */
431 431
 if (isset($_REQUEST['GLOBALS'])) {
432
-	$ecran_securite_raison = "GLOBALS[GLOBALS]";
432
+    $ecran_securite_raison = "GLOBALS[GLOBALS]";
433 433
 }
434 434
 
435 435
 /*
@@ -438,14 +438,14 @@  discard block
 block discarded – undo
438 438
  * les paginations entremélées
439 439
  */
440 440
 if (_IS_BOT) {
441
-	if (
442
-		(isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
443
-		or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
444
-		or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_'))
445
-		or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
446
-	) {
447
-		$ecran_securite_raison = "robot agenda/double pagination";
448
-	}
441
+    if (
442
+        (isset($_REQUEST['echelle']) and isset($_REQUEST['partie_cal']) and isset($_REQUEST['type']))
443
+        or (strpos((string)$_SERVER['REQUEST_URI'], 'debut_') and preg_match(',[?&]debut_.*&debut_,', (string)$_SERVER['REQUEST_URI']))
444
+        or (isset($_REQUEST['calendrier_annee']) and strpos((string)$_SERVER['REQUEST_URI'], 'debut_'))
445
+        or (isset($_REQUEST['calendrier_annee']) and preg_match(',[?&]calendrier_annee=.*&calendrier_annee=,', (string)$_SERVER['REQUEST_URI']))
446
+    ) {
447
+        $ecran_securite_raison = "robot agenda/double pagination";
448
+    }
449 449
 }
450 450
 
451 451
 /*
@@ -453,82 +453,82 @@  discard block
 block discarded – undo
453 453
  * Bloque un XSS sur une page inexistante
454 454
  */
455 455
 if (isset($_REQUEST['page'])) {
456
-	if ($_REQUEST['page'] == 'test_cfg') {
457
-		$ecran_securite_raison = "test_cfg";
458
-	}
459
-	if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page'])) {
460
-		$ecran_securite_raison = "xsspage";
461
-	}
462
-	if (
463
-		$_REQUEST['page'] == '404'
464
-		and isset($_REQUEST['erreur'])
465
-	) {
466
-		$ecran_securite_raison = "xss404";
467
-	}
456
+    if ($_REQUEST['page'] == 'test_cfg') {
457
+        $ecran_securite_raison = "test_cfg";
458
+    }
459
+    if ($_REQUEST['page'] !== htmlspecialchars((string)$_REQUEST['page'])) {
460
+        $ecran_securite_raison = "xsspage";
461
+    }
462
+    if (
463
+        $_REQUEST['page'] == '404'
464
+        and isset($_REQUEST['erreur'])
465
+    ) {
466
+        $ecran_securite_raison = "xss404";
467
+    }
468 468
 }
469 469
 
470 470
 /*
471 471
  * XSS par array
472 472
  */
473 473
 foreach (array('var_login') as $var) {
474
-	if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var])) {
475
-		$ecran_securite_raison = "xss " . $var;
476
-	}
474
+    if (isset($_REQUEST[$var]) and is_array($_REQUEST[$var])) {
475
+        $ecran_securite_raison = "xss " . $var;
476
+    }
477 477
 }
478 478
 
479 479
 /*
480 480
  * Parade antivirale contre un cheval de troie
481 481
  */
482 482
 if (!function_exists('tmp_lkojfghx')) {
483
-	function tmp_lkojfghx() {}
484
-	function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) {
485
-		// si jamais on est arrivé ici sur une erreur php
486
-		// et qu'un autre gestionnaire d'erreur est défini, l'appeller
487
-		if ($b && $GLOBALS['tmp_xhgfjokl']) {
488
-			call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
489
-		}
490
-	}
483
+    function tmp_lkojfghx() {}
484
+    function tmp_lkojfghx2($a = 0, $b = 0, $c = 0, $d = 0) {
485
+        // si jamais on est arrivé ici sur une erreur php
486
+        // et qu'un autre gestionnaire d'erreur est défini, l'appeller
487
+        if ($b && $GLOBALS['tmp_xhgfjokl']) {
488
+            call_user_func($GLOBALS['tmp_xhgfjokl'], $a, $b, $c, $d);
489
+        }
490
+    }
491 491
 }
492 492
 if (isset($_POST['tmp_lkojfghx3'])) {
493
-	$ecran_securite_raison = "gumblar";
493
+    $ecran_securite_raison = "gumblar";
494 494
 }
495 495
 
496 496
 /*
497 497
  * Outils XML mal sécurisés < 2.0.9
498 498
  */
499 499
 if (isset($_REQUEST['transformer_xml'])) {
500
-	$ecran_securite_raison = "transformer_xml";
500
+    $ecran_securite_raison = "transformer_xml";
501 501
 }
502 502
 
503 503
 /*
504 504
  * Outils XML mal sécurisés again
505 505
  */
506 506
 if (isset($_REQUEST['var_url']) and $_REQUEST['var_url'] and isset($_REQUEST['exec']) and $_REQUEST['exec'] == 'valider_xml') {
507
-	$url = trim($_REQUEST['var_url']);
508
-	if (
509
-		strncmp($url, '/', 1) == 0
510
-		or (($p = strpos($url, '..')) !== false and strpos($url, '..', $p + 3) !== false)
511
-		or (($p = strpos($url, '..')) !== false and strpos($url, 'IMG', $p + 3) !== false)
512
-		or (strpos($url, '://') !== false or strpos($url, ':\\') !== false)
513
-	) {
514
-		$ecran_securite_raison = 'URL interdite pour var_url';
515
-	}
507
+    $url = trim($_REQUEST['var_url']);
508
+    if (
509
+        strncmp($url, '/', 1) == 0
510
+        or (($p = strpos($url, '..')) !== false and strpos($url, '..', $p + 3) !== false)
511
+        or (($p = strpos($url, '..')) !== false and strpos($url, 'IMG', $p + 3) !== false)
512
+        or (strpos($url, '://') !== false or strpos($url, ':\\') !== false)
513
+    ) {
514
+        $ecran_securite_raison = 'URL interdite pour var_url';
515
+    }
516 516
 }
517 517
 
518 518
 /*
519 519
  * Sauvegarde mal securisée < 2.0.9
520 520
  */
521 521
 if (
522
-	isset($_REQUEST['nom_sauvegarde'])
523
-	and strstr((string)$_REQUEST['nom_sauvegarde'], '/')
522
+    isset($_REQUEST['nom_sauvegarde'])
523
+    and strstr((string)$_REQUEST['nom_sauvegarde'], '/')
524 524
 ) {
525
-	$ecran_securite_raison = 'nom_sauvegarde manipulee';
525
+    $ecran_securite_raison = 'nom_sauvegarde manipulee';
526 526
 }
527 527
 if (
528
-	isset($_REQUEST['znom_sauvegarde'])
529
-	and strstr((string)$_REQUEST['znom_sauvegarde'], '/')
528
+    isset($_REQUEST['znom_sauvegarde'])
529
+    and strstr((string)$_REQUEST['znom_sauvegarde'], '/')
530 530
 ) {
531
-	$ecran_securite_raison = 'znom_sauvegarde manipulee';
531
+    $ecran_securite_raison = 'znom_sauvegarde manipulee';
532 532
 }
533 533
 
534 534
 
@@ -537,57 +537,57 @@  discard block
 block discarded – undo
537 537
  * on vérifie 'page' pour ne pas bloquer ... drupal
538 538
  */
539 539
 if (
540
-	isset($_REQUEST['op']) and isset($_REQUEST['page'])
541
-	and $_REQUEST['op'] !== preg_replace('/[^\\-\w]/', '', $_REQUEST['op'])
540
+    isset($_REQUEST['op']) and isset($_REQUEST['page'])
541
+    and $_REQUEST['op'] !== preg_replace('/[^\\-\w]/', '', $_REQUEST['op'])
542 542
 ) {
543
-	$ecran_securite_raison = 'op';
543
+    $ecran_securite_raison = 'op';
544 544
 }
545 545
 
546 546
 /*
547 547
  * Forms & Table ne se méfiait pas assez des uploads de fichiers
548 548
  */
549 549
 if (count($_FILES)) {
550
-	foreach ($_FILES as $k => $v) {
551
-		if (
552
-			preg_match(',^fichier_\d+$,', $k)
553
-			and preg_match(',\.php,i', $v['name'])
554
-		) {
555
-			unset($_FILES[$k]);
556
-		}
557
-	}
550
+    foreach ($_FILES as $k => $v) {
551
+        if (
552
+            preg_match(',^fichier_\d+$,', $k)
553
+            and preg_match(',\.php,i', $v['name'])
554
+        ) {
555
+            unset($_FILES[$k]);
556
+        }
557
+    }
558 558
 }
559 559
 /*
560 560
  * et Contact trop laxiste avec une variable externe
561 561
  * on bloque pas le post pour eviter de perdre des donnees mais on unset la variable et c'est tout
562 562
  */
563 563
 if (isset($_REQUEST['pj_enregistrees_nom']) and $_REQUEST['pj_enregistrees_nom']) {
564
-	unset($_REQUEST['pj_enregistrees_nom']);
565
-	unset($_GET['pj_enregistrees_nom']);
566
-	unset($_POST['pj_enregistrees_nom']);
564
+    unset($_REQUEST['pj_enregistrees_nom']);
565
+    unset($_GET['pj_enregistrees_nom']);
566
+    unset($_POST['pj_enregistrees_nom']);
567 567
 }
568 568
 
569 569
 /*
570 570
  * reinstall=oui un peu trop permissif
571 571
  */
572 572
 if (
573
-	isset($_REQUEST['reinstall'])
574
-	and $_REQUEST['reinstall'] == 'oui'
573
+    isset($_REQUEST['reinstall'])
574
+    and $_REQUEST['reinstall'] == 'oui'
575 575
 ) {
576
-	$ecran_securite_raison = 'reinstall=oui';
576
+    $ecran_securite_raison = 'reinstall=oui';
577 577
 }
578 578
 
579 579
 /*
580 580
  * Pas d'action pendant l'install
581 581
  */
582 582
 if (isset($_REQUEST['exec']) and $_REQUEST['exec'] === 'install' and isset($_REQUEST['action'])) {
583
-	$ecran_securite_raison = 'install&action impossibles';
583
+    $ecran_securite_raison = 'install&action impossibles';
584 584
 }
585 585
 
586 586
 /*
587 587
  * Échappement xss referer
588 588
  */
589 589
 if (isset($_SERVER['HTTP_REFERER'])) {
590
-	$_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');
590
+    $_SERVER['HTTP_REFERER'] = strtr($_SERVER['HTTP_REFERER'], '<>"\'', '[]##');
591 591
 }
592 592
 
593 593
 
@@ -595,7 +595,7 @@  discard block
 block discarded – undo
595 595
  * Echappement HTTP_X_FORWARDED_HOST
596 596
  */
597 597
 if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
598
-	$_SERVER['HTTP_X_FORWARDED_HOST'] = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"\{\}\$'` \r\n", '____________');
598
+    $_SERVER['HTTP_X_FORWARDED_HOST'] = strtr($_SERVER['HTTP_X_FORWARDED_HOST'], "<>?\"\{\}\$'` \r\n", '____________');
599 599
 }
600 600
 
601 601
 
@@ -603,9 +603,9 @@  discard block
 block discarded – undo
603 603
  * Pas d'erreur dans l'erreur
604 604
  */
605 605
 if (isset($_REQUEST['var_erreur']) and isset($_REQUEST['page']) and $_REQUEST['page'] === 'login') {
606
-	if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>')) {
607
-		$ecran_securite_raison = 'var_erreur incorrecte';
608
-	}
606
+    if (strlen($_REQUEST['var_erreur']) !== strcspn($_REQUEST['var_erreur'], '<>')) {
607
+        $ecran_securite_raison = 'var_erreur incorrecte';
608
+    }
609 609
 }
610 610
 
611 611
 
@@ -613,30 +613,30 @@  discard block
 block discarded – undo
613 613
  * Réinjection des clés en html dans l'admin r19561
614 614
  */
615 615
 if (
616
-	(isset($_SERVER['REQUEST_URI']) and strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false)
617
-	or isset($_REQUEST['var_memotri'])
616
+    (isset($_SERVER['REQUEST_URI']) and strpos($_SERVER['REQUEST_URI'], "ecrire/") !== false)
617
+    or isset($_REQUEST['var_memotri'])
618 618
 ) {
619
-	$zzzz = implode("", array_keys($_REQUEST));
620
-	if (strlen($zzzz) != strcspn($zzzz, '<>"\'')) {
621
-		$ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
622
-	}
619
+    $zzzz = implode("", array_keys($_REQUEST));
620
+    if (strlen($zzzz) != strcspn($zzzz, '<>"\'')) {
621
+        $ecran_securite_raison = 'Cle incorrecte en $_REQUEST';
622
+    }
623 623
 }
624 624
 
625 625
 /*
626 626
  * Injection par connect
627 627
  */
628 628
 if (
629
-	isset($_REQUEST['connect'])
630
-	// cas qui permettent de sortir d'un commentaire PHP
631
-	and (
632
-		strpos($_REQUEST['connect'], "?") !== false
633
-		or strpos($_REQUEST['connect'], "<") !== false
634
-		or strpos($_REQUEST['connect'], ">") !== false
635
-		or strpos($_REQUEST['connect'], "\n") !== false
636
-		or strpos($_REQUEST['connect'], "\r") !== false
637
-	)
629
+    isset($_REQUEST['connect'])
630
+    // cas qui permettent de sortir d'un commentaire PHP
631
+    and (
632
+        strpos($_REQUEST['connect'], "?") !== false
633
+        or strpos($_REQUEST['connect'], "<") !== false
634
+        or strpos($_REQUEST['connect'], ">") !== false
635
+        or strpos($_REQUEST['connect'], "\n") !== false
636
+        or strpos($_REQUEST['connect'], "\r") !== false
637
+    )
638 638
 ) {
639
-	$ecran_securite_raison = "malformed connect argument";
639
+    $ecran_securite_raison = "malformed connect argument";
640 640
 }
641 641
 
642 642
 
@@ -644,9 +644,9 @@  discard block
 block discarded – undo
644 644
  * _oups donc
645 645
  */
646 646
 if (
647
-	isset($_REQUEST['_oups'])
648
-	and base64_decode($_REQUEST['_oups'], true) === false) {
649
-	$ecran_securite_raison = "malformed _oups argument";
647
+    isset($_REQUEST['_oups'])
648
+    and base64_decode($_REQUEST['_oups'], true) === false) {
649
+    $ecran_securite_raison = "malformed _oups argument";
650 650
 }
651 651
 
652 652
 
@@ -654,23 +654,23 @@  discard block
 block discarded – undo
654 654
  * S'il y a une raison de mourir, mourons
655 655
  */
656 656
 if (isset($ecran_securite_raison)) {
657
-	header("HTTP/1.0 403 Forbidden");
658
-	header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
659
-	header("Cache-Control: no-cache, must-revalidate");
660
-	header("Pragma: no-cache");
661
-	header("Content-Type: text/html");
662
-	header("Connection: close");
663
-	die("<html><title>Error 403: Forbidden</title><body><h1>Error 403</h1><p>You are not authorized to view this page ($ecran_securite_raison)</p></body></html>");
657
+    header("HTTP/1.0 403 Forbidden");
658
+    header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
659
+    header("Cache-Control: no-cache, must-revalidate");
660
+    header("Pragma: no-cache");
661
+    header("Content-Type: text/html");
662
+    header("Connection: close");
663
+    die("<html><title>Error 403: Forbidden</title><body><h1>Error 403</h1><p>You are not authorized to view this page ($ecran_securite_raison)</p></body></html>");
664 664
 }
665 665
 
666 666
 /*
667 667
  * Un filtre filtrer_entites securise
668 668
  */
669 669
 if (!function_exists('filtre_filtrer_entites_dist')) {
670
-	function filtre_filtrer_entites_dist($t) {
671
-		include_spip('inc/texte');
672
-		return interdire_scripts(filtrer_entites($t));
673
-	}
670
+    function filtre_filtrer_entites_dist($t) {
671
+        include_spip('inc/texte');
672
+        return interdire_scripts(filtrer_entites($t));
673
+    }
674 674
 }
675 675
 
676 676
 
@@ -684,35 +684,35 @@  discard block
 block discarded – undo
684 684
  * Bloque les bots quand le load déborde
685 685
  */
686 686
 if (!defined('_ECRAN_SECURITE_LOAD')) {
687
-	define('_ECRAN_SECURITE_LOAD', 4);
687
+    define('_ECRAN_SECURITE_LOAD', 4);
688 688
 }
689 689
 
690 690
 if (
691
-	defined('_ECRAN_SECURITE_LOAD')
692
-	and _ECRAN_SECURITE_LOAD > 0
693
-	and _IS_BOT
694
-	and !_IS_BOT_FRIEND
695
-	and $_SERVER['REQUEST_METHOD'] === 'GET'
696
-	and (
697
-		(function_exists('sys_getloadavg')
698
-			and $load = sys_getloadavg()
699
-			and is_array($load)
700
-			and $load = array_shift($load))
701
-		or
702
-		(@is_readable('/proc/loadavg')
703
-			and $load = file_get_contents('/proc/loadavg')
704
-			and $load = floatval($load))
705
-	)
706
-	and $load > _ECRAN_SECURITE_LOAD // eviter l'evaluation suivante si de toute facon le load est inferieur a la limite
707
-	and rand(0, $load * $load) > _ECRAN_SECURITE_LOAD * _ECRAN_SECURITE_LOAD
691
+    defined('_ECRAN_SECURITE_LOAD')
692
+    and _ECRAN_SECURITE_LOAD > 0
693
+    and _IS_BOT
694
+    and !_IS_BOT_FRIEND
695
+    and $_SERVER['REQUEST_METHOD'] === 'GET'
696
+    and (
697
+        (function_exists('sys_getloadavg')
698
+            and $load = sys_getloadavg()
699
+            and is_array($load)
700
+            and $load = array_shift($load))
701
+        or
702
+        (@is_readable('/proc/loadavg')
703
+            and $load = file_get_contents('/proc/loadavg')
704
+            and $load = floatval($load))
705
+    )
706
+    and $load > _ECRAN_SECURITE_LOAD // eviter l'evaluation suivante si de toute facon le load est inferieur a la limite
707
+    and rand(0, $load * $load) > _ECRAN_SECURITE_LOAD * _ECRAN_SECURITE_LOAD
708 708
 ) {
709
-	//https://webmasters.stackexchange.com/questions/65674/should-i-return-a-429-or-503-status-code-to-a-bot
710
-	header("HTTP/1.0 429 Too Many Requests");
711
-	header("Retry-After: 300");
712
-	header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
713
-	header("Cache-Control: no-cache, must-revalidate");
714
-	header("Pragma: no-cache");
715
-	header("Content-Type: text/html");
716
-	header("Connection: close");
717
-	die("<html><title>Status 429: Too Many Requests</title><body><h1>Status 429</h1><p>Too Many Requests (try again soon)</p></body></html>");
709
+    //https://webmasters.stackexchange.com/questions/65674/should-i-return-a-429-or-503-status-code-to-a-bot
710
+    header("HTTP/1.0 429 Too Many Requests");
711
+    header("Retry-After: 300");
712
+    header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
713
+    header("Cache-Control: no-cache, must-revalidate");
714
+    header("Pragma: no-cache");
715
+    header("Content-Type: text/html");
716
+    header("Connection: close");
717
+    die("<html><title>Status 429: Too Many Requests</title><body><h1>Status 429</h1><p>Too Many Requests (try again soon)</p></body></html>");
718 718
 }
Please login to merge, or discard this patch.
ecrire/inc/securiser_action.php 3 patches
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -85,8 +85,7 @@
 block discarded – undo
85 85
 		$url_action = self();
86 86
 		$action = _request('action');
87 87
 		$url_action = parametre_url($url_action, 'action', $action, '&');
88
-	}
89
-	else {
88
+	} else {
90 89
 		$action = parametre_url($url_action, 'action');
91 90
 	}
92 91
 
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	}
94 94
 
95 95
 	$arg = parametre_url($url_action, 'arg');
96
-	$confirm = md5("$action:$arg:" . realpath(__FILE__));
96
+	$confirm = md5("$action:$arg:".realpath(__FILE__));
97 97
 	if (_request('confirm_action') === $confirm) {
98 98
 		return true;
99 99
 	}
@@ -146,7 +146,7 @@  discard block
 block discarded – undo
146 146
 		} else {
147 147
 			return generer_url_action(
148 148
 				$action,
149
-				'arg=' . rawurlencode($arg) . "&hash=$hash" . (!$r ? '' : "&redirect=$r"),
149
+				'arg='.rawurlencode($arg)."&hash=$hash".(!$r ? '' : "&redirect=$r"),
150 150
 				$mode,
151 151
 				$public
152 152
 			);
@@ -157,9 +157,9 @@  discard block
 block discarded – undo
157 157
 	$hash = calculer_action_auteur("$action-$arg");
158 158
 	$att .= " style='margin: 0px; border: 0px'";
159 159
 	if ($redirect) {
160
-		$redirect = "\n\t\t<input name='redirect' type='hidden' value='" . str_replace("'", '&#39;', $redirect) . "' />";
160
+		$redirect = "\n\t\t<input name='redirect' type='hidden' value='".str_replace("'", '&#39;', $redirect)."' />";
161 161
 	}
162
-	$mode .= $redirect . "
162
+	$mode .= $redirect."
163 163
 <input name='hash' type='hidden' value='$hash' />
164 164
 <input name='arg' type='hidden' value='$arg' />";
165 165
 
@@ -233,7 +233,7 @@  discard block
 block discarded – undo
233 233
 	$pass = $pass ?? '';
234 234
 	$entry = "$action:$id_auteur:$pass:$alea";
235 235
 	if (!isset($sha[$entry])) {
236
-		$sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::" . _action_get_alea($alea));
236
+		$sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::"._action_get_alea($alea));
237 237
 	}
238 238
 
239 239
 	return $sha[$entry];
@@ -351,7 +351,7 @@  discard block
 block discarded – undo
351 351
 	// On nettoie l’URL de tous les var_.
352 352
 	$url = nettoyer_uri_var($url);
353 353
 
354
-	$token = _action_auteur('previsualiser-' . $url, $id_auteur, secret_du_site(), $alea);
354
+	$token = _action_auteur('previsualiser-'.$url, $id_auteur, secret_du_site(), $alea);
355 355
 	return "$id_auteur-$token";
356 356
 }
357 357
 
Please login to merge, or discard this patch.
Indentation   +187 added lines, -187 removed lines patch added patch discarded remove patch
@@ -16,10 +16,10 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Actions
17 17
  **/
18 18
 
19
- use Spip\Chiffrer\SpipCles;
19
+    use Spip\Chiffrer\SpipCles;
20 20
 
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 /**
@@ -52,19 +52,19 @@  discard block
 block discarded – undo
52 52
  * @return array|string
53 53
  */
54 54
 function inc_securiser_action_dist($action = '', $arg = '', $redirect = '', $mode = false, $att = '', $public = false) {
55
-	if ($action) {
56
-		return securiser_action_auteur($action, $arg, $redirect, $mode, $att, $public);
57
-	} else {
58
-		$arg = _request('arg');
59
-		$hash = _request('hash');
60
-		$action = _request('action') ?: _request('formulaire_action');
61
-		if ($a = verifier_action_auteur("$action-$arg", $hash)) {
62
-			return $arg;
63
-		}
64
-		include_spip('inc/minipres');
65
-		echo minipres();
66
-		exit;
67
-	}
55
+    if ($action) {
56
+        return securiser_action_auteur($action, $arg, $redirect, $mode, $att, $public);
57
+    } else {
58
+        $arg = _request('arg');
59
+        $hash = _request('hash');
60
+        $action = _request('action') ?: _request('formulaire_action');
61
+        if ($a = verifier_action_auteur("$action-$arg", $hash)) {
62
+            return $arg;
63
+        }
64
+        include_spip('inc/minipres');
65
+        echo minipres();
66
+        exit;
67
+    }
68 68
 }
69 69
 
70 70
 /**
@@ -83,29 +83,29 @@  discard block
 block discarded – undo
83 83
  */
84 84
 function demander_confirmation_avant_action($titre, $titre_bouton, $url_action = null) {
85 85
 
86
-	if (!$url_action) {
87
-		$url_action = self();
88
-		$action = _request('action');
89
-		$url_action = parametre_url($url_action, 'action', $action, '&');
90
-	}
91
-	else {
92
-		$action = parametre_url($url_action, 'action');
93
-	}
94
-
95
-	$arg = parametre_url($url_action, 'arg');
96
-	$confirm = md5("$action:$arg:" . realpath(__FILE__));
97
-	if (_request('confirm_action') === $confirm) {
98
-		return true;
99
-	}
100
-
101
-	$url_confirm = parametre_url($url_action, 'confirm_action', $confirm, '&');
102
-	include_spip('inc/filtres');
103
-	$bouton_action = bouton_action($titre_bouton, $url_confirm);
104
-	$corps = "<div style='text-align:center;'>$bouton_action</div>";
105
-
106
-	include_spip('inc/minipres');
107
-	echo minipres($titre, $corps);
108
-	exit;
86
+    if (!$url_action) {
87
+        $url_action = self();
88
+        $action = _request('action');
89
+        $url_action = parametre_url($url_action, 'action', $action, '&');
90
+    }
91
+    else {
92
+        $action = parametre_url($url_action, 'action');
93
+    }
94
+
95
+    $arg = parametre_url($url_action, 'arg');
96
+    $confirm = md5("$action:$arg:" . realpath(__FILE__));
97
+    if (_request('confirm_action') === $confirm) {
98
+        return true;
99
+    }
100
+
101
+    $url_confirm = parametre_url($url_action, 'confirm_action', $confirm, '&');
102
+    include_spip('inc/filtres');
103
+    $bouton_action = bouton_action($titre_bouton, $url_confirm);
104
+    $corps = "<div style='text-align:center;'>$bouton_action</div>";
105
+
106
+    include_spip('inc/minipres');
107
+    echo minipres($titre, $corps);
108
+    exit;
109 109
 }
110 110
 
111 111
 /**
@@ -136,34 +136,34 @@  discard block
 block discarded – undo
136 136
  */
137 137
 function securiser_action_auteur($action, $arg, $redirect = '', $mode = false, $att = '', $public = false) {
138 138
 
139
-	// mode URL ou array
140
-	if (!is_string($mode)) {
141
-		$hash = calculer_action_auteur("$action-$arg", is_numeric($att) ? $att : null);
142
-
143
-		$r = rawurlencode($redirect);
144
-		if ($mode === -1) {
145
-			return ['action' => $action, 'arg' => $arg, 'hash' => $hash];
146
-		} else {
147
-			return generer_url_action(
148
-				$action,
149
-				'arg=' . rawurlencode($arg) . "&hash=$hash" . (!$r ? '' : "&redirect=$r"),
150
-				$mode,
151
-				$public
152
-			);
153
-		}
154
-	}
155
-
156
-	// mode formulaire
157
-	$hash = calculer_action_auteur("$action-$arg");
158
-	$att .= " style='margin: 0px; border: 0px'";
159
-	if ($redirect) {
160
-		$redirect = "\n\t\t<input name='redirect' type='hidden' value='" . str_replace("'", '&#39;', $redirect) . "' />";
161
-	}
162
-	$mode .= $redirect . "
139
+    // mode URL ou array
140
+    if (!is_string($mode)) {
141
+        $hash = calculer_action_auteur("$action-$arg", is_numeric($att) ? $att : null);
142
+
143
+        $r = rawurlencode($redirect);
144
+        if ($mode === -1) {
145
+            return ['action' => $action, 'arg' => $arg, 'hash' => $hash];
146
+        } else {
147
+            return generer_url_action(
148
+                $action,
149
+                'arg=' . rawurlencode($arg) . "&hash=$hash" . (!$r ? '' : "&redirect=$r"),
150
+                $mode,
151
+                $public
152
+            );
153
+        }
154
+    }
155
+
156
+    // mode formulaire
157
+    $hash = calculer_action_auteur("$action-$arg");
158
+    $att .= " style='margin: 0px; border: 0px'";
159
+    if ($redirect) {
160
+        $redirect = "\n\t\t<input name='redirect' type='hidden' value='" . str_replace("'", '&#39;', $redirect) . "' />";
161
+    }
162
+    $mode .= $redirect . "
163 163
 <input name='hash' type='hidden' value='$hash' />
164 164
 <input name='arg' type='hidden' value='$arg' />";
165 165
 
166
-	return generer_form_action($action, $mode, $att, $public);
166
+    return generer_form_action($action, $mode, $att, $public);
167 167
 }
168 168
 
169 169
 /**
@@ -173,48 +173,48 @@  discard block
 block discarded – undo
173 173
  * @return array
174 174
  */
175 175
 function caracteriser_auteur($id_auteur = null) {
176
-	static $caracterisation = [];
177
-
178
-	if (is_null($id_auteur) and !isset($GLOBALS['visiteur_session']['id_auteur'])) {
179
-		// si l'auteur courant n'est pas connu alors qu'il peut demander une action
180
-		// c'est une connexion par php_auth ou 1 instal, on se rabat sur le cookie.
181
-		// S'il n'avait pas le droit de realiser cette action, le hash sera faux.
182
-		if (
183
-			isset($_COOKIE['spip_session'])
184
-			and (preg_match('/^(\d+)/', $_COOKIE['spip_session'], $r))
185
-		) {
186
-			return [$r[1], ''];
187
-			// Necessaire aux forums anonymes.
188
-			// Pour le reste, ca echouera.
189
-		} else {
190
-			return ['0', ''];
191
-		}
192
-	}
193
-	// Eviter l'acces SQL si le pass est connu de PHP
194
-	if (is_null($id_auteur)) {
195
-		$id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
196
-		if (isset($GLOBALS['visiteur_session']['pass']) and $GLOBALS['visiteur_session']['pass']) {
197
-			return $caracterisation[$id_auteur] = [$id_auteur, $GLOBALS['visiteur_session']['pass']];
198
-		}
199
-	}
200
-
201
-	if (isset($caracterisation[$id_auteur])) {
202
-		return $caracterisation[$id_auteur];
203
-	}
204
-
205
-	if ($id_auteur) {
206
-		include_spip('base/abstract_sql');
207
-		$t = sql_fetsel('id_auteur, pass', 'spip_auteurs', "id_auteur=$id_auteur");
208
-		if ($t) {
209
-			return $caracterisation[$id_auteur] = [$t['id_auteur'], $t['pass']];
210
-		}
211
-		include_spip('inc/minipres');
212
-		echo minipres();
213
-		exit;
214
-	} // Visiteur anonyme, pour ls forums par exemple
215
-	else {
216
-		return ['0', ''];
217
-	}
176
+    static $caracterisation = [];
177
+
178
+    if (is_null($id_auteur) and !isset($GLOBALS['visiteur_session']['id_auteur'])) {
179
+        // si l'auteur courant n'est pas connu alors qu'il peut demander une action
180
+        // c'est une connexion par php_auth ou 1 instal, on se rabat sur le cookie.
181
+        // S'il n'avait pas le droit de realiser cette action, le hash sera faux.
182
+        if (
183
+            isset($_COOKIE['spip_session'])
184
+            and (preg_match('/^(\d+)/', $_COOKIE['spip_session'], $r))
185
+        ) {
186
+            return [$r[1], ''];
187
+            // Necessaire aux forums anonymes.
188
+            // Pour le reste, ca echouera.
189
+        } else {
190
+            return ['0', ''];
191
+        }
192
+    }
193
+    // Eviter l'acces SQL si le pass est connu de PHP
194
+    if (is_null($id_auteur)) {
195
+        $id_auteur = $GLOBALS['visiteur_session']['id_auteur'] ?? 0;
196
+        if (isset($GLOBALS['visiteur_session']['pass']) and $GLOBALS['visiteur_session']['pass']) {
197
+            return $caracterisation[$id_auteur] = [$id_auteur, $GLOBALS['visiteur_session']['pass']];
198
+        }
199
+    }
200
+
201
+    if (isset($caracterisation[$id_auteur])) {
202
+        return $caracterisation[$id_auteur];
203
+    }
204
+
205
+    if ($id_auteur) {
206
+        include_spip('base/abstract_sql');
207
+        $t = sql_fetsel('id_auteur, pass', 'spip_auteurs', "id_auteur=$id_auteur");
208
+        if ($t) {
209
+            return $caracterisation[$id_auteur] = [$t['id_auteur'], $t['pass']];
210
+        }
211
+        include_spip('inc/minipres');
212
+        echo minipres();
213
+        exit;
214
+    } // Visiteur anonyme, pour ls forums par exemple
215
+    else {
216
+        return ['0', ''];
217
+    }
218 218
 }
219 219
 
220 220
 /**
@@ -229,30 +229,30 @@  discard block
 block discarded – undo
229 229
  * @return string
230 230
  */
231 231
 function _action_auteur(string $action, int $id_auteur, ?string $pass, string $alea): string {
232
-	static $sha = [];
233
-	$pass = $pass ?? '';
234
-	$entry = "$action:$id_auteur:$pass:$alea";
235
-	if (!isset($sha[$entry])) {
236
-		$sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::" . _action_get_alea($alea));
237
-	}
238
-
239
-	return $sha[$entry];
232
+    static $sha = [];
233
+    $pass = $pass ?? '';
234
+    $entry = "$action:$id_auteur:$pass:$alea";
235
+    if (!isset($sha[$entry])) {
236
+        $sha[$entry] = hash_hmac('sha256', "$action::$id_auteur", "$pass::" . _action_get_alea($alea));
237
+    }
238
+
239
+    return $sha[$entry];
240 240
 }
241 241
 
242 242
 function _action_get_alea(string $alea): string {
243
-	if (!isset($GLOBALS['meta'][$alea])) {
244
-		if (!$exec = _request('exec') or !autoriser_sans_cookie($exec)) {
245
-			include_spip('inc/acces');
246
-			charger_aleas();
247
-			if (empty($GLOBALS['meta'][$alea])) {
248
-				include_spip('inc/minipres');
249
-				echo minipres();
250
-				spip_log("$alea indisponible");
251
-				exit;
252
-			}
253
-		}
254
-	}
255
-	return $GLOBALS['meta'][$alea] ?? '';
243
+    if (!isset($GLOBALS['meta'][$alea])) {
244
+        if (!$exec = _request('exec') or !autoriser_sans_cookie($exec)) {
245
+            include_spip('inc/acces');
246
+            charger_aleas();
247
+            if (empty($GLOBALS['meta'][$alea])) {
248
+                include_spip('inc/minipres');
249
+                echo minipres();
250
+                spip_log("$alea indisponible");
251
+                exit;
252
+            }
253
+        }
254
+    }
255
+    return $GLOBALS['meta'][$alea] ?? '';
256 256
 }
257 257
 
258 258
 /**
@@ -263,9 +263,9 @@  discard block
 block discarded – undo
263 263
  * @return string
264 264
  */
265 265
 function calculer_action_auteur($action, $id_auteur = null) {
266
-	[$id_auteur, $pass] = caracteriser_auteur($id_auteur);
266
+    [$id_auteur, $pass] = caracteriser_auteur($id_auteur);
267 267
 
268
-	return _action_auteur($action, $id_auteur, $pass, 'alea_ephemere');
268
+    return _action_auteur($action, $id_auteur, $pass, 'alea_ephemere');
269 269
 }
270 270
 
271 271
 
@@ -278,15 +278,15 @@  discard block
 block discarded – undo
278 278
  * @return bool
279 279
  */
280 280
 function verifier_action_auteur($action, $hash) {
281
-	[$id_auteur, $pass] = caracteriser_auteur();
282
-	if (
283
-		hash_equals($hash, _action_auteur($action, $id_auteur, $pass, 'alea_ephemere'))
284
-		or hash_equals($hash, _action_auteur($action, $id_auteur, $pass, 'alea_ephemere_ancien'))
285
-	) {
286
-		return true;
287
-	}
288
-
289
-	return false;
281
+    [$id_auteur, $pass] = caracteriser_auteur();
282
+    if (
283
+        hash_equals($hash, _action_auteur($action, $id_auteur, $pass, 'alea_ephemere'))
284
+        or hash_equals($hash, _action_auteur($action, $id_auteur, $pass, 'alea_ephemere_ancien'))
285
+    ) {
286
+        return true;
287
+    }
288
+
289
+    return false;
290 290
 }
291 291
 
292 292
 //
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
  * @return string
302 302
  */
303 303
 function secret_du_site() {
304
-	return SpipCles::secret_du_site();
304
+    return SpipCles::secret_du_site();
305 305
 }
306 306
 
307 307
 /**
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
  * @return string
312 312
  */
313 313
 function calculer_cle_action($action) {
314
-	return hash_hmac('sha256', $action, secret_du_site());
314
+    return hash_hmac('sha256', $action, secret_du_site());
315 315
 }
316 316
 
317 317
 /**
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
  * @return bool
323 323
  */
324 324
 function verifier_cle_action($action, $cle) {
325
-	return hash_equals($cle, calculer_cle_action($action));
325
+    return hash_equals($cle, calculer_cle_action($action));
326 326
 }
327 327
 
328 328
 
@@ -339,19 +339,19 @@  discard block
 block discarded – undo
339 339
  * @return string Token, de la forme "{id}*{hash}"
340 340
  */
341 341
 function calculer_token_previsu($url, $id_auteur = null, $alea = 'alea_ephemere') {
342
-	if (is_null($id_auteur)) {
343
-		if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
344
-			$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
345
-		}
346
-	}
347
-	if (!$id_auteur = intval($id_auteur)) {
348
-		return '';
349
-	}
350
-	// On nettoie l’URL de tous les var_.
351
-	$url = nettoyer_uri_var($url);
352
-
353
-	$token = _action_auteur('previsualiser-' . $url, $id_auteur, secret_du_site(), $alea);
354
-	return "$id_auteur-$token";
342
+    if (is_null($id_auteur)) {
343
+        if (!empty($GLOBALS['visiteur_session']['id_auteur'])) {
344
+            $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
345
+        }
346
+    }
347
+    if (!$id_auteur = intval($id_auteur)) {
348
+        return '';
349
+    }
350
+    // On nettoie l’URL de tous les var_.
351
+    $url = nettoyer_uri_var($url);
352
+
353
+    $token = _action_auteur('previsualiser-' . $url, $id_auteur, secret_du_site(), $alea);
354
+    return "$id_auteur-$token";
355 355
 }
356 356
 
357 357
 
@@ -369,31 +369,31 @@  discard block
 block discarded – undo
369 369
  *     + Tableau (id auteur, type d’objet, id_objet) sinon.
370 370
  */
371 371
 function verifier_token_previsu($token) {
372
-	// retrouver auteur / hash
373
-	$e = explode('-', $token, 2);
374
-	if (count($e) == 2 and is_numeric(reset($e))) {
375
-		$id_auteur = intval(reset($e));
376
-	} else {
377
-		return false;
378
-	}
379
-
380
-	// calculer le type et id de l’url actuelle
381
-	include_spip('inc/urls');
382
-	include_spip('inc/filtres_mini');
383
-	$url = url_absolue(self());
384
-
385
-	// verifier le token
386
-	$_token = calculer_token_previsu($url, $id_auteur, 'alea_ephemere');
387
-	if (!$_token or !hash_equals($token, $_token)) {
388
-		$_token = calculer_token_previsu($url, $id_auteur, 'alea_ephemere_ancien');
389
-		if (!$_token or !hash_equals($token, $_token)) {
390
-			return false;
391
-		}
392
-	}
393
-
394
-	return [
395
-		'id_auteur' => $id_auteur,
396
-	];
372
+    // retrouver auteur / hash
373
+    $e = explode('-', $token, 2);
374
+    if (count($e) == 2 and is_numeric(reset($e))) {
375
+        $id_auteur = intval(reset($e));
376
+    } else {
377
+        return false;
378
+    }
379
+
380
+    // calculer le type et id de l’url actuelle
381
+    include_spip('inc/urls');
382
+    include_spip('inc/filtres_mini');
383
+    $url = url_absolue(self());
384
+
385
+    // verifier le token
386
+    $_token = calculer_token_previsu($url, $id_auteur, 'alea_ephemere');
387
+    if (!$_token or !hash_equals($token, $_token)) {
388
+        $_token = calculer_token_previsu($url, $id_auteur, 'alea_ephemere_ancien');
389
+        if (!$_token or !hash_equals($token, $_token)) {
390
+            return false;
391
+        }
392
+    }
393
+
394
+    return [
395
+        'id_auteur' => $id_auteur,
396
+    ];
397 397
 }
398 398
 
399 399
 /**
@@ -402,13 +402,13 @@  discard block
 block discarded – undo
402 402
  * @return bool|array
403 403
  */
404 404
 function decrire_token_previsu() {
405
-	static $desc = null;
406
-	if (is_null($desc)) {
407
-		if ($token = _request('var_previewtoken')) {
408
-			$desc = verifier_token_previsu($token);
409
-		} else {
410
-			$desc = false;
411
-		}
412
-	}
413
-	return $desc;
405
+    static $desc = null;
406
+    if (is_null($desc)) {
407
+        if ($token = _request('var_previewtoken')) {
408
+            $desc = verifier_token_previsu($token);
409
+        } else {
410
+            $desc = false;
411
+        }
412
+    }
413
+    return $desc;
414 414
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_preferences.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -45,7 +45,7 @@
 block discarded – undo
45 45
 	$les_couleurs = $couleurs();
46 46
 	foreach ($les_couleurs as $k => $c) {
47 47
 		$valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
48
-			. $GLOBALS['spip_lang_left'] . '&'
48
+			. $GLOBALS['spip_lang_left'].'&'
49 49
 			. $couleurs($k));
50 50
 		$valeurs['couleurs'][$k] = $c;
51 51
 	}
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
  **/
22 22
 
23 23
 if (!defined('_ECRIRE_INC_VERSION')) {
24
-	return;
24
+    return;
25 25
 }
26 26
 
27 27
 /**
@@ -31,27 +31,27 @@  discard block
 block discarded – undo
31 31
  *     Environnement du formulaire
32 32
  **/
33 33
 function formulaires_configurer_preferences_charger_dist() {
34
-	// travailler sur des meta fraiches
35
-	include_spip('inc/meta');
36
-	lire_metas();
34
+    // travailler sur des meta fraiches
35
+    include_spip('inc/meta');
36
+    lire_metas();
37 37
 
38
-	$valeurs = [];
39
-	$valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
40
-	$valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
41
-	$valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
38
+    $valeurs = [];
39
+    $valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
40
+    $valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
41
+    $valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
42 42
 
43
-	$couleurs = charger_fonction('couleurs', 'inc');
44
-	$les_couleurs = $couleurs();
45
-	foreach ($les_couleurs as $k => $c) {
46
-		$valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
47
-			. $GLOBALS['spip_lang_left'] . '&'
48
-			. $couleurs($k));
49
-		$valeurs['couleurs'][$k] = $c;
50
-	}
43
+    $couleurs = charger_fonction('couleurs', 'inc');
44
+    $les_couleurs = $couleurs();
45
+    foreach ($les_couleurs as $k => $c) {
46
+        $valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
47
+            . $GLOBALS['spip_lang_left'] . '&'
48
+            . $couleurs($k));
49
+        $valeurs['couleurs'][$k] = $c;
50
+    }
51 51
 
52
-	$valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
52
+    $valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
53 53
 
54
-	return $valeurs;
54
+    return $valeurs;
55 55
 }
56 56
 
57 57
 /**
@@ -62,33 +62,33 @@  discard block
 block discarded – undo
62 62
  **/
63 63
 function formulaires_configurer_preferences_traiter_dist() {
64 64
 
65
-	if ($couleur = _request('couleur')) {
66
-		$couleurs = charger_fonction('couleurs', 'inc');
67
-		$les_couleurs = $couleurs([], true);
68
-		if (isset($les_couleurs[$couleur])) {
69
-			$GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
70
-		}
71
-	}
72
-	if ($display = intval(_request('display'))) {
73
-		$GLOBALS['visiteur_session']['prefs']['display'] = $display;
74
-	}
75
-	if (
76
-		$display_navigation = _request('display_navigation')
77
-		and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
78
-	) {
79
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
80
-	}
65
+    if ($couleur = _request('couleur')) {
66
+        $couleurs = charger_fonction('couleurs', 'inc');
67
+        $les_couleurs = $couleurs([], true);
68
+        if (isset($les_couleurs[$couleur])) {
69
+            $GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
70
+        }
71
+    }
72
+    if ($display = intval(_request('display'))) {
73
+        $GLOBALS['visiteur_session']['prefs']['display'] = $display;
74
+    }
75
+    if (
76
+        $display_navigation = _request('display_navigation')
77
+        and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
78
+    ) {
79
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
80
+    }
81 81
 
82
-	if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
83
-		include_spip('action/editer_auteur');
84
-		$c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
82
+    if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
83
+        include_spip('action/editer_auteur');
84
+        $c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
85 85
 
86
-		if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
87
-			$c['imessage'] = $imessage;
88
-		}
86
+        if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
87
+            $c['imessage'] = $imessage;
88
+        }
89 89
 
90
-		auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
91
-	}
90
+        auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
91
+    }
92 92
 
93
-	return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
93
+    return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
94 94
 }
Please login to merge, or discard this patch.