Completed
Push — master ( 2056af...6c9939 )
by cam
01:09
created
ecrire/inc/chercher_logo.php 1 patch
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Logos
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -37,34 +37,34 @@  discard block
 block discarded – undo
37 37
  **/
38 38
 function inc_chercher_logo_dist($id, $_id_objet, $mode = 'on', $compat_old_logos = true) {
39 39
 
40
-	$mode = preg_replace(',\W,', '', $mode);
41
-	if ($mode) {
42
-		// chercher dans la base
43
-		$mode_document = 'logo' . $mode;
44
-		$objet = objet_type($_id_objet);
45
-		$doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id));
46
-		if ($doc) {
47
-			include_spip('inc/documents');
48
-			$d = get_spip_doc($doc['fichier']);
49
-			return [$d, _DIR_IMG, basename($d), $doc['extension'], @filemtime($d), $doc];
50
-		}
40
+    $mode = preg_replace(',\W,', '', $mode);
41
+    if ($mode) {
42
+        // chercher dans la base
43
+        $mode_document = 'logo' . $mode;
44
+        $objet = objet_type($_id_objet);
45
+        $doc = sql_fetsel('D.*', 'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document', 'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id));
46
+        if ($doc) {
47
+            include_spip('inc/documents');
48
+            $d = get_spip_doc($doc['fichier']);
49
+            return [$d, _DIR_IMG, basename($d), $doc['extension'], @filemtime($d), $doc];
50
+        }
51 51
 
52
-		# deprecated TODO remove
53
-		if ($compat_old_logos) {
54
-			# attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
55
-			$type = type_du_logo($_id_objet);
56
-			$nom = $type . $mode . intval($id);
52
+        # deprecated TODO remove
53
+        if ($compat_old_logos) {
54
+            # attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
55
+            $type = type_du_logo($_id_objet);
56
+            $nom = $type . $mode . intval($id);
57 57
 
58
-			foreach ($GLOBALS['formats_logos'] as $format) {
59
-				if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) {
60
-					return [$d, _DIR_LOGOS, $nom, $format, @filemtime($d)];
61
-				}
62
-			}
63
-		}
64
-	}
58
+            foreach ($GLOBALS['formats_logos'] as $format) {
59
+                if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) {
60
+                    return [$d, _DIR_LOGOS, $nom, $format, @filemtime($d)];
61
+                }
62
+            }
63
+        }
64
+    }
65 65
 
66
-	# coherence de type pour servir comme filtre (formulaire_login)
67
-	return [];
66
+    # coherence de type pour servir comme filtre (formulaire_login)
67
+    return [];
68 68
 }
69 69
 
70 70
 /**
@@ -83,15 +83,15 @@  discard block
 block discarded – undo
83 83
  * @deprecated 4.0 MAIS NE PAS SUPPRIMER CAR SERT POUR L'UPGRADE des logos et leur mise en base
84 84
  **/
85 85
 function type_du_logo($_id_objet) {
86
-	return isset($GLOBALS['table_logos'][$_id_objet])
87
-		? $GLOBALS['table_logos'][$_id_objet]
88
-		: objet_type(preg_replace(',^id_,', '', $_id_objet));
86
+    return isset($GLOBALS['table_logos'][$_id_objet])
87
+        ? $GLOBALS['table_logos'][$_id_objet]
88
+        : objet_type(preg_replace(',^id_,', '', $_id_objet));
89 89
 }
90 90
 
91 91
 // Exceptions standards (historique)
92 92
 $GLOBALS['table_logos'] = [
93
-	'id_article' => 'art',
94
-	'id_auteur' => 'aut',
95
-	'id_rubrique' => 'rub',
96
-	'id_groupe' => 'groupe',
93
+    'id_article' => 'art',
94
+    'id_auteur' => 'aut',
95
+    'id_rubrique' => 'rub',
96
+    'id_groupe' => 'groupe',
97 97
 ];
Please login to merge, or discard this patch.
ecrire/inc/completer_traduction.php 1 patch
Indentation   +38 added lines, -38 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
 /**
@@ -29,51 +29,51 @@  discard block
 block discarded – undo
29 29
  * @return string Erreur éventuelle
30 30
  */
31 31
 function inc_completer_traduction_dist($objet, $id_objet, $id_trad) {
32
-	// dupliquer tous les liens sauf les auteurs : le nouvel auteur est celui qui traduit
33
-	// cf API editer_liens
34
-	include_spip('action/editer_liens');
35
-	objet_dupliquer_liens($objet, $id_trad, $id_objet, null, ['auteur']);
36
-	$_id_table = id_table_objet($objet);
32
+    // dupliquer tous les liens sauf les auteurs : le nouvel auteur est celui qui traduit
33
+    // cf API editer_liens
34
+    include_spip('action/editer_liens');
35
+    objet_dupliquer_liens($objet, $id_trad, $id_objet, null, ['auteur']);
36
+    $_id_table = id_table_objet($objet);
37 37
 
38
-	// recuperer le logo
39
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
40
-	include_spip('action/editer_logo');
41
-	foreach (['on', 'off'] as $etat) {
42
-		$logo = $chercher_logo($id_trad, $_id_table, $etat);
43
-		if ($logo and $file = reset($logo)) {
44
-			logo_modifier($objet, $id_objet, $etat, $file);
45
-		}
46
-	}
38
+    // recuperer le logo
39
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
40
+    include_spip('action/editer_logo');
41
+    foreach (['on', 'off'] as $etat) {
42
+        $logo = $chercher_logo($id_trad, $_id_table, $etat);
43
+        if ($logo and $file = reset($logo)) {
44
+            logo_modifier($objet, $id_objet, $etat, $file);
45
+        }
46
+    }
47 47
 
48
-	// dupliquer certains champs
49
-	$trouver_table = charger_fonction('trouver_table', 'base');
50
-	$desc = $trouver_table(table_objet_sql($objet));
51
-	$champs = $set = [];
48
+    // dupliquer certains champs
49
+    $trouver_table = charger_fonction('trouver_table', 'base');
50
+    $desc = $trouver_table(table_objet_sql($objet));
51
+    $champs = $set = [];
52 52
 
53
-	// un éventuel champ 'virtuel' (redirections)
54
-	if (!empty($desc['field']['virtuel'])) {
55
-		$champs[] = 'virtuel';
56
-	}
53
+    // un éventuel champ 'virtuel' (redirections)
54
+    if (!empty($desc['field']['virtuel'])) {
55
+        $champs[] = 'virtuel';
56
+    }
57 57
 
58
-	$data = sql_fetsel('*', $desc['table'], $_id_table . '=' . intval($id_trad));
58
+    $data = sql_fetsel('*', $desc['table'], $_id_table . '=' . intval($id_trad));
59 59
 
60
-	foreach ($champs as $c) {
61
-		$set[$c] = $data[$c];
62
-	}
60
+    foreach ($champs as $c) {
61
+        $set[$c] = $data[$c];
62
+    }
63 63
 
64
-	/*
64
+    /*
65 65
 	 * Le pipeline 'pre_edition' sera appelé avec l'action 'completer_traduction'.
66 66
 	 * Des plugins pourront ainsi compléter les champs d'un objet traduit lors d'une nouvelle traduction.
67 67
 	 */
68
-	$err = objet_modifier_champs(
69
-		$objet,
70
-		$id_objet,
71
-		[
72
-			'data' => $data,
73
-			'action' => 'completer_traduction',
74
-		],
75
-		$set
76
-	);
68
+    $err = objet_modifier_champs(
69
+        $objet,
70
+        $id_objet,
71
+        [
72
+            'data' => $data,
73
+            'action' => 'completer_traduction',
74
+        ],
75
+        $set
76
+    );
77 77
 
78
-	return $err;
78
+    return $err;
79 79
 }
Please login to merge, or discard this patch.
ecrire/inc/cvt_autosave.php 1 patch
Indentation   +73 added lines, -73 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
 /**
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
  * @return string
28 28
  */
29 29
 function autosave_clean_value($val) {
30
-	return stripslashes(urldecode($val));
30
+    return stripslashes(urldecode($val));
31 31
 }
32 32
 
33 33
 /**
@@ -38,58 +38,58 @@  discard block
 block discarded – undo
38 38
  * @return array
39 39
  */
40 40
 function cvtautosave_formulaire_charger($flux) {
41
-	if (
42
-		is_array($flux['data'])
43
-		and isset($flux['data']['_autosave_id'])
44
-		and $cle_autosave = $flux['data']['_autosave_id']
45
-	) {
46
-		$form = $flux['args']['form'];
47
-		$je_suis_poste = $flux['args']['je_suis_poste'];
41
+    if (
42
+        is_array($flux['data'])
43
+        and isset($flux['data']['_autosave_id'])
44
+        and $cle_autosave = $flux['data']['_autosave_id']
45
+    ) {
46
+        $form = $flux['args']['form'];
47
+        $je_suis_poste = $flux['args']['je_suis_poste'];
48 48
 
49
-		$cle_autosave = serialize($cle_autosave);
50
-		$cle_autosave = $form . '_' . md5($cle_autosave);
49
+        $cle_autosave = serialize($cle_autosave);
50
+        $cle_autosave = $form . '_' . md5($cle_autosave);
51 51
 
52
-		// si on a un backup en session et qu'on est au premier chargement, non poste
53
-		// on restitue les donnees
54
-		if (
55
-			isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])
56
-			and !$je_suis_poste
57
-		) {
58
-			parse_str($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave], $vars);
59
-			foreach ($vars as $key => $val) {
60
-				if (isset($flux['data'][$key])) {
61
-					$flux['data'][$key] = (is_string($val) ? autosave_clean_value($val) : array_map(
62
-						'autosave_clean_value',
63
-						$val
64
-					));
65
-				}
66
-			}
67
-		}
52
+        // si on a un backup en session et qu'on est au premier chargement, non poste
53
+        // on restitue les donnees
54
+        if (
55
+            isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])
56
+            and !$je_suis_poste
57
+        ) {
58
+            parse_str($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave], $vars);
59
+            foreach ($vars as $key => $val) {
60
+                if (isset($flux['data'][$key])) {
61
+                    $flux['data'][$key] = (is_string($val) ? autosave_clean_value($val) : array_map(
62
+                        'autosave_clean_value',
63
+                        $val
64
+                    ));
65
+                }
66
+            }
67
+        }
68 68
 
69
-		// si on est dans le charger() qui suit le traiter(), l'autosave a normalement ete vide
70
-		// mais si il y a plusieurs sessions il peut y avoir concurrence et un retour de l'autosave
71
-		if ($je_suis_poste and _request('autosave') === $cle_autosave and function_exists('terminer_actualiser_sessions')) {
72
-			terminer_actualiser_sessions();
73
-			// et verifions si jamais l'autosave a fait un come back, dans ce cas on le revide
74
-			if (isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])) {
75
-				session_set('session_autosave_' . $cle_autosave, null);
76
-				// en court sleep pour etre certain que la concurrence est finie
77
-				sleep(1);
78
-				terminer_actualiser_sessions();
79
-			}
80
-		}
69
+        // si on est dans le charger() qui suit le traiter(), l'autosave a normalement ete vide
70
+        // mais si il y a plusieurs sessions il peut y avoir concurrence et un retour de l'autosave
71
+        if ($je_suis_poste and _request('autosave') === $cle_autosave and function_exists('terminer_actualiser_sessions')) {
72
+            terminer_actualiser_sessions();
73
+            // et verifions si jamais l'autosave a fait un come back, dans ce cas on le revide
74
+            if (isset($GLOBALS['visiteur_session']['session_autosave_' . $cle_autosave])) {
75
+                session_set('session_autosave_' . $cle_autosave, null);
76
+                // en court sleep pour etre certain que la concurrence est finie
77
+                sleep(1);
78
+                terminer_actualiser_sessions();
79
+            }
80
+        }
81 81
 
82 82
 
83
-		/**
84
-		 * Envoyer le input hidden et le bout de js qui l'utilisera
85
-		 */
86
-		$flux['data']['_hidden'] .= "<input type='hidden' name='autosave' class='autosaveactive' value='$cle_autosave' />"
87
-			. '<script type="text/javascript">/*<![CDATA[*/if (window.jQuery) jQuery(function(){
83
+        /**
84
+         * Envoyer le input hidden et le bout de js qui l'utilisera
85
+         */
86
+        $flux['data']['_hidden'] .= "<input type='hidden' name='autosave' class='autosaveactive' value='$cle_autosave' />"
87
+            . '<script type="text/javascript">/*<![CDATA[*/if (window.jQuery) jQuery(function(){
88 88
 		  $("input.autosaveactive").closest("form:not(.autosaveon)").autosave({url:"' . $GLOBALS['meta']['adresse_site'] . '/"}).addClass("autosaveon");
89 89
 			});/*]]>*/</script>';
90
-	}
90
+    }
91 91
 
92
-	return $flux;
92
+    return $flux;
93 93
 }
94 94
 
95 95
 /**
@@ -103,33 +103,33 @@  discard block
 block discarded – undo
103 103
  * @return array
104 104
  */
105 105
 function cvtautosave_formulaire_traiter($flux) {
106
-	// si on poste 'autosave' c'est qu'on n'a plus besoin de sauvegarder :
107
-	// on elimine les donnees de la session
108
-	if ($cle_autosave = _request('autosave')) {
109
-		include_spip('inc/session');
110
-		session_set('session_autosave_' . $cle_autosave, null);
111
-	}
106
+    // si on poste 'autosave' c'est qu'on n'a plus besoin de sauvegarder :
107
+    // on elimine les donnees de la session
108
+    if ($cle_autosave = _request('autosave')) {
109
+        include_spip('inc/session');
110
+        session_set('session_autosave_' . $cle_autosave, null);
111
+    }
112 112
 
113
-	if (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']) {
114
-		// delai par defaut avant purge d'un backup de form : 72H
115
-		if (!defined('_AUTOSAVE_GB_DELAY')) {
116
-			define('_AUTOSAVE_GB_DELAY', 72 * 3600);
117
-		}
118
-		$time_too_old = time() - _AUTOSAVE_GB_DELAY;
119
-		// purger aussi toutes les vieilles autosave
120
-		$session = $GLOBALS['visiteur_session'];
121
-		foreach ($session as $k => $v) {
122
-			if (strncmp($k, 'session_autosave_', 17) == 0) {
123
-				$timestamp = 0;
124
-				if (preg_match(',&__timestamp=(\d+)$,', $v, $m)) {
125
-					$timestamp = intval($m[1]);
126
-				}
127
-				if ($timestamp < $time_too_old) {
128
-					session_set($k, null);
129
-				}
130
-			}
131
-		}
132
-	}
113
+    if (isset($GLOBALS['visiteur_session']) and $GLOBALS['visiteur_session']) {
114
+        // delai par defaut avant purge d'un backup de form : 72H
115
+        if (!defined('_AUTOSAVE_GB_DELAY')) {
116
+            define('_AUTOSAVE_GB_DELAY', 72 * 3600);
117
+        }
118
+        $time_too_old = time() - _AUTOSAVE_GB_DELAY;
119
+        // purger aussi toutes les vieilles autosave
120
+        $session = $GLOBALS['visiteur_session'];
121
+        foreach ($session as $k => $v) {
122
+            if (strncmp($k, 'session_autosave_', 17) == 0) {
123
+                $timestamp = 0;
124
+                if (preg_match(',&__timestamp=(\d+)$,', $v, $m)) {
125
+                    $timestamp = intval($m[1]);
126
+                }
127
+                if ($timestamp < $time_too_old) {
128
+                    session_set($k, null);
129
+                }
130
+            }
131
+        }
132
+    }
133 133
 
134
-	return $flux;
134
+    return $flux;
135 135
 }
Please login to merge, or discard this patch.
ecrire/inc/roles.php 1 patch
Indentation   +185 added lines, -185 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
  */
29 29
 
30 30
 if (!defined('_ECRIRE_INC_VERSION')) {
31
-	return;
31
+    return;
32 32
 }
33 33
 
34 34
 
@@ -48,55 +48,55 @@  discard block
 block discarded – undo
48 48
  *     array : description des roles applicables dans 3 index : colonne, titres, roles
49 49
  **/
50 50
 function roles_presents($objet, $objet_destination = '') {
51
-	$desc = lister_tables_objets_sql(table_objet_sql($objet));
52
-
53
-	// pas de liste de roles, on sort
54
-	if (!isset($desc['roles_titres']) or !($titres = $desc['roles_titres'])) {
55
-		return false;
56
-	}
57
-
58
-	// on vérifie que la table de liaison existe
59
-	include_spip('action/editer_liens');
60
-	if (!$lien = objet_associable($objet)) {
61
-		return false;
62
-	}
63
-
64
-	// on cherche ensuite si la colonne existe bien dans la table de liaison (par défaut 'role')
65
-	$colonne = isset($desc['roles_colonne']) ? $desc['roles_colonne'] : 'role';
66
-	$trouver_table = charger_fonction('trouver_table', 'base');
67
-	list(, $table_lien) = $lien;
68
-	$desc_lien = $trouver_table($table_lien);
69
-	if (!isset($desc_lien['field'][$colonne])) {
70
-		return false;
71
-	}
72
-
73
-	// sur quoi peuvent s'appliquer nos rôles
74
-	if (!$application = $desc['roles_objets']) {
75
-		return false;
76
-	}
77
-
78
-	// destination presente, on restreint si possible
79
-	if ($objet_destination) {
80
-		$objet_destination = table_objet($objet_destination);
81
-
82
-		// pour l'objet
83
-		if (isset($application[$objet_destination])) {
84
-			$application = $application[$objet_destination];
85
-			// sinon pour tous les objets
86
-		} elseif (isset($application['*'])) {
87
-			$application = $application['*'];
88
-		} // sinon tant pis
89
-		else {
90
-			return false;
91
-		}
92
-	}
93
-
94
-	// tout est ok
95
-	return [
96
-		'titres' => $titres,
97
-		'roles' => $application,
98
-		'colonne' => $colonne
99
-	];
51
+    $desc = lister_tables_objets_sql(table_objet_sql($objet));
52
+
53
+    // pas de liste de roles, on sort
54
+    if (!isset($desc['roles_titres']) or !($titres = $desc['roles_titres'])) {
55
+        return false;
56
+    }
57
+
58
+    // on vérifie que la table de liaison existe
59
+    include_spip('action/editer_liens');
60
+    if (!$lien = objet_associable($objet)) {
61
+        return false;
62
+    }
63
+
64
+    // on cherche ensuite si la colonne existe bien dans la table de liaison (par défaut 'role')
65
+    $colonne = isset($desc['roles_colonne']) ? $desc['roles_colonne'] : 'role';
66
+    $trouver_table = charger_fonction('trouver_table', 'base');
67
+    list(, $table_lien) = $lien;
68
+    $desc_lien = $trouver_table($table_lien);
69
+    if (!isset($desc_lien['field'][$colonne])) {
70
+        return false;
71
+    }
72
+
73
+    // sur quoi peuvent s'appliquer nos rôles
74
+    if (!$application = $desc['roles_objets']) {
75
+        return false;
76
+    }
77
+
78
+    // destination presente, on restreint si possible
79
+    if ($objet_destination) {
80
+        $objet_destination = table_objet($objet_destination);
81
+
82
+        // pour l'objet
83
+        if (isset($application[$objet_destination])) {
84
+            $application = $application[$objet_destination];
85
+            // sinon pour tous les objets
86
+        } elseif (isset($application['*'])) {
87
+            $application = $application['*'];
88
+        } // sinon tant pis
89
+        else {
90
+            return false;
91
+        }
92
+    }
93
+
94
+    // tout est ok
95
+    return [
96
+        'titres' => $titres,
97
+        'roles' => $application,
98
+        'colonne' => $colonne
99
+    ];
100 100
 }
101 101
 
102 102
 /**
@@ -110,11 +110,11 @@  discard block
 block discarded – undo
110 110
  *     Nom de la colonne, sinon vide
111 111
  **/
112 112
 function roles_colonne($objet, $objet_destination) {
113
-	if ($roles = roles_presents($objet, $objet_destination)) {
114
-		return $roles['colonne'];
115
-	}
113
+    if ($roles = roles_presents($objet, $objet_destination)) {
114
+        return $roles['colonne'];
115
+    }
116 116
 
117
-	return '';
117
+    return '';
118 118
 }
119 119
 
120 120
 
@@ -136,24 +136,24 @@  discard block
 block discarded – undo
136 136
  *     Liste ('', '', array()) sinon.
137 137
  **/
138 138
 function roles_trouver_dans_qualif($objet, $objet_destination, $qualif = []) {
139
-	// si des rôles sont possibles, on les utilise
140
-	$role = $colonne_role = ''; # role défini
141
-	// condition du where par defaut
142
-	$cond = [];
143
-	if ($roles = roles_presents($objet, $objet_destination)) {
144
-		$colonne_role = $roles['colonne'];
145
-		// qu'il n'est pas défini
146
-		if (
147
-			!isset($qualif[$colonne_role])
148
-			or !($role = $qualif[$colonne_role])
149
-		) {
150
-			$role = $roles['roles']['defaut'];
151
-		}
152
-		// where
153
-		$cond = ["$colonne_role=" . sql_quote($role)];
154
-	}
155
-
156
-	return [$role, $colonne_role, $cond];
139
+    // si des rôles sont possibles, on les utilise
140
+    $role = $colonne_role = ''; # role défini
141
+    // condition du where par defaut
142
+    $cond = [];
143
+    if ($roles = roles_presents($objet, $objet_destination)) {
144
+        $colonne_role = $roles['colonne'];
145
+        // qu'il n'est pas défini
146
+        if (
147
+            !isset($qualif[$colonne_role])
148
+            or !($role = $qualif[$colonne_role])
149
+        ) {
150
+            $role = $roles['roles']['defaut'];
151
+        }
152
+        // where
153
+        $cond = ["$colonne_role=" . sql_quote($role)];
154
+    }
155
+
156
+    return [$role, $colonne_role, $cond];
157 157
 }
158 158
 
159 159
 /**
@@ -175,21 +175,21 @@  discard block
 block discarded – undo
175 175
  *     Liste (Tableau de conditions where complété du role, Colonne du role, role utilisé)
176 176
  **/
177 177
 function roles_creer_condition_role($objet_source, $objet, $cond, $tous_si_absent = false) {
178
-	// role par défaut, colonne
179
-	list($role_defaut, $colonne_role) = roles_trouver_dans_qualif($objet_source, $objet);
178
+    // role par défaut, colonne
179
+    list($role_defaut, $colonne_role) = roles_trouver_dans_qualif($objet_source, $objet);
180 180
 
181
-	// chercher d'eventuels rôles transmis
182
-	$role = (isset($cond['role']) ? $cond['role'] : ($tous_si_absent ? '*' : $role_defaut));
183
-	unset($cond['role']); // cette condition est particuliere...
181
+    // chercher d'eventuels rôles transmis
182
+    $role = (isset($cond['role']) ? $cond['role'] : ($tous_si_absent ? '*' : $role_defaut));
183
+    unset($cond['role']); // cette condition est particuliere...
184 184
 
185
-	if ($colonne_role) {
186
-		// on ajoute la condition du role aux autres conditions.
187
-		if ($role != '*') {
188
-			$cond[] = "$colonne_role=" . sql_quote($role);
189
-		}
190
-	}
185
+    if ($colonne_role) {
186
+        // on ajoute la condition du role aux autres conditions.
187
+        if ($role != '*') {
188
+            $cond[] = "$colonne_role=" . sql_quote($role);
189
+        }
190
+    }
191 191
 
192
-	return [$cond, $colonne_role, $role];
192
+    return [$cond, $colonne_role, $role];
193 193
 }
194 194
 
195 195
 /**
@@ -211,28 +211,28 @@  discard block
 block discarded – undo
211 211
  */
212 212
 function roles_complets($objet_source, $objet, $id_objet, $objet_lien) {
213 213
 
214
-	$presents = roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien);
215
-	// pas de roles sur ces objets => la liste par defaut, comme sans role
216
-	if ($presents === false) {
217
-		return lister_objets_lies($objet_source, $objet, $id_objet, $objet_lien);
218
-	}
219
-
220
-	// types de roles possibles
221
-	$roles_possibles = $presents['roles']['roles']['choix'];
222
-	// couples id / roles
223
-	$ids = $presents['ids'];
224
-
225
-	// pour chaque groupe, on fait le diff entre tous les roles possibles
226
-	// et les roles attribués à l'élément : s'il en reste, c'est que l'élément
227
-	// n'est pas complet
228
-	$complets = [];
229
-	foreach ($ids as $id => $roles_presents) {
230
-		if (!array_diff($roles_possibles, $roles_presents)) {
231
-			$complets[] = $id;
232
-		}
233
-	}
234
-
235
-	return $complets;
214
+    $presents = roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien);
215
+    // pas de roles sur ces objets => la liste par defaut, comme sans role
216
+    if ($presents === false) {
217
+        return lister_objets_lies($objet_source, $objet, $id_objet, $objet_lien);
218
+    }
219
+
220
+    // types de roles possibles
221
+    $roles_possibles = $presents['roles']['roles']['choix'];
222
+    // couples id / roles
223
+    $ids = $presents['ids'];
224
+
225
+    // pour chaque groupe, on fait le diff entre tous les roles possibles
226
+    // et les roles attribués à l'élément : s'il en reste, c'est que l'élément
227
+    // n'est pas complet
228
+    $complets = [];
229
+    foreach ($ids as $id => $roles_presents) {
230
+        if (!array_diff($roles_possibles, $roles_presents)) {
231
+            $complets[] = $id;
232
+        }
233
+    }
234
+
235
+    return $complets;
236 236
 }
237 237
 
238 238
 
@@ -249,17 +249,17 @@  discard block
 block discarded – undo
249 249
  */
250 250
 function roles_presents_sur_id($id_objet_source, $objet_source, $objet, $id_objet, $objet_lien) {
251 251
 
252
-	$presents = roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien);
253
-	// pas de roles sur ces objets => la liste par defaut, comme sans role
254
-	if ($presents === false) {
255
-		return [];
256
-	}
252
+    $presents = roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien);
253
+    // pas de roles sur ces objets => la liste par defaut, comme sans role
254
+    if ($presents === false) {
255
+        return [];
256
+    }
257 257
 
258
-	if (!isset($presents['ids'][$id_objet_source])) {
259
-		return [];
260
-	}
258
+    if (!isset($presents['ids'][$id_objet_source])) {
259
+        return [];
260
+    }
261 261
 
262
-	return $presents['ids'][$id_objet_source];
262
+    return $presents['ids'][$id_objet_source];
263 263
 }
264 264
 
265 265
 
@@ -287,47 +287,47 @@  discard block
 block discarded – undo
287 287
  *     - False si pas de role déclarés
288 288
  */
289 289
 function roles_presents_liaisons($objet_source, $objet, $id_objet, $objet_lien) {
290
-	static $done = [];
291
-
292
-	// stocker le résultat
293
-	$hash = "$objet_source-$objet-$id_objet-$objet_lien";
294
-	if (isset($done[$hash])) {
295
-		return $done[$hash];
296
-	}
297
-
298
-	// pas de roles sur ces objets, on sort
299
-	$roles = roles_presents($objet_lien, ($objet_lien == $objet) ? $objet_source : $objet);
300
-	if (!$roles) {
301
-		return $done[$hash] = false;
302
-	}
303
-
304
-	// inspiré de lister_objets_lies()
305
-	if ($objet_lien == $objet) {
306
-		$res = objet_trouver_liens([$objet => $id_objet], [$objet_source => '*']);
307
-	} else {
308
-		$res = objet_trouver_liens([$objet_source => '*'], [$objet => $id_objet]);
309
-	}
310
-
311
-	// types de roles possibles
312
-	$roles_possibles = $roles['roles']['choix'];
313
-	// colonne du role
314
-	$colonne = $roles['colonne'];
315
-
316
-	// on recupere par id, et role existant
317
-	$ids = [];
318
-	while ($row = array_shift($res)) {
319
-		$id = $row[$objet_source];
320
-		if (!isset($ids[$id])) {
321
-			$ids[$id] = [];
322
-		}
323
-		// tableau des roles présents
324
-		$ids[$id][] = $row[$colonne];
325
-	}
326
-
327
-	return $done[$hash] = [
328
-		'roles' => $roles,
329
-		'ids' => $ids
330
-	];
290
+    static $done = [];
291
+
292
+    // stocker le résultat
293
+    $hash = "$objet_source-$objet-$id_objet-$objet_lien";
294
+    if (isset($done[$hash])) {
295
+        return $done[$hash];
296
+    }
297
+
298
+    // pas de roles sur ces objets, on sort
299
+    $roles = roles_presents($objet_lien, ($objet_lien == $objet) ? $objet_source : $objet);
300
+    if (!$roles) {
301
+        return $done[$hash] = false;
302
+    }
303
+
304
+    // inspiré de lister_objets_lies()
305
+    if ($objet_lien == $objet) {
306
+        $res = objet_trouver_liens([$objet => $id_objet], [$objet_source => '*']);
307
+    } else {
308
+        $res = objet_trouver_liens([$objet_source => '*'], [$objet => $id_objet]);
309
+    }
310
+
311
+    // types de roles possibles
312
+    $roles_possibles = $roles['roles']['choix'];
313
+    // colonne du role
314
+    $colonne = $roles['colonne'];
315
+
316
+    // on recupere par id, et role existant
317
+    $ids = [];
318
+    while ($row = array_shift($res)) {
319
+        $id = $row[$objet_source];
320
+        if (!isset($ids[$id])) {
321
+            $ids[$id] = [];
322
+        }
323
+        // tableau des roles présents
324
+        $ids[$id][] = $row[$colonne];
325
+    }
326
+
327
+    return $done[$hash] = [
328
+        'roles' => $roles,
329
+        'ids' => $ids
330
+    ];
331 331
 }
332 332
 
333 333
 
@@ -345,33 +345,33 @@  discard block
 block discarded – undo
345 345
  *     - false si pas de role déclarés
346 346
  */
347 347
 function roles_connus_en_base($objet_source, $objet, $objet_lien) {
348
-	static $done = [];
349
-
350
-	// stocker le résultat
351
-	$hash = "$objet_source-$objet-$objet_lien";
352
-	if (isset($done[$hash])) {
353
-		return $done[$hash];
354
-	}
355
-
356
-	if (!$lien = objet_associable($objet_lien)) {
357
-		return $done[$hash] = false;
358
-	}
359
-
360
-	// pas de roles sur ces objets, on sort
361
-	$roles = roles_presents($objet_lien, ($objet_lien == $objet) ? $objet_source : $objet);
362
-	if (!$roles) {
363
-		return $done[$hash] = false;
364
-	}
365
-
366
-	list($primary, $l) = $lien;
367
-	$colone_role = $roles['colonne'];
368
-
369
-	$all = sql_allfetsel(
370
-		"DISTINCT $colone_role",
371
-		$l,
372
-		'objet=' . sql_quote(($objet_source == $objet_lien) ? $objet : $objet_source)
373
-	);
374
-	$done[$hash] = array_map('reset', $all);
375
-
376
-	return $done[$hash];
348
+    static $done = [];
349
+
350
+    // stocker le résultat
351
+    $hash = "$objet_source-$objet-$objet_lien";
352
+    if (isset($done[$hash])) {
353
+        return $done[$hash];
354
+    }
355
+
356
+    if (!$lien = objet_associable($objet_lien)) {
357
+        return $done[$hash] = false;
358
+    }
359
+
360
+    // pas de roles sur ces objets, on sort
361
+    $roles = roles_presents($objet_lien, ($objet_lien == $objet) ? $objet_source : $objet);
362
+    if (!$roles) {
363
+        return $done[$hash] = false;
364
+    }
365
+
366
+    list($primary, $l) = $lien;
367
+    $colone_role = $roles['colonne'];
368
+
369
+    $all = sql_allfetsel(
370
+        "DISTINCT $colone_role",
371
+        $l,
372
+        'objet=' . sql_quote(($objet_source == $objet_lien) ? $objet : $objet_source)
373
+    );
374
+    $done[$hash] = array_map('reset', $all);
375
+
376
+    return $done[$hash];
377 377
 }
Please login to merge, or discard this patch.
ecrire/inc/csv.php 1 patch
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -33,118 +33,118 @@  discard block
 block discarded – undo
33 33
  **/
34 34
 function analyse_csv($t) {
35 35
 
36
-	// Quel est le séparateur ?
37
-	$virg = substr_count($t, ',');
38
-	$pvirg = substr_count($t, ';');
39
-	$tab = substr_count($t, "\t");
40
-	if ($virg > $pvirg) {
41
-		$sep = ',';
42
-		$hs = '&#44;';
43
-	} else {
44
-		$sep = ';';
45
-		$hs = '&#59;';
46
-		$virg = $pvirg;
47
-	}
48
-	// un certain nombre de tab => le séparateur est tab
49
-	if ($tab > $virg / 10) {
50
-		$sep = "\t";
51
-		$hs = "\t";
52
-	}
36
+    // Quel est le séparateur ?
37
+    $virg = substr_count($t, ',');
38
+    $pvirg = substr_count($t, ';');
39
+    $tab = substr_count($t, "\t");
40
+    if ($virg > $pvirg) {
41
+        $sep = ',';
42
+        $hs = '&#44;';
43
+    } else {
44
+        $sep = ';';
45
+        $hs = '&#59;';
46
+        $virg = $pvirg;
47
+    }
48
+    // un certain nombre de tab => le séparateur est tab
49
+    if ($tab > $virg / 10) {
50
+        $sep = "\t";
51
+        $hs = "\t";
52
+    }
53 53
 
54
-	// un separateur suivi de 3 guillemets attention !
55
-	// attention au ; ou , suceptible d'etre confondu avec un separateur
56
-	// on substitue un # et on remplacera a la fin
57
-	$t = preg_replace("/([\n$sep])\"\"\"/", '\\1"&#34#', $t);
58
-	$t = str_replace('""', '&#34#', $t);
59
-	preg_match_all('/"[^"]*"/', $t, $r);
60
-	foreach ($r[0] as $cell) {
61
-		$t = str_replace(
62
-			$cell,
63
-			str_replace(
64
-				$sep,
65
-				$hs,
66
-				str_replace(
67
-					"\n",
68
-					'``**``', // échapper les saut de lignes, on les remettra après.
69
-					substr($cell, 1, -1)
70
-				)
71
-			),
72
-			$t
73
-		);
74
-	}
54
+    // un separateur suivi de 3 guillemets attention !
55
+    // attention au ; ou , suceptible d'etre confondu avec un separateur
56
+    // on substitue un # et on remplacera a la fin
57
+    $t = preg_replace("/([\n$sep])\"\"\"/", '\\1"&#34#', $t);
58
+    $t = str_replace('""', '&#34#', $t);
59
+    preg_match_all('/"[^"]*"/', $t, $r);
60
+    foreach ($r[0] as $cell) {
61
+        $t = str_replace(
62
+            $cell,
63
+            str_replace(
64
+                $sep,
65
+                $hs,
66
+                str_replace(
67
+                    "\n",
68
+                    '``**``', // échapper les saut de lignes, on les remettra après.
69
+                    substr($cell, 1, -1)
70
+                )
71
+            ),
72
+            $t
73
+        );
74
+    }
75 75
 
76
-	$t = preg_replace(
77
-		'/\r?\n/',
78
-		"\n",
79
-		preg_replace('/[\r\n]+/', "\n", $t)
80
-	);
76
+    $t = preg_replace(
77
+        '/\r?\n/',
78
+        "\n",
79
+        preg_replace('/[\r\n]+/', "\n", $t)
80
+    );
81 81
 
82
-	list($entete, $corps) = explode("\n", $t, 2);
83
-	$caption = '';
84
-	// sauter la ligne de tete formee seulement de separateurs
85
-	if (substr_count($entete, $sep) == strlen($entete)) {
86
-		list($entete, $corps) = explode("\n", $corps, 2);
87
-	}
88
-	// si une seule colonne, en faire le titre
89
-	if (preg_match("/^([^$sep]+)$sep+\$/", $entete, $l)) {
90
-		$caption = "\n||" . $l[1] . '|';
91
-		list($entete, $corps) = explode("\n", $corps, 2);
92
-	}
93
-	// si premiere colonne vide, le raccourci doit quand meme produire <th...
94
-	if ($entete[0] == $sep) {
95
-		$entete = ' ' . $entete;
96
-	}
82
+    list($entete, $corps) = explode("\n", $t, 2);
83
+    $caption = '';
84
+    // sauter la ligne de tete formee seulement de separateurs
85
+    if (substr_count($entete, $sep) == strlen($entete)) {
86
+        list($entete, $corps) = explode("\n", $corps, 2);
87
+    }
88
+    // si une seule colonne, en faire le titre
89
+    if (preg_match("/^([^$sep]+)$sep+\$/", $entete, $l)) {
90
+        $caption = "\n||" . $l[1] . '|';
91
+        list($entete, $corps) = explode("\n", $corps, 2);
92
+    }
93
+    // si premiere colonne vide, le raccourci doit quand meme produire <th...
94
+    if ($entete[0] == $sep) {
95
+        $entete = ' ' . $entete;
96
+    }
97 97
 
98
-	$lignes = explode("\n", $corps);
98
+    $lignes = explode("\n", $corps);
99 99
 
100
-	// retrait des lignes vides finales
101
-	while (
102
-		count($lignes) > 0
103
-		and preg_match("/^$sep*$/", $lignes[count($lignes) - 1])
104
-	) {
105
-		unset($lignes[count($lignes) - 1]);
106
-	}
107
-	//  calcul du  nombre de colonne a chaque ligne
108
-	$nbcols = [];
109
-	$max = $mil = substr_count($entete, $sep);
110
-	foreach ($lignes as $k => $v) {
111
-		if ($max <> ($nbcols[$k] = substr_count($v, $sep))) {
112
-			if ($max > $nbcols[$k]) {
113
-				$mil = $nbcols[$k];
114
-			} else {
115
-				$mil = $max;
116
-				$max = $nbcols[$k];
117
-			}
118
-		}
119
-	}
120
-	// Si pas le meme nombre, cadrer au nombre max
121
-	if ($mil <> $max) {
122
-		foreach ($nbcols as $k => $v) {
123
-			if ($v < $max) {
124
-				$lignes[$k] .= str_repeat($sep, $max - $v);
125
-			}
126
-		}
127
-	}
128
-	// et retirer les colonnes integralement vides
129
-	while (true) {
130
-		$nbcols = ($entete[strlen($entete) - 1] === $sep);
131
-		foreach ($lignes as $v) {
132
-			$nbcols &= ($v[strlen($v) - 1] === $sep);
133
-		}
134
-		if (!$nbcols) {
135
-			break;
136
-		}
137
-		$entete = substr($entete, 0, -1);
138
-		foreach ($lignes as $k => $v) {
139
-			$lignes[$k] = substr($v, 0, -1);
140
-		}
141
-	}
100
+    // retrait des lignes vides finales
101
+    while (
102
+        count($lignes) > 0
103
+        and preg_match("/^$sep*$/", $lignes[count($lignes) - 1])
104
+    ) {
105
+        unset($lignes[count($lignes) - 1]);
106
+    }
107
+    //  calcul du  nombre de colonne a chaque ligne
108
+    $nbcols = [];
109
+    $max = $mil = substr_count($entete, $sep);
110
+    foreach ($lignes as $k => $v) {
111
+        if ($max <> ($nbcols[$k] = substr_count($v, $sep))) {
112
+            if ($max > $nbcols[$k]) {
113
+                $mil = $nbcols[$k];
114
+            } else {
115
+                $mil = $max;
116
+                $max = $nbcols[$k];
117
+            }
118
+        }
119
+    }
120
+    // Si pas le meme nombre, cadrer au nombre max
121
+    if ($mil <> $max) {
122
+        foreach ($nbcols as $k => $v) {
123
+            if ($v < $max) {
124
+                $lignes[$k] .= str_repeat($sep, $max - $v);
125
+            }
126
+        }
127
+    }
128
+    // et retirer les colonnes integralement vides
129
+    while (true) {
130
+        $nbcols = ($entete[strlen($entete) - 1] === $sep);
131
+        foreach ($lignes as $v) {
132
+            $nbcols &= ($v[strlen($v) - 1] === $sep);
133
+        }
134
+        if (!$nbcols) {
135
+            break;
136
+        }
137
+        $entete = substr($entete, 0, -1);
138
+        foreach ($lignes as $k => $v) {
139
+            $lignes[$k] = substr($v, 0, -1);
140
+        }
141
+    }
142 142
 
143
-	foreach ($lignes as &$l) {
144
-		$l = str_replace('&#34#', '"', $l);
145
-		$l = str_replace('``**``', "\n", $l);
146
-		$l = explode($sep, $l);
147
-	}
143
+    foreach ($lignes as &$l) {
144
+        $l = str_replace('&#34#', '"', $l);
145
+        $l = str_replace('``**``', "\n", $l);
146
+        $l = explode($sep, $l);
147
+    }
148 148
 
149
-	return [explode($sep, $entete), $lignes, $caption];
149
+    return [explode($sep, $entete), $lignes, $caption];
150 150
 }
Please login to merge, or discard this patch.
ecrire/inc/chercher_rubrique.php 1 patch
Indentation   +195 added lines, -195 removed lines patch added patch discarded remove patch
@@ -18,16 +18,16 @@  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
 if (!defined('_SPIP_SELECT_RUBRIQUES')) {
25
-	/**
26
-	 * @var int Nombre de rubriques maximum du sélecteur de rubriques.
27
-	 * Au delà, on bascule sur un sélecteur ajax.
28
-	 * mettre 100000 pour desactiver ajax
29
-	 */
30
-	define('_SPIP_SELECT_RUBRIQUES', 20);
25
+    /**
26
+     * @var int Nombre de rubriques maximum du sélecteur de rubriques.
27
+     * Au delà, on bascule sur un sélecteur ajax.
28
+     * mettre 100000 pour desactiver ajax
29
+     */
30
+    define('_SPIP_SELECT_RUBRIQUES', 20);
31 31
 }
32 32
 
33 33
 /**
@@ -55,22 +55,22 @@  discard block
 block discarded – undo
55 55
  *     Code HTML du sélecteur
56 56
  **/
57 57
 function inc_chercher_rubrique_dist($id_rubrique, $type, $restreint, $idem = 0, $do = 'aff') {
58
-	if (sql_countsel('spip_rubriques') < 1) {
59
-		return '';
60
-	}
61
-
62
-	// Mode sans Ajax :
63
-	// - soit parce que le cookie ajax n'est pas la
64
-	// - soit parce qu'il y a peu de rubriques
65
-	if (
66
-		_SPIP_AJAX < 1
67
-		or $type == 'breve'
68
-		or sql_countsel('spip_rubriques') < _SPIP_SELECT_RUBRIQUES
69
-	) {
70
-		return selecteur_rubrique_html($id_rubrique, $type, $restreint, $idem);
71
-	} else {
72
-		return selecteur_rubrique_ajax($id_rubrique, $type, $restreint, $idem, $do);
73
-	}
58
+    if (sql_countsel('spip_rubriques') < 1) {
59
+        return '';
60
+    }
61
+
62
+    // Mode sans Ajax :
63
+    // - soit parce que le cookie ajax n'est pas la
64
+    // - soit parce qu'il y a peu de rubriques
65
+    if (
66
+        _SPIP_AJAX < 1
67
+        or $type == 'breve'
68
+        or sql_countsel('spip_rubriques') < _SPIP_SELECT_RUBRIQUES
69
+    ) {
70
+        return selecteur_rubrique_html($id_rubrique, $type, $restreint, $idem);
71
+    } else {
72
+        return selecteur_rubrique_ajax($id_rubrique, $type, $restreint, $idem, $do);
73
+    }
74 74
 }
75 75
 
76 76
 // compatibilite pour extensions qui utilisaient l'ancien nom
@@ -87,17 +87,17 @@  discard block
 block discarded – undo
87 87
  **/
88 88
 function style_menu_rubriques($i) {
89 89
 
90
-	$espace = '';
91
-	$style = '';
92
-	for ($count = 1; $count <= $i; $count++) {
93
-		$espace .= '&nbsp;&nbsp;&nbsp;&nbsp;';
94
-	}
95
-	if ($i == 1) {
96
-		$espace = '';
97
-	}
98
-	$class = "niveau_$i";
99
-
100
-	return [$class, $style, $espace];
90
+    $espace = '';
91
+    $style = '';
92
+    for ($count = 1; $count <= $i; $count++) {
93
+        $espace .= '&nbsp;&nbsp;&nbsp;&nbsp;';
94
+    }
95
+    if ($i == 1) {
96
+        $espace = '';
97
+    }
98
+    $class = "niveau_$i";
99
+
100
+    return [$class, $style, $espace];
101 101
 }
102 102
 
103 103
 /**
@@ -121,60 +121,60 @@  discard block
 block discarded – undo
121 121
  *     Code HTML du sélecteur
122 122
  **/
123 123
 function sous_menu_rubriques($id_rubrique, $root, $niv, &$data, &$enfants, $exclus, $restreint, $type) {
124
-	static $decalage_secteur;
125
-
126
-	// Si on a demande l'exclusion ne pas descendre dans la rubrique courante
127
-	if (
128
-		$exclus > 0
129
-		and $root == $exclus
130
-	) {
131
-		return '';
132
-	}
133
-
134
-	// en fonction du niveau faire un affichage plus ou moins kikoo
135
-
136
-	// selected ?
137
-	$selected = ($root == $id_rubrique) ? ' selected="selected"' : '';
138
-
139
-	// le style en fonction de la profondeur
140
-	list($class, $style, $espace) = style_menu_rubriques($niv);
141
-
142
-	$class .= ' selec_rub';
143
-
144
-	// creer l'<option> pour la rubrique $root
145
-
146
-	if (isset($data[$root])) { # pas de racine sauf pour les rubriques
147
-	$r = "<option$selected value='$root' class='$class' style='$style'>$espace"
148
-			. $data[$root]
149
-			. '</option>' . "\n";
150
-	} else {
151
-		$r = '';
152
-	}
153
-
154
-	// et le sous-menu pour ses enfants
155
-	$sous = '';
156
-	if (isset($enfants[$root])) {
157
-		foreach ($enfants[$root] as $sousrub) {
158
-			$sous .= sous_menu_rubriques(
159
-				$id_rubrique,
160
-				$sousrub,
161
-				$niv + 1,
162
-				$data,
163
-				$enfants,
164
-				$exclus,
165
-				$restreint,
166
-				$type
167
-			);
168
-		}
169
-	}
170
-
171
-	// si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
172
-	if ($restreint and $root != $id_rubrique and !autoriser('publierdans', 'rubrique', $root)) {
173
-		return $sous;
174
-	}
175
-
176
-	// et voila le travail
177
-	return $r . $sous;
124
+    static $decalage_secteur;
125
+
126
+    // Si on a demande l'exclusion ne pas descendre dans la rubrique courante
127
+    if (
128
+        $exclus > 0
129
+        and $root == $exclus
130
+    ) {
131
+        return '';
132
+    }
133
+
134
+    // en fonction du niveau faire un affichage plus ou moins kikoo
135
+
136
+    // selected ?
137
+    $selected = ($root == $id_rubrique) ? ' selected="selected"' : '';
138
+
139
+    // le style en fonction de la profondeur
140
+    list($class, $style, $espace) = style_menu_rubriques($niv);
141
+
142
+    $class .= ' selec_rub';
143
+
144
+    // creer l'<option> pour la rubrique $root
145
+
146
+    if (isset($data[$root])) { # pas de racine sauf pour les rubriques
147
+    $r = "<option$selected value='$root' class='$class' style='$style'>$espace"
148
+            . $data[$root]
149
+            . '</option>' . "\n";
150
+    } else {
151
+        $r = '';
152
+    }
153
+
154
+    // et le sous-menu pour ses enfants
155
+    $sous = '';
156
+    if (isset($enfants[$root])) {
157
+        foreach ($enfants[$root] as $sousrub) {
158
+            $sous .= sous_menu_rubriques(
159
+                $id_rubrique,
160
+                $sousrub,
161
+                $niv + 1,
162
+                $data,
163
+                $enfants,
164
+                $exclus,
165
+                $restreint,
166
+                $type
167
+            );
168
+        }
169
+    }
170
+
171
+    // si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
172
+    if ($restreint and $root != $id_rubrique and !autoriser('publierdans', 'rubrique', $root)) {
173
+        return $sous;
174
+    }
175
+
176
+    // et voila le travail
177
+    return $r . $sous;
178 178
 }
179 179
 
180 180
 /**
@@ -195,74 +195,74 @@  discard block
 block discarded – undo
195 195
  *     Code HTML du sélecteur
196 196
  **/
197 197
 function selecteur_rubrique_html($id_rubrique, $type, $restreint, $idem = 0) {
198
-	$data = [];
199
-	if ($type == 'rubrique' and autoriser('publierdans', 'rubrique', 0)) {
200
-		$data[0] = _T('info_racine_site');
201
-	}
202
-	# premier choix = neant
203
-	# si auteur (rubriques restreintes)
204
-	# ou si creation avec id_rubrique=0
205
-	elseif ($type == 'auteur' or !$id_rubrique) {
206
-		$data[0] = '&nbsp;';
207
-	}
208
-
209
-	//
210
-	// creer une structure contenant toute l'arborescence
211
-	//
212
-
213
-	include_spip('base/abstract_sql');
214
-	$q = sql_select(
215
-		'id_rubrique, id_parent, titre, statut, lang, langue_choisie',
216
-		'spip_rubriques',
217
-		($type == 'breve' ? ' id_parent=0 ' : ''),
218
-		'',
219
-		'0+titre,titre'
220
-	);
221
-	while ($r = sql_fetch($q)) {
222
-		if (autoriser('voir', 'rubrique', $r['id_rubrique'])) {
223
-			// titre largeur maxi a 50
224
-			$titre = couper(supprimer_tags(typo($r['titre'])) . ' ', 50);
225
-			if (
226
-				$GLOBALS['meta']['multi_rubriques'] == 'oui'
227
-				and ($r['langue_choisie'] == 'oui' or $r['id_parent'] == 0)
228
-			) {
229
-				$titre .= ' [' . traduire_nom_langue($r['lang']) . ']';
230
-			}
231
-			$data[$r['id_rubrique']] = $titre;
232
-			$enfants[$r['id_parent']][] = $r['id_rubrique'];
233
-			if ($id_rubrique == $r['id_rubrique']) {
234
-				$id_parent = $r['id_parent'];
235
-			}
236
-		}
237
-	}
238
-
239
-	// si une seule rubrique comme choix possible,
240
-	// inutile de mettre le selecteur sur un choix vide par defaut
241
-	// sauf si le selecteur s'adresse a une rubrique puisque on peut la mettre a la racine dans ce cas
242
-	if (
243
-		count($data) == 2
244
-		and isset($data[0])
245
-		and !in_array($type, ['auteur', 'rubrique'])
246
-		and !$id_rubrique
247
-	) {
248
-		unset($data[0]);
249
-	}
250
-
251
-
252
-	$opt = sous_menu_rubriques($id_rubrique, 0, 0, $data, $enfants, $idem, $restreint, $type);
253
-	$att = " id='id_parent' name='id_parent'\nclass='selecteur_parent verdana1'";
254
-
255
-	if (preg_match(',^<option[^<>]*value=.(\d*).[^<>]*>([^<]*)</option>$,', $opt, $r)) {
256
-		$r = "<input$att type='hidden' value='" . $r[1] . "' />" . $r[2];
257
-	} else {
258
-		$r = '<select' . $att . " size='1'>\n$opt</select>\n";
259
-	}
260
-
261
-	# message pour neuneus (a supprimer ?)
198
+    $data = [];
199
+    if ($type == 'rubrique' and autoriser('publierdans', 'rubrique', 0)) {
200
+        $data[0] = _T('info_racine_site');
201
+    }
202
+    # premier choix = neant
203
+    # si auteur (rubriques restreintes)
204
+    # ou si creation avec id_rubrique=0
205
+    elseif ($type == 'auteur' or !$id_rubrique) {
206
+        $data[0] = '&nbsp;';
207
+    }
208
+
209
+    //
210
+    // creer une structure contenant toute l'arborescence
211
+    //
212
+
213
+    include_spip('base/abstract_sql');
214
+    $q = sql_select(
215
+        'id_rubrique, id_parent, titre, statut, lang, langue_choisie',
216
+        'spip_rubriques',
217
+        ($type == 'breve' ? ' id_parent=0 ' : ''),
218
+        '',
219
+        '0+titre,titre'
220
+    );
221
+    while ($r = sql_fetch($q)) {
222
+        if (autoriser('voir', 'rubrique', $r['id_rubrique'])) {
223
+            // titre largeur maxi a 50
224
+            $titre = couper(supprimer_tags(typo($r['titre'])) . ' ', 50);
225
+            if (
226
+                $GLOBALS['meta']['multi_rubriques'] == 'oui'
227
+                and ($r['langue_choisie'] == 'oui' or $r['id_parent'] == 0)
228
+            ) {
229
+                $titre .= ' [' . traduire_nom_langue($r['lang']) . ']';
230
+            }
231
+            $data[$r['id_rubrique']] = $titre;
232
+            $enfants[$r['id_parent']][] = $r['id_rubrique'];
233
+            if ($id_rubrique == $r['id_rubrique']) {
234
+                $id_parent = $r['id_parent'];
235
+            }
236
+        }
237
+    }
238
+
239
+    // si une seule rubrique comme choix possible,
240
+    // inutile de mettre le selecteur sur un choix vide par defaut
241
+    // sauf si le selecteur s'adresse a une rubrique puisque on peut la mettre a la racine dans ce cas
242
+    if (
243
+        count($data) == 2
244
+        and isset($data[0])
245
+        and !in_array($type, ['auteur', 'rubrique'])
246
+        and !$id_rubrique
247
+    ) {
248
+        unset($data[0]);
249
+    }
250
+
251
+
252
+    $opt = sous_menu_rubriques($id_rubrique, 0, 0, $data, $enfants, $idem, $restreint, $type);
253
+    $att = " id='id_parent' name='id_parent'\nclass='selecteur_parent verdana1'";
254
+
255
+    if (preg_match(',^<option[^<>]*value=.(\d*).[^<>]*>([^<]*)</option>$,', $opt, $r)) {
256
+        $r = "<input$att type='hidden' value='" . $r[1] . "' />" . $r[2];
257
+    } else {
258
+        $r = '<select' . $att . " size='1'>\n$opt</select>\n";
259
+    }
260
+
261
+    # message pour neuneus (a supprimer ?)
262 262
 #	if ($type != 'auteur' AND $type != 'breve')
263 263
 #		$r .= "\n<br />"._T('texte_rappel_selection_champs');
264 264
 
265
-	return $r;
265
+    return $r;
266 266
 }
267 267
 
268 268
 /**
@@ -296,26 +296,26 @@  discard block
 block discarded – undo
296 296
  */
297 297
 function selecteur_rubrique_ajax($id_rubrique, $type, $restreint, $idem = 0, $do = 'aff') {
298 298
 
299
-	if ($id_rubrique) {
300
-		$titre = sql_getfetsel('titre', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
301
-	} else {
302
-		if ($type == 'auteur') {
303
-			$titre = '&nbsp;';
304
-		} else {
305
-			$titre = _T('info_racine_site');
306
-		}
307
-	}
299
+    if ($id_rubrique) {
300
+        $titre = sql_getfetsel('titre', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
301
+    } else {
302
+        if ($type == 'auteur') {
303
+            $titre = '&nbsp;';
304
+        } else {
305
+            $titre = _T('info_racine_site');
306
+        }
307
+    }
308 308
 
309
-	$titre = str_replace('&amp;', '&', entites_html(textebrut(typo($titre))));
310
-	$init = " disabled='disabled' type='text' value=\"" . $titre . "\"\nstyle='width:300px;'";
309
+    $titre = str_replace('&amp;', '&', entites_html(textebrut(typo($titre))));
310
+    $init = " disabled='disabled' type='text' value=\"" . $titre . "\"\nstyle='width:300px;'";
311 311
 
312
-	$url = generer_url_ecrire('selectionner', "id=$id_rubrique&type=$type&do=$do"
313
-		. (!$idem ? '' : "&exclus=$idem")
314
-		. ($restreint ? '' : '&racine=oui')
315
-		. (isset($GLOBALS['var_profile']) ? '&var_profile=1' : ''));
312
+    $url = generer_url_ecrire('selectionner', "id=$id_rubrique&type=$type&do=$do"
313
+        . (!$idem ? '' : "&exclus=$idem")
314
+        . ($restreint ? '' : '&racine=oui')
315
+        . (isset($GLOBALS['var_profile']) ? '&var_profile=1' : ''));
316 316
 
317 317
 
318
-	return construire_selecteur($url, '', 'selection_rubrique', 'id_parent', $init, $id_rubrique);
318
+    return construire_selecteur($url, '', 'selection_rubrique', 'id_parent', $init, $id_rubrique);
319 319
 }
320 320
 
321 321
 /**
@@ -345,30 +345,30 @@  discard block
 block discarded – undo
345 345
  *     Code HTML du sélecteur de rubrique AJAX
346 346
  **/
347 347
 function construire_selecteur($url, $js, $idom, $name, $init = '', $id = 0) {
348
-	$icone = (strpos($idom, 'auteur') !== false) ? 'auteur-24.png' : 'rechercher-20.png';
349
-	// si icone de recherche on embed le svg
350
-	$balise = ($icone === 'rechercher-20.png' ? chercher_filtre('balise_svg') : chercher_filtre('balise_img'));
351
-	$img_icone = $balise(chemin_image($icone, _T('titre_image_selecteur')));
352
-
353
-	return
354
-		"<div class='rubrique_actuelle'><a href='#' class='rubrique-search' role='button' style='display:inline-flex;vertical-align:middle;' onclick=\""
355
-		. $js
356
-		. " jQuery(this).toggleClass('toggled'); "
357
-		. "return charger_node_url_si_vide('"
358
-		. $url
359
-		. "', this.parentNode.nextSibling, this.nextSibling,'',event)\" title='" . attribut_html(_T('titre_image_selecteur')) . "'>"
360
-		. $img_icone
361
-		. "</a><img src='"
362
-		. chemin_image('loader.svg')
363
-		. "' class='loader' id='img_"
364
-		. $idom
365
-		. "'\nstyle='visibility: hidden;' alt='*' />"
366
-		. "<input id='titreparent' name='titreparent' class='text'"
367
-		. $init
368
-		. ' />'
369
-		. "<input type='hidden' id='$name' name='$name' value='"
370
-		. $id
371
-		. "' /><div class='nettoyeur'></div></div><div id='"
372
-		. $idom
373
-		. "'\nstyle='display: none;'></div>";
348
+    $icone = (strpos($idom, 'auteur') !== false) ? 'auteur-24.png' : 'rechercher-20.png';
349
+    // si icone de recherche on embed le svg
350
+    $balise = ($icone === 'rechercher-20.png' ? chercher_filtre('balise_svg') : chercher_filtre('balise_img'));
351
+    $img_icone = $balise(chemin_image($icone, _T('titre_image_selecteur')));
352
+
353
+    return
354
+        "<div class='rubrique_actuelle'><a href='#' class='rubrique-search' role='button' style='display:inline-flex;vertical-align:middle;' onclick=\""
355
+        . $js
356
+        . " jQuery(this).toggleClass('toggled'); "
357
+        . "return charger_node_url_si_vide('"
358
+        . $url
359
+        . "', this.parentNode.nextSibling, this.nextSibling,'',event)\" title='" . attribut_html(_T('titre_image_selecteur')) . "'>"
360
+        . $img_icone
361
+        . "</a><img src='"
362
+        . chemin_image('loader.svg')
363
+        . "' class='loader' id='img_"
364
+        . $idom
365
+        . "'\nstyle='visibility: hidden;' alt='*' />"
366
+        . "<input id='titreparent' name='titreparent' class='text'"
367
+        . $init
368
+        . ' />'
369
+        . "<input type='hidden' id='$name' name='$name' value='"
370
+        . $id
371
+        . "' /><div class='nettoyeur'></div></div><div id='"
372
+        . $idom
373
+        . "'\nstyle='display: none;'></div>";
374 374
 }
Please login to merge, or discard this patch.
ecrire/inc/genie.php 1 patch
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 /**
@@ -75,28 +75,28 @@  discard block
 block discarded – undo
75 75
  * @return
76 76
  **/
77 77
 function inc_genie_dist($taches = []) {
78
-	include_spip('inc/queue');
79
-
80
-	if (_request('exec') == 'job_queue') {
81
-		return false;
82
-	}
83
-
84
-	$force_jobs = [];
85
-	// l'ancienne facon de lancer une tache cron immediatement
86
-	// etait de la passer en parametre a ing_genie_dist
87
-	// on reroute en ajoutant simplement le job a la queue, ASAP
88
-	foreach ($taches as $function => $period) {
89
-		$force_jobs[] = queue_add_job(
90
-			$function,
91
-			_T('tache_cron_asap', ['function' => $function]),
92
-			[time() - abs($period)],
93
-			'genie/'
94
-		);
95
-	}
96
-
97
-	// et on passe la main a la gestion de la queue !
98
-	// en forcant eventuellement les jobs ajoute a l'instant
99
-	return queue_schedule(count($force_jobs) ? $force_jobs : null);
78
+    include_spip('inc/queue');
79
+
80
+    if (_request('exec') == 'job_queue') {
81
+        return false;
82
+    }
83
+
84
+    $force_jobs = [];
85
+    // l'ancienne facon de lancer une tache cron immediatement
86
+    // etait de la passer en parametre a ing_genie_dist
87
+    // on reroute en ajoutant simplement le job a la queue, ASAP
88
+    foreach ($taches as $function => $period) {
89
+        $force_jobs[] = queue_add_job(
90
+            $function,
91
+            _T('tache_cron_asap', ['function' => $function]),
92
+            [time() - abs($period)],
93
+            'genie/'
94
+        );
95
+    }
96
+
97
+    // et on passe la main a la gestion de la queue !
98
+    // en forcant eventuellement les jobs ajoute a l'instant
99
+    return queue_schedule(count($force_jobs) ? $force_jobs : null);
100 100
 }
101 101
 
102 102
 //
@@ -110,33 +110,33 @@  discard block
 block discarded – undo
110 110
 // https://code.spip.net/@taches_generales
111 111
 function taches_generales($taches_generales = []) {
112 112
 
113
-	// verifier que toutes les taches cron sont planifiees
114
-	// c'est une tache cron !
115
-	$taches_generales['queue_watch'] = 3600 * 24;
113
+    // verifier que toutes les taches cron sont planifiees
114
+    // c'est une tache cron !
115
+    $taches_generales['queue_watch'] = 3600 * 24;
116 116
 
117
-	// MAJ des rubriques publiques (cas de la publication post-datee)
118
-	// est fait au coup par coup a present
119
-	//	$taches_generales['rubriques'] = 3600;
117
+    // MAJ des rubriques publiques (cas de la publication post-datee)
118
+    // est fait au coup par coup a present
119
+    //	$taches_generales['rubriques'] = 3600;
120 120
 
121
-	// Optimisation de la base
122
-	$taches_generales['optimiser'] = 3600 * 48;
121
+    // Optimisation de la base
122
+    $taches_generales['optimiser'] = 3600 * 48;
123 123
 
124
-	// nouveautes
125
-	if (
126
-		isset($GLOBALS['meta']['adresse_neuf']) and $GLOBALS['meta']['adresse_neuf']
127
-		and $GLOBALS['meta']['jours_neuf']
128
-		and ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')
129
-	) {
130
-		$taches_generales['mail'] = 3600 * 24 * $GLOBALS['meta']['jours_neuf'];
131
-	}
124
+    // nouveautes
125
+    if (
126
+        isset($GLOBALS['meta']['adresse_neuf']) and $GLOBALS['meta']['adresse_neuf']
127
+        and $GLOBALS['meta']['jours_neuf']
128
+        and ($GLOBALS['meta']['quoi_de_neuf'] == 'oui')
129
+    ) {
130
+        $taches_generales['mail'] = 3600 * 24 * $GLOBALS['meta']['jours_neuf'];
131
+    }
132 132
 
133
-	// maintenance (ajax, verifications diverses)
134
-	$taches_generales['maintenance'] = 3600 * 2;
133
+    // maintenance (ajax, verifications diverses)
134
+    $taches_generales['maintenance'] = 3600 * 2;
135 135
 
136
-	// verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement)
137
-	$taches_generales['mise_a_jour'] = 3 * 24 * 3600;
136
+    // verifier si une mise a jour de spip est disponible (2 fois par semaine suffit largement)
137
+    $taches_generales['mise_a_jour'] = 3 * 24 * 3600;
138 138
 
139
-	return pipeline('taches_generales_cron', $taches_generales);
139
+    return pipeline('taches_generales_cron', $taches_generales);
140 140
 }
141 141
 
142 142
 /**
@@ -152,22 +152,22 @@  discard block
 block discarded – undo
152 152
  * @return int
153 153
  */
154 154
 function genie_queue_watch_dist() {
155
-	static $deja_la = false;
156
-	if ($deja_la) {
157
-		return;
158
-	} // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple)
159
-	$deja_la = true;
160
-	$taches = taches_generales();
161
-	$programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
162
-	$programmees = array_column($programmees, 'fonction');
163
-	foreach ($taches as $tache => $periode) {
164
-		if (!in_array($tache, $programmees)) {
165
-			queue_genie_replan_job($tache, $periode, time() - round(rand(1, $periode)), 0);
166
-		}
167
-	}
168
-	$deja_la = false;
169
-
170
-	return 1;
155
+    static $deja_la = false;
156
+    if ($deja_la) {
157
+        return;
158
+    } // re-entrance si l'insertion des jobs echoue (pas de table spip_jobs a l'upgrade par exemple)
159
+    $deja_la = true;
160
+    $taches = taches_generales();
161
+    $programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
162
+    $programmees = array_column($programmees, 'fonction');
163
+    foreach ($taches as $tache => $periode) {
164
+        if (!in_array($tache, $programmees)) {
165
+            queue_genie_replan_job($tache, $periode, time() - round(rand(1, $periode)), 0);
166
+        }
167
+    }
168
+    $deja_la = false;
169
+
170
+    return 1;
171 171
 }
172 172
 
173 173
 /**
@@ -188,32 +188,32 @@  discard block
 block discarded – undo
188 188
  * @return void
189 189
  */
190 190
 function queue_genie_replan_job($function, $period, $last = 0, $time = null, $priority = 0) {
191
-	static $done = [];
192
-	if (isset($done[$function])) {
193
-		return;
194
-	}
195
-	$done[$function] = true;
196
-	if (is_null($time)) {
197
-		$time = time();
198
-		if ($last) {
199
-			$time = max($last + $period, $time);
200
-		}
201
-	}
202
-	if (!$last) {
203
-		$last = $time - $period;
204
-	}
205
-	spip_log("replan_job $function $period $last $time $priority", 'queue');
206
-	include_spip('inc/queue');
207
-	// on replanifie un job cron
208
-	// uniquement si il n'y en a pas deja un avec le meme nom
209
-	// independament de l'argument
210
-	queue_add_job(
211
-		$function,
212
-		_T('tache_cron_secondes', ['function' => $function, 'nb' => $period]),
213
-		[$last],
214
-		'genie/',
215
-		'function_only',
216
-		$time,
217
-		$priority
218
-	);
191
+    static $done = [];
192
+    if (isset($done[$function])) {
193
+        return;
194
+    }
195
+    $done[$function] = true;
196
+    if (is_null($time)) {
197
+        $time = time();
198
+        if ($last) {
199
+            $time = max($last + $period, $time);
200
+        }
201
+    }
202
+    if (!$last) {
203
+        $last = $time - $period;
204
+    }
205
+    spip_log("replan_job $function $period $last $time $priority", 'queue');
206
+    include_spip('inc/queue');
207
+    // on replanifie un job cron
208
+    // uniquement si il n'y en a pas deja un avec le meme nom
209
+    // independament de l'argument
210
+    queue_add_job(
211
+        $function,
212
+        _T('tache_cron_secondes', ['function' => $function, 'nb' => $period]),
213
+        [$last],
214
+        'genie/',
215
+        'function_only',
216
+        $time,
217
+        $priority
218
+    );
219 219
 }
Please login to merge, or discard this patch.
ecrire/inc/meta.php 1 patch
Indentation   +196 added lines, -196 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,50 +28,50 @@  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 (
36
-		(!$exec = _request('exec') or !autoriser_sans_cookie($exec))
37
-		and $new = jeune_fichier($cache, _META_CACHE_TIME)
38
-		and lire_fichier_securise($cache, $meta)
39
-		and $meta = @unserialize($meta)
40
-	) {
41
-		$GLOBALS[$table] = $meta;
42
-	}
35
+    if (
36
+        (!$exec = _request('exec') or !autoriser_sans_cookie($exec))
37
+        and $new = jeune_fichier($cache, _META_CACHE_TIME)
38
+        and lire_fichier_securise($cache, $meta)
39
+        and $meta = @unserialize($meta)
40
+    ) {
41
+        $GLOBALS[$table] = $meta;
42
+    }
43 43
 
44
-	if (
45
-		isset($GLOBALS[$table]['touch'])
46
-		and ($GLOBALS[$table]['touch'] < time() - _META_CACHE_TIME)
47
-	) {
48
-		$GLOBALS[$table] = [];
49
-	}
50
-	// sinon lire en base
51
-	if (!$GLOBALS[$table]) {
52
-		$new = !lire_metas($table);
53
-	}
44
+    if (
45
+        isset($GLOBALS[$table]['touch'])
46
+        and ($GLOBALS[$table]['touch'] < time() - _META_CACHE_TIME)
47
+    ) {
48
+        $GLOBALS[$table] = [];
49
+    }
50
+    // sinon lire en base
51
+    if (!$GLOBALS[$table]) {
52
+        $new = !lire_metas($table);
53
+    }
54 54
 
55
-	// renouveller l'alea general si trop vieux ou sur demande explicite
56
-	if (
57
-		(test_espace_prive() || isset($_GET['renouvelle_alea']))
58
-		and $GLOBALS[$table]
59
-		and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0))
60
-	) {
61
-		// si on n'a pas l'acces en ecriture sur le cache,
62
-		// ne pas renouveller l'alea sinon le cache devient faux
63
-		if (supprimer_fichier($cache)) {
64
-			include_spip('inc/acces');
65
-			renouvelle_alea();
66
-			$new = false;
67
-		} else {
68
-			spip_log("impossible d'ecrire dans " . $cache);
69
-		}
70
-	}
71
-	// et refaire le cache si on a du lire en base
72
-	if (!$new) {
73
-		touch_meta(false, $table);
74
-	}
55
+    // renouveller l'alea general si trop vieux ou sur demande explicite
56
+    if (
57
+        (test_espace_prive() || isset($_GET['renouvelle_alea']))
58
+        and $GLOBALS[$table]
59
+        and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0))
60
+    ) {
61
+        // si on n'a pas l'acces en ecriture sur le cache,
62
+        // ne pas renouveller l'alea sinon le cache devient faux
63
+        if (supprimer_fichier($cache)) {
64
+            include_spip('inc/acces');
65
+            renouvelle_alea();
66
+            $new = false;
67
+        } else {
68
+            spip_log("impossible d'ecrire dans " . $cache);
69
+        }
70
+    }
71
+    // et refaire le cache si on a du lire en base
72
+    if (!$new) {
73
+        touch_meta(false, $table);
74
+    }
75 75
 }
76 76
 
77 77
 // fonctions aussi appelees a l'install ==> spip_query en premiere requete
@@ -80,39 +80,39 @@  discard block
 block discarded – undo
80 80
 // https://code.spip.net/@lire_metas
81 81
 function lire_metas($table = 'meta') {
82 82
 
83
-	if ($result = spip_query("SELECT nom,valeur FROM spip_$table")) {
84
-		include_spip('base/abstract_sql');
85
-		$GLOBALS[$table] = [];
86
-		while ($row = sql_fetch($result)) {
87
-			$GLOBALS[$table][$row['nom']] = $row['valeur'];
88
-		}
89
-		sql_free($result);
83
+    if ($result = spip_query("SELECT nom,valeur FROM spip_$table")) {
84
+        include_spip('base/abstract_sql');
85
+        $GLOBALS[$table] = [];
86
+        while ($row = sql_fetch($result)) {
87
+            $GLOBALS[$table][$row['nom']] = $row['valeur'];
88
+        }
89
+        sql_free($result);
90 90
 
91
-		if (
92
-			!isset($GLOBALS[$table]['charset'])
93
-			or !$GLOBALS[$table]['charset']
94
-			or $GLOBALS[$table]['charset'] == '_DEFAULT_CHARSET' // hum, correction d'un bug ayant abime quelques install
95
-		) {
96
-			ecrire_meta('charset', _DEFAULT_CHARSET, null, $table);
97
-		}
91
+        if (
92
+            !isset($GLOBALS[$table]['charset'])
93
+            or !$GLOBALS[$table]['charset']
94
+            or $GLOBALS[$table]['charset'] == '_DEFAULT_CHARSET' // hum, correction d'un bug ayant abime quelques install
95
+        ) {
96
+            ecrire_meta('charset', _DEFAULT_CHARSET, null, $table);
97
+        }
98 98
 
99
-		// noter cette table de configuration dans les meta de SPIP
100
-		if ($table !== 'meta') {
101
-			$liste = [];
102
-			if (isset($GLOBALS['meta']['tables_config'])) {
103
-				$liste = unserialize($GLOBALS['meta']['tables_config']);
104
-			}
105
-			if (!$liste) {
106
-				$liste = [];
107
-			}
108
-			if (!in_array($table, $liste)) {
109
-				$liste[] = $table;
110
-				ecrire_meta('tables_config', serialize($liste));
111
-			}
112
-		}
113
-	}
99
+        // noter cette table de configuration dans les meta de SPIP
100
+        if ($table !== 'meta') {
101
+            $liste = [];
102
+            if (isset($GLOBALS['meta']['tables_config'])) {
103
+                $liste = unserialize($GLOBALS['meta']['tables_config']);
104
+            }
105
+            if (!$liste) {
106
+                $liste = [];
107
+            }
108
+            if (!in_array($table, $liste)) {
109
+                $liste[] = $table;
110
+                ecrire_meta('tables_config', serialize($liste));
111
+            }
112
+        }
113
+    }
114 114
 
115
-	return isset($GLOBALS[$table]) ? $GLOBALS[$table] : null;
115
+    return isset($GLOBALS[$table]) ? $GLOBALS[$table] : null;
116 116
 }
117 117
 
118 118
 
@@ -126,22 +126,22 @@  discard block
 block discarded – undo
126 126
  *      Table SQL d'enregistrement des meta.
127 127
  **/
128 128
 function touch_meta($antidate = false, $table = 'meta') {
129
-	$file = cache_meta($table);
130
-	if (!$antidate or !@touch($file, $antidate)) {
131
-		$r = isset($GLOBALS[$table]) ? $GLOBALS[$table] : [];
132
-		if ($table == 'meta') {
133
-			unset($r['alea_ephemere']);
134
-			unset($r['alea_ephemere_ancien']);
135
-			// le secret du site est utilise pour encoder les contextes ajax que l'on considere fiables
136
-			// mais le sortir deu cache meta implique une requete sql des qu'on a un form dynamique
137
-			// meme si son squelette est en cache
138
-			//unset($r['secret_du_site']);
139
-			if ($antidate) {
140
-				$r['touch'] = $antidate;
141
-			}
142
-		}
143
-		ecrire_fichier_securise($file, serialize($r));
144
-	}
129
+    $file = cache_meta($table);
130
+    if (!$antidate or !@touch($file, $antidate)) {
131
+        $r = isset($GLOBALS[$table]) ? $GLOBALS[$table] : [];
132
+        if ($table == 'meta') {
133
+            unset($r['alea_ephemere']);
134
+            unset($r['alea_ephemere_ancien']);
135
+            // le secret du site est utilise pour encoder les contextes ajax que l'on considere fiables
136
+            // mais le sortir deu cache meta implique une requete sql des qu'on a un form dynamique
137
+            // meme si son squelette est en cache
138
+            //unset($r['secret_du_site']);
139
+            if ($antidate) {
140
+                $r['touch'] = $antidate;
141
+            }
142
+        }
143
+        ecrire_fichier_securise($file, serialize($r));
144
+    }
145 145
 }
146 146
 
147 147
 /**
@@ -157,21 +157,21 @@  discard block
 block discarded – undo
157 157
  *     Table SQL d'enregistrement de la meta.
158 158
  **/
159 159
 function effacer_meta($nom, $table = 'meta') {
160
-	// section critique sur le cache:
161
-	// l'invalider avant et apres la MAJ de la BD
162
-	// c'est un peu moins bien qu'un vrai verrou mais ca suffira
163
-	// et utiliser une statique pour eviter des acces disques a repetition
164
-	static $touch = [];
165
-	$antidate = time() - (_META_CACHE_TIME << 4);
166
-	if (!isset($touch[$table])) {
167
-		touch_meta($antidate, $table);
168
-	}
169
-	sql_delete('spip_' . $table, "nom='$nom'", '', 'continue');
170
-	unset($GLOBALS[$table][$nom]);
171
-	if (!isset($touch[$table])) {
172
-		touch_meta($antidate, $table);
173
-		$touch[$table] = false;
174
-	}
160
+    // section critique sur le cache:
161
+    // l'invalider avant et apres la MAJ de la BD
162
+    // c'est un peu moins bien qu'un vrai verrou mais ca suffira
163
+    // et utiliser une statique pour eviter des acces disques a repetition
164
+    static $touch = [];
165
+    $antidate = time() - (_META_CACHE_TIME << 4);
166
+    if (!isset($touch[$table])) {
167
+        touch_meta($antidate, $table);
168
+    }
169
+    sql_delete('spip_' . $table, "nom='$nom'", '', 'continue');
170
+    unset($GLOBALS[$table][$nom]);
171
+    if (!isset($touch[$table])) {
172
+        touch_meta($antidate, $table);
173
+        $touch[$table] = false;
174
+    }
175 175
 }
176 176
 
177 177
 /**
@@ -192,53 +192,53 @@  discard block
 block discarded – undo
192 192
  **/
193 193
 function ecrire_meta($nom, $valeur, $importable = null, $table = 'meta') {
194 194
 
195
-	static $touch = [];
196
-	if (!$nom) {
197
-		return;
198
-	}
199
-	include_spip('base/abstract_sql');
200
-	$res = sql_select('*', 'spip_' . $table, 'nom=' . sql_quote($nom), '', '', '', '', '', 'continue');
201
-	// table pas encore installee, travailler en php seulement
202
-	if (!$res) {
203
-		$GLOBALS[$table][$nom] = $valeur;
195
+    static $touch = [];
196
+    if (!$nom) {
197
+        return;
198
+    }
199
+    include_spip('base/abstract_sql');
200
+    $res = sql_select('*', 'spip_' . $table, 'nom=' . sql_quote($nom), '', '', '', '', '', 'continue');
201
+    // table pas encore installee, travailler en php seulement
202
+    if (!$res) {
203
+        $GLOBALS[$table][$nom] = $valeur;
204 204
 
205
-		return;
206
-	}
207
-	$row = sql_fetch($res);
208
-	sql_free($res);
205
+        return;
206
+    }
207
+    $row = sql_fetch($res);
208
+    sql_free($res);
209 209
 
210
-	// ne pas invalider le cache si affectation a l'identique
211
-	// (tant pis si impt aurait du changer)
212
-	if (
213
-		$row and $valeur == $row['valeur']
214
-		and isset($GLOBALS[$table][$nom])
215
-		and $GLOBALS[$table][$nom] == $valeur
216
-	) {
217
-		return;
218
-	}
210
+    // ne pas invalider le cache si affectation a l'identique
211
+    // (tant pis si impt aurait du changer)
212
+    if (
213
+        $row and $valeur == $row['valeur']
214
+        and isset($GLOBALS[$table][$nom])
215
+        and $GLOBALS[$table][$nom] == $valeur
216
+    ) {
217
+        return;
218
+    }
219 219
 
220
-	$GLOBALS[$table][$nom] = $valeur;
221
-	// cf effacer pour comprendre le double touch
222
-	$antidate = time() - (_META_CACHE_TIME << 1);
223
-	if (!isset($touch[$table])) {
224
-		touch_meta($antidate, $table);
225
-	}
226
-	$r = ['nom' => sql_quote($nom, '', 'text'), 'valeur' => sql_quote($valeur, '', 'text')];
227
-	// Gaffe aux tables sans impt (vieilles versions de SPIP notamment)
228
-	// ici on utilise pas sql_updateq et sql_insertq pour ne pas provoquer trop tot
229
-	// de lecture des descriptions des tables
230
-	if ($importable and isset($row['impt'])) {
231
-		$r['impt'] = sql_quote($importable, '', 'text');
232
-	}
233
-	if ($row) {
234
-		sql_update('spip_' . $table, $r, 'nom=' . sql_quote($nom));
235
-	} else {
236
-		sql_insert('spip_' . $table, '(' . join(',', array_keys($r)) . ')', '(' . join(',', array_values($r)) . ')');
237
-	}
238
-	if (!isset($touch[$table])) {
239
-		touch_meta($antidate, $table);
240
-		$touch[$table] = false;
241
-	}
220
+    $GLOBALS[$table][$nom] = $valeur;
221
+    // cf effacer pour comprendre le double touch
222
+    $antidate = time() - (_META_CACHE_TIME << 1);
223
+    if (!isset($touch[$table])) {
224
+        touch_meta($antidate, $table);
225
+    }
226
+    $r = ['nom' => sql_quote($nom, '', 'text'), 'valeur' => sql_quote($valeur, '', 'text')];
227
+    // Gaffe aux tables sans impt (vieilles versions de SPIP notamment)
228
+    // ici on utilise pas sql_updateq et sql_insertq pour ne pas provoquer trop tot
229
+    // de lecture des descriptions des tables
230
+    if ($importable and isset($row['impt'])) {
231
+        $r['impt'] = sql_quote($importable, '', 'text');
232
+    }
233
+    if ($row) {
234
+        sql_update('spip_' . $table, $r, 'nom=' . sql_quote($nom));
235
+    } else {
236
+        sql_insert('spip_' . $table, '(' . join(',', array_keys($r)) . ')', '(' . join(',', array_values($r)) . ')');
237
+    }
238
+    if (!isset($touch[$table])) {
239
+        touch_meta($antidate, $table);
240
+        $touch[$table] = false;
241
+    }
242 242
 }
243 243
 
244 244
 /**
@@ -250,7 +250,7 @@  discard block
 block discarded – undo
250 250
  *     Nom du fichier cache
251 251
  **/
252 252
 function cache_meta($table = 'meta') {
253
-	return ($table == 'meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
253
+    return ($table == 'meta') ? _FILE_META : (_DIR_CACHE . $table . '.php');
254 254
 }
255 255
 
256 256
 /**
@@ -259,14 +259,14 @@  discard block
 block discarded – undo
259 259
  * @param string $table
260 260
  */
261 261
 function installer_table_meta($table) {
262
-	$trouver_table = charger_fonction('trouver_table', 'base');
263
-	if (!$trouver_table("spip_$table")) {
264
-		include_spip('base/auxiliaires');
265
-		include_spip('base/create');
266
-		creer_ou_upgrader_table("spip_$table", $GLOBALS['tables_auxiliaires']['spip_meta'], false, false);
267
-		$trouver_table('');
268
-	}
269
-	lire_metas($table);
262
+    $trouver_table = charger_fonction('trouver_table', 'base');
263
+    if (!$trouver_table("spip_$table")) {
264
+        include_spip('base/auxiliaires');
265
+        include_spip('base/create');
266
+        creer_ou_upgrader_table("spip_$table", $GLOBALS['tables_auxiliaires']['spip_meta'], false, false);
267
+        $trouver_table('');
268
+    }
269
+    lire_metas($table);
270 270
 }
271 271
 
272 272
 /**
@@ -278,47 +278,47 @@  discard block
 block discarded – undo
278 278
  * @param bool $force
279 279
  */
280 280
 function supprimer_table_meta($table, $force = false) {
281
-	if ($table !== 'meta') {
282
-		// Vérifier le contenu restant de la table
283
-		$nb_variables = sql_countsel("spip_$table");
281
+    if ($table !== 'meta') {
282
+        // Vérifier le contenu restant de la table
283
+        $nb_variables = sql_countsel("spip_$table");
284 284
 
285
-		// Supprimer si :
286
-		// - la table est vide
287
-		// - ou limitée à la variable charset
288
-		// - ou qu'on force la suppression
289
-		if (
290
-			$force
291
-			or !$nb_variables
292
-			or (
293
-				($nb_variables == 1)
294
-				and isset($GLOBALS[$table]['charset'])
295
-			)
296
-		) {
297
-			// Supprimer la table des globaleset de la base
298
-			unset($GLOBALS[$table]);
299
-			sql_drop_table("spip_$table");
300
-			// Supprimer le fichier cache
301
-			include_spip('inc/flock');
302
-			$cache = cache_meta($table);
303
-			supprimer_fichier($cache);
285
+        // Supprimer si :
286
+        // - la table est vide
287
+        // - ou limitée à la variable charset
288
+        // - ou qu'on force la suppression
289
+        if (
290
+            $force
291
+            or !$nb_variables
292
+            or (
293
+                ($nb_variables == 1)
294
+                and isset($GLOBALS[$table]['charset'])
295
+            )
296
+        ) {
297
+            // Supprimer la table des globaleset de la base
298
+            unset($GLOBALS[$table]);
299
+            sql_drop_table("spip_$table");
300
+            // Supprimer le fichier cache
301
+            include_spip('inc/flock');
302
+            $cache = cache_meta($table);
303
+            supprimer_fichier($cache);
304 304
 
305
-			// vider le cache des tables
306
-			$trouver_table = charger_fonction('trouver_table', 'base');
307
-			$trouver_table('');
305
+            // vider le cache des tables
306
+            $trouver_table = charger_fonction('trouver_table', 'base');
307
+            $trouver_table('');
308 308
 
309
-			// Supprimer la table de la liste des tables de configuration autres que spip_meta
310
-			if (isset($GLOBALS['meta']['tables_config'])) {
311
-				$liste = unserialize($GLOBALS['meta']['tables_config']);
312
-				$cle = array_search($table, $liste);
313
-				if ($cle !== false) {
314
-					unset($liste[$cle]);
315
-					if ($liste) {
316
-						ecrire_meta('tables_config', serialize($liste));
317
-					} else {
318
-						effacer_meta('tables_config');
319
-					}
320
-				}
321
-			}
322
-		}
323
-	}
309
+            // Supprimer la table de la liste des tables de configuration autres que spip_meta
310
+            if (isset($GLOBALS['meta']['tables_config'])) {
311
+                $liste = unserialize($GLOBALS['meta']['tables_config']);
312
+                $cle = array_search($table, $liste);
313
+                if ($cle !== false) {
314
+                    unset($liste[$cle]);
315
+                    if ($liste) {
316
+                        ecrire_meta('tables_config', serialize($liste));
317
+                    } else {
318
+                        effacer_meta('tables_config');
319
+                    }
320
+                }
321
+            }
322
+        }
323
+    }
324 324
 }
Please login to merge, or discard this patch.
ecrire/balise/logo_.php 1 patch
Indentation   +95 added lines, -95 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
 
@@ -54,84 +54,84 @@  discard block
 block discarded – undo
54 54
  */
55 55
 function balise_LOGO__dist($p) {
56 56
 
57
-	preg_match(',^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)$,i', $p->nom_champ, $regs);
58
-	$type = strtolower($regs[1]);
59
-	$suite_logo = $regs[2];
60
-
61
-	// cas de #LOGO_SITE_SPIP
62
-	if ($type == 'site_spip') {
63
-		$type = 'site';
64
-		$_id_objet = "\"'0'\"";
65
-	}
66
-
67
-	$id_objet = id_table_objet($type);
68
-	if (!isset($_id_objet)) {
69
-		$_id_objet = champ_sql($id_objet, $p);
70
-	}
71
-
72
-	$fichier = ($p->etoile === '**') ? -1 : 0;
73
-	$coord = [];
74
-	$align = $lien = '';
75
-	$mode_logo = '';
76
-
77
-	if ($p->param and !$p->param[0][0]) {
78
-		$params = $p->param[0];
79
-		array_shift($params);
80
-		foreach ($params as $a) {
81
-			if ($a[0]->type === 'texte') {
82
-				$n = $a[0]->texte;
83
-				if (is_numeric($n)) {
84
-					$coord[] = $n;
85
-				} elseif (in_array($n, ['top', 'left', 'right', 'center', 'bottom'])) {
86
-					$align = $n;
87
-				} elseif (in_array($n, ['auto', 'icone', 'apercu', 'vignette'])) {
88
-					$mode_logo = $n;
89
-				}
90
-			} else {
91
-				$lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle);
92
-			}
93
-		}
94
-	}
95
-
96
-	$coord_x = !$coord ? 0 : intval(array_shift($coord));
97
-	$coord_y = !$coord ? 0 : intval(array_shift($coord));
98
-
99
-	if ($p->etoile === '*') {
100
-		include_spip('balise/url_');
101
-		$lien = generer_generer_url_arg($type, $p, $_id_objet);
102
-	}
103
-
104
-	$connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : '';
105
-	if ($type == 'document') {
106
-		$qconnect = _q($connect);
107
-		$doc = "quete_document($_id_objet, $qconnect)";
108
-		if ($fichier) {
109
-			$code = "quete_logo_file($doc, $qconnect)";
110
-		} else {
111
-			$code = "quete_logo_document($doc, " . ($lien ? $lien : "''") . ", '$align', '$mode_logo', $coord_x, $coord_y, $qconnect)";
112
-		}
113
-		// (x=non-faux ? y : '') pour affecter x en retournant y
114
-		if ($p->descr['documents']) {
115
-			$code = '(($doublons["documents"] .= ",". '
116
-				. $_id_objet
117
-				. ") ? $code : '')";
118
-		}
119
-	} elseif ($connect) {
120
-		$code = "''";
121
-		spip_log('Les logos distants ne sont pas prevus');
122
-	} else {
123
-		$code = logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $lien, $p, $suite_logo);
124
-	}
125
-
126
-	// demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0}
127
-	if ($coord_x or $coord_y) {
128
-		$code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '$coord_x', '$coord_y'))";
129
-	}
130
-
131
-	$p->code = $code;
132
-	$p->interdire_scripts = false;
133
-
134
-	return $p;
57
+    preg_match(',^LOGO_([A-Z_]+?)(|_NORMAL|_SURVOL|_RUBRIQUE)$,i', $p->nom_champ, $regs);
58
+    $type = strtolower($regs[1]);
59
+    $suite_logo = $regs[2];
60
+
61
+    // cas de #LOGO_SITE_SPIP
62
+    if ($type == 'site_spip') {
63
+        $type = 'site';
64
+        $_id_objet = "\"'0'\"";
65
+    }
66
+
67
+    $id_objet = id_table_objet($type);
68
+    if (!isset($_id_objet)) {
69
+        $_id_objet = champ_sql($id_objet, $p);
70
+    }
71
+
72
+    $fichier = ($p->etoile === '**') ? -1 : 0;
73
+    $coord = [];
74
+    $align = $lien = '';
75
+    $mode_logo = '';
76
+
77
+    if ($p->param and !$p->param[0][0]) {
78
+        $params = $p->param[0];
79
+        array_shift($params);
80
+        foreach ($params as $a) {
81
+            if ($a[0]->type === 'texte') {
82
+                $n = $a[0]->texte;
83
+                if (is_numeric($n)) {
84
+                    $coord[] = $n;
85
+                } elseif (in_array($n, ['top', 'left', 'right', 'center', 'bottom'])) {
86
+                    $align = $n;
87
+                } elseif (in_array($n, ['auto', 'icone', 'apercu', 'vignette'])) {
88
+                    $mode_logo = $n;
89
+                }
90
+            } else {
91
+                $lien = calculer_liste($a, $p->descr, $p->boucles, $p->id_boucle);
92
+            }
93
+        }
94
+    }
95
+
96
+    $coord_x = !$coord ? 0 : intval(array_shift($coord));
97
+    $coord_y = !$coord ? 0 : intval(array_shift($coord));
98
+
99
+    if ($p->etoile === '*') {
100
+        include_spip('balise/url_');
101
+        $lien = generer_generer_url_arg($type, $p, $_id_objet);
102
+    }
103
+
104
+    $connect = $p->id_boucle ? $p->boucles[$p->id_boucle]->sql_serveur : '';
105
+    if ($type == 'document') {
106
+        $qconnect = _q($connect);
107
+        $doc = "quete_document($_id_objet, $qconnect)";
108
+        if ($fichier) {
109
+            $code = "quete_logo_file($doc, $qconnect)";
110
+        } else {
111
+            $code = "quete_logo_document($doc, " . ($lien ? $lien : "''") . ", '$align', '$mode_logo', $coord_x, $coord_y, $qconnect)";
112
+        }
113
+        // (x=non-faux ? y : '') pour affecter x en retournant y
114
+        if ($p->descr['documents']) {
115
+            $code = '(($doublons["documents"] .= ",". '
116
+                . $_id_objet
117
+                . ") ? $code : '')";
118
+        }
119
+    } elseif ($connect) {
120
+        $code = "''";
121
+        spip_log('Les logos distants ne sont pas prevus');
122
+    } else {
123
+        $code = logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $lien, $p, $suite_logo);
124
+    }
125
+
126
+    // demande de reduction sur logo avec ecriture spip 2.1 : #LOGO_xxx{200, 0}
127
+    if ($coord_x or $coord_y) {
128
+        $code = "filtrer('image_graver',filtrer('image_reduire'," . $code . ", '$coord_x', '$coord_y'))";
129
+    }
130
+
131
+    $p->code = $code;
132
+    $p->interdire_scripts = false;
133
+
134
+    return $p;
135 135
 }
136 136
 
137 137
 /**
@@ -158,20 +158,20 @@  discard block
 block discarded – undo
158 158
  *     Code compilé retournant le chemin du logo ou le code HTML du logo.
159 159
  **/
160 160
 function logo_survol($id_objet, $_id_objet, $type, $align, $fichier, $_lien, $p, $suite) {
161
-	$code = "quete_logo('$id_objet', '" .
162
-		(($suite == '_SURVOL') ? 'off' :
163
-			(($suite == '_NORMAL') ? 'on' : 'ON')) .
164
-		"', $_id_objet," .
165
-		(($suite == '_RUBRIQUE') ?
166
-			champ_sql('id_rubrique', $p) :
167
-			(($type == 'rubrique') ? "quete_parent($_id_objet)" : "''")) .
168
-		', ' . intval($fichier) . ')';
169
-
170
-	if ($fichier) {
171
-		return $code;
172
-	}
173
-
174
-	$align = preg_replace(',\W,', '', $align);
175
-
176
-	return "quete_html_logo($code, '$align', " . ($_lien ? $_lien : "''") . ')';
161
+    $code = "quete_logo('$id_objet', '" .
162
+        (($suite == '_SURVOL') ? 'off' :
163
+            (($suite == '_NORMAL') ? 'on' : 'ON')) .
164
+        "', $_id_objet," .
165
+        (($suite == '_RUBRIQUE') ?
166
+            champ_sql('id_rubrique', $p) :
167
+            (($type == 'rubrique') ? "quete_parent($_id_objet)" : "''")) .
168
+        ', ' . intval($fichier) . ')';
169
+
170
+    if ($fichier) {
171
+        return $code;
172
+    }
173
+
174
+    $align = preg_replace(',\W,', '', $align);
175
+
176
+    return "quete_html_logo($code, '$align', " . ($_lien ? $_lien : "''") . ')';
177 177
 }
Please login to merge, or discard this patch.