Completed
Push — master ( 350a8b...37aa61 )
by cam
01:39
created
prive/formulaires/declarer_bases.php 2 patches
Indentation   +181 added lines, -181 removed lines patch added patch discarded remove patch
@@ -10,210 +10,210 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('inc/install');
17 17
 
18 18
 function formulaires_declarer_bases_charger_dist() {
19 19
 
20
-	if (!autoriser('detruire')) {
21
-		return false;
22
-	}
23
-
24
-	[$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
25
-
26
-	$deja = bases_referencees(_FILE_CONNECT);
27
-	// proposer un nom de connect si pas encore saisi
28
-	$nom_connect = '';
29
-	if (defined('_DECLARER_CHOIX_DB')) {
30
-		$nom_connect = _DECLARER_CHOIX_DB;
31
-		$n = '';
32
-		while (in_array($nom_connect . $n, $deja)) {
33
-			$n = ($n ? $n + 1 : 1);
34
-		}
35
-		$nom_connect .= $n;
36
-	}
37
-
38
-	return [
39
-		'_etapes' => 3,
40
-		'_bases_deja' => $deja,
41
-		'_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
42
-		'_tables' => (defined('_DECLARER_SERVEUR_DB') && defined('_DECLARER_CHOIX_DB')) ?
43
-			$tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
44
-			:
45
-			[],
46
-		'main_db' => '',
47
-		'_serveurs' => liste_serveurs(),
48
-		'sql_serveur_db' => 'sqlite3', // valeur par defaut
49
-		'adresse_db' => $adresse_db,
50
-		'login_db' => '',
51
-		'pass_db' => '',
52
-		'choix_db' => '',
53
-		'table_new' => '',
54
-		'nom_connect' => $nom_connect,
55
-	];
20
+    if (!autoriser('detruire')) {
21
+        return false;
22
+    }
23
+
24
+    [$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
25
+
26
+    $deja = bases_referencees(_FILE_CONNECT);
27
+    // proposer un nom de connect si pas encore saisi
28
+    $nom_connect = '';
29
+    if (defined('_DECLARER_CHOIX_DB')) {
30
+        $nom_connect = _DECLARER_CHOIX_DB;
31
+        $n = '';
32
+        while (in_array($nom_connect . $n, $deja)) {
33
+            $n = ($n ? $n + 1 : 1);
34
+        }
35
+        $nom_connect .= $n;
36
+    }
37
+
38
+    return [
39
+        '_etapes' => 3,
40
+        '_bases_deja' => $deja,
41
+        '_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
42
+        '_tables' => (defined('_DECLARER_SERVEUR_DB') && defined('_DECLARER_CHOIX_DB')) ?
43
+            $tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
44
+            :
45
+            [],
46
+        'main_db' => '',
47
+        '_serveurs' => liste_serveurs(),
48
+        'sql_serveur_db' => 'sqlite3', // valeur par defaut
49
+        'adresse_db' => $adresse_db,
50
+        'login_db' => '',
51
+        'pass_db' => '',
52
+        'choix_db' => '',
53
+        'table_new' => '',
54
+        'nom_connect' => $nom_connect,
55
+    ];
56 56
 }
57 57
 
58 58
 function liste_serveurs() {
59
-	$options = [];
60
-	$dir = _DIR_RESTREINT . 'req/';
61
-	$d = opendir($dir);
62
-	if (!$d) {
63
-		return [];
64
-	}
65
-	while ($f = readdir($d)) {
66
-		if (
67
-			preg_match('/^(.*)[.]php$/', $f, $s)
68
-			&& is_readable($f = $dir . $f)
69
-		) {
70
-			require_once($f);
71
-			$s = $s[1];
72
-			$v = 'spip_versions_' . $s;
73
-			if (function_exists($v) && $v()) {
74
-				$options[$s] = "install_select_type_$s";
75
-			} else {
76
-				spip_log("$s: portage indisponible");
77
-			}
78
-		}
79
-	}
80
-	ksort($options);
81
-
82
-	return $options;
59
+    $options = [];
60
+    $dir = _DIR_RESTREINT . 'req/';
61
+    $d = opendir($dir);
62
+    if (!$d) {
63
+        return [];
64
+    }
65
+    while ($f = readdir($d)) {
66
+        if (
67
+            preg_match('/^(.*)[.]php$/', $f, $s)
68
+            && is_readable($f = $dir . $f)
69
+        ) {
70
+            require_once($f);
71
+            $s = $s[1];
72
+            $v = 'spip_versions_' . $s;
73
+            if (function_exists($v) && $v()) {
74
+                $options[$s] = "install_select_type_$s";
75
+            } else {
76
+                spip_log("$s: portage indisponible");
77
+            }
78
+        }
79
+    }
80
+    ksort($options);
81
+
82
+    return $options;
83 83
 }
84 84
 
85 85
 function liste_bases($server_db) {
86
-	if (
87
-		is_null($server_db)
88
-		|| !$result = sql_listdbs($server_db)
89
-	) {
90
-		return '';
91
-	}
92
-
93
-	$noms = [];
94
-
95
-	// si sqlite : result est deja un tableau
96
-	if (is_array($result)) {
97
-		$noms = $result;
98
-	} else {
99
-		while ($row = sql_fetch($result, $server_db)) {
100
-			$noms[] = reset($row);
101
-		}
102
-	}
103
-
104
-	return $noms;
86
+    if (
87
+        is_null($server_db)
88
+        || !$result = sql_listdbs($server_db)
89
+    ) {
90
+        return '';
91
+    }
92
+
93
+    $noms = [];
94
+
95
+    // si sqlite : result est deja un tableau
96
+    if (is_array($result)) {
97
+        $noms = $result;
98
+    } else {
99
+        while ($row = sql_fetch($result, $server_db)) {
100
+            $noms[] = reset($row);
101
+        }
102
+    }
103
+
104
+    return $noms;
105 105
 }
106 106
 
107 107
 function formulaires_declarer_bases_verifier_1_dist() {
108
-	$erreurs = [];
109
-	[$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
110
-
111
-	if (!$adresse_db = _request('adresse_db')) {
112
-		$adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : $def_adresse_db;
113
-	}
114
-	if (!$serveur_db = _request('sql_serveur_db')) {
115
-		$serveur_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : $def_serveur_db;
116
-	}
117
-
118
-	$login_db = $pass_db = '';
119
-	if (!preg_match(',^sqlite,i', (string) $serveur_db)) {
120
-		if (!$login_db = _request('login_db')) {
121
-			$login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : $def_login_db;
122
-		}
123
-		if (!$pass_db = _request('pass_db')) {
124
-			$pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : $def_pass_db;
125
-		}
126
-	}
127
-
128
-	$link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
129
-	if ($link) {
130
-		$GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
131
-		$GLOBALS['connexions'][$serveur_db] = $link;
132
-		define('_DECLARER_SERVEUR_DB', $serveur_db);
133
-		define('_DECLARER_ADRESSE_DB', $adresse_db);
134
-		define('_DECLARER_LOGIN_DB', $login_db);
135
-		define('_DECLARER_PASS_DB', $pass_db);
136
-		// si on est sur le meme serveur que connect.php
137
-		// indiquer quelle est la db utilisee pour l'exclure des choix possibles
138
-		if ($serveur_db == $def_serveur_db && $adresse_db == $def_adresse_db) {
139
-			set_request('main_db', $sel_db);
140
-		} else {
141
-			set_request('main_db', '');
142
-		}
143
-	} else {
144
-		$erreurs['message_erreur'] = _T('avis_connexion_echec_1');
145
-	}
146
-
147
-	return $erreurs;
108
+    $erreurs = [];
109
+    [$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
110
+
111
+    if (!$adresse_db = _request('adresse_db')) {
112
+        $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : $def_adresse_db;
113
+    }
114
+    if (!$serveur_db = _request('sql_serveur_db')) {
115
+        $serveur_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : $def_serveur_db;
116
+    }
117
+
118
+    $login_db = $pass_db = '';
119
+    if (!preg_match(',^sqlite,i', (string) $serveur_db)) {
120
+        if (!$login_db = _request('login_db')) {
121
+            $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : $def_login_db;
122
+        }
123
+        if (!$pass_db = _request('pass_db')) {
124
+            $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : $def_pass_db;
125
+        }
126
+    }
127
+
128
+    $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
129
+    if ($link) {
130
+        $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
131
+        $GLOBALS['connexions'][$serveur_db] = $link;
132
+        define('_DECLARER_SERVEUR_DB', $serveur_db);
133
+        define('_DECLARER_ADRESSE_DB', $adresse_db);
134
+        define('_DECLARER_LOGIN_DB', $login_db);
135
+        define('_DECLARER_PASS_DB', $pass_db);
136
+        // si on est sur le meme serveur que connect.php
137
+        // indiquer quelle est la db utilisee pour l'exclure des choix possibles
138
+        if ($serveur_db == $def_serveur_db && $adresse_db == $def_adresse_db) {
139
+            set_request('main_db', $sel_db);
140
+        } else {
141
+            set_request('main_db', '');
142
+        }
143
+    } else {
144
+        $erreurs['message_erreur'] = _T('avis_connexion_echec_1');
145
+    }
146
+
147
+    return $erreurs;
148 148
 }
149 149
 
150 150
 function formulaires_declarer_bases_verifier_2_dist() {
151
-	$erreurs = [];
152
-	$choix_db = _request('choix_db');
153
-	if ($choix_db == '-1') {
154
-		$choix_db = _request('table_new');
155
-	}
156
-	if (!$choix_db) {
157
-		$erreurs['choix_db'] = _T('info_obligatoire');
158
-	} else {
159
-		define('_ECRIRE_INSTALL', 1); // hackons sqlite
160
-		if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
161
-			$erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
162
-		} else {
163
-			define('_DECLARER_CHOIX_DB', $choix_db);
164
-		}
165
-	}
166
-
167
-	return $erreurs;
151
+    $erreurs = [];
152
+    $choix_db = _request('choix_db');
153
+    if ($choix_db == '-1') {
154
+        $choix_db = _request('table_new');
155
+    }
156
+    if (!$choix_db) {
157
+        $erreurs['choix_db'] = _T('info_obligatoire');
158
+    } else {
159
+        define('_ECRIRE_INSTALL', 1); // hackons sqlite
160
+        if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
161
+            $erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
162
+        } else {
163
+            define('_DECLARER_CHOIX_DB', $choix_db);
164
+        }
165
+    }
166
+
167
+    return $erreurs;
168 168
 }
169 169
 
170 170
 function formulaires_declarer_bases_verifier_3_dist() {
171
-	$erreurs = [];
172
-	$nom_connect = _request('nom_connect');
173
-	if (!$nom_connect) {
174
-		$erreurs['nom_connect'] = _T('info_obligatoire');
175
-	} else {
176
-		// securite : le nom doit etre un mot sans caracteres speciaux
177
-		$f = preg_replace(',[^\w],', '', (string) $nom_connect);
178
-		if ($f !== $nom_connect) {
179
-			$erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
180
-		} elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
181
-			$erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
182
-		} else {
183
-			define('_DECLARER_NOM_CONNECT', $nom_connect);
184
-		}
185
-	}
186
-
187
-	return $erreurs;
171
+    $erreurs = [];
172
+    $nom_connect = _request('nom_connect');
173
+    if (!$nom_connect) {
174
+        $erreurs['nom_connect'] = _T('info_obligatoire');
175
+    } else {
176
+        // securite : le nom doit etre un mot sans caracteres speciaux
177
+        $f = preg_replace(',[^\w],', '', (string) $nom_connect);
178
+        if ($f !== $nom_connect) {
179
+            $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
180
+        } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
181
+            $erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
182
+        } else {
183
+            define('_DECLARER_NOM_CONNECT', $nom_connect);
184
+        }
185
+    }
186
+
187
+    return $erreurs;
188 188
 }
189 189
 
190 190
 function formulaires_declarer_bases_traiter_dist() {
191 191
 
192
-	$adresse_db = _DECLARER_ADRESSE_DB;
193
-	if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
194
-		[, $adresse_db, $port] = $r;
195
-	} else {
196
-		$port = '';
197
-	}
198
-
199
-	$server_db = addcslashes((string) _DECLARER_SERVEUR_DB, "'\\");
200
-
201
-	$conn = install_mode_appel($server_db)
202
-		. install_connexion(
203
-			$adresse_db,
204
-			$port,
205
-			_DECLARER_LOGIN_DB,
206
-			_DECLARER_PASS_DB,
207
-			_DECLARER_CHOIX_DB,
208
-			_DECLARER_SERVEUR_DB,
209
-			'',
210
-			'',
211
-			''
212
-		);
213
-
214
-	install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
215
-
216
-	return [
217
-		'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
218
-	];
192
+    $adresse_db = _DECLARER_ADRESSE_DB;
193
+    if (preg_match(',(.*):(.*),', (string) $adresse_db, $r)) {
194
+        [, $adresse_db, $port] = $r;
195
+    } else {
196
+        $port = '';
197
+    }
198
+
199
+    $server_db = addcslashes((string) _DECLARER_SERVEUR_DB, "'\\");
200
+
201
+    $conn = install_mode_appel($server_db)
202
+        . install_connexion(
203
+            $adresse_db,
204
+            $port,
205
+            _DECLARER_LOGIN_DB,
206
+            _DECLARER_PASS_DB,
207
+            _DECLARER_CHOIX_DB,
208
+            _DECLARER_SERVEUR_DB,
209
+            '',
210
+            '',
211
+            ''
212
+        );
213
+
214
+    install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
215
+
216
+    return [
217
+        'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
218
+    ];
219 219
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
 	if (defined('_DECLARER_CHOIX_DB')) {
30 30
 		$nom_connect = _DECLARER_CHOIX_DB;
31 31
 		$n = '';
32
-		while (in_array($nom_connect . $n, $deja)) {
32
+		while (in_array($nom_connect.$n, $deja)) {
33 33
 			$n = ($n ? $n + 1 : 1);
34 34
 		}
35 35
 		$nom_connect .= $n;
@@ -57,7 +57,7 @@  discard block
 block discarded – undo
57 57
 
58 58
 function liste_serveurs() {
59 59
 	$options = [];
60
-	$dir = _DIR_RESTREINT . 'req/';
60
+	$dir = _DIR_RESTREINT.'req/';
61 61
 	$d = opendir($dir);
62 62
 	if (!$d) {
63 63
 		return [];
@@ -65,11 +65,11 @@  discard block
 block discarded – undo
65 65
 	while ($f = readdir($d)) {
66 66
 		if (
67 67
 			preg_match('/^(.*)[.]php$/', $f, $s)
68
-			&& is_readable($f = $dir . $f)
68
+			&& is_readable($f = $dir.$f)
69 69
 		) {
70 70
 			require_once($f);
71 71
 			$s = $s[1];
72
-			$v = 'spip_versions_' . $s;
72
+			$v = 'spip_versions_'.$s;
73 73
 			if (function_exists($v) && $v()) {
74 74
 				$options[$s] = "install_select_type_$s";
75 75
 			} else {
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
 
128 128
 	$link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
129 129
 	if ($link) {
130
-		$GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
130
+		$GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_'.$serveur_db.'_functions_'.$GLOBALS['spip_sql_version']];
131 131
 		$GLOBALS['connexions'][$serveur_db] = $link;
132 132
 		define('_DECLARER_SERVEUR_DB', $serveur_db);
133 133
 		define('_DECLARER_ADRESSE_DB', $adresse_db);
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
 		$f = preg_replace(',[^\w],', '', (string) $nom_connect);
178 178
 		if ($f !== $nom_connect) {
179 179
 			$erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
180
-		} elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
180
+		} elseif (file_exists(_DIR_CONNECT.$nom_connect.'.php')) {
181 181
 			$erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
182 182
 		} else {
183 183
 			define('_DECLARER_NOM_CONNECT', $nom_connect);
@@ -211,9 +211,9 @@  discard block
 block discarded – undo
211 211
 			''
212 212
 		);
213 213
 
214
-	install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
214
+	install_fichier_connexion(_DIR_CONNECT._DECLARER_NOM_CONNECT.'.php', $conn);
215 215
 
216 216
 	return [
217
-		'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
217
+		'message_ok' => _T('install_connect_ok', ['connect' => '<strong>'._DECLARER_NOM_CONNECT.'</strong>'])
218 218
 	];
219 219
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_langue.php 1 patch
Indentation   +40 added lines, -40 removed lines patch added patch discarded remove patch
@@ -10,57 +10,57 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_langue_charger_dist() {
17
-	$valeurs = [];
17
+    $valeurs = [];
18 18
 
19
-	include_spip('inc/lang');
20
-	$l_site = $GLOBALS['meta']['langue_site'];
21
-	$langue_site = traduire_nom_langue($l_site);
19
+    include_spip('inc/lang');
20
+    $l_site = $GLOBALS['meta']['langue_site'];
21
+    $langue_site = traduire_nom_langue($l_site);
22 22
 
23
-	$langues = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
24
-	if (!in_array($l_site, $langues)) {
25
-		$langues[] = $l_site;
26
-	}
27
-	sort($langues);
23
+    $langues = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
24
+    if (!in_array($l_site, $langues)) {
25
+        $langues[] = $l_site;
26
+    }
27
+    sort($langues);
28 28
 
29
-	$res = '';
30
-	foreach ($langues as $l) {
31
-		$res .= "<option value='$l'"
32
-			. ($l == $l_site ? " selected='selected'" : '')
33
-			. '>' . traduire_nom_langue($l) . "</option>\n";
34
-	}
29
+    $res = '';
30
+    foreach ($langues as $l) {
31
+        $res .= "<option value='$l'"
32
+            . ($l == $l_site ? " selected='selected'" : '')
33
+            . '>' . traduire_nom_langue($l) . "</option>\n";
34
+    }
35 35
 
36
-	return [
37
-		'_langues' => $res,
38
-		'_langue_site' => $langue_site,
39
-		'changer_langue_site' => '',
40
-	];
36
+    return [
37
+        '_langues' => $res,
38
+        '_langue_site' => $langue_site,
39
+        'changer_langue_site' => '',
40
+    ];
41 41
 }
42 42
 
43 43
 
44 44
 function formulaires_configurer_langue_traiter_dist() {
45
-	$res = ['editable' => true];
45
+    $res = ['editable' => true];
46 46
 
47
-	if ($lang = _request('changer_langue_site')) {
48
-		include_spip('inc/lang');
49
-		// verif que la langue demandee est licite
50
-		if (changer_langue($lang)) {
51
-			ecrire_meta('langue_site', $lang);
52
-			// le test a defait ca:
53
-			utiliser_langue_visiteur();
54
-			$res['message_ok'] = _T('config_info_enregistree');
55
-			include_spip('inc/rubriques');
56
-			calculer_langues_rubriques();
57
-		}
58
-		// le test a defait ca:
59
-		utiliser_langue_visiteur();
60
-	}
61
-	if (!$res['message_ok']) {
62
-		$res['message_erreur'] = _L('erreur');
63
-	}
47
+    if ($lang = _request('changer_langue_site')) {
48
+        include_spip('inc/lang');
49
+        // verif que la langue demandee est licite
50
+        if (changer_langue($lang)) {
51
+            ecrire_meta('langue_site', $lang);
52
+            // le test a defait ca:
53
+            utiliser_langue_visiteur();
54
+            $res['message_ok'] = _T('config_info_enregistree');
55
+            include_spip('inc/rubriques');
56
+            calculer_langues_rubriques();
57
+        }
58
+        // le test a defait ca:
59
+        utiliser_langue_visiteur();
60
+    }
61
+    if (!$res['message_ok']) {
62
+        $res['message_erreur'] = _L('erreur');
63
+    }
64 64
 
65
-	return $res;
65
+    return $res;
66 66
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 2 patches
Indentation   +433 added lines, -433 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -35,25 +35,25 @@  discard block
 block discarded – undo
35 35
  *   ($table_source,$objet,$id_objet,$objet_lien)
36 36
  */
37 37
 function determine_source_lien_objet($a, $b, $c) {
38
-	$table_source = $objet_lien = $objet = $id_objet = null;
39
-	// auteurs, article, 23 :
40
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
-	if (is_numeric($c) && !is_numeric($b)) {
42
-		$table_source = table_objet($a);
43
-		$objet_lien = objet_type($a);
44
-		$objet = objet_type($b);
45
-		$id_objet = $c;
46
-	}
47
-	// article, 23, auteurs
48
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
-	if (is_numeric($b) && !is_numeric($c)) {
50
-		$table_source = table_objet($c);
51
-		$objet_lien = objet_type($a);
52
-		$objet = objet_type($a);
53
-		$id_objet = $b;
54
-	}
55
-
56
-	return [$table_source, $objet, $id_objet, $objet_lien];
38
+    $table_source = $objet_lien = $objet = $id_objet = null;
39
+    // auteurs, article, 23 :
40
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
+    if (is_numeric($c) && !is_numeric($b)) {
42
+        $table_source = table_objet($a);
43
+        $objet_lien = objet_type($a);
44
+        $objet = objet_type($b);
45
+        $id_objet = $c;
46
+    }
47
+    // article, 23, auteurs
48
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
+    if (is_numeric($b) && !is_numeric($c)) {
50
+        $table_source = table_objet($c);
51
+        $objet_lien = objet_type($a);
52
+        $objet = objet_type($a);
53
+        $id_objet = $b;
54
+    }
55
+
56
+    return [$table_source, $objet, $id_objet, $objet_lien];
57 57
 }
58 58
 
59 59
 /**
@@ -79,87 +79,87 @@  discard block
 block discarded – undo
79 79
  */
80 80
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = []) {
81 81
 
82
-	// compat avec ancienne signature ou le 4eme argument est $editable
83
-	if (!is_array($options)) {
84
-		$options = ['editable' => $options];
85
-	} elseif (!isset($options['editable'])) {
86
-		$options['editable'] = true;
87
-	}
88
-
89
-	$editable = $options['editable'];
90
-
91
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
92
-	if (!$table_source || !$objet || !$objet_lien || !$id_objet) {
93
-		return false;
94
-	}
95
-
96
-	$objet_source = objet_type($table_source);
97
-	$table_sql_source = table_objet_sql($objet_source);
98
-
99
-	// verifier existence de la table xxx_liens
100
-	include_spip('action/editer_liens');
101
-	if (!objet_associable($objet_lien)) {
102
-		return false;
103
-	}
104
-
105
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
-	include_spip('inc/autoriser');
107
-	$editable = ($editable
108
-		&& autoriser('associer' . $table_source, $objet, $id_objet)
109
-		&& autoriser('modifier', $objet, $id_objet));
110
-
111
-	if (
112
-		!$editable && !count(objet_trouver_liens(
113
-			[$objet_lien => '*'],
114
-			[($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
-		))
116
-	) {
117
-		return false;
118
-	}
119
-
120
-	// squelettes de vue et de d'association
121
-	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
124
-
125
-	// description des roles
126
-	include_spip('inc/roles');
127
-	if ($roles = roles_presents($objet_source, $objet)) {
128
-		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
131
-	}
132
-
133
-	$oups = '';
134
-	if ($editable) {
135
-		$oups = lien_gerer__oups('editer_liens', 'hash');
136
-	}
137
-	$valeurs = [
138
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
-		'_vue_liee' => $skel_vue,
140
-		'_vue_ajout' => $skel_ajout,
141
-		'_objet_lien' => $objet_lien,
142
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
143
-		'objet' => $objet,
144
-		'id_objet' => $id_objet,
145
-		'objet_source' => $objet_source,
146
-		'table_source' => $table_source,
147
-		'recherche' => '',
148
-		'visible' => 0,
149
-		'ajouter_lien' => '',
150
-		'supprimer_lien' => '',
151
-		'qualifier_lien' => '',
152
-		'ordonner_lien' => '',
153
-		'desordonner_liens' => '',
154
-		'_roles' => $roles, # description des roles
155
-		'_oups' => entites_html($oups),
156
-		'editable' => $editable,
157
-	];
158
-
159
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
-	$valeurs = array_merge($options, $valeurs);
161
-
162
-	return $valeurs;
82
+    // compat avec ancienne signature ou le 4eme argument est $editable
83
+    if (!is_array($options)) {
84
+        $options = ['editable' => $options];
85
+    } elseif (!isset($options['editable'])) {
86
+        $options['editable'] = true;
87
+    }
88
+
89
+    $editable = $options['editable'];
90
+
91
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
92
+    if (!$table_source || !$objet || !$objet_lien || !$id_objet) {
93
+        return false;
94
+    }
95
+
96
+    $objet_source = objet_type($table_source);
97
+    $table_sql_source = table_objet_sql($objet_source);
98
+
99
+    // verifier existence de la table xxx_liens
100
+    include_spip('action/editer_liens');
101
+    if (!objet_associable($objet_lien)) {
102
+        return false;
103
+    }
104
+
105
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
+    include_spip('inc/autoriser');
107
+    $editable = ($editable
108
+        && autoriser('associer' . $table_source, $objet, $id_objet)
109
+        && autoriser('modifier', $objet, $id_objet));
110
+
111
+    if (
112
+        !$editable && !count(objet_trouver_liens(
113
+            [$objet_lien => '*'],
114
+            [($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet]
115
+        ))
116
+    ) {
117
+        return false;
118
+    }
119
+
120
+    // squelettes de vue et de d'association
121
+    // ils sont différents si des rôles sont définis.
122
+    $skel_vue = $table_source . '_lies';
123
+    $skel_ajout = $table_source . '_associer';
124
+
125
+    // description des roles
126
+    include_spip('inc/roles');
127
+    if ($roles = roles_presents($objet_source, $objet)) {
128
+        // on demande de nouveaux squelettes en conséquence
129
+        $skel_vue = $table_source . '_roles_lies';
130
+        $skel_ajout = $table_source . '_roles_associer';
131
+    }
132
+
133
+    $oups = '';
134
+    if ($editable) {
135
+        $oups = lien_gerer__oups('editer_liens', 'hash');
136
+    }
137
+    $valeurs = [
138
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
139
+        '_vue_liee' => $skel_vue,
140
+        '_vue_ajout' => $skel_ajout,
141
+        '_objet_lien' => $objet_lien,
142
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
143
+        'objet' => $objet,
144
+        'id_objet' => $id_objet,
145
+        'objet_source' => $objet_source,
146
+        'table_source' => $table_source,
147
+        'recherche' => '',
148
+        'visible' => 0,
149
+        'ajouter_lien' => '',
150
+        'supprimer_lien' => '',
151
+        'qualifier_lien' => '',
152
+        'ordonner_lien' => '',
153
+        'desordonner_liens' => '',
154
+        '_roles' => $roles, # description des roles
155
+        '_oups' => entites_html($oups),
156
+        'editable' => $editable,
157
+    ];
158
+
159
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
160
+    $valeurs = array_merge($options, $valeurs);
161
+
162
+    return $valeurs;
163 163
 }
164 164
 
165 165
 /**
@@ -203,170 +203,170 @@  discard block
 block discarded – undo
203 203
  * @return array
204 204
  */
205 205
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = []) {
206
-	// compat avec ancienne signature ou le 4eme argument est $editable
207
-	if (!is_array($options)) {
208
-		$options = ['editable' => $options];
209
-	} elseif (!isset($options['editable'])) {
210
-		$options['editable'] = true;
211
-	}
212
-
213
-	$editable = $options['editable'];
214
-
215
-	$res = ['editable' => (bool) $editable];
216
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
-	if (!$table_source || !$objet || !$objet_lien) {
218
-		return $res;
219
-	}
220
-
221
-
222
-	if (_request('tout_voir')) {
223
-		set_request('recherche', '');
224
-	}
225
-
226
-	include_spip('inc/autoriser');
227
-	if (autoriser('modifier', $objet, $id_objet)) {
228
-		// recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
-		lien_gerer__oups('editer_liens', 'request');
230
-
231
-		// annuler les suppressions du coup d'avant ?
232
-		if (
233
-			_request('annuler_oups')
234
-			&& ($oups = lien_gerer__oups('editer_liens', 'get'))
235
-		) {
236
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
-				$oups_objets($oups);
238
-			} else {
239
-				$objet_source = objet_type($table_source);
240
-				include_spip('action/editer_liens');
241
-				foreach ($oups as $oup) {
242
-					if ($objet_lien == $objet_source) {
243
-						objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
-					} else {
245
-						objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
-					}
247
-				}
248
-			}
249
-			# oups ne persiste que pour la derniere action, si suppression
250
-			lien_gerer__oups('editer_liens', 'reset');
251
-		}
252
-
253
-		$supprimer = _request('supprimer_lien');
254
-		$ajouter = _request('ajouter_lien');
255
-		$ordonner = _request('ordonner_lien');
256
-
257
-		if (_request('desordonner_liens')) {
258
-			include_spip('action/editer_liens');
259
-			objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
-		}
261
-
262
-		// il est possible de preciser dans une seule variable un remplacement :
263
-		// remplacer_lien[old][new]
264
-		if ($remplacer = _request('remplacer_lien')) {
265
-			foreach ($remplacer as $k => $v) {
266
-				if ($old = lien_verifier_action($k, '')) {
267
-					foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
-						if ($new = lien_verifier_action($kn, $vn)) {
269
-							$supprimer[$old] = 'x';
270
-							$ajouter[$new] = '+';
271
-						}
272
-					}
273
-				}
274
-			}
275
-		}
276
-
277
-		if ($supprimer) {
278
-			if (
279
-				$supprimer_objets = charger_fonction(
280
-					"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
-					'action',
282
-					true
283
-				)
284
-			) {
285
-				$oups = $supprimer_objets($supprimer);
286
-			} else {
287
-				include_spip('action/editer_liens');
288
-				$oups = [];
289
-
290
-				foreach ($supprimer as $k => $v) {
291
-					if ($lien = lien_verifier_action($k, $v)) {
292
-						$lien = explode('-', $lien);
293
-						[$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
-						$cond = (is_null($role) ? [] : ['role' => $role]);
296
-						if ($objet_lien == $objet_source) {
297
-							$oups = array_merge(
298
-								$oups,
299
-								objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
-							);
301
-							objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
-						} else {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
-							);
307
-							objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
-						}
309
-					}
310
-				}
311
-			}
312
-			if (!empty($oups)) {
313
-				lien_gerer__oups('editer_liens', 'set', $oups);
314
-			} else {
315
-				lien_gerer__oups('editer_liens', 'reset');
316
-			}
317
-		}
318
-
319
-		if ($ajouter) {
320
-			if (
321
-				$ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
-			) {
323
-				$ajout_ok = $ajouter_objets($ajouter);
324
-			} else {
325
-				$ajout_ok = false;
326
-				include_spip('action/editer_liens');
327
-				foreach ($ajouter as $k => $v) {
328
-					if ($lien = lien_verifier_action($k, $v)) {
329
-						$ajout_ok = true;
330
-						[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
-						if ($objet_lien == $objet1) {
333
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
-						} else {
335
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
-						}
337
-						set_request('id_lien_ajoute', $ids);
338
-					}
339
-				}
340
-			}
341
-			# oups ne persiste que pour la derniere action, si suppression
342
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
343
-			# non annulable !
344
-			if ($ajout_ok) {
345
-				lien_gerer__oups('editer_liens', 'reset');
346
-			}
347
-		}
348
-
349
-		if ($ordonner) {
350
-			include_spip('action/editer_liens');
351
-			foreach ($ordonner as $k => $rang_lien) {
352
-				if ($lien = lien_verifier_action($k, '')) {
353
-					[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
-					$qualif = ['rang_lien' => $rang_lien];
355
-
356
-					if ($objet_lien == $objet1) {
357
-						objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
-					} else {
359
-						objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
-					}
361
-					set_request('id_lien_ajoute', $ids);
362
-					lien_gerer__oups('editer_liens', 'reset');
363
-				}
364
-			}
365
-		}
366
-	}
367
-
368
-
369
-	return $res;
206
+    // compat avec ancienne signature ou le 4eme argument est $editable
207
+    if (!is_array($options)) {
208
+        $options = ['editable' => $options];
209
+    } elseif (!isset($options['editable'])) {
210
+        $options['editable'] = true;
211
+    }
212
+
213
+    $editable = $options['editable'];
214
+
215
+    $res = ['editable' => (bool) $editable];
216
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
217
+    if (!$table_source || !$objet || !$objet_lien) {
218
+        return $res;
219
+    }
220
+
221
+
222
+    if (_request('tout_voir')) {
223
+        set_request('recherche', '');
224
+    }
225
+
226
+    include_spip('inc/autoriser');
227
+    if (autoriser('modifier', $objet, $id_objet)) {
228
+        // recuperer le oups du coup d'avant pour le propager à charger() si on ne fait rien par exemple
229
+        lien_gerer__oups('editer_liens', 'request');
230
+
231
+        // annuler les suppressions du coup d'avant ?
232
+        if (
233
+            _request('annuler_oups')
234
+            && ($oups = lien_gerer__oups('editer_liens', 'get'))
235
+        ) {
236
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
237
+                $oups_objets($oups);
238
+            } else {
239
+                $objet_source = objet_type($table_source);
240
+                include_spip('action/editer_liens');
241
+                foreach ($oups as $oup) {
242
+                    if ($objet_lien == $objet_source) {
243
+                        objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
244
+                    } else {
245
+                        objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
246
+                    }
247
+                }
248
+            }
249
+            # oups ne persiste que pour la derniere action, si suppression
250
+            lien_gerer__oups('editer_liens', 'reset');
251
+        }
252
+
253
+        $supprimer = _request('supprimer_lien');
254
+        $ajouter = _request('ajouter_lien');
255
+        $ordonner = _request('ordonner_lien');
256
+
257
+        if (_request('desordonner_liens')) {
258
+            include_spip('action/editer_liens');
259
+            objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
260
+        }
261
+
262
+        // il est possible de preciser dans une seule variable un remplacement :
263
+        // remplacer_lien[old][new]
264
+        if ($remplacer = _request('remplacer_lien')) {
265
+            foreach ($remplacer as $k => $v) {
266
+                if ($old = lien_verifier_action($k, '')) {
267
+                    foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
268
+                        if ($new = lien_verifier_action($kn, $vn)) {
269
+                            $supprimer[$old] = 'x';
270
+                            $ajouter[$new] = '+';
271
+                        }
272
+                    }
273
+                }
274
+            }
275
+        }
276
+
277
+        if ($supprimer) {
278
+            if (
279
+                $supprimer_objets = charger_fonction(
280
+                    "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
281
+                    'action',
282
+                    true
283
+                )
284
+            ) {
285
+                $oups = $supprimer_objets($supprimer);
286
+            } else {
287
+                include_spip('action/editer_liens');
288
+                $oups = [];
289
+
290
+                foreach ($supprimer as $k => $v) {
291
+                    if ($lien = lien_verifier_action($k, $v)) {
292
+                        $lien = explode('-', $lien);
293
+                        [$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
294
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
+                        $cond = (is_null($role) ? [] : ['role' => $role]);
296
+                        if ($objet_lien == $objet_source) {
297
+                            $oups = array_merge(
298
+                                $oups,
299
+                                objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
300
+                            );
301
+                            objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
302
+                        } else {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
306
+                            );
307
+                            objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
308
+                        }
309
+                    }
310
+                }
311
+            }
312
+            if (!empty($oups)) {
313
+                lien_gerer__oups('editer_liens', 'set', $oups);
314
+            } else {
315
+                lien_gerer__oups('editer_liens', 'reset');
316
+            }
317
+        }
318
+
319
+        if ($ajouter) {
320
+            if (
321
+                $ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
322
+            ) {
323
+                $ajout_ok = $ajouter_objets($ajouter);
324
+            } else {
325
+                $ajout_ok = false;
326
+                include_spip('action/editer_liens');
327
+                foreach ($ajouter as $k => $v) {
328
+                    if ($lien = lien_verifier_action($k, $v)) {
329
+                        $ajout_ok = true;
330
+                        [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
331
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
332
+                        if ($objet_lien == $objet1) {
333
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
334
+                        } else {
335
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
336
+                        }
337
+                        set_request('id_lien_ajoute', $ids);
338
+                    }
339
+                }
340
+            }
341
+            # oups ne persiste que pour la derniere action, si suppression
342
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
343
+            # non annulable !
344
+            if ($ajout_ok) {
345
+                lien_gerer__oups('editer_liens', 'reset');
346
+            }
347
+        }
348
+
349
+        if ($ordonner) {
350
+            include_spip('action/editer_liens');
351
+            foreach ($ordonner as $k => $rang_lien) {
352
+                if ($lien = lien_verifier_action($k, '')) {
353
+                    [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
354
+                    $qualif = ['rang_lien' => $rang_lien];
355
+
356
+                    if ($objet_lien == $objet1) {
357
+                        objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
358
+                    } else {
359
+                        objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
360
+                    }
361
+                    set_request('id_lien_ajoute', $ids);
362
+                    lien_gerer__oups('editer_liens', 'reset');
363
+                }
364
+            }
365
+        }
366
+    }
367
+
368
+
369
+    return $res;
370 370
 }
371 371
 
372 372
 
@@ -389,24 +389,24 @@  discard block
 block discarded – undo
389 389
  * @return string Action demandée si trouvée, sinon ''
390 390
  */
391 391
 function lien_verifier_action($k, $v) {
392
-	$action = '';
393
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
-		$action = $k;
395
-	}
396
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
-		if (is_numeric($k)) {
398
-			$action = $v;
399
-		}
400
-		if (_request($k)) {
401
-			$action = $v;
402
-		}
403
-	}
404
-	// ajout un role null fictif (plus pratique) si pas défini
405
-	if ($action && count(explode('-', $action)) == 4) {
406
-		$action .= '-';
407
-	}
408
-
409
-	return $action;
392
+    $action = '';
393
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
394
+        $action = $k;
395
+    }
396
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
397
+        if (is_numeric($k)) {
398
+            $action = $v;
399
+        }
400
+        if (_request($k)) {
401
+            $action = $v;
402
+        }
403
+    }
404
+    // ajout un role null fictif (plus pratique) si pas défini
405
+    if ($action && count(explode('-', $action)) == 4) {
406
+        $action .= '-';
407
+    }
408
+
409
+    return $action;
410 410
 }
411 411
 
412 412
 
@@ -422,62 +422,62 @@  discard block
 block discarded – undo
422 422
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
423 423
  **/
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425
-	// un role est défini dans la liaison
426
-	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
-	$colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429
-
430
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
431
-	if ($role) {
432
-		return [
433
-			// un seul lien avec ce role
434
-			[$colonne_role => $role]
435
-		];
436
-	}
437
-
438
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
439
-	$qualifier_lien = _request('qualifier_lien');
440
-	if (!$qualifier_lien || !is_array($qualifier_lien)) {
441
-		return [];
442
-	}
443
-
444
-	// pas avec l'action complete (incluant le role)
445
-	$qualif = [];
446
-	if (
447
-		(!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien])
448
-		&& count($defs) == 5
449
-	) {
450
-		// on tente avec l'action sans le role
451
-		array_pop($defs);
452
-		$lien = implode('-', $defs);
453
-		if (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien]) {
454
-			$qualif = [];
455
-		}
456
-	}
457
-
458
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
459
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
460
-	$qualifs = [];
461
-	while (is_countable($qualif) ? count($qualif) : 0) {
462
-		$q = [];
463
-		foreach ($qualif as $att => $values) {
464
-			if (is_array($values)) {
465
-				$q[$att] = array_shift($qualif[$att]);
466
-				if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
467
-					unset($qualif[$att]);
468
-				}
469
-			} else {
470
-				$q[$att] = $values;
471
-				unset($qualif[$att]);
472
-			}
473
-		}
474
-		// pas de rôle vide
475
-		if (!$colonne_role || !isset($q[$colonne_role]) || $q[$colonne_role]) {
476
-			$qualifs[] = $q;
477
-		}
478
-	}
479
-
480
-	return $qualifs;
425
+    // un role est défini dans la liaison
426
+    $defs = explode('-', $lien);
427
+    [$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
428
+    $colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429
+
430
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
431
+    if ($role) {
432
+        return [
433
+            // un seul lien avec ce role
434
+            [$colonne_role => $role]
435
+        ];
436
+    }
437
+
438
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
439
+    $qualifier_lien = _request('qualifier_lien');
440
+    if (!$qualifier_lien || !is_array($qualifier_lien)) {
441
+        return [];
442
+    }
443
+
444
+    // pas avec l'action complete (incluant le role)
445
+    $qualif = [];
446
+    if (
447
+        (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien])
448
+        && count($defs) == 5
449
+    ) {
450
+        // on tente avec l'action sans le role
451
+        array_pop($defs);
452
+        $lien = implode('-', $defs);
453
+        if (!isset($qualifier_lien[$lien]) || !$qualif = $qualifier_lien[$lien]) {
454
+            $qualif = [];
455
+        }
456
+    }
457
+
458
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
459
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
460
+    $qualifs = [];
461
+    while (is_countable($qualif) ? count($qualif) : 0) {
462
+        $q = [];
463
+        foreach ($qualif as $att => $values) {
464
+            if (is_array($values)) {
465
+                $q[$att] = array_shift($qualif[$att]);
466
+                if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
467
+                    unset($qualif[$att]);
468
+                }
469
+            } else {
470
+                $q[$att] = $values;
471
+                unset($qualif[$att]);
472
+            }
473
+        }
474
+        // pas de rôle vide
475
+        if (!$colonne_role || !isset($q[$colonne_role]) || $q[$colonne_role]) {
476
+            $qualifs[] = $q;
477
+        }
478
+    }
479
+
480
+    return $qualifs;
481 481
 }
482 482
 
483 483
 /**
@@ -496,14 +496,14 @@  discard block
 block discarded – undo
496 496
  **/
497 497
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
498 498
 
499
-	// retrouver la colonne de roles s'il y en a a lier
500
-	if (is_array($qualifs) && count($qualifs)) {
501
-		foreach ($qualifs as $qualif) {
502
-			objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
503
-		}
504
-	} else {
505
-		objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
506
-	}
499
+    // retrouver la colonne de roles s'il y en a a lier
500
+    if (is_array($qualifs) && count($qualifs)) {
501
+        foreach ($qualifs as $qualif) {
502
+            objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
503
+        }
504
+    } else {
505
+        objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
506
+    }
507 507
 }
508 508
 
509 509
 
@@ -513,77 +513,77 @@  discard block
 block discarded – undo
513 513
  * @return array|string|null
514 514
  */
515 515
 function lien_gerer__oups(string $form, string $action, ?array $valeur = null) {
516
-	static $_oups_value;
517
-
518
-	switch ($action) {
519
-		case 'reset':
520
-			$res = !empty($_oups_value);
521
-			$_oups_value = null;
522
-			return $res;
523
-
524
-		case 'get':
525
-			return $_oups_value ?: null;
526
-
527
-		case 'set':
528
-			$_oups_value = $valeur;
529
-			return true;
530
-
531
-		case 'request':
532
-			$_oups_value = null;
533
-			if ($oups = _request('_oups')) {
534
-				include_spip('inc/filtres');
535
-				// on accepte uniquement une valeur signée
536
-				if ($oups = decoder_contexte_ajax($oups, $form)) {
537
-					if (
538
-						!is_array($oups)
539
-						|| empty($oups['id_auteur'])
540
-						|| $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
541
-						|| empty($oups['time'])
542
-						|| $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
543
-						|| empty($oups['args'])
544
-						|| $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5))
545
-						|| empty($oups['oups_value'])
546
-					) {
547
-						$oups = null;
548
-					}
549
-					else {
550
-						$oups = $oups['oups_value'];
551
-						// controler le contenu
552
-						foreach ($oups as $k => $oup) {
553
-							if (!is_array($oup)) {
554
-								unset($oups[$k]);
555
-							} else {
556
-								foreach ($oup as $champ => $valeur) {
557
-									if (!is_scalar($champ) || !is_scalar($valeur) || preg_match(',\W,', $champ)) {
558
-										unset($oups[$k][$champ]);
559
-									}
560
-								}
561
-								if (empty($oups[$k])) {
562
-									unset($oups[$k]);
563
-								}
564
-							}
565
-						}
566
-					}
567
-					$_oups_value = $oups;
568
-					return $_oups_value;
569
-				}
570
-			}
571
-			break;
572
-
573
-		case 'hash':
574
-			if (!$_oups_value) {
575
-				return '';
576
-			}
577
-
578
-			include_spip('inc/filtres');
579
-			$oups = [
580
-				'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
581
-				'time' => strtotime(date('Y-m-d H:00:00')),
582
-				'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5)),
583
-				'oups_value' => $_oups_value,
584
-			];
585
-			return encoder_contexte_ajax($oups, $form);
586
-	}
516
+    static $_oups_value;
517
+
518
+    switch ($action) {
519
+        case 'reset':
520
+            $res = !empty($_oups_value);
521
+            $_oups_value = null;
522
+            return $res;
523
+
524
+        case 'get':
525
+            return $_oups_value ?: null;
526
+
527
+        case 'set':
528
+            $_oups_value = $valeur;
529
+            return true;
530
+
531
+        case 'request':
532
+            $_oups_value = null;
533
+            if ($oups = _request('_oups')) {
534
+                include_spip('inc/filtres');
535
+                // on accepte uniquement une valeur signée
536
+                if ($oups = decoder_contexte_ajax($oups, $form)) {
537
+                    if (
538
+                        !is_array($oups)
539
+                        || empty($oups['id_auteur'])
540
+                        || $oups['id_auteur'] !== $GLOBALS['visiteur_session']['id_auteur']
541
+                        || empty($oups['time'])
542
+                        || $oups['time'] < $_SERVER['REQUEST_TIME'] - 86400
543
+                        || empty($oups['args'])
544
+                        || $oups['args'] !== lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5))
545
+                        || empty($oups['oups_value'])
546
+                    ) {
547
+                        $oups = null;
548
+                    }
549
+                    else {
550
+                        $oups = $oups['oups_value'];
551
+                        // controler le contenu
552
+                        foreach ($oups as $k => $oup) {
553
+                            if (!is_array($oup)) {
554
+                                unset($oups[$k]);
555
+                            } else {
556
+                                foreach ($oup as $champ => $valeur) {
557
+                                    if (!is_scalar($champ) || !is_scalar($valeur) || preg_match(',\W,', $champ)) {
558
+                                        unset($oups[$k][$champ]);
559
+                                    }
560
+                                }
561
+                                if (empty($oups[$k])) {
562
+                                    unset($oups[$k]);
563
+                                }
564
+                            }
565
+                        }
566
+                    }
567
+                    $_oups_value = $oups;
568
+                    return $_oups_value;
569
+                }
570
+            }
571
+            break;
572
+
573
+        case 'hash':
574
+            if (!$_oups_value) {
575
+                return '';
576
+            }
577
+
578
+            include_spip('inc/filtres');
579
+            $oups = [
580
+                'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'] ?? 0,
581
+                'time' => strtotime(date('Y-m-d H:00:00')),
582
+                'args' => lien_gerer__oups_collecter_args($form, debug_backtrace(0, 5)),
583
+                'oups_value' => $_oups_value,
584
+            ];
585
+            return encoder_contexte_ajax($oups, $form);
586
+    }
587 587
 }
588 588
 
589 589
 /**
@@ -593,19 +593,19 @@  discard block
 block discarded – undo
593 593
  * @return string
594 594
  */
595 595
 function lien_gerer__oups_collecter_args($form, $trace) {
596
-	$args = '';
597
-	if (!empty($trace)) {
598
-		do {
599
-			$t = array_shift($trace);
600
-			$function = $t['function'] ?? '';
601
-			if (str_starts_with((string) $function, 'formulaires_' . $form)) {
602
-				if (isset($t['args'])) {
603
-					$args = json_encode($t['args']);
604
-				}
605
-				break;
606
-			}
607
-		}
608
-		while (count($trace));
609
-	}
610
-	return $args;
596
+    $args = '';
597
+    if (!empty($trace)) {
598
+        do {
599
+            $t = array_shift($trace);
600
+            $function = $t['function'] ?? '';
601
+            if (str_starts_with((string) $function, 'formulaires_' . $form)) {
602
+                if (isset($t['args'])) {
603
+                    $args = json_encode($t['args']);
604
+                }
605
+                break;
606
+            }
607
+        }
608
+        while (count($trace));
609
+    }
610
+    return $args;
611 611
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106 106
 	include_spip('inc/autoriser');
107 107
 	$editable = ($editable
108
-		&& autoriser('associer' . $table_source, $objet, $id_objet)
108
+		&& autoriser('associer'.$table_source, $objet, $id_objet)
109 109
 		&& autoriser('modifier', $objet, $id_objet));
110 110
 
111 111
 	if (
@@ -119,15 +119,15 @@  discard block
 block discarded – undo
119 119
 
120 120
 	// squelettes de vue et de d'association
121 121
 	// ils sont différents si des rôles sont définis.
122
-	$skel_vue = $table_source . '_lies';
123
-	$skel_ajout = $table_source . '_associer';
122
+	$skel_vue = $table_source.'_lies';
123
+	$skel_ajout = $table_source.'_associer';
124 124
 
125 125
 	// description des roles
126 126
 	include_spip('inc/roles');
127 127
 	if ($roles = roles_presents($objet_source, $objet)) {
128 128
 		// on demande de nouveaux squelettes en conséquence
129
-		$skel_vue = $table_source . '_roles_lies';
130
-		$skel_ajout = $table_source . '_roles_associer';
129
+		$skel_vue = $table_source.'_roles_lies';
130
+		$skel_ajout = $table_source.'_roles_associer';
131 131
 	}
132 132
 
133 133
 	$oups = '';
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
 function lien_retrouver_qualif($objet_lien, $lien) {
425 425
 	// un role est défini dans la liaison
426 426
 	$defs = explode('-', $lien);
427
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
427
+	[$objet1,, $objet2,, $role] = array_pad($defs, 5, null);
428 428
 	$colonne_role = $objet_lien == $objet1 ? roles_colonne($objet1, $objet2) : roles_colonne($objet2, $objet1);
429 429
 
430 430
 	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
@@ -598,7 +598,7 @@  discard block
 block discarded – undo
598 598
 		do {
599 599
 			$t = array_shift($trace);
600 600
 			$function = $t['function'] ?? '';
601
-			if (str_starts_with((string) $function, 'formulaires_' . $form)) {
601
+			if (str_starts_with((string) $function, 'formulaires_'.$form)) {
602 602
 				if (isset($t['args'])) {
603 603
 					$args = json_encode($t['args']);
604 604
 				}
Please login to merge, or discard this patch.
prive/formulaires/editer_logo.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
  **/
30 30
 
31 31
 if (!defined('_ECRIRE_INC_VERSION')) {
32
-	return;
32
+    return;
33 33
 }
34 34
 
35 35
 // utilise pour le logo du site, donc doit rester ici
@@ -47,88 +47,88 @@  discard block
 block discarded – undo
47 47
  * @return array|false Variables d'environnement pour le fond
48 48
  */
49 49
 function formulaires_editer_logo_charger_dist($objet, $id_objet, $retour = '', $options = []) {
50
-	// pas dans une boucle ? formulaire pour le logo du site
51
-	// dans ce cas, il faut chercher un 'siteon0.ext'
52
-	if (!$objet) {
53
-		$objet = 'site';
54
-	}
50
+    // pas dans une boucle ? formulaire pour le logo du site
51
+    // dans ce cas, il faut chercher un 'siteon0.ext'
52
+    if (!$objet) {
53
+        $objet = 'site';
54
+    }
55 55
 
56
-	$objet = objet_type($objet);
57
-	$_id_objet = id_table_objet($objet);
56
+    $objet = objet_type($objet);
57
+    $_id_objet = id_table_objet($objet);
58 58
 
59
-	if (!is_array($options)) {
60
-		$options = unserialize($options);
61
-	}
62
-	$options = spip_sanitize_from_request($options, '*');
59
+    if (!is_array($options)) {
60
+        $options = unserialize($options);
61
+    }
62
+    $options = spip_sanitize_from_request($options, '*');
63 63
 
64
-	if (!isset($options['titre'])) {
65
-		$balise_img = chercher_filtre('balise_img');
66
-		$img = $balise_img(chemin_image('image-24.png'), '', 'cadre-icone');
67
-		$libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
68
-		$libelle = (($id_objet || $objet != 'rubrique') ? $objet : 'racine');
69
-		if (isset($libelles[$libelle])) {
70
-			$libelle = $libelles[$libelle];
71
-		} elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
72
-			$libelle = _T($libelle);
73
-		} else {
74
-			$libelle = _L('Logo');
75
-		}
76
-		switch ($objet) {
77
-			case 'article':
78
-				$libelle .= ' ' . aider('logoart');
79
-				break;
80
-			case 'breve':
81
-				$libelle .= ' ' . aider('breveslogo');
82
-				break;
83
-			case 'rubrique':
84
-				$libelle .= ' ' . aider('rublogo');
85
-				break;
86
-			default:
87
-				break;
88
-		}
64
+    if (!isset($options['titre'])) {
65
+        $balise_img = chercher_filtre('balise_img');
66
+        $img = $balise_img(chemin_image('image-24.png'), '', 'cadre-icone');
67
+        $libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
68
+        $libelle = (($id_objet || $objet != 'rubrique') ? $objet : 'racine');
69
+        if (isset($libelles[$libelle])) {
70
+            $libelle = $libelles[$libelle];
71
+        } elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
72
+            $libelle = _T($libelle);
73
+        } else {
74
+            $libelle = _L('Logo');
75
+        }
76
+        switch ($objet) {
77
+            case 'article':
78
+                $libelle .= ' ' . aider('logoart');
79
+                break;
80
+            case 'breve':
81
+                $libelle .= ' ' . aider('breveslogo');
82
+                break;
83
+            case 'rubrique':
84
+                $libelle .= ' ' . aider('rublogo');
85
+                break;
86
+            default:
87
+                break;
88
+        }
89 89
 
90
-		$options['titre'] = $img . $libelle;
91
-	}
92
-	if (!isset($options['editable'])) {
93
-		include_spip('inc/autoriser');
94
-		$options['editable'] = autoriser('iconifier', $objet, $id_objet);
95
-	}
90
+        $options['titre'] = $img . $libelle;
91
+    }
92
+    if (!isset($options['editable'])) {
93
+        include_spip('inc/autoriser');
94
+        $options['editable'] = autoriser('iconifier', $objet, $id_objet);
95
+    }
96 96
 
97
-	$res = [
98
-		'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) || $options['editable']),
99
-		'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
100
-		'objet' => $objet,
101
-		'id_objet' => $id_objet,
102
-		'_options' => $options,
103
-		'_show_upload_off' => '',
104
-	];
97
+    $res = [
98
+        'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) || $options['editable']),
99
+        'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
100
+        'objet' => $objet,
101
+        'id_objet' => $id_objet,
102
+        '_options' => $options,
103
+        '_show_upload_off' => '',
104
+    ];
105 105
 
106
-	// rechercher le logo de l'objet
107
-	// la fonction prend un parametre '_id_objet' etrange :
108
-	// le nom de la cle primaire (et non le nom de la table)
109
-	// ou directement le nom du raccourcis a chercher
110
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
111
-	$etats = $res['logo_survol'] ? ['on', 'off'] : ['on'];
112
-	foreach ($etats as $etat) {
113
-		$logo = $chercher_logo($id_objet, $_id_objet, $etat);
114
-		if ($logo) {
115
-			$res['logo_' . $etat] = $logo[0];
116
-			$res['logo_id_' . $etat] = $logo[5]['id_document'] ?? '';
117
-		}
118
-	}
119
-	// pas de logo_on -> pas de formulaire pour le survol
120
-	if (!isset($res['logo_on'])) {
121
-		$res['logo_survol'] = '';
122
-	} elseif (!isset($res['logo_off']) && _request('logo_up')) {
123
-		$res['_show_upload_off'] = ' ';
124
-	}
106
+    // rechercher le logo de l'objet
107
+    // la fonction prend un parametre '_id_objet' etrange :
108
+    // le nom de la cle primaire (et non le nom de la table)
109
+    // ou directement le nom du raccourcis a chercher
110
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
111
+    $etats = $res['logo_survol'] ? ['on', 'off'] : ['on'];
112
+    foreach ($etats as $etat) {
113
+        $logo = $chercher_logo($id_objet, $_id_objet, $etat);
114
+        if ($logo) {
115
+            $res['logo_' . $etat] = $logo[0];
116
+            $res['logo_id_' . $etat] = $logo[5]['id_document'] ?? '';
117
+        }
118
+    }
119
+    // pas de logo_on -> pas de formulaire pour le survol
120
+    if (!isset($res['logo_on'])) {
121
+        $res['logo_survol'] = '';
122
+    } elseif (!isset($res['logo_off']) && _request('logo_up')) {
123
+        $res['_show_upload_off'] = ' ';
124
+    }
125 125
 
126
-	// si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
127
-	if (!$res['editable'] && !isset($res['logo_off']) && !isset($res['logo_on'])) {
128
-		return false;
129
-	}
126
+    // si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
127
+    if (!$res['editable'] && !isset($res['logo_off']) && !isset($res['logo_on'])) {
128
+        return false;
129
+    }
130 130
 
131
-	return $res;
131
+    return $res;
132 132
 }
133 133
 
134 134
 /**
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
  * @return string              Hash du formulaire
143 143
  */
144 144
 function formulaires_editer_logo_identifier_dist($objet, $id_objet, $retour = '', $options = []) {
145
-	return serialize([$objet, $id_objet]);
145
+    return serialize([$objet, $id_objet]);
146 146
 }
147 147
 
148 148
 /**
@@ -158,31 +158,31 @@  discard block
 block discarded – undo
158 158
  * @return array               Erreurs du formulaire
159 159
  */
160 160
 function formulaires_editer_logo_verifier_dist($objet, $id_objet, $retour = '', $options = []) {
161
-	$erreurs = [];
162
-	// verifier les extensions
163
-	$sources = formulaire_editer_logo_get_sources();
164
-	include_spip('action/editer_logo');
165
-	$extensions_possibles = $GLOBALS['formats_logos'];
166
-	if (in_array('jpg', $extensions_possibles)) {
167
-		$extensions_possibles[] = 'jpeg';
168
-	}
169
-	foreach ($sources as $etat => $file) {
170
-		// seulement si une reception correcte a eu lieu
171
-		if ($file && $file['error'] == 0) {
172
-			if (
173
-				!in_array(
174
-					strtolower(pathinfo((string) $file['name'], PATHINFO_EXTENSION)),
175
-					$extensions_possibles
176
-				)
177
-			) {
178
-				$erreurs['logo_' . $etat] = _L('Extension non reconnue');
179
-			}
180
-		} elseif ($file && $file['error'] != 0 && isset($file['msg'])) {
181
-			$erreurs['message_erreur'] = $file['msg'];
182
-		}
183
-	}
161
+    $erreurs = [];
162
+    // verifier les extensions
163
+    $sources = formulaire_editer_logo_get_sources();
164
+    include_spip('action/editer_logo');
165
+    $extensions_possibles = $GLOBALS['formats_logos'];
166
+    if (in_array('jpg', $extensions_possibles)) {
167
+        $extensions_possibles[] = 'jpeg';
168
+    }
169
+    foreach ($sources as $etat => $file) {
170
+        // seulement si une reception correcte a eu lieu
171
+        if ($file && $file['error'] == 0) {
172
+            if (
173
+                !in_array(
174
+                    strtolower(pathinfo((string) $file['name'], PATHINFO_EXTENSION)),
175
+                    $extensions_possibles
176
+                )
177
+            ) {
178
+                $erreurs['logo_' . $etat] = _L('Extension non reconnue');
179
+            }
180
+        } elseif ($file && $file['error'] != 0 && isset($file['msg'])) {
181
+            $erreurs['message_erreur'] = $file['msg'];
182
+        }
183
+    }
184 184
 
185
-	return $erreurs;
185
+    return $erreurs;
186 186
 }
187 187
 
188 188
 /**
@@ -198,47 +198,47 @@  discard block
 block discarded – undo
198 198
  * @return array               Retour des traitements
199 199
  */
200 200
 function formulaires_editer_logo_traiter_dist($objet, $id_objet, $retour = '', $options = []) {
201
-	$res = ['editable' => ' '];
201
+    $res = ['editable' => ' '];
202 202
 
203
-	// pas dans une boucle ? formulaire pour le logo du site
204
-	// dans ce cas, il faut chercher un 'siteon0.ext'
205
-	if (!$objet) {
206
-		$objet = 'site';
207
-	}
203
+    // pas dans une boucle ? formulaire pour le logo du site
204
+    // dans ce cas, il faut chercher un 'siteon0.ext'
205
+    if (!$objet) {
206
+        $objet = 'site';
207
+    }
208 208
 
209
-	include_spip('action/editer_logo');
209
+    include_spip('action/editer_logo');
210 210
 
211
-	// effectuer la suppression si demandee d'un logo
212
-	$on = _request('supprimer_logo_on');
213
-	if ($on || _request('supprimer_logo_off')) {
214
-		logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
215
-		$res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
216
-		set_request('logo_up', ' ');
217
-	} // sinon supprimer ancien logo puis copier le nouveau
218
-	else {
219
-		$sources = formulaire_editer_logo_get_sources();
220
-		foreach ($sources as $etat => $file) {
221
-			if ($file && $file['error'] == 0) {
222
-				if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
223
-					$res['message_erreur'] = $err;
224
-				} else {
225
-					$res['message_ok'] = '';
226
-				} // pas besoin de message : la validation est visuelle
227
-				set_request('logo_up', ' ');
228
-			}
229
-		}
230
-	}
211
+    // effectuer la suppression si demandee d'un logo
212
+    $on = _request('supprimer_logo_on');
213
+    if ($on || _request('supprimer_logo_off')) {
214
+        logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
215
+        $res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
216
+        set_request('logo_up', ' ');
217
+    } // sinon supprimer ancien logo puis copier le nouveau
218
+    else {
219
+        $sources = formulaire_editer_logo_get_sources();
220
+        foreach ($sources as $etat => $file) {
221
+            if ($file && $file['error'] == 0) {
222
+                if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
223
+                    $res['message_erreur'] = $err;
224
+                } else {
225
+                    $res['message_ok'] = '';
226
+                } // pas besoin de message : la validation est visuelle
227
+                set_request('logo_up', ' ');
228
+            }
229
+        }
230
+    }
231 231
 
232
-	// Invalider les caches de l'objet
233
-	include_spip('inc/invalideur');
234
-	suivre_invalideur("id='$objet/$id_objet'");
232
+    // Invalider les caches de l'objet
233
+    include_spip('inc/invalideur');
234
+    suivre_invalideur("id='$objet/$id_objet'");
235 235
 
236 236
 
237
-	if ($retour) {
238
-		$res['redirect'] = $retour;
239
-	}
237
+    if ($retour) {
238
+        $res['redirect'] = $retour;
239
+    }
240 240
 
241
-	return $res;
241
+    return $res;
242 242
 }
243 243
 
244 244
 
@@ -250,29 +250,29 @@  discard block
 block discarded – undo
250 250
  *     Sources des fichiers dans les clés `on` ou `off`
251 251
  */
252 252
 function formulaire_editer_logo_get_sources() {
253
-	if (!$_FILES) {
254
-		$_FILES = $GLOBALS['HTTP_POST_FILES'] ?? [];
255
-	}
256
-	if (!is_array($_FILES)) {
257
-		return [];
258
-	}
253
+    if (!$_FILES) {
254
+        $_FILES = $GLOBALS['HTTP_POST_FILES'] ?? [];
255
+    }
256
+    if (!is_array($_FILES)) {
257
+        return [];
258
+    }
259 259
 
260
-	include_spip('inc/documents');
261
-	$sources = [];
262
-	foreach (['on', 'off'] as $etat) {
263
-		$logo = 'logo_' . $etat;
264
-		if (isset($_FILES[$logo])) {
265
-			if ($_FILES[$logo]['error'] == 0) {
266
-				$sources[$etat] = $_FILES[$logo];
267
-			} elseif ($_FILES[$logo]['error'] != 0) {
268
-				$msg = check_upload_error($_FILES[$logo]['error'], false, true);
269
-				if ($msg && is_string($msg)) {
270
-					$sources[$etat] = $_FILES[$logo];
271
-					$sources[$etat]['msg'] = $msg;
272
-				}
273
-			}
274
-		}
275
-	}
260
+    include_spip('inc/documents');
261
+    $sources = [];
262
+    foreach (['on', 'off'] as $etat) {
263
+        $logo = 'logo_' . $etat;
264
+        if (isset($_FILES[$logo])) {
265
+            if ($_FILES[$logo]['error'] == 0) {
266
+                $sources[$etat] = $_FILES[$logo];
267
+            } elseif ($_FILES[$logo]['error'] != 0) {
268
+                $msg = check_upload_error($_FILES[$logo]['error'], false, true);
269
+                if ($msg && is_string($msg)) {
270
+                    $sources[$etat] = $_FILES[$logo];
271
+                    $sources[$etat]['msg'] = $msg;
272
+                }
273
+            }
274
+        }
275
+    }
276 276
 
277
-	return $sources;
277
+    return $sources;
278 278
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_auteur.php 2 patches
Indentation   +369 added lines, -369 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  **/
8 8
 
9 9
 if (!defined('_ECRIRE_INC_VERSION')) {
10
-	return;
10
+    return;
11 11
 }
12 12
 
13 13
 include_spip('inc/actions');
@@ -38,24 +38,24 @@  discard block
 block discarded – undo
38 38
  *     Environnement du formulaire
39 39
  **/
40 40
 function formulaires_editer_auteur_charger_dist(
41
-	$id_auteur = 'new',
42
-	$retour = '',
43
-	$associer_objet = '',
44
-	$config_fonc = 'auteurs_edit_config',
45
-	$row = [],
46
-	$hidden = ''
41
+    $id_auteur = 'new',
42
+    $retour = '',
43
+    $associer_objet = '',
44
+    $config_fonc = 'auteurs_edit_config',
45
+    $row = [],
46
+    $hidden = ''
47 47
 ) {
48
-	$valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
-	$valeurs['new_login'] = $valeurs['login'];
48
+    $valeurs = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
49
+    $valeurs['new_login'] = $valeurs['login'];
50 50
 
51
-	// S'il n'y a pas la langue, on prend la langue du site
52
-	$valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
51
+    // S'il n'y a pas la langue, on prend la langue du site
52
+    $valeurs['langue'] = $valeurs['langue'] ?: $GLOBALS['meta']['langue_site'];
53 53
 
54
-	if (!autoriser('modifier', 'auteur', (int) $id_auteur)) {
55
-		$valeurs['editable'] = '';
56
-	}
54
+    if (!autoriser('modifier', 'auteur', (int) $id_auteur)) {
55
+        $valeurs['editable'] = '';
56
+    }
57 57
 
58
-	return $valeurs;
58
+    return $valeurs;
59 59
 }
60 60
 
61 61
 /**
@@ -79,14 +79,14 @@  discard block
 block discarded – undo
79 79
  *     Hash du formulaire
80 80
  */
81 81
 function formulaires_editer_auteur_identifier_dist(
82
-	$id_auteur = 'new',
83
-	$retour = '',
84
-	$associer_objet = '',
85
-	$config_fonc = 'auteurs_edit_config',
86
-	$row = [],
87
-	$hidden = ''
82
+    $id_auteur = 'new',
83
+    $retour = '',
84
+    $associer_objet = '',
85
+    $config_fonc = 'auteurs_edit_config',
86
+    $row = [],
87
+    $hidden = ''
88 88
 ) {
89
-	return serialize([(int) $id_auteur, $associer_objet]);
89
+    return serialize([(int) $id_auteur, $associer_objet]);
90 90
 }
91 91
 
92 92
 
@@ -100,27 +100,27 @@  discard block
 block discarded – undo
100 100
  */
101 101
 function auteurs_edit_config(array $row): array {
102 102
 
103
-	$config = [];
104
-	$config['lignes'] = 8;
105
-	$config['langue'] = $GLOBALS['spip_lang'];
106
-
107
-	// pour instituer_auteur
108
-	$config['auteur'] = $row;
109
-
110
-	//$config['restreint'] = ($row['statut'] == 'publie');
111
-	$auth_methode = $row['source'];
112
-	include_spip('inc/auth');
113
-	$config['edit_login'] = (
114
-		auth_autoriser_modifier_login($auth_methode)
115
-		&& autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
-		&& autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
117
-	);
118
-	$config['edit_pass'] = (
119
-			auth_autoriser_modifier_pass($auth_methode)
120
-			&& autoriser('modifier', 'auteur', $row['id_auteur'])
121
-	);
122
-
123
-	return $config;
103
+    $config = [];
104
+    $config['lignes'] = 8;
105
+    $config['langue'] = $GLOBALS['spip_lang'];
106
+
107
+    // pour instituer_auteur
108
+    $config['auteur'] = $row;
109
+
110
+    //$config['restreint'] = ($row['statut'] == 'publie');
111
+    $auth_methode = $row['source'];
112
+    include_spip('inc/auth');
113
+    $config['edit_login'] = (
114
+        auth_autoriser_modifier_login($auth_methode)
115
+        && autoriser('modifier', 'auteur', $row['id_auteur'], null, ['login' => true])
116
+        && autoriser('modifier', 'auteur', $row['id_auteur'], null, ['email' => true])
117
+    );
118
+    $config['edit_pass'] = (
119
+            auth_autoriser_modifier_pass($auth_methode)
120
+            && autoriser('modifier', 'auteur', $row['id_auteur'])
121
+    );
122
+
123
+    return $config;
124 124
 }
125 125
 
126 126
 /**
@@ -150,145 +150,145 @@  discard block
 block discarded – undo
150 150
  *     Erreurs des saisies
151 151
  **/
152 152
 function formulaires_editer_auteur_verifier_dist(
153
-	$id_auteur = 'new',
154
-	$retour = '',
155
-	$associer_objet = '',
156
-	$config_fonc = 'auteurs_edit_config',
157
-	$row = [],
158
-	$hidden = ''
153
+    $id_auteur = 'new',
154
+    $retour = '',
155
+    $associer_objet = '',
156
+    $config_fonc = 'auteurs_edit_config',
157
+    $row = [],
158
+    $hidden = ''
159 159
 ) {
160
-	// auto-renseigner le nom si il n'existe pas, sans couper
161
-	titre_automatique('nom', ['email', 'login'], 255);
162
-
163
-	$oblis = ['nom'];
164
-	// si on veut renvoyer des identifiants il faut un email et un login
165
-	if (_request('reset_password')) {
166
-		$oblis[] = 'email';
167
-		$oblis[] = 'new_login';
168
-	}
169
-	// mais il reste obligatoire si on a rien trouve
170
-	$erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
-	if (isset($erreurs['new_login'])) {
172
-		$erreurs['login'] = $erreurs['new_login'];
173
-		unset($erreurs['new_login']);
174
-	}
175
-
176
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
177
-	$auth_methode = ($auth_methode ?: 'spip');
178
-	include_spip('inc/auth');
179
-
180
-	if (!nom_acceptable(_request('nom'))) {
181
-		$erreurs['nom'] = _T('info_nom_pas_conforme');
182
-	}
183
-
184
-	if ($email = _request('email')) {
185
-		include_spip('inc/filtres');
186
-		include_spip('inc/autoriser');
187
-		// un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
-		if (
189
-			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
-			&& $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
-			&& !strlen(trim((string) $email))
192
-			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
193
-		) {
194
-			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
-		} else {
196
-			if (!email_valide($email)) {
197
-				$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
-			}
199
-		}
200
-		# Ne pas autoriser d'avoir deux auteurs avec le même email
201
-		# cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
-		# doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
-		if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
-			#Nouvel auteur
205
-			if ((int) $id_auteur == 0) {
206
-				#Un auteur existe deja avec cette adresse ?
207
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
-					$erreurs['email'] = _T('erreur_email_deja_existant');
209
-				}
210
-			} else {
211
-				#Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
-				if (
213
-					sql_countsel(
214
-						'spip_auteurs',
215
-						'email=' . sql_quote($email)
216
-					) > 0
217
-					&& $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218
-						'id_auteur',
219
-						'spip_auteurs',
220
-						'email=' . sql_quote($email)
221
-					))
222
-				) {
223
-					$erreurs['email'] = _T('erreur_email_deja_existant');
224
-				}
225
-			}
226
-		}
227
-	}
228
-
229
-	// quand c'est un auteur existant on fait le reset password ici
230
-	if (!(is_countable($erreurs) ? count($erreurs) : 0) && _request('reset_password') && (int) $id_auteur) {
231
-		return auteur_reset_password($id_auteur, $erreurs);
232
-	}
233
-
234
-	// corriger un cas si frequent : www.example.org sans le http:// qui precede
235
-	if (
236
-		($url = _request('url_site'))
237
-		&& !tester_url_absolue($url)
238
-		&& (!str_contains((string) $url, ':')
239
-		&& strncasecmp((string) $url, 'www.', 4) === 0)
240
-	) {
241
-		$url = 'http://' . $url;
242
-		set_request('url_site', $url);
243
-	}
244
-	// traiter les liens implicites avant de tester l'url
245
-	include_spip('inc/lien');
246
-	if (($url = calculer_url(_request('url_site'))) && !tester_url_absolue($url)) {
247
-		$erreurs['url_site'] = _T('info_url_site_pas_conforme');
248
-	}
249
-
250
-	$erreurs['message_erreur'] = '';
251
-	if (_request('login')) {
252
-		// on n'est jamais cense poster le name 'login'
253
-		$erreurs['login'] = _T('info_non_modifiable');
254
-	}
255
-	elseif (
256
-		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
257
-	) {
258
-		// on verifie la meme chose que dans auteurs_edit_config()
259
-		if (
260
-			! auth_autoriser_modifier_login($auth_methode)
261
-			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262
-			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263
-			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
264
-		) {
265
-			$erreurs['login'] = _T('info_non_modifiable');
266
-		}
267
-	}
268
-
269
-	if (empty($erreurs['login'])) {
270
-		if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
271
-			$erreurs['login'] = $err;
272
-			$erreurs['message_erreur'] .= $err;
273
-		} else {
274
-			// pass trop court ou confirmation non identique
275
-			if ($p = _request('new_pass')) {
276
-				if ($p != _request('new_pass2')) {
277
-					$erreurs['new_pass'] = _T('info_passes_identiques');
278
-					$erreurs['message_erreur'] .= _T('info_passes_identiques');
279
-				} elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
280
-					$erreurs['new_pass'] = $err;
281
-					$erreurs['message_erreur'] .= $err;
282
-				}
283
-			}
284
-		}
285
-	}
286
-
287
-	if (!$erreurs['message_erreur']) {
288
-		unset($erreurs['message_erreur']);
289
-	}
290
-
291
-	return $erreurs;
160
+    // auto-renseigner le nom si il n'existe pas, sans couper
161
+    titre_automatique('nom', ['email', 'login'], 255);
162
+
163
+    $oblis = ['nom'];
164
+    // si on veut renvoyer des identifiants il faut un email et un login
165
+    if (_request('reset_password')) {
166
+        $oblis[] = 'email';
167
+        $oblis[] = 'new_login';
168
+    }
169
+    // mais il reste obligatoire si on a rien trouve
170
+    $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, $oblis);
171
+    if (isset($erreurs['new_login'])) {
172
+        $erreurs['login'] = $erreurs['new_login'];
173
+        unset($erreurs['new_login']);
174
+    }
175
+
176
+    $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
177
+    $auth_methode = ($auth_methode ?: 'spip');
178
+    include_spip('inc/auth');
179
+
180
+    if (!nom_acceptable(_request('nom'))) {
181
+        $erreurs['nom'] = _T('info_nom_pas_conforme');
182
+    }
183
+
184
+    if ($email = _request('email')) {
185
+        include_spip('inc/filtres');
186
+        include_spip('inc/autoriser');
187
+        // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
188
+        if (
189
+            !autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190
+            && $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191
+            && !strlen(trim((string) $email))
192
+            && $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
193
+        ) {
194
+            $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195
+        } else {
196
+            if (!email_valide($email)) {
197
+                $erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
198
+            }
199
+        }
200
+        # Ne pas autoriser d'avoir deux auteurs avec le même email
201
+        # cette fonctionalité nécessite que la base soit clean à l'activation : pas de
202
+        # doublon sur la requête select email,count(*) from spip_auteurs group by email ;
203
+        if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
204
+            #Nouvel auteur
205
+            if ((int) $id_auteur == 0) {
206
+                #Un auteur existe deja avec cette adresse ?
207
+                if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
208
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
209
+                }
210
+            } else {
211
+                #Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
212
+                if (
213
+                    sql_countsel(
214
+                        'spip_auteurs',
215
+                        'email=' . sql_quote($email)
216
+                    ) > 0
217
+                    && $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218
+                        'id_auteur',
219
+                        'spip_auteurs',
220
+                        'email=' . sql_quote($email)
221
+                    ))
222
+                ) {
223
+                    $erreurs['email'] = _T('erreur_email_deja_existant');
224
+                }
225
+            }
226
+        }
227
+    }
228
+
229
+    // quand c'est un auteur existant on fait le reset password ici
230
+    if (!(is_countable($erreurs) ? count($erreurs) : 0) && _request('reset_password') && (int) $id_auteur) {
231
+        return auteur_reset_password($id_auteur, $erreurs);
232
+    }
233
+
234
+    // corriger un cas si frequent : www.example.org sans le http:// qui precede
235
+    if (
236
+        ($url = _request('url_site'))
237
+        && !tester_url_absolue($url)
238
+        && (!str_contains((string) $url, ':')
239
+        && strncasecmp((string) $url, 'www.', 4) === 0)
240
+    ) {
241
+        $url = 'http://' . $url;
242
+        set_request('url_site', $url);
243
+    }
244
+    // traiter les liens implicites avant de tester l'url
245
+    include_spip('inc/lien');
246
+    if (($url = calculer_url(_request('url_site'))) && !tester_url_absolue($url)) {
247
+        $erreurs['url_site'] = _T('info_url_site_pas_conforme');
248
+    }
249
+
250
+    $erreurs['message_erreur'] = '';
251
+    if (_request('login')) {
252
+        // on n'est jamais cense poster le name 'login'
253
+        $erreurs['login'] = _T('info_non_modifiable');
254
+    }
255
+    elseif (
256
+        ($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
257
+    ) {
258
+        // on verifie la meme chose que dans auteurs_edit_config()
259
+        if (
260
+            ! auth_autoriser_modifier_login($auth_methode)
261
+            || !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262
+            // legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263
+            || !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
264
+        ) {
265
+            $erreurs['login'] = _T('info_non_modifiable');
266
+        }
267
+    }
268
+
269
+    if (empty($erreurs['login'])) {
270
+        if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
271
+            $erreurs['login'] = $err;
272
+            $erreurs['message_erreur'] .= $err;
273
+        } else {
274
+            // pass trop court ou confirmation non identique
275
+            if ($p = _request('new_pass')) {
276
+                if ($p != _request('new_pass2')) {
277
+                    $erreurs['new_pass'] = _T('info_passes_identiques');
278
+                    $erreurs['message_erreur'] .= _T('info_passes_identiques');
279
+                } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
280
+                    $erreurs['new_pass'] = $err;
281
+                    $erreurs['message_erreur'] .= $err;
282
+                }
283
+            }
284
+        }
285
+    }
286
+
287
+    if (!$erreurs['message_erreur']) {
288
+        unset($erreurs['message_erreur']);
289
+    }
290
+
291
+    return $erreurs;
292 292
 }
293 293
 
294 294
 
@@ -325,153 +325,153 @@  discard block
 block discarded – undo
325 325
  *     Retour des traitements
326 326
  **/
327 327
 function formulaires_editer_auteur_traiter_dist(
328
-	$id_auteur = 'new',
329
-	$retour = '',
330
-	$associer_objet = '',
331
-	$config_fonc = 'auteurs_edit_config',
332
-	$row = [],
333
-	$hidden = ''
328
+    $id_auteur = 'new',
329
+    $retour = '',
330
+    $associer_objet = '',
331
+    $config_fonc = 'auteurs_edit_config',
332
+    $row = [],
333
+    $hidden = ''
334 334
 ) {
335
-	if (_request('saisie_webmestre') || _request('webmestre')) {
336
-		set_request('webmestre', _request('webmestre') ?: 'non');
337
-	}
338
-
339
-	// si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
340
-	// le formulaire ne peut être traité depuis une XMLHttpRequest
341
-	$prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
342
-	if (
343
-		_request('new_pass') // nouveau mot de passe
344
-		|| empty($prev['statut']) // creation auteur
345
-		|| _request('email') && $prev['email'] !== _request('email') // modification email
346
-		|| _request('statut') === '0minirezo' && $prev['statut'] !== '0minirezo' // promotion 0minirezo
347
-		|| _request('statut') && (int) _request('statut') < (int) $prev['statut'] // promotion de statut
348
-		|| _request('webmestre') && _request('webmestre') !== 'non' && $prev['webmestre'] !== 'oui' // promotion webmestre
349
-	) {
350
-		refuser_traiter_formulaire_ajax();
351
-		// si on arrive là encore en ajax c'est pas OK, on genere une erreur
352
-		if (_AJAX || !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
353
-			return [
354
-				'message_erreur' => _T('erreur_technique_ajaxform')
355
-			];
356
-		}
357
-	}
358
-
359
-	$id_objet = null;
360
-	$retour = parametre_url($retour, 'email_confirm', '');
361
-
362
-	if ($restreintes = _request('restreintes')) {
363
-		foreach ($restreintes as $k => $v) {
364
-			if (str_starts_with((string) $v, 'rubrique|')) {
365
-				$restreintes[$k] = substr((string) $v, 9);
366
-			}
367
-		}
368
-		set_request('restreintes', $restreintes);
369
-	}
370
-
371
-	set_request(
372
-		'email',
373
-		email_valide(_request('email'))
374
-	); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
375
-	// "[email protected]  " ou encore "Marie Toto <[email protected]>"
376
-
377
-	include_spip('inc/autoriser');
378
-	if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
379
-		$email_nouveau = _request('email');
380
-		set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
381
-		// mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
382
-		// pour qu'il confirme qu'il possede bien cette adresse
383
-		// son clic sur l'url du message permettre de confirmer le changement
384
-		// et de revenir sur son profil
385
-		if (
386
-			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
-			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
388
-		) {
389
-			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390
-			$texte = _T(
391
-				'form_auteur_mail_confirmation',
392
-				[
393
-					'url' => generer_action_auteur(
394
-						'confirmer_email',
395
-						$email_nouveau,
396
-						parametre_url($retour, 'email_modif', 'ok')
397
-					)
398
-				]
399
-			);
400
-			$envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
401
-			set_request('email_confirm', $email_nouveau);
402
-			if ($email_ancien) {
403
-				$envoyer_mail(
404
-					$email_ancien,
405
-					_T('form_auteur_confirmation'),
406
-					_T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
407
-				);
408
-			}
409
-			$retour = parametre_url($retour, 'email_confirm', $email_nouveau);
410
-		}
411
-	}
412
-
413
-	// Trafic de langue pour enregistrer la bonne
414
-	if ($langue = _request('langue')) {
415
-		set_request('lang', $langue);
416
-	}
417
-
418
-	$res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
419
-
420
-	if (_request('reset_password') && !(int) $id_auteur && (int) $res['id_auteur']) {
421
-		$erreurs = [];
422
-		$erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
423
-		if (isset($erreurs['message_ok'])) {
424
-			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425
-			}
426
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
427
-		}
428
-		if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429
-			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430
-			}
431
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
432
-		}
433
-	}
434
-
435
-	// Un lien auteur a prendre en compte ?
436
-	if ($associer_objet && ($id_auteur = $res['id_auteur'])) {
437
-		$objet = '';
438
-		if ((int) $associer_objet) {
439
-			$objet = 'article';
440
-			$id_objet = (int) $associer_objet;
441
-		} elseif (preg_match(',^\w+\|\d+$,', $associer_objet)) {
442
-			[$objet, $id_objet] = explode('|', $associer_objet);
443
-		}
444
-		if ($objet && $id_objet && autoriser('modifier', $objet, $id_objet)) {
445
-			include_spip('action/editer_auteur');
446
-			auteur_associer($id_auteur, [$objet => $id_objet]);
447
-			if (isset($res['redirect'])) {
448
-				$res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
449
-			}
450
-		}
451
-	}
452
-
453
-	return $res;
335
+    if (_request('saisie_webmestre') || _request('webmestre')) {
336
+        set_request('webmestre', _request('webmestre') ?: 'non');
337
+    }
338
+
339
+    // si il y a des modifs sensibles (statut, mot de passe), on refuse le traitement en ajax
340
+    // le formulaire ne peut être traité depuis une XMLHttpRequest
341
+    $prev = formulaires_editer_objet_charger('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
342
+    if (
343
+        _request('new_pass') // nouveau mot de passe
344
+        || empty($prev['statut']) // creation auteur
345
+        || _request('email') && $prev['email'] !== _request('email') // modification email
346
+        || _request('statut') === '0minirezo' && $prev['statut'] !== '0minirezo' // promotion 0minirezo
347
+        || _request('statut') && (int) _request('statut') < (int) $prev['statut'] // promotion de statut
348
+        || _request('webmestre') && _request('webmestre') !== 'non' && $prev['webmestre'] !== 'oui' // promotion webmestre
349
+    ) {
350
+        refuser_traiter_formulaire_ajax();
351
+        // si on arrive là encore en ajax c'est pas OK, on genere une erreur
352
+        if (_AJAX || !empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {
353
+            return [
354
+                'message_erreur' => _T('erreur_technique_ajaxform')
355
+            ];
356
+        }
357
+    }
358
+
359
+    $id_objet = null;
360
+    $retour = parametre_url($retour, 'email_confirm', '');
361
+
362
+    if ($restreintes = _request('restreintes')) {
363
+        foreach ($restreintes as $k => $v) {
364
+            if (str_starts_with((string) $v, 'rubrique|')) {
365
+                $restreintes[$k] = substr((string) $v, 9);
366
+            }
367
+        }
368
+        set_request('restreintes', $restreintes);
369
+    }
370
+
371
+    set_request(
372
+        'email',
373
+        email_valide(_request('email'))
374
+    ); // eviter d'enregistrer les cas qui sont acceptés par email_valide dans le verifier :
375
+    // "[email protected]  " ou encore "Marie Toto <[email protected]>"
376
+
377
+    include_spip('inc/autoriser');
378
+    if (!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])) {
379
+        $email_nouveau = _request('email');
380
+        set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
381
+        // mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
382
+        // pour qu'il confirme qu'il possede bien cette adresse
383
+        // son clic sur l'url du message permettre de confirmer le changement
384
+        // et de revenir sur son profil
385
+        if (
386
+            $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
+            && $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
388
+        ) {
389
+            $envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390
+            $texte = _T(
391
+                'form_auteur_mail_confirmation',
392
+                [
393
+                    'url' => generer_action_auteur(
394
+                        'confirmer_email',
395
+                        $email_nouveau,
396
+                        parametre_url($retour, 'email_modif', 'ok')
397
+                    )
398
+                ]
399
+            );
400
+            $envoyer_mail($email_nouveau, _T('form_auteur_confirmation'), $texte);
401
+            set_request('email_confirm', $email_nouveau);
402
+            if ($email_ancien) {
403
+                $envoyer_mail(
404
+                    $email_ancien,
405
+                    _T('form_auteur_confirmation'),
406
+                    _T('form_auteur_envoi_mail_confirmation', ['email' => $email_nouveau])
407
+                );
408
+            }
409
+            $retour = parametre_url($retour, 'email_confirm', $email_nouveau);
410
+        }
411
+    }
412
+
413
+    // Trafic de langue pour enregistrer la bonne
414
+    if ($langue = _request('langue')) {
415
+        set_request('lang', $langue);
416
+    }
417
+
418
+    $res = formulaires_editer_objet_traiter('auteur', $id_auteur, 0, 0, $retour, $config_fonc, $row, $hidden);
419
+
420
+    if (_request('reset_password') && !(int) $id_auteur && (int) $res['id_auteur']) {
421
+        $erreurs = [];
422
+        $erreurs = auteur_reset_password($res['id_auteur'], $erreurs);
423
+        if (isset($erreurs['message_ok'])) {
424
+            if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425
+            }
426
+            $res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
427
+        }
428
+        if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429
+            if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430
+            }
431
+            $res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
432
+        }
433
+    }
434
+
435
+    // Un lien auteur a prendre en compte ?
436
+    if ($associer_objet && ($id_auteur = $res['id_auteur'])) {
437
+        $objet = '';
438
+        if ((int) $associer_objet) {
439
+            $objet = 'article';
440
+            $id_objet = (int) $associer_objet;
441
+        } elseif (preg_match(',^\w+\|\d+$,', $associer_objet)) {
442
+            [$objet, $id_objet] = explode('|', $associer_objet);
443
+        }
444
+        if ($objet && $id_objet && autoriser('modifier', $objet, $id_objet)) {
445
+            include_spip('action/editer_auteur');
446
+            auteur_associer($id_auteur, [$objet => $id_objet]);
447
+            if (isset($res['redirect'])) {
448
+                $res['redirect'] = parametre_url($res['redirect'], 'id_lien_ajoute', $id_auteur, '&');
449
+            }
450
+        }
451
+    }
452
+
453
+    return $res;
454 454
 }
455 455
 
456 456
 
457 457
 function auteur_reset_password($id_auteur, $erreurs = []) {
458
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
459
-	$config = auteurs_edit_config($auteur);
460
-
461
-	if ($config['edit_pass']) {
462
-		if ($email = auteur_regenerer_identifiants($id_auteur)) {
463
-			$erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
464
-			$erreurs['message_erreur'] = '';
465
-		} elseif ($email === false) {
466
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
467
-		} else {
468
-			$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
469
-		}
470
-	} else {
471
-		$erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
472
-	}
473
-
474
-	return $erreurs;
458
+    $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
459
+    $config = auteurs_edit_config($auteur);
460
+
461
+    if ($config['edit_pass']) {
462
+        if ($email = auteur_regenerer_identifiants($id_auteur)) {
463
+            $erreurs['message_ok'] = _T('message_nouveaux_identifiants_ok', ['email' => $email]);
464
+            $erreurs['message_erreur'] = '';
465
+        } elseif ($email === false) {
466
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec_envoi');
467
+        } else {
468
+            $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
469
+        }
470
+    } else {
471
+        $erreurs['message_erreur'] = _T('message_nouveaux_identifiants_echec');
472
+    }
473
+
474
+    return $erreurs;
475 475
 }
476 476
 
477 477
 /**
@@ -482,50 +482,50 @@  discard block
 block discarded – undo
482 482
  * @return string
483 483
  */
484 484
 function auteur_regenerer_identifiants($id_auteur, $notifier = true, $contexte = []) {
485
-	if ($id_auteur) {
486
-		$set = [];
487
-		include_spip('inc/access');
488
-		$set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
489
-
490
-		include_spip('action/editer_auteur');
491
-		auteur_modifier($id_auteur, $set);
492
-
493
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
494
-		include_spip('inc/filtres');
495
-		if (
496
-			$notifier
497
-			&& $row['email']
498
-			&& email_valide($row['email'])
499
-			&& trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
500
-		) {
501
-			// envoyer l'email avec login/pass
502
-			$c = [
503
-				'id_auteur' => $id_auteur,
504
-				'nom' => $row['nom'],
505
-				'mode' => $row['statut'],
506
-				'email' => $row['email'],
507
-				'pass' => $set['pass'],
508
-			];
509
-			// on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
510
-			$contexte = array_merge($contexte, $c);
511
-			// si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
512
-			// plutot que celle de l'admin qui vient de cliquer sur le bouton
513
-			if (!isset($contexte['lang']) || !$contexte['lang']) {
514
-				$contexte['lang'] = isset($row['lang']) && $row['lang']
515
-					? $row['lang']
516
-					: $GLOBALS['meta']['langue_site'];
517
-			}
518
-			lang_select($contexte['lang']);
519
-			$message = recuperer_fond($fond, $contexte);
520
-			include_spip('inc/notifications');
521
-			notifications_envoyer_mails($row['email'], $message);
522
-			lang_select();
523
-
524
-			return $row['email'];
525
-		}
526
-
527
-		return false;
528
-	}
529
-
530
-	return '';
485
+    if ($id_auteur) {
486
+        $set = [];
487
+        include_spip('inc/access');
488
+        $set['pass'] = creer_pass_aleatoire(max(_PASS_LONGUEUR_MINI, 16));
489
+
490
+        include_spip('action/editer_auteur');
491
+        auteur_modifier($id_auteur, $set);
492
+
493
+        $row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
494
+        include_spip('inc/filtres');
495
+        if (
496
+            $notifier
497
+            && $row['email']
498
+            && email_valide($row['email'])
499
+            && trouver_fond($fond = 'modeles/mail_nouveaux_identifiants')
500
+        ) {
501
+            // envoyer l'email avec login/pass
502
+            $c = [
503
+                'id_auteur' => $id_auteur,
504
+                'nom' => $row['nom'],
505
+                'mode' => $row['statut'],
506
+                'email' => $row['email'],
507
+                'pass' => $set['pass'],
508
+            ];
509
+            // on merge avec les champs fournit en appel, qui sont passes au modele de notification donc
510
+            $contexte = array_merge($contexte, $c);
511
+            // si pas de langue explicitement demandee, prendre celle de l'auteur si on la connait, ou a defaut celle du site
512
+            // plutot que celle de l'admin qui vient de cliquer sur le bouton
513
+            if (!isset($contexte['lang']) || !$contexte['lang']) {
514
+                $contexte['lang'] = isset($row['lang']) && $row['lang']
515
+                    ? $row['lang']
516
+                    : $GLOBALS['meta']['langue_site'];
517
+            }
518
+            lang_select($contexte['lang']);
519
+            $message = recuperer_fond($fond, $contexte);
520
+            include_spip('inc/notifications');
521
+            notifications_envoyer_mails($row['email'], $message);
522
+            lang_select();
523
+
524
+            return $row['email'];
525
+        }
526
+
527
+        return false;
528
+    }
529
+
530
+    return '';
531 531
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
 		unset($erreurs['new_login']);
174 174
 	}
175 175
 
176
-	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
176
+	$auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
177 177
 	$auth_methode = ($auth_methode ?: 'spip');
178 178
 	include_spip('inc/auth');
179 179
 
@@ -189,7 +189,7 @@  discard block
 block discarded – undo
189 189
 			!autoriser('modifier', 'auteur', $id_auteur, null, ['email' => '?'])
190 190
 			&& $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
191 191
 			&& !strlen(trim((string) $email))
192
-			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
192
+			&& $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.(int) $id_auteur))
193 193
 		) {
194 194
 			$erreurs['email'] = (($id_auteur == $GLOBALS['visiteur_session']['id_auteur']) ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'));
195 195
 		} else {
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
 			#Nouvel auteur
205 205
 			if ((int) $id_auteur == 0) {
206 206
 				#Un auteur existe deja avec cette adresse ?
207
-				if (sql_countsel('spip_auteurs', 'email=' . sql_quote($email)) > 0) {
207
+				if (sql_countsel('spip_auteurs', 'email='.sql_quote($email)) > 0) {
208 208
 					$erreurs['email'] = _T('erreur_email_deja_existant');
209 209
 				}
210 210
 			} else {
@@ -212,12 +212,12 @@  discard block
 block discarded – undo
212 212
 				if (
213 213
 					sql_countsel(
214 214
 						'spip_auteurs',
215
-						'email=' . sql_quote($email)
215
+						'email='.sql_quote($email)
216 216
 					) > 0
217 217
 					&& $id_auteur != ($id_auteur_ancien = sql_getfetsel(
218 218
 						'id_auteur',
219 219
 						'spip_auteurs',
220
-						'email=' . sql_quote($email)
220
+						'email='.sql_quote($email)
221 221
 					))
222 222
 				) {
223 223
 					$erreurs['email'] = _T('erreur_email_deja_existant');
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
 		&& (!str_contains((string) $url, ':')
239 239
 		&& strncasecmp((string) $url, 'www.', 4) === 0)
240 240
 	) {
241
-		$url = 'http://' . $url;
241
+		$url = 'http://'.$url;
242 242
 		set_request('url_site', $url);
243 243
 	}
244 244
 	// traiter les liens implicites avant de tester l'url
@@ -253,11 +253,11 @@  discard block
 block discarded – undo
253 253
 		$erreurs['login'] = _T('info_non_modifiable');
254 254
 	}
255 255
 	elseif (
256
-		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur)
256
+		($login = _request('new_login')) && $login !== sql_getfetsel('login', 'spip_auteurs', 'id_auteur='.(int) $id_auteur)
257 257
 	) {
258 258
 		// on verifie la meme chose que dans auteurs_edit_config()
259 259
 		if (
260
-			! auth_autoriser_modifier_login($auth_methode)
260
+			!auth_autoriser_modifier_login($auth_methode)
261 261
 			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['login' => true])
262 262
 			// legacy : ne pas risquer d'autoriser la modif login si fonction d'autorisation pas mise a jour et ne teste que l'option email
263 263
 			|| !autoriser('modifier', 'auteur', (int) $id_auteur, null, ['email' => true])
@@ -384,7 +384,7 @@  discard block
 block discarded – undo
384 384
 		// et de revenir sur son profil
385 385
 		if (
386 386
 			$GLOBALS['visiteur_session']['id_auteur'] == $id_auteur
387
-			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur))
387
+			&& $email_nouveau != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.(int) $id_auteur))
388 388
 		) {
389 389
 			$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
390 390
 			$texte = _T(
@@ -423,12 +423,12 @@  discard block
 block discarded – undo
423 423
 		if (isset($erreurs['message_ok'])) {
424 424
 			if (!isset($res['message_ok'])) { $res['message_ok'] = '';
425 425
 			}
426
-			$res['message_ok'] = trim($res['message_ok'] . ' ' . $erreurs['message_ok']);
426
+			$res['message_ok'] = trim($res['message_ok'].' '.$erreurs['message_ok']);
427 427
 		}
428 428
 		if (isset($erreurs['message_erreur']) && $erreurs['message_erreur']) {
429 429
 			if (!isset($res['message_erreur'])) { $res['message_erreur'] = '';
430 430
 			}
431
-			$res['message_erreur'] = trim($res['message_erreur'] . ' ' . $erreurs['message_erreur']);
431
+			$res['message_erreur'] = trim($res['message_erreur'].' '.$erreurs['message_erreur']);
432 432
 		}
433 433
 	}
434 434
 
@@ -455,7 +455,7 @@  discard block
 block discarded – undo
455 455
 
456 456
 
457 457
 function auteur_reset_password($id_auteur, $erreurs = []) {
458
-	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
458
+	$auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
459 459
 	$config = auteurs_edit_config($auteur);
460 460
 
461 461
 	if ($config['edit_pass']) {
@@ -490,7 +490,7 @@  discard block
 block discarded – undo
490 490
 		include_spip('action/editer_auteur');
491 491
 		auteur_modifier($id_auteur, $set);
492 492
 
493
-		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
493
+		$row = sql_fetsel('*', 'spip_auteurs', 'id_auteur='.(int) $id_auteur);
494 494
 		include_spip('inc/filtres');
495 495
 		if (
496 496
 			$notifier
Please login to merge, or discard this patch.
prive/formulaires/configurer_multilinguisme.php 1 patch
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -10,53 +10,53 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_configurer_multilinguisme_charger_dist() {
17
-	$valeurs = [];
18
-	$valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
19
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
20
-		$valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
21
-	}
22
-
23
-	if (
24
-		(is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0)
25
-		|| count(explode(',', (string) $GLOBALS['meta']['langues_utilisees'])) > 1
26
-	) {
27
-		$selection = (is_null(_request('multi_objets')) ?
28
-			explode(',', (string) $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
29
-		$valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
30
-		$valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
31
-	}
32
-
33
-	return $valeurs;
17
+    $valeurs = [];
18
+    $valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
19
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
20
+        $valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
21
+    }
22
+
23
+    if (
24
+        (is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0)
25
+        || count(explode(',', (string) $GLOBALS['meta']['langues_utilisees'])) > 1
26
+    ) {
27
+        $selection = (is_null(_request('multi_objets')) ?
28
+            explode(',', (string) $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
29
+        $valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
30
+        $valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
31
+    }
32
+
33
+    return $valeurs;
34 34
 }
35 35
 
36 36
 
37 37
 function formulaires_configurer_multilinguisme_traiter_dist() {
38
-	$res = ['editable' => true];
39
-	// un checkbox seul de name X non coche n'est pas poste.
40
-	// on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
41
-	foreach (['multi_secteurs'] as $m) {
42
-		if (!is_null(_request($m . '_check'))) {
43
-			ecrire_meta($m, _request($m) ? 'oui' : 'non');
44
-		}
45
-	}
46
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
47
-		if (!is_null($v = _request($m))) {
48
-			// join et enlever la valeur vide ''
49
-			ecrire_meta($m, implode(',', array_diff($v, [''])));
50
-		}
51
-	}
52
-
53
-	if (($i = _request('langues_auth')) && is_array($i)) {
54
-		$i = array_unique(array_merge($i, explode(',', (string) $GLOBALS['meta']['langues_utilisees'])));
55
-		ecrire_meta('langues_multilingue', implode(',', $i));
56
-	}
57
-	$res['message_ok'] = _T('config_info_enregistree');
58
-
59
-	return $res;
38
+    $res = ['editable' => true];
39
+    // un checkbox seul de name X non coche n'est pas poste.
40
+    // on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
41
+    foreach (['multi_secteurs'] as $m) {
42
+        if (!is_null(_request($m . '_check'))) {
43
+            ecrire_meta($m, _request($m) ? 'oui' : 'non');
44
+        }
45
+    }
46
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
47
+        if (!is_null($v = _request($m))) {
48
+            // join et enlever la valeur vide ''
49
+            ecrire_meta($m, implode(',', array_diff($v, [''])));
50
+        }
51
+    }
52
+
53
+    if (($i = _request('langues_auth')) && is_array($i)) {
54
+        $i = array_unique(array_merge($i, explode(',', (string) $GLOBALS['meta']['langues_utilisees'])));
55
+        ecrire_meta('langues_multilingue', implode(',', $i));
56
+    }
57
+    $res['message_ok'] = _T('config_info_enregistree');
58
+
59
+    return $res;
60 60
 }
61 61
 
62 62
 /**
@@ -66,13 +66,13 @@  discard block
 block discarded – undo
66 66
  * @return string
67 67
  */
68 68
 function table_supporte_lang($table_sql) {
69
-	$trouver_table = charger_fonction('trouver_table', 'base');
70
-	$desc = $trouver_table($table_sql);
71
-	if (!$desc || !isset($desc['field']['lang'])) {
72
-		return '';
73
-	}
69
+    $trouver_table = charger_fonction('trouver_table', 'base');
70
+    $desc = $trouver_table($table_sql);
71
+    if (!$desc || !isset($desc['field']['lang'])) {
72
+        return '';
73
+    }
74 74
 
75
-	return ' ';
75
+    return ' ';
76 76
 }
77 77
 
78 78
 /**
@@ -82,65 +82,65 @@  discard block
 block discarded – undo
82 82
  * @return string
83 83
  */
84 84
 function table_supporte_trad($table_sql) {
85
-	$trouver_table = charger_fonction('trouver_table', 'base');
86
-	$desc = $trouver_table($table_sql);
87
-	if (!$desc || !isset($desc['field']['id_trad'])) {
88
-		return '';
89
-	}
85
+    $trouver_table = charger_fonction('trouver_table', 'base');
86
+    $desc = $trouver_table($table_sql);
87
+    if (!$desc || !isset($desc['field']['id_trad'])) {
88
+        return '';
89
+    }
90 90
 
91
-	return ' ';
91
+    return ' ';
92 92
 }
93 93
 
94 94
 
95 95
 function saisie_langues_utiles($name, $selection) {
96
-	include_spip('inc/lang_liste');
97
-	$langues = $GLOBALS['codes_langues'];
98
-
99
-	$langues_installees = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
100
-	$langues_trad = array_flip($langues_installees);
101
-
102
-	$langues_bloquees = explode(',', (string) $GLOBALS['meta']['langues_utilisees']);
103
-
104
-	$res = '';
105
-
106
-	$i = 0;
107
-	foreach ($langues_bloquees as $code_langue) {
108
-		$nom_langue = $langues[$code_langue];
109
-		$res .= "<li class='choix "
110
-			. alterner(++$i, 'odd', 'even')
111
-			. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
112
-			. "'>"
113
-			. "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
114
-			. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
115
-			. "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
116
-			. '</li>';
117
-	}
118
-
119
-	if ($res) {
120
-		$res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
121
-	}
122
-
123
-	$res .= "<ul id='langues_proposees'>";
124
-
125
-	$i = 0;
126
-	$langues_bloquees = array_flip($langues_bloquees);
127
-	foreach ($langues as $code_langue => $nom_langue) {
128
-		if (!isset($langues_bloquees[$code_langue])) {
129
-			$checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
130
-			$res .= "<li class='choix "
131
-				. alterner(++$i, 'odd', 'even')
132
-				. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
133
-				. "'>"
134
-				. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
135
-				. $checked
136
-				. '/>'
137
-				. "<label for='{$name}_$code_langue'"
138
-				. ($checked ? " class='on'" : '')
139
-				. '>'
140
-				. $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
141
-				. '</li>';
142
-		}
143
-	}
144
-
145
-	return $res . "</ul><div class='nettoyeur'></div>";
96
+    include_spip('inc/lang_liste');
97
+    $langues = $GLOBALS['codes_langues'];
98
+
99
+    $langues_installees = explode(',', (string) $GLOBALS['meta']['langues_proposees']);
100
+    $langues_trad = array_flip($langues_installees);
101
+
102
+    $langues_bloquees = explode(',', (string) $GLOBALS['meta']['langues_utilisees']);
103
+
104
+    $res = '';
105
+
106
+    $i = 0;
107
+    foreach ($langues_bloquees as $code_langue) {
108
+        $nom_langue = $langues[$code_langue];
109
+        $res .= "<li class='choix "
110
+            . alterner(++$i, 'odd', 'even')
111
+            . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
112
+            . "'>"
113
+            . "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
114
+            . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
115
+            . "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
116
+            . '</li>';
117
+    }
118
+
119
+    if ($res) {
120
+        $res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
121
+    }
122
+
123
+    $res .= "<ul id='langues_proposees'>";
124
+
125
+    $i = 0;
126
+    $langues_bloquees = array_flip($langues_bloquees);
127
+    foreach ($langues as $code_langue => $nom_langue) {
128
+        if (!isset($langues_bloquees[$code_langue])) {
129
+            $checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
130
+            $res .= "<li class='choix "
131
+                . alterner(++$i, 'odd', 'even')
132
+                . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
133
+                . "'>"
134
+                . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
135
+                . $checked
136
+                . '/>'
137
+                . "<label for='{$name}_$code_langue'"
138
+                . ($checked ? " class='on'" : '')
139
+                . '>'
140
+                . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
141
+                . '</li>';
142
+        }
143
+    }
144
+
145
+    return $res . "</ul><div class='nettoyeur'></div>";
146 146
 }
Please login to merge, or discard this patch.
prive/formulaires/inscription.php 1 patch
Indentation   +127 added lines, -127 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 /**
@@ -39,26 +39,26 @@  discard block
 block discarded – undo
39 39
  */
40 40
 function formulaires_inscription_charger_dist($mode = '', $options = [], $retour = '') {
41 41
 
42
-	$id = ($options['id'] ?? 0);
43
-
44
-	// fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
45
-	// pas de formulaire si le mode est interdit
46
-	include_spip('inc/autoriser');
47
-	if (!autoriser('inscrireauteur', $mode, $id)) {
48
-		return false;
49
-	}
50
-
51
-	// pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
52
-	if (isset($GLOBALS['visiteur_session']['statut']) && $GLOBALS['visiteur_session']['statut'] <= $mode) {
53
-		return false;
54
-	}
55
-
56
-	return [
57
-		'nom_inscription' => '',
58
-		'mail_inscription' => '',
59
-		'id' => $id,
60
-		'_mode' => $mode
61
-	];
42
+    $id = ($options['id'] ?? 0);
43
+
44
+    // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
45
+    // pas de formulaire si le mode est interdit
46
+    include_spip('inc/autoriser');
47
+    if (!autoriser('inscrireauteur', $mode, $id)) {
48
+        return false;
49
+    }
50
+
51
+    // pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
52
+    if (isset($GLOBALS['visiteur_session']['statut']) && $GLOBALS['visiteur_session']['statut'] <= $mode) {
53
+        return false;
54
+    }
55
+
56
+    return [
57
+        'nom_inscription' => '',
58
+        'mail_inscription' => '',
59
+        'id' => $id,
60
+        '_mode' => $mode
61
+    ];
62 62
 }
63 63
 
64 64
 
@@ -71,65 +71,65 @@  discard block
 block discarded – undo
71 71
  * @return array
72 72
  */
73 73
 function formulaires_inscription_verifier_dist($mode = '', $options = [], $retour = '') {
74
-	set_request('_upgrade_auteur'); // securite
75
-	include_spip('inc/filtres');
76
-	$erreurs = [];
77
-
78
-	$id = ($options['id'] ?? 0);
79
-
80
-	include_spip('inc/autoriser');
81
-	if (!autoriser('inscrireauteur', $mode, $id) || strlen((string) _request('nobot')) > 0) {
82
-		$erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
83
-	}
84
-
85
-	if (!$nom = _request('nom_inscription')) {
86
-		$erreurs['nom_inscription'] = _T('info_obligatoire');
87
-	} elseif (!nom_acceptable(_request('nom_inscription'))) {
88
-		$erreurs['nom_inscription'] = _T('ecrire:info_nom_pas_conforme');
89
-	}
90
-	if (!$mail = (string) _request('mail_inscription')) {
91
-		$erreurs['mail_inscription'] = _T('info_obligatoire');
92
-	}
93
-
94
-	// compatibilite avec anciennes fonction surchargeables
95
-	// plus de definition par defaut
96
-	if ($erreurs === []) {
97
-		include_spip('action/inscrire_auteur');
98
-		$f = function_exists('test_inscription') ? 'test_inscription' : 'test_inscription_dist';
99
-		$declaration = $f($mode, $mail, $nom, $options);
100
-		if (is_string($declaration)) {
101
-			$k = (str_contains($declaration, 'mail')) ?
102
-				'mail_inscription' : 'nom_inscription';
103
-			$erreurs[$k] = _T($declaration);
104
-		} else {
105
-			include_spip('base/abstract_sql');
106
-
107
-			if (
108
-				$row = sql_fetsel(
109
-					'statut, id_auteur, login, email',
110
-					'spip_auteurs',
111
-					'email=' . sql_quote($declaration['email'])
112
-				)
113
-			) {
114
-				if ($row['statut'] == '5poubelle' && empty($declaration['pass'])) {
115
-					// irrecuperable
116
-					$erreurs['message_erreur'] = _T('form_forum_access_refuse');
117
-				} else {
118
-					if ($row['statut'] != 'nouveau' && empty($declaration['pass'])) {
119
-						if ((int) $row['statut'] > (int) $mode) {
120
-							set_request('_upgrade_auteur', $row['id_auteur']);
121
-						} else {
122
-							// deja inscrit
123
-							$erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre');
124
-						}
125
-					}
126
-				}
127
-				spip_log($row['id_auteur'] . ' veut se resinscrire');
128
-			}
129
-		}
130
-	}
131
-
132
-	return $erreurs;
74
+    set_request('_upgrade_auteur'); // securite
75
+    include_spip('inc/filtres');
76
+    $erreurs = [];
77
+
78
+    $id = ($options['id'] ?? 0);
79
+
80
+    include_spip('inc/autoriser');
81
+    if (!autoriser('inscrireauteur', $mode, $id) || strlen((string) _request('nobot')) > 0) {
82
+        $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
83
+    }
84
+
85
+    if (!$nom = _request('nom_inscription')) {
86
+        $erreurs['nom_inscription'] = _T('info_obligatoire');
87
+    } elseif (!nom_acceptable(_request('nom_inscription'))) {
88
+        $erreurs['nom_inscription'] = _T('ecrire:info_nom_pas_conforme');
89
+    }
90
+    if (!$mail = (string) _request('mail_inscription')) {
91
+        $erreurs['mail_inscription'] = _T('info_obligatoire');
92
+    }
93
+
94
+    // compatibilite avec anciennes fonction surchargeables
95
+    // plus de definition par defaut
96
+    if ($erreurs === []) {
97
+        include_spip('action/inscrire_auteur');
98
+        $f = function_exists('test_inscription') ? 'test_inscription' : 'test_inscription_dist';
99
+        $declaration = $f($mode, $mail, $nom, $options);
100
+        if (is_string($declaration)) {
101
+            $k = (str_contains($declaration, 'mail')) ?
102
+                'mail_inscription' : 'nom_inscription';
103
+            $erreurs[$k] = _T($declaration);
104
+        } else {
105
+            include_spip('base/abstract_sql');
106
+
107
+            if (
108
+                $row = sql_fetsel(
109
+                    'statut, id_auteur, login, email',
110
+                    'spip_auteurs',
111
+                    'email=' . sql_quote($declaration['email'])
112
+                )
113
+            ) {
114
+                if ($row['statut'] == '5poubelle' && empty($declaration['pass'])) {
115
+                    // irrecuperable
116
+                    $erreurs['message_erreur'] = _T('form_forum_access_refuse');
117
+                } else {
118
+                    if ($row['statut'] != 'nouveau' && empty($declaration['pass'])) {
119
+                        if ((int) $row['statut'] > (int) $mode) {
120
+                            set_request('_upgrade_auteur', $row['id_auteur']);
121
+                        } else {
122
+                            // deja inscrit
123
+                            $erreurs['message_erreur'] = _T('form_forum_email_deja_enregistre');
124
+                        }
125
+                    }
126
+                }
127
+                spip_log($row['id_auteur'] . ' veut se resinscrire');
128
+            }
129
+        }
130
+    }
131
+
132
+    return $erreurs;
133 133
 }
134 134
 
135 135
 /**
@@ -140,51 +140,51 @@  discard block
 block discarded – undo
140 140
  * @return array
141 141
  */
142 142
 function formulaires_inscription_traiter_dist($mode = '', array $options = [], $retour = '') {
143
-	if ($retour) {
144
-		refuser_traiter_formulaire_ajax();
145
-	}
146
-
147
-	include_spip('inc/filtres');
148
-	include_spip('inc/autoriser');
149
-
150
-	$id = ($options['id'] ?? 0);
151
-
152
-	if (!autoriser('inscrireauteur', $mode, $id)) {
153
-		$desc = 'rien a faire ici';
154
-	} else {
155
-		if ($id_auteur = _request('_upgrade_auteur')) {
156
-			include_spip('action/editer_auteur');
157
-			autoriser_exception('modifier', 'auteur', $id_auteur);
158
-			autoriser_exception('instituer', 'auteur', $id_auteur);
159
-			auteur_modifier($id_auteur, ['statut' => $mode]);
160
-			autoriser_exception('modifier', 'auteur', $id_auteur, false);
161
-			autoriser_exception('instituer', 'auteur', $id_auteur, false);
162
-
163
-			return ['message_ok' => _T('form_forum_email_deja_enregistre'), 'id_auteur' => $id_auteur];
164
-		}
165
-
166
-		$nom = _request('nom_inscription');
167
-		$mail_complet = _request('mail_inscription');
168
-
169
-		$inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
170
-		$desc = $inscrire_auteur($mode, $mail_complet, $nom, $options);
171
-	}
172
-
173
-	// erreur ?
174
-	if (is_string($desc)) {
175
-		return ['message_erreur' => $desc];
176
-	} // OK
177
-	else {
178
-		$retours = [
179
-			'message_ok' => _T('form_forum_identifiant_mail'),
180
-			'id_auteur' => $desc['id_auteur']
181
-		];
182
-
183
-		// Si on demande à rediriger juste après validation du formulaire
184
-		if ($retour) {
185
-			$retours['redirect'] = $retour;
186
-		}
187
-
188
-		return $retours;
189
-	}
143
+    if ($retour) {
144
+        refuser_traiter_formulaire_ajax();
145
+    }
146
+
147
+    include_spip('inc/filtres');
148
+    include_spip('inc/autoriser');
149
+
150
+    $id = ($options['id'] ?? 0);
151
+
152
+    if (!autoriser('inscrireauteur', $mode, $id)) {
153
+        $desc = 'rien a faire ici';
154
+    } else {
155
+        if ($id_auteur = _request('_upgrade_auteur')) {
156
+            include_spip('action/editer_auteur');
157
+            autoriser_exception('modifier', 'auteur', $id_auteur);
158
+            autoriser_exception('instituer', 'auteur', $id_auteur);
159
+            auteur_modifier($id_auteur, ['statut' => $mode]);
160
+            autoriser_exception('modifier', 'auteur', $id_auteur, false);
161
+            autoriser_exception('instituer', 'auteur', $id_auteur, false);
162
+
163
+            return ['message_ok' => _T('form_forum_email_deja_enregistre'), 'id_auteur' => $id_auteur];
164
+        }
165
+
166
+        $nom = _request('nom_inscription');
167
+        $mail_complet = _request('mail_inscription');
168
+
169
+        $inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
170
+        $desc = $inscrire_auteur($mode, $mail_complet, $nom, $options);
171
+    }
172
+
173
+    // erreur ?
174
+    if (is_string($desc)) {
175
+        return ['message_erreur' => $desc];
176
+    } // OK
177
+    else {
178
+        $retours = [
179
+            'message_ok' => _T('form_forum_identifiant_mail'),
180
+            'id_auteur' => $desc['id_auteur']
181
+        ];
182
+
183
+        // Si on demande à rediriger juste après validation du formulaire
184
+        if ($retour) {
185
+            $retours['redirect'] = $retour;
186
+        }
187
+
188
+        return $retours;
189
+    }
190 190
 }
Please login to merge, or discard this patch.
prive/formulaires/mot_de_passe.php 1 patch
Indentation   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -10,31 +10,31 @@  discard block
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 include_spip('base/abstract_sql');
17 17
 
18 18
 function retrouve_auteur($id_auteur, $jeton = '') {
19
-	if ($id_auteur = (int) $id_auteur) {
20
-		return sql_fetsel(
21
-			'*',
22
-			'spip_auteurs',
23
-			['id_auteur=' . (int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
24
-		);
25
-	} elseif ($jeton) {
26
-		include_spip('action/inscrire_auteur');
27
-		if (
28
-			($auteur = auteur_verifier_jeton($jeton))
29
-			&& $auteur['statut'] != '5poubelle'
30
-			&& $auteur['pass'] != ''
31
-			&& $auteur['login'] != ''
32
-		) {
33
-			return $auteur;
34
-		}
35
-	}
36
-
37
-	return false;
19
+    if ($id_auteur = (int) $id_auteur) {
20
+        return sql_fetsel(
21
+            '*',
22
+            'spip_auteurs',
23
+            ['id_auteur=' . (int) $id_auteur, "statut<>'5poubelle'", "pass<>''", "login<>''"]
24
+        );
25
+    } elseif ($jeton) {
26
+        include_spip('action/inscrire_auteur');
27
+        if (
28
+            ($auteur = auteur_verifier_jeton($jeton))
29
+            && $auteur['statut'] != '5poubelle'
30
+            && $auteur['pass'] != ''
31
+            && $auteur['login'] != ''
32
+        ) {
33
+            return $auteur;
34
+        }
35
+    }
36
+
37
+    return false;
38 38
 }
39 39
 
40 40
 // chargement des valeurs par defaut des champs du formulaire
@@ -49,30 +49,30 @@  discard block
 block discarded – undo
49 49
  */
50 50
 function formulaires_mot_de_passe_charger_dist($id_auteur = null, $jeton = null) {
51 51
 
52
-	$valeurs = [];
53
-	// compatibilite anciens appels du formulaire
54
-	if (is_null($jeton)) {
55
-		$jeton = _request('p');
56
-	}
57
-	$auteur = retrouve_auteur($id_auteur, $jeton);
58
-
59
-	if ($auteur) {
60
-		$valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
61
-		if ($jeton) {
62
-			$valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
63
-		}
64
-	} else {
65
-		$valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
66
-		$valeurs['editable'] = false; // pas de saisie
67
-	}
68
-	$valeurs['oubli'] = '';
69
-	// le champ login n'est pas utilise, mais il est destine aux navigateurs smarts
70
-	// qui veulent remplir le formulaire avec login/mot de passe
71
-	// et qui sinon remplissent le champ nobot (autocomplete=off n'est pas une option, certains navigateurs l'ignorant)
72
-	$valeurs['login'] = '';
73
-	$valeurs['nobot'] = '';
74
-
75
-	return $valeurs;
52
+    $valeurs = [];
53
+    // compatibilite anciens appels du formulaire
54
+    if (is_null($jeton)) {
55
+        $jeton = _request('p');
56
+    }
57
+    $auteur = retrouve_auteur($id_auteur, $jeton);
58
+
59
+    if ($auteur) {
60
+        $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
61
+        if ($jeton) {
62
+            $valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
63
+        }
64
+    } else {
65
+        $valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
66
+        $valeurs['editable'] = false; // pas de saisie
67
+    }
68
+    $valeurs['oubli'] = '';
69
+    // le champ login n'est pas utilise, mais il est destine aux navigateurs smarts
70
+    // qui veulent remplir le formulaire avec login/mot de passe
71
+    // et qui sinon remplissent le champ nobot (autocomplete=off n'est pas une option, certains navigateurs l'ignorant)
72
+    $valeurs['login'] = '';
73
+    $valeurs['nobot'] = '';
74
+
75
+    return $valeurs;
76 76
 }
77 77
 
78 78
 /**
@@ -83,36 +83,36 @@  discard block
 block discarded – undo
83 83
  * @param int $id_auteur
84 84
  */
85 85
 function formulaires_mot_de_passe_verifier_dist($id_auteur = null, $jeton = null) {
86
-	$erreurs = [];
87
-	if (!_request('oubli')) {
88
-		$erreurs['oubli'] = _T('info_obligatoire');
89
-	} else {
90
-		if (strlen((string) ($p = _request('oubli'))) < _PASS_LONGUEUR_MINI) {
91
-			$erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]);
92
-		} else {
93
-			if (!is_null($c = _request('oubli_confirm'))) {
94
-				if (!$c) {
95
-					$erreurs['oubli_confirm'] = _T('info_obligatoire');
96
-				} elseif ($c !== $p) {
97
-					$erreurs['oubli'] = _T('info_passes_identiques');
98
-				}
99
-			}
100
-		}
101
-	}
102
-	if (isset($erreurs['oubli'])) {
103
-		set_request('oubli');
104
-		set_request('oubli_confirm');
105
-	}
106
-
107
-	if (_request('nobot')) {
108
-		$erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
109
-	}
110
-	// precaution
111
-	if (_request('login')) {
112
-		set_request('login');
113
-	}
114
-
115
-	return $erreurs;
86
+    $erreurs = [];
87
+    if (!_request('oubli')) {
88
+        $erreurs['oubli'] = _T('info_obligatoire');
89
+    } else {
90
+        if (strlen((string) ($p = _request('oubli'))) < _PASS_LONGUEUR_MINI) {
91
+            $erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel', ['nb' => _PASS_LONGUEUR_MINI]);
92
+        } else {
93
+            if (!is_null($c = _request('oubli_confirm'))) {
94
+                if (!$c) {
95
+                    $erreurs['oubli_confirm'] = _T('info_obligatoire');
96
+                } elseif ($c !== $p) {
97
+                    $erreurs['oubli'] = _T('info_passes_identiques');
98
+                }
99
+            }
100
+        }
101
+    }
102
+    if (isset($erreurs['oubli'])) {
103
+        set_request('oubli');
104
+        set_request('oubli_confirm');
105
+    }
106
+
107
+    if (_request('nobot')) {
108
+        $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
109
+    }
110
+    // precaution
111
+    if (_request('login')) {
112
+        set_request('login');
113
+    }
114
+
115
+    return $erreurs;
116 116
 }
117 117
 
118 118
 /**
@@ -122,61 +122,61 @@  discard block
 block discarded – undo
122 122
  * @param int $id_auteur
123 123
  */
124 124
 function formulaires_mot_de_passe_traiter_dist($id_auteur = null, $jeton = null) {
125
-	$res = ['message_ok' => ''];
126
-	refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus)
127
-
128
-	// compatibilite anciens appels du formulaire
129
-	if (is_null($jeton)) {
130
-		$jeton = _request('p');
131
-	}
132
-	$row = retrouve_auteur($id_auteur, $jeton);
133
-
134
-	if (
135
-		$row
136
-		&& ($id_auteur = $row['id_auteur'])
137
-		&& ($oubli = _request('oubli'))
138
-	) {
139
-		include_spip('action/editer_auteur');
140
-		include_spip('action/inscrire_auteur');
141
-		if ($err = auteur_modifier($id_auteur, ['pass' => $oubli])) {
142
-			$res = ['message_erreur' => $err];
143
-		} else {
144
-			auteur_effacer_jeton($id_auteur);
145
-
146
-			// Par défaut, on rappelle de s'identifier avec son email s'il existe
147
-			// et qu'il n'est PAS utilisé par quelqu'un d'autre
148
-			if (
149
-				$row['email'] && !sql_fetsel(
150
-					'id_auteur',
151
-					'spip_auteurs',
152
-					[
153
-						'(email=' . sql_quote($row['email']) . ' or login=' . sql_quote($row['email']) . ')',
154
-						'id_auteur != ' . $id_auteur
155
-					],
156
-					'',
157
-					'',
158
-					'0,1'
159
-				)
160
-			) {
161
-				$identifiant = $row['email'];
162
-			}
163
-			// Sinon on dit d'utiliser le login
164
-			else {
165
-				$identifiant = $row['login'];
166
-			}
167
-			$res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
168
-				'<br />' . _T('pass_rappel_login', ['login' => $identifiant]);
169
-
170
-			include_spip('inc/auth');
171
-			$auth = auth_identifier_login($row['login'], $oubli);
172
-			if (!is_array($auth)) {
173
-				spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
174
-			}
175
-			elseif ($auth['id_auteur'] == $id_auteur) {
176
-				auth_loger($auth);
177
-			}
178
-		}
179
-	}
180
-
181
-	return $res;
125
+    $res = ['message_ok' => ''];
126
+    refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus)
127
+
128
+    // compatibilite anciens appels du formulaire
129
+    if (is_null($jeton)) {
130
+        $jeton = _request('p');
131
+    }
132
+    $row = retrouve_auteur($id_auteur, $jeton);
133
+
134
+    if (
135
+        $row
136
+        && ($id_auteur = $row['id_auteur'])
137
+        && ($oubli = _request('oubli'))
138
+    ) {
139
+        include_spip('action/editer_auteur');
140
+        include_spip('action/inscrire_auteur');
141
+        if ($err = auteur_modifier($id_auteur, ['pass' => $oubli])) {
142
+            $res = ['message_erreur' => $err];
143
+        } else {
144
+            auteur_effacer_jeton($id_auteur);
145
+
146
+            // Par défaut, on rappelle de s'identifier avec son email s'il existe
147
+            // et qu'il n'est PAS utilisé par quelqu'un d'autre
148
+            if (
149
+                $row['email'] && !sql_fetsel(
150
+                    'id_auteur',
151
+                    'spip_auteurs',
152
+                    [
153
+                        '(email=' . sql_quote($row['email']) . ' or login=' . sql_quote($row['email']) . ')',
154
+                        'id_auteur != ' . $id_auteur
155
+                    ],
156
+                    '',
157
+                    '',
158
+                    '0,1'
159
+                )
160
+            ) {
161
+                $identifiant = $row['email'];
162
+            }
163
+            // Sinon on dit d'utiliser le login
164
+            else {
165
+                $identifiant = $row['login'];
166
+            }
167
+            $res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
168
+                '<br />' . _T('pass_rappel_login', ['login' => $identifiant]);
169
+
170
+            include_spip('inc/auth');
171
+            $auth = auth_identifier_login($row['login'], $oubli);
172
+            if (!is_array($auth)) {
173
+                spip_log('Erreur identification ' . $row['login'] . " après changement de mot de passe: $auth", _LOG_ERREUR);
174
+            }
175
+            elseif ($auth['id_auteur'] == $id_auteur) {
176
+                auth_loger($auth);
177
+            }
178
+        }
179
+    }
180
+
181
+    return $res;
182 182
 }
Please login to merge, or discard this patch.
prive/formulaires/rediriger_article.php 1 patch
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -10,64 +10,64 @@
 block discarded – undo
10 10
 \***************************************************************************/
11 11
 
12 12
 if (!defined('_ECRIRE_INC_VERSION')) {
13
-	return;
13
+    return;
14 14
 }
15 15
 
16 16
 function formulaires_rediriger_article_charger_dist($id_article, $retour = '') {
17 17
 
18
-	include_spip('inc/autoriser');
19
-	if (!autoriser('modifier', 'article', $id_article)) {
20
-		return false;
21
-	}
22
-
23
-	$row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article=' . (int) $id_article);
24
-	if (!$row['id_article']) {
25
-		return false;
26
-	}
27
-	include_spip('inc/lien');
28
-	$redirection = virtuel_redirige($row['virtuel']);
29
-
30
-	if (
31
-		!$redirection
32
-		&& $GLOBALS['meta']['articles_redirection'] != 'oui'
33
-	) {
34
-		return false;
35
-	}
36
-
37
-
38
-	include_spip('inc/texte');
39
-
40
-	return [
41
-		'redirection' => $redirection,
42
-		'id' => $id_article,
43
-		'_afficher_url' => ($redirection ? propre("[->$redirection]") : ''),
44
-	];
18
+    include_spip('inc/autoriser');
19
+    if (!autoriser('modifier', 'article', $id_article)) {
20
+        return false;
21
+    }
22
+
23
+    $row = sql_fetsel('id_article,virtuel', 'spip_articles', 'id_article=' . (int) $id_article);
24
+    if (!$row['id_article']) {
25
+        return false;
26
+    }
27
+    include_spip('inc/lien');
28
+    $redirection = virtuel_redirige($row['virtuel']);
29
+
30
+    if (
31
+        !$redirection
32
+        && $GLOBALS['meta']['articles_redirection'] != 'oui'
33
+    ) {
34
+        return false;
35
+    }
36
+
37
+
38
+    include_spip('inc/texte');
39
+
40
+    return [
41
+        'redirection' => $redirection,
42
+        'id' => $id_article,
43
+        '_afficher_url' => ($redirection ? propre("[->$redirection]") : ''),
44
+    ];
45 45
 }
46 46
 
47 47
 function formulaires_rediriger_article_verifier_dist($id_article, $retour = '') {
48
-	$erreurs = [];
48
+    $erreurs = [];
49 49
 
50
-	if (($redirection = _request('redirection')) == $id_article || $redirection == 'art' . $id_article) {
51
-		$erreurs['redirection'] = _T('info_redirection_boucle');
52
-	}
50
+    if (($redirection = _request('redirection')) == $id_article || $redirection == 'art' . $id_article) {
51
+        $erreurs['redirection'] = _T('info_redirection_boucle');
52
+    }
53 53
 
54
-	return $erreurs;
54
+    return $erreurs;
55 55
 }
56 56
 
57 57
 function formulaires_rediriger_article_traiter_dist($id_article, $retour = '') {
58 58
 
59
-	$url = preg_replace(',^\s*https?://$,i', '', rtrim((string) _request('redirection')));
60
-	if ($url) {
61
-		$url = corriger_caracteres($url);
62
-	}
59
+    $url = preg_replace(',^\s*https?://$,i', '', rtrim((string) _request('redirection')));
60
+    if ($url) {
61
+        $url = corriger_caracteres($url);
62
+    }
63 63
 
64
-	include_spip('action/editer_article');
65
-	article_modifier($id_article, ['virtuel' => $url]);
64
+    include_spip('action/editer_article');
65
+    article_modifier($id_article, ['virtuel' => $url]);
66 66
 
67
-	$js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
67
+    $js = _AJAX ? '<script type="text/javascript">if (window.ajaxReload) ajaxReload("wysiwyg");</script>' : '';
68 68
 
69
-	return [
70
-		'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js,
71
-		'editable' => true
72
-	];
69
+    return [
70
+        'message_ok' => ($url ? _T('info_redirection_activee') : _T('info_redirection_desactivee')) . $js,
71
+        'editable' => true
72
+    ];
73 73
 }
Please login to merge, or discard this patch.