Completed
Push — master ( 3a7980...c8fa57 )
by cam
04:18
created
ecrire/lang/public_oc_ni.php 1 patch
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -4,118 +4,118 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'accueil_site' => 'Acuèlh',
14
-	'article' => 'Article',
15
-	'articles' => 'Articles',
16
-	'articles_auteur' => 'Articles d’aquel autor',
17
-	'articles_populaires' => 'Lu articles mai populars',
18
-	'articles_rubrique' => 'Articles d’aquela rubrica',
19
-	'aucun_article' => 'Li a minga d’article à-n-aquela adreça',
20
-	'aucun_auteur' => 'Li a minga d’autor à-n-aquela adreça',
21
-	'aucun_site' => 'Li a minga de site à-n-aquela adreça',
22
-	'aucune_breve' => 'Li a minga de brèva à-n-aquela adreça',
23
-	'aucune_rubrique' => 'Li a minga de rubrica à-n-aquela adreça',
24
-	'auteur' => 'Autor',
25
-	'autres' => 'Autres',
26
-	'autres_breves' => 'Autri brèvas',
27
-	'autres_groupes_mots_clefs' => 'Autres grops de mòts claus',
28
-	'autres_sites' => 'Autres sites',
29
-
30
-	// B
31
-	'bonjour' => 'Boanjorn',
32
-
33
-	// C
34
-	'commenter_site' => 'Comentar aqueu site',
35
-	'contact' => 'Contacte',
36
-	'copie_document_impossible' => 'Impossible de copiar lo document',
37
-
38
-	// D
39
-	'date' => 'Data',
40
-	'dernier_ajout' => 'Darrier ajust',
41
-	'dernieres_breves' => 'Darrieras brèvas',
42
-	'derniers_articles' => 'Darriers articles',
43
-	'derniers_commentaires' => 'Darriers comentaris',
44
-	'derniers_messages_forum' => 'Darriers messatges publicats dins lu fòros',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'Edicion en mòde tèxt de',
48
-	'en_reponse' => 'En respoasta à:',
49
-	'en_resume' => 'En resumit',
50
-	'envoyer_message' => 'Mandar un messatge',
51
-	'espace_prive' => 'Espaci privat',
52
-
53
-	// F
54
-	'formats_acceptes' => 'Formats acceptats : @formats@.',
55
-
56
-	// H
57
-	'hierarchie_site' => 'Ierarquia dau sit',
58
-
59
-	// J
60
-	'jours' => 'jorns',
61
-
62
-	// L
63
-	'lien_connecter' => 'Si conectar',
64
-
65
-	// M
66
-	'meme_auteur' => 'Dau meme autor',
67
-	'meme_rubrique' => 'Dins la mema rubrica',
68
-	'memes_auteurs' => 'Dei memes autors',
69
-	'message' => 'Messatge',
70
-	'messages_forum' => 'Messatges',
71
-	'messages_recents' => 'Lu messatges de fòros mai recents',
72
-	'mots_clef' => 'Mòt-clau',
73
-	'mots_clefs' => 'Mòts-claus',
74
-	'mots_clefs_meme_groupe' => 'Mòts-claus dins lo meme grop',
75
-
76
-	// N
77
-	'navigation' => 'Navigacion',
78
-	'nom' => 'Nom',
79
-	'nouveautes' => 'Li novèutats',
80
-	'nouveautes_web' => 'Novèutats sus lo oèb',
81
-	'nouveaux_articles' => 'Articles nòus',
82
-	'nouvelles_breves' => 'Brèvas novèlas',
83
-
84
-	// P
85
-	'page_precedente' => 'pàgina anteriora',
86
-	'page_suivante' => 'pàgina seguenta',
87
-	'par_auteur' => 'da',
88
-	'participer_site' => 'Podètz participar à la vida d’aqueu sit e prepauar lu voastres articles en vos inscrivent çai sota. Receberètz un e-mail que v’indicarà lu voastres còdes per accedir à l’espaci privat dau sit.',
89
-	'plan_site' => 'Plan dau site',
90
-	'popularite' => 'Popularitat',
91
-	'poster_message' => 'Postar un messatge',
92
-	'proposer_site' => 'Podètz prepauar un site à ajustar en aquela rubrica:',
93
-
94
-	// R
95
-	'repondre_article' => 'Respoandre à-n-aquel article',
96
-	'repondre_breve' => 'Respoandre à-n-aquela brèva',
97
-	'resultats_recherche' => 'Resultats de la recèrca',
98
-	'retour_debut_forums' => 'Retorn au començament dei fòros',
99
-	'rubrique' => 'Rubrica',
100
-	'rubriques' => 'Rubricas',
101
-
102
-	// S
103
-	'signatures_petition' => 'Firmas',
104
-	'site_realise_avec_spip' => 'Sit realisat embé SPIP',
105
-	'sites_web' => 'Sits web',
106
-	'sous_rubriques' => 'Sosrubricas',
107
-	'spam' => 'Espam',
108
-	'suite' => 'seguida',
109
-	'sur_web' => 'Sus lo oèb',
110
-	'syndiquer_rubrique' => 'Sindicar aquela rubrica',
111
-	'syndiquer_site' => 'Sindicar tot lo sit',
112
-
113
-	// T
114
-	'texte_lettre_information' => 'Vequí la letra d’informacion dau sit',
115
-	'texte_lettre_information_2' => 'Aquela letra recensa li noveutas publicadi despí',
116
-
117
-	// V
118
-	'ver_imprimer' => 'Version d’estampar',
119
-	'voir_en_ligne' => 'Vejatz en linha',
120
-	'voir_squelette' => 'veire l’esqueleta d’aquela pàgina'
12
+    // A
13
+    'accueil_site' => 'Acuèlh',
14
+    'article' => 'Article',
15
+    'articles' => 'Articles',
16
+    'articles_auteur' => 'Articles d’aquel autor',
17
+    'articles_populaires' => 'Lu articles mai populars',
18
+    'articles_rubrique' => 'Articles d’aquela rubrica',
19
+    'aucun_article' => 'Li a minga d’article à-n-aquela adreça',
20
+    'aucun_auteur' => 'Li a minga d’autor à-n-aquela adreça',
21
+    'aucun_site' => 'Li a minga de site à-n-aquela adreça',
22
+    'aucune_breve' => 'Li a minga de brèva à-n-aquela adreça',
23
+    'aucune_rubrique' => 'Li a minga de rubrica à-n-aquela adreça',
24
+    'auteur' => 'Autor',
25
+    'autres' => 'Autres',
26
+    'autres_breves' => 'Autri brèvas',
27
+    'autres_groupes_mots_clefs' => 'Autres grops de mòts claus',
28
+    'autres_sites' => 'Autres sites',
29
+
30
+    // B
31
+    'bonjour' => 'Boanjorn',
32
+
33
+    // C
34
+    'commenter_site' => 'Comentar aqueu site',
35
+    'contact' => 'Contacte',
36
+    'copie_document_impossible' => 'Impossible de copiar lo document',
37
+
38
+    // D
39
+    'date' => 'Data',
40
+    'dernier_ajout' => 'Darrier ajust',
41
+    'dernieres_breves' => 'Darrieras brèvas',
42
+    'derniers_articles' => 'Darriers articles',
43
+    'derniers_commentaires' => 'Darriers comentaris',
44
+    'derniers_messages_forum' => 'Darriers messatges publicats dins lu fòros',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'Edicion en mòde tèxt de',
48
+    'en_reponse' => 'En respoasta à:',
49
+    'en_resume' => 'En resumit',
50
+    'envoyer_message' => 'Mandar un messatge',
51
+    'espace_prive' => 'Espaci privat',
52
+
53
+    // F
54
+    'formats_acceptes' => 'Formats acceptats : @formats@.',
55
+
56
+    // H
57
+    'hierarchie_site' => 'Ierarquia dau sit',
58
+
59
+    // J
60
+    'jours' => 'jorns',
61
+
62
+    // L
63
+    'lien_connecter' => 'Si conectar',
64
+
65
+    // M
66
+    'meme_auteur' => 'Dau meme autor',
67
+    'meme_rubrique' => 'Dins la mema rubrica',
68
+    'memes_auteurs' => 'Dei memes autors',
69
+    'message' => 'Messatge',
70
+    'messages_forum' => 'Messatges',
71
+    'messages_recents' => 'Lu messatges de fòros mai recents',
72
+    'mots_clef' => 'Mòt-clau',
73
+    'mots_clefs' => 'Mòts-claus',
74
+    'mots_clefs_meme_groupe' => 'Mòts-claus dins lo meme grop',
75
+
76
+    // N
77
+    'navigation' => 'Navigacion',
78
+    'nom' => 'Nom',
79
+    'nouveautes' => 'Li novèutats',
80
+    'nouveautes_web' => 'Novèutats sus lo oèb',
81
+    'nouveaux_articles' => 'Articles nòus',
82
+    'nouvelles_breves' => 'Brèvas novèlas',
83
+
84
+    // P
85
+    'page_precedente' => 'pàgina anteriora',
86
+    'page_suivante' => 'pàgina seguenta',
87
+    'par_auteur' => 'da',
88
+    'participer_site' => 'Podètz participar à la vida d’aqueu sit e prepauar lu voastres articles en vos inscrivent çai sota. Receberètz un e-mail que v’indicarà lu voastres còdes per accedir à l’espaci privat dau sit.',
89
+    'plan_site' => 'Plan dau site',
90
+    'popularite' => 'Popularitat',
91
+    'poster_message' => 'Postar un messatge',
92
+    'proposer_site' => 'Podètz prepauar un site à ajustar en aquela rubrica:',
93
+
94
+    // R
95
+    'repondre_article' => 'Respoandre à-n-aquel article',
96
+    'repondre_breve' => 'Respoandre à-n-aquela brèva',
97
+    'resultats_recherche' => 'Resultats de la recèrca',
98
+    'retour_debut_forums' => 'Retorn au començament dei fòros',
99
+    'rubrique' => 'Rubrica',
100
+    'rubriques' => 'Rubricas',
101
+
102
+    // S
103
+    'signatures_petition' => 'Firmas',
104
+    'site_realise_avec_spip' => 'Sit realisat embé SPIP',
105
+    'sites_web' => 'Sits web',
106
+    'sous_rubriques' => 'Sosrubricas',
107
+    'spam' => 'Espam',
108
+    'suite' => 'seguida',
109
+    'sur_web' => 'Sus lo oèb',
110
+    'syndiquer_rubrique' => 'Sindicar aquela rubrica',
111
+    'syndiquer_site' => 'Sindicar tot lo sit',
112
+
113
+    // T
114
+    'texte_lettre_information' => 'Vequí la letra d’informacion dau sit',
115
+    'texte_lettre_information_2' => 'Aquela letra recensa li noveutas publicadi despí',
116
+
117
+    // V
118
+    'ver_imprimer' => 'Version d’estampar',
119
+    'voir_en_ligne' => 'Vejatz en linha',
120
+    'voir_squelette' => 'veire l’esqueleta d’aquela pàgina'
121 121
 );
Please login to merge, or discard this patch.
ecrire/public/aiguiller.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -14,6 +14,9 @@
 block discarded – undo
14 14
 	return;
15 15
 }
16 16
 
17
+/**
18
+ * @return string|null
19
+ */
17 20
 function securiser_redirect_action($redirect) {
18 21
 	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19 22
 	if (strpos($redirect, '%') !== false) {
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -22,11 +22,11 @@  discard block
 block discarded – undo
22 22
 			return $r3;
23 23
 		}
24 24
 	}
25
-	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
25
+	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,', trim($redirect)))
26 26
 		and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27 27
 		// si l'url est une url du site, on la laisse passer sans rien faire
28 28
 		// c'est encore le plus simple
29
-		$base = $GLOBALS['meta']['adresse_site'] . "/";
29
+		$base = $GLOBALS['meta']['adresse_site']."/";
30 30
 		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31 31
 			return $redirect;
32 32
 		}
@@ -145,7 +145,7 @@  discard block
 block discarded – undo
145 145
 			if ($ancre = _request('var_ajax_ancre')) {
146 146
 				// pas n'importe quoi quand meme dans la variable !
147 147
 				$ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
148
+				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>".$texte;
149 149
 			}
150 150
 		} else {
151 151
 			include_spip('inc/headers');
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300 300
 				// sans cela le formulaire n'est pas actif apres le hit ajax
301 301
 				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
302
+				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>".$retour;
303 303
 				ajax_retour($retour, false);
304 304
 
305 305
 				return true; // on a fini le hit
Please login to merge, or discard this patch.
Indentation   +255 added lines, -255 removed lines patch added patch discarded remove patch
@@ -11,153 +11,153 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function securiser_redirect_action($redirect) {
18
-	// cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
-	if (strpos($redirect, '%') !== false) {
20
-		$r2 = urldecode($redirect);
21
-		if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
-			return $r3;
23
-		}
24
-	}
25
-	if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
26
-		and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27
-		// si l'url est une url du site, on la laisse passer sans rien faire
28
-		// c'est encore le plus simple
29
-		$base = $GLOBALS['meta']['adresse_site'] . "/";
30
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31
-			return $redirect;
32
-		}
33
-		$base = url_de_base();
34
-		if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
35
-			return $redirect;
36
-		}
18
+    // cas d'un double urlencode : si un urldecode de l'url n'est pas secure, on retient ca comme redirect
19
+    if (strpos($redirect, '%') !== false) {
20
+        $r2 = urldecode($redirect);
21
+        if (($r3 = securiser_redirect_action($r2)) !== $r2) {
22
+            return $r3;
23
+        }
24
+    }
25
+    if ((tester_url_absolue($redirect) or preg_match(',^\w+:,',trim($redirect)))
26
+        and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
27
+        // si l'url est une url du site, on la laisse passer sans rien faire
28
+        // c'est encore le plus simple
29
+        $base = $GLOBALS['meta']['adresse_site'] . "/";
30
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
31
+            return $redirect;
32
+        }
33
+        $base = url_de_base();
34
+        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
35
+            return $redirect;
36
+        }
37 37
 
38
-		return "";
39
-	}
38
+        return "";
39
+    }
40 40
 
41
-	return $redirect;
41
+    return $redirect;
42 42
 }
43 43
 
44 44
 // https://code.spip.net/@traiter_appels_actions
45 45
 function traiter_appels_actions() {
46
-	// cas de l'appel qui renvoie une redirection (302) ou rien (204)
47
-	if ($action = _request('action')) {
48
-		include_spip('base/abstract_sql'); // chargement systematique pour les actions
49
-		include_spip('inc/autoriser');
50
-		include_spip('inc/headers');
51
-		include_spip('inc/actions');
52
-		// des actions peuvent appeler _T
53
-		if (!isset($GLOBALS['spip_lang'])) {
54
-			include_spip('inc/lang');
55
-			utiliser_langue_visiteur();
56
-		}
57
-		// si l'action est provoque par un hit {ajax}
58
-		// il faut transmettre l'env ajax au redirect
59
-		// on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
60
-		if (($v = _request('var_ajax'))
61
-			and ($v !== 'form')
62
-			and ($args = _request('var_ajax_env'))
63
-			and ($url = _request('redirect'))
64
-		) {
65
-			$url = parametre_url($url, 'var_ajax', $v, '&');
66
-			$url = parametre_url($url, 'var_ajax_env', $args, '&');
67
-			set_request('redirect', $url);
68
-		} else {
69
-			if (_request('redirect')) {
70
-				set_request('redirect', securiser_redirect_action(_request('redirect')));
71
-			}
72
-		}
73
-		$var_f = charger_fonction($action, 'action');
74
-		$var_f();
75
-		if (!isset($GLOBALS['redirect'])) {
76
-			$GLOBALS['redirect'] = _request('redirect');
77
-			if ($_SERVER['REQUEST_METHOD'] == 'POST') {
78
-				$GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
79
-			}
80
-			$GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
81
-		}
82
-		if ($url = $GLOBALS['redirect']) {
83
-			// si l'action est provoque par un hit {ajax}
84
-			// il faut transmettre l'env ajax au redirect 
85
-			// qui a pu etre defini par l'action
86
-			if (($v = _request('var_ajax'))
87
-				and ($v !== 'form')
88
-				and ($args = _request('var_ajax_env'))
89
-			) {
90
-				$url = parametre_url($url, 'var_ajax', $v, '&');
91
-				$url = parametre_url($url, 'var_ajax_env', $args, '&');
92
-				// passer l'ancre en variable pour pouvoir la gerer cote serveur
93
-				$url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
94
-			}
95
-			$url = str_replace('&amp;', '&', $url); // les redirections se font en &, pas en en &amp;
96
-			redirige_par_entete($url);
97
-		}
98
-		if (!headers_sent()
99
-			and !ob_get_length()
100
-		) {
101
-			http_status(204);
102
-		} // No Content
103
-		return true;
104
-	}
46
+    // cas de l'appel qui renvoie une redirection (302) ou rien (204)
47
+    if ($action = _request('action')) {
48
+        include_spip('base/abstract_sql'); // chargement systematique pour les actions
49
+        include_spip('inc/autoriser');
50
+        include_spip('inc/headers');
51
+        include_spip('inc/actions');
52
+        // des actions peuvent appeler _T
53
+        if (!isset($GLOBALS['spip_lang'])) {
54
+            include_spip('inc/lang');
55
+            utiliser_langue_visiteur();
56
+        }
57
+        // si l'action est provoque par un hit {ajax}
58
+        // il faut transmettre l'env ajax au redirect
59
+        // on le met avant dans la query string au cas ou l'action fait elle meme sa redirection
60
+        if (($v = _request('var_ajax'))
61
+            and ($v !== 'form')
62
+            and ($args = _request('var_ajax_env'))
63
+            and ($url = _request('redirect'))
64
+        ) {
65
+            $url = parametre_url($url, 'var_ajax', $v, '&');
66
+            $url = parametre_url($url, 'var_ajax_env', $args, '&');
67
+            set_request('redirect', $url);
68
+        } else {
69
+            if (_request('redirect')) {
70
+                set_request('redirect', securiser_redirect_action(_request('redirect')));
71
+            }
72
+        }
73
+        $var_f = charger_fonction($action, 'action');
74
+        $var_f();
75
+        if (!isset($GLOBALS['redirect'])) {
76
+            $GLOBALS['redirect'] = _request('redirect');
77
+            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
78
+                $GLOBALS['redirect'] = urldecode($GLOBALS['redirect']);
79
+            }
80
+            $GLOBALS['redirect'] = securiser_redirect_action($GLOBALS['redirect']);
81
+        }
82
+        if ($url = $GLOBALS['redirect']) {
83
+            // si l'action est provoque par un hit {ajax}
84
+            // il faut transmettre l'env ajax au redirect 
85
+            // qui a pu etre defini par l'action
86
+            if (($v = _request('var_ajax'))
87
+                and ($v !== 'form')
88
+                and ($args = _request('var_ajax_env'))
89
+            ) {
90
+                $url = parametre_url($url, 'var_ajax', $v, '&');
91
+                $url = parametre_url($url, 'var_ajax_env', $args, '&');
92
+                // passer l'ancre en variable pour pouvoir la gerer cote serveur
93
+                $url = preg_replace(',#([^#&?]+)$,', "&var_ajax_ancre=\\1", $url);
94
+            }
95
+            $url = str_replace('&amp;', '&', $url); // les redirections se font en &, pas en en &amp;
96
+            redirige_par_entete($url);
97
+        }
98
+        if (!headers_sent()
99
+            and !ob_get_length()
100
+        ) {
101
+            http_status(204);
102
+        } // No Content
103
+        return true;
104
+    }
105 105
 
106
-	return false;
106
+    return false;
107 107
 }
108 108
 
109 109
 
110 110
 // https://code.spip.net/@refuser_traiter_formulaire_ajax
111 111
 function refuser_traiter_formulaire_ajax() {
112
-	if ($v = _request('var_ajax')
113
-		and $v == 'form'
114
-		and $form = _request('formulaire_action')
115
-		and $args = _request('formulaire_action_args')
116
-		and decoder_contexte_ajax($args, $form) !== false
117
-	) {
118
-		// on est bien dans le contexte de traitement d'un formulaire en ajax
119
-		// mais traiter ne veut pas
120
-		// on le dit a la page qui va resumbit
121
-		// sans ajax
122
-		include_spip('inc/actions');
123
-		ajax_retour('noajax', false);
124
-		exit;
125
-	}
112
+    if ($v = _request('var_ajax')
113
+        and $v == 'form'
114
+        and $form = _request('formulaire_action')
115
+        and $args = _request('formulaire_action_args')
116
+        and decoder_contexte_ajax($args, $form) !== false
117
+    ) {
118
+        // on est bien dans le contexte de traitement d'un formulaire en ajax
119
+        // mais traiter ne veut pas
120
+        // on le dit a la page qui va resumbit
121
+        // sans ajax
122
+        include_spip('inc/actions');
123
+        ajax_retour('noajax', false);
124
+        exit;
125
+    }
126 126
 }
127 127
 
128 128
 // https://code.spip.net/@traiter_appels_inclusions_ajax
129 129
 function traiter_appels_inclusions_ajax() {
130
-	// traiter les appels de bloc ajax (ex: pagination)
131
-	if ($v = _request('var_ajax')
132
-		and $v !== 'form'
133
-		and $args = _request('var_ajax_env')
134
-	) {
135
-		include_spip('inc/filtres');
136
-		include_spip('inc/actions');
137
-		if ($args = decoder_contexte_ajax($args)
138
-			and $fond = $args['fond']
139
-		) {
140
-			include_spip('public/assembler');
141
-			$contexte = calculer_contexte();
142
-			$contexte = array_merge($args, $contexte);
143
-			$page = recuperer_fond($fond, $contexte, array('trim' => false));
144
-			$texte = $page;
145
-			if ($ancre = _request('var_ajax_ancre')) {
146
-				// pas n'importe quoi quand meme dans la variable !
147
-				$ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
-				$texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
149
-			}
150
-		} else {
151
-			include_spip('inc/headers');
152
-			http_status(400);
153
-			$texte = _L('signature ajax bloc incorrecte');
154
-		}
155
-		ajax_retour($texte, false);
130
+    // traiter les appels de bloc ajax (ex: pagination)
131
+    if ($v = _request('var_ajax')
132
+        and $v !== 'form'
133
+        and $args = _request('var_ajax_env')
134
+    ) {
135
+        include_spip('inc/filtres');
136
+        include_spip('inc/actions');
137
+        if ($args = decoder_contexte_ajax($args)
138
+            and $fond = $args['fond']
139
+        ) {
140
+            include_spip('public/assembler');
141
+            $contexte = calculer_contexte();
142
+            $contexte = array_merge($args, $contexte);
143
+            $page = recuperer_fond($fond, $contexte, array('trim' => false));
144
+            $texte = $page;
145
+            if ($ancre = _request('var_ajax_ancre')) {
146
+                // pas n'importe quoi quand meme dans la variable !
147
+                $ancre = str_replace(array('<', '"', "'"), array('&lt;', '&quot;', ''), $ancre);
148
+                $texte = "<a href='#$ancre' name='ajax_ancre' style='display:none;'>anchor</a>" . $texte;
149
+            }
150
+        } else {
151
+            include_spip('inc/headers');
152
+            http_status(400);
153
+            $texte = _L('signature ajax bloc incorrecte');
154
+        }
155
+        ajax_retour($texte, false);
156 156
 
157
-		return true; // on a fini le hit
158
-	}
157
+        return true; // on a fini le hit
158
+    }
159 159
 
160
-	return false;
160
+    return false;
161 161
 }
162 162
 
163 163
 // au 1er appel, traite les formulaires dynamiques charger/verifier/traiter
@@ -166,148 +166,148 @@  discard block
 block discarded – undo
166 166
 
167 167
 // https://code.spip.net/@traiter_formulaires_dynamiques
168 168
 function traiter_formulaires_dynamiques($get = false) {
169
-	static $post = array();
170
-	static $done = false;
169
+    static $post = array();
170
+    static $done = false;
171 171
 
172
-	if ($get) {
173
-		return $post;
174
-	}
175
-	if ($done) {
176
-		return false;
177
-	}
178
-	$done = true;
172
+    if ($get) {
173
+        return $post;
174
+    }
175
+    if ($done) {
176
+        return false;
177
+    }
178
+    $done = true;
179 179
 
180
-	if (!($form = _request('formulaire_action')
181
-		and $args = _request('formulaire_action_args'))
182
-	) {
183
-		return false;
184
-	} // le hit peut continuer normalement
180
+    if (!($form = _request('formulaire_action')
181
+        and $args = _request('formulaire_action_args'))
182
+    ) {
183
+        return false;
184
+    } // le hit peut continuer normalement
185 185
 
186
-	include_spip('inc/filtres');
187
-	if (($args = decoder_contexte_ajax($args, $form)) === false) {
188
-		spip_log("signature ajax form incorrecte : $form");
186
+    include_spip('inc/filtres');
187
+    if (($args = decoder_contexte_ajax($args, $form)) === false) {
188
+        spip_log("signature ajax form incorrecte : $form");
189 189
 
190
-		return false; // continuons le hit comme si de rien etait
191
-	} else {
192
-		include_spip('inc/lang');
193
-		// sauvegarder la lang en cours
194
-		$old_lang = $GLOBALS['spip_lang'];
195
-		// changer la langue avec celle qui a cours dans le formulaire
196
-		// on la depile de $args car c'est un argument implicite masque	
197
-		changer_langue(array_shift($args));
190
+        return false; // continuons le hit comme si de rien etait
191
+    } else {
192
+        include_spip('inc/lang');
193
+        // sauvegarder la lang en cours
194
+        $old_lang = $GLOBALS['spip_lang'];
195
+        // changer la langue avec celle qui a cours dans le formulaire
196
+        // on la depile de $args car c'est un argument implicite masque	
197
+        changer_langue(array_shift($args));
198 198
 
199 199
 
200
-		// inclure mes_fonctions et autres filtres avant verifier/traiter
201
-		include_fichiers_fonctions();
202
-		// ainsi que l'API SQL bien utile dans verifier/traiter
203
-		include_spip('base/abstract_sql');
200
+        // inclure mes_fonctions et autres filtres avant verifier/traiter
201
+        include_fichiers_fonctions();
202
+        // ainsi que l'API SQL bien utile dans verifier/traiter
203
+        include_spip('base/abstract_sql');
204 204
 
205
-		/**
206
-		 * Pipeline exécuté lors de la soumission d'un formulaire,
207
-		 * mais avant l'appel de la fonction de vérification.
208
-		 */
209
-		pipeline(
210
-			'formulaire_receptionner',
211
-			array(
212
-				'args' => array('form' => $form, 'args' => $args),
213
-				'data' => null,
214
-			)
215
-		);
205
+        /**
206
+         * Pipeline exécuté lors de la soumission d'un formulaire,
207
+         * mais avant l'appel de la fonction de vérification.
208
+         */
209
+        pipeline(
210
+            'formulaire_receptionner',
211
+            array(
212
+                'args' => array('form' => $form, 'args' => $args),
213
+                'data' => null,
214
+            )
215
+        );
216 216
 
217
-		$verifier = charger_fonction("verifier", "formulaires/$form/", true);
218
-		$post["erreurs_$form"] = pipeline(
219
-			'formulaire_verifier',
220
-			array(
221
-				'args' => array('form' => $form, 'args' => $args),
222
-				'data' => $verifier ? call_user_func_array($verifier, $args) : array()
223
-			)
224
-		);
225
-		// prise en charge CVT multi etape si besoin
226
-		if (_request('cvtm_prev_post')) {
227
-			include_spip('inc/cvt_multietapes');
228
-			$post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
229
-				array('form' => $form, 'args' => $args),
230
-				$post["erreurs_$form"]
231
-			);
232
-		}
217
+        $verifier = charger_fonction("verifier", "formulaires/$form/", true);
218
+        $post["erreurs_$form"] = pipeline(
219
+            'formulaire_verifier',
220
+            array(
221
+                'args' => array('form' => $form, 'args' => $args),
222
+                'data' => $verifier ? call_user_func_array($verifier, $args) : array()
223
+            )
224
+        );
225
+        // prise en charge CVT multi etape si besoin
226
+        if (_request('cvtm_prev_post')) {
227
+            include_spip('inc/cvt_multietapes');
228
+            $post["erreurs_$form"] = cvtmulti_formulaire_verifier_etapes(
229
+                array('form' => $form, 'args' => $args),
230
+                $post["erreurs_$form"]
231
+            );
232
+        }
233 233
 
234
-		// accessibilite : si des erreurs mais pas de message general l'ajouter
235
-		if ((isset($post["erreurs_$form"]) and count($post["erreurs_$form"])) and !isset($post["erreurs_$form"]['message_erreur'])) {
236
-			$post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),
237
-				'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
238
-		}
234
+        // accessibilite : si des erreurs mais pas de message general l'ajouter
235
+        if ((isset($post["erreurs_$form"]) and count($post["erreurs_$form"])) and !isset($post["erreurs_$form"]['message_erreur'])) {
236
+            $post["erreurs_$form"]['message_erreur'] = singulier_ou_pluriel(count($post["erreurs_$form"]),
237
+                'avis_1_erreur_saisie', 'avis_nb_erreurs_saisie');
238
+        }
239 239
 
240
-		// si on ne demandait qu'une verif json
241
-		if (_request('formulaire_action_verifier_json')) {
242
-			include_spip('inc/json');
243
-			include_spip('inc/actions');
244
-			ajax_retour(json_encode($post["erreurs_$form"]), 'text/plain');
240
+        // si on ne demandait qu'une verif json
241
+        if (_request('formulaire_action_verifier_json')) {
242
+            include_spip('inc/json');
243
+            include_spip('inc/actions');
244
+            ajax_retour(json_encode($post["erreurs_$form"]), 'text/plain');
245 245
 
246
-			return true; // on a fini le hit
247
-		}
248
-		$retour = "";
249
-		if (isset($post["erreurs_$form"]) and (count($post["erreurs_$form"]) == 0)) {
250
-			$rev = "";
251
-			if ($traiter = charger_fonction("traiter", "formulaires/$form/", true)) {
252
-				$rev = call_user_func_array($traiter, $args);
253
-			}
246
+            return true; // on a fini le hit
247
+        }
248
+        $retour = "";
249
+        if (isset($post["erreurs_$form"]) and (count($post["erreurs_$form"]) == 0)) {
250
+            $rev = "";
251
+            if ($traiter = charger_fonction("traiter", "formulaires/$form/", true)) {
252
+                $rev = call_user_func_array($traiter, $args);
253
+            }
254 254
 
255
-			$rev = pipeline(
256
-				'formulaire_traiter',
257
-				array(
258
-					'args' => array('form' => $form, 'args' => $args),
259
-					'data' => $rev
260
-				)
261
-			);
262
-			// le retour de traiter est
263
-			// un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
264
-			// il permet le pipelinage, en particulier
265
-			// en y passant l'id de l'objet cree/modifie
266
-			// si message_erreur est present, on considere que le traitement a echoue
267
-			$post["message_ok_$form"] = '';
268
-			// on peut avoir message_ok et message_erreur
269
-			if (isset($rev['message_ok'])) {
270
-				$post["message_ok_$form"] = $rev['message_ok'];
271
-			}
255
+            $rev = pipeline(
256
+                'formulaire_traiter',
257
+                array(
258
+                    'args' => array('form' => $form, 'args' => $args),
259
+                    'data' => $rev
260
+                )
261
+            );
262
+            // le retour de traiter est
263
+            // un tableau explicite ('editable'=>$editable,'message_ok'=>$message,'redirect'=>$redirect,'id_xx'=>$id_xx)
264
+            // il permet le pipelinage, en particulier
265
+            // en y passant l'id de l'objet cree/modifie
266
+            // si message_erreur est present, on considere que le traitement a echoue
267
+            $post["message_ok_$form"] = '';
268
+            // on peut avoir message_ok et message_erreur
269
+            if (isset($rev['message_ok'])) {
270
+                $post["message_ok_$form"] = $rev['message_ok'];
271
+            }
272 272
 
273
-			// verifier si traiter n'a pas echoue avec une erreur :
274
-			if (isset($rev['message_erreur'])) {
275
-				$post["erreurs_$form"]["message_erreur"] = $rev['message_erreur'];
276
-				// si il y a une erreur on ne redirige pas
277
-			} else {
278
-				// sinon faire ce qu'il faut :
279
-				if (isset($rev['editable'])) {
280
-					$post["editable_$form"] = $rev['editable'];
281
-				}
282
-				// si une redirection est demandee, appeler redirigae_formulaire qui choisira
283
-				// le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
284
-				if (isset($rev['redirect']) and $rev['redirect']) {
285
-					include_spip('inc/headers');
286
-					list($masque, $message) = redirige_formulaire($rev['redirect'], '', 'ajaxform');
287
-					$post["message_ok_$form"] .= $message;
288
-					$retour .= $masque;
289
-				}
290
-			}
291
-		}
292
-		// si le formulaire a ete soumis en ajax, on le renvoie direct !
293
-		if (_request('var_ajax')) {
294
-			if (find_in_path('formulaire_.php', 'balise/', true)) {
295
-				include_spip('inc/actions');
296
-				include_spip('public/assembler');
297
-				array_unshift($args, $form);
298
-				$retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
299
-				// on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300
-				// sans cela le formulaire n'est pas actif apres le hit ajax
301
-				// la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
-				$retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
303
-				ajax_retour($retour, false);
273
+            // verifier si traiter n'a pas echoue avec une erreur :
274
+            if (isset($rev['message_erreur'])) {
275
+                $post["erreurs_$form"]["message_erreur"] = $rev['message_erreur'];
276
+                // si il y a une erreur on ne redirige pas
277
+            } else {
278
+                // sinon faire ce qu'il faut :
279
+                if (isset($rev['editable'])) {
280
+                    $post["editable_$form"] = $rev['editable'];
281
+                }
282
+                // si une redirection est demandee, appeler redirigae_formulaire qui choisira
283
+                // le bon mode de redirection (302 et on ne revient pas ici, ou javascript et on continue)
284
+                if (isset($rev['redirect']) and $rev['redirect']) {
285
+                    include_spip('inc/headers');
286
+                    list($masque, $message) = redirige_formulaire($rev['redirect'], '', 'ajaxform');
287
+                    $post["message_ok_$form"] .= $message;
288
+                    $retour .= $masque;
289
+                }
290
+            }
291
+        }
292
+        // si le formulaire a ete soumis en ajax, on le renvoie direct !
293
+        if (_request('var_ajax')) {
294
+            if (find_in_path('formulaire_.php', 'balise/', true)) {
295
+                include_spip('inc/actions');
296
+                include_spip('public/assembler');
297
+                array_unshift($args, $form);
298
+                $retour .= inclure_balise_dynamique(call_user_func_array('balise_formulaire__dyn', $args), false);
299
+                // on ajoute un br en display none en tete du retour ajax pour regler un bug dans IE6/7
300
+                // sans cela le formulaire n'est pas actif apres le hit ajax
301
+                // la classe ajax-form-is-ok sert a s'assurer que le retour ajax s'est bien passe
302
+                $retour = "<br class='bugajaxie ajax-form-is-ok' style='display:none;'/>" . $retour;
303
+                ajax_retour($retour, false);
304 304
 
305
-				return true; // on a fini le hit
306
-			}
307
-		}
308
-		// restaurer la lang en cours
309
-		changer_langue($old_lang);
310
-	}
305
+                return true; // on a fini le hit
306
+            }
307
+        }
308
+        // restaurer la lang en cours
309
+        changer_langue($old_lang);
310
+    }
311 311
 
312
-	return false; // le hit peut continuer normalement
312
+    return false; // le hit peut continuer normalement
313 313
 }
Please login to merge, or discard this patch.
prive/formulaires/editer_liens.php 3 patches
Indentation   +345 added lines, -345 removed lines patch added patch discarded remove patch
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
  * @package SPIP\Core\Formulaires
16 16
  **/
17 17
 if (!defined('_ECRIRE_INC_VERSION')) {
18
-	return;
18
+    return;
19 19
 }
20 20
 
21 21
 
@@ -35,25 +35,25 @@  discard block
 block discarded – undo
35 35
  *   ($table_source,$objet,$id_objet,$objet_lien)
36 36
  */
37 37
 function determine_source_lien_objet($a, $b, $c) {
38
-	$table_source = $objet_lien = $objet = $id_objet = null;
39
-	// auteurs, article, 23 :
40
-	// associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
-	if (is_numeric($c) and !is_numeric($b)) {
42
-		$table_source = table_objet($a);
43
-		$objet_lien = objet_type($a);
44
-		$objet = objet_type($b);
45
-		$id_objet = $c;
46
-	}
47
-	// article, 23, auteurs
48
-	// associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
-	if (is_numeric($b) and !is_numeric($c)) {
50
-		$table_source = table_objet($c);
51
-		$objet_lien = objet_type($a);
52
-		$objet = objet_type($a);
53
-		$id_objet = $b;
54
-	}
55
-
56
-	return array($table_source, $objet, $id_objet, $objet_lien);
38
+    $table_source = $objet_lien = $objet = $id_objet = null;
39
+    // auteurs, article, 23 :
40
+    // associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens
41
+    if (is_numeric($c) and !is_numeric($b)) {
42
+        $table_source = table_objet($a);
43
+        $objet_lien = objet_type($a);
44
+        $objet = objet_type($b);
45
+        $id_objet = $c;
46
+    }
47
+    // article, 23, auteurs
48
+    // associer des auteurs à l'article 23, sur la table pivot spip_articles_liens
49
+    if (is_numeric($b) and !is_numeric($c)) {
50
+        $table_source = table_objet($c);
51
+        $objet_lien = objet_type($a);
52
+        $objet = objet_type($a);
53
+        $id_objet = $b;
54
+    }
55
+
56
+    return array($table_source, $objet, $id_objet, $objet_lien);
57 57
 }
58 58
 
59 59
 /**
@@ -79,91 +79,91 @@  discard block
 block discarded – undo
79 79
  */
80 80
 function formulaires_editer_liens_charger_dist($a, $b, $c, $options = array()) {
81 81
 
82
-	// compat avec ancienne signature ou le 4eme argument est $editable
83
-	if (!is_array($options)) {
84
-		$options = array('editable' => $options);
85
-	} elseif (!isset($options['editable'])) {
86
-		$options['editable'] = true;
87
-	}
88
-
89
-	$editable = $options['editable'];
90
-
91
-	list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
92
-	if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
93
-		return false;
94
-	}
95
-
96
-	$objet_source = objet_type($table_source);
97
-	$table_sql_source = table_objet_sql($objet_source);
98
-
99
-	// verifier existence de la table xxx_liens
100
-	include_spip('action/editer_liens');
101
-	if (!objet_associable($objet_lien)) {
102
-		return false;
103
-	}
104
-
105
-	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
-	include_spip('inc/autoriser');
107
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
108
-		and autoriser('modifier', $objet, $id_objet));
109
-
110
-	if (!$editable and !count(objet_trouver_liens(
111
-		array($objet_lien => '*'),
112
-		array(($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet)
113
-	))) {
114
-		return false;
115
-	}
116
-
117
-	// squelettes de vue et de d'association
118
-	// ils sont différents si des rôles sont définis.
119
-	$skel_vue = $table_source . '_lies';
120
-	$skel_ajout = $table_source . '_associer';
121
-
122
-	// description des roles
123
-	include_spip('inc/roles');
124
-	if ($roles = roles_presents($objet_source, $objet)) {
125
-		// on demande de nouveaux squelettes en conséquence
126
-		$skel_vue = $table_source . '_roles_lies';
127
-		$skel_ajout = $table_source . '_roles_associer';
128
-	}
129
-
130
-	$oups = _request('_oups');
131
-	if (unserialize(base64_decode($oups))) {
132
-		// on est bon, rien a faire
133
-	}
134
-	elseif(unserialize($oups)) {
135
-		// il faut encoder
136
-		$oups = base64_encode($oups);
137
-	}
138
-	else {
139
-		$oups = '';
140
-	}
141
-	$valeurs = array(
142
-		'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
143
-		'_vue_liee' => $skel_vue,
144
-		'_vue_ajout' => $skel_ajout,
145
-		'_objet_lien' => $objet_lien,
146
-		'id_lien_ajoute' => _request('id_lien_ajoute'),
147
-		'objet' => $objet,
148
-		'id_objet' => $id_objet,
149
-		'objet_source' => $objet_source,
150
-		'table_source' => $table_source,
151
-		'recherche' => '',
152
-		'visible' => 0,
153
-		'ajouter_lien' => '',
154
-		'supprimer_lien' => '',
155
-		'qualifier_lien' => '',
156
-		'ordonner_lien' => '',
157
-		'desordonner_liens' => '',
158
-		'_roles' => $roles, # description des roles
159
-		'_oups' => $oups,
160
-		'editable' => $editable,
161
-	);
162
-
163
-	// les options non definies dans $valeurs sont passees telles quelles au formulaire html
164
-	$valeurs = array_merge($options, $valeurs);
165
-
166
-	return $valeurs;
82
+    // compat avec ancienne signature ou le 4eme argument est $editable
83
+    if (!is_array($options)) {
84
+        $options = array('editable' => $options);
85
+    } elseif (!isset($options['editable'])) {
86
+        $options['editable'] = true;
87
+    }
88
+
89
+    $editable = $options['editable'];
90
+
91
+    list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
92
+    if (!$table_source or !$objet or !$objet_lien or !$id_objet) {
93
+        return false;
94
+    }
95
+
96
+    $objet_source = objet_type($table_source);
97
+    $table_sql_source = table_objet_sql($objet_source);
98
+
99
+    // verifier existence de la table xxx_liens
100
+    include_spip('action/editer_liens');
101
+    if (!objet_associable($objet_lien)) {
102
+        return false;
103
+    }
104
+
105
+    // L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106
+    include_spip('inc/autoriser');
107
+    $editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
108
+        and autoriser('modifier', $objet, $id_objet));
109
+
110
+    if (!$editable and !count(objet_trouver_liens(
111
+        array($objet_lien => '*'),
112
+        array(($objet_lien == $objet_source ? $objet : $objet_source) => $id_objet)
113
+    ))) {
114
+        return false;
115
+    }
116
+
117
+    // squelettes de vue et de d'association
118
+    // ils sont différents si des rôles sont définis.
119
+    $skel_vue = $table_source . '_lies';
120
+    $skel_ajout = $table_source . '_associer';
121
+
122
+    // description des roles
123
+    include_spip('inc/roles');
124
+    if ($roles = roles_presents($objet_source, $objet)) {
125
+        // on demande de nouveaux squelettes en conséquence
126
+        $skel_vue = $table_source . '_roles_lies';
127
+        $skel_ajout = $table_source . '_roles_associer';
128
+    }
129
+
130
+    $oups = _request('_oups');
131
+    if (unserialize(base64_decode($oups))) {
132
+        // on est bon, rien a faire
133
+    }
134
+    elseif(unserialize($oups)) {
135
+        // il faut encoder
136
+        $oups = base64_encode($oups);
137
+    }
138
+    else {
139
+        $oups = '';
140
+    }
141
+    $valeurs = array(
142
+        'id' => "$table_source-$objet-$id_objet-$objet_lien", // identifiant unique pour les id du form
143
+        '_vue_liee' => $skel_vue,
144
+        '_vue_ajout' => $skel_ajout,
145
+        '_objet_lien' => $objet_lien,
146
+        'id_lien_ajoute' => _request('id_lien_ajoute'),
147
+        'objet' => $objet,
148
+        'id_objet' => $id_objet,
149
+        'objet_source' => $objet_source,
150
+        'table_source' => $table_source,
151
+        'recherche' => '',
152
+        'visible' => 0,
153
+        'ajouter_lien' => '',
154
+        'supprimer_lien' => '',
155
+        'qualifier_lien' => '',
156
+        'ordonner_lien' => '',
157
+        'desordonner_liens' => '',
158
+        '_roles' => $roles, # description des roles
159
+        '_oups' => $oups,
160
+        'editable' => $editable,
161
+    );
162
+
163
+    // les options non definies dans $valeurs sont passees telles quelles au formulaire html
164
+    $valeurs = array_merge($options, $valeurs);
165
+
166
+    return $valeurs;
167 167
 }
168 168
 
169 169
 /**
@@ -207,161 +207,161 @@  discard block
 block discarded – undo
207 207
  * @return array
208 208
  */
209 209
 function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = array()) {
210
-	// compat avec ancienne signature ou le 4eme argument est $editable
211
-	if (!is_array($options)) {
212
-		$options = array('editable' => $options);
213
-	} elseif (!isset($options['editable'])) {
214
-		$options['editable'] = true;
215
-	}
216
-
217
-	$editable = $options['editable'];
218
-
219
-	$res = array('editable' => $editable ? true : false);
220
-	list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
221
-	if (!$table_source or !$objet or !$objet_lien) {
222
-		return $res;
223
-	}
224
-
225
-
226
-	if (_request('tout_voir')) {
227
-		set_request('recherche', '');
228
-	}
229
-
230
-	include_spip('inc/autoriser');
231
-	if (autoriser('modifier', $objet, $id_objet)) {
232
-		// annuler les suppressions du coup d'avant !
233
-		if (_request('annuler_oups')
234
-			and $oups = _request('_oups')
235
-			and $oups = base64_decode($oups)
236
-			and $oups = unserialize($oups)
237
-		) {
238
-			if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
239
-				$oups_objets($oups);
240
-			} else {
241
-				$objet_source = objet_type($table_source);
242
-				include_spip('action/editer_liens');
243
-				foreach ($oups as $oup) {
244
-					if ($objet_lien == $objet_source) {
245
-						objet_associer(array($objet_source => $oup[$objet_source]), array($objet => $oup[$objet]), $oup);
246
-					} else {
247
-						objet_associer(array($objet => $oup[$objet]), array($objet_source => $oup[$objet_source]), $oup);
248
-					}
249
-				}
250
-			}
251
-			# oups ne persiste que pour la derniere action, si suppression
252
-			set_request('_oups');
253
-		}
254
-
255
-		$supprimer = _request('supprimer_lien');
256
-		$ajouter = _request('ajouter_lien');
257
-		$ordonner = _request('ordonner_lien');
258
-
259
-		if (_request('desordonner_liens')) {
260
-			include_spip('action/editer_liens');
261
-			objet_qualifier_liens(array($objet_lien => '*'), array($objet => $id_objet), array('rang_lien' => 0));
262
-		}
263
-
264
-		// il est possible de preciser dans une seule variable un remplacement :
265
-		// remplacer_lien[old][new]
266
-		if ($remplacer = _request('remplacer_lien')) {
267
-			foreach ($remplacer as $k => $v) {
268
-				if ($old = lien_verifier_action($k, '')) {
269
-					foreach (is_array($v) ? $v : array($v) as $kn => $vn) {
270
-						if ($new = lien_verifier_action($kn, $vn)) {
271
-							$supprimer[$old] = 'x';
272
-							$ajouter[$new] = '+';
273
-						}
274
-					}
275
-				}
276
-			}
277
-		}
278
-
279
-		if ($supprimer) {
280
-			if ($supprimer_objets = charger_fonction(
281
-				"editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
282
-				'action',
283
-				true
284
-			)) {
285
-				$oups = $supprimer_objets($supprimer);
286
-			} else {
287
-				include_spip('action/editer_liens');
288
-				$oups = array();
289
-
290
-				foreach ($supprimer as $k => $v) {
291
-					if ($lien = lien_verifier_action($k, $v)) {
292
-						$lien = explode('-', $lien);
293
-						list($objet_source, $ids, $objet_lie, $idl, $role) = array_pad($lien, 5, null);
294
-						// appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
-						$cond = (!is_null($role) ? array('role' => $role) : array());
296
-						if ($objet_lien == $objet_source) {
297
-							$oups = array_merge(
298
-								$oups,
299
-								objet_trouver_liens(array($objet_source => $ids), array($objet_lie => $idl), $cond)
300
-							);
301
-							objet_dissocier(array($objet_source => $ids), array($objet_lie => $idl), $cond);
302
-						} else {
303
-							$oups = array_merge(
304
-								$oups,
305
-								objet_trouver_liens(array($objet_lie => $idl), array($objet_source => $ids), $cond)
306
-							);
307
-							objet_dissocier(array($objet_lie => $idl), array($objet_source => $ids), $cond);
308
-						}
309
-					}
310
-				}
311
-			}
312
-			set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
313
-		}
314
-
315
-		if ($ajouter) {
316
-			if ($ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
317
-			) {
318
-				$ajout_ok = $ajouter_objets($ajouter);
319
-			} else {
320
-				$ajout_ok = false;
321
-				include_spip('action/editer_liens');
322
-				foreach ($ajouter as $k => $v) {
323
-					if ($lien = lien_verifier_action($k, $v)) {
324
-						$ajout_ok = true;
325
-						list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
326
-						$qualifs = lien_retrouver_qualif($objet_lien, $lien);
327
-						if ($objet_lien == $objet1) {
328
-							lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
329
-						} else {
330
-							lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
331
-						}
332
-						set_request('id_lien_ajoute', $ids);
333
-					}
334
-				}
335
-			}
336
-			# oups ne persiste que pour la derniere action, si suppression
337
-			# une suppression suivie d'un ajout dans le meme hit est un remplacement
338
-			# non annulable !
339
-			if ($ajout_ok) {
340
-				set_request('_oups');
341
-			}
342
-		}
343
-
344
-		if ($ordonner) {
345
-			include_spip('action/editer_liens');
346
-			foreach ($ordonner as $k => $rang_lien) {
347
-				if ($lien = lien_verifier_action($k, '')) {
348
-					list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
349
-					$qualif = array('rang_lien' => $rang_lien);
350
-
351
-					if ($objet_lien == $objet1) {
352
-						objet_qualifier_liens(array($objet1 => $ids), array($objet2 => $idl), $qualif);
353
-					} else {
354
-						objet_qualifier_liens(array($objet2 => $idl), array($objet1 => $ids), $qualif);
355
-					}
356
-					set_request('id_lien_ajoute', $ids);
357
-					set_request('_oups');
358
-				}
359
-			}
360
-		}
361
-	}
362
-
363
-
364
-	return $res;
210
+    // compat avec ancienne signature ou le 4eme argument est $editable
211
+    if (!is_array($options)) {
212
+        $options = array('editable' => $options);
213
+    } elseif (!isset($options['editable'])) {
214
+        $options['editable'] = true;
215
+    }
216
+
217
+    $editable = $options['editable'];
218
+
219
+    $res = array('editable' => $editable ? true : false);
220
+    list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c);
221
+    if (!$table_source or !$objet or !$objet_lien) {
222
+        return $res;
223
+    }
224
+
225
+
226
+    if (_request('tout_voir')) {
227
+        set_request('recherche', '');
228
+    }
229
+
230
+    include_spip('inc/autoriser');
231
+    if (autoriser('modifier', $objet, $id_objet)) {
232
+        // annuler les suppressions du coup d'avant !
233
+        if (_request('annuler_oups')
234
+            and $oups = _request('_oups')
235
+            and $oups = base64_decode($oups)
236
+            and $oups = unserialize($oups)
237
+        ) {
238
+            if ($oups_objets = charger_fonction("editer_liens_oups_{$table_source}_{$objet}_{$objet_lien}", 'action', true)) {
239
+                $oups_objets($oups);
240
+            } else {
241
+                $objet_source = objet_type($table_source);
242
+                include_spip('action/editer_liens');
243
+                foreach ($oups as $oup) {
244
+                    if ($objet_lien == $objet_source) {
245
+                        objet_associer(array($objet_source => $oup[$objet_source]), array($objet => $oup[$objet]), $oup);
246
+                    } else {
247
+                        objet_associer(array($objet => $oup[$objet]), array($objet_source => $oup[$objet_source]), $oup);
248
+                    }
249
+                }
250
+            }
251
+            # oups ne persiste que pour la derniere action, si suppression
252
+            set_request('_oups');
253
+        }
254
+
255
+        $supprimer = _request('supprimer_lien');
256
+        $ajouter = _request('ajouter_lien');
257
+        $ordonner = _request('ordonner_lien');
258
+
259
+        if (_request('desordonner_liens')) {
260
+            include_spip('action/editer_liens');
261
+            objet_qualifier_liens(array($objet_lien => '*'), array($objet => $id_objet), array('rang_lien' => 0));
262
+        }
263
+
264
+        // il est possible de preciser dans une seule variable un remplacement :
265
+        // remplacer_lien[old][new]
266
+        if ($remplacer = _request('remplacer_lien')) {
267
+            foreach ($remplacer as $k => $v) {
268
+                if ($old = lien_verifier_action($k, '')) {
269
+                    foreach (is_array($v) ? $v : array($v) as $kn => $vn) {
270
+                        if ($new = lien_verifier_action($kn, $vn)) {
271
+                            $supprimer[$old] = 'x';
272
+                            $ajouter[$new] = '+';
273
+                        }
274
+                    }
275
+                }
276
+            }
277
+        }
278
+
279
+        if ($supprimer) {
280
+            if ($supprimer_objets = charger_fonction(
281
+                "editer_liens_supprimer_{$table_source}_{$objet}_{$objet_lien}",
282
+                'action',
283
+                true
284
+            )) {
285
+                $oups = $supprimer_objets($supprimer);
286
+            } else {
287
+                include_spip('action/editer_liens');
288
+                $oups = array();
289
+
290
+                foreach ($supprimer as $k => $v) {
291
+                    if ($lien = lien_verifier_action($k, $v)) {
292
+                        $lien = explode('-', $lien);
293
+                        list($objet_source, $ids, $objet_lie, $idl, $role) = array_pad($lien, 5, null);
294
+                        // appliquer une condition sur le rôle si défini ('*' pour tous les roles)
295
+                        $cond = (!is_null($role) ? array('role' => $role) : array());
296
+                        if ($objet_lien == $objet_source) {
297
+                            $oups = array_merge(
298
+                                $oups,
299
+                                objet_trouver_liens(array($objet_source => $ids), array($objet_lie => $idl), $cond)
300
+                            );
301
+                            objet_dissocier(array($objet_source => $ids), array($objet_lie => $idl), $cond);
302
+                        } else {
303
+                            $oups = array_merge(
304
+                                $oups,
305
+                                objet_trouver_liens(array($objet_lie => $idl), array($objet_source => $ids), $cond)
306
+                            );
307
+                            objet_dissocier(array($objet_lie => $idl), array($objet_source => $ids), $cond);
308
+                        }
309
+                    }
310
+                }
311
+            }
312
+            set_request('_oups', $oups ? base64_encode(serialize($oups)) : null);
313
+        }
314
+
315
+        if ($ajouter) {
316
+            if ($ajouter_objets = charger_fonction("editer_liens_ajouter_{$table_source}_{$objet}_{$objet_lien}", 'action', true)
317
+            ) {
318
+                $ajout_ok = $ajouter_objets($ajouter);
319
+            } else {
320
+                $ajout_ok = false;
321
+                include_spip('action/editer_liens');
322
+                foreach ($ajouter as $k => $v) {
323
+                    if ($lien = lien_verifier_action($k, $v)) {
324
+                        $ajout_ok = true;
325
+                        list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
326
+                        $qualifs = lien_retrouver_qualif($objet_lien, $lien);
327
+                        if ($objet_lien == $objet1) {
328
+                            lien_ajouter_liaisons($objet1, $ids, $objet2, $idl, $qualifs);
329
+                        } else {
330
+                            lien_ajouter_liaisons($objet2, $idl, $objet1, $ids, $qualifs);
331
+                        }
332
+                        set_request('id_lien_ajoute', $ids);
333
+                    }
334
+                }
335
+            }
336
+            # oups ne persiste que pour la derniere action, si suppression
337
+            # une suppression suivie d'un ajout dans le meme hit est un remplacement
338
+            # non annulable !
339
+            if ($ajout_ok) {
340
+                set_request('_oups');
341
+            }
342
+        }
343
+
344
+        if ($ordonner) {
345
+            include_spip('action/editer_liens');
346
+            foreach ($ordonner as $k => $rang_lien) {
347
+                if ($lien = lien_verifier_action($k, '')) {
348
+                    list($objet1, $ids, $objet2, $idl) = explode('-', $lien);
349
+                    $qualif = array('rang_lien' => $rang_lien);
350
+
351
+                    if ($objet_lien == $objet1) {
352
+                        objet_qualifier_liens(array($objet1 => $ids), array($objet2 => $idl), $qualif);
353
+                    } else {
354
+                        objet_qualifier_liens(array($objet2 => $idl), array($objet1 => $ids), $qualif);
355
+                    }
356
+                    set_request('id_lien_ajoute', $ids);
357
+                    set_request('_oups');
358
+                }
359
+            }
360
+        }
361
+    }
362
+
363
+
364
+    return $res;
365 365
 }
366 366
 
367 367
 
@@ -384,24 +384,24 @@  discard block
 block discarded – undo
384 384
  * @return string Action demandée si trouvée, sinon ''
385 385
  */
386 386
 function lien_verifier_action($k, $v) {
387
-	$action = '';
388
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
389
-		$action = $k;
390
-	}
391
-	if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
392
-		if (is_numeric($k)) {
393
-			$action = $v;
394
-		}
395
-		if (_request($k)) {
396
-			$action = $v;
397
-		}
398
-	}
399
-	// ajout un role null fictif (plus pratique) si pas défini
400
-	if ($action and count(explode('-', $action)) == 4) {
401
-		$action .= '-';
402
-	}
403
-
404
-	return $action;
387
+    $action = '';
388
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $k)) {
389
+        $action = $k;
390
+    }
391
+    if (preg_match(',^\w+-[\w*]+-[\w*]+-[\w*]+(-[\w*])?,', $v)) {
392
+        if (is_numeric($k)) {
393
+            $action = $v;
394
+        }
395
+        if (_request($k)) {
396
+            $action = $v;
397
+        }
398
+    }
399
+    // ajout un role null fictif (plus pratique) si pas défini
400
+    if ($action and count(explode('-', $action)) == 4) {
401
+        $action .= '-';
402
+    }
403
+
404
+    return $action;
405 405
 }
406 406
 
407 407
 
@@ -417,65 +417,65 @@  discard block
 block discarded – undo
417 417
  *   Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.
418 418
  **/
419 419
 function lien_retrouver_qualif($objet_lien, $lien) {
420
-	// un role est défini dans la liaison
421
-	$defs = explode('-', $lien);
422
-	list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
423
-	if ($objet_lien == $objet1) {
424
-		$colonne_role = roles_colonne($objet1, $objet2);
425
-	} else {
426
-		$colonne_role = roles_colonne($objet2, $objet1);
427
-	}
428
-
429
-	// cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
430
-	if ($role) {
431
-		return array(
432
-			// un seul lien avec ce role
433
-			array($colonne_role => $role)
434
-		);
435
-	}
436
-
437
-	// retrouver les rôles postés pour cette liaison, s'il y en a.
438
-	$qualifier_lien = _request('qualifier_lien');
439
-	if (!$qualifier_lien or !is_array($qualifier_lien)) {
440
-		return array();
441
-	}
442
-
443
-	// pas avec l'action complete (incluant le role)
444
-	$qualif = array();
445
-	if ((!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
446
-		and count($defs) == 5
447
-	) {
448
-		// on tente avec l'action sans le role
449
-		array_pop($defs);
450
-		$lien = implode('-', $defs);
451
-		if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
452
-			$qualif = array();
453
-		}
454
-	}
455
-
456
-	// $qualif de la forme array(role=>array(...),valeur=>array(...),....)
457
-	// on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
458
-	$qualifs = array();
459
-	while (count($qualif)) {
460
-		$q = array();
461
-		foreach ($qualif as $att => $values) {
462
-			if (is_array($values)) {
463
-				$q[$att] = array_shift($qualif[$att]);
464
-				if (!count($qualif[$att])) {
465
-					unset($qualif[$att]);
466
-				}
467
-			} else {
468
-				$q[$att] = $values;
469
-				unset($qualif[$att]);
470
-			}
471
-		}
472
-		// pas de rôle vide
473
-		if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
474
-			$qualifs[] = $q;
475
-		}
476
-	}
477
-
478
-	return $qualifs;
420
+    // un role est défini dans la liaison
421
+    $defs = explode('-', $lien);
422
+    list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
423
+    if ($objet_lien == $objet1) {
424
+        $colonne_role = roles_colonne($objet1, $objet2);
425
+    } else {
426
+        $colonne_role = roles_colonne($objet2, $objet1);
427
+    }
428
+
429
+    // cas ou le role est defini en 5e argument de l'action sur le lien (suppression, ajout rapide sans autre attribut)
430
+    if ($role) {
431
+        return array(
432
+            // un seul lien avec ce role
433
+            array($colonne_role => $role)
434
+        );
435
+    }
436
+
437
+    // retrouver les rôles postés pour cette liaison, s'il y en a.
438
+    $qualifier_lien = _request('qualifier_lien');
439
+    if (!$qualifier_lien or !is_array($qualifier_lien)) {
440
+        return array();
441
+    }
442
+
443
+    // pas avec l'action complete (incluant le role)
444
+    $qualif = array();
445
+    if ((!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien])
446
+        and count($defs) == 5
447
+    ) {
448
+        // on tente avec l'action sans le role
449
+        array_pop($defs);
450
+        $lien = implode('-', $defs);
451
+        if (!isset($qualifier_lien[$lien]) or !$qualif = $qualifier_lien[$lien]) {
452
+            $qualif = array();
453
+        }
454
+    }
455
+
456
+    // $qualif de la forme array(role=>array(...),valeur=>array(...),....)
457
+    // on le reforme en array(array(role=>..,valeur=>..,..),array(role=>..,valeur=>..,..),...)
458
+    $qualifs = array();
459
+    while (count($qualif)) {
460
+        $q = array();
461
+        foreach ($qualif as $att => $values) {
462
+            if (is_array($values)) {
463
+                $q[$att] = array_shift($qualif[$att]);
464
+                if (!count($qualif[$att])) {
465
+                    unset($qualif[$att]);
466
+                }
467
+            } else {
468
+                $q[$att] = $values;
469
+                unset($qualif[$att]);
470
+            }
471
+        }
472
+        // pas de rôle vide
473
+        if (!$colonne_role or !isset($q[$colonne_role]) or $q[$colonne_role]) {
474
+            $qualifs[] = $q;
475
+        }
476
+    }
477
+
478
+    return $qualifs;
479 479
 }
480 480
 
481 481
 /**
@@ -494,12 +494,12 @@  discard block
 block discarded – undo
494 494
  **/
495 495
 function lien_ajouter_liaisons($objet_source, $ids, $objet_lien, $idl, $qualifs) {
496 496
 
497
-	// retrouver la colonne de roles s'il y en a a lier
498
-	if (is_array($qualifs) and count($qualifs)) {
499
-		foreach ($qualifs as $qualif) {
500
-			objet_associer(array($objet_source => $ids), array($objet_lien => $idl), $qualif);
501
-		}
502
-	} else {
503
-		objet_associer(array($objet_source => $ids), array($objet_lien => $idl));
504
-	}
497
+    // retrouver la colonne de roles s'il y en a a lier
498
+    if (is_array($qualifs) and count($qualifs)) {
499
+        foreach ($qualifs as $qualif) {
500
+            objet_associer(array($objet_source => $ids), array($objet_lien => $idl), $qualif);
501
+        }
502
+    } else {
503
+        objet_associer(array($objet_source => $ids), array($objet_lien => $idl));
504
+    }
505 505
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
 
105 105
 	// L'éditabilité :) est définie par un test permanent (par exemple "associermots") ET le 4ème argument
106 106
 	include_spip('inc/autoriser');
107
-	$editable = ($editable and autoriser('associer' . $table_source, $objet, $id_objet)
107
+	$editable = ($editable and autoriser('associer'.$table_source, $objet, $id_objet)
108 108
 		and autoriser('modifier', $objet, $id_objet));
109 109
 
110 110
 	if (!$editable and !count(objet_trouver_liens(
@@ -116,22 +116,22 @@  discard block
 block discarded – undo
116 116
 
117 117
 	// squelettes de vue et de d'association
118 118
 	// ils sont différents si des rôles sont définis.
119
-	$skel_vue = $table_source . '_lies';
120
-	$skel_ajout = $table_source . '_associer';
119
+	$skel_vue = $table_source.'_lies';
120
+	$skel_ajout = $table_source.'_associer';
121 121
 
122 122
 	// description des roles
123 123
 	include_spip('inc/roles');
124 124
 	if ($roles = roles_presents($objet_source, $objet)) {
125 125
 		// on demande de nouveaux squelettes en conséquence
126
-		$skel_vue = $table_source . '_roles_lies';
127
-		$skel_ajout = $table_source . '_roles_associer';
126
+		$skel_vue = $table_source.'_roles_lies';
127
+		$skel_ajout = $table_source.'_roles_associer';
128 128
 	}
129 129
 
130 130
 	$oups = _request('_oups');
131 131
 	if (unserialize(base64_decode($oups))) {
132 132
 		// on est bon, rien a faire
133 133
 	}
134
-	elseif(unserialize($oups)) {
134
+	elseif (unserialize($oups)) {
135 135
 		// il faut encoder
136 136
 		$oups = base64_encode($oups);
137 137
 	}
@@ -419,7 +419,7 @@  discard block
 block discarded – undo
419 419
 function lien_retrouver_qualif($objet_lien, $lien) {
420 420
 	// un role est défini dans la liaison
421 421
 	$defs = explode('-', $lien);
422
-	list($objet1, , $objet2, , $role) = array_pad($defs, 5, null);
422
+	list($objet1,, $objet2,, $role) = array_pad($defs, 5, null);
423 423
 	if ($objet_lien == $objet1) {
424 424
 		$colonne_role = roles_colonne($objet1, $objet2);
425 425
 	} else {
Please login to merge, or discard this patch.
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -130,12 +130,10 @@
 block discarded – undo
130 130
 	$oups = _request('_oups');
131 131
 	if (unserialize(base64_decode($oups))) {
132 132
 		// on est bon, rien a faire
133
-	}
134
-	elseif(unserialize($oups)) {
133
+	} elseif(unserialize($oups)) {
135 134
 		// il faut encoder
136 135
 		$oups = base64_encode($oups);
137
-	}
138
-	else {
136
+	} else {
139 137
 		$oups = '';
140 138
 	}
141 139
 	$valeurs = array(
Please login to merge, or discard this patch.
prive/formulaires/traduire.php 2 patches
Indentation   +110 added lines, -110 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/actions');
@@ -39,64 +39,64 @@  discard block
 block discarded – undo
39 39
  *     Contexte à transmettre au squelette du formulaire sinon
40 40
  */
41 41
 function formulaires_traduire_charger_dist($objet, $id_objet, $retour = '', $traduire = true) {
42
-	if (!intval($id_objet)) {
43
-		return false;
44
-	}
45
-	$valeurs = formulaires_editer_objet_charger($objet, $id_objet, null, 0, $retour, '');
46
-	// verifier que l'objet indique possede bien des champs id_trad et lang
47
-	// attention, charger renomme lang => langue pour ne pas perturber la langue d'affichage du squelette
48
-	if (!isset($valeurs['langue'])) {
49
-		return false;
50
-	}
51
-
52
-	$valeurs['editable'] = autoriser('changerlangue', $objet, $id_objet);
53
-	$valeurs['_langue'] = '';
54
-	$langue_parent = '';
55
-	$id_parent = '';
56
-	if (isset($valeurs['id_rubrique'])) {
57
-		$id_parent = $valeurs['id_rubrique'];
58
-	}
59
-	if (isset($valeurs['id_parent'])) {
60
-		$id_parent = $valeurs['id_parent'];
61
-	}
62
-	if ($id_parent) {
63
-		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
64
-	}
65
-
66
-	if (!$langue_parent) {
67
-		$langue_parent = $GLOBALS['meta']['langue_site'];
68
-	}
69
-	if ($valeurs['editable']
70
-		and in_array(table_objet_sql($objet), explode(',', $GLOBALS['meta']['multi_objets']))
71
-	) {
72
-		$valeurs['_langue'] = $valeurs['langue'];
73
-	}
74
-	$valeurs['langue_parent'] = $langue_parent;
75
-
76
-	$valeurs['_objet'] = $objet;
77
-	$valeurs['_id_objet'] = $id_objet;
78
-	$valeurs['changer_lang'] = '';
79
-
80
-
81
-	$valeurs['_traduisible'] = autoriser('changertraduction', $objet, $id_objet);
82
-	$valeurs['_traduire'] = '';
83
-	if (isset($valeurs['id_trad'])) {
84
-		$valeurs['_traduire'] = ($traduire ? ' ' : '');
85
-		$valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
-			$f = table_objet($objet) . '-trad',
87
-			'prive/objets/liste'
88
-		) ? $f : 'objets-trad');
89
-		// pour afficher la liste des trad sur la base de l'id_trad en base
90
-		// independamment d'une saisie en cours sur id_trad
91
-		$valeurs['_lister_id_trad'] = $valeurs['id_trad'];
92
-		$valeurs['_id_parent'] = $id_parent;
93
-	}
94
-
95
-	$valeurs['_saisie_en_cours'] = (!_request('annuler') and (_request('changer_lang') !== null
96
-		or _request('changer_id_trad') !== null));
97
-	$valeurs['_pipeline'] = array('traduire', array('type' => $objet, 'id' => $id_objet));
98
-
99
-	return $valeurs;
42
+    if (!intval($id_objet)) {
43
+        return false;
44
+    }
45
+    $valeurs = formulaires_editer_objet_charger($objet, $id_objet, null, 0, $retour, '');
46
+    // verifier que l'objet indique possede bien des champs id_trad et lang
47
+    // attention, charger renomme lang => langue pour ne pas perturber la langue d'affichage du squelette
48
+    if (!isset($valeurs['langue'])) {
49
+        return false;
50
+    }
51
+
52
+    $valeurs['editable'] = autoriser('changerlangue', $objet, $id_objet);
53
+    $valeurs['_langue'] = '';
54
+    $langue_parent = '';
55
+    $id_parent = '';
56
+    if (isset($valeurs['id_rubrique'])) {
57
+        $id_parent = $valeurs['id_rubrique'];
58
+    }
59
+    if (isset($valeurs['id_parent'])) {
60
+        $id_parent = $valeurs['id_parent'];
61
+    }
62
+    if ($id_parent) {
63
+        $langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
64
+    }
65
+
66
+    if (!$langue_parent) {
67
+        $langue_parent = $GLOBALS['meta']['langue_site'];
68
+    }
69
+    if ($valeurs['editable']
70
+        and in_array(table_objet_sql($objet), explode(',', $GLOBALS['meta']['multi_objets']))
71
+    ) {
72
+        $valeurs['_langue'] = $valeurs['langue'];
73
+    }
74
+    $valeurs['langue_parent'] = $langue_parent;
75
+
76
+    $valeurs['_objet'] = $objet;
77
+    $valeurs['_id_objet'] = $id_objet;
78
+    $valeurs['changer_lang'] = '';
79
+
80
+
81
+    $valeurs['_traduisible'] = autoriser('changertraduction', $objet, $id_objet);
82
+    $valeurs['_traduire'] = '';
83
+    if (isset($valeurs['id_trad'])) {
84
+        $valeurs['_traduire'] = ($traduire ? ' ' : '');
85
+        $valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
+            $f = table_objet($objet) . '-trad',
87
+            'prive/objets/liste'
88
+        ) ? $f : 'objets-trad');
89
+        // pour afficher la liste des trad sur la base de l'id_trad en base
90
+        // independamment d'une saisie en cours sur id_trad
91
+        $valeurs['_lister_id_trad'] = $valeurs['id_trad'];
92
+        $valeurs['_id_parent'] = $id_parent;
93
+    }
94
+
95
+    $valeurs['_saisie_en_cours'] = (!_request('annuler') and (_request('changer_lang') !== null
96
+        or _request('changer_id_trad') !== null));
97
+    $valeurs['_pipeline'] = array('traduire', array('type' => $objet, 'id' => $id_objet));
98
+
99
+    return $valeurs;
100 100
 }
101 101
 
102 102
 /**
@@ -114,30 +114,30 @@  discard block
 block discarded – undo
114 114
  *     Erreurs des saisies
115 115
  */
116 116
 function formulaires_traduire_verifier_dist($objet, $id_objet, $retour = '', $traduire = true) {
117
-	$erreurs = array();
118
-
119
-	if (null !== _request('changer_lang')) {
120
-		$erreurs = formulaires_editer_objet_verifier($objet, $id_objet, array('changer_lang'));
121
-	}
122
-
123
-	// si id_trad fourni, verifier que cela ne conflicte pas avec un id_trad existant
124
-	// et que ca reference bien un objet existant
125
-	if ($id_trad = _request('id_trad')) {
126
-		$table_objet_sql = table_objet_sql($objet);
127
-		$_id_table_objet = id_table_objet($objet);
128
-		if (sql_getfetsel(
129
-			'id_trad',
130
-			$table_objet_sql,
131
-			"$_id_table_objet=" . intval($id_objet)
132
-		)) {
133
-			// ne devrait jamais arriver sauf concurence de saisie
134
-			$erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
-		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
136
-			$erreurs['id_trad'] = _L('Indiquez un contenu existant');
137
-		}
138
-	}
139
-
140
-	return $erreurs;
117
+    $erreurs = array();
118
+
119
+    if (null !== _request('changer_lang')) {
120
+        $erreurs = formulaires_editer_objet_verifier($objet, $id_objet, array('changer_lang'));
121
+    }
122
+
123
+    // si id_trad fourni, verifier que cela ne conflicte pas avec un id_trad existant
124
+    // et que ca reference bien un objet existant
125
+    if ($id_trad = _request('id_trad')) {
126
+        $table_objet_sql = table_objet_sql($objet);
127
+        $_id_table_objet = id_table_objet($objet);
128
+        if (sql_getfetsel(
129
+            'id_trad',
130
+            $table_objet_sql,
131
+            "$_id_table_objet=" . intval($id_objet)
132
+        )) {
133
+            // ne devrait jamais arriver sauf concurence de saisie
134
+            $erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
+        } elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
136
+            $erreurs['id_trad'] = _L('Indiquez un contenu existant');
137
+        }
138
+    }
139
+
140
+    return $erreurs;
141 141
 }
142 142
 
143 143
 
@@ -156,31 +156,31 @@  discard block
 block discarded – undo
156 156
  *     Retour des traitements
157 157
  */
158 158
 function formulaires_traduire_traiter_dist($objet, $id_objet, $retour = '', $traduire = true) {
159
-	$res = array();
160
-	if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) {
161
-		// action/editer_xxx doit traiter la modif de changer_lang
162
-		$res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour);
163
-	}
164
-	if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
165
-		if ($id_trad = _request('id_trad') or _request('supprimer_trad')) {
166
-			$referencer_traduction = charger_fonction('referencer_traduction', 'action');
167
-			$referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad
168
-		} elseif ($new_id_trad = _request('changer_reference_trad')
169
-			and $new_id_trad = array_keys($new_id_trad)
170
-			and $new_id_trad = reset($new_id_trad)
171
-		) {
172
-			$table_objet_sql = table_objet_sql($objet);
173
-			$_id_table_objet = id_table_objet($objet);
174
-			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
175
-				$referencer_traduction = charger_fonction('referencer_traduction', 'action');
176
-				$referencer_traduction($objet, $id_trad, $new_id_trad);
177
-			}
178
-		}
179
-	}
180
-	$res['editable'] = true;
181
-	if (!isset($res['message_erreur'])) {
182
-		set_request('annuler', 'annuler');
183
-	} // provoquer la fermeture du forumlaire
184
-
185
-	return $res;
159
+    $res = array();
160
+    if (!_request('annuler') and autoriser('changerlangue', $objet, $id_objet)) {
161
+        // action/editer_xxx doit traiter la modif de changer_lang
162
+        $res = formulaires_editer_objet_traiter($objet, $id_objet, 0, 0, $retour);
163
+    }
164
+    if (!_request('annuler') and autoriser('changertraduction', $objet, $id_objet)) {
165
+        if ($id_trad = _request('id_trad') or _request('supprimer_trad')) {
166
+            $referencer_traduction = charger_fonction('referencer_traduction', 'action');
167
+            $referencer_traduction($objet, $id_objet, intval($id_trad)); // 0 si supprimer_trad
168
+        } elseif ($new_id_trad = _request('changer_reference_trad')
169
+            and $new_id_trad = array_keys($new_id_trad)
170
+            and $new_id_trad = reset($new_id_trad)
171
+        ) {
172
+            $table_objet_sql = table_objet_sql($objet);
173
+            $_id_table_objet = id_table_objet($objet);
174
+            if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
175
+                $referencer_traduction = charger_fonction('referencer_traduction', 'action');
176
+                $referencer_traduction($objet, $id_trad, $new_id_trad);
177
+            }
178
+        }
179
+    }
180
+    $res['editable'] = true;
181
+    if (!isset($res['message_erreur'])) {
182
+        set_request('annuler', 'annuler');
183
+    } // provoquer la fermeture du forumlaire
184
+
185
+    return $res;
186 186
 }
Please login to merge, or discard this patch.
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 		$id_parent = $valeurs['id_parent'];
61 61
 	}
62 62
 	if ($id_parent) {
63
-		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique=' . intval($id_parent));
63
+		$langue_parent = sql_getfetsel('lang', 'spip_rubriques', 'id_rubrique='.intval($id_parent));
64 64
 	}
65 65
 
66 66
 	if (!$langue_parent) {
@@ -82,8 +82,8 @@  discard block
 block discarded – undo
82 82
 	$valeurs['_traduire'] = '';
83 83
 	if (isset($valeurs['id_trad'])) {
84 84
 		$valeurs['_traduire'] = ($traduire ? ' ' : '');
85
-		$valeurs['_vue_traductions'] = 'prive/objets/liste/' . (trouver_fond(
86
-			$f = table_objet($objet) . '-trad',
85
+		$valeurs['_vue_traductions'] = 'prive/objets/liste/'.(trouver_fond(
86
+			$f = table_objet($objet).'-trad',
87 87
 			'prive/objets/liste'
88 88
 		) ? $f : 'objets-trad');
89 89
 		// pour afficher la liste des trad sur la base de l'id_trad en base
@@ -128,11 +128,11 @@  discard block
 block discarded – undo
128 128
 		if (sql_getfetsel(
129 129
 			'id_trad',
130 130
 			$table_objet_sql,
131
-			"$_id_table_objet=" . intval($id_objet)
131
+			"$_id_table_objet=".intval($id_objet)
132 132
 		)) {
133 133
 			// ne devrait jamais arriver sauf concurence de saisie
134 134
 			$erreurs['id_trad'] = _L('Une traduction est deja referencee');
135
-		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=" . intval($id_trad))) {
135
+		} elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "$_id_table_objet=".intval($id_trad))) {
136 136
 			$erreurs['id_trad'] = _L('Indiquez un contenu existant');
137 137
 		}
138 138
 	}
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
 		) {
172 172
 			$table_objet_sql = table_objet_sql($objet);
173 173
 			$_id_table_objet = id_table_objet($objet);
174
-			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=" . intval($id_objet))) {
174
+			if ($id_trad = sql_getfetsel('id_trad', $table_objet_sql, "$_id_table_objet=".intval($id_objet))) {
175 175
 				$referencer_traduction = charger_fonction('referencer_traduction', 'action');
176 176
 				$referencer_traduction($objet, $id_trad, $new_id_trad);
177 177
 			}
Please login to merge, or discard this patch.
ecrire/public/tracer.php 3 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -77,13 +77,13 @@  discard block
 block discarded – undo
77 77
 
78 78
 function chrono_requete($temps) {
79 79
 	$total = 0;
80
-	$hors = "<i>" . _T('zbug_hors_compilation') . "</i>";
80
+	$hors = "<i>"._T('zbug_hors_compilation')."</i>";
81 81
 	$t = $q = $n = $d = array();
82 82
 	// Totaliser les temps et completer le Explain
83 83
 	foreach ($temps as $key => $v) {
84 84
 		list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v;
85 85
 		if (is_array($contexte)) {
86
-			$k = ($contexte[0] . " $boucle");
86
+			$k = ($contexte[0]." $boucle");
87 87
 			include_spip('public/compiler');
88 88
 			$env = reconstruire_contexte_compil($contexte);
89 89
 		} else {
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 	// Fabriquer les liens de navigations dans le tableau des temps
129 129
 	foreach ($temps as $k => $v) {
130 130
 		$titre = strip_tags($v[2]);
131
-		$href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i";
131
+		$href = quote_amp($GLOBALS['REQUEST_URI'])."#req$i";
132 132
 		$href = str_replace("\\'", '&#39;', $href);
133 133
 
134 134
 		if (!isset($t[$v[2]])) {
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
 	unset($d['']);
150 150
 	// Fabriquer le tableau des liens de navigation dans le grand tableau
151 151
 	foreach ($d as $k => $v) {
152
-		$d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
152
+		$d[$k] = $n[$k]."</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
153 153
 			. join('', $t[$k]);
154 154
 	}
155 155
 
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
 		. join("</td></tr>\n<tr><td>", $d)
160 160
 		. "</td></tr>\n"
161 161
 		. (# _request('var_mode_objet') ? '' :
162
-		("<tr><td>" . count($temps) . "</td><td>" . _T('info_total') . '</td><td class="time">' . $total . "</td><td></td></tr>"))
162
+		("<tr><td>".count($temps)."</td><td>"._T('info_total').'</td><td class="time">'.$total."</td><td></td></tr>"))
163 163
 	);
164 164
 
165 165
 	return array($temps, $navigation);
Please login to merge, or discard this patch.
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -11,169 +11,169 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 // https://code.spip.net/@trace_query_start
18 18
 function trace_query_start() {
19
-	static $trace = '?';
20
-	if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) {
21
-		// gare au bouclage sur calcul de droits au premier appel
22
-		// A fortiori quand on demande une trace
23
-		if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) {
24
-			$trace = true;
25
-		}
26
-		else {
27
-			include_spip('inc/autoriser');
28
-			$trace = (isset($_GET['var_profile']) and autoriser('debug'));
29
-		}
30
-	}
31
-
32
-	return $trace ? microtime() : 0;
19
+    static $trace = '?';
20
+    if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) {
21
+        // gare au bouclage sur calcul de droits au premier appel
22
+        // A fortiori quand on demande une trace
23
+        if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) {
24
+            $trace = true;
25
+        }
26
+        else {
27
+            include_spip('inc/autoriser');
28
+            $trace = (isset($_GET['var_profile']) and autoriser('debug'));
29
+        }
30
+    }
31
+
32
+    return $trace ? microtime() : 0;
33 33
 }
34 34
 
35 35
 // https://code.spip.net/@trace_query_end
36 36
 function trace_query_end($query, $start, $result, $erreur, $serveur = '') {
37
-	static $trace = '?';
38
-	if ($trace === '?') {
39
-		$trace = isset($_GET['var_profile']) and (autoriser('debug'));
40
-	}
41
-	if ($start) {
42
-		$end = microtime();
43
-		list($usec, $sec) = explode(" ", $start);
44
-		list($usec2, $sec2) = explode(" ", $end);
45
-		$dt = $sec2 + $usec2 - $sec - $usec;
46
-		pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]);
47
-		if ($trace) {
48
-			trace_query_chrono($dt, $query, $result, $serveur);
49
-		}
50
-	}
51
-	// tracer les erreurs, sauf pour select, c'est fait dans abstract_sql
52
-	if ($trace and $erreur and !preg_match('/^select\b/i', $query)) {
53
-		erreur_squelette(array(sql_errno($serveur), $erreur, $query));
54
-	}
55
-
56
-	return $result;
37
+    static $trace = '?';
38
+    if ($trace === '?') {
39
+        $trace = isset($_GET['var_profile']) and (autoriser('debug'));
40
+    }
41
+    if ($start) {
42
+        $end = microtime();
43
+        list($usec, $sec) = explode(" ", $start);
44
+        list($usec2, $sec2) = explode(" ", $end);
45
+        $dt = $sec2 + $usec2 - $sec - $usec;
46
+        pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]);
47
+        if ($trace) {
48
+            trace_query_chrono($dt, $query, $result, $serveur);
49
+        }
50
+    }
51
+    // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql
52
+    if ($trace and $erreur and !preg_match('/^select\b/i', $query)) {
53
+        erreur_squelette(array(sql_errno($serveur), $erreur, $query));
54
+    }
55
+
56
+    return $result;
57 57
 }
58 58
 
59 59
 // https://code.spip.net/@trace_query_chrono
60 60
 function trace_query_chrono($dt, $query, $result, $serveur = '') {
61
-	include_spip('inc/filtres_mini');
62
-	static $tt = 0, $nb = 0;
63
-
64
-	$x = _request('var_mode_objet');
65
-	if (isset($GLOBALS['debug']['aucasou'])) {
66
-		list(, $boucle, $serveur, $contexte) = $GLOBALS['debug']['aucasou'];
67
-		if ($x and !preg_match("/$boucle\$/", $x)) {
68
-			return;
69
-		}
70
-		if ($serveur) {
71
-			$boucle .= " ($serveur)";
72
-		}
73
-		$boucle = "<b>$boucle</b>";
74
-	} else {
75
-		if ($x) {
76
-			return;
77
-		}
78
-		$boucle = $contexte = '';
79
-	}
80
-
81
-	$tt += $dt;
82
-	$nb++;
83
-
84
-	$q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query));
85
-	$e = sql_explain($query, $serveur);
86
-	$r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result));
87
-	$GLOBALS['tableau_des_temps'][] = array($dt, $nb, $boucle, $q, $e, $r, $contexte);
61
+    include_spip('inc/filtres_mini');
62
+    static $tt = 0, $nb = 0;
63
+
64
+    $x = _request('var_mode_objet');
65
+    if (isset($GLOBALS['debug']['aucasou'])) {
66
+        list(, $boucle, $serveur, $contexte) = $GLOBALS['debug']['aucasou'];
67
+        if ($x and !preg_match("/$boucle\$/", $x)) {
68
+            return;
69
+        }
70
+        if ($serveur) {
71
+            $boucle .= " ($serveur)";
72
+        }
73
+        $boucle = "<b>$boucle</b>";
74
+    } else {
75
+        if ($x) {
76
+            return;
77
+        }
78
+        $boucle = $contexte = '';
79
+    }
80
+
81
+    $tt += $dt;
82
+    $nb++;
83
+
84
+    $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query));
85
+    $e = sql_explain($query, $serveur);
86
+    $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result));
87
+    $GLOBALS['tableau_des_temps'][] = array($dt, $nb, $boucle, $q, $e, $r, $contexte);
88 88
 }
89 89
 
90 90
 
91 91
 function chrono_requete($temps) {
92
-	$total = 0;
93
-	$hors = "<i>" . _T('zbug_hors_compilation') . "</i>";
94
-	$t = $q = $n = $d = array();
95
-	// Totaliser les temps et completer le Explain
96
-	foreach ($temps as $key => $v) {
97
-		list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v;
98
-		if (is_array($contexte)) {
99
-			$k = ($contexte[0] . " $boucle");
100
-			include_spip('public/compiler');
101
-			$env = reconstruire_contexte_compil($contexte);
102
-		} else {
103
-			$k = $env = $boucle;
104
-		}
105
-
106
-		$total += $dt;
107
-		$t[$key] = $dt;
108
-		$q[$key] = $nb;
109
-		if (!isset($d[$k])) {
110
-			$d[$k] = 0;
111
-			$n[$k] = 0;
112
-		}
113
-		$d[$k] += $dt;
114
-		++$n[$k];
115
-
116
-		if (!is_array($explain)) {
117
-			$explain = array();
118
-		}
119
-		foreach ($explain as $j => $v) {
120
-			$explain[$j] = "<tr><th>$j</th><td>"
121
-				. str_replace(';', '<br />', $v)
122
-				. "</td></tr>";
123
-		}
124
-		$e = "<table class='explain'>"
125
-			. "<caption>"
126
-			. $query
127
-			. "</caption>"
128
-			. "<tr><th>Time</th><td>$dt</td></tr>"
129
-			. "<tr><th>Order</th><td>$nb</td></tr>"
130
-			. "<tr><th>Res</th><td>$res</td></tr>"
131
-			. join('', $explain)
132
-			. "</table>";
133
-
134
-		$temps[$key] = array($e, $env, $k);
135
-	}
136
-	// Trier par temps d'execution decroissant
137
-	array_multisort($t, SORT_DESC, $q, $temps);
138
-	arsort($d);
139
-	$i = 1;
140
-	$t = array();
141
-	// Fabriquer les liens de navigations dans le tableau des temps
142
-	foreach ($temps as $k => $v) {
143
-		$titre = strip_tags($v[2]);
144
-		$href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i";
145
-		$href = str_replace("\\'", '&#39;', $href);
146
-
147
-		if (!isset($t[$v[2]])) {
148
-			$t[$v[2]] = array();
149
-		}
150
-		$t[$v[2]][] = "<span class='spip-debug-arg'> "
151
-			. "<a title='$titre' href='$href'>$i</a>"
152
-			. '</span>'
153
-			. ((count($t[$v[2]]) % 10 == 9) ? "<br />" : '');
154
-		$i++;
155
-	}
156
-
157
-	if ($d['']) {
158
-		$d[$hors] = $d[''];
159
-		$n[$hors] = $n[''];
160
-		$t[$hors] = $t[''];
161
-	}
162
-	unset($d['']);
163
-	// Fabriquer le tableau des liens de navigation dans le grand tableau
164
-	foreach ($d as $k => $v) {
165
-		$d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
166
-			. join('', $t[$k]);
167
-	}
168
-
169
-	$navigation = array(
170
-		_T('zbug_statistiques'),
171
-		"<tr><td>"
172
-		. join("</td></tr>\n<tr><td>", $d)
173
-		. "</td></tr>\n"
174
-		. (# _request('var_mode_objet') ? '' :
175
-		("<tr><td>" . count($temps) . "</td><td>" . _T('info_total') . '</td><td class="time">' . $total . "</td><td></td></tr>"))
176
-	);
177
-
178
-	return array($temps, $navigation);
92
+    $total = 0;
93
+    $hors = "<i>" . _T('zbug_hors_compilation') . "</i>";
94
+    $t = $q = $n = $d = array();
95
+    // Totaliser les temps et completer le Explain
96
+    foreach ($temps as $key => $v) {
97
+        list($dt, $nb, $boucle, $query, $explain, $res, $contexte) = $v;
98
+        if (is_array($contexte)) {
99
+            $k = ($contexte[0] . " $boucle");
100
+            include_spip('public/compiler');
101
+            $env = reconstruire_contexte_compil($contexte);
102
+        } else {
103
+            $k = $env = $boucle;
104
+        }
105
+
106
+        $total += $dt;
107
+        $t[$key] = $dt;
108
+        $q[$key] = $nb;
109
+        if (!isset($d[$k])) {
110
+            $d[$k] = 0;
111
+            $n[$k] = 0;
112
+        }
113
+        $d[$k] += $dt;
114
+        ++$n[$k];
115
+
116
+        if (!is_array($explain)) {
117
+            $explain = array();
118
+        }
119
+        foreach ($explain as $j => $v) {
120
+            $explain[$j] = "<tr><th>$j</th><td>"
121
+                . str_replace(';', '<br />', $v)
122
+                . "</td></tr>";
123
+        }
124
+        $e = "<table class='explain'>"
125
+            . "<caption>"
126
+            . $query
127
+            . "</caption>"
128
+            . "<tr><th>Time</th><td>$dt</td></tr>"
129
+            . "<tr><th>Order</th><td>$nb</td></tr>"
130
+            . "<tr><th>Res</th><td>$res</td></tr>"
131
+            . join('', $explain)
132
+            . "</table>";
133
+
134
+        $temps[$key] = array($e, $env, $k);
135
+    }
136
+    // Trier par temps d'execution decroissant
137
+    array_multisort($t, SORT_DESC, $q, $temps);
138
+    arsort($d);
139
+    $i = 1;
140
+    $t = array();
141
+    // Fabriquer les liens de navigations dans le tableau des temps
142
+    foreach ($temps as $k => $v) {
143
+        $titre = strip_tags($v[2]);
144
+        $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i";
145
+        $href = str_replace("\\'", '&#39;', $href);
146
+
147
+        if (!isset($t[$v[2]])) {
148
+            $t[$v[2]] = array();
149
+        }
150
+        $t[$v[2]][] = "<span class='spip-debug-arg'> "
151
+            . "<a title='$titre' href='$href'>$i</a>"
152
+            . '</span>'
153
+            . ((count($t[$v[2]]) % 10 == 9) ? "<br />" : '');
154
+        $i++;
155
+    }
156
+
157
+    if ($d['']) {
158
+        $d[$hors] = $d[''];
159
+        $n[$hors] = $n[''];
160
+        $t[$hors] = $t[''];
161
+    }
162
+    unset($d['']);
163
+    // Fabriquer le tableau des liens de navigation dans le grand tableau
164
+    foreach ($d as $k => $v) {
165
+        $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>"
166
+            . join('', $t[$k]);
167
+    }
168
+
169
+    $navigation = array(
170
+        _T('zbug_statistiques'),
171
+        "<tr><td>"
172
+        . join("</td></tr>\n<tr><td>", $d)
173
+        . "</td></tr>\n"
174
+        . (# _request('var_mode_objet') ? '' :
175
+        ("<tr><td>" . count($temps) . "</td><td>" . _T('info_total') . '</td><td class="time">' . $total . "</td><td></td></tr>"))
176
+    );
177
+
178
+    return array($temps, $navigation);
179 179
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -22,8 +22,7 @@
 block discarded – undo
22 22
 		// A fortiori quand on demande une trace
23 23
 		if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) {
24 24
 			$trace = true;
25
-		}
26
-		else {
25
+		} else {
27 26
 			include_spip('inc/autoriser');
28 27
 			$trace = (isset($_GET['var_profile']) and autoriser('debug'));
29 28
 		}
Please login to merge, or discard this patch.
ecrire/inc/meta.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 			renouvelle_alea();
63 63
 			$new = false;
64 64
 		} else {
65
-			spip_log("impossible d'ecrire dans " . $cache);
65
+			spip_log("impossible d'ecrire dans ".$cache);
66 66
 		}
67 67
 	}
68 68
 	// et refaire le cache si on a du lire en base
@@ -162,7 +162,7 @@  discard block
 block discarded – undo
162 162
 	if (!isset($touch[$table])) {
163 163
 		touch_meta($antidate, $table);
164 164
 	}
165
-	sql_delete('spip_' . $table, "nom='$nom'", '', 'continue');
165
+	sql_delete('spip_'.$table, "nom='$nom'", '', 'continue');
166 166
 	unset($GLOBALS[$table][$nom]);
167 167
 	if (!isset($touch[$table])) {
168 168
 		touch_meta($antidate, $table);
@@ -193,7 +193,7 @@  discard block
 block discarded – undo
193 193
 		return;
194 194
 	}
195 195
 	include_spip('base/abstract_sql');
196
-	$res = sql_select("*", 'spip_' . $table, "nom=" . sql_quote($nom), '', '', '', '', '', 'continue');
196
+	$res = sql_select("*", 'spip_'.$table, "nom=".sql_quote($nom), '', '', '', '', '', 'continue');
197 197
 	// table pas encore installee, travailler en php seulement
198 198
 	if (!$res) {
199 199
 		$GLOBALS[$table][$nom] = $valeur;
@@ -226,9 +226,9 @@  discard block
 block discarded – undo
226 226
 		$r['impt'] = sql_quote($importable, '', 'text');
227 227
 	}
228 228
 	if ($row) {
229
-		sql_update('spip_' . $table, $r, "nom=" . sql_quote($nom));
229
+		sql_update('spip_'.$table, $r, "nom=".sql_quote($nom));
230 230
 	} else {
231
-		sql_insert('spip_' . $table, "(" . join(',', array_keys($r)) . ")", "(" . join(',', array_values($r)) . ")");
231
+		sql_insert('spip_'.$table, "(".join(',', array_keys($r)).")", "(".join(',', array_values($r)).")");
232 232
 	}
233 233
 	if (!isset($touch[$table])) {
234 234
 		touch_meta($antidate, $table);
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
  *     Nom du fichier cache
246 246
  **/
247 247
 function cache_meta($table = 'meta') {
248
-	return ($table == 'meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
248
+	return ($table == 'meta') ? _FILE_META : (_DIR_CACHE.$table.'.php');
249 249
 }
250 250
 
251 251
 /**
@@ -307,7 +307,7 @@  discard block
 block discarded – undo
307 307
 				$cle = array_search($table, $liste);
308 308
 				if ($cle !== false) {
309 309
 					unset($liste[$cle]);
310
-					if ($liste ) {
310
+					if ($liste) {
311 311
 						ecrire_meta('tables_config', serialize($liste));
312 312
 					} else {
313 313
 						effacer_meta('tables_config');
Please login to merge, or discard this patch.
Indentation   +191 added lines, -191 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
 // Les parametres generaux du site sont dans une table SQL;
@@ -28,47 +28,47 @@  discard block
 block discarded – undo
28 28
 
29 29
 // https://code.spip.net/@inc_meta_dist
30 30
 function inc_meta_dist($table = 'meta') {
31
-	// Lire les meta, en cache si present, valide et lisible
32
-	// en cas d'install ne pas faire confiance au meta_cache eventuel
33
-	$cache = cache_meta($table);
31
+    // Lire les meta, en cache si present, valide et lisible
32
+    // en cas d'install ne pas faire confiance au meta_cache eventuel
33
+    $cache = cache_meta($table);
34 34
 
35
-	if ((!$exec = _request('exec') or !autoriser_sans_cookie($exec))
36
-		and $new = jeune_fichier($cache, _META_CACHE_TIME)
37
-		and lire_fichier_securise($cache, $meta)
38
-		and $meta = @unserialize($meta)
39
-	) {
40
-		$GLOBALS[$table] = $meta;
41
-	}
35
+    if ((!$exec = _request('exec') or !autoriser_sans_cookie($exec))
36
+        and $new = jeune_fichier($cache, _META_CACHE_TIME)
37
+        and lire_fichier_securise($cache, $meta)
38
+        and $meta = @unserialize($meta)
39
+    ) {
40
+        $GLOBALS[$table] = $meta;
41
+    }
42 42
 
43
-	if (isset($GLOBALS[$table]['touch'])
44
-		and ($GLOBALS[$table]['touch'] < time() - _META_CACHE_TIME)
45
-	) {
46
-		$GLOBALS[$table] = array();
47
-	}
48
-	// sinon lire en base
49
-	if (!$GLOBALS[$table]) {
50
-		$new = !lire_metas($table);
51
-	}
43
+    if (isset($GLOBALS[$table]['touch'])
44
+        and ($GLOBALS[$table]['touch'] < time() - _META_CACHE_TIME)
45
+    ) {
46
+        $GLOBALS[$table] = array();
47
+    }
48
+    // sinon lire en base
49
+    if (!$GLOBALS[$table]) {
50
+        $new = !lire_metas($table);
51
+    }
52 52
 
53
-	// renouveller l'alea general si trop vieux ou sur demande explicite
54
-	if ((test_espace_prive() || isset($_GET['renouvelle_alea']))
55
-		and $GLOBALS[$table]
56
-		and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0))
57
-	) {
58
-		// si on n'a pas l'acces en ecriture sur le cache,
59
-		// ne pas renouveller l'alea sinon le cache devient faux
60
-		if (supprimer_fichier($cache)) {
61
-			include_spip('inc/acces');
62
-			renouvelle_alea();
63
-			$new = false;
64
-		} else {
65
-			spip_log("impossible d'ecrire dans " . $cache);
66
-		}
67
-	}
68
-	// et refaire le cache si on a du lire en base
69
-	if (!$new) {
70
-		touch_meta(false, $table);
71
-	}
53
+    // renouveller l'alea general si trop vieux ou sur demande explicite
54
+    if ((test_espace_prive() || isset($_GET['renouvelle_alea']))
55
+        and $GLOBALS[$table]
56
+        and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0))
57
+    ) {
58
+        // si on n'a pas l'acces en ecriture sur le cache,
59
+        // ne pas renouveller l'alea sinon le cache devient faux
60
+        if (supprimer_fichier($cache)) {
61
+            include_spip('inc/acces');
62
+            renouvelle_alea();
63
+            $new = false;
64
+        } else {
65
+            spip_log("impossible d'ecrire dans " . $cache);
66
+        }
67
+    }
68
+    // et refaire le cache si on a du lire en base
69
+    if (!$new) {
70
+        touch_meta(false, $table);
71
+    }
72 72
 }
73 73
 
74 74
 // fonctions aussi appelees a l'install ==> spip_query en premiere requete 
@@ -77,38 +77,38 @@  discard block
 block discarded – undo
77 77
 // https://code.spip.net/@lire_metas
78 78
 function lire_metas($table = 'meta') {
79 79
 
80
-	if ($result = spip_query("SELECT nom,valeur FROM spip_$table")) {
81
-		include_spip('base/abstract_sql');
82
-		$GLOBALS[$table] = array();
83
-		while ($row = sql_fetch($result)) {
84
-			$GLOBALS[$table][$row['nom']] = $row['valeur'];
85
-		}
86
-		sql_free($result);
80
+    if ($result = spip_query("SELECT nom,valeur FROM spip_$table")) {
81
+        include_spip('base/abstract_sql');
82
+        $GLOBALS[$table] = array();
83
+        while ($row = sql_fetch($result)) {
84
+            $GLOBALS[$table][$row['nom']] = $row['valeur'];
85
+        }
86
+        sql_free($result);
87 87
 
88
-		if (!isset($GLOBALS[$table]['charset'])
89
-			or !$GLOBALS[$table]['charset']
90
-			or $GLOBALS[$table]['charset'] == '_DEFAULT_CHARSET' // hum, correction d'un bug ayant abime quelques install
91
-		) {
92
-			ecrire_meta('charset', _DEFAULT_CHARSET, null, $table);
93
-		}
88
+        if (!isset($GLOBALS[$table]['charset'])
89
+            or !$GLOBALS[$table]['charset']
90
+            or $GLOBALS[$table]['charset'] == '_DEFAULT_CHARSET' // hum, correction d'un bug ayant abime quelques install
91
+        ) {
92
+            ecrire_meta('charset', _DEFAULT_CHARSET, null, $table);
93
+        }
94 94
 
95
-		// noter cette table de configuration dans les meta de SPIP
96
-		if ($table !== 'meta') {
97
-			$liste = array();
98
-			if (isset($GLOBALS['meta']['tables_config'])) {
99
-				$liste = unserialize($GLOBALS['meta']['tables_config']);
100
-			}
101
-			if (!$liste) {
102
-				$liste = array();
103
-			}
104
-			if (!in_array($table, $liste)) {
105
-				$liste[] = $table;
106
-				ecrire_meta('tables_config', serialize($liste));
107
-			}
108
-		}
109
-	}
95
+        // noter cette table de configuration dans les meta de SPIP
96
+        if ($table !== 'meta') {
97
+            $liste = array();
98
+            if (isset($GLOBALS['meta']['tables_config'])) {
99
+                $liste = unserialize($GLOBALS['meta']['tables_config']);
100
+            }
101
+            if (!$liste) {
102
+                $liste = array();
103
+            }
104
+            if (!in_array($table, $liste)) {
105
+                $liste[] = $table;
106
+                ecrire_meta('tables_config', serialize($liste));
107
+            }
108
+        }
109
+    }
110 110
 
111
-	return isset($GLOBALS[$table]) ? $GLOBALS[$table] : null;
111
+    return isset($GLOBALS[$table]) ? $GLOBALS[$table] : null;
112 112
 }
113 113
 
114 114
 
@@ -122,22 +122,22 @@  discard block
 block discarded – undo
122 122
  *      Table SQL d'enregistrement des meta.
123 123
  **/
124 124
 function touch_meta($antidate = false, $table = 'meta') {
125
-	$file = cache_meta($table);
126
-	if (!$antidate or !@touch($file, $antidate)) {
127
-		$r = isset($GLOBALS[$table]) ? $GLOBALS[$table] : array();
128
-		if ($table == 'meta') {
129
-			unset($r['alea_ephemere']);
130
-			unset($r['alea_ephemere_ancien']);
131
-			// le secret du site est utilise pour encoder les contextes ajax que l'on considere fiables
132
-			// mais le sortir deu cache meta implique une requete sql des qu'on a un form dynamique
133
-			// meme si son squelette est en cache
134
-			//unset($r['secret_du_site']);
135
-			if ($antidate) {
136
-				$r['touch'] = $antidate;
137
-			}
138
-		}
139
-		ecrire_fichier_securise($file, serialize($r));
140
-	}
125
+    $file = cache_meta($table);
126
+    if (!$antidate or !@touch($file, $antidate)) {
127
+        $r = isset($GLOBALS[$table]) ? $GLOBALS[$table] : array();
128
+        if ($table == 'meta') {
129
+            unset($r['alea_ephemere']);
130
+            unset($r['alea_ephemere_ancien']);
131
+            // le secret du site est utilise pour encoder les contextes ajax que l'on considere fiables
132
+            // mais le sortir deu cache meta implique une requete sql des qu'on a un form dynamique
133
+            // meme si son squelette est en cache
134
+            //unset($r['secret_du_site']);
135
+            if ($antidate) {
136
+                $r['touch'] = $antidate;
137
+            }
138
+        }
139
+        ecrire_fichier_securise($file, serialize($r));
140
+    }
141 141
 }
142 142
 
143 143
 /**
@@ -153,21 +153,21 @@  discard block
 block discarded – undo
153 153
  *     Table SQL d'enregistrement de la meta.
154 154
  **/
155 155
 function effacer_meta($nom, $table = 'meta') {
156
-	// section critique sur le cache:
157
-	// l'invalider avant et apres la MAJ de la BD
158
-	// c'est un peu moins bien qu'un vrai verrou mais ca suffira
159
-	// et utiliser une statique pour eviter des acces disques a repetition
160
-	static $touch = array();
161
-	$antidate = time() - (_META_CACHE_TIME << 4);
162
-	if (!isset($touch[$table])) {
163
-		touch_meta($antidate, $table);
164
-	}
165
-	sql_delete('spip_' . $table, "nom='$nom'", '', 'continue');
166
-	unset($GLOBALS[$table][$nom]);
167
-	if (!isset($touch[$table])) {
168
-		touch_meta($antidate, $table);
169
-		$touch[$table] = false;
170
-	}
156
+    // section critique sur le cache:
157
+    // l'invalider avant et apres la MAJ de la BD
158
+    // c'est un peu moins bien qu'un vrai verrou mais ca suffira
159
+    // et utiliser une statique pour eviter des acces disques a repetition
160
+    static $touch = array();
161
+    $antidate = time() - (_META_CACHE_TIME << 4);
162
+    if (!isset($touch[$table])) {
163
+        touch_meta($antidate, $table);
164
+    }
165
+    sql_delete('spip_' . $table, "nom='$nom'", '', 'continue');
166
+    unset($GLOBALS[$table][$nom]);
167
+    if (!isset($touch[$table])) {
168
+        touch_meta($antidate, $table);
169
+        $touch[$table] = false;
170
+    }
171 171
 }
172 172
 
173 173
 /**
@@ -188,52 +188,52 @@  discard block
 block discarded – undo
188 188
  **/
189 189
 function ecrire_meta($nom, $valeur, $importable = null, $table = 'meta') {
190 190
 
191
-	static $touch = array();
192
-	if (!$nom) {
193
-		return;
194
-	}
195
-	include_spip('base/abstract_sql');
196
-	$res = sql_select("*", 'spip_' . $table, "nom=" . sql_quote($nom), '', '', '', '', '', 'continue');
197
-	// table pas encore installee, travailler en php seulement
198
-	if (!$res) {
199
-		$GLOBALS[$table][$nom] = $valeur;
191
+    static $touch = array();
192
+    if (!$nom) {
193
+        return;
194
+    }
195
+    include_spip('base/abstract_sql');
196
+    $res = sql_select("*", 'spip_' . $table, "nom=" . sql_quote($nom), '', '', '', '', '', 'continue');
197
+    // table pas encore installee, travailler en php seulement
198
+    if (!$res) {
199
+        $GLOBALS[$table][$nom] = $valeur;
200 200
 
201
-		return;
202
-	}
203
-	$row = sql_fetch($res);
204
-	sql_free($res);
201
+        return;
202
+    }
203
+    $row = sql_fetch($res);
204
+    sql_free($res);
205 205
 
206
-	// ne pas invalider le cache si affectation a l'identique
207
-	// (tant pis si impt aurait du changer)
208
-	if ($row and $valeur == $row['valeur']
209
-		and isset($GLOBALS[$table][$nom])
210
-		and $GLOBALS[$table][$nom] == $valeur
211
-	) {
212
-		return;
213
-	}
206
+    // ne pas invalider le cache si affectation a l'identique
207
+    // (tant pis si impt aurait du changer)
208
+    if ($row and $valeur == $row['valeur']
209
+        and isset($GLOBALS[$table][$nom])
210
+        and $GLOBALS[$table][$nom] == $valeur
211
+    ) {
212
+        return;
213
+    }
214 214
 
215
-	$GLOBALS[$table][$nom] = $valeur;
216
-	// cf effacer pour comprendre le double touch
217
-	$antidate = time() - (_META_CACHE_TIME << 1);
218
-	if (!isset($touch[$table])) {
219
-		touch_meta($antidate, $table);
220
-	}
221
-	$r = array('nom' => sql_quote($nom, '', 'text'), 'valeur' => sql_quote($valeur, '', 'text'));
222
-	// Gaffe aux tables sans impt (vieilles versions de SPIP notamment)
223
-	// ici on utilise pas sql_updateq et sql_insertq pour ne pas provoquer trop tot
224
-	// de lecture des descriptions des tables
225
-	if ($importable and isset($row['impt'])) {
226
-		$r['impt'] = sql_quote($importable, '', 'text');
227
-	}
228
-	if ($row) {
229
-		sql_update('spip_' . $table, $r, "nom=" . sql_quote($nom));
230
-	} else {
231
-		sql_insert('spip_' . $table, "(" . join(',', array_keys($r)) . ")", "(" . join(',', array_values($r)) . ")");
232
-	}
233
-	if (!isset($touch[$table])) {
234
-		touch_meta($antidate, $table);
235
-		$touch[$table] = false;
236
-	}
215
+    $GLOBALS[$table][$nom] = $valeur;
216
+    // cf effacer pour comprendre le double touch
217
+    $antidate = time() - (_META_CACHE_TIME << 1);
218
+    if (!isset($touch[$table])) {
219
+        touch_meta($antidate, $table);
220
+    }
221
+    $r = array('nom' => sql_quote($nom, '', 'text'), 'valeur' => sql_quote($valeur, '', 'text'));
222
+    // Gaffe aux tables sans impt (vieilles versions de SPIP notamment)
223
+    // ici on utilise pas sql_updateq et sql_insertq pour ne pas provoquer trop tot
224
+    // de lecture des descriptions des tables
225
+    if ($importable and isset($row['impt'])) {
226
+        $r['impt'] = sql_quote($importable, '', 'text');
227
+    }
228
+    if ($row) {
229
+        sql_update('spip_' . $table, $r, "nom=" . sql_quote($nom));
230
+    } else {
231
+        sql_insert('spip_' . $table, "(" . join(',', array_keys($r)) . ")", "(" . join(',', array_values($r)) . ")");
232
+    }
233
+    if (!isset($touch[$table])) {
234
+        touch_meta($antidate, $table);
235
+        $touch[$table] = false;
236
+    }
237 237
 }
238 238
 
239 239
 /**
@@ -245,7 +245,7 @@  discard block
 block discarded – undo
245 245
  *     Nom du fichier cache
246 246
  **/
247 247
 function cache_meta($table = 'meta') {
248
-	return ($table == 'meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
248
+    return ($table == 'meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
249 249
 }
250 250
 
251 251
 /**
@@ -254,14 +254,14 @@  discard block
 block discarded – undo
254 254
  * @param string $table
255 255
  */
256 256
 function installer_table_meta($table) {
257
-	$trouver_table = charger_fonction('trouver_table', 'base');
258
-	if (!$trouver_table("spip_$table")) {
259
-		include_spip('base/auxiliaires');
260
-		include_spip('base/create');
261
-		creer_ou_upgrader_table("spip_$table", $GLOBALS['tables_auxiliaires']['spip_meta'], false, false);
262
-		$trouver_table('');
263
-	}
264
-	lire_metas($table);
257
+    $trouver_table = charger_fonction('trouver_table', 'base');
258
+    if (!$trouver_table("spip_$table")) {
259
+        include_spip('base/auxiliaires');
260
+        include_spip('base/create');
261
+        creer_ou_upgrader_table("spip_$table", $GLOBALS['tables_auxiliaires']['spip_meta'], false, false);
262
+        $trouver_table('');
263
+    }
264
+    lire_metas($table);
265 265
 }
266 266
 
267 267
 /**
@@ -273,47 +273,47 @@  discard block
 block discarded – undo
273 273
  * @param bool $force
274 274
  */
275 275
 function supprimer_table_meta($table, $force = false) {
276
-	if ($table !== 'meta') {
277
-		// Vérifier le contenu restant de la table
278
-		$nb_variables = sql_countsel("spip_$table");
276
+    if ($table !== 'meta') {
277
+        // Vérifier le contenu restant de la table
278
+        $nb_variables = sql_countsel("spip_$table");
279 279
 
280
-		// Supprimer si :
281
-		// - la table est vide
282
-		// - ou limitée à la variable charset
283
-		// - ou qu'on force la suppression
284
-		if (
285
-			$force
286
-			or !$nb_variables
287
-			or (
288
-				($nb_variables == 1)
289
-				and isset($GLOBALS[$table]['charset'])
290
-			)
291
-		) {
292
-			// Supprimer la table des globaleset de la base
293
-			unset($GLOBALS[$table]);
294
-			sql_drop_table("spip_$table");
295
-			// Supprimer le fichier cache
296
-			include_spip('inc/flock');
297
-			$cache = cache_meta($table);
298
-			supprimer_fichier($cache);
280
+        // Supprimer si :
281
+        // - la table est vide
282
+        // - ou limitée à la variable charset
283
+        // - ou qu'on force la suppression
284
+        if (
285
+            $force
286
+            or !$nb_variables
287
+            or (
288
+                ($nb_variables == 1)
289
+                and isset($GLOBALS[$table]['charset'])
290
+            )
291
+        ) {
292
+            // Supprimer la table des globaleset de la base
293
+            unset($GLOBALS[$table]);
294
+            sql_drop_table("spip_$table");
295
+            // Supprimer le fichier cache
296
+            include_spip('inc/flock');
297
+            $cache = cache_meta($table);
298
+            supprimer_fichier($cache);
299 299
 
300
-			// vider le cache des tables
301
-			$trouver_table = charger_fonction('trouver_table', 'base');
302
-			$trouver_table('');
300
+            // vider le cache des tables
301
+            $trouver_table = charger_fonction('trouver_table', 'base');
302
+            $trouver_table('');
303 303
 
304
-			// Supprimer la table de la liste des tables de configuration autres que spip_meta
305
-			if (isset($GLOBALS['meta']['tables_config'])) {
306
-				$liste = unserialize($GLOBALS['meta']['tables_config']);
307
-				$cle = array_search($table, $liste);
308
-				if ($cle !== false) {
309
-					unset($liste[$cle]);
310
-					if ($liste ) {
311
-						ecrire_meta('tables_config', serialize($liste));
312
-					} else {
313
-						effacer_meta('tables_config');
314
-					}
315
-				}
316
-			}
317
-		}
318
-	}
304
+            // Supprimer la table de la liste des tables de configuration autres que spip_meta
305
+            if (isset($GLOBALS['meta']['tables_config'])) {
306
+                $liste = unserialize($GLOBALS['meta']['tables_config']);
307
+                $cle = array_search($table, $liste);
308
+                if ($cle !== false) {
309
+                    unset($liste[$cle]);
310
+                    if ($liste ) {
311
+                        ecrire_meta('tables_config', serialize($liste));
312
+                    } else {
313
+                        effacer_meta('tables_config');
314
+                    }
315
+                }
316
+            }
317
+        }
318
+    }
319 319
 }
Please login to merge, or discard this patch.
ecrire/inc/precharger_objet.php 3 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
 	// si demande de traduction
65 65
 	// on recupere les valeurs de la traduction
66 66
 	if ($lier_trad) {
67
-		if ($select = charger_fonction("precharger_traduction_" . $type, 'inc', true)) {
67
+		if ($select = charger_fonction("precharger_traduction_".$type, 'inc', true)) {
68 68
 			$row = $select($id_objet, $id_rubrique, $lier_trad);
69 69
 		} else {
70 70
 			$row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
 	// recuperer le secteur, pour affecter les bons champs extras
103 103
 	if ($id_rubrique and $is_secteur) {
104 104
 		if (!$row['id_secteur']) {
105
-			$row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . sql_quote($id_rubrique));
105
+			$row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=".sql_quote($id_rubrique));
106 106
 			$row['id_secteur'] = $row_rub;
107 107
 		}
108 108
 	}
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
 	$row = sql_fetsel("*", $table, "$_id_objet=".intval($lier_trad));
137 137
 	if ($row) {
138 138
 		include_spip('inc/filtres');
139
-		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
139
+		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')).' '.$row[$champ_titre];
140 140
 	} else {
141 141
 		$row = array();
142 142
 	}
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
 				}
178 178
 
179 179
 				$row_rub = sql_fetsel("id_rubrique", "spip_rubriques",
180
-					"lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=".intval($id_parent));
180
+					"lang='".$GLOBALS['spip_lang']."' AND id_parent=".intval($id_parent));
181 181
 				if ($row_rub) {
182 182
 					$row['id_rubrique'] = $row_rub['id_rubrique'];
183 183
 				}
Please login to merge, or discard this patch.
Indentation   +136 added lines, -136 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/autoriser'); // necessaire si appel de l'espace public
@@ -45,69 +45,69 @@  discard block
 block discarded – undo
45 45
  **/
46 46
 function precharger_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre') {
47 47
 
48
-	$table = table_objet_sql($type);
49
-	$_id_objet = id_table_objet($table);
50
-
51
-	// si l'objet existe deja, on retourne simplement ses valeurs
52
-	if (is_numeric($id_objet)) {
53
-		return sql_fetsel("*", $table, "$_id_objet=".intval($id_objet));
54
-	}
55
-
56
-	// ici, on demande une creation.
57
-	// on prerempli certains elements : les champs si traduction,
58
-	// les id_rubrique et id_secteur si l'objet a ces champs
59
-	$desc = lister_tables_objets_sql($table);
60
-	# il faudrait calculer $champ_titre ici
61
-	$is_rubrique = isset($desc['field']['id_rubrique']);
62
-	$is_secteur = isset($desc['field']['id_secteur']);
63
-
64
-	// si demande de traduction
65
-	// on recupere les valeurs de la traduction
66
-	if ($lier_trad) {
67
-		if ($select = charger_fonction("precharger_traduction_" . $type, 'inc', true)) {
68
-			$row = $select($id_objet, $id_rubrique, $lier_trad);
69
-		} else {
70
-			$row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
71
-		}
72
-	} else {
73
-		$row[$champ_titre] = '';
74
-		if ($is_rubrique) {
75
-			$row['id_rubrique'] = $id_rubrique;
76
-		}
77
-	}
78
-
79
-	// calcul de la rubrique
80
-	# note : comment faire pour des traductions sur l'objet rubriques ?
81
-	if ($is_rubrique) {
82
-		// appel du script a la racine, faut choisir 
83
-		// admin restreint ==> sa premiere rubrique
84
-		// autre ==> la derniere rubrique cree
85
-		if (!$row['id_rubrique']) {
86
-			if ($GLOBALS['connect_id_rubrique']) {
87
-				$row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
88
-			} else {
89
-				$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", 1);
90
-				$row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
91
-			}
92
-			if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
93
-				// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
94
-				$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
95
-				while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && $row_rub = sql_fetch($res)) {
96
-					$row['id_rubrique'] = $row_rub['id_rubrique'];
97
-				}
98
-			}
99
-		}
100
-	}
101
-
102
-	// recuperer le secteur, pour affecter les bons champs extras
103
-	if ($id_rubrique and $is_secteur) {
104
-		if (!$row['id_secteur']) {
105
-			$row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . sql_quote($id_rubrique));
106
-			$row['id_secteur'] = $row_rub;
107
-		}
108
-	}
109
-
110
-	return $row;
48
+    $table = table_objet_sql($type);
49
+    $_id_objet = id_table_objet($table);
50
+
51
+    // si l'objet existe deja, on retourne simplement ses valeurs
52
+    if (is_numeric($id_objet)) {
53
+        return sql_fetsel("*", $table, "$_id_objet=".intval($id_objet));
54
+    }
55
+
56
+    // ici, on demande une creation.
57
+    // on prerempli certains elements : les champs si traduction,
58
+    // les id_rubrique et id_secteur si l'objet a ces champs
59
+    $desc = lister_tables_objets_sql($table);
60
+    # il faudrait calculer $champ_titre ici
61
+    $is_rubrique = isset($desc['field']['id_rubrique']);
62
+    $is_secteur = isset($desc['field']['id_secteur']);
63
+
64
+    // si demande de traduction
65
+    // on recupere les valeurs de la traduction
66
+    if ($lier_trad) {
67
+        if ($select = charger_fonction("precharger_traduction_" . $type, 'inc', true)) {
68
+            $row = $select($id_objet, $id_rubrique, $lier_trad);
69
+        } else {
70
+            $row = precharger_traduction_objet($type, $id_objet, $id_rubrique, $lier_trad, $champ_titre);
71
+        }
72
+    } else {
73
+        $row[$champ_titre] = '';
74
+        if ($is_rubrique) {
75
+            $row['id_rubrique'] = $id_rubrique;
76
+        }
77
+    }
78
+
79
+    // calcul de la rubrique
80
+    # note : comment faire pour des traductions sur l'objet rubriques ?
81
+    if ($is_rubrique) {
82
+        // appel du script a la racine, faut choisir 
83
+        // admin restreint ==> sa premiere rubrique
84
+        // autre ==> la derniere rubrique cree
85
+        if (!$row['id_rubrique']) {
86
+            if ($GLOBALS['connect_id_rubrique']) {
87
+                $row['id_rubrique'] = $id_rubrique = current($GLOBALS['connect_id_rubrique']);
88
+            } else {
89
+                $row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", 1);
90
+                $row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
91
+            }
92
+            if (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique'])) {
93
+                // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
94
+                $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
95
+                while (!autoriser('creerarticledans', 'rubrique', $row['id_rubrique']) && $row_rub = sql_fetch($res)) {
96
+                    $row['id_rubrique'] = $row_rub['id_rubrique'];
97
+                }
98
+            }
99
+        }
100
+    }
101
+
102
+    // recuperer le secteur, pour affecter les bons champs extras
103
+    if ($id_rubrique and $is_secteur) {
104
+        if (!$row['id_secteur']) {
105
+            $row_rub = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . sql_quote($id_rubrique));
106
+            $row['id_secteur'] = $row_rub;
107
+        }
108
+    }
109
+
110
+    return $row;
111 111
 }
112 112
 
113 113
 
@@ -129,76 +129,76 @@  discard block
 block discarded – undo
129 129
  *     Couples clés / valeurs des champs du formulaire à charger
130 130
  **/
131 131
 function precharger_traduction_objet($type, $id_objet, $id_rubrique = 0, $lier_trad = 0, $champ_titre = 'titre') {
132
-	$table = table_objet_sql($type);
133
-	$_id_objet = id_table_objet($table);
134
-
135
-	// Recuperer les donnees de l'objet original
136
-	$row = sql_fetsel("*", $table, "$_id_objet=".intval($lier_trad));
137
-	if ($row) {
138
-		include_spip('inc/filtres');
139
-		$row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
140
-	} else {
141
-		$row = array();
142
-	}
143
-
144
-	// on met l'objet dans une rubrique si l'objet le peut
145
-	$desc = lister_tables_objets_sql($table);
146
-	$is_rubrique = isset($desc['field']['id_rubrique']);
147
-
148
-	if ($is_rubrique) {
149
-		$langues_dispo = explode(',', $GLOBALS['meta']['langues_multilingue']);
150
-		// si le redacteur utilise une autre langue que celle de la source, on suppose que c'est pour traduire dans sa langue
151
-		if (in_array($GLOBALS['spip_lang'], $langues_dispo) and $GLOBALS['spip_lang'] !== $row['lang']) {
152
-			$row['lang'] = $GLOBALS['spip_lang'];
153
-		}
154
-		// sinon si il y a seulement 2 langues dispos, on bascule sur l'"autre"
155
-		elseif (count($langues_dispo) == 2) {
156
-			$autre_langue = array_diff($langues_dispo, [$row['lang']]);
157
-			if (count($autre_langue) == 1) {
158
-				$row['lang'] = reset($autre_langue);
159
-			}
160
-		}
161
-		else {
162
-			$row['lang'] = 'en';
163
-		}
164
-
165
-		if ($id_rubrique) {
166
-			$row['id_rubrique'] = $id_rubrique;
167
-
168
-			return $row;
169
-		}
170
-		$id_rubrique = $row['id_rubrique'];
171
-
172
-
173
-		// Regler la langue, si possible, sur celle du redacteur
174
-		// Cela implique souvent de choisir une rubrique ou un secteur
175
-		if (in_array($GLOBALS['spip_lang'], $langues_dispo)) {
176
-
177
-			// Si le menu de langues est autorise sur l'objet,
178
-			// on peut changer la langue quelle que soit la rubrique
179
-			// donc on reste dans la meme rubrique
180
-			if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
181
-				$row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
182
-
183
-				// Sinon, chercher la rubrique la plus adaptee pour
184
-				// accueillir l'objet dans la langue du traducteur
185
-			} elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
186
-				if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
187
-					$id_parent = 0;
188
-				} else {
189
-					// on cherche une rubrique soeur dans la bonne langue
190
-					$row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id_rubrique));
191
-					$id_parent = $row_rub['id_parent'];
192
-				}
193
-
194
-				$row_rub = sql_fetsel("id_rubrique", "spip_rubriques",
195
-					"lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=".intval($id_parent));
196
-				if ($row_rub) {
197
-					$row['id_rubrique'] = $row_rub['id_rubrique'];
198
-				}
199
-			}
200
-		}
201
-	}
202
-
203
-	return $row;
132
+    $table = table_objet_sql($type);
133
+    $_id_objet = id_table_objet($table);
134
+
135
+    // Recuperer les donnees de l'objet original
136
+    $row = sql_fetsel("*", $table, "$_id_objet=".intval($lier_trad));
137
+    if ($row) {
138
+        include_spip('inc/filtres');
139
+        $row[$champ_titre] = filtrer_entites(objet_T($type, 'info_nouvelle_traduction')) . ' ' . $row[$champ_titre];
140
+    } else {
141
+        $row = array();
142
+    }
143
+
144
+    // on met l'objet dans une rubrique si l'objet le peut
145
+    $desc = lister_tables_objets_sql($table);
146
+    $is_rubrique = isset($desc['field']['id_rubrique']);
147
+
148
+    if ($is_rubrique) {
149
+        $langues_dispo = explode(',', $GLOBALS['meta']['langues_multilingue']);
150
+        // si le redacteur utilise une autre langue que celle de la source, on suppose que c'est pour traduire dans sa langue
151
+        if (in_array($GLOBALS['spip_lang'], $langues_dispo) and $GLOBALS['spip_lang'] !== $row['lang']) {
152
+            $row['lang'] = $GLOBALS['spip_lang'];
153
+        }
154
+        // sinon si il y a seulement 2 langues dispos, on bascule sur l'"autre"
155
+        elseif (count($langues_dispo) == 2) {
156
+            $autre_langue = array_diff($langues_dispo, [$row['lang']]);
157
+            if (count($autre_langue) == 1) {
158
+                $row['lang'] = reset($autre_langue);
159
+            }
160
+        }
161
+        else {
162
+            $row['lang'] = 'en';
163
+        }
164
+
165
+        if ($id_rubrique) {
166
+            $row['id_rubrique'] = $id_rubrique;
167
+
168
+            return $row;
169
+        }
170
+        $id_rubrique = $row['id_rubrique'];
171
+
172
+
173
+        // Regler la langue, si possible, sur celle du redacteur
174
+        // Cela implique souvent de choisir une rubrique ou un secteur
175
+        if (in_array($GLOBALS['spip_lang'], $langues_dispo)) {
176
+
177
+            // Si le menu de langues est autorise sur l'objet,
178
+            // on peut changer la langue quelle que soit la rubrique
179
+            // donc on reste dans la meme rubrique
180
+            if (in_array($table, explode(',', $GLOBALS['meta']['multi_objets']))) {
181
+                $row['id_rubrique'] = $row['id_rubrique']; # explicite :-)
182
+
183
+                // Sinon, chercher la rubrique la plus adaptee pour
184
+                // accueillir l'objet dans la langue du traducteur
185
+            } elseif ($is_rubrique and $GLOBALS['meta']['multi_rubriques'] == 'oui') {
186
+                if ($GLOBALS['meta']['multi_secteurs'] == 'oui') {
187
+                    $id_parent = 0;
188
+                } else {
189
+                    // on cherche une rubrique soeur dans la bonne langue
190
+                    $row_rub = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=".intval($id_rubrique));
191
+                    $id_parent = $row_rub['id_parent'];
192
+                }
193
+
194
+                $row_rub = sql_fetsel("id_rubrique", "spip_rubriques",
195
+                    "lang='" . $GLOBALS['spip_lang'] . "' AND id_parent=".intval($id_parent));
196
+                if ($row_rub) {
197
+                    $row['id_rubrique'] = $row_rub['id_rubrique'];
198
+                }
199
+            }
200
+        }
201
+    }
202
+
203
+    return $row;
204 204
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -157,8 +157,7 @@
 block discarded – undo
157 157
 			if (count($autre_langue) == 1) {
158 158
 				$row['lang'] = reset($autre_langue);
159 159
 			}
160
-		}
161
-		else {
160
+		} else {
162 161
 			$row['lang'] = 'en';
163 162
 		}
164 163
 
Please login to merge, or discard this patch.
ecrire/plugins/installer.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 	}
69 69
 	$dir = constant($dir);
70 70
 	foreach ($infos['install'] as $file) {
71
-		$file = $dir . $plug . "/" . trim($file);
71
+		$file = $dir.$plug."/".trim($file);
72 72
 		if (file_exists($file)) {
73 73
 			include_once($file);
74 74
 		}
@@ -81,10 +81,10 @@  discard block
 block discarded – undo
81 81
 		// S'assurer que les metas de la table spécifique sont bien accessibles dans la globale
82 82
 		lire_metas($table);
83 83
 	}
84
-	$nom_meta = $infos['prefix'] . '_base_version';
84
+	$nom_meta = $infos['prefix'].'_base_version';
85 85
 
86 86
 	// Détermination de la fonction à appeler et de ses arguments
87
-	$f = $infos['prefix'] . "_install";
87
+	$f = $infos['prefix']."_install";
88 88
 	if (!function_exists($f)) {
89 89
 		$f = isset($infos['schema']) ? 'spip_plugin_install' : '';
90 90
 		$arg = $infos;
@@ -168,12 +168,12 @@  discard block
 block discarded – undo
168 168
 				and spip_version_compare($GLOBALS[$table][$nom_meta], $version_cible, '>='));
169 169
 			break;
170 170
 		case 'install':
171
-			if (function_exists($upgrade = $infos['prefix'] . '_upgrade')) {
171
+			if (function_exists($upgrade = $infos['prefix'].'_upgrade')) {
172 172
 				$upgrade($nom_meta, $version_cible, $table);
173 173
 			}
174 174
 			break;
175 175
 		case 'uninstall':
176
-			if (function_exists($vider_tables = $infos['prefix'] . '_vider_tables')) {
176
+			if (function_exists($vider_tables = $infos['prefix'].'_vider_tables')) {
177 177
 				$vider_tables($nom_meta, $table);
178 178
 			}
179 179
 			break;
Please login to merge, or discard this patch.
Indentation   +135 added lines, -135 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
 /**
@@ -54,96 +54,96 @@  discard block
 block discarded – undo
54 54
  */
55 55
 function plugins_installer_dist($plug, $action, $dir_type = '_DIR_PLUGINS') {
56 56
 
57
-	// Charger les informations du XML du plugin et vérification de l'existence d'une installation
58
-	$get_infos = charger_fonction('get_infos', 'plugins');
59
-	$infos = $get_infos($plug, false, constant($dir_type));
60
-	if (!isset($infos['install']) or !$infos['install']) {
61
-		return false;
62
-	}
63
-
64
-	// Passer en chemin absolu si possible, c'est plus efficace
65
-	$dir = str_replace('_DIR_', '_ROOT_', $dir_type);
66
-	if (!defined($dir)) {
67
-		$dir = $dir_type;
68
-	}
69
-	$dir = constant($dir);
70
-	foreach ($infos['install'] as $file) {
71
-		$file = $dir . $plug . "/" . trim($file);
72
-		if (file_exists($file)) {
73
-			include_once($file);
74
-		}
75
-	}
76
-
77
-	// Détermination de la table meta et du nom de la meta plugin
78
-	$table = 'meta';
79
-	if (isset($infos['meta']) and ($infos['meta'] !== 'meta')) {
80
-		$table = $infos['meta'];
81
-		// S'assurer que les metas de la table spécifique sont bien accessibles dans la globale
82
-		lire_metas($table);
83
-	}
84
-	$nom_meta = $infos['prefix'] . '_base_version';
85
-
86
-	// Détermination de la fonction à appeler et de ses arguments
87
-	$f = $infos['prefix'] . "_install";
88
-	if (!function_exists($f)) {
89
-		$f = isset($infos['schema']) ? 'spip_plugin_install' : '';
90
-		$arg = $infos;
91
-		// On passe la table et la meta pour éviter de les recalculer dans la fonction appelée
92
-		$arg['meta'] = $table;
93
-		$arg['nom_meta'] = $nom_meta;
94
-	} else {
95
-		// Ancienne méthode d'installation - TODO à supprimer à terme
96
-		// stupide: info deja dans le nom
97
-		$arg = $infos['prefix'];
98
-	}
99
-	$version = isset($infos['schema']) ? $infos['schema'] : '';
100
-
101
-	if (!$f) {
102
-		// installation sans operation particuliere
103
-		$infos['install_test'] = array(true, '');
104
-		return $infos;
105
-	}
106
-
107
-	// Tester si l'action demandée est nécessaire ou pas.
108
-	$test = $f('test', $arg, $version);
109
-	if ($action == 'uninstall') {
110
-		$test = !$test;
111
-	}
112
-	// Si deja fait, on ne fait rien et on ne dit rien
113
-	if ($test) {
114
-		return true;
115
-	}
116
-
117
-	// Si install et que l'on a la meta d'installation, c'est un upgrade. On le consigne dans $infos
118
-	// pour renvoyer le bon message en retour de la fonction.
119
-	if ($action == 'install' && !empty($GLOBALS[$table][$nom_meta])) {
120
-		$infos['upgrade'] = true;
121
-	}
122
-
123
-	// executer l'installation ou l'inverse
124
-	// et renvoyer la trace (mais il faudrait passer en AJAX plutot)
125
-	ob_start();
126
-	$f($action, $arg, $version);
127
-	$aff = ob_get_contents();
128
-	ob_end_clean();
129
-
130
-	// vider le cache des descriptions de tables a chaque (de)installation
131
-	$trouver_table = charger_fonction('trouver_table', 'base');
132
-	$trouver_table('');
133
-	$infos['install_test'] = array($f('test', $arg, $version), $aff);
134
-
135
-	// Si la table meta n'est pas spip_meta et qu'on est dans la première installation du plugin
136
-	// on force la création du fichier cache à la date du moment.
137
-	// On relit les metas de la table pour être sur que la globale soit à jour pour touch_meta.
138
-	if (
139
-		($table !== 'meta')
140
-		and ($action == 'install')
141
-		and empty($infos['upgrade'])
142
-	) {
143
-		touch_meta(false, $table);
144
-	}
145
-
146
-	return $infos;
57
+    // Charger les informations du XML du plugin et vérification de l'existence d'une installation
58
+    $get_infos = charger_fonction('get_infos', 'plugins');
59
+    $infos = $get_infos($plug, false, constant($dir_type));
60
+    if (!isset($infos['install']) or !$infos['install']) {
61
+        return false;
62
+    }
63
+
64
+    // Passer en chemin absolu si possible, c'est plus efficace
65
+    $dir = str_replace('_DIR_', '_ROOT_', $dir_type);
66
+    if (!defined($dir)) {
67
+        $dir = $dir_type;
68
+    }
69
+    $dir = constant($dir);
70
+    foreach ($infos['install'] as $file) {
71
+        $file = $dir . $plug . "/" . trim($file);
72
+        if (file_exists($file)) {
73
+            include_once($file);
74
+        }
75
+    }
76
+
77
+    // Détermination de la table meta et du nom de la meta plugin
78
+    $table = 'meta';
79
+    if (isset($infos['meta']) and ($infos['meta'] !== 'meta')) {
80
+        $table = $infos['meta'];
81
+        // S'assurer que les metas de la table spécifique sont bien accessibles dans la globale
82
+        lire_metas($table);
83
+    }
84
+    $nom_meta = $infos['prefix'] . '_base_version';
85
+
86
+    // Détermination de la fonction à appeler et de ses arguments
87
+    $f = $infos['prefix'] . "_install";
88
+    if (!function_exists($f)) {
89
+        $f = isset($infos['schema']) ? 'spip_plugin_install' : '';
90
+        $arg = $infos;
91
+        // On passe la table et la meta pour éviter de les recalculer dans la fonction appelée
92
+        $arg['meta'] = $table;
93
+        $arg['nom_meta'] = $nom_meta;
94
+    } else {
95
+        // Ancienne méthode d'installation - TODO à supprimer à terme
96
+        // stupide: info deja dans le nom
97
+        $arg = $infos['prefix'];
98
+    }
99
+    $version = isset($infos['schema']) ? $infos['schema'] : '';
100
+
101
+    if (!$f) {
102
+        // installation sans operation particuliere
103
+        $infos['install_test'] = array(true, '');
104
+        return $infos;
105
+    }
106
+
107
+    // Tester si l'action demandée est nécessaire ou pas.
108
+    $test = $f('test', $arg, $version);
109
+    if ($action == 'uninstall') {
110
+        $test = !$test;
111
+    }
112
+    // Si deja fait, on ne fait rien et on ne dit rien
113
+    if ($test) {
114
+        return true;
115
+    }
116
+
117
+    // Si install et que l'on a la meta d'installation, c'est un upgrade. On le consigne dans $infos
118
+    // pour renvoyer le bon message en retour de la fonction.
119
+    if ($action == 'install' && !empty($GLOBALS[$table][$nom_meta])) {
120
+        $infos['upgrade'] = true;
121
+    }
122
+
123
+    // executer l'installation ou l'inverse
124
+    // et renvoyer la trace (mais il faudrait passer en AJAX plutot)
125
+    ob_start();
126
+    $f($action, $arg, $version);
127
+    $aff = ob_get_contents();
128
+    ob_end_clean();
129
+
130
+    // vider le cache des descriptions de tables a chaque (de)installation
131
+    $trouver_table = charger_fonction('trouver_table', 'base');
132
+    $trouver_table('');
133
+    $infos['install_test'] = array($f('test', $arg, $version), $aff);
134
+
135
+    // Si la table meta n'est pas spip_meta et qu'on est dans la première installation du plugin
136
+    // on force la création du fichier cache à la date du moment.
137
+    // On relit les metas de la table pour être sur que la globale soit à jour pour touch_meta.
138
+    if (
139
+        ($table !== 'meta')
140
+        and ($action == 'install')
141
+        and empty($infos['upgrade'])
142
+    ) {
143
+        touch_meta(false, $table);
144
+    }
145
+
146
+    return $infos;
147 147
 }
148 148
 
149 149
 /**
@@ -159,25 +159,25 @@  discard block
 block discarded – undo
159 159
  * @return bool|void
160 160
  */
161 161
 function spip_plugin_install($action, $infos, $version_cible) {
162
-	$nom_meta = $infos['nom_meta'];
163
-	$table = $infos['meta'];
164
-	switch ($action) {
165
-		case 'test':
166
-			return (isset($GLOBALS[$table])
167
-				and isset($GLOBALS[$table][$nom_meta])
168
-				and spip_version_compare($GLOBALS[$table][$nom_meta], $version_cible, '>='));
169
-			break;
170
-		case 'install':
171
-			if (function_exists($upgrade = $infos['prefix'] . '_upgrade')) {
172
-				$upgrade($nom_meta, $version_cible, $table);
173
-			}
174
-			break;
175
-		case 'uninstall':
176
-			if (function_exists($vider_tables = $infos['prefix'] . '_vider_tables')) {
177
-				$vider_tables($nom_meta, $table);
178
-			}
179
-			break;
180
-	}
162
+    $nom_meta = $infos['nom_meta'];
163
+    $table = $infos['meta'];
164
+    switch ($action) {
165
+        case 'test':
166
+            return (isset($GLOBALS[$table])
167
+                and isset($GLOBALS[$table][$nom_meta])
168
+                and spip_version_compare($GLOBALS[$table][$nom_meta], $version_cible, '>='));
169
+            break;
170
+        case 'install':
171
+            if (function_exists($upgrade = $infos['prefix'] . '_upgrade')) {
172
+                $upgrade($nom_meta, $version_cible, $table);
173
+            }
174
+            break;
175
+        case 'uninstall':
176
+            if (function_exists($vider_tables = $infos['prefix'] . '_vider_tables')) {
177
+                $vider_tables($nom_meta, $table);
178
+            }
179
+            break;
180
+    }
181 181
 }
182 182
 
183 183
 
@@ -196,29 +196,29 @@  discard block
 block discarded – undo
196 196
  * @return array Tableau des plugins actifs
197 197
  **/
198 198
 function liste_plugin_actifs() {
199
-	$liste = isset($GLOBALS['meta']['plugin']) ? $GLOBALS['meta']['plugin'] : '';
200
-	if (!$liste) {
201
-		return array();
202
-	}
203
-	if (!is_array($liste = unserialize($liste))) {
204
-		// compatibilite pre 1.9.2, mettre a jour la meta
205
-		spip_log("MAJ meta plugin vieille version : $liste", "plugin");
206
-		$new = true;
207
-		list(, $liste) = liste_plugin_valides(explode(",", $liste));
208
-	} else {
209
-		$new = false;
210
-		// compat au moment d'une migration depuis version anterieure
211
-		// si pas de dir_type, alors c'est _DIR_PLUGINS
212
-		foreach ($liste as $prefix => $infos) {
213
-			if (!isset($infos['dir_type'])) {
214
-				$liste[$prefix]['dir_type'] = "_DIR_PLUGINS";
215
-				$new = true;
216
-			}
217
-		}
218
-	}
219
-	if ($new) {
220
-		ecrire_meta('plugin', serialize($liste));
221
-	}
222
-
223
-	return $liste;
199
+    $liste = isset($GLOBALS['meta']['plugin']) ? $GLOBALS['meta']['plugin'] : '';
200
+    if (!$liste) {
201
+        return array();
202
+    }
203
+    if (!is_array($liste = unserialize($liste))) {
204
+        // compatibilite pre 1.9.2, mettre a jour la meta
205
+        spip_log("MAJ meta plugin vieille version : $liste", "plugin");
206
+        $new = true;
207
+        list(, $liste) = liste_plugin_valides(explode(",", $liste));
208
+    } else {
209
+        $new = false;
210
+        // compat au moment d'une migration depuis version anterieure
211
+        // si pas de dir_type, alors c'est _DIR_PLUGINS
212
+        foreach ($liste as $prefix => $infos) {
213
+            if (!isset($infos['dir_type'])) {
214
+                $liste[$prefix]['dir_type'] = "_DIR_PLUGINS";
215
+                $new = true;
216
+            }
217
+        }
218
+    }
219
+    if ($new) {
220
+        ecrire_meta('plugin', serialize($liste));
221
+    }
222
+
223
+    return $liste;
224 224
 }
Please login to merge, or discard this patch.
ecrire/base/trouver_table.php 2 patches
Indentation   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\SQL\Tables
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 include_spip('base/objets');
22 22
 
@@ -64,141 +64,141 @@  discard block
 block discarded – undo
64 64
  *
65 65
  **/
66 66
 function base_trouver_table_dist($nom, $serveur = '', $table_spip = true) {
67
-	static $nom_cache_desc_sql = array();
68
-
69
-	if (!spip_connect($serveur)
70
-		or !preg_match('/^[a-zA-Z0-9._-]*/', $nom)
71
-	) {
72
-		return null;
73
-	}
74
-
75
-	$connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
76
-	$objets_sql = lister_tables_objets_sql("::md5");
77
-
78
-	// le nom du cache depend du serveur mais aussi du nom de la db et du prefixe
79
-	// ce qui permet une auto invalidation en cas de modif manuelle du fichier
80
-	// de connexion, et tout risque d'ambiguite
81
-	if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) {
82
-		$nom_cache_desc_sql[$serveur][$objets_sql] =
83
-			_DIR_CACHE . 'sql_desc_'
84
-			. ($serveur ? "{$serveur}_" : "")
85
-			. substr(md5($connexion['db'] . ":" . $connexion['prefixe'] . ":$objets_sql"), 0, 8)
86
-			. '.txt';
87
-		// nouveau nom de cache = nouvelle version en memoire
88
-		unset($connexion['tables']);
89
-	}
90
-
91
-	// un appel avec $nom vide est une demande explicite de vidange du cache des descriptions
92
-	if (!$nom) {
93
-		spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]);
94
-		$connexion['tables'] = array();
95
-
96
-		return null;
97
-	}
98
-
99
-	$nom_sql = $nom;
100
-	if (preg_match('/\.(.*)$/', $nom, $s)) {
101
-		$nom_sql = $s[1];
102
-	} else {
103
-		$nom_sql = $nom;
104
-	}
105
-
106
-	$fdesc = $desc = '';
107
-	$connexion = &$GLOBALS['connexions'][$serveur ? $serveur : 0];
108
-
109
-	// base sous SPIP: gerer les abreviations explicites des noms de table
110
-	if ($connexion['spip_connect_version']) {
111
-		if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) {
112
-			$nom = $GLOBALS['table_des_tables'][$nom];
113
-			$nom_sql = 'spip_' . $nom;
114
-		}
115
-	}
116
-
117
-	// si c'est la premiere table qu'on cherche
118
-	// et si on est pas explicitement en recalcul
119
-	// on essaye de recharger le cache des decriptions de ce serveur
120
-	// dans le fichier cache
121
-	if (!isset($connexion['tables'][$nom_sql])
122
-		and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul'
123
-		and (!isset($connexion['tables']) or !$connexion['tables'])
124
-	) {
125
-		if (lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache)
126
-			and $desc_cache = unserialize($desc_cache)
127
-		) {
128
-			$connexion['tables'] = $desc_cache;
129
-		}
130
-	}
131
-	if ($table_spip and !isset($connexion['tables'][$nom_sql])) {
132
-
133
-		if (isset($GLOBALS['tables_principales'][$nom_sql])) {
134
-			$fdesc = $GLOBALS['tables_principales'][$nom_sql];
135
-		}
136
-		// meme si pas d'abreviation declaree, trouver la table spip_$nom
137
-		// si c'est une table principale,
138
-		// puisqu'on le fait aussi pour les tables auxiliaires
139
-		elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) {
140
-			$nom_sql = 'spip_' . $nom;
141
-			$fdesc = &$GLOBALS['tables_principales'][$nom_sql];
142
-		} elseif (isset($GLOBALS['tables_auxiliaires'][$n = $nom])
143
-			or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom])
144
-		) {
145
-			$nom_sql = $n;
146
-			$fdesc = &$GLOBALS['tables_auxiliaires'][$n];
147
-		}  # table locale a cote de SPIP, comme non SPIP:
148
-	}
149
-	if (!isset($connexion['tables'][$nom_sql])) {
150
-
151
-		// La *vraie* base a la priorite
152
-		$desc = sql_showtable($nom_sql, $table_spip, $serveur);
153
-		if (!$desc or !$desc['field']) {
154
-			if (!$fdesc) {
155
-				spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . _LOG_INFO_IMPORTANTE);
156
-
157
-				return null;
158
-			}
159
-			// on ne sait pas lire la structure de la table :
160
-			// on retombe sur la description donnee dans les fichiers spip
161
-			$desc = $fdesc;
162
-			$desc['exist'] = false;
163
-		} else {
164
-			$desc['exist'] = true;
165
-			// gerer le cas des cles vides (echec de l'analyse sur une vue par exemple)
166
-			// pour recuperer la declaration de lister_tables_objets_sql() si il y en a une
167
-			if (! $desc['key']) {
168
-				spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base');
169
-				unset($desc['key']);
170
-			}
171
-		}
172
-
173
-		$desc['table'] = $desc['table_sql'] = $nom_sql;
174
-		$desc['connexion'] = $serveur;
175
-
176
-		// charger les infos declarees pour cette table
177
-		// en lui passant les infos connues
178
-		// $desc est prioritaire pour la description de la table
179
-		$desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc);
180
-		// s'assurer qu'on a toujours un 'key'
181
-		if (!isset($desc['key']) && !empty($fdesc['key'])){
182
-			$desc['key'] = $fdesc['key'];
183
-		}
184
-		if (! isset($desc['key'])) {
185
-			$desc['key'] = array();
186
-		}
187
-
188
-		// si tables_objets_sql est bien fini d'init, on peut cacher
189
-		$connexion['tables'][$nom_sql] = $desc;
190
-		$res = &$connexion['tables'][$nom_sql];
191
-		// une nouvelle table a ete decrite
192
-		// mettons donc a jour le cache des descriptions de ce serveur
193
-		if (is_writeable(_DIR_CACHE)) {
194
-			ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true);
195
-		}
196
-	} else {
197
-		$res = &$connexion['tables'][$nom_sql];
198
-	}
199
-
200
-	// toujours retourner $nom dans id_table
201
-	$res['id_table'] = $nom;
202
-
203
-	return $res;
67
+    static $nom_cache_desc_sql = array();
68
+
69
+    if (!spip_connect($serveur)
70
+        or !preg_match('/^[a-zA-Z0-9._-]*/', $nom)
71
+    ) {
72
+        return null;
73
+    }
74
+
75
+    $connexion = &$GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
76
+    $objets_sql = lister_tables_objets_sql("::md5");
77
+
78
+    // le nom du cache depend du serveur mais aussi du nom de la db et du prefixe
79
+    // ce qui permet une auto invalidation en cas de modif manuelle du fichier
80
+    // de connexion, et tout risque d'ambiguite
81
+    if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) {
82
+        $nom_cache_desc_sql[$serveur][$objets_sql] =
83
+            _DIR_CACHE . 'sql_desc_'
84
+            . ($serveur ? "{$serveur}_" : "")
85
+            . substr(md5($connexion['db'] . ":" . $connexion['prefixe'] . ":$objets_sql"), 0, 8)
86
+            . '.txt';
87
+        // nouveau nom de cache = nouvelle version en memoire
88
+        unset($connexion['tables']);
89
+    }
90
+
91
+    // un appel avec $nom vide est une demande explicite de vidange du cache des descriptions
92
+    if (!$nom) {
93
+        spip_unlink($nom_cache_desc_sql[$serveur][$objets_sql]);
94
+        $connexion['tables'] = array();
95
+
96
+        return null;
97
+    }
98
+
99
+    $nom_sql = $nom;
100
+    if (preg_match('/\.(.*)$/', $nom, $s)) {
101
+        $nom_sql = $s[1];
102
+    } else {
103
+        $nom_sql = $nom;
104
+    }
105
+
106
+    $fdesc = $desc = '';
107
+    $connexion = &$GLOBALS['connexions'][$serveur ? $serveur : 0];
108
+
109
+    // base sous SPIP: gerer les abreviations explicites des noms de table
110
+    if ($connexion['spip_connect_version']) {
111
+        if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) {
112
+            $nom = $GLOBALS['table_des_tables'][$nom];
113
+            $nom_sql = 'spip_' . $nom;
114
+        }
115
+    }
116
+
117
+    // si c'est la premiere table qu'on cherche
118
+    // et si on est pas explicitement en recalcul
119
+    // on essaye de recharger le cache des decriptions de ce serveur
120
+    // dans le fichier cache
121
+    if (!isset($connexion['tables'][$nom_sql])
122
+        and defined('_VAR_MODE') and _VAR_MODE !== 'recalcul'
123
+        and (!isset($connexion['tables']) or !$connexion['tables'])
124
+    ) {
125
+        if (lire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], $desc_cache)
126
+            and $desc_cache = unserialize($desc_cache)
127
+        ) {
128
+            $connexion['tables'] = $desc_cache;
129
+        }
130
+    }
131
+    if ($table_spip and !isset($connexion['tables'][$nom_sql])) {
132
+
133
+        if (isset($GLOBALS['tables_principales'][$nom_sql])) {
134
+            $fdesc = $GLOBALS['tables_principales'][$nom_sql];
135
+        }
136
+        // meme si pas d'abreviation declaree, trouver la table spip_$nom
137
+        // si c'est une table principale,
138
+        // puisqu'on le fait aussi pour les tables auxiliaires
139
+        elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) {
140
+            $nom_sql = 'spip_' . $nom;
141
+            $fdesc = &$GLOBALS['tables_principales'][$nom_sql];
142
+        } elseif (isset($GLOBALS['tables_auxiliaires'][$n = $nom])
143
+            or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom])
144
+        ) {
145
+            $nom_sql = $n;
146
+            $fdesc = &$GLOBALS['tables_auxiliaires'][$n];
147
+        }  # table locale a cote de SPIP, comme non SPIP:
148
+    }
149
+    if (!isset($connexion['tables'][$nom_sql])) {
150
+
151
+        // La *vraie* base a la priorite
152
+        $desc = sql_showtable($nom_sql, $table_spip, $serveur);
153
+        if (!$desc or !$desc['field']) {
154
+            if (!$fdesc) {
155
+                spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . _LOG_INFO_IMPORTANTE);
156
+
157
+                return null;
158
+            }
159
+            // on ne sait pas lire la structure de la table :
160
+            // on retombe sur la description donnee dans les fichiers spip
161
+            $desc = $fdesc;
162
+            $desc['exist'] = false;
163
+        } else {
164
+            $desc['exist'] = true;
165
+            // gerer le cas des cles vides (echec de l'analyse sur une vue par exemple)
166
+            // pour recuperer la declaration de lister_tables_objets_sql() si il y en a une
167
+            if (! $desc['key']) {
168
+                spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base');
169
+                unset($desc['key']);
170
+            }
171
+        }
172
+
173
+        $desc['table'] = $desc['table_sql'] = $nom_sql;
174
+        $desc['connexion'] = $serveur;
175
+
176
+        // charger les infos declarees pour cette table
177
+        // en lui passant les infos connues
178
+        // $desc est prioritaire pour la description de la table
179
+        $desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc);
180
+        // s'assurer qu'on a toujours un 'key'
181
+        if (!isset($desc['key']) && !empty($fdesc['key'])){
182
+            $desc['key'] = $fdesc['key'];
183
+        }
184
+        if (! isset($desc['key'])) {
185
+            $desc['key'] = array();
186
+        }
187
+
188
+        // si tables_objets_sql est bien fini d'init, on peut cacher
189
+        $connexion['tables'][$nom_sql] = $desc;
190
+        $res = &$connexion['tables'][$nom_sql];
191
+        // une nouvelle table a ete decrite
192
+        // mettons donc a jour le cache des descriptions de ce serveur
193
+        if (is_writeable(_DIR_CACHE)) {
194
+            ecrire_fichier($nom_cache_desc_sql[$serveur][$objets_sql], serialize($connexion['tables']), true);
195
+        }
196
+    } else {
197
+        $res = &$connexion['tables'][$nom_sql];
198
+    }
199
+
200
+    // toujours retourner $nom dans id_table
201
+    $res['id_table'] = $nom;
202
+
203
+    return $res;
204 204
 }
Please login to merge, or discard this patch.
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -80,9 +80,9 @@  discard block
 block discarded – undo
80 80
 	// de connexion, et tout risque d'ambiguite
81 81
 	if (!isset($nom_cache_desc_sql[$serveur][$objets_sql])) {
82 82
 		$nom_cache_desc_sql[$serveur][$objets_sql] =
83
-			_DIR_CACHE . 'sql_desc_'
83
+			_DIR_CACHE.'sql_desc_'
84 84
 			. ($serveur ? "{$serveur}_" : "")
85
-			. substr(md5($connexion['db'] . ":" . $connexion['prefixe'] . ":$objets_sql"), 0, 8)
85
+			. substr(md5($connexion['db'].":".$connexion['prefixe'].":$objets_sql"), 0, 8)
86 86
 			. '.txt';
87 87
 		// nouveau nom de cache = nouvelle version en memoire
88 88
 		unset($connexion['tables']);
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	if ($connexion['spip_connect_version']) {
111 111
 		if ($table_spip and isset($GLOBALS['table_des_tables'][$nom])) {
112 112
 			$nom = $GLOBALS['table_des_tables'][$nom];
113
-			$nom_sql = 'spip_' . $nom;
113
+			$nom_sql = 'spip_'.$nom;
114 114
 		}
115 115
 	}
116 116
 
@@ -136,11 +136,11 @@  discard block
 block discarded – undo
136 136
 		// meme si pas d'abreviation declaree, trouver la table spip_$nom
137 137
 		// si c'est une table principale,
138 138
 		// puisqu'on le fait aussi pour les tables auxiliaires
139
-		elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_' . $nom])) {
140
-			$nom_sql = 'spip_' . $nom;
139
+		elseif ($nom_sql == $nom and isset($GLOBALS['tables_principales']['spip_'.$nom])) {
140
+			$nom_sql = 'spip_'.$nom;
141 141
 			$fdesc = &$GLOBALS['tables_principales'][$nom_sql];
142 142
 		} elseif (isset($GLOBALS['tables_auxiliaires'][$n = $nom])
143
-			or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_' . $nom])
143
+			or isset($GLOBALS['tables_auxiliaires'][$n = 'spip_'.$nom])
144 144
 		) {
145 145
 			$nom_sql = $n;
146 146
 			$fdesc = &$GLOBALS['tables_auxiliaires'][$n];
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 		$desc = sql_showtable($nom_sql, $table_spip, $serveur);
153 153
 		if (!$desc or !$desc['field']) {
154 154
 			if (!$fdesc) {
155
-				spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base' . _LOG_INFO_IMPORTANTE);
155
+				spip_log("trouver_table: table inconnue '$serveur' '$nom'", 'base'._LOG_INFO_IMPORTANTE);
156 156
 
157 157
 				return null;
158 158
 			}
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
 			$desc['exist'] = true;
165 165
 			// gerer le cas des cles vides (echec de l'analyse sur une vue par exemple)
166 166
 			// pour recuperer la declaration de lister_tables_objets_sql() si il y en a une
167
-			if (! $desc['key']) {
167
+			if (!$desc['key']) {
168 168
 				spip_log("trouver_table: table sans cle '$serveur' '$nom'", 'base');
169 169
 				unset($desc['key']);
170 170
 			}
@@ -178,10 +178,10 @@  discard block
 block discarded – undo
178 178
 		// $desc est prioritaire pour la description de la table
179 179
 		$desc = array_merge(lister_tables_objets_sql($nom_sql, $desc), $desc);
180 180
 		// s'assurer qu'on a toujours un 'key'
181
-		if (!isset($desc['key']) && !empty($fdesc['key'])){
181
+		if (!isset($desc['key']) && !empty($fdesc['key'])) {
182 182
 			$desc['key'] = $fdesc['key'];
183 183
 		}
184
-		if (! isset($desc['key'])) {
184
+		if (!isset($desc['key'])) {
185 185
 			$desc['key'] = array();
186 186
 		}
187 187
 
Please login to merge, or discard this patch.