Completed
Push — master ( 6c9939...4ccfda )
by cam
01:06
created
prive/formulaires/login.php 1 patch
Indentation   +249 added lines, -249 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('base/abstract_sql');
@@ -31,11 +31,11 @@  discard block
 block discarded – undo
31 31
  *     true si espace privé, false sinon.
32 32
  **/
33 33
 function is_url_prive($cible) {
34
-	include_spip('inc/filtres_mini');
35
-	$path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
36
-	$path = ($path['path'] ?? '');
34
+    include_spip('inc/filtres_mini');
35
+    $path = parse_url(tester_url_absolue($cible) ? $cible : url_absolue($cible));
36
+    $path = ($path['path'] ?? '');
37 37
 
38
-	return strncmp(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS)) == 0;
38
+    return strncmp(substr($path, -strlen(_DIR_RESTREINT_ABS)), _DIR_RESTREINT_ABS, strlen(_DIR_RESTREINT_ABS)) == 0;
39 39
 }
40 40
 
41 41
 /**
@@ -60,111 +60,111 @@  discard block
 block discarded – undo
60 60
  *     Environnement du formulaire
61 61
  **/
62 62
 function formulaires_login_charger_dist($cible = '', $options = [], $deprecated = null) {
63
-	$erreur = _request('var_erreur');
64
-
65
-	if (!is_array($options)) {
66
-		$options = [
67
-			'login' => $options,
68
-			'prive' => $deprecated
69
-		];
70
-	}
71
-
72
-	$login = (empty($options['login']) ? '' : $options['login']);
73
-	$prive = (empty($options['prive']) ? null : $options['prive']);
74
-	// conserver le fonctionnement historique
75
-	if (!isset($options['autofocus'])) {
76
-		$options['autofocus'] = true;
77
-	}
78
-
79
-	if (!$login) {
80
-		$login = strval(_request('var_login'));
81
-	}
82
-	// si on est deja identifie
83
-	if (!$login and isset($GLOBALS['visiteur_session']['email'])) {
84
-		$login = $GLOBALS['visiteur_session']['email'];
85
-	}
86
-	if (!$login and isset($GLOBALS['visiteur_session']['login'])) {
87
-		$login = $GLOBALS['visiteur_session']['login'];
88
-	}
89
-	// ou si on a un cookie admin
90
-	if (!$login) {
91
-		if (
92
-			isset($_COOKIE['spip_admin'])
93
-			and preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
94
-		) {
95
-			$login = $regs[1];
96
-		}
97
-	}
98
-
99
-	$lang = $GLOBALS['spip_lang'];
100
-	include_spip('inc/auth');
101
-	$row = auth_informer_login($login);
102
-
103
-	// retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas)
104
-	if (_request('lang') === $lang and $GLOBALS['spip_lang'] !== $lang) {
105
-		changer_langue($lang);
106
-	}
107
-
108
-	// Construire l'environnement du squelette
109
-	// Ne pas proposer de "rester connecte quelques jours"
110
-	// si la duree de l'alea est inferieure a 12 h (valeur par defaut)
111
-
112
-	$valeurs = [
113
-		'var_login' => $login,
114
-		'editable' => !$row,
115
-		'cnx' => $row['cnx'] ?? '0',
116
-		'auth_http' => login_auth_http(),
117
-		'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
118
-		'_logo' => $row['logo'] ?? '',
119
-		'_alea_actuel' => $row['alea_actuel'] ?? '',
120
-		'_alea_futur' => $row['alea_futur'] ?? '',
121
-		'_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
122
-		'_autofocus' => ($options['autofocus'] and $options['autofocus'] !== 'non') ? ' ' : '',
123
-	];
124
-
125
-	if ($erreur or !isset($GLOBALS['visiteur_session']['id_auteur']) or !$GLOBALS['visiteur_session']['id_auteur']) {
126
-		$valeurs['editable'] = true;
127
-	}
128
-
129
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
130
-		include_spip('inc/autoriser');
131
-		$loge = autoriser('ecrire');
132
-	} else {
133
-		$loge = (isset($GLOBALS['visiteur_session']['auth']) and $GLOBALS['visiteur_session']['auth'] != '');
134
-	}
135
-
136
-	// Si on est connecte, appeler traiter()
137
-	// et lancer la redirection si besoin
138
-	if (!$valeurs['editable'] and $loge and _request('formulaire_action') !== 'login') {
139
-		$traiter = charger_fonction('traiter', 'formulaires/login');
140
-		$res = $traiter($cible, $login, $prive);
141
-		$valeurs = array_merge($valeurs, $res);
142
-
143
-		if (isset($res['redirect']) and $res['redirect']) {
144
-			include_spip('inc/headers');
145
-			# preparer un lien pour quand redirige_formulaire ne fonctionne pas
146
-			$m = redirige_formulaire($res['redirect']);
147
-			$valeurs['_deja_loge'] = inserer_attribut(
148
-				'<a>' . _T('login_par_ici') . "</a>$m",
149
-				'href',
150
-				$res['redirect']
151
-			);
152
-		}
153
-	}
154
-	// en cas d'echec de cookie, inc_auth a renvoye vers le script de
155
-	// pose de cookie ; s'il n'est pas la, c'est echec cookie
156
-	// s'il est la, c'est probablement un bookmark sur bonjour=oui,
157
-	// et pas un echec cookie.
158
-	if ($erreur == 'cookie') {
159
-		$valeurs['echec_cookie'] = ' ';
160
-	} elseif ($erreur) {
161
-		// une erreur d'un SSO indique dans la redirection vers ici
162
-		// mais il faut se proteger de toute tentative d'injection malveilante
163
-		include_spip('inc/filtres');
164
-		$valeurs['message_erreur'] = textebrut($erreur);
165
-	}
166
-
167
-	return $valeurs;
63
+    $erreur = _request('var_erreur');
64
+
65
+    if (!is_array($options)) {
66
+        $options = [
67
+            'login' => $options,
68
+            'prive' => $deprecated
69
+        ];
70
+    }
71
+
72
+    $login = (empty($options['login']) ? '' : $options['login']);
73
+    $prive = (empty($options['prive']) ? null : $options['prive']);
74
+    // conserver le fonctionnement historique
75
+    if (!isset($options['autofocus'])) {
76
+        $options['autofocus'] = true;
77
+    }
78
+
79
+    if (!$login) {
80
+        $login = strval(_request('var_login'));
81
+    }
82
+    // si on est deja identifie
83
+    if (!$login and isset($GLOBALS['visiteur_session']['email'])) {
84
+        $login = $GLOBALS['visiteur_session']['email'];
85
+    }
86
+    if (!$login and isset($GLOBALS['visiteur_session']['login'])) {
87
+        $login = $GLOBALS['visiteur_session']['login'];
88
+    }
89
+    // ou si on a un cookie admin
90
+    if (!$login) {
91
+        if (
92
+            isset($_COOKIE['spip_admin'])
93
+            and preg_match(',^@(.*)$,', $_COOKIE['spip_admin'], $regs)
94
+        ) {
95
+            $login = $regs[1];
96
+        }
97
+    }
98
+
99
+    $lang = $GLOBALS['spip_lang'];
100
+    include_spip('inc/auth');
101
+    $row = auth_informer_login($login);
102
+
103
+    // retablir la langue de l'URL si forcee (on ignore la langue de l'auteur dans ce cas)
104
+    if (_request('lang') === $lang and $GLOBALS['spip_lang'] !== $lang) {
105
+        changer_langue($lang);
106
+    }
107
+
108
+    // Construire l'environnement du squelette
109
+    // Ne pas proposer de "rester connecte quelques jours"
110
+    // si la duree de l'alea est inferieure a 12 h (valeur par defaut)
111
+
112
+    $valeurs = [
113
+        'var_login' => $login,
114
+        'editable' => !$row,
115
+        'cnx' => $row['cnx'] ?? '0',
116
+        'auth_http' => login_auth_http(),
117
+        'rester_connecte' => ((_RENOUVELLE_ALEA < 12 * 3600) ? '' : ' '),
118
+        '_logo' => $row['logo'] ?? '',
119
+        '_alea_actuel' => $row['alea_actuel'] ?? '',
120
+        '_alea_futur' => $row['alea_futur'] ?? '',
121
+        '_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
122
+        '_autofocus' => ($options['autofocus'] and $options['autofocus'] !== 'non') ? ' ' : '',
123
+    ];
124
+
125
+    if ($erreur or !isset($GLOBALS['visiteur_session']['id_auteur']) or !$GLOBALS['visiteur_session']['id_auteur']) {
126
+        $valeurs['editable'] = true;
127
+    }
128
+
129
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
130
+        include_spip('inc/autoriser');
131
+        $loge = autoriser('ecrire');
132
+    } else {
133
+        $loge = (isset($GLOBALS['visiteur_session']['auth']) and $GLOBALS['visiteur_session']['auth'] != '');
134
+    }
135
+
136
+    // Si on est connecte, appeler traiter()
137
+    // et lancer la redirection si besoin
138
+    if (!$valeurs['editable'] and $loge and _request('formulaire_action') !== 'login') {
139
+        $traiter = charger_fonction('traiter', 'formulaires/login');
140
+        $res = $traiter($cible, $login, $prive);
141
+        $valeurs = array_merge($valeurs, $res);
142
+
143
+        if (isset($res['redirect']) and $res['redirect']) {
144
+            include_spip('inc/headers');
145
+            # preparer un lien pour quand redirige_formulaire ne fonctionne pas
146
+            $m = redirige_formulaire($res['redirect']);
147
+            $valeurs['_deja_loge'] = inserer_attribut(
148
+                '<a>' . _T('login_par_ici') . "</a>$m",
149
+                'href',
150
+                $res['redirect']
151
+            );
152
+        }
153
+    }
154
+    // en cas d'echec de cookie, inc_auth a renvoye vers le script de
155
+    // pose de cookie ; s'il n'est pas la, c'est echec cookie
156
+    // s'il est la, c'est probablement un bookmark sur bonjour=oui,
157
+    // et pas un echec cookie.
158
+    if ($erreur == 'cookie') {
159
+        $valeurs['echec_cookie'] = ' ';
160
+    } elseif ($erreur) {
161
+        // une erreur d'un SSO indique dans la redirection vers ici
162
+        // mais il faut se proteger de toute tentative d'injection malveilante
163
+        include_spip('inc/filtres');
164
+        $valeurs['message_erreur'] = textebrut($erreur);
165
+    }
166
+
167
+    return $valeurs;
168 168
 }
169 169
 
170 170
 
@@ -179,20 +179,20 @@  discard block
 block discarded – undo
179 179
  *     - chaîne vide sinon.
180 180
  **/
181 181
 function login_auth_http() {
182
-	if (
183
-		!$GLOBALS['ignore_auth_http']
184
-		and _request('var_erreur') == 'cookie'
185
-		and (!isset($_COOKIE['spip_session']) or $_COOKIE['spip_session'] != 'test_echec_cookie')
186
-		and (($GLOBALS['flag_sapi_name'] and preg_match(',apache,i', @php_sapi_name()))
187
-			or preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
188
-		// Attention dans le cas 'intranet' la proposition de se loger
189
-		// par auth_http peut conduire a l'echec.
190
-		and !(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']))
191
-	) {
192
-		return generer_url_action('cookie', '', false, true);
193
-	} else {
194
-		return '';
195
-	}
182
+    if (
183
+        !$GLOBALS['ignore_auth_http']
184
+        and _request('var_erreur') == 'cookie'
185
+        and (!isset($_COOKIE['spip_session']) or $_COOKIE['spip_session'] != 'test_echec_cookie')
186
+        and (($GLOBALS['flag_sapi_name'] and preg_match(',apache,i', @php_sapi_name()))
187
+            or preg_match(',^Apache.* PHP,', $_SERVER['SERVER_SOFTWARE']))
188
+        // Attention dans le cas 'intranet' la proposition de se loger
189
+        // par auth_http peut conduire a l'echec.
190
+        and !(isset($_SERVER['PHP_AUTH_USER']) and isset($_SERVER['PHP_AUTH_PW']))
191
+    ) {
192
+        return generer_url_action('cookie', '', false, true);
193
+    } else {
194
+        return '';
195
+    }
196 196
 }
197 197
 
198 198
 
@@ -218,65 +218,65 @@  discard block
 block discarded – undo
218 218
  **/
219 219
 function formulaires_login_verifier_dist($cible = '', $options = [], $deprecated = null) {
220 220
 
221
-	$erreurs = [];
222
-	if (!is_array($options)) {
223
-		$options = [
224
-			'login' => $options,
225
-			'prive' => $deprecated
226
-		];
227
-	}
228
-
229
-	$prive = (empty($options['prive']) ? null : $options['prive']);
230
-
231
-	$session_login = _request('var_login');
232
-	$session_password = _request('password');
233
-	$session_remember = _request('session_remember');
234
-
235
-	if (!$session_login) {
236
-		# pas de login saisi !
237
-		return ['var_login' => _T('info_obligatoire')];
238
-	}
239
-
240
-	// appeler auth_identifier_login qui va :
241
-	// - renvoyer un string si echec (message d'erreur)
242
-	// - un array decrivant l'auteur identifie si possible
243
-	// - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
244
-	include_spip('inc/auth');
245
-	$auteur = auth_identifier_login($session_login, $session_password);
246
-	// on arrive ici si on ne s'est pas identifie avec un SSO
247
-	if (!is_array($auteur)) {
248
-		$erreurs = [];
249
-		if (is_string($auteur) and strlen($auteur)) {
250
-			$erreurs['var_login'] = $auteur;
251
-		}
252
-		include_spip('inc/cookie');
253
-		spip_setcookie('spip_admin', '', time() - 3600);
254
-		if (strlen($session_password)) {
255
-			$erreurs['password'] = _T('login_erreur_pass');
256
-		} else {
257
-			// sinon c'est un login en deux passe old style (ou js en panne)
258
-			// pas de message d'erreur
259
-			$erreurs['password'] = ' ';
260
-			$erreurs['message_erreur'] = '';
261
-		}
262
-
263
-		return
264
-			$erreurs;
265
-	}
266
-	// on a ete authentifie, construire la session
267
-	// en gerant la duree demandee pour son cookie
268
-	if ($session_remember !== null) {
269
-		$auteur['cookie'] = $session_remember;
270
-	}
271
-	// si la connexion est refusee on renvoi un message erreur de mot de passe
272
-	// car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
273
-	if (auth_loger($auteur) === false) {
274
-		$erreurs['message_erreur'] = _T('login_erreur_pass');
275
-		return $erreurs;
276
-	}
277
-
278
-	return (is_null($prive) ? is_url_prive($cible) : $prive)
279
-		? login_autoriser() : [];
221
+    $erreurs = [];
222
+    if (!is_array($options)) {
223
+        $options = [
224
+            'login' => $options,
225
+            'prive' => $deprecated
226
+        ];
227
+    }
228
+
229
+    $prive = (empty($options['prive']) ? null : $options['prive']);
230
+
231
+    $session_login = _request('var_login');
232
+    $session_password = _request('password');
233
+    $session_remember = _request('session_remember');
234
+
235
+    if (!$session_login) {
236
+        # pas de login saisi !
237
+        return ['var_login' => _T('info_obligatoire')];
238
+    }
239
+
240
+    // appeler auth_identifier_login qui va :
241
+    // - renvoyer un string si echec (message d'erreur)
242
+    // - un array decrivant l'auteur identifie si possible
243
+    // - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
244
+    include_spip('inc/auth');
245
+    $auteur = auth_identifier_login($session_login, $session_password);
246
+    // on arrive ici si on ne s'est pas identifie avec un SSO
247
+    if (!is_array($auteur)) {
248
+        $erreurs = [];
249
+        if (is_string($auteur) and strlen($auteur)) {
250
+            $erreurs['var_login'] = $auteur;
251
+        }
252
+        include_spip('inc/cookie');
253
+        spip_setcookie('spip_admin', '', time() - 3600);
254
+        if (strlen($session_password)) {
255
+            $erreurs['password'] = _T('login_erreur_pass');
256
+        } else {
257
+            // sinon c'est un login en deux passe old style (ou js en panne)
258
+            // pas de message d'erreur
259
+            $erreurs['password'] = ' ';
260
+            $erreurs['message_erreur'] = '';
261
+        }
262
+
263
+        return
264
+            $erreurs;
265
+    }
266
+    // on a ete authentifie, construire la session
267
+    // en gerant la duree demandee pour son cookie
268
+    if ($session_remember !== null) {
269
+        $auteur['cookie'] = $session_remember;
270
+    }
271
+    // si la connexion est refusee on renvoi un message erreur de mot de passe
272
+    // car en donnant plus de detail on renseignerait un assaillant sur l'existence d'un compte
273
+    if (auth_loger($auteur) === false) {
274
+        $erreurs['message_erreur'] = _T('login_erreur_pass');
275
+        return $erreurs;
276
+    }
277
+
278
+    return (is_null($prive) ? is_url_prive($cible) : $prive)
279
+        ? login_autoriser() : [];
280 280
 }
281 281
 
282 282
 /**
@@ -291,21 +291,21 @@  discard block
 block discarded – undo
291 291
  *     - tableau vide sinon.
292 292
  **/
293 293
 function login_autoriser() {
294
-	include_spip('inc/autoriser');
295
-	if (!autoriser('ecrire')) {
296
-		$h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
297
-
298
-		return [
299
-			'message_erreur' => '<h1>'
300
-				. _T('avis_erreur_visiteur')
301
-				. '</h1><p>'
302
-				. _T('texte_erreur_visiteur')
303
-				. "</p><p class='retour'>[<a href='$h'>"
304
-				. _T('icone_deconnecter') . '</a>]</p>'
305
-		];
306
-	}
307
-
308
-	return [];
294
+    include_spip('inc/autoriser');
295
+    if (!autoriser('ecrire')) {
296
+        $h = generer_url_action('logout', 'logout=prive&url=' . urlencode(self()));
297
+
298
+        return [
299
+            'message_erreur' => '<h1>'
300
+                . _T('avis_erreur_visiteur')
301
+                . '</h1><p>'
302
+                . _T('texte_erreur_visiteur')
303
+                . "</p><p class='retour'>[<a href='$h'>"
304
+                . _T('icone_deconnecter') . '</a>]</p>'
305
+        ];
306
+    }
307
+
308
+    return [];
309 309
 }
310 310
 
311 311
 /**
@@ -326,55 +326,55 @@  discard block
 block discarded – undo
326 326
  *     Retours du traitement
327 327
  **/
328 328
 function formulaires_login_traiter_dist($cible = '', $options = [], $deprecated = null) {
329
-	$res = [];
330
-
331
-	if (!is_array($options)) {
332
-		$options = [
333
-			'login' => $options,
334
-			'prive' => $deprecated
335
-		];
336
-	}
337
-
338
-	$login = (empty($options['login']) ? '' : $options['login']);
339
-	$prive = (empty($options['prive']) ? null : $options['prive']);
340
-
341
-	// Si on se connecte dans l'espace prive,
342
-	// ajouter "bonjour" (repere a peu pres les cookies desactives)
343
-	if (is_null($prive) ? is_url_prive($cible) : $prive) {
344
-		$cible = parametre_url($cible, 'bonjour', 'oui', '&');
345
-	}
346
-	if ($cible == '@page_auteur') {
347
-		$cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
348
-	}
349
-
350
-	if ($cible) {
351
-		$cible = parametre_url($cible, 'var_login', '', '&');
352
-
353
-		// transformer la cible absolue en cible relative
354
-		// pour pas echouer quand la meta adresse_site est foireuse
355
-		if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
356
-			$cible = './' . substr($cible, strlen($u));
357
-		} elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
358
-			// si c'est une url absolue, refuser la redirection
359
-			// sauf si cette securite est levee volontairement par le webmestre
360
-			$cible = '';
361
-		}
362
-	}
363
-
364
-	// Si on est connecte, envoyer vers la destination
365
-	if ($cible and ($cible != self('&')) and ($cible != self())) {
366
-		$res['redirect'] = $cible;
367
-		$res['message_ok'] = inserer_attribut(
368
-			'<a>' . _T('login_par_ici') . '</a>',
369
-			'href',
370
-			$cible
371
-		);
372
-	}
373
-
374
-	// avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session
375
-	if (function_exists('terminer_actualiser_sessions')) {
376
-		terminer_actualiser_sessions();
377
-	}
378
-
379
-	return $res;
329
+    $res = [];
330
+
331
+    if (!is_array($options)) {
332
+        $options = [
333
+            'login' => $options,
334
+            'prive' => $deprecated
335
+        ];
336
+    }
337
+
338
+    $login = (empty($options['login']) ? '' : $options['login']);
339
+    $prive = (empty($options['prive']) ? null : $options['prive']);
340
+
341
+    // Si on se connecte dans l'espace prive,
342
+    // ajouter "bonjour" (repere a peu pres les cookies desactives)
343
+    if (is_null($prive) ? is_url_prive($cible) : $prive) {
344
+        $cible = parametre_url($cible, 'bonjour', 'oui', '&');
345
+    }
346
+    if ($cible == '@page_auteur') {
347
+        $cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
348
+    }
349
+
350
+    if ($cible) {
351
+        $cible = parametre_url($cible, 'var_login', '', '&');
352
+
353
+        // transformer la cible absolue en cible relative
354
+        // pour pas echouer quand la meta adresse_site est foireuse
355
+        if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
356
+            $cible = './' . substr($cible, strlen($u));
357
+        } elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
358
+            // si c'est une url absolue, refuser la redirection
359
+            // sauf si cette securite est levee volontairement par le webmestre
360
+            $cible = '';
361
+        }
362
+    }
363
+
364
+    // Si on est connecte, envoyer vers la destination
365
+    if ($cible and ($cible != self('&')) and ($cible != self())) {
366
+        $res['redirect'] = $cible;
367
+        $res['message_ok'] = inserer_attribut(
368
+            '<a>' . _T('login_par_ici') . '</a>',
369
+            'href',
370
+            $cible
371
+        );
372
+    }
373
+
374
+    // avant de rediriger il faut mettre a jour les sessions sur le disque si on a charge une session
375
+    if (function_exists('terminer_actualiser_sessions')) {
376
+        terminer_actualiser_sessions();
377
+    }
378
+
379
+    return $res;
380 380
 }
Please login to merge, or discard this patch.
prive/formulaires/instituer_objet.php 1 patch
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/editer');
@@ -32,17 +32,17 @@  discard block
 block discarded – undo
32 32
  * @return array
33 33
  */
34 34
 function lister_statuts_proposes($desc, $publiable = true) {
35
-	if (!isset($desc['statut_textes_instituer'])) {
36
-		return false;
37
-	}
35
+    if (!isset($desc['statut_textes_instituer'])) {
36
+        return false;
37
+    }
38 38
 
39
-	$l = $desc['statut_textes_instituer'];
40
-	if (!$publiable) {
41
-		unset($l['publie']);
42
-		unset($l['refuse']);
43
-	}
39
+    $l = $desc['statut_textes_instituer'];
40
+    if (!$publiable) {
41
+        unset($l['publie']);
42
+        unset($l['refuse']);
43
+    }
44 44
 
45
-	return $l;
45
+    return $l;
46 46
 }
47 47
 
48 48
 /**
@@ -64,54 +64,54 @@  discard block
 block discarded – undo
64 64
  *     Environnement du formulaire ou false si aucun affichage à faire.
65 65
  */
66 66
 function formulaires_instituer_objet_charger_dist($objet, $id_objet, $retour = '', $editable = true) {
67
-	$editable = ($editable ? true : false);
68
-
69
-	$table = table_objet_sql($objet);
70
-	$desc = lister_tables_objets_sql($table);
71
-
72
-	if (!isset($desc['statut_textes_instituer'])) {
73
-		return false;
74
-	}
75
-
76
-	if (!autoriser('modifier', $objet, $id_objet)) {
77
-		$editable = false;
78
-	}
79
-
80
-	// charger le contenu de l'objet
81
-	// dont son champ statut
82
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
83
-
84
-	$publiable = true;
85
-	$statuts = lister_statuts_proposes($desc);
86
-	// tester si on a le droit de publier, si un statut publie existe
87
-	if (isset($statuts['publie'])) {
88
-		if (!autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])) {
89
-			if ($v['statut'] == 'publie') {
90
-				$editable = false;
91
-			} else {
92
-				$publiable = false;
93
-			}
94
-		}
95
-	}
96
-	$statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
-	if (count($statuts) == 1 and isset($statuts[$v['statut']])) {
98
-		$editable = false;
99
-	}
100
-
101
-	$valeurs = [
102
-		'editable' => $editable,
103
-		'statut' => $v['statut'],
104
-		'_objet' => $objet,
105
-		'_id_objet' => $id_objet,
106
-		'_statuts' => $statuts,
107
-		'_publiable' => $publiable,
108
-		'_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
109
-		'_aide' => $desc['aide_changer_statut'] ?? '',
110
-		'_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
111
-	];
112
-
113
-	#if (!count($valeurs['statuts']))
114
-	return $valeurs;
67
+    $editable = ($editable ? true : false);
68
+
69
+    $table = table_objet_sql($objet);
70
+    $desc = lister_tables_objets_sql($table);
71
+
72
+    if (!isset($desc['statut_textes_instituer'])) {
73
+        return false;
74
+    }
75
+
76
+    if (!autoriser('modifier', $objet, $id_objet)) {
77
+        $editable = false;
78
+    }
79
+
80
+    // charger le contenu de l'objet
81
+    // dont son champ statut
82
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
83
+
84
+    $publiable = true;
85
+    $statuts = lister_statuts_proposes($desc);
86
+    // tester si on a le droit de publier, si un statut publie existe
87
+    if (isset($statuts['publie'])) {
88
+        if (!autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])) {
89
+            if ($v['statut'] == 'publie') {
90
+                $editable = false;
91
+            } else {
92
+                $publiable = false;
93
+            }
94
+        }
95
+    }
96
+    $statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
+    if (count($statuts) == 1 and isset($statuts[$v['statut']])) {
98
+        $editable = false;
99
+    }
100
+
101
+    $valeurs = [
102
+        'editable' => $editable,
103
+        'statut' => $v['statut'],
104
+        '_objet' => $objet,
105
+        '_id_objet' => $id_objet,
106
+        '_statuts' => $statuts,
107
+        '_publiable' => $publiable,
108
+        '_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
109
+        '_aide' => $desc['aide_changer_statut'] ?? '',
110
+        '_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
111
+    ];
112
+
113
+    #if (!count($valeurs['statuts']))
114
+    return $valeurs;
115 115
 }
116 116
 
117 117
 /**
@@ -131,35 +131,35 @@  discard block
 block discarded – undo
131 131
  *     Tableau des erreurs
132 132
  */
133 133
 function formulaires_instituer_objet_verifier_dist($objet, $id_objet, $retour = '', $editable = true) {
134
-	$erreurs = [];
135
-	// charger le contenu de l'objet
136
-	// dont son champ statut
137
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
138
-
139
-	if ($v['statut'] !== _request('statut_old')) {
140
-		$erreurs['statut'] = _T('instituer_erreur_statut_a_change');
141
-	} else {
142
-		$table = table_objet_sql($objet);
143
-		$desc = lister_tables_objets_sql($table);
144
-
145
-		$publiable = true;
146
-		if (
147
-			isset($v['id_rubrique'])
148
-			and !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
149
-		) {
150
-			$publiable = false;
151
-		}
152
-		$l = lister_statuts_proposes($desc, $publiable);
153
-		$statut = _request('statut');
154
-		if (
155
-			!isset($l[$statut])
156
-			or !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
157
-		) {
158
-			$erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
159
-		}
160
-	}
161
-
162
-	return $erreurs;
134
+    $erreurs = [];
135
+    // charger le contenu de l'objet
136
+    // dont son champ statut
137
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
138
+
139
+    if ($v['statut'] !== _request('statut_old')) {
140
+        $erreurs['statut'] = _T('instituer_erreur_statut_a_change');
141
+    } else {
142
+        $table = table_objet_sql($objet);
143
+        $desc = lister_tables_objets_sql($table);
144
+
145
+        $publiable = true;
146
+        if (
147
+            isset($v['id_rubrique'])
148
+            and !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
149
+        ) {
150
+            $publiable = false;
151
+        }
152
+        $l = lister_statuts_proposes($desc, $publiable);
153
+        $statut = _request('statut');
154
+        if (
155
+            !isset($l[$statut])
156
+            or !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
157
+        ) {
158
+            $erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
159
+        }
160
+    }
161
+
162
+    return $erreurs;
163 163
 }
164 164
 
165 165
 /**
@@ -178,25 +178,25 @@  discard block
 block discarded – undo
178 178
  */
179 179
 function formulaires_instituer_objet_traiter_dist($objet, $id_objet, $retour = '', $editable = true) {
180 180
 
181
-	$c = ['statut' => _request('statut')];
182
-	// si on a envoye une 'date_posterieure', l'enregistrer
183
-	// todo dans le HTML
184
-	if ($d = _request('date_posterieure')) {
185
-		$c['date'] = $d;
186
-	}
187
-
188
-
189
-	include_spip('action/editer_objet');
190
-	if ($err = objet_instituer($objet, $id_objet, $c)) {
191
-		$res = ['message_erreur' => $err];
192
-	} else {
193
-		$res = ['message_ok' => _T('info_modification_enregistree')];
194
-		if ($retour) {
195
-			$res['redirect'] = $retour;
196
-		}
197
-		set_request('statut');
198
-		set_request('date_posterieure');
199
-	}
200
-
201
-	return $res;
181
+    $c = ['statut' => _request('statut')];
182
+    // si on a envoye une 'date_posterieure', l'enregistrer
183
+    // todo dans le HTML
184
+    if ($d = _request('date_posterieure')) {
185
+        $c['date'] = $d;
186
+    }
187
+
188
+
189
+    include_spip('action/editer_objet');
190
+    if ($err = objet_instituer($objet, $id_objet, $c)) {
191
+        $res = ['message_erreur' => $err];
192
+    } else {
193
+        $res = ['message_ok' => _T('info_modification_enregistree')];
194
+        if ($retour) {
195
+            $res['redirect'] = $retour;
196
+        }
197
+        set_request('statut');
198
+        set_request('date_posterieure');
199
+    }
200
+
201
+    return $res;
202 202
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 1 patch
Indentation   +352 added lines, -352 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Formulaires
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 
@@ -36,25 +36,25 @@  discard block
 block discarded – undo
36 36
  *   ($table_source,$objet,$id_objet,$objet_lien)
37 37
  */
38 38
 function determine_source_lien_objet($a, $b, $c) {
39
-	$table_source = $objet_lien = $objet = $id_objet = null;
40
-	// auteurs, article, 23 :
41
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
42
-	if (is_numeric($c) and !is_numeric($b)) {
43
-		$table_source = table_objet($a);
44
-		$objet_lien = objet_type($a);
45
-		$objet = objet_type($b);
46
-		$id_objet = $c;
47
-	}
48
-	// article, 23, auteurs
49
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
50
-	if (is_numeric($b) and !is_numeric($c)) {
51
-		$table_source = table_objet($c);
52
-		$objet_lien = objet_type($a);
53
-		$objet = objet_type($a);
54
-		$id_objet = $b;
55
-	}
56
-
57
-	return [$table_source, $objet, $id_objet, $objet_lien];
39
+    $table_source = $objet_lien = $objet = $id_objet = null;
40
+    // auteurs, article, 23 :
41
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
42
+    if (is_numeric($c) and !is_numeric($b)) {
43
+        $table_source = table_objet($a);
44
+        $objet_lien = objet_type($a);
45
+        $objet = objet_type($b);
46
+        $id_objet = $c;
47
+    }
48
+    // article, 23, auteurs
49
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
50
+    if (is_numeric($b) and !is_numeric($c)) {
51
+        $table_source = table_objet($c);
52
+        $objet_lien = objet_type($a);
53
+        $objet = objet_type($a);
54
+        $id_objet = $b;
55
+    }
56
+
57
+    return [$table_source, $objet, $id_objet, $objet_lien];
58 58
 }
59 59
 
60 60
 /**
@@ -80,93 +80,93 @@  discard block
 block discarded – undo
80 80
  */
81 81
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = []) {
82 82
 
83
-	// compat avec ancienne signature ou le 4eme argument est $editable
84
-	if (!is_array($options)) {
85
-		$options = ['editable' => $options];
86
-	} elseif (!isset($options['editable'])) {
87
-		$options['editable'] = true;
88
-	}
89
-
90
-	$editable = $options['editable'];
91
-
92
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
93
-	if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
94
-		return false;
95
-	}
96
-
97
-	$objet_source = objet_type($table_source);
98
-	$table_sql_source = table_objet_sql($objet_source);
99
-
100
-	// verifier existence de la table xxx_liens
101
-	include_spip('action/editer_liens');
102
-	if (!objet_associable($objet_lien)) {
103
-		return false;
104
-	}
105
-
106
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
107
-	include_spip('inc/autoriser');
108
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
109
-		and autoriser('modifier', $objet, $id_objet));
110
-
111
-	if (
112
-		!$editable and !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 = _request('_oups') ?? '';
134
-	if ($oups) {
135
-		if (unserialize(base64_decode($oups))) {
136
-			// on est bon, rien a faire
137
-		} elseif (unserialize($oups)) {
138
-			// il faut encoder
139
-			$oups = base64_encode($oups);
140
-		} else {
141
-			$oups = '';
142
-		}
143
-	}
144
-	$valeurs = [
145
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
146
-		'_vue_liee' => $skel_vue,
147
-		'_vue_ajout' => $skel_ajout,
148
-		'_objet_lien' => $objet_lien,
149
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
150
-		'objet' => $objet,
151
-		'id_objet' => $id_objet,
152
-		'objet_source' => $objet_source,
153
-		'table_source' => $table_source,
154
-		'recherche' => '',
155
-		'visible' => 0,
156
-		'ajouter_lien' => '',
157
-		'supprimer_lien' => '',
158
-		'qualifier_lien' => '',
159
-		'ordonner_lien' => '',
160
-		'desordonner_liens' => '',
161
-		'_roles' => $roles, # description des roles
162
-		'_oups' => $oups,
163
-		'editable' => $editable,
164
-	];
165
-
166
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
167
-	$valeurs = array_merge($options, $valeurs);
168
-
169
-	return $valeurs;
83
+    // compat avec ancienne signature ou le 4eme argument est $editable
84
+    if (!is_array($options)) {
85
+        $options = ['editable' => $options];
86
+    } elseif (!isset($options['editable'])) {
87
+        $options['editable'] = true;
88
+    }
89
+
90
+    $editable = $options['editable'];
91
+
92
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
93
+    if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
94
+        return false;
95
+    }
96
+
97
+    $objet_source = objet_type($table_source);
98
+    $table_sql_source = table_objet_sql($objet_source);
99
+
100
+    // verifier existence de la table xxx_liens
101
+    include_spip('action/editer_liens');
102
+    if (!objet_associable($objet_lien)) {
103
+        return false;
104
+    }
105
+
106
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
107
+    include_spip('inc/autoriser');
108
+    $editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
109
+        and autoriser('modifier', $objet, $id_objet));
110
+
111
+    if (
112
+        !$editable and !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 = _request('_oups') ?? '';
134
+    if ($oups) {
135
+        if (unserialize(base64_decode($oups))) {
136
+            // on est bon, rien a faire
137
+        } elseif (unserialize($oups)) {
138
+            // il faut encoder
139
+            $oups = base64_encode($oups);
140
+        } else {
141
+            $oups = '';
142
+        }
143
+    }
144
+    $valeurs = [
145
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
146
+        '_vue_liee' => $skel_vue,
147
+        '_vue_ajout' => $skel_ajout,
148
+        '_objet_lien' => $objet_lien,
149
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
150
+        'objet' => $objet,
151
+        'id_objet' => $id_objet,
152
+        'objet_source' => $objet_source,
153
+        'table_source' => $table_source,
154
+        'recherche' => '',
155
+        'visible' => 0,
156
+        'ajouter_lien' => '',
157
+        'supprimer_lien' => '',
158
+        'qualifier_lien' => '',
159
+        'ordonner_lien' => '',
160
+        'desordonner_liens' => '',
161
+        '_roles' => $roles, # description des roles
162
+        '_oups' => $oups,
163
+        'editable' => $editable,
164
+    ];
165
+
166
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
167
+    $valeurs = array_merge($options, $valeurs);
168
+
169
+    return $valeurs;
170 170
 }
171 171
 
172 172
 /**
@@ -210,165 +210,165 @@  discard block
 block discarded – undo
210 210
  * @return array
211 211
  */
212 212
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = []) {
213
-	// compat avec ancienne signature ou le 4eme argument est $editable
214
-	if (!is_array($options)) {
215
-		$options = ['editable' => $options];
216
-	} elseif (!isset($options['editable'])) {
217
-		$options['editable'] = true;
218
-	}
219
-
220
-	$editable = $options['editable'];
221
-
222
-	$res = ['editable' => $editable ? true : false];
223
-	[$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
224
-	if (!$table_source or !$objet or !$objet_lien) {
225
-		return $res;
226
-	}
227
-
228
-
229
-	if (_request('tout_voir')) {
230
-		set_request('recherche', '');
231
-	}
232
-
233
-	include_spip('inc/autoriser');
234
-	if (autoriser('modifier', $objet, $id_objet)) {
235
-		// annuler les suppressions du coup d'avant !
236
-		if (
237
-			_request('annuler_oups')
238
-			and $oups = _request('_oups')
239
-			and $oups = base64_decode($oups)
240
-			and $oups = unserialize($oups)
241
-		) {
242
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
243
-				$oups_objets($oups);
244
-			} else {
245
-				$objet_source = objet_type($table_source);
246
-				include_spip('action/editer_liens');
247
-				foreach ($oups as $oup) {
248
-					if ($objet_lien == $objet_source) {
249
-						objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
250
-					} else {
251
-						objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
252
-					}
253
-				}
254
-			}
255
-			# oups ne persiste que pour la derniere action, si suppression
256
-			set_request('_oups');
257
-		}
258
-
259
-		$supprimer = _request('supprimer_lien');
260
-		$ajouter = _request('ajouter_lien');
261
-		$ordonner = _request('ordonner_lien');
262
-
263
-		if (_request('desordonner_liens')) {
264
-			include_spip('action/editer_liens');
265
-			objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
266
-		}
267
-
268
-		// il est possible de preciser dans une seule variable un remplacement :
269
-		// remplacer_lien[old][new]
270
-		if ($remplacer = _request('remplacer_lien')) {
271
-			foreach ($remplacer as $k => $v) {
272
-				if ($old = lien_verifier_action($k, '')) {
273
-					foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
274
-						if ($new = lien_verifier_action($kn, $vn)) {
275
-							$supprimer[$old] = 'x';
276
-							$ajouter[$new] = '+';
277
-						}
278
-					}
279
-				}
280
-			}
281
-		}
282
-
283
-		if ($supprimer) {
284
-			if (
285
-				$supprimer_objets = charger_fonction(
286
-					"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
287
-					'action',
288
-					true
289
-				)
290
-			) {
291
-				$oups = $supprimer_objets($supprimer);
292
-			} else {
293
-				include_spip('action/editer_liens');
294
-				$oups = [];
295
-
296
-				foreach ($supprimer as $k => $v) {
297
-					if ($lien = lien_verifier_action($k, $v)) {
298
-						$lien = explode('-', $lien);
299
-						[$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
300
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
301
-						$cond = (!is_null($role) ? ['role' => $role] : []);
302
-						if ($objet_lien == $objet_source) {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
306
-							);
307
-							objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
308
-						} else {
309
-							$oups = array_merge(
310
-								$oups,
311
-								objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
312
-							);
313
-							objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
314
-						}
315
-					}
316
-				}
317
-			}
318
-			set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
319
-		}
320
-
321
-		if ($ajouter) {
322
-			if (
323
-				$ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
324
-			) {
325
-				$ajout_ok = $ajouter_objets($ajouter);
326
-			} else {
327
-				$ajout_ok = false;
328
-				include_spip('action/editer_liens');
329
-				foreach ($ajouter as $k => $v) {
330
-					if ($lien = lien_verifier_action($k, $v)) {
331
-						$ajout_ok = true;
332
-						[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
333
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
334
-						if ($objet_lien == $objet1) {
335
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
336
-						} else {
337
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
338
-						}
339
-						set_request('id_lien_ajoute', $ids);
340
-					}
341
-				}
342
-			}
343
-			# oups ne persiste que pour la derniere action, si suppression
344
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
345
-			# non annulable !
346
-			if ($ajout_ok) {
347
-				set_request('_oups');
348
-			}
349
-		}
350
-
351
-		if ($ordonner) {
352
-			include_spip('action/editer_liens');
353
-			foreach ($ordonner as $k => $rang_lien) {
354
-				if ($lien = lien_verifier_action($k, '')) {
355
-					[$objet1, $ids, $objet2, $idl] = explode('-', $lien);
356
-					$qualif = ['rang_lien' => $rang_lien];
357
-
358
-					if ($objet_lien == $objet1) {
359
-						objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
360
-					} else {
361
-						objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
362
-					}
363
-					set_request('id_lien_ajoute', $ids);
364
-					set_request('_oups');
365
-				}
366
-			}
367
-		}
368
-	}
369
-
370
-
371
-	return $res;
213
+    // compat avec ancienne signature ou le 4eme argument est $editable
214
+    if (!is_array($options)) {
215
+        $options = ['editable' => $options];
216
+    } elseif (!isset($options['editable'])) {
217
+        $options['editable'] = true;
218
+    }
219
+
220
+    $editable = $options['editable'];
221
+
222
+    $res = ['editable' => $editable ? true : false];
223
+    [$table_source, $objet, $id_objet, $objet_lien] = determine_source_lien_objet($a, $b, $c);
224
+    if (!$table_source or !$objet or !$objet_lien) {
225
+        return $res;
226
+    }
227
+
228
+
229
+    if (_request('tout_voir')) {
230
+        set_request('recherche', '');
231
+    }
232
+
233
+    include_spip('inc/autoriser');
234
+    if (autoriser('modifier', $objet, $id_objet)) {
235
+        // annuler les suppressions du coup d'avant !
236
+        if (
237
+            _request('annuler_oups')
238
+            and $oups = _request('_oups')
239
+            and $oups = base64_decode($oups)
240
+            and $oups = unserialize($oups)
241
+        ) {
242
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
243
+                $oups_objets($oups);
244
+            } else {
245
+                $objet_source = objet_type($table_source);
246
+                include_spip('action/editer_liens');
247
+                foreach ($oups as $oup) {
248
+                    if ($objet_lien == $objet_source) {
249
+                        objet_associer([$objet_source => $oup[$objet_source]], [$objet => $oup[$objet]], $oup);
250
+                    } else {
251
+                        objet_associer([$objet => $oup[$objet]], [$objet_source => $oup[$objet_source]], $oup);
252
+                    }
253
+                }
254
+            }
255
+            # oups ne persiste que pour la derniere action, si suppression
256
+            set_request('_oups');
257
+        }
258
+
259
+        $supprimer = _request('supprimer_lien');
260
+        $ajouter = _request('ajouter_lien');
261
+        $ordonner = _request('ordonner_lien');
262
+
263
+        if (_request('desordonner_liens')) {
264
+            include_spip('action/editer_liens');
265
+            objet_qualifier_liens([$objet_lien => '*'], [$objet => $id_objet], ['rang_lien' => 0]);
266
+        }
267
+
268
+        // il est possible de preciser dans une seule variable un remplacement :
269
+        // remplacer_lien[old][new]
270
+        if ($remplacer = _request('remplacer_lien')) {
271
+            foreach ($remplacer as $k => $v) {
272
+                if ($old = lien_verifier_action($k, '')) {
273
+                    foreach (is_array($v) ? $v : [$v] as $kn => $vn) {
274
+                        if ($new = lien_verifier_action($kn, $vn)) {
275
+                            $supprimer[$old] = 'x';
276
+                            $ajouter[$new] = '+';
277
+                        }
278
+                    }
279
+                }
280
+            }
281
+        }
282
+
283
+        if ($supprimer) {
284
+            if (
285
+                $supprimer_objets = charger_fonction(
286
+                    "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
287
+                    'action',
288
+                    true
289
+                )
290
+            ) {
291
+                $oups = $supprimer_objets($supprimer);
292
+            } else {
293
+                include_spip('action/editer_liens');
294
+                $oups = [];
295
+
296
+                foreach ($supprimer as $k => $v) {
297
+                    if ($lien = lien_verifier_action($k, $v)) {
298
+                        $lien = explode('-', $lien);
299
+                        [$objet_source, $ids, $objet_lie, $idl, $role] = array_pad($lien, 5, null);
300
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
301
+                        $cond = (!is_null($role) ? ['role' => $role] : []);
302
+                        if ($objet_lien == $objet_source) {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens([$objet_source => $ids], [$objet_lie => $idl], $cond)
306
+                            );
307
+                            objet_dissocier([$objet_source => $ids], [$objet_lie => $idl], $cond);
308
+                        } else {
309
+                            $oups = array_merge(
310
+                                $oups,
311
+                                objet_trouver_liens([$objet_lie => $idl], [$objet_source => $ids], $cond)
312
+                            );
313
+                            objet_dissocier([$objet_lie => $idl], [$objet_source => $ids], $cond);
314
+                        }
315
+                    }
316
+                }
317
+            }
318
+            set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
319
+        }
320
+
321
+        if ($ajouter) {
322
+            if (
323
+                $ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
324
+            ) {
325
+                $ajout_ok = $ajouter_objets($ajouter);
326
+            } else {
327
+                $ajout_ok = false;
328
+                include_spip('action/editer_liens');
329
+                foreach ($ajouter as $k => $v) {
330
+                    if ($lien = lien_verifier_action($k, $v)) {
331
+                        $ajout_ok = true;
332
+                        [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
333
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
334
+                        if ($objet_lien == $objet1) {
335
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
336
+                        } else {
337
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
338
+                        }
339
+                        set_request('id_lien_ajoute', $ids);
340
+                    }
341
+                }
342
+            }
343
+            # oups ne persiste que pour la derniere action, si suppression
344
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
345
+            # non annulable !
346
+            if ($ajout_ok) {
347
+                set_request('_oups');
348
+            }
349
+        }
350
+
351
+        if ($ordonner) {
352
+            include_spip('action/editer_liens');
353
+            foreach ($ordonner as $k => $rang_lien) {
354
+                if ($lien = lien_verifier_action($k, '')) {
355
+                    [$objet1, $ids, $objet2, $idl] = explode('-', $lien);
356
+                    $qualif = ['rang_lien' => $rang_lien];
357
+
358
+                    if ($objet_lien == $objet1) {
359
+                        objet_qualifier_liens([$objet1 => $ids], [$objet2 => $idl], $qualif);
360
+                    } else {
361
+                        objet_qualifier_liens([$objet2 => $idl], [$objet1 => $ids], $qualif);
362
+                    }
363
+                    set_request('id_lien_ajoute', $ids);
364
+                    set_request('_oups');
365
+                }
366
+            }
367
+        }
368
+    }
369
+
370
+
371
+    return $res;
372 372
 }
373 373
 
374 374
 
@@ -391,24 +391,24 @@  discard block
 block discarded – undo
391 391
  * @return string Action demandée si trouvée, sinon ''
392 392
  */
393 393
 function lien_verifier_action($k, $v) {
394
-	$action = '';
395
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
396
-		$action = $k;
397
-	}
398
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
399
-		if (is_numeric($k)) {
400
-			$action = $v;
401
-		}
402
-		if (_request($k)) {
403
-			$action = $v;
404
-		}
405
-	}
406
-	// ajout un role null fictif (plus pratique) si pas défini
407
-	if ($action and count(explode('-', $action)) == 4) {
408
-		$action .= '-';
409
-	}
410
-
411
-	return $action;
394
+    $action = '';
395
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
396
+        $action = $k;
397
+    }
398
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
399
+        if (is_numeric($k)) {
400
+            $action = $v;
401
+        }
402
+        if (_request($k)) {
403
+            $action = $v;
404
+        }
405
+    }
406
+    // ajout un role null fictif (plus pratique) si pas défini
407
+    if ($action and count(explode('-', $action)) == 4) {
408
+        $action .= '-';
409
+    }
410
+
411
+    return $action;
412 412
 }
413 413
 
414 414
 
@@ -424,66 +424,66 @@  discard block
 block discarded – undo
424 424
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
425 425
  **/
426 426
 function lien_retrouver_qualif($objet_lien, $lien) {
427
-	// un role est défini dans la liaison
428
-	$defs = explode('-', $lien);
429
-	[$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
430
-	if ($objet_lien == $objet1) {
431
-		$colonne_role = roles_colonne($objet1, $objet2);
432
-	} else {
433
-		$colonne_role = roles_colonne($objet2, $objet1);
434
-	}
435
-
436
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
437
-	if ($role) {
438
-		return [
439
-			// un seul lien avec ce role
440
-			[$colonne_role => $role]
441
-		];
442
-	}
443
-
444
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
445
-	$qualifier_lien = _request('qualifier_lien');
446
-	if (!$qualifier_lien or !is_array($qualifier_lien)) {
447
-		return [];
448
-	}
449
-
450
-	// pas avec l'action complete (incluant le role)
451
-	$qualif = [];
452
-	if (
453
-		(!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
454
-		and count($defs) == 5
455
-	) {
456
-		// on tente avec l'action sans le role
457
-		array_pop($defs);
458
-		$lien = implode('-', $defs);
459
-		if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
460
-			$qualif = [];
461
-		}
462
-	}
463
-
464
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
465
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
466
-	$qualifs = [];
467
-	while (is_countable($qualif) ? count($qualif) : 0) {
468
-		$q = [];
469
-		foreach ($qualif as $att => $values) {
470
-			if (is_array($values)) {
471
-				$q[$att] = array_shift($qualif[$att]);
472
-				if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
473
-					unset($qualif[$att]);
474
-				}
475
-			} else {
476
-				$q[$att] = $values;
477
-				unset($qualif[$att]);
478
-			}
479
-		}
480
-		// pas de rôle vide
481
-		if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
482
-			$qualifs[] = $q;
483
-		}
484
-	}
485
-
486
-	return $qualifs;
427
+    // un role est défini dans la liaison
428
+    $defs = explode('-', $lien);
429
+    [$objet1, , $objet2, , $role] = array_pad($defs, 5, null);
430
+    if ($objet_lien == $objet1) {
431
+        $colonne_role = roles_colonne($objet1, $objet2);
432
+    } else {
433
+        $colonne_role = roles_colonne($objet2, $objet1);
434
+    }
435
+
436
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
437
+    if ($role) {
438
+        return [
439
+            // un seul lien avec ce role
440
+            [$colonne_role => $role]
441
+        ];
442
+    }
443
+
444
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
445
+    $qualifier_lien = _request('qualifier_lien');
446
+    if (!$qualifier_lien or !is_array($qualifier_lien)) {
447
+        return [];
448
+    }
449
+
450
+    // pas avec l'action complete (incluant le role)
451
+    $qualif = [];
452
+    if (
453
+        (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
454
+        and count($defs) == 5
455
+    ) {
456
+        // on tente avec l'action sans le role
457
+        array_pop($defs);
458
+        $lien = implode('-', $defs);
459
+        if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
460
+            $qualif = [];
461
+        }
462
+    }
463
+
464
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
465
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
466
+    $qualifs = [];
467
+    while (is_countable($qualif) ? count($qualif) : 0) {
468
+        $q = [];
469
+        foreach ($qualif as $att => $values) {
470
+            if (is_array($values)) {
471
+                $q[$att] = array_shift($qualif[$att]);
472
+                if (!(is_countable($qualif[$att]) ? count($qualif[$att]) : 0)) {
473
+                    unset($qualif[$att]);
474
+                }
475
+            } else {
476
+                $q[$att] = $values;
477
+                unset($qualif[$att]);
478
+            }
479
+        }
480
+        // pas de rôle vide
481
+        if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
482
+            $qualifs[] = $q;
483
+        }
484
+    }
485
+
486
+    return $qualifs;
487 487
 }
488 488
 
489 489
 /**
@@ -502,12 +502,12 @@  discard block
 block discarded – undo
502 502
  **/
503 503
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
504 504
 
505
-	// retrouver la colonne de roles s'il y en a a lier
506
-	if (is_array($qualifs) and count($qualifs)) {
507
-		foreach ($qualifs as $qualif) {
508
-			objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
509
-		}
510
-	} else {
511
-		objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
512
-	}
505
+    // retrouver la colonne de roles s'il y en a a lier
506
+    if (is_array($qualifs) and count($qualifs)) {
507
+        foreach ($qualifs as $qualif) {
508
+            objet_associer([$objet_source => $ids], [$objet_lien => $idl], $qualif);
509
+        }
510
+    } else {
511
+        objet_associer([$objet_source => $ids], [$objet_lien => $idl]);
512
+    }
513 513
 }
Please login to merge, or discard this patch.
prive/formulaires/declarer_bases.php 1 patch
Indentation   +195 added lines, -195 removed lines patch added patch discarded remove patch
@@ -11,223 +11,223 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/install');
18 18
 
19 19
 function formulaires_declarer_bases_charger_dist() {
20
-	[$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
21
-
22
-	$deja = bases_referencees(_FILE_CONNECT);
23
-	// proposer un nom de connect si pas encore saisi
24
-	$nom_connect = '';
25
-	if (defined('_DECLARER_CHOIX_DB')) {
26
-		$nom_connect = _DECLARER_CHOIX_DB;
27
-		$n = '';
28
-		while (in_array($nom_connect . $n, $deja)) {
29
-			$n = ($n ? $n + 1 : 1);
30
-		}
31
-		$nom_connect = $nom_connect . $n;
32
-	}
33
-
34
-	$valeurs = [
35
-		'_etapes' => 3,
36
-		'_bases_deja' => $deja,
37
-		'_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
38
-		'_tables' => (defined('_DECLARER_SERVEUR_DB') and defined('_DECLARER_CHOIX_DB')) ?
39
-			$tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
40
-			:
41
-			[],
42
-		'main_db' => '',
43
-		'_serveurs' => liste_serveurs(),
44
-		'sql_serveur_db' => 'sqlite3', // valeur par defaut
45
-		'adresse_db' => $adresse_db,
46
-		'login_db' => '',
47
-		'pass_db' => '',
48
-		'choix_db' => '',
49
-		'table_new' => '',
50
-		'nom_connect' => $nom_connect,
51
-	];
52
-
53
-	return $valeurs;
20
+    [$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
21
+
22
+    $deja = bases_referencees(_FILE_CONNECT);
23
+    // proposer un nom de connect si pas encore saisi
24
+    $nom_connect = '';
25
+    if (defined('_DECLARER_CHOIX_DB')) {
26
+        $nom_connect = _DECLARER_CHOIX_DB;
27
+        $n = '';
28
+        while (in_array($nom_connect . $n, $deja)) {
29
+            $n = ($n ? $n + 1 : 1);
30
+        }
31
+        $nom_connect = $nom_connect . $n;
32
+    }
33
+
34
+    $valeurs = [
35
+        '_etapes' => 3,
36
+        '_bases_deja' => $deja,
37
+        '_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
38
+        '_tables' => (defined('_DECLARER_SERVEUR_DB') and defined('_DECLARER_CHOIX_DB')) ?
39
+            $tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
40
+            :
41
+            [],
42
+        'main_db' => '',
43
+        '_serveurs' => liste_serveurs(),
44
+        'sql_serveur_db' => 'sqlite3', // valeur par defaut
45
+        'adresse_db' => $adresse_db,
46
+        'login_db' => '',
47
+        'pass_db' => '',
48
+        'choix_db' => '',
49
+        'table_new' => '',
50
+        'nom_connect' => $nom_connect,
51
+    ];
52
+
53
+    return $valeurs;
54 54
 }
55 55
 
56 56
 function liste_serveurs() {
57
-	$options = [];
58
-	$dir = _DIR_RESTREINT . 'req/';
59
-	$d = opendir($dir);
60
-	if (!$d) {
61
-		return [];
62
-	}
63
-	while ($f = readdir($d)) {
64
-		if (
65
-			(preg_match('/^(.*)[.]php$/', $f, $s))
66
-			and is_readable($f = $dir . $f)
67
-		) {
68
-			require_once($f);
69
-			$s = $s[1];
70
-			$v = 'spip_versions_' . $s;
71
-			if (function_exists($v) and $v()) {
72
-				$options[$s] = "install_select_type_$s";
73
-			} else {
74
-				spip_log("$s: portage indisponible");
75
-			}
76
-		}
77
-	}
78
-	ksort($options);
79
-
80
-	return $options;
57
+    $options = [];
58
+    $dir = _DIR_RESTREINT . 'req/';
59
+    $d = opendir($dir);
60
+    if (!$d) {
61
+        return [];
62
+    }
63
+    while ($f = readdir($d)) {
64
+        if (
65
+            (preg_match('/^(.*)[.]php$/', $f, $s))
66
+            and is_readable($f = $dir . $f)
67
+        ) {
68
+            require_once($f);
69
+            $s = $s[1];
70
+            $v = 'spip_versions_' . $s;
71
+            if (function_exists($v) and $v()) {
72
+                $options[$s] = "install_select_type_$s";
73
+            } else {
74
+                spip_log("$s: portage indisponible");
75
+            }
76
+        }
77
+    }
78
+    ksort($options);
79
+
80
+    return $options;
81 81
 }
82 82
 
83 83
 function liste_bases($server_db) {
84
-	if (
85
-		is_null($server_db)
86
-		or !$result = sql_listdbs($server_db)
87
-	) {
88
-		return '';
89
-	}
90
-
91
-	$noms = [];
92
-
93
-	// si sqlite : result est deja un tableau
94
-	if (is_array($result)) {
95
-		$noms = $result;
96
-	} else {
97
-		while ($row = sql_fetch($result, $server_db)) {
98
-			$noms[] = reset($row);
99
-		}
100
-	}
101
-
102
-	return $noms;
84
+    if (
85
+        is_null($server_db)
86
+        or !$result = sql_listdbs($server_db)
87
+    ) {
88
+        return '';
89
+    }
90
+
91
+    $noms = [];
92
+
93
+    // si sqlite : result est deja un tableau
94
+    if (is_array($result)) {
95
+        $noms = $result;
96
+    } else {
97
+        while ($row = sql_fetch($result, $server_db)) {
98
+            $noms[] = reset($row);
99
+        }
100
+    }
101
+
102
+    return $noms;
103 103
 }
104 104
 
105 105
 function formulaires_declarer_bases_verifier_1_dist() {
106
-	$erreurs = [];
107
-	[$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
108
-
109
-	if (!$adresse_db = _request('adresse_db')) {
110
-		if (defined('_INSTALL_HOST_DB')) {
111
-			$adresse_db = _INSTALL_HOST_DB;
112
-		} else {
113
-			$adresse_db = $def_adresse_db;
114
-		}
115
-	}
116
-	if (!$serveur_db = _request('sql_serveur_db')) {
117
-		if (defined('_INSTALL_SERVER_DB')) {
118
-			$serveur_db = _INSTALL_SERVER_DB;
119
-		} else {
120
-			$serveur_db = $def_serveur_db;
121
-		}
122
-	}
123
-
124
-	$login_db = $pass_db = '';
125
-	if (!preg_match(',^sqlite,i', $serveur_db)) {
126
-		if (!$login_db = _request('login_db')) {
127
-			if (defined('_INSTALL_USER_DB')) {
128
-				$login_db = _INSTALL_USER_DB;
129
-			} else {
130
-				$login_db = $def_login_db;
131
-			}
132
-		}
133
-		if (!$pass_db = _request('pass_db')) {
134
-			if (defined('_INSTALL_PASS_DB')) {
135
-				$pass_db = _INSTALL_PASS_DB;
136
-			} else {
137
-				$pass_db = $def_pass_db;
138
-			}
139
-		}
140
-	}
141
-
142
-	$link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
143
-	if ($link) {
144
-		$GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
145
-		$GLOBALS['connexions'][$serveur_db] = $link;
146
-		define('_DECLARER_SERVEUR_DB', $serveur_db);
147
-		define('_DECLARER_ADRESSE_DB', $adresse_db);
148
-		define('_DECLARER_LOGIN_DB', $login_db);
149
-		define('_DECLARER_PASS_DB', $pass_db);
150
-		// si on est sur le meme serveur que connect.php
151
-		// indiquer quelle est la db utilisee pour l'exclure des choix possibles
152
-		if ($serveur_db == $def_serveur_db and $adresse_db == $def_adresse_db) {
153
-			set_request('main_db', $sel_db);
154
-		} else {
155
-			set_request('main_db', '');
156
-		}
157
-	} else {
158
-		$erreurs['message_erreur'] = _T('avis_connexion_echec_1');
159
-	}
160
-
161
-	return $erreurs;
106
+    $erreurs = [];
107
+    [$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
108
+
109
+    if (!$adresse_db = _request('adresse_db')) {
110
+        if (defined('_INSTALL_HOST_DB')) {
111
+            $adresse_db = _INSTALL_HOST_DB;
112
+        } else {
113
+            $adresse_db = $def_adresse_db;
114
+        }
115
+    }
116
+    if (!$serveur_db = _request('sql_serveur_db')) {
117
+        if (defined('_INSTALL_SERVER_DB')) {
118
+            $serveur_db = _INSTALL_SERVER_DB;
119
+        } else {
120
+            $serveur_db = $def_serveur_db;
121
+        }
122
+    }
123
+
124
+    $login_db = $pass_db = '';
125
+    if (!preg_match(',^sqlite,i', $serveur_db)) {
126
+        if (!$login_db = _request('login_db')) {
127
+            if (defined('_INSTALL_USER_DB')) {
128
+                $login_db = _INSTALL_USER_DB;
129
+            } else {
130
+                $login_db = $def_login_db;
131
+            }
132
+        }
133
+        if (!$pass_db = _request('pass_db')) {
134
+            if (defined('_INSTALL_PASS_DB')) {
135
+                $pass_db = _INSTALL_PASS_DB;
136
+            } else {
137
+                $pass_db = $def_pass_db;
138
+            }
139
+        }
140
+    }
141
+
142
+    $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
143
+    if ($link) {
144
+        $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
145
+        $GLOBALS['connexions'][$serveur_db] = $link;
146
+        define('_DECLARER_SERVEUR_DB', $serveur_db);
147
+        define('_DECLARER_ADRESSE_DB', $adresse_db);
148
+        define('_DECLARER_LOGIN_DB', $login_db);
149
+        define('_DECLARER_PASS_DB', $pass_db);
150
+        // si on est sur le meme serveur que connect.php
151
+        // indiquer quelle est la db utilisee pour l'exclure des choix possibles
152
+        if ($serveur_db == $def_serveur_db and $adresse_db == $def_adresse_db) {
153
+            set_request('main_db', $sel_db);
154
+        } else {
155
+            set_request('main_db', '');
156
+        }
157
+    } else {
158
+        $erreurs['message_erreur'] = _T('avis_connexion_echec_1');
159
+    }
160
+
161
+    return $erreurs;
162 162
 }
163 163
 
164 164
 function formulaires_declarer_bases_verifier_2_dist() {
165
-	$erreurs = [];
166
-	$choix_db = _request('choix_db');
167
-	if ($choix_db == '-1') {
168
-		$choix_db = _request('table_new');
169
-	}
170
-	if (!$choix_db) {
171
-		$erreurs['choix_db'] = _T('info_obligatoire');
172
-	} else {
173
-		define('_ECRIRE_INSTALL', 1); // hackons sqlite
174
-		if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
175
-			$erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
176
-		} else {
177
-			define('_DECLARER_CHOIX_DB', $choix_db);
178
-		}
179
-	}
180
-
181
-	return $erreurs;
165
+    $erreurs = [];
166
+    $choix_db = _request('choix_db');
167
+    if ($choix_db == '-1') {
168
+        $choix_db = _request('table_new');
169
+    }
170
+    if (!$choix_db) {
171
+        $erreurs['choix_db'] = _T('info_obligatoire');
172
+    } else {
173
+        define('_ECRIRE_INSTALL', 1); // hackons sqlite
174
+        if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
175
+            $erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
176
+        } else {
177
+            define('_DECLARER_CHOIX_DB', $choix_db);
178
+        }
179
+    }
180
+
181
+    return $erreurs;
182 182
 }
183 183
 
184 184
 function formulaires_declarer_bases_verifier_3_dist() {
185
-	$erreurs = [];
186
-	$nom_connect = _request('nom_connect');
187
-	if (!$nom_connect) {
188
-		$erreurs['nom_connect'] = _T('info_obligatoire');
189
-	} else {
190
-		// securite : le nom doit etre un mot sans caracteres speciaux
191
-		$f = preg_replace(',[^\w],', '', $nom_connect);
192
-		if ($f !== $nom_connect) {
193
-			$erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
194
-		} elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
195
-			$erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
196
-		} else {
197
-			define('_DECLARER_NOM_CONNECT', $nom_connect);
198
-		}
199
-	}
200
-
201
-	return $erreurs;
185
+    $erreurs = [];
186
+    $nom_connect = _request('nom_connect');
187
+    if (!$nom_connect) {
188
+        $erreurs['nom_connect'] = _T('info_obligatoire');
189
+    } else {
190
+        // securite : le nom doit etre un mot sans caracteres speciaux
191
+        $f = preg_replace(',[^\w],', '', $nom_connect);
192
+        if ($f !== $nom_connect) {
193
+            $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
194
+        } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
195
+            $erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
196
+        } else {
197
+            define('_DECLARER_NOM_CONNECT', $nom_connect);
198
+        }
199
+    }
200
+
201
+    return $erreurs;
202 202
 }
203 203
 
204 204
 function formulaires_declarer_bases_traiter_dist() {
205 205
 
206
-	$adresse_db = _DECLARER_ADRESSE_DB;
207
-	if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
208
-		[, $adresse_db, $port] = $r;
209
-	} else {
210
-		$port = '';
211
-	}
212
-
213
-	$server_db = addcslashes(_DECLARER_SERVEUR_DB, "'\\");
214
-
215
-	$conn = install_mode_appel($server_db)
216
-		. install_connexion(
217
-			$adresse_db,
218
-			$port,
219
-			_DECLARER_LOGIN_DB,
220
-			_DECLARER_PASS_DB,
221
-			_DECLARER_CHOIX_DB,
222
-			_DECLARER_SERVEUR_DB,
223
-			'',
224
-			'',
225
-			''
226
-		);
227
-
228
-	install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
229
-
230
-	return [
231
-		'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
232
-	];
206
+    $adresse_db = _DECLARER_ADRESSE_DB;
207
+    if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
208
+        [, $adresse_db, $port] = $r;
209
+    } else {
210
+        $port = '';
211
+    }
212
+
213
+    $server_db = addcslashes(_DECLARER_SERVEUR_DB, "'\\");
214
+
215
+    $conn = install_mode_appel($server_db)
216
+        . install_connexion(
217
+            $adresse_db,
218
+            $port,
219
+            _DECLARER_LOGIN_DB,
220
+            _DECLARER_PASS_DB,
221
+            _DECLARER_CHOIX_DB,
222
+            _DECLARER_SERVEUR_DB,
223
+            '',
224
+            '',
225
+            ''
226
+        );
227
+
228
+    install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
229
+
230
+    return [
231
+        'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
232
+    ];
233 233
 }
Please login to merge, or discard this patch.
prive/formulaires/recherche_ecrire.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -33,19 +33,19 @@  discard block
 block discarded – undo
33 33
  * @return array Environnement du formulaire
34 34
  **/
35 35
 function formulaires_recherche_ecrire_charger_dist($action = '', $class = '') {
36
-	if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) {
37
-		$lang = $GLOBALS['spip_lang'];
38
-	} else {
39
-		$lang = '';
40
-	}
36
+    if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) {
37
+        $lang = $GLOBALS['spip_lang'];
38
+    } else {
39
+        $lang = '';
40
+    }
41 41
 
42
-	return
43
-		[
44
-			'action' => ($action ?: generer_url_ecrire('recherche')),
45
-			# action specifique, ne passe pas par Verifier, ni Traiter
46
-			'recherche' => _request('recherche'),
47
-			'lang' => $lang,
48
-			'class' => $class,
49
-			'_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
50
-		];
42
+    return
43
+        [
44
+            'action' => ($action ?: generer_url_ecrire('recherche')),
45
+            # action specifique, ne passe pas par Verifier, ni Traiter
46
+            'recherche' => _request('recherche'),
47
+            'lang' => $lang,
48
+            'class' => $class,
49
+            '_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
50
+        ];
51 51
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_reducteur.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  **/
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 /**
@@ -28,24 +28,24 @@  discard block
 block discarded – undo
28 28
  *     Environnement du formulaire
29 29
  **/
30 30
 function formulaires_configurer_reducteur_charger_dist() {
31
-	$valeurs = [];
32
-	foreach (
33
-		[
34
-			'image_process',
35
-			'formats_graphiques',
36
-			'creer_preview',
37
-			'taille_preview',
38
-		] as $m
39
-	) {
40
-		$valeurs[$m] = $GLOBALS['meta'][$m] ?? null;
41
-	}
31
+    $valeurs = [];
32
+    foreach (
33
+        [
34
+            'image_process',
35
+            'formats_graphiques',
36
+            'creer_preview',
37
+            'taille_preview',
38
+        ] as $m
39
+    ) {
40
+        $valeurs[$m] = $GLOBALS['meta'][$m] ?? null;
41
+    }
42 42
 
43
-	$valeurs['taille_preview'] = intval($valeurs['taille_preview']);
44
-	if ($valeurs['taille_preview'] < 10) {
45
-		$valeurs['taille_preview'] = 120;
46
-	}
43
+    $valeurs['taille_preview'] = intval($valeurs['taille_preview']);
44
+    if ($valeurs['taille_preview'] < 10) {
45
+        $valeurs['taille_preview'] = 120;
46
+    }
47 47
 
48
-	return $valeurs;
48
+    return $valeurs;
49 49
 }
50 50
 
51 51
 
@@ -56,53 +56,53 @@  discard block
 block discarded – undo
56 56
  *     Retours des traitements
57 57
  **/
58 58
 function formulaires_configurer_reducteur_traiter_dist() {
59
-	$res = ['editable' => true];
59
+    $res = ['editable' => true];
60 60
 
61
-	if (is_array($image_process = _request('image_process_'))) {
62
-		$image_process = array_keys($image_process);
63
-		$image_process = reset($image_process);
61
+    if (is_array($image_process = _request('image_process_'))) {
62
+        $image_process = array_keys($image_process);
63
+        $image_process = reset($image_process);
64 64
 
65
-		// application du choix de vignette
66
-		if ($image_process) {
67
-			// mettre a jour les formats graphiques lisibles
68
-			switch ($image_process) {
69
-				case 'gd1':
70
-				case 'gd2':
71
-					$formats_graphiques = $GLOBALS['meta']['gd_formats_read'];
72
-					break;
73
-				case 'netpbm':
74
-					$formats_graphiques = $GLOBALS['meta']['netpbm_formats'];
75
-					break;
76
-				case 'convert':
77
-				case 'imagick':
78
-					$formats_graphiques = 'gif,jpg,png,webp';
79
-					break;
80
-				default: #debug
81
-					$formats_graphiques = '';
82
-					$image_process = 'non';
83
-					break;
84
-			}
85
-			ecrire_meta('formats_graphiques', $formats_graphiques, 'non');
86
-			ecrire_meta('image_process', $image_process, 'non');
87
-		}
88
-	}
65
+        // application du choix de vignette
66
+        if ($image_process) {
67
+            // mettre a jour les formats graphiques lisibles
68
+            switch ($image_process) {
69
+                case 'gd1':
70
+                case 'gd2':
71
+                    $formats_graphiques = $GLOBALS['meta']['gd_formats_read'];
72
+                    break;
73
+                case 'netpbm':
74
+                    $formats_graphiques = $GLOBALS['meta']['netpbm_formats'];
75
+                    break;
76
+                case 'convert':
77
+                case 'imagick':
78
+                    $formats_graphiques = 'gif,jpg,png,webp';
79
+                    break;
80
+                default: #debug
81
+                    $formats_graphiques = '';
82
+                    $image_process = 'non';
83
+                    break;
84
+            }
85
+            ecrire_meta('formats_graphiques', $formats_graphiques, 'non');
86
+            ecrire_meta('image_process', $image_process, 'non');
87
+        }
88
+    }
89 89
 
90
-	foreach (
91
-		[
92
-			'creer_preview'
93
-		] as $m
94
-	) {
95
-		if (!is_null($v = _request($m))) {
96
-			ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
97
-		}
98
-	}
99
-	if (!is_null($v = _request('taille_preview'))) {
100
-		ecrire_meta('taille_preview', intval($v));
101
-	}
90
+    foreach (
91
+        [
92
+            'creer_preview'
93
+        ] as $m
94
+    ) {
95
+        if (!is_null($v = _request($m))) {
96
+            ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
97
+        }
98
+    }
99
+    if (!is_null($v = _request('taille_preview'))) {
100
+        ecrire_meta('taille_preview', intval($v));
101
+    }
102 102
 
103
-	$res['message_ok'] = _T('config_info_enregistree');
103
+    $res['message_ok'] = _T('config_info_enregistree');
104 104
 
105
-	return $res;
105
+    return $res;
106 106
 }
107 107
 
108 108
 /**
@@ -115,37 +115,37 @@  discard block
 block discarded – undo
115 115
  *     URL d'action pour tester la librairie graphique en créant une vignette
116 116
  **/
117 117
 function url_vignette_choix($process) {
118
-	switch ($process) {
119
-		case 'gd2':
120
-			if (!function_exists('ImageCreateTrueColor')) {
121
-				return '';
122
-			}
123
-			break;
124
-		case 'gd1':
125
-			if (
126
-				!function_exists('ImageGif')
127
-				and !function_exists('ImageJpeg')
128
-				and !function_exists('ImagePng')
129
-			) {
130
-				return '';
131
-			}
132
-			break;
133
-		case 'netpbm':
134
-			if (defined('_PNMSCALE_COMMAND') and _PNMSCALE_COMMAND == '') {
135
-				return '';
136
-			}
137
-			break;
138
-		case 'imagick':
139
-			if (!method_exists(\Imagick::class, 'readImage')) {
140
-				return '';
141
-			}
142
-			break;
143
-		case 'convert':
144
-			if (defined('_CONVERT_COMMAND') and _CONVERT_COMMAND == '') {
145
-				return '';
146
-			}
147
-			break;
148
-	}
118
+    switch ($process) {
119
+        case 'gd2':
120
+            if (!function_exists('ImageCreateTrueColor')) {
121
+                return '';
122
+            }
123
+            break;
124
+        case 'gd1':
125
+            if (
126
+                !function_exists('ImageGif')
127
+                and !function_exists('ImageJpeg')
128
+                and !function_exists('ImagePng')
129
+            ) {
130
+                return '';
131
+            }
132
+            break;
133
+        case 'netpbm':
134
+            if (defined('_PNMSCALE_COMMAND') and _PNMSCALE_COMMAND == '') {
135
+                return '';
136
+            }
137
+            break;
138
+        case 'imagick':
139
+            if (!method_exists(\Imagick::class, 'readImage')) {
140
+                return '';
141
+            }
142
+            break;
143
+        case 'convert':
144
+            if (defined('_CONVERT_COMMAND') and _CONVERT_COMMAND == '') {
145
+                return '';
146
+            }
147
+            break;
148
+    }
149 149
 
150
-	return generer_url_action('tester', "arg=$process&time=" . time());
150
+    return generer_url_action('tester', "arg=$process&time=" . time());
151 151
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_preferences.php 1 patch
Indentation   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
  **/
22 22
 
23 23
 if (!defined('_ECRIRE_INC_VERSION')) {
24
-	return;
24
+    return;
25 25
 }
26 26
 
27 27
 /**
@@ -31,28 +31,28 @@  discard block
 block discarded – undo
31 31
  *     Environnement du formulaire
32 32
  **/
33 33
 function formulaires_configurer_preferences_charger_dist() {
34
-	// travailler sur des meta fraiches
35
-	include_spip('inc/meta');
36
-	lire_metas();
34
+    // travailler sur des meta fraiches
35
+    include_spip('inc/meta');
36
+    lire_metas();
37 37
 
38
-	$valeurs = [];
39
-	$valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
40
-	$valeurs['display_outils'] = $GLOBALS['visiteur_session']['prefs']['display_outils'] ?? 'oui';
41
-	$valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
42
-	$valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
38
+    $valeurs = [];
39
+    $valeurs['display_navigation'] = $GLOBALS['visiteur_session']['prefs']['display_navigation'] ?? 'navigation_avec_icones';
40
+    $valeurs['display_outils'] = $GLOBALS['visiteur_session']['prefs']['display_outils'] ?? 'oui';
41
+    $valeurs['display'] = (isset($GLOBALS['visiteur_session']['prefs']['display']) and $GLOBALS['visiteur_session']['prefs']['display'] > 0) ? $GLOBALS['visiteur_session']['prefs']['display'] : 2;
42
+    $valeurs['couleur'] = (isset($GLOBALS['visiteur_session']['prefs']['couleur']) and $GLOBALS['visiteur_session']['prefs']['couleur'] > 0) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 1;
43 43
 
44
-	$couleurs = charger_fonction('couleurs', 'inc');
45
-	$les_couleurs = $couleurs();
46
-	foreach ($les_couleurs as $k => $c) {
47
-		$valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
48
-			. $GLOBALS['spip_lang_left'] . '&'
49
-			. $couleurs($k));
50
-		$valeurs['couleurs'][$k] = $c;
51
-	}
44
+    $couleurs = charger_fonction('couleurs', 'inc');
45
+    $les_couleurs = $couleurs();
46
+    foreach ($les_couleurs as $k => $c) {
47
+        $valeurs['_couleurs_url'][$k] = generer_url_public('style_prive.css', 'ltr='
48
+            . $GLOBALS['spip_lang_left'] . '&'
49
+            . $couleurs($k));
50
+        $valeurs['couleurs'][$k] = $c;
51
+    }
52 52
 
53
-	$valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
53
+    $valeurs['imessage'] = $GLOBALS['visiteur_session']['imessage'];
54 54
 
55
-	return $valeurs;
55
+    return $valeurs;
56 56
 }
57 57
 
58 58
 /**
@@ -63,36 +63,36 @@  discard block
 block discarded – undo
63 63
  **/
64 64
 function formulaires_configurer_preferences_traiter_dist() {
65 65
 
66
-	if ($couleur = _request('couleur')) {
67
-		$couleurs = charger_fonction('couleurs', 'inc');
68
-		$les_couleurs = $couleurs([], true);
69
-		if (isset($les_couleurs[$couleur])) {
70
-			$GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
71
-		}
72
-	}
73
-	if ($display = intval(_request('display'))) {
74
-		$GLOBALS['visiteur_session']['prefs']['display'] = $display;
75
-	}
76
-	if (
77
-		$display_navigation = _request('display_navigation')
78
-		and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
79
-	) {
80
-		$GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
81
-	}
82
-	if (!is_null($display_outils = _request('display_outils'))) {
83
-		$GLOBALS['visiteur_session']['prefs']['display_outils'] = ($display_outils ? 'oui' : '');
84
-	}
66
+    if ($couleur = _request('couleur')) {
67
+        $couleurs = charger_fonction('couleurs', 'inc');
68
+        $les_couleurs = $couleurs([], true);
69
+        if (isset($les_couleurs[$couleur])) {
70
+            $GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
71
+        }
72
+    }
73
+    if ($display = intval(_request('display'))) {
74
+        $GLOBALS['visiteur_session']['prefs']['display'] = $display;
75
+    }
76
+    if (
77
+        $display_navigation = _request('display_navigation')
78
+        and in_array($display_navigation, ['navigation_sans_icone', 'navigation_avec_icones'])
79
+    ) {
80
+        $GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
81
+    }
82
+    if (!is_null($display_outils = _request('display_outils'))) {
83
+        $GLOBALS['visiteur_session']['prefs']['display_outils'] = ($display_outils ? 'oui' : '');
84
+    }
85 85
 
86
-	if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
87
-		include_spip('action/editer_auteur');
88
-		$c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
86
+    if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
87
+        include_spip('action/editer_auteur');
88
+        $c = ['prefs' => serialize($GLOBALS['visiteur_session']['prefs'])];
89 89
 
90
-		if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
91
-			$c['imessage'] = $imessage;
92
-		}
90
+        if ($imessage = _request('imessage') and in_array($imessage, ['oui', 'non'])) {
91
+            $c['imessage'] = $imessage;
92
+        }
93 93
 
94
-		auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
95
-	}
94
+        auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
95
+    }
96 96
 
97
-	return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
97
+    return ['message_ok' => _T('config_info_enregistree'), 'editable' => true];
98 98
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_identite.php 1 patch
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -11,56 +11,56 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function formulaires_configurer_identite_charger_dist() {
18
-	// travailler sur des meta fraiches
19
-	include_spip('inc/meta');
20
-	lire_metas();
18
+    // travailler sur des meta fraiches
19
+    include_spip('inc/meta');
20
+    lire_metas();
21 21
 
22
-	$valeurs = [];
23
-	foreach (['nom_site', 'adresse_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
24
-		$valeurs[$k] = $GLOBALS['meta'][$k] ?? '';
25
-	}
22
+    $valeurs = [];
23
+    foreach (['nom_site', 'adresse_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
24
+        $valeurs[$k] = $GLOBALS['meta'][$k] ?? '';
25
+    }
26 26
 
27
-	return $valeurs;
27
+    return $valeurs;
28 28
 }
29 29
 
30 30
 function formulaires_configurer_identite_verifier_dist() {
31
-	$erreurs = [];
31
+    $erreurs = [];
32 32
 
33
-	// adresse_site est obligatoire mais rempli automatiquement si absent !
34
-	foreach (['nom_site'/*,'adresse_site'*/] as $obli) {
35
-		if (!_request($obli)) {
36
-			$erreurs[$obli] = _T('info_obligatoire');
37
-		}
38
-	}
33
+    // adresse_site est obligatoire mais rempli automatiquement si absent !
34
+    foreach (['nom_site'/*,'adresse_site'*/] as $obli) {
35
+        if (!_request($obli)) {
36
+            $erreurs[$obli] = _T('info_obligatoire');
37
+        }
38
+    }
39 39
 
40
-	if ($email = _request('email_webmaster') and !email_valide($email)) {
41
-		$erreurs['email_webmaster'] = _T('info_email_invalide');
42
-	}
40
+    if ($email = _request('email_webmaster') and !email_valide($email)) {
41
+        $erreurs['email_webmaster'] = _T('info_email_invalide');
42
+    }
43 43
 
44
-	return $erreurs;
44
+    return $erreurs;
45 45
 }
46 46
 
47 47
 function formulaires_configurer_identite_traiter_dist() {
48
-	include_spip('inc/config');
49
-	$adresse_site = $GLOBALS['meta']['adresse_site'] ?? '';
50
-	if (_request('adresse_site') != $adresse_site) {
51
-		refuser_traiter_formulaire_ajax();
52
-	}
48
+    include_spip('inc/config');
49
+    $adresse_site = $GLOBALS['meta']['adresse_site'] ?? '';
50
+    if (_request('adresse_site') != $adresse_site) {
51
+        refuser_traiter_formulaire_ajax();
52
+    }
53 53
 
54
-	set_request('adresse_site', appliquer_adresse_site(_request('adresse_site')));
54
+    set_request('adresse_site', appliquer_adresse_site(_request('adresse_site')));
55 55
 
56
-	include_spip('inc/meta');
57
-	foreach (['nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
58
-		ecrire_meta($k, _request($k));
59
-	}
56
+    include_spip('inc/meta');
57
+    foreach (['nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
58
+        ecrire_meta($k, _request($k));
59
+    }
60 60
 
61
-	include_spip('inc/texte_mini');
62
-	$reload = texte_script(couper(_request('nom_site'), 35));
63
-	$reload = "<script type='text/javascript'>if (window.jQuery) jQuery('#bando_identite .nom_site_spip .nom').html('$reload');</script>";
61
+    include_spip('inc/texte_mini');
62
+    $reload = texte_script(couper(_request('nom_site'), 35));
63
+    $reload = "<script type='text/javascript'>if (window.jQuery) jQuery('#bando_identite .nom_site_spip .nom').html('$reload');</script>";
64 64
 
65
-	return ['message_ok' => _T('config_info_enregistree') . $reload, 'editable' => true];
65
+    return ['message_ok' => _T('config_info_enregistree') . $reload, 'editable' => true];
66 66
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_logo.php 1 patch
Indentation   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -30,7 +30,7 @@  discard block
 block discarded – undo
30 30
  **/
31 31
 
32 32
 if (!defined('_ECRIRE_INC_VERSION')) {
33
-	return;
33
+    return;
34 34
 }
35 35
 
36 36
 global $logo_libelles;
@@ -49,91 +49,91 @@  discard block
 block discarded – undo
49 49
  * @return array               Variables d'environnement pour le fond
50 50
  */
51 51
 function formulaires_editer_logo_charger_dist($objet, $id_objet, $retour = '', $options = []) {
52
-	// pas dans une boucle ? formulaire pour le logo du site
53
-	// dans ce cas, il faut chercher un 'siteon0.ext'
54
-	if (!$objet) {
55
-		$objet = 'site';
56
-	}
52
+    // pas dans une boucle ? formulaire pour le logo du site
53
+    // dans ce cas, il faut chercher un 'siteon0.ext'
54
+    if (!$objet) {
55
+        $objet = 'site';
56
+    }
57 57
 
58
-	$objet = objet_type($objet);
59
-	$_id_objet = id_table_objet($objet);
58
+    $objet = objet_type($objet);
59
+    $_id_objet = id_table_objet($objet);
60 60
 
61
-	if (!is_array($options)) {
62
-		$options = unserialize($options);
63
-	}
64
-	$options = spip_sanitize_from_request($options, '*');
61
+    if (!is_array($options)) {
62
+        $options = unserialize($options);
63
+    }
64
+    $options = spip_sanitize_from_request($options, '*');
65 65
 
66
-	if (!isset($options['titre'])) {
67
-		$balise_img = chercher_filtre('balise_img');
68
-		$img = $balise_img(chemin_image('image-24.png'), '', 'cadre-icone');
69
-		$libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
70
-		$libelle = (($id_objet or $objet != 'rubrique') ? $objet : 'racine');
71
-		if (isset($libelles[$libelle])) {
72
-			$libelle = $libelles[$libelle];
73
-		} elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
74
-			$libelle = _T($libelle);
75
-		} else {
76
-			$libelle = _L('Logo');
77
-		}
78
-		switch ($objet) {
79
-			case 'article':
80
-				$libelle .= ' ' . aider('logoart');
81
-				break;
82
-			case 'breve':
83
-				$libelle .= ' ' . aider('breveslogo');
84
-				break;
85
-			case 'rubrique':
86
-				$libelle .= ' ' . aider('rublogo');
87
-				break;
88
-			default:
89
-				break;
90
-		}
66
+    if (!isset($options['titre'])) {
67
+        $balise_img = chercher_filtre('balise_img');
68
+        $img = $balise_img(chemin_image('image-24.png'), '', 'cadre-icone');
69
+        $libelles = pipeline('libeller_logo', $GLOBALS['logo_libelles']);
70
+        $libelle = (($id_objet or $objet != 'rubrique') ? $objet : 'racine');
71
+        if (isset($libelles[$libelle])) {
72
+            $libelle = $libelles[$libelle];
73
+        } elseif ($libelle = objet_info($objet, 'texte_logo_objet')) {
74
+            $libelle = _T($libelle);
75
+        } else {
76
+            $libelle = _L('Logo');
77
+        }
78
+        switch ($objet) {
79
+            case 'article':
80
+                $libelle .= ' ' . aider('logoart');
81
+                break;
82
+            case 'breve':
83
+                $libelle .= ' ' . aider('breveslogo');
84
+                break;
85
+            case 'rubrique':
86
+                $libelle .= ' ' . aider('rublogo');
87
+                break;
88
+            default:
89
+                break;
90
+        }
91 91
 
92
-		$options['titre'] = $img . $libelle;
93
-	}
94
-	if (!isset($options['editable'])) {
95
-		include_spip('inc/autoriser');
96
-		$options['editable'] = autoriser('iconifier', $objet, $id_objet);
97
-	}
92
+        $options['titre'] = $img . $libelle;
93
+    }
94
+    if (!isset($options['editable'])) {
95
+        include_spip('inc/autoriser');
96
+        $options['editable'] = autoriser('iconifier', $objet, $id_objet);
97
+    }
98 98
 
99
-	$res = [
100
-		'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) or $options['editable']),
101
-		'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
102
-		'objet' => $objet,
103
-		'id_objet' => $id_objet,
104
-		'_options' => $options,
105
-		'_show_upload_off' => '',
106
-	];
99
+    $res = [
100
+        'editable' => ($GLOBALS['meta']['activer_logos'] == 'oui' ? ' ' : '') && (!isset($options['editable']) or $options['editable']),
101
+        'logo_survol' => ($GLOBALS['meta']['activer_logos_survol'] == 'oui' ? ' ' : ''),
102
+        'objet' => $objet,
103
+        'id_objet' => $id_objet,
104
+        '_options' => $options,
105
+        '_show_upload_off' => '',
106
+    ];
107 107
 
108
-	// rechercher le logo de l'objet
109
-	// la fonction prend un parametre '_id_objet' etrange :
110
-	// le nom de la cle primaire (et non le nom de la table)
111
-	// ou directement le nom du raccourcis a chercher
112
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
113
-	$etats = $res['logo_survol'] ? ['on', 'off'] : ['on'];
114
-	foreach ($etats as $etat) {
115
-		$logo = $chercher_logo($id_objet, $_id_objet, $etat);
116
-		if ($logo) {
117
-			$res['logo_' . $etat] = $logo[0];
118
-		}
119
-	}
120
-	// pas de logo_on -> pas de formulaire pour le survol
121
-	if (!isset($res['logo_on'])) {
122
-		$res['logo_survol'] = '';
123
-	} elseif (!isset($res['logo_off']) and _request('logo_up')) {
124
-		$res['_show_upload_off'] = ' ';
125
-	}
108
+    // rechercher le logo de l'objet
109
+    // la fonction prend un parametre '_id_objet' etrange :
110
+    // le nom de la cle primaire (et non le nom de la table)
111
+    // ou directement le nom du raccourcis a chercher
112
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
113
+    $etats = $res['logo_survol'] ? ['on', 'off'] : ['on'];
114
+    foreach ($etats as $etat) {
115
+        $logo = $chercher_logo($id_objet, $_id_objet, $etat);
116
+        if ($logo) {
117
+            $res['logo_' . $etat] = $logo[0];
118
+        }
119
+    }
120
+    // pas de logo_on -> pas de formulaire pour le survol
121
+    if (!isset($res['logo_on'])) {
122
+        $res['logo_survol'] = '';
123
+    } elseif (!isset($res['logo_off']) and _request('logo_up')) {
124
+        $res['_show_upload_off'] = ' ';
125
+    }
126 126
 
127
-	// si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
128
-	if (
129
-		!$res['editable']
130
-		and !isset($res['logo_off'])
131
-		and !isset($res['logo_on'])
132
-	) {
133
-		return false;
134
-	}
127
+    // si le logo n'est pas editable et qu'il n'y en a pas, on affiche pas du tout le formulaire
128
+    if (
129
+        !$res['editable']
130
+        and !isset($res['logo_off'])
131
+        and !isset($res['logo_on'])
132
+    ) {
133
+        return false;
134
+    }
135 135
 
136
-	return $res;
136
+    return $res;
137 137
 }
138 138
 
139 139
 /**
@@ -147,7 +147,7 @@  discard block
 block discarded – undo
147 147
  * @return string              Hash du formulaire
148 148
  */
149 149
 function formulaires_editer_logo_identifier_dist($objet, $id_objet, $retour = '', $options = []) {
150
-	return serialize([$objet, $id_objet]);
150
+    return serialize([$objet, $id_objet]);
151 151
 }
152 152
 
153 153
 /**
@@ -163,31 +163,31 @@  discard block
 block discarded – undo
163 163
  * @return array               Erreurs du formulaire
164 164
  */
165 165
 function formulaires_editer_logo_verifier_dist($objet, $id_objet, $retour = '', $options = []) {
166
-	$erreurs = [];
167
-	// verifier les extensions
168
-	$sources = formulaire_editer_logo_get_sources();
169
-	include_spip('action/editer_logo');
170
-	$extensions_possibles = $GLOBALS['formats_logos'];
171
-	if (in_array('jpg', $extensions_possibles)) {
172
-		$extensions_possibles[] = 'jpeg';
173
-	}
174
-	foreach ($sources as $etat => $file) {
175
-		// seulement si une reception correcte a eu lieu
176
-		if ($file and $file['error'] == 0) {
177
-			if (
178
-				!in_array(
179
-					strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),
180
-					$extensions_possibles
181
-				)
182
-			) {
183
-				$erreurs['logo_' . $etat] = _L('Extension non reconnue');
184
-			}
185
-		} elseif ($file and $file['error'] != 0 and isset($file['msg'])) {
186
-			$erreurs['message_erreur'] = $file['msg'];
187
-		}
188
-	}
166
+    $erreurs = [];
167
+    // verifier les extensions
168
+    $sources = formulaire_editer_logo_get_sources();
169
+    include_spip('action/editer_logo');
170
+    $extensions_possibles = $GLOBALS['formats_logos'];
171
+    if (in_array('jpg', $extensions_possibles)) {
172
+        $extensions_possibles[] = 'jpeg';
173
+    }
174
+    foreach ($sources as $etat => $file) {
175
+        // seulement si une reception correcte a eu lieu
176
+        if ($file and $file['error'] == 0) {
177
+            if (
178
+                !in_array(
179
+                    strtolower(pathinfo($file['name'], PATHINFO_EXTENSION)),
180
+                    $extensions_possibles
181
+                )
182
+            ) {
183
+                $erreurs['logo_' . $etat] = _L('Extension non reconnue');
184
+            }
185
+        } elseif ($file and $file['error'] != 0 and isset($file['msg'])) {
186
+            $erreurs['message_erreur'] = $file['msg'];
187
+        }
188
+    }
189 189
 
190
-	return $erreurs;
190
+    return $erreurs;
191 191
 }
192 192
 
193 193
 /**
@@ -203,47 +203,47 @@  discard block
 block discarded – undo
203 203
  * @return array               Retour des traitements
204 204
  */
205 205
 function formulaires_editer_logo_traiter_dist($objet, $id_objet, $retour = '', $options = []) {
206
-	$res = ['editable' => ' '];
206
+    $res = ['editable' => ' '];
207 207
 
208
-	// pas dans une boucle ? formulaire pour le logo du site
209
-	// dans ce cas, il faut chercher un 'siteon0.ext'
210
-	if (!$objet) {
211
-		$objet = 'site';
212
-	}
208
+    // pas dans une boucle ? formulaire pour le logo du site
209
+    // dans ce cas, il faut chercher un 'siteon0.ext'
210
+    if (!$objet) {
211
+        $objet = 'site';
212
+    }
213 213
 
214
-	include_spip('action/editer_logo');
214
+    include_spip('action/editer_logo');
215 215
 
216
-	// effectuer la suppression si demandee d'un logo
217
-	$on = _request('supprimer_logo_on');
218
-	if ($on or _request('supprimer_logo_off')) {
219
-		logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
220
-		$res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
221
-		set_request('logo_up', ' ');
222
-	} // sinon supprimer ancien logo puis copier le nouveau
223
-	else {
224
-		$sources = formulaire_editer_logo_get_sources();
225
-		foreach ($sources as $etat => $file) {
226
-			if ($file and $file['error'] == 0) {
227
-				if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
228
-					$res['message_erreur'] = $err;
229
-				} else {
230
-					$res['message_ok'] = '';
231
-				} // pas besoin de message : la validation est visuelle
232
-				set_request('logo_up', ' ');
233
-			}
234
-		}
235
-	}
216
+    // effectuer la suppression si demandee d'un logo
217
+    $on = _request('supprimer_logo_on');
218
+    if ($on or _request('supprimer_logo_off')) {
219
+        logo_supprimer($objet, $id_objet, $on ? 'on' : 'off');
220
+        $res['message_ok'] = ''; // pas besoin de message : la validation est visuelle
221
+        set_request('logo_up', ' ');
222
+    } // sinon supprimer ancien logo puis copier le nouveau
223
+    else {
224
+        $sources = formulaire_editer_logo_get_sources();
225
+        foreach ($sources as $etat => $file) {
226
+            if ($file and $file['error'] == 0) {
227
+                if ($err = logo_modifier($objet, $id_objet, $etat, $file)) {
228
+                    $res['message_erreur'] = $err;
229
+                } else {
230
+                    $res['message_ok'] = '';
231
+                } // pas besoin de message : la validation est visuelle
232
+                set_request('logo_up', ' ');
233
+            }
234
+        }
235
+    }
236 236
 
237
-	// Invalider les caches de l'objet
238
-	include_spip('inc/invalideur');
239
-	suivre_invalideur("id='$objet/$id_objet'");
237
+    // Invalider les caches de l'objet
238
+    include_spip('inc/invalideur');
239
+    suivre_invalideur("id='$objet/$id_objet'");
240 240
 
241 241
 
242
-	if ($retour) {
243
-		$res['redirect'] = $retour;
244
-	}
242
+    if ($retour) {
243
+        $res['redirect'] = $retour;
244
+    }
245 245
 
246
-	return $res;
246
+    return $res;
247 247
 }
248 248
 
249 249
 
@@ -255,29 +255,29 @@  discard block
 block discarded – undo
255 255
  *     Sources des fichiers dans les clés `on` ou `off`
256 256
  */
257 257
 function formulaire_editer_logo_get_sources() {
258
-	if (!$_FILES) {
259
-		$_FILES = $GLOBALS['HTTP_POST_FILES'] ?? [];
260
-	}
261
-	if (!is_array($_FILES)) {
262
-		return [];
263
-	}
258
+    if (!$_FILES) {
259
+        $_FILES = $GLOBALS['HTTP_POST_FILES'] ?? [];
260
+    }
261
+    if (!is_array($_FILES)) {
262
+        return [];
263
+    }
264 264
 
265
-	include_spip('inc/documents');
266
-	$sources = [];
267
-	foreach (['on', 'off'] as $etat) {
268
-		$logo = 'logo_' . $etat;
269
-		if (isset($_FILES[$logo])) {
270
-			if ($_FILES[$logo]['error'] == 0) {
271
-				$sources[$etat] = $_FILES[$logo];
272
-			} elseif ($_FILES[$logo]['error'] != 0) {
273
-				$msg = check_upload_error($_FILES[$logo]['error'], false, true);
274
-				if ($msg and is_string($msg)) {
275
-					$sources[$etat] = $_FILES[$logo];
276
-					$sources[$etat]['msg'] = $msg;
277
-				}
278
-			}
279
-		}
280
-	}
265
+    include_spip('inc/documents');
266
+    $sources = [];
267
+    foreach (['on', 'off'] as $etat) {
268
+        $logo = 'logo_' . $etat;
269
+        if (isset($_FILES[$logo])) {
270
+            if ($_FILES[$logo]['error'] == 0) {
271
+                $sources[$etat] = $_FILES[$logo];
272
+            } elseif ($_FILES[$logo]['error'] != 0) {
273
+                $msg = check_upload_error($_FILES[$logo]['error'], false, true);
274
+                if ($msg and is_string($msg)) {
275
+                    $sources[$etat] = $_FILES[$logo];
276
+                    $sources[$etat]['msg'] = $msg;
277
+                }
278
+            }
279
+        }
280
+    }
281 281
 
282
-	return $sources;
282
+    return $sources;
283 283
 }
Please login to merge, or discard this patch.