Completed
Push — master ( 584fd0...e68145 )
by cam
01:17
created
prive/themes/spip/vars.css_fonctions.php 1 patch
Indentation   +161 added lines, -161 removed lines patch added patch discarded remove patch
@@ -5,23 +5,23 @@  discard block
 block discarded – undo
5 5
  * @internal
6 6
  */
7 7
 class Spip_Css_Vars_Collection {
8
-	private array $vars = [];
9
-
10
-	public function add(string $var, string $value) {
11
-		$this->vars[$var] = $value;
12
-	}
13
-
14
-	public function getString(): string {
15
-		$string = '';
16
-		foreach ($this->vars as $key => $value) {
17
-			$string .= "$key: $value;\n";
18
-		}
19
-		return $string;
20
-	}
21
-
22
-	public function __toString(): string {
23
-		return $this->getString();
24
-	}
8
+    private array $vars = [];
9
+
10
+    public function add(string $var, string $value) {
11
+        $this->vars[$var] = $value;
12
+    }
13
+
14
+    public function getString(): string {
15
+        $string = '';
16
+        foreach ($this->vars as $key => $value) {
17
+            $string .= "$key: $value;\n";
18
+        }
19
+        return $string;
20
+    }
21
+
22
+    public function __toString(): string {
23
+        return $this->getString();
24
+    }
25 25
 }
26 26
 
27 27
 /**
@@ -30,59 +30,59 @@  discard block
 block discarded – undo
30 30
  * @param Pile $pile Pile
31 31
  */
32 32
 function spip_generer_variables_css_typo(array $Pile): \Spip_Css_Vars_Collection {
33
-	$vars = new \Spip_Css_Vars_Collection();
34
-
35
-	// Direction
36
-	$vars->add('--spip-dir', $Pile[0]['dir']);
37
-	$vars->add('--spip-left', $Pile[0]['left']);
38
-	$vars->add('--spip-right', $Pile[0]['right']);
39
-
40
-	// Typographie
41
-	$vars->add('--spip-font-size', $Pile[0]['font-size']);
42
-	$vars->add('--spip-line-height', $Pile[0]['line-height']);
43
-	$vars->add('--spip-text-indent', $Pile[0]['text-indent']);
44
-	$vars->add('--spip-font-family', $Pile[0]['font-family']);
45
-
46
-	// Couleurs hors thème
47
-	$vars->add('--spip-background-color', $Pile[0]['background-color']);
48
-	$vars->add('--spip-color', $Pile[0]['color']);
49
-
50
-	// Espacements pour le rythme vertical et les gouttières
51
-	// Basés sur la hauteur d'une ligne de texte à la racine du document
52
-	$vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem');
53
-	$vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem');
54
-	$vars->add('--spip-margin-bottom', $Pile[0]['margin-bottom']); // À déprécier
55
-
56
-	// Bordures
57
-	$vars->add('--spip-border-radius-mini', '0.2rem');
58
-	$vars->add('--spip-border-radius', '0.33rem');
59
-	$vars->add('--spip-border-radius-large', '0.66rem');
60
-
61
-	// Ombres portées
62
-	$shadow_mini =
63
-		'0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),' .
64
-		'0 0.1em  0.15em hsla(0, 0%, 0%, 0.05),' .
65
-		'0 0.1em  0.25em  hsla(0, 0%, 0%, 0.05)';
66
-	$shadow =
67
-		'0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),' .
68
-		'0 0.1em  0.25em hsla(0, 0%, 0%, 0.05),' .
69
-		'0 0.1em  0.5em  hsla(0, 0%, 0%, 0.05)';
70
-	$shadow_large =
71
-		'0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),' .
72
-		'0 0.2em  0.5em  hsla(0, 0%, 0%, 0.1),' .
73
-		'0 0.2em  1em    hsla(0, 0%, 0%, 0.075)';
74
-	$shadow_huge =
75
-		'0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),' .
76
-		'0 0.25em  1em  hsla(0, 0%, 0%, 0.1),' .
77
-		'0 0.5em  2em    hsla(0, 0%, 0%, 0.075)';
78
-	$vars->add('--spip-box-shadow-mini', $shadow_mini);
79
-	$vars->add('--spip-box-shadow-mini-hover', $shadow);
80
-	$vars->add('--spip-box-shadow', $shadow);
81
-	$vars->add('--spip-box-shadow-hover', $shadow_large);
82
-	$vars->add('--spip-box-shadow-large', $shadow_large);
83
-	$vars->add('--spip-box-shadow-large-hover', $shadow_huge);
84
-
85
-	return $vars;
33
+    $vars = new \Spip_Css_Vars_Collection();
34
+
35
+    // Direction
36
+    $vars->add('--spip-dir', $Pile[0]['dir']);
37
+    $vars->add('--spip-left', $Pile[0]['left']);
38
+    $vars->add('--spip-right', $Pile[0]['right']);
39
+
40
+    // Typographie
41
+    $vars->add('--spip-font-size', $Pile[0]['font-size']);
42
+    $vars->add('--spip-line-height', $Pile[0]['line-height']);
43
+    $vars->add('--spip-text-indent', $Pile[0]['text-indent']);
44
+    $vars->add('--spip-font-family', $Pile[0]['font-family']);
45
+
46
+    // Couleurs hors thème
47
+    $vars->add('--spip-background-color', $Pile[0]['background-color']);
48
+    $vars->add('--spip-color', $Pile[0]['color']);
49
+
50
+    // Espacements pour le rythme vertical et les gouttières
51
+    // Basés sur la hauteur d'une ligne de texte à la racine du document
52
+    $vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem');
53
+    $vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem');
54
+    $vars->add('--spip-margin-bottom', $Pile[0]['margin-bottom']); // À déprécier
55
+
56
+    // Bordures
57
+    $vars->add('--spip-border-radius-mini', '0.2rem');
58
+    $vars->add('--spip-border-radius', '0.33rem');
59
+    $vars->add('--spip-border-radius-large', '0.66rem');
60
+
61
+    // Ombres portées
62
+    $shadow_mini =
63
+        '0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),' .
64
+        '0 0.1em  0.15em hsla(0, 0%, 0%, 0.05),' .
65
+        '0 0.1em  0.25em  hsla(0, 0%, 0%, 0.05)';
66
+    $shadow =
67
+        '0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),' .
68
+        '0 0.1em  0.25em hsla(0, 0%, 0%, 0.05),' .
69
+        '0 0.1em  0.5em  hsla(0, 0%, 0%, 0.05)';
70
+    $shadow_large =
71
+        '0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),' .
72
+        '0 0.2em  0.5em  hsla(0, 0%, 0%, 0.1),' .
73
+        '0 0.2em  1em    hsla(0, 0%, 0%, 0.075)';
74
+    $shadow_huge =
75
+        '0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),' .
76
+        '0 0.25em  1em  hsla(0, 0%, 0%, 0.1),' .
77
+        '0 0.5em  2em    hsla(0, 0%, 0%, 0.075)';
78
+    $vars->add('--spip-box-shadow-mini', $shadow_mini);
79
+    $vars->add('--spip-box-shadow-mini-hover', $shadow);
80
+    $vars->add('--spip-box-shadow', $shadow);
81
+    $vars->add('--spip-box-shadow-hover', $shadow_large);
82
+    $vars->add('--spip-box-shadow-large', $shadow_large);
83
+    $vars->add('--spip-box-shadow-large-hover', $shadow_huge);
84
+
85
+    return $vars;
86 86
 }
87 87
 
88 88
 /**
@@ -91,101 +91,101 @@  discard block
 block discarded – undo
91 91
  * @param string $couleur Couleur hex
92 92
  */
93 93
 function spip_generer_variables_css_couleurs_theme(string $couleur): \Spip_Css_Vars_Collection {
94
-	$vars = new \Spip_Css_Vars_Collection();
95
-
96
-	#$vars->add('--spip-color-theme--hsl', couleur_hex_to_hsl($couleur, 'h, s, l')); // redéfini ensuite
97
-	$vars->add('--spip-color-theme--h', couleur_hex_to_hsl($couleur, 'h'));
98
-	$vars->add('--spip-color-theme--s', couleur_hex_to_hsl($couleur, 's'));
99
-	$vars->add('--spip-color-theme--l', couleur_hex_to_hsl($couleur, 'l'));
100
-
101
-	// un joli dégradé coloré de presque blanc à presque noir…
102
-	$vars->add('--spip-color-theme--100', couleur_hex_to_hsl(couleur_eclaircir($couleur, .99), 'h, s, l'));
103
-	$vars->add('--spip-color-theme--98', couleur_hex_to_hsl(couleur_eclaircir($couleur, .95), 'h, s, l'));
104
-	$vars->add('--spip-color-theme--95', couleur_hex_to_hsl(couleur_eclaircir($couleur, .90), 'h, s, l'));
105
-	$vars->add('--spip-color-theme--90', couleur_hex_to_hsl(couleur_eclaircir($couleur, .75), 'h, s, l'));
106
-	$vars->add('--spip-color-theme--80', couleur_hex_to_hsl(couleur_eclaircir($couleur, .50), 'h, s, l'));
107
-	$vars->add('--spip-color-theme--70', couleur_hex_to_hsl(couleur_eclaircir($couleur, .25), 'h, s, l'));
108
-	$vars->add('--spip-color-theme--60', couleur_hex_to_hsl($couleur, 'h, s, l'));
109
-	$vars->add('--spip-color-theme--50', couleur_hex_to_hsl(couleur_foncer($couleur, .125), 'h, s, l'));
110
-	$vars->add('--spip-color-theme--40', couleur_hex_to_hsl(couleur_foncer($couleur, .25), 'h, s, l'));
111
-	$vars->add('--spip-color-theme--30', couleur_hex_to_hsl(couleur_foncer($couleur, .375), 'h, s, l'));
112
-	$vars->add('--spip-color-theme--20', couleur_hex_to_hsl(couleur_foncer($couleur, .50), 'h, s, l'));
113
-	$vars->add('--spip-color-theme--10', couleur_hex_to_hsl(couleur_foncer($couleur, .75), 'h, s, l'));
114
-	$vars->add('--spip-color-theme--00', couleur_hex_to_hsl(couleur_foncer($couleur, .98), 'h, s, l'));
115
-
116
-	return $vars;
94
+    $vars = new \Spip_Css_Vars_Collection();
95
+
96
+    #$vars->add('--spip-color-theme--hsl', couleur_hex_to_hsl($couleur, 'h, s, l')); // redéfini ensuite
97
+    $vars->add('--spip-color-theme--h', couleur_hex_to_hsl($couleur, 'h'));
98
+    $vars->add('--spip-color-theme--s', couleur_hex_to_hsl($couleur, 's'));
99
+    $vars->add('--spip-color-theme--l', couleur_hex_to_hsl($couleur, 'l'));
100
+
101
+    // un joli dégradé coloré de presque blanc à presque noir…
102
+    $vars->add('--spip-color-theme--100', couleur_hex_to_hsl(couleur_eclaircir($couleur, .99), 'h, s, l'));
103
+    $vars->add('--spip-color-theme--98', couleur_hex_to_hsl(couleur_eclaircir($couleur, .95), 'h, s, l'));
104
+    $vars->add('--spip-color-theme--95', couleur_hex_to_hsl(couleur_eclaircir($couleur, .90), 'h, s, l'));
105
+    $vars->add('--spip-color-theme--90', couleur_hex_to_hsl(couleur_eclaircir($couleur, .75), 'h, s, l'));
106
+    $vars->add('--spip-color-theme--80', couleur_hex_to_hsl(couleur_eclaircir($couleur, .50), 'h, s, l'));
107
+    $vars->add('--spip-color-theme--70', couleur_hex_to_hsl(couleur_eclaircir($couleur, .25), 'h, s, l'));
108
+    $vars->add('--spip-color-theme--60', couleur_hex_to_hsl($couleur, 'h, s, l'));
109
+    $vars->add('--spip-color-theme--50', couleur_hex_to_hsl(couleur_foncer($couleur, .125), 'h, s, l'));
110
+    $vars->add('--spip-color-theme--40', couleur_hex_to_hsl(couleur_foncer($couleur, .25), 'h, s, l'));
111
+    $vars->add('--spip-color-theme--30', couleur_hex_to_hsl(couleur_foncer($couleur, .375), 'h, s, l'));
112
+    $vars->add('--spip-color-theme--20', couleur_hex_to_hsl(couleur_foncer($couleur, .50), 'h, s, l'));
113
+    $vars->add('--spip-color-theme--10', couleur_hex_to_hsl(couleur_foncer($couleur, .75), 'h, s, l'));
114
+    $vars->add('--spip-color-theme--00', couleur_hex_to_hsl(couleur_foncer($couleur, .98), 'h, s, l'));
115
+
116
+    return $vars;
117 117
 }
118 118
 
119 119
 /**
120 120
  * Génère les variables CSS de couleurs, dont celles dépendantes des couleurs du thème actif.
121 121
  */
122 122
 function spip_generer_variables_css_couleurs(): \Spip_Css_Vars_Collection {
123
-	$vars = new \Spip_Css_Vars_Collection();
124
-
125
-	// nos déclinaisons de couleur (basées sur le dégradé précedent, où 60 est là couleur du thème)
126
-	$vars->add('--spip-color-theme-white--hsl', 'var(--spip-color-theme--100)');
127
-	$vars->add('--spip-color-theme-lightest--hsl', 'var(--spip-color-theme--95)');
128
-	$vars->add('--spip-color-theme-lighter--hsl', 'var(--spip-color-theme--90)');
129
-	$vars->add('--spip-color-theme-light--hsl', 'var(--spip-color-theme--80)');
130
-	$vars->add('--spip-color-theme--hsl', 'var(--spip-color-theme--60)');
131
-	$vars->add('--spip-color-theme-dark--hsl', 'var(--spip-color-theme--40)');
132
-	$vars->add('--spip-color-theme-darker--hsl', 'var(--spip-color-theme--20)');
133
-	$vars->add('--spip-color-theme-darkest--hsl', 'var(--spip-color-theme--10)');
134
-	$vars->add('--spip-color-theme-black--hsl', 'var(--spip-color-theme--00)');
135
-
136
-	$vars->add('--spip-color-theme-white', 'hsl(var(--spip-color-theme-white--hsl))');
137
-	$vars->add('--spip-color-theme-lightest', 'hsl(var(--spip-color-theme-lightest--hsl))');
138
-	$vars->add('--spip-color-theme-lighter', 'hsl(var(--spip-color-theme-lighter--hsl))');
139
-	$vars->add('--spip-color-theme-light', 'hsl(var(--spip-color-theme-light--hsl))');
140
-	$vars->add('--spip-color-theme', 'hsl(var(--spip-color-theme--hsl))');
141
-	$vars->add('--spip-color-theme-dark', 'hsl(var(--spip-color-theme-dark--hsl))');
142
-	$vars->add('--spip-color-theme-darker', 'hsl(var(--spip-color-theme-darker--hsl))');
143
-	$vars->add('--spip-color-theme-darkest', 'hsl(var(--spip-color-theme-darkest--hsl))');
144
-	$vars->add('--spip-color-theme-black', 'hsl(var(--spip-color-theme-black--hsl))');
145
-
146
-	// déclinaisons de gris (luminosité calquée sur le dégradé de couleur)
147
-	$vars->add('--spip-color-white--hsl', '0, 0%, 100%');
148
-	$vars->add('--spip-color-gray-lightest--hsl', '0, 0%, 96%');
149
-	$vars->add('--spip-color-gray-lighter--hsl', '0, 0%, 90%');
150
-	$vars->add('--spip-color-gray-light--hsl', '0, 0%, 80%');
151
-	$vars->add('--spip-color-gray--hsl', '0, 0%, 60%');
152
-	$vars->add('--spip-color-gray-dark--hsl', '0, 0%, 40%');
153
-	$vars->add('--spip-color-gray-darker--hsl', '0, 0%, 20%');
154
-	$vars->add('--spip-color-gray-darkest--hsl', '0, 0%, 10%');
155
-	$vars->add('--spip-color-black--hsl', '0, 0%, 0%');
156
-
157
-	$vars->add('--spip-color-white', 'hsl(var(--spip-color-white--hsl))');
158
-	$vars->add('--spip-color-gray-lightest', 'hsl(var(--spip-color-gray-lightest--hsl))');
159
-	$vars->add('--spip-color-gray-lighter', 'hsl(var(--spip-color-gray-lighter--hsl))');
160
-	$vars->add('--spip-color-gray-light', 'hsl(var(--spip-color-gray-light--hsl))');
161
-	$vars->add('--spip-color-gray', 'hsl(var(--spip-color-gray--hsl))');
162
-	$vars->add('--spip-color-gray-dark', 'hsl(var(--spip-color-gray-dark--hsl))');
163
-	$vars->add('--spip-color-gray-darker', 'hsl(var(--spip-color-gray-darker--hsl))');
164
-	$vars->add('--spip-color-gray-darkest', 'hsl(var(--spip-color-gray-darkest--hsl))');
165
-	$vars->add('--spip-color-black', 'hsl(var(--spip-color-black--hsl))');
166
-
167
-	// Différents états : erreur, etc.
168
-	$vars->add('--spip-color-success--hsl', '72, 66%, 62%');
169
-	$vars->add('--spip-color-success--h', '72');
170
-	$vars->add('--spip-color-success--s', '66%');
171
-	$vars->add('--spip-color-success--l', '62%');
172
-	$vars->add('--spip-color-error--hsl', '356, 70%, 57%');
173
-	$vars->add('--spip-color-error--h', '356');
174
-	$vars->add('--spip-color-error--s', '70%');
175
-	$vars->add('--spip-color-error--l', '57%');
176
-	$vars->add('--spip-color-notice--hsl', '47, 100%, 62%');
177
-	$vars->add('--spip-color-notice--h', '47');
178
-	$vars->add('--spip-color-notice--s', '100%');
179
-	$vars->add('--spip-color-notice--l', '62%');
180
-	$vars->add('--spip-color-info--hsl', '197, 56%, 27%');
181
-	$vars->add('--spip-color-info--h', '197');
182
-	$vars->add('--spip-color-info--s', '56%');
183
-	$vars->add('--spip-color-info--l', '27%');
184
-
185
-	$vars->add('--spip-color-success', 'hsl(var(--spip-color-success--hsl))');
186
-	$vars->add('--spip-color-error', 'hsl(var(--spip-color-error--hsl))');
187
-	$vars->add('--spip-color-notice', 'hsl(var(--spip-color-notice--hsl))');
188
-	$vars->add('--spip-color-info', 'hsl(var(--spip-color-info--hsl))');
189
-
190
-	return $vars;
123
+    $vars = new \Spip_Css_Vars_Collection();
124
+
125
+    // nos déclinaisons de couleur (basées sur le dégradé précedent, où 60 est là couleur du thème)
126
+    $vars->add('--spip-color-theme-white--hsl', 'var(--spip-color-theme--100)');
127
+    $vars->add('--spip-color-theme-lightest--hsl', 'var(--spip-color-theme--95)');
128
+    $vars->add('--spip-color-theme-lighter--hsl', 'var(--spip-color-theme--90)');
129
+    $vars->add('--spip-color-theme-light--hsl', 'var(--spip-color-theme--80)');
130
+    $vars->add('--spip-color-theme--hsl', 'var(--spip-color-theme--60)');
131
+    $vars->add('--spip-color-theme-dark--hsl', 'var(--spip-color-theme--40)');
132
+    $vars->add('--spip-color-theme-darker--hsl', 'var(--spip-color-theme--20)');
133
+    $vars->add('--spip-color-theme-darkest--hsl', 'var(--spip-color-theme--10)');
134
+    $vars->add('--spip-color-theme-black--hsl', 'var(--spip-color-theme--00)');
135
+
136
+    $vars->add('--spip-color-theme-white', 'hsl(var(--spip-color-theme-white--hsl))');
137
+    $vars->add('--spip-color-theme-lightest', 'hsl(var(--spip-color-theme-lightest--hsl))');
138
+    $vars->add('--spip-color-theme-lighter', 'hsl(var(--spip-color-theme-lighter--hsl))');
139
+    $vars->add('--spip-color-theme-light', 'hsl(var(--spip-color-theme-light--hsl))');
140
+    $vars->add('--spip-color-theme', 'hsl(var(--spip-color-theme--hsl))');
141
+    $vars->add('--spip-color-theme-dark', 'hsl(var(--spip-color-theme-dark--hsl))');
142
+    $vars->add('--spip-color-theme-darker', 'hsl(var(--spip-color-theme-darker--hsl))');
143
+    $vars->add('--spip-color-theme-darkest', 'hsl(var(--spip-color-theme-darkest--hsl))');
144
+    $vars->add('--spip-color-theme-black', 'hsl(var(--spip-color-theme-black--hsl))');
145
+
146
+    // déclinaisons de gris (luminosité calquée sur le dégradé de couleur)
147
+    $vars->add('--spip-color-white--hsl', '0, 0%, 100%');
148
+    $vars->add('--spip-color-gray-lightest--hsl', '0, 0%, 96%');
149
+    $vars->add('--spip-color-gray-lighter--hsl', '0, 0%, 90%');
150
+    $vars->add('--spip-color-gray-light--hsl', '0, 0%, 80%');
151
+    $vars->add('--spip-color-gray--hsl', '0, 0%, 60%');
152
+    $vars->add('--spip-color-gray-dark--hsl', '0, 0%, 40%');
153
+    $vars->add('--spip-color-gray-darker--hsl', '0, 0%, 20%');
154
+    $vars->add('--spip-color-gray-darkest--hsl', '0, 0%, 10%');
155
+    $vars->add('--spip-color-black--hsl', '0, 0%, 0%');
156
+
157
+    $vars->add('--spip-color-white', 'hsl(var(--spip-color-white--hsl))');
158
+    $vars->add('--spip-color-gray-lightest', 'hsl(var(--spip-color-gray-lightest--hsl))');
159
+    $vars->add('--spip-color-gray-lighter', 'hsl(var(--spip-color-gray-lighter--hsl))');
160
+    $vars->add('--spip-color-gray-light', 'hsl(var(--spip-color-gray-light--hsl))');
161
+    $vars->add('--spip-color-gray', 'hsl(var(--spip-color-gray--hsl))');
162
+    $vars->add('--spip-color-gray-dark', 'hsl(var(--spip-color-gray-dark--hsl))');
163
+    $vars->add('--spip-color-gray-darker', 'hsl(var(--spip-color-gray-darker--hsl))');
164
+    $vars->add('--spip-color-gray-darkest', 'hsl(var(--spip-color-gray-darkest--hsl))');
165
+    $vars->add('--spip-color-black', 'hsl(var(--spip-color-black--hsl))');
166
+
167
+    // Différents états : erreur, etc.
168
+    $vars->add('--spip-color-success--hsl', '72, 66%, 62%');
169
+    $vars->add('--spip-color-success--h', '72');
170
+    $vars->add('--spip-color-success--s', '66%');
171
+    $vars->add('--spip-color-success--l', '62%');
172
+    $vars->add('--spip-color-error--hsl', '356, 70%, 57%');
173
+    $vars->add('--spip-color-error--h', '356');
174
+    $vars->add('--spip-color-error--s', '70%');
175
+    $vars->add('--spip-color-error--l', '57%');
176
+    $vars->add('--spip-color-notice--hsl', '47, 100%, 62%');
177
+    $vars->add('--spip-color-notice--h', '47');
178
+    $vars->add('--spip-color-notice--s', '100%');
179
+    $vars->add('--spip-color-notice--l', '62%');
180
+    $vars->add('--spip-color-info--hsl', '197, 56%, 27%');
181
+    $vars->add('--spip-color-info--h', '197');
182
+    $vars->add('--spip-color-info--s', '56%');
183
+    $vars->add('--spip-color-info--l', '27%');
184
+
185
+    $vars->add('--spip-color-success', 'hsl(var(--spip-color-success--hsl))');
186
+    $vars->add('--spip-color-error', 'hsl(var(--spip-color-error--hsl))');
187
+    $vars->add('--spip-color-notice', 'hsl(var(--spip-color-notice--hsl))');
188
+    $vars->add('--spip-color-info', 'hsl(var(--spip-color-info--hsl))');
189
+
190
+    return $vars;
191 191
 }
Please login to merge, or discard this patch.
prive/formulaires/instituer_objet.php 1 patch
Indentation   +108 added lines, -108 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 include_spip('inc/editer');
@@ -32,17 +32,17 @@  discard block
 block discarded – undo
32 32
  * @return array
33 33
  */
34 34
 function lister_statuts_proposes($desc, $publiable = true) {
35
-	if (!isset($desc['statut_textes_instituer'])) {
36
-		return false;
37
-	}
35
+    if (!isset($desc['statut_textes_instituer'])) {
36
+        return false;
37
+    }
38 38
 
39
-	$l = $desc['statut_textes_instituer'];
40
-	if (!$publiable) {
41
-		unset($l['publie']);
42
-		unset($l['refuse']);
43
-	}
39
+    $l = $desc['statut_textes_instituer'];
40
+    if (!$publiable) {
41
+        unset($l['publie']);
42
+        unset($l['refuse']);
43
+    }
44 44
 
45
-	return $l;
45
+    return $l;
46 46
 }
47 47
 
48 48
 /**
@@ -64,54 +64,54 @@  discard block
 block discarded – undo
64 64
  *     Environnement du formulaire ou false si aucun affichage à faire.
65 65
  */
66 66
 function formulaires_instituer_objet_charger_dist($objet, $id_objet, $retour = '', $editable = true) {
67
-	$editable = ($editable ? true : false);
68
-
69
-	$table = table_objet_sql($objet);
70
-	$desc = lister_tables_objets_sql($table);
71
-
72
-	if (!isset($desc['statut_textes_instituer'])) {
73
-		return false;
74
-	}
75
-
76
-	if (!autoriser('modifier', $objet, $id_objet)) {
77
-		$editable = false;
78
-	}
79
-
80
-	// charger le contenu de l'objet
81
-	// dont son champ statut
82
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
83
-
84
-	$publiable = true;
85
-	$statuts = lister_statuts_proposes($desc);
86
-	// tester si on a le droit de publier, si un statut publie existe
87
-	if (isset($statuts['publie'])) {
88
-		if (!autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])) {
89
-			if ($v['statut'] == 'publie') {
90
-				$editable = false;
91
-			} else {
92
-				$publiable = false;
93
-			}
94
-		}
95
-	}
96
-	$statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
-	if (count($statuts) == 1 and isset($statuts[$v['statut']])) {
98
-		$editable = false;
99
-	}
100
-
101
-	$valeurs = [
102
-		'editable' => $editable,
103
-		'statut' => $v['statut'],
104
-		'_objet' => $objet,
105
-		'_id_objet' => $id_objet,
106
-		'_statuts' => $statuts,
107
-		'_publiable' => $publiable,
108
-		'_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
109
-		'_aide' => $desc['aide_changer_statut'] ?? '',
110
-		'_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
111
-	];
112
-
113
-	#if (!count($valeurs['statuts']))
114
-	return $valeurs;
67
+    $editable = ($editable ? true : false);
68
+
69
+    $table = table_objet_sql($objet);
70
+    $desc = lister_tables_objets_sql($table);
71
+
72
+    if (!isset($desc['statut_textes_instituer'])) {
73
+        return false;
74
+    }
75
+
76
+    if (!autoriser('modifier', $objet, $id_objet)) {
77
+        $editable = false;
78
+    }
79
+
80
+    // charger le contenu de l'objet
81
+    // dont son champ statut
82
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
83
+
84
+    $publiable = true;
85
+    $statuts = lister_statuts_proposes($desc);
86
+    // tester si on a le droit de publier, si un statut publie existe
87
+    if (isset($statuts['publie'])) {
88
+        if (!autoriser('instituer', $objet, $id_objet, null, ['statut' => 'publie'])) {
89
+            if ($v['statut'] == 'publie') {
90
+                $editable = false;
91
+            } else {
92
+                $publiable = false;
93
+            }
94
+        }
95
+    }
96
+    $statuts = lister_statuts_proposes($desc, $editable ? $publiable : true);
97
+    if (count($statuts) == 1 and isset($statuts[$v['statut']])) {
98
+        $editable = false;
99
+    }
100
+
101
+    $valeurs = [
102
+        'editable' => $editable,
103
+        'statut' => $v['statut'],
104
+        '_objet' => $objet,
105
+        '_id_objet' => $id_objet,
106
+        '_statuts' => $statuts,
107
+        '_publiable' => $publiable,
108
+        '_label' => $desc['texte_changer_statut'] ?? 'texte_article_statut',
109
+        '_aide' => $desc['aide_changer_statut'] ?? '',
110
+        '_hidden' => "<input type='hidden' name='statut_old' value='" . $v['statut'] . "' />",
111
+    ];
112
+
113
+    #if (!count($valeurs['statuts']))
114
+    return $valeurs;
115 115
 }
116 116
 
117 117
 /**
@@ -131,35 +131,35 @@  discard block
 block discarded – undo
131 131
  *     Tableau des erreurs
132 132
  */
133 133
 function formulaires_instituer_objet_verifier_dist($objet, $id_objet, $retour = '', $editable = true) {
134
-	$erreurs = [];
135
-	// charger le contenu de l'objet
136
-	// dont son champ statut
137
-	$v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
138
-
139
-	if ($v['statut'] !== _request('statut_old')) {
140
-		$erreurs['statut'] = _T('instituer_erreur_statut_a_change');
141
-	} else {
142
-		$table = table_objet_sql($objet);
143
-		$desc = lister_tables_objets_sql($table);
144
-
145
-		$publiable = true;
146
-		if (
147
-			isset($v['id_rubrique'])
148
-			and !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
149
-		) {
150
-			$publiable = false;
151
-		}
152
-		$l = lister_statuts_proposes($desc, $publiable);
153
-		$statut = _request('statut');
154
-		if (
155
-			!isset($l[$statut])
156
-			or !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
157
-		) {
158
-			$erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
159
-		}
160
-	}
161
-
162
-	return $erreurs;
134
+    $erreurs = [];
135
+    // charger le contenu de l'objet
136
+    // dont son champ statut
137
+    $v = formulaires_editer_objet_charger($objet, $id_objet, 0, 0, '', '');
138
+
139
+    if ($v['statut'] !== _request('statut_old')) {
140
+        $erreurs['statut'] = _T('instituer_erreur_statut_a_change');
141
+    } else {
142
+        $table = table_objet_sql($objet);
143
+        $desc = lister_tables_objets_sql($table);
144
+
145
+        $publiable = true;
146
+        if (
147
+            isset($v['id_rubrique'])
148
+            and !autoriser('publierdans', 'rubrique', $v['id_rubrique'])
149
+        ) {
150
+            $publiable = false;
151
+        }
152
+        $l = lister_statuts_proposes($desc, $publiable);
153
+        $statut = _request('statut');
154
+        if (
155
+            !isset($l[$statut])
156
+            or !autoriser('instituer', $objet, $id_objet, '', ['statut' => $statut])
157
+        ) {
158
+            $erreurs['statut'] = _T('instituer_erreur_statut_non_autorise');
159
+        }
160
+    }
161
+
162
+    return $erreurs;
163 163
 }
164 164
 
165 165
 /**
@@ -178,25 +178,25 @@  discard block
 block discarded – undo
178 178
  */
179 179
 function formulaires_instituer_objet_traiter_dist($objet, $id_objet, $retour = '', $editable = true) {
180 180
 
181
-	$c = ['statut' => _request('statut')];
182
-	// si on a envoye une 'date_posterieure', l'enregistrer
183
-	// todo dans le HTML
184
-	if ($d = _request('date_posterieure')) {
185
-		$c['date'] = $d;
186
-	}
187
-
188
-
189
-	include_spip('action/editer_objet');
190
-	if ($err = objet_instituer($objet, $id_objet, $c)) {
191
-		$res = ['message_erreur' => $err];
192
-	} else {
193
-		$res = ['message_ok' => _T('info_modification_enregistree')];
194
-		if ($retour) {
195
-			$res['redirect'] = $retour;
196
-		}
197
-		set_request('statut');
198
-		set_request('date_posterieure');
199
-	}
200
-
201
-	return $res;
181
+    $c = ['statut' => _request('statut')];
182
+    // si on a envoye une 'date_posterieure', l'enregistrer
183
+    // todo dans le HTML
184
+    if ($d = _request('date_posterieure')) {
185
+        $c['date'] = $d;
186
+    }
187
+
188
+
189
+    include_spip('action/editer_objet');
190
+    if ($err = objet_instituer($objet, $id_objet, $c)) {
191
+        $res = ['message_erreur' => $err];
192
+    } else {
193
+        $res = ['message_ok' => _T('info_modification_enregistree')];
194
+        if ($retour) {
195
+            $res['redirect'] = $retour;
196
+        }
197
+        set_request('statut');
198
+        set_request('date_posterieure');
199
+    }
200
+
201
+    return $res;
202 202
 }
Please login to merge, or discard this patch.
prive/formulaires/declarer_bases.php 1 patch
Indentation   +195 added lines, -195 removed lines patch added patch discarded remove patch
@@ -11,223 +11,223 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/install');
18 18
 
19 19
 function formulaires_declarer_bases_charger_dist() {
20
-	[$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
21
-
22
-	$deja = bases_referencees(_FILE_CONNECT);
23
-	// proposer un nom de connect si pas encore saisi
24
-	$nom_connect = '';
25
-	if (defined('_DECLARER_CHOIX_DB')) {
26
-		$nom_connect = _DECLARER_CHOIX_DB;
27
-		$n = '';
28
-		while (in_array($nom_connect . $n, $deja)) {
29
-			$n = ($n ? $n + 1 : 1);
30
-		}
31
-		$nom_connect = $nom_connect . $n;
32
-	}
33
-
34
-	$valeurs = [
35
-		'_etapes' => 3,
36
-		'_bases_deja' => $deja,
37
-		'_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
38
-		'_tables' => (defined('_DECLARER_SERVEUR_DB') and defined('_DECLARER_CHOIX_DB')) ?
39
-			$tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
40
-			:
41
-			[],
42
-		'main_db' => '',
43
-		'_serveurs' => liste_serveurs(),
44
-		'sql_serveur_db' => 'sqlite3', // valeur par defaut
45
-		'adresse_db' => $adresse_db,
46
-		'login_db' => '',
47
-		'pass_db' => '',
48
-		'choix_db' => '',
49
-		'table_new' => '',
50
-		'nom_connect' => $nom_connect,
51
-	];
52
-
53
-	return $valeurs;
20
+    [$adresse_db, $login_db, $pass_db, $sel, $server_db] = analyse_fichier_connection(_FILE_CONNECT);
21
+
22
+    $deja = bases_referencees(_FILE_CONNECT);
23
+    // proposer un nom de connect si pas encore saisi
24
+    $nom_connect = '';
25
+    if (defined('_DECLARER_CHOIX_DB')) {
26
+        $nom_connect = _DECLARER_CHOIX_DB;
27
+        $n = '';
28
+        while (in_array($nom_connect . $n, $deja)) {
29
+            $n = ($n ? $n + 1 : 1);
30
+        }
31
+        $nom_connect = $nom_connect . $n;
32
+    }
33
+
34
+    $valeurs = [
35
+        '_etapes' => 3,
36
+        '_bases_deja' => $deja,
37
+        '_bases_prop' => defined('_DECLARER_SERVEUR_DB') ? liste_bases(_DECLARER_SERVEUR_DB) : '',
38
+        '_tables' => (defined('_DECLARER_SERVEUR_DB') and defined('_DECLARER_CHOIX_DB')) ?
39
+            $tables = sql_alltable('%', _DECLARER_SERVEUR_DB)
40
+            :
41
+            [],
42
+        'main_db' => '',
43
+        '_serveurs' => liste_serveurs(),
44
+        'sql_serveur_db' => 'sqlite3', // valeur par defaut
45
+        'adresse_db' => $adresse_db,
46
+        'login_db' => '',
47
+        'pass_db' => '',
48
+        'choix_db' => '',
49
+        'table_new' => '',
50
+        'nom_connect' => $nom_connect,
51
+    ];
52
+
53
+    return $valeurs;
54 54
 }
55 55
 
56 56
 function liste_serveurs() {
57
-	$options = [];
58
-	$dir = _DIR_RESTREINT . 'req/';
59
-	$d = opendir($dir);
60
-	if (!$d) {
61
-		return [];
62
-	}
63
-	while ($f = readdir($d)) {
64
-		if (
65
-			(preg_match('/^(.*)[.]php$/', $f, $s))
66
-			and is_readable($f = $dir . $f)
67
-		) {
68
-			require_once($f);
69
-			$s = $s[1];
70
-			$v = 'spip_versions_' . $s;
71
-			if (function_exists($v) and $v()) {
72
-				$options[$s] = "install_select_type_$s";
73
-			} else {
74
-				spip_log("$s: portage indisponible");
75
-			}
76
-		}
77
-	}
78
-	ksort($options);
79
-
80
-	return $options;
57
+    $options = [];
58
+    $dir = _DIR_RESTREINT . 'req/';
59
+    $d = opendir($dir);
60
+    if (!$d) {
61
+        return [];
62
+    }
63
+    while ($f = readdir($d)) {
64
+        if (
65
+            (preg_match('/^(.*)[.]php$/', $f, $s))
66
+            and is_readable($f = $dir . $f)
67
+        ) {
68
+            require_once($f);
69
+            $s = $s[1];
70
+            $v = 'spip_versions_' . $s;
71
+            if (function_exists($v) and $v()) {
72
+                $options[$s] = "install_select_type_$s";
73
+            } else {
74
+                spip_log("$s: portage indisponible");
75
+            }
76
+        }
77
+    }
78
+    ksort($options);
79
+
80
+    return $options;
81 81
 }
82 82
 
83 83
 function liste_bases($server_db) {
84
-	if (
85
-		is_null($server_db)
86
-		or !$result = sql_listdbs($server_db)
87
-	) {
88
-		return '';
89
-	}
90
-
91
-	$noms = [];
92
-
93
-	// si sqlite : result est deja un tableau
94
-	if (is_array($result)) {
95
-		$noms = $result;
96
-	} else {
97
-		while ($row = sql_fetch($result, $server_db)) {
98
-			$noms[] = reset($row);
99
-		}
100
-	}
101
-
102
-	return $noms;
84
+    if (
85
+        is_null($server_db)
86
+        or !$result = sql_listdbs($server_db)
87
+    ) {
88
+        return '';
89
+    }
90
+
91
+    $noms = [];
92
+
93
+    // si sqlite : result est deja un tableau
94
+    if (is_array($result)) {
95
+        $noms = $result;
96
+    } else {
97
+        while ($row = sql_fetch($result, $server_db)) {
98
+            $noms[] = reset($row);
99
+        }
100
+    }
101
+
102
+    return $noms;
103 103
 }
104 104
 
105 105
 function formulaires_declarer_bases_verifier_1_dist() {
106
-	$erreurs = [];
107
-	[$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
108
-
109
-	if (!$adresse_db = _request('adresse_db')) {
110
-		if (defined('_INSTALL_HOST_DB')) {
111
-			$adresse_db = _INSTALL_HOST_DB;
112
-		} else {
113
-			$adresse_db = $def_adresse_db;
114
-		}
115
-	}
116
-	if (!$serveur_db = _request('sql_serveur_db')) {
117
-		if (defined('_INSTALL_SERVER_DB')) {
118
-			$serveur_db = _INSTALL_SERVER_DB;
119
-		} else {
120
-			$serveur_db = $def_serveur_db;
121
-		}
122
-	}
123
-
124
-	$login_db = $pass_db = '';
125
-	if (!preg_match(',^sqlite,i', $serveur_db)) {
126
-		if (!$login_db = _request('login_db')) {
127
-			if (defined('_INSTALL_USER_DB')) {
128
-				$login_db = _INSTALL_USER_DB;
129
-			} else {
130
-				$login_db = $def_login_db;
131
-			}
132
-		}
133
-		if (!$pass_db = _request('pass_db')) {
134
-			if (defined('_INSTALL_PASS_DB')) {
135
-				$pass_db = _INSTALL_PASS_DB;
136
-			} else {
137
-				$pass_db = $def_pass_db;
138
-			}
139
-		}
140
-	}
141
-
142
-	$link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
143
-	if ($link) {
144
-		$GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
145
-		$GLOBALS['connexions'][$serveur_db] = $link;
146
-		define('_DECLARER_SERVEUR_DB', $serveur_db);
147
-		define('_DECLARER_ADRESSE_DB', $adresse_db);
148
-		define('_DECLARER_LOGIN_DB', $login_db);
149
-		define('_DECLARER_PASS_DB', $pass_db);
150
-		// si on est sur le meme serveur que connect.php
151
-		// indiquer quelle est la db utilisee pour l'exclure des choix possibles
152
-		if ($serveur_db == $def_serveur_db and $adresse_db == $def_adresse_db) {
153
-			set_request('main_db', $sel_db);
154
-		} else {
155
-			set_request('main_db', '');
156
-		}
157
-	} else {
158
-		$erreurs['message_erreur'] = _T('avis_connexion_echec_1');
159
-	}
160
-
161
-	return $erreurs;
106
+    $erreurs = [];
107
+    [$def_adresse_db, $def_login_db, $def_pass_db, $sel_db, $def_serveur_db] = analyse_fichier_connection(_FILE_CONNECT);
108
+
109
+    if (!$adresse_db = _request('adresse_db')) {
110
+        if (defined('_INSTALL_HOST_DB')) {
111
+            $adresse_db = _INSTALL_HOST_DB;
112
+        } else {
113
+            $adresse_db = $def_adresse_db;
114
+        }
115
+    }
116
+    if (!$serveur_db = _request('sql_serveur_db')) {
117
+        if (defined('_INSTALL_SERVER_DB')) {
118
+            $serveur_db = _INSTALL_SERVER_DB;
119
+        } else {
120
+            $serveur_db = $def_serveur_db;
121
+        }
122
+    }
123
+
124
+    $login_db = $pass_db = '';
125
+    if (!preg_match(',^sqlite,i', $serveur_db)) {
126
+        if (!$login_db = _request('login_db')) {
127
+            if (defined('_INSTALL_USER_DB')) {
128
+                $login_db = _INSTALL_USER_DB;
129
+            } else {
130
+                $login_db = $def_login_db;
131
+            }
132
+        }
133
+        if (!$pass_db = _request('pass_db')) {
134
+            if (defined('_INSTALL_PASS_DB')) {
135
+                $pass_db = _INSTALL_PASS_DB;
136
+            } else {
137
+                $pass_db = $def_pass_db;
138
+            }
139
+        }
140
+    }
141
+
142
+    $link = spip_connect_db($adresse_db, '', $login_db, $pass_db, '@test@', $serveur_db);
143
+    if ($link) {
144
+        $GLOBALS['connexions'][$serveur_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $serveur_db . '_functions_' . $GLOBALS['spip_sql_version']];
145
+        $GLOBALS['connexions'][$serveur_db] = $link;
146
+        define('_DECLARER_SERVEUR_DB', $serveur_db);
147
+        define('_DECLARER_ADRESSE_DB', $adresse_db);
148
+        define('_DECLARER_LOGIN_DB', $login_db);
149
+        define('_DECLARER_PASS_DB', $pass_db);
150
+        // si on est sur le meme serveur que connect.php
151
+        // indiquer quelle est la db utilisee pour l'exclure des choix possibles
152
+        if ($serveur_db == $def_serveur_db and $adresse_db == $def_adresse_db) {
153
+            set_request('main_db', $sel_db);
154
+        } else {
155
+            set_request('main_db', '');
156
+        }
157
+    } else {
158
+        $erreurs['message_erreur'] = _T('avis_connexion_echec_1');
159
+    }
160
+
161
+    return $erreurs;
162 162
 }
163 163
 
164 164
 function formulaires_declarer_bases_verifier_2_dist() {
165
-	$erreurs = [];
166
-	$choix_db = _request('choix_db');
167
-	if ($choix_db == '-1') {
168
-		$choix_db = _request('table_new');
169
-	}
170
-	if (!$choix_db) {
171
-		$erreurs['choix_db'] = _T('info_obligatoire');
172
-	} else {
173
-		define('_ECRIRE_INSTALL', 1); // hackons sqlite
174
-		if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
175
-			$erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
176
-		} else {
177
-			define('_DECLARER_CHOIX_DB', $choix_db);
178
-		}
179
-	}
180
-
181
-	return $erreurs;
165
+    $erreurs = [];
166
+    $choix_db = _request('choix_db');
167
+    if ($choix_db == '-1') {
168
+        $choix_db = _request('table_new');
169
+    }
170
+    if (!$choix_db) {
171
+        $erreurs['choix_db'] = _T('info_obligatoire');
172
+    } else {
173
+        define('_ECRIRE_INSTALL', 1); // hackons sqlite
174
+        if (!sql_selectdb($choix_db, _DECLARER_SERVEUR_DB)) {
175
+            $erreurs['choix_db'] = _T('avis_base_inaccessible', ['base' => $choix_db]);
176
+        } else {
177
+            define('_DECLARER_CHOIX_DB', $choix_db);
178
+        }
179
+    }
180
+
181
+    return $erreurs;
182 182
 }
183 183
 
184 184
 function formulaires_declarer_bases_verifier_3_dist() {
185
-	$erreurs = [];
186
-	$nom_connect = _request('nom_connect');
187
-	if (!$nom_connect) {
188
-		$erreurs['nom_connect'] = _T('info_obligatoire');
189
-	} else {
190
-		// securite : le nom doit etre un mot sans caracteres speciaux
191
-		$f = preg_replace(',[^\w],', '', $nom_connect);
192
-		if ($f !== $nom_connect) {
193
-			$erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
194
-		} elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
195
-			$erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
196
-		} else {
197
-			define('_DECLARER_NOM_CONNECT', $nom_connect);
198
-		}
199
-	}
200
-
201
-	return $erreurs;
185
+    $erreurs = [];
186
+    $nom_connect = _request('nom_connect');
187
+    if (!$nom_connect) {
188
+        $erreurs['nom_connect'] = _T('info_obligatoire');
189
+    } else {
190
+        // securite : le nom doit etre un mot sans caracteres speciaux
191
+        $f = preg_replace(',[^\w],', '', $nom_connect);
192
+        if ($f !== $nom_connect) {
193
+            $erreurs['nom_connect'] = _T('erreur_nom_connect_incorrect');
194
+        } elseif (file_exists(_DIR_CONNECT . $nom_connect . '.php')) {
195
+            $erreurs['nom_connect'] = _T('erreur_connect_deja_existant');
196
+        } else {
197
+            define('_DECLARER_NOM_CONNECT', $nom_connect);
198
+        }
199
+    }
200
+
201
+    return $erreurs;
202 202
 }
203 203
 
204 204
 function formulaires_declarer_bases_traiter_dist() {
205 205
 
206
-	$adresse_db = _DECLARER_ADRESSE_DB;
207
-	if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
208
-		[, $adresse_db, $port] = $r;
209
-	} else {
210
-		$port = '';
211
-	}
212
-
213
-	$server_db = addcslashes(_DECLARER_SERVEUR_DB, "'\\");
214
-
215
-	$conn = install_mode_appel($server_db)
216
-		. install_connexion(
217
-			$adresse_db,
218
-			$port,
219
-			_DECLARER_LOGIN_DB,
220
-			_DECLARER_PASS_DB,
221
-			_DECLARER_CHOIX_DB,
222
-			_DECLARER_SERVEUR_DB,
223
-			'',
224
-			'',
225
-			''
226
-		);
227
-
228
-	install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
229
-
230
-	return [
231
-		'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
232
-	];
206
+    $adresse_db = _DECLARER_ADRESSE_DB;
207
+    if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
208
+        [, $adresse_db, $port] = $r;
209
+    } else {
210
+        $port = '';
211
+    }
212
+
213
+    $server_db = addcslashes(_DECLARER_SERVEUR_DB, "'\\");
214
+
215
+    $conn = install_mode_appel($server_db)
216
+        . install_connexion(
217
+            $adresse_db,
218
+            $port,
219
+            _DECLARER_LOGIN_DB,
220
+            _DECLARER_PASS_DB,
221
+            _DECLARER_CHOIX_DB,
222
+            _DECLARER_SERVEUR_DB,
223
+            '',
224
+            '',
225
+            ''
226
+        );
227
+
228
+    install_fichier_connexion(_DIR_CONNECT . _DECLARER_NOM_CONNECT . '.php', $conn);
229
+
230
+    return [
231
+        'message_ok' => _T('install_connect_ok', ['connect' => '<strong>' . _DECLARER_NOM_CONNECT . '</strong>'])
232
+    ];
233 233
 }
Please login to merge, or discard this patch.
prive/formulaires/recherche_ecrire.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -33,19 +33,19 @@  discard block
 block discarded – undo
33 33
  * @return array Environnement du formulaire
34 34
  **/
35 35
 function formulaires_recherche_ecrire_charger_dist($action = '', $class = '') {
36
-	if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) {
37
-		$lang = $GLOBALS['spip_lang'];
38
-	} else {
39
-		$lang = '';
40
-	}
36
+    if ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site']) {
37
+        $lang = $GLOBALS['spip_lang'];
38
+    } else {
39
+        $lang = '';
40
+    }
41 41
 
42
-	return
43
-		[
44
-			'action' => ($action ?: generer_url_ecrire('recherche')),
45
-			# action specifique, ne passe pas par Verifier, ni Traiter
46
-			'recherche' => _request('recherche'),
47
-			'lang' => $lang,
48
-			'class' => $class,
49
-			'_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
50
-		];
42
+    return
43
+        [
44
+            'action' => ($action ?: generer_url_ecrire('recherche')),
45
+            # action specifique, ne passe pas par Verifier, ni Traiter
46
+            'recherche' => _request('recherche'),
47
+            'lang' => $lang,
48
+            'class' => $class,
49
+            '_id_champ' => 'rechercher_' . substr(md5($action . $class), 0, 4),
50
+        ];
51 51
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_reducteur.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  **/
19 19
 
20 20
 if (!defined('_ECRIRE_INC_VERSION')) {
21
-	return;
21
+    return;
22 22
 }
23 23
 
24 24
 /**
@@ -28,24 +28,24 @@  discard block
 block discarded – undo
28 28
  *     Environnement du formulaire
29 29
  **/
30 30
 function formulaires_configurer_reducteur_charger_dist() {
31
-	$valeurs = [];
32
-	foreach (
33
-		[
34
-			'image_process',
35
-			'formats_graphiques',
36
-			'creer_preview',
37
-			'taille_preview',
38
-		] as $m
39
-	) {
40
-		$valeurs[$m] = $GLOBALS['meta'][$m] ?? null;
41
-	}
31
+    $valeurs = [];
32
+    foreach (
33
+        [
34
+            'image_process',
35
+            'formats_graphiques',
36
+            'creer_preview',
37
+            'taille_preview',
38
+        ] as $m
39
+    ) {
40
+        $valeurs[$m] = $GLOBALS['meta'][$m] ?? null;
41
+    }
42 42
 
43
-	$valeurs['taille_preview'] = intval($valeurs['taille_preview']);
44
-	if ($valeurs['taille_preview'] < 10) {
45
-		$valeurs['taille_preview'] = 120;
46
-	}
43
+    $valeurs['taille_preview'] = intval($valeurs['taille_preview']);
44
+    if ($valeurs['taille_preview'] < 10) {
45
+        $valeurs['taille_preview'] = 120;
46
+    }
47 47
 
48
-	return $valeurs;
48
+    return $valeurs;
49 49
 }
50 50
 
51 51
 
@@ -56,53 +56,53 @@  discard block
 block discarded – undo
56 56
  *     Retours des traitements
57 57
  **/
58 58
 function formulaires_configurer_reducteur_traiter_dist() {
59
-	$res = ['editable' => true];
59
+    $res = ['editable' => true];
60 60
 
61
-	if (is_array($image_process = _request('image_process_'))) {
62
-		$image_process = array_keys($image_process);
63
-		$image_process = reset($image_process);
61
+    if (is_array($image_process = _request('image_process_'))) {
62
+        $image_process = array_keys($image_process);
63
+        $image_process = reset($image_process);
64 64
 
65
-		// application du choix de vignette
66
-		if ($image_process) {
67
-			// mettre a jour les formats graphiques lisibles
68
-			switch ($image_process) {
69
-				case 'gd1':
70
-				case 'gd2':
71
-					$formats_graphiques = $GLOBALS['meta']['gd_formats_read'];
72
-					break;
73
-				case 'netpbm':
74
-					$formats_graphiques = $GLOBALS['meta']['netpbm_formats'];
75
-					break;
76
-				case 'convert':
77
-				case 'imagick':
78
-					$formats_graphiques = 'gif,jpg,png,webp';
79
-					break;
80
-				default: #debug
81
-					$formats_graphiques = '';
82
-					$image_process = 'non';
83
-					break;
84
-			}
85
-			ecrire_meta('formats_graphiques', $formats_graphiques, 'non');
86
-			ecrire_meta('image_process', $image_process, 'non');
87
-		}
88
-	}
65
+        // application du choix de vignette
66
+        if ($image_process) {
67
+            // mettre a jour les formats graphiques lisibles
68
+            switch ($image_process) {
69
+                case 'gd1':
70
+                case 'gd2':
71
+                    $formats_graphiques = $GLOBALS['meta']['gd_formats_read'];
72
+                    break;
73
+                case 'netpbm':
74
+                    $formats_graphiques = $GLOBALS['meta']['netpbm_formats'];
75
+                    break;
76
+                case 'convert':
77
+                case 'imagick':
78
+                    $formats_graphiques = 'gif,jpg,png,webp';
79
+                    break;
80
+                default: #debug
81
+                    $formats_graphiques = '';
82
+                    $image_process = 'non';
83
+                    break;
84
+            }
85
+            ecrire_meta('formats_graphiques', $formats_graphiques, 'non');
86
+            ecrire_meta('image_process', $image_process, 'non');
87
+        }
88
+    }
89 89
 
90
-	foreach (
91
-		[
92
-			'creer_preview'
93
-		] as $m
94
-	) {
95
-		if (!is_null($v = _request($m))) {
96
-			ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
97
-		}
98
-	}
99
-	if (!is_null($v = _request('taille_preview'))) {
100
-		ecrire_meta('taille_preview', intval($v));
101
-	}
90
+    foreach (
91
+        [
92
+            'creer_preview'
93
+        ] as $m
94
+    ) {
95
+        if (!is_null($v = _request($m))) {
96
+            ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
97
+        }
98
+    }
99
+    if (!is_null($v = _request('taille_preview'))) {
100
+        ecrire_meta('taille_preview', intval($v));
101
+    }
102 102
 
103
-	$res['message_ok'] = _T('config_info_enregistree');
103
+    $res['message_ok'] = _T('config_info_enregistree');
104 104
 
105
-	return $res;
105
+    return $res;
106 106
 }
107 107
 
108 108
 /**
@@ -115,37 +115,37 @@  discard block
 block discarded – undo
115 115
  *     URL d'action pour tester la librairie graphique en créant une vignette
116 116
  **/
117 117
 function url_vignette_choix($process) {
118
-	switch ($process) {
119
-		case 'gd2':
120
-			if (!function_exists('ImageCreateTrueColor')) {
121
-				return '';
122
-			}
123
-			break;
124
-		case 'gd1':
125
-			if (
126
-				!function_exists('ImageGif')
127
-				and !function_exists('ImageJpeg')
128
-				and !function_exists('ImagePng')
129
-			) {
130
-				return '';
131
-			}
132
-			break;
133
-		case 'netpbm':
134
-			if (defined('_PNMSCALE_COMMAND') and _PNMSCALE_COMMAND == '') {
135
-				return '';
136
-			}
137
-			break;
138
-		case 'imagick':
139
-			if (!method_exists(\Imagick::class, 'readImage')) {
140
-				return '';
141
-			}
142
-			break;
143
-		case 'convert':
144
-			if (defined('_CONVERT_COMMAND') and _CONVERT_COMMAND == '') {
145
-				return '';
146
-			}
147
-			break;
148
-	}
118
+    switch ($process) {
119
+        case 'gd2':
120
+            if (!function_exists('ImageCreateTrueColor')) {
121
+                return '';
122
+            }
123
+            break;
124
+        case 'gd1':
125
+            if (
126
+                !function_exists('ImageGif')
127
+                and !function_exists('ImageJpeg')
128
+                and !function_exists('ImagePng')
129
+            ) {
130
+                return '';
131
+            }
132
+            break;
133
+        case 'netpbm':
134
+            if (defined('_PNMSCALE_COMMAND') and _PNMSCALE_COMMAND == '') {
135
+                return '';
136
+            }
137
+            break;
138
+        case 'imagick':
139
+            if (!method_exists(\Imagick::class, 'readImage')) {
140
+                return '';
141
+            }
142
+            break;
143
+        case 'convert':
144
+            if (defined('_CONVERT_COMMAND') and _CONVERT_COMMAND == '') {
145
+                return '';
146
+            }
147
+            break;
148
+    }
149 149
 
150
-	return generer_url_action('tester', "arg=$process&time=" . time());
150
+    return generer_url_action('tester', "arg=$process&time=" . time());
151 151
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_identite.php 1 patch
Indentation   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -11,56 +11,56 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 function formulaires_configurer_identite_charger_dist() {
18
-	// travailler sur des meta fraiches
19
-	include_spip('inc/meta');
20
-	lire_metas();
18
+    // travailler sur des meta fraiches
19
+    include_spip('inc/meta');
20
+    lire_metas();
21 21
 
22
-	$valeurs = [];
23
-	foreach (['nom_site', 'adresse_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
24
-		$valeurs[$k] = $GLOBALS['meta'][$k] ?? '';
25
-	}
22
+    $valeurs = [];
23
+    foreach (['nom_site', 'adresse_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
24
+        $valeurs[$k] = $GLOBALS['meta'][$k] ?? '';
25
+    }
26 26
 
27
-	return $valeurs;
27
+    return $valeurs;
28 28
 }
29 29
 
30 30
 function formulaires_configurer_identite_verifier_dist() {
31
-	$erreurs = [];
31
+    $erreurs = [];
32 32
 
33
-	// adresse_site est obligatoire mais rempli automatiquement si absent !
34
-	foreach (['nom_site'/*,'adresse_site'*/] as $obli) {
35
-		if (!_request($obli)) {
36
-			$erreurs[$obli] = _T('info_obligatoire');
37
-		}
38
-	}
33
+    // adresse_site est obligatoire mais rempli automatiquement si absent !
34
+    foreach (['nom_site'/*,'adresse_site'*/] as $obli) {
35
+        if (!_request($obli)) {
36
+            $erreurs[$obli] = _T('info_obligatoire');
37
+        }
38
+    }
39 39
 
40
-	if ($email = _request('email_webmaster') and !email_valide($email)) {
41
-		$erreurs['email_webmaster'] = _T('info_email_invalide');
42
-	}
40
+    if ($email = _request('email_webmaster') and !email_valide($email)) {
41
+        $erreurs['email_webmaster'] = _T('info_email_invalide');
42
+    }
43 43
 
44
-	return $erreurs;
44
+    return $erreurs;
45 45
 }
46 46
 
47 47
 function formulaires_configurer_identite_traiter_dist() {
48
-	include_spip('inc/config');
49
-	$adresse_site = $GLOBALS['meta']['adresse_site'] ?? '';
50
-	if (_request('adresse_site') != $adresse_site) {
51
-		refuser_traiter_formulaire_ajax();
52
-	}
48
+    include_spip('inc/config');
49
+    $adresse_site = $GLOBALS['meta']['adresse_site'] ?? '';
50
+    if (_request('adresse_site') != $adresse_site) {
51
+        refuser_traiter_formulaire_ajax();
52
+    }
53 53
 
54
-	set_request('adresse_site', appliquer_adresse_site(_request('adresse_site')));
54
+    set_request('adresse_site', appliquer_adresse_site(_request('adresse_site')));
55 55
 
56
-	include_spip('inc/meta');
57
-	foreach (['nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
58
-		ecrire_meta($k, _request($k));
59
-	}
56
+    include_spip('inc/meta');
57
+    foreach (['nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster'] as $k) {
58
+        ecrire_meta($k, _request($k));
59
+    }
60 60
 
61
-	include_spip('inc/texte_mini');
62
-	$reload = texte_script(couper(_request('nom_site'), 35));
63
-	$reload = "<script type='text/javascript'>if (window.jQuery) jQuery('#bando_identite .nom_site_spip .nom').html('$reload');</script>";
61
+    include_spip('inc/texte_mini');
62
+    $reload = texte_script(couper(_request('nom_site'), 35));
63
+    $reload = "<script type='text/javascript'>if (window.jQuery) jQuery('#bando_identite .nom_site_spip .nom').html('$reload');</script>";
64 64
 
65
-	return ['message_ok' => _T('config_info_enregistree') . $reload, 'editable' => true];
65
+    return ['message_ok' => _T('config_info_enregistree') . $reload, 'editable' => true];
66 66
 }
Please login to merge, or discard this patch.
prive/formulaires/dater.php 1 patch
Indentation   +266 added lines, -266 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
 
@@ -45,136 +45,136 @@  discard block
 block discarded – undo
45 45
  **/
46 46
 function formulaires_dater_charger_dist($objet, $id_objet, $retour = '', $options = []) {
47 47
 
48
-	$jour = null;
49
-	$mois = null;
50
-	$annee = null;
51
-	$heure = null;
52
-	$minute = null;
53
-	$objet = objet_type($objet);
54
-	if (!$objet or !intval($id_objet)) {
55
-		return false;
56
-	}
57
-
58
-	if (!is_array($options)) {
59
-		$options = unserialize($options);
60
-	}
61
-
62
-	$_id_objet = id_table_objet($objet);
63
-	$table = table_objet($objet);
64
-	$trouver_table = charger_fonction('trouver_table', 'base');
65
-	$desc = $trouver_table($table);
66
-
67
-	if (!$desc) {
68
-		return false;
69
-	}
70
-
71
-	$champ_date = $desc['date'] ?: 'date';
72
-	if (isset($options['champ_date']) and $options['champ_date']) {
73
-		$champ_date = $options['champ_date'];
74
-	}
75
-	if (!isset($desc['field'][$champ_date])) {
76
-		return false;
77
-	}
78
-
79
-	$valeurs = [
80
-		'objet' => $objet,
81
-		'id_objet' => $id_objet,
82
-		'id' => $id_objet,
83
-	];
84
-
85
-
86
-	$select = "$champ_date as date";
87
-	$champ_date_redac = 'date_redac';
88
-	if (isset($options['champ_date_redac']) and $options['champ_date_redac']) {
89
-		$champ_date_redac = $options['champ_date_redac'];
90
-	}
91
-	if (isset($desc['field'][$champ_date_redac])) {
92
-		$select .= ",$champ_date_redac as date_redac";
93
-	}
94
-	if (isset($desc['field']['statut'])) {
95
-		$select .= ',statut';
96
-	}
97
-
98
-
99
-	$row = sql_fetsel($select, $desc['table'], "$_id_objet=" . intval($id_objet));
100
-	$statut = $row['statut'] ?? 'publie'; // pas de statut => publie
101
-
102
-	$valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
103
-
104
-	$possedeDateRedac = false;
105
-
106
-	if (
107
-		isset($row['date_redac']) and
108
-		$regs = recup_date($row['date_redac'], false)
109
-	) {
110
-		$annee_redac = $regs[0];
111
-		$mois_redac = $regs[1];
112
-		$jour_redac = $regs[2];
113
-		$heure_redac = $regs[3];
114
-		$minute_redac = $regs[4];
115
-		$possedeDateRedac = true;
116
-		// attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
117
-		// mais reviennent ici en annee 1 par recup_date
118
-		// on verifie donc que le intval($row['date_redac']) qui ressort l'annee
119
-		// est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
120
-		// le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
121
-		if (intval($row['date_redac']) <= 1 and ($annee_redac <= 1) and ($mois_redac <= 1) and ($jour_redac <= 1)) {
122
-			$possedeDateRedac = false;
123
-		}
124
-	} else {
125
-		$annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
126
-	}
127
-
128
-	if ($regs = recup_date($row['date'], false)) {
129
-		$annee = $regs[0];
130
-		$mois = $regs[1];
131
-		$jour = $regs[2];
132
-		$heure = $regs[3];
133
-		$minute = $regs[4];
134
-	}
135
-
136
-	// attention, si la variable s'appelle date ou date_redac, le compilo va
137
-	// la normaliser, ce qu'on ne veut pas ici.
138
-	$valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
139
-	$valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
140
-	$valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
141
-
142
-	$valeurs['afficher_date'] = $row['date'];
143
-	$valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
144
-	$valeurs['date_heure'] = "$heure:$minute";
145
-
146
-	$valeurs['sans_redac'] = !$possedeDateRedac;
147
-
148
-	if (isset($options['date_redac'])) {
149
-		$valeurs['_editer_date_anterieure'] = $options['date_redac'];
150
-	} else {
151
-		$valeurs['_editer_date_anterieure'] = ($objet == 'article' and ($GLOBALS['meta']['articles_redac'] != 'non' or $possedeDateRedac));
152
-	}
153
-	$valeurs['_label_date'] = (($statut == 'publie') ?
154
-		_T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
155
-	if (isset($options['label_date']) and $options['label_date']) {
156
-		$valeurs['_label_date'] = $options['label_date'];
157
-	}
158
-	if (isset($options['label_date_redac']) and $options['label_date_redac']) {
159
-		$valeurs['_label_date_redac'] = $options['label_date_redac'];
160
-	}
161
-	if (isset($options['texte_sans_date_redac']) and $options['texte_sans_date_redac']) {
162
-		$valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
163
-	}
164
-	if (isset($options['class']) and $options['class']) {
165
-		$valeurs['_class'] = $options['class'];
166
-	}
167
-
168
-	$valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null or _request('date_jour') !== null);
169
-
170
-	// cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
171
-	// https://core.spip.net/issues/3494
172
-	$valeurs['_editer_date'] = $valeurs['editable'];
173
-	if ($valeurs['_editer_date_anterieure'] and !$valeurs['editable']) {
174
-		$valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
175
-	}
176
-
177
-	return $valeurs;
48
+    $jour = null;
49
+    $mois = null;
50
+    $annee = null;
51
+    $heure = null;
52
+    $minute = null;
53
+    $objet = objet_type($objet);
54
+    if (!$objet or !intval($id_objet)) {
55
+        return false;
56
+    }
57
+
58
+    if (!is_array($options)) {
59
+        $options = unserialize($options);
60
+    }
61
+
62
+    $_id_objet = id_table_objet($objet);
63
+    $table = table_objet($objet);
64
+    $trouver_table = charger_fonction('trouver_table', 'base');
65
+    $desc = $trouver_table($table);
66
+
67
+    if (!$desc) {
68
+        return false;
69
+    }
70
+
71
+    $champ_date = $desc['date'] ?: 'date';
72
+    if (isset($options['champ_date']) and $options['champ_date']) {
73
+        $champ_date = $options['champ_date'];
74
+    }
75
+    if (!isset($desc['field'][$champ_date])) {
76
+        return false;
77
+    }
78
+
79
+    $valeurs = [
80
+        'objet' => $objet,
81
+        'id_objet' => $id_objet,
82
+        'id' => $id_objet,
83
+    ];
84
+
85
+
86
+    $select = "$champ_date as date";
87
+    $champ_date_redac = 'date_redac';
88
+    if (isset($options['champ_date_redac']) and $options['champ_date_redac']) {
89
+        $champ_date_redac = $options['champ_date_redac'];
90
+    }
91
+    if (isset($desc['field'][$champ_date_redac])) {
92
+        $select .= ",$champ_date_redac as date_redac";
93
+    }
94
+    if (isset($desc['field']['statut'])) {
95
+        $select .= ',statut';
96
+    }
97
+
98
+
99
+    $row = sql_fetsel($select, $desc['table'], "$_id_objet=" . intval($id_objet));
100
+    $statut = $row['statut'] ?? 'publie'; // pas de statut => publie
101
+
102
+    $valeurs['editable'] = autoriser('dater', $objet, $id_objet, null, ['statut' => $statut]);
103
+
104
+    $possedeDateRedac = false;
105
+
106
+    if (
107
+        isset($row['date_redac']) and
108
+        $regs = recup_date($row['date_redac'], false)
109
+    ) {
110
+        $annee_redac = $regs[0];
111
+        $mois_redac = $regs[1];
112
+        $jour_redac = $regs[2];
113
+        $heure_redac = $regs[3];
114
+        $minute_redac = $regs[4];
115
+        $possedeDateRedac = true;
116
+        // attention : les vrai dates de l'annee 1 sont stockee avec +9000 => 9001
117
+        // mais reviennent ici en annee 1 par recup_date
118
+        // on verifie donc que le intval($row['date_redac']) qui ressort l'annee
119
+        // est bien lui aussi <=1 : dans ce cas c'est une date sql 'nulle' ou presque, selon
120
+        // le gestionnnaire sql utilise (0001-01-01 pour PG par exemple)
121
+        if (intval($row['date_redac']) <= 1 and ($annee_redac <= 1) and ($mois_redac <= 1) and ($jour_redac <= 1)) {
122
+            $possedeDateRedac = false;
123
+        }
124
+    } else {
125
+        $annee_redac = $mois_redac = $jour_redac = $heure_redac = $minute_redac = 0;
126
+    }
127
+
128
+    if ($regs = recup_date($row['date'], false)) {
129
+        $annee = $regs[0];
130
+        $mois = $regs[1];
131
+        $jour = $regs[2];
132
+        $heure = $regs[3];
133
+        $minute = $regs[4];
134
+    }
135
+
136
+    // attention, si la variable s'appelle date ou date_redac, le compilo va
137
+    // la normaliser, ce qu'on ne veut pas ici.
138
+    $valeurs['afficher_date_redac'] = ($possedeDateRedac ? $row['date_redac'] : '');
139
+    $valeurs['date_redac_jour'] = dater_formater_saisie_jour($jour_redac, $mois_redac, $annee_redac);
140
+    $valeurs['date_redac_heure'] = "$heure_redac:$minute_redac";
141
+
142
+    $valeurs['afficher_date'] = $row['date'];
143
+    $valeurs['date_jour'] = dater_formater_saisie_jour($jour, $mois, $annee);
144
+    $valeurs['date_heure'] = "$heure:$minute";
145
+
146
+    $valeurs['sans_redac'] = !$possedeDateRedac;
147
+
148
+    if (isset($options['date_redac'])) {
149
+        $valeurs['_editer_date_anterieure'] = $options['date_redac'];
150
+    } else {
151
+        $valeurs['_editer_date_anterieure'] = ($objet == 'article' and ($GLOBALS['meta']['articles_redac'] != 'non' or $possedeDateRedac));
152
+    }
153
+    $valeurs['_label_date'] = (($statut == 'publie') ?
154
+        _T('texte_date_publication_objet') : _T('texte_date_creation_objet'));
155
+    if (isset($options['label_date']) and $options['label_date']) {
156
+        $valeurs['_label_date'] = $options['label_date'];
157
+    }
158
+    if (isset($options['label_date_redac']) and $options['label_date_redac']) {
159
+        $valeurs['_label_date_redac'] = $options['label_date_redac'];
160
+    }
161
+    if (isset($options['texte_sans_date_redac']) and $options['texte_sans_date_redac']) {
162
+        $valeurs['_texte_sans_date_redac'] = $options['texte_sans_date_redac'];
163
+    }
164
+    if (isset($options['class']) and $options['class']) {
165
+        $valeurs['_class'] = $options['class'];
166
+    }
167
+
168
+    $valeurs['_saisie_en_cours'] = (_request('_saisie_en_cours') !== null or _request('date_jour') !== null);
169
+
170
+    // cas ou l'on ne peut pas dater mais on peut modifier la date de redac anterieure
171
+    // https://core.spip.net/issues/3494
172
+    $valeurs['_editer_date'] = $valeurs['editable'];
173
+    if ($valeurs['_editer_date_anterieure'] and !$valeurs['editable']) {
174
+        $valeurs['editable'] = autoriser('modifier', $objet, $id_objet);
175
+    }
176
+
177
+    return $valeurs;
178 178
 }
179 179
 
180 180
 /**
@@ -192,20 +192,20 @@  discard block
 block discarded – undo
192 192
  *     Date formatée tel que `02/10/2012`
193 193
  **/
194 194
 function dater_formater_saisie_jour($jour, $mois, $annee, $sep = '/') {
195
-	$annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
196
-	if (intval($jour)) {
197
-		$jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
198
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
195
+    $annee = str_pad($annee, 4, '0', STR_PAD_LEFT);
196
+    if (intval($jour)) {
197
+        $jour = str_pad($jour, 2, '0', STR_PAD_LEFT);
198
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
199 199
 
200
-		return "$jour$sep$mois$sep$annee";
201
-	}
202
-	if (intval($mois)) {
203
-		$mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
200
+        return "$jour$sep$mois$sep$annee";
201
+    }
202
+    if (intval($mois)) {
203
+        $mois = str_pad($mois, 2, '0', STR_PAD_LEFT);
204 204
 
205
-		return "$mois$sep$annee";
206
-	}
205
+        return "$mois$sep$annee";
206
+    }
207 207
 
208
-	return $annee;
208
+    return $annee;
209 209
 }
210 210
 
211 211
 /**
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
  *     Hash du formulaire
225 225
  **/
226 226
 function formulaires_dater_identifier_dist($objet, $id_objet, $retour = '', $options = []) {
227
-	return serialize([$objet, $id_objet]);
227
+    return serialize([$objet, $id_objet]);
228 228
 }
229 229
 
230 230
 /**
@@ -242,30 +242,30 @@  discard block
 block discarded – undo
242 242
  *     Tableau des erreurs
243 243
  */
244 244
 function formulaires_dater_verifier_dist($objet, $id_objet, $retour = '', $options = []) {
245
-	$erreurs = [];
246
-
247
-	// ouvrir le formulaire en edition ?
248
-	if (_request('_saisie_en_cours')) {
249
-		$erreurs['message_erreur'] = '';
250
-
251
-		return $erreurs;
252
-	}
253
-
254
-	if (_request('changer')) {
255
-		foreach (['date', 'date_redac'] as $k) {
256
-			if ($v = _request($k . '_jour') and !dater_recuperer_date_saisie($v, $k)) {
257
-				$erreurs[$k] = _T('format_date_incorrecte');
258
-			} elseif ($v = _request($k . '_heure') and !dater_recuperer_heure_saisie($v)) {
259
-				$erreurs[$k] = _T('format_heure_incorrecte');
260
-			}
261
-		}
262
-
263
-		if (!_request('date_jour')) {
264
-			$erreurs['date'] = _T('info_obligatoire');
265
-		}
266
-	}
267
-
268
-	return $erreurs;
245
+    $erreurs = [];
246
+
247
+    // ouvrir le formulaire en edition ?
248
+    if (_request('_saisie_en_cours')) {
249
+        $erreurs['message_erreur'] = '';
250
+
251
+        return $erreurs;
252
+    }
253
+
254
+    if (_request('changer')) {
255
+        foreach (['date', 'date_redac'] as $k) {
256
+            if ($v = _request($k . '_jour') and !dater_recuperer_date_saisie($v, $k)) {
257
+                $erreurs[$k] = _T('format_date_incorrecte');
258
+            } elseif ($v = _request($k . '_heure') and !dater_recuperer_heure_saisie($v)) {
259
+                $erreurs[$k] = _T('format_heure_incorrecte');
260
+            }
261
+        }
262
+
263
+        if (!_request('date_jour')) {
264
+            $erreurs['date'] = _T('info_obligatoire');
265
+        }
266
+    }
267
+
268
+    return $erreurs;
269 269
 }
270 270
 
271 271
 /**
@@ -283,79 +283,79 @@  discard block
 block discarded – undo
283 283
  *     Retours des traitements
284 284
  */
285 285
 function formulaires_dater_traiter_dist($objet, $id_objet, $retour = '', $options = []) {
286
-	$res = ['editable' => ' '];
287
-
288
-	if (_request('changer')) {
289
-		$table = table_objet($objet);
290
-		$trouver_table = charger_fonction('trouver_table', 'base');
291
-		$desc = $trouver_table($table);
292
-
293
-		if (!$desc) {
294
-			return ['message_erreur' => _L('erreur')];
295
-		} #impossible en principe
296
-
297
-		$champ_date = $desc['date'] ?: 'date';
298
-		if (isset($options['champ_date']) and $options['champ_date']) {
299
-			$champ_date = $options['champ_date'];
300
-		}
301
-
302
-		$set = [];
303
-
304
-		$charger = charger_fonction('charger', 'formulaires/dater/');
305
-		$v = $charger($objet, $id_objet, $retour, $options);
306
-
307
-		if ($v['_editer_date']) {
308
-			if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
309
-				$d = [date('Y'), date('m'), date('d')];
310
-			}
311
-			if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
312
-				$h = [0, 0];
313
-			}
314
-
315
-			$set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
316
-		}
317
-
318
-		$champ_date_redac = 'date_redac';
319
-		if (isset($options['champ_date_redac']) and $options['champ_date_redac']) {
320
-			$champ_date_redac = $options['champ_date_redac'];
321
-		}
322
-		if (isset($desc['field'][$champ_date_redac]) and $v['_editer_date_anterieure']) {
323
-			if (!_request('date_redac_jour') or _request('sans_redac')) {
324
-				$set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
325
-			} else {
326
-				if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
327
-					$d = [date('Y'), date('m'), date('d')];
328
-				}
329
-				if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
330
-					$h = [0, 0];
331
-				}
332
-				$set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
333
-			}
334
-		}
335
-
336
-		if (count($set)) {
337
-			$publie_avant = objet_test_si_publie($objet, $id_objet);
338
-			include_spip('action/editer_objet');
339
-			objet_modifier($objet, $id_objet, $set);
340
-			$publie_apres = objet_test_si_publie($objet, $id_objet);
341
-			if ($publie_avant !== $publie_apres) {
342
-				// on refuse ajax pour forcer le rechargement de la page ici
343
-				// on refera traiter une 2eme fois, mais c'est sans consequence
344
-				refuser_traiter_formulaire_ajax();
345
-			}
346
-		}
347
-	}
348
-
349
-	if ($retour) {
350
-		$res['redirect'] = $retour;
351
-	}
352
-
353
-	set_request('date_jour');
354
-	set_request('date_redac_jour');
355
-	set_request('date_heure');
356
-	set_request('date_redac_heure');
357
-
358
-	return $res;
286
+    $res = ['editable' => ' '];
287
+
288
+    if (_request('changer')) {
289
+        $table = table_objet($objet);
290
+        $trouver_table = charger_fonction('trouver_table', 'base');
291
+        $desc = $trouver_table($table);
292
+
293
+        if (!$desc) {
294
+            return ['message_erreur' => _L('erreur')];
295
+        } #impossible en principe
296
+
297
+        $champ_date = $desc['date'] ?: 'date';
298
+        if (isset($options['champ_date']) and $options['champ_date']) {
299
+            $champ_date = $options['champ_date'];
300
+        }
301
+
302
+        $set = [];
303
+
304
+        $charger = charger_fonction('charger', 'formulaires/dater/');
305
+        $v = $charger($objet, $id_objet, $retour, $options);
306
+
307
+        if ($v['_editer_date']) {
308
+            if (!$d = dater_recuperer_date_saisie(_request('date_jour'))) {
309
+                $d = [date('Y'), date('m'), date('d')];
310
+            }
311
+            if (!$h = dater_recuperer_heure_saisie(_request('date_heure'))) {
312
+                $h = [0, 0];
313
+            }
314
+
315
+            $set[$champ_date] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
316
+        }
317
+
318
+        $champ_date_redac = 'date_redac';
319
+        if (isset($options['champ_date_redac']) and $options['champ_date_redac']) {
320
+            $champ_date_redac = $options['champ_date_redac'];
321
+        }
322
+        if (isset($desc['field'][$champ_date_redac]) and $v['_editer_date_anterieure']) {
323
+            if (!_request('date_redac_jour') or _request('sans_redac')) {
324
+                $set[$champ_date_redac] = sql_format_date(0, 0, 0, 0, 0, 0);
325
+            } else {
326
+                if (!$d = dater_recuperer_date_saisie(_request('date_redac_jour'), 'date_redac')) {
327
+                    $d = [date('Y'), date('m'), date('d')];
328
+                }
329
+                if (!$h = dater_recuperer_heure_saisie(_request('date_redac_heure'))) {
330
+                    $h = [0, 0];
331
+                }
332
+                $set[$champ_date_redac] = sql_format_date($d[0], $d[1], $d[2], $h[0], $h[1]);
333
+            }
334
+        }
335
+
336
+        if (count($set)) {
337
+            $publie_avant = objet_test_si_publie($objet, $id_objet);
338
+            include_spip('action/editer_objet');
339
+            objet_modifier($objet, $id_objet, $set);
340
+            $publie_apres = objet_test_si_publie($objet, $id_objet);
341
+            if ($publie_avant !== $publie_apres) {
342
+                // on refuse ajax pour forcer le rechargement de la page ici
343
+                // on refera traiter une 2eme fois, mais c'est sans consequence
344
+                refuser_traiter_formulaire_ajax();
345
+            }
346
+        }
347
+    }
348
+
349
+    if ($retour) {
350
+        $res['redirect'] = $retour;
351
+    }
352
+
353
+    set_request('date_jour');
354
+    set_request('date_redac_jour');
355
+    set_request('date_heure');
356
+    set_request('date_redac_heure');
357
+
358
+    return $res;
359 359
 }
360 360
 
361 361
 /**
@@ -366,24 +366,24 @@  discard block
 block discarded – undo
366 366
  * @return array|string Chaîne vide si date invalide, tableau (année, mois, jour) sinon.
367 367
  */
368 368
 function dater_recuperer_date_saisie($post, $quoi = 'date') {
369
-	if (!preg_match('#^(?:(?:([0-9]{1,2})[/-])?([0-9]{1,2})[/-])?([0-9]{4}|[0-9]{1,2})#', $post, $regs)) {
370
-		return '';
371
-	}
372
-	if ($quoi == 'date_redac') {
373
-		if ($regs[3] <> '' and $regs[3] < 1001) {
374
-			$regs[3] += 9000;
375
-		}
376
-
377
-		return [$regs[3], $regs[2], $regs[1]];
378
-	} else {
379
-		if (
380
-			checkdate(intval($regs[2]), intval($regs[1]), intval($regs[3]))
381
-			and $t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3])
382
-		) {
383
-			return [date('Y', $t), date('m', $t), date('d', $t)];
384
-		}
385
-		return '';
386
-	}
369
+    if (!preg_match('#^(?:(?:([0-9]{1,2})[/-])?([0-9]{1,2})[/-])?([0-9]{4}|[0-9]{1,2})#', $post, $regs)) {
370
+        return '';
371
+    }
372
+    if ($quoi == 'date_redac') {
373
+        if ($regs[3] <> '' and $regs[3] < 1001) {
374
+            $regs[3] += 9000;
375
+        }
376
+
377
+        return [$regs[3], $regs[2], $regs[1]];
378
+    } else {
379
+        if (
380
+            checkdate(intval($regs[2]), intval($regs[1]), intval($regs[3]))
381
+            and $t = mktime(0, 0, 0, $regs[2], $regs[1], $regs[3])
382
+        ) {
383
+            return [date('Y', $t), date('m', $t), date('d', $t)];
384
+        }
385
+        return '';
386
+    }
387 387
 }
388 388
 
389 389
 /**
@@ -393,12 +393,12 @@  discard block
 block discarded – undo
393 393
  * @return array
394 394
  */
395 395
 function dater_recuperer_heure_saisie($post) {
396
-	if (!preg_match('#([0-9]{1,2})(?:[h:](?:([0-9]{1,2}))?)?#', $post, $regs)) {
397
-		return '';
398
-	}
399
-	if ($regs[1] > 23 or $regs[2] > 59) {
400
-		return '';
401
-	}
402
-
403
-	return [$regs[1], $regs[2]];
396
+    if (!preg_match('#([0-9]{1,2})(?:[h:](?:([0-9]{1,2}))?)?#', $post, $regs)) {
397
+        return '';
398
+    }
399
+    if ($regs[1] > 23 or $regs[2] > 59) {
400
+        return '';
401
+    }
402
+
403
+    return [$regs[1], $regs[2]];
404 404
 }
Please login to merge, or discard this patch.
prive/formulaires/configurer_multilinguisme.php 1 patch
Indentation   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -11,53 +11,53 @@  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 formulaires_configurer_multilinguisme_charger_dist() {
18
-	$valeurs = [];
19
-	$valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
20
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
21
-		$valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
22
-	}
23
-
24
-	if (
25
-		is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0
26
-		or count(explode(',', $GLOBALS['meta']['langues_utilisees'])) > 1
27
-	) {
28
-		$selection = (is_null(_request('multi_objets')) ?
29
-			explode(',', $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
30
-		$valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
31
-		$valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
32
-	}
33
-
34
-	return $valeurs;
18
+    $valeurs = [];
19
+    $valeurs['multi_secteurs'] = $GLOBALS['meta']['multi_secteurs'];
20
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
21
+        $valeurs[$m] = explode(',', $GLOBALS['meta'][$m] ?? '');
22
+    }
23
+
24
+    if (
25
+        is_countable($valeurs['multi_objets']) ? count($valeurs['multi_objets']) : 0
26
+        or count(explode(',', $GLOBALS['meta']['langues_utilisees'])) > 1
27
+    ) {
28
+        $selection = (is_null(_request('multi_objets')) ?
29
+            explode(',', $GLOBALS['meta']['langues_multilingue']) : _request('langues_auth'));
30
+        $valeurs['_langues'] = saisie_langues_utiles('langues_auth', $selection ?: []);
31
+        $valeurs['_nb_langues_selection'] = is_countable($selection) ? count($selection) : 0;
32
+    }
33
+
34
+    return $valeurs;
35 35
 }
36 36
 
37 37
 
38 38
 function formulaires_configurer_multilinguisme_traiter_dist() {
39
-	$res = ['editable' => true];
40
-	// un checkbox seul de name X non coche n'est pas poste.
41
-	// on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
42
-	foreach (['multi_secteurs'] as $m) {
43
-		if (!is_null(_request($m . '_check'))) {
44
-			ecrire_meta($m, _request($m) ? 'oui' : 'non');
45
-		}
46
-	}
47
-	foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
48
-		if (!is_null($v = _request($m))) {
49
-			// join et enlever la valeur vide ''
50
-			ecrire_meta($m, implode(',', array_diff($v, [''])));
51
-		}
52
-	}
53
-
54
-	if ($i = _request('langues_auth') and is_array($i)) {
55
-		$i = array_unique(array_merge($i, explode(',', $GLOBALS['meta']['langues_utilisees'])));
56
-		ecrire_meta('langues_multilingue', implode(',', $i));
57
-	}
58
-	$res['message_ok'] = _T('config_info_enregistree');
59
-
60
-	return $res;
39
+    $res = ['editable' => true];
40
+    // un checkbox seul de name X non coche n'est pas poste.
41
+    // on verifie le champ X_check qui indique que la checkbox etait presente dans le formulaire.
42
+    foreach (['multi_secteurs'] as $m) {
43
+        if (!is_null(_request($m . '_check'))) {
44
+            ecrire_meta($m, _request($m) ? 'oui' : 'non');
45
+        }
46
+    }
47
+    foreach (['multi_objets', 'gerer_trad_objets'] as $m) {
48
+        if (!is_null($v = _request($m))) {
49
+            // join et enlever la valeur vide ''
50
+            ecrire_meta($m, implode(',', array_diff($v, [''])));
51
+        }
52
+    }
53
+
54
+    if ($i = _request('langues_auth') and is_array($i)) {
55
+        $i = array_unique(array_merge($i, explode(',', $GLOBALS['meta']['langues_utilisees'])));
56
+        ecrire_meta('langues_multilingue', implode(',', $i));
57
+    }
58
+    $res['message_ok'] = _T('config_info_enregistree');
59
+
60
+    return $res;
61 61
 }
62 62
 
63 63
 /**
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
  * @return string
68 68
  */
69 69
 function table_supporte_lang($table_sql) {
70
-	$trouver_table = charger_fonction('trouver_table', 'base');
71
-	$desc = $trouver_table($table_sql);
72
-	if (!$desc or !isset($desc['field']['lang'])) {
73
-		return '';
74
-	}
70
+    $trouver_table = charger_fonction('trouver_table', 'base');
71
+    $desc = $trouver_table($table_sql);
72
+    if (!$desc or !isset($desc['field']['lang'])) {
73
+        return '';
74
+    }
75 75
 
76
-	return ' ';
76
+    return ' ';
77 77
 }
78 78
 
79 79
 /**
@@ -83,67 +83,67 @@  discard block
 block discarded – undo
83 83
  * @return string
84 84
  */
85 85
 function table_supporte_trad($table_sql) {
86
-	$trouver_table = charger_fonction('trouver_table', 'base');
87
-	$desc = $trouver_table($table_sql);
88
-	if (!$desc or !isset($desc['field']['id_trad'])) {
89
-		return '';
90
-	}
86
+    $trouver_table = charger_fonction('trouver_table', 'base');
87
+    $desc = $trouver_table($table_sql);
88
+    if (!$desc or !isset($desc['field']['id_trad'])) {
89
+        return '';
90
+    }
91 91
 
92
-	return ' ';
92
+    return ' ';
93 93
 }
94 94
 
95 95
 
96 96
 function saisie_langues_utiles($name, $selection) {
97
-	include_spip('inc/lang_liste');
98
-	$langues = $GLOBALS['codes_langues'];
99
-
100
-	$langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
101
-	$langues_trad = array_flip($langues_installees);
102
-
103
-	$langues_bloquees = explode(',', $GLOBALS['meta']['langues_utilisees']);
104
-
105
-	$res = '';
106
-
107
-	$i = 0;
108
-	foreach ($langues_bloquees as $code_langue) {
109
-		$nom_langue = $langues[$code_langue];
110
-		$res .= "<li class='choix "
111
-			. alterner(++$i, 'odd', 'even')
112
-			. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
113
-			. "'>"
114
-			. "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
115
-			. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
116
-			. "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
117
-			. '</li>';
118
-	}
119
-
120
-	if ($res) {
121
-		$res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
122
-	}
123
-
124
-	$res .= "<ul id='langues_proposees'>";
125
-
126
-	$i = 0;
127
-	$langues_bloquees = array_flip($langues_bloquees);
128
-	foreach ($langues as $code_langue => $nom_langue) {
129
-		if (!isset($langues_bloquees[$code_langue])) {
130
-			$checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
131
-			$res .= "<li class='choix "
132
-				. alterner(++$i, 'odd', 'even')
133
-				. (isset($langues_trad[$code_langue]) ? ' traduite' : '')
134
-				. "'>"
135
-				. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
136
-				. $checked
137
-				. '/>'
138
-				. "<label for='{$name}_$code_langue'"
139
-				. ($checked ? " class='on'" : '')
140
-				. '>'
141
-				. $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
142
-				. '</li>';
143
-		}
144
-	}
145
-
146
-	$res .= "</ul><div class='nettoyeur'></div>";
147
-
148
-	return $res;
97
+    include_spip('inc/lang_liste');
98
+    $langues = $GLOBALS['codes_langues'];
99
+
100
+    $langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
101
+    $langues_trad = array_flip($langues_installees);
102
+
103
+    $langues_bloquees = explode(',', $GLOBALS['meta']['langues_utilisees']);
104
+
105
+    $res = '';
106
+
107
+    $i = 0;
108
+    foreach ($langues_bloquees as $code_langue) {
109
+        $nom_langue = $langues[$code_langue];
110
+        $res .= "<li class='choix "
111
+            . alterner(++$i, 'odd', 'even')
112
+            . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
113
+            . "'>"
114
+            . "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
115
+            . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
116
+            . "<label for='{$name}_$code_langue'>" . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
117
+            . '</li>';
118
+    }
119
+
120
+    if ($res) {
121
+        $res = "<ul id='langues_bloquees'>" . $res . "</ul><div class='nettoyeur'></div>";
122
+    }
123
+
124
+    $res .= "<ul id='langues_proposees'>";
125
+
126
+    $i = 0;
127
+    $langues_bloquees = array_flip($langues_bloquees);
128
+    foreach ($langues as $code_langue => $nom_langue) {
129
+        if (!isset($langues_bloquees[$code_langue])) {
130
+            $checked = (in_array($code_langue, $selection) ? ' checked="checked"' : '');
131
+            $res .= "<li class='choix "
132
+                . alterner(++$i, 'odd', 'even')
133
+                . (isset($langues_trad[$code_langue]) ? ' traduite' : '')
134
+                . "'>"
135
+                . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
136
+                . $checked
137
+                . '/>'
138
+                . "<label for='{$name}_$code_langue'"
139
+                . ($checked ? " class='on'" : '')
140
+                . '>'
141
+                . $nom_langue . "&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
142
+                . '</li>';
143
+        }
144
+    }
145
+
146
+    $res .= "</ul><div class='nettoyeur'></div>";
147
+
148
+    return $res;
149 149
 }
Please login to merge, or discard this patch.
ecrire/inc/prepare_recherche.php 1 patch
Indentation   +142 added lines, -142 removed lines patch added patch discarded remove patch
@@ -17,12 +17,12 @@  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/rechercher');
24 24
 if (!defined('_DELAI_CACHE_resultats')) {
25
-	define('_DELAI_CACHE_resultats', 600);
25
+    define('_DELAI_CACHE_resultats', 600);
26 26
 }
27 27
 
28 28
 /**
@@ -49,129 +49,129 @@  discard block
 block discarded – undo
49 49
  * @return array
50 50
  */
51 51
 function inc_prepare_recherche_dist(
52
-	$recherche,
53
-	$table = 'articles',
54
-	$cond = false,
55
-	$serveur = '',
56
-	$modificateurs = [],
57
-	$primary = ''
52
+    $recherche,
53
+    $table = 'articles',
54
+    $cond = false,
55
+    $serveur = '',
56
+    $modificateurs = [],
57
+    $primary = ''
58 58
 ) {
59
-	$where = null;
60
-	$rows = null;
61
-	static $cache = [];
62
-	$delai_fraicheur = min(
63
-		\_DELAI_CACHE_resultats,
64
-		time() - ($GLOBALS['meta']['derniere_modif'] ?? 0)
65
-	);
66
-
67
-	// si recherche n'est pas dans le contexte, on va prendre en globals
68
-	// ca permet de faire des inclure simple.
69
-	if (!isset($recherche) and isset($GLOBALS['recherche'])) {
70
-		$recherche = $GLOBALS['recherche'];
71
-	}
72
-
73
-	// traiter le cas {recherche?}
74
-	if ($cond and !strlen($recherche)) {
75
-		return [
76
-			'0 as points' /* as points */, /* where */
77
-			''
78
-		];
79
-	}
80
-
81
-
82
-	$rechercher = false;
83
-
84
-	$where_resultat_recent = sql_date_proche('maj', (0 - ($delai_fraicheur + 100)), ' SECOND');
85
-	if (!isset($cache[$serveur][$table][$recherche])) {
86
-		$hash_serv = ($serveur ? substr(md5($serveur), 0, 16) : '');
87
-		$hash = substr(md5($recherche . $table), 0, 16);
88
-		$where = "(resultats.recherche='$hash' AND resultats.table_objet=" . sql_quote($table) . " AND resultats.serveur='$hash_serv')";
89
-		$row = sql_fetsel(
90
-			'recherche',
91
-			'spip_resultats AS resultats',
92
-			$where . " AND $where_resultat_recent",
93
-			'',
94
-			'',
95
-			'0,1'
96
-		);
97
-		if (
98
-			!$row
99
-			or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')
100
-		) {
101
-			$rechercher = true;
102
-		}
103
-	}
104
-
105
-	// si on n'a pas encore traite les donnees dans une boucle precedente
106
-	if ($rechercher) {
107
-		//$tables = liste_des_champs();
108
-		$x = objet_type($table);
109
-		$points = recherche_en_base(
110
-			$recherche,
111
-			$x,
112
-			[
113
-				'score' => true,
114
-				'toutvoir' => true,
115
-				'jointures' => true
116
-			],
117
-			$serveur
118
-		);
119
-		// pas de résultat, pas de point
120
-		$points = $points[$x] ?? [];
121
-
122
-		// permettre aux plugins de modifier le resultat
123
-		$points = pipeline('prepare_recherche', [
124
-			'args' => [
125
-				'type' => $x,
126
-				'recherche' => $recherche,
127
-				'serveur' => $serveur,
128
-				'modificateurs' => $modificateurs
129
-			],
130
-			'data' => $points
131
-		]);
132
-
133
-		// supprimer les anciens resultats de cette recherche
134
-		// et les resultats trop vieux avec une marge
135
-		// pas de AS resultats dans un delete (mysql)
136
-		$whered = str_replace(
137
-			['resultats.recherche', 'resultats.table_objet', 'resultats.serveur'],
138
-			['recherche', 'table_objet', 'serveur'],
139
-			$where
140
-		);
141
-
142
-		sql_delete(
143
-			'spip_resultats',
144
-			"NOT($where_resultat_recent) OR ($whered)"
145
-		);
146
-
147
-		// inserer les resultats dans la table de cache des resultats
148
-		if (is_countable($points) ? count($points) : 0) {
149
-			$tab_couples = [];
150
-			foreach ($points as $id => $p) {
151
-				$tab_couples[] = [
152
-					'recherche' => $hash,
153
-					'id' => $id,
154
-					'points' => $p['score'],
155
-					'table_objet' => $table,
156
-					'serveur' => $hash_serv,
157
-				];
158
-			}
159
-			sql_insertq_multi('spip_resultats', $tab_couples, []);
160
-		}
161
-	}
162
-
163
-	if (!isset($cache[$serveur][$table][$recherche])) {
164
-		if (!$serveur) {
165
-			$cache[$serveur][$table][$recherche] = ['resultats.points AS points', $where];
166
-		} else {
167
-			if (sql_countsel('spip_resultats as resultats', $where)) {
168
-				$rows = sql_allfetsel('resultats.id,resultats.points', 'spip_resultats as resultats', $where);
169
-			}
170
-			$cache[$serveur][$table][$recherche] = generer_select_where_explicites($table, $primary, $rows, $serveur);
171
-		}
172
-	}
173
-
174
-	return $cache[$serveur][$table][$recherche];
59
+    $where = null;
60
+    $rows = null;
61
+    static $cache = [];
62
+    $delai_fraicheur = min(
63
+        \_DELAI_CACHE_resultats,
64
+        time() - ($GLOBALS['meta']['derniere_modif'] ?? 0)
65
+    );
66
+
67
+    // si recherche n'est pas dans le contexte, on va prendre en globals
68
+    // ca permet de faire des inclure simple.
69
+    if (!isset($recherche) and isset($GLOBALS['recherche'])) {
70
+        $recherche = $GLOBALS['recherche'];
71
+    }
72
+
73
+    // traiter le cas {recherche?}
74
+    if ($cond and !strlen($recherche)) {
75
+        return [
76
+            '0 as points' /* as points */, /* where */
77
+            ''
78
+        ];
79
+    }
80
+
81
+
82
+    $rechercher = false;
83
+
84
+    $where_resultat_recent = sql_date_proche('maj', (0 - ($delai_fraicheur + 100)), ' SECOND');
85
+    if (!isset($cache[$serveur][$table][$recherche])) {
86
+        $hash_serv = ($serveur ? substr(md5($serveur), 0, 16) : '');
87
+        $hash = substr(md5($recherche . $table), 0, 16);
88
+        $where = "(resultats.recherche='$hash' AND resultats.table_objet=" . sql_quote($table) . " AND resultats.serveur='$hash_serv')";
89
+        $row = sql_fetsel(
90
+            'recherche',
91
+            'spip_resultats AS resultats',
92
+            $where . " AND $where_resultat_recent",
93
+            '',
94
+            '',
95
+            '0,1'
96
+        );
97
+        if (
98
+            !$row
99
+            or (defined('_VAR_MODE') and _VAR_MODE == 'recalcul')
100
+        ) {
101
+            $rechercher = true;
102
+        }
103
+    }
104
+
105
+    // si on n'a pas encore traite les donnees dans une boucle precedente
106
+    if ($rechercher) {
107
+        //$tables = liste_des_champs();
108
+        $x = objet_type($table);
109
+        $points = recherche_en_base(
110
+            $recherche,
111
+            $x,
112
+            [
113
+                'score' => true,
114
+                'toutvoir' => true,
115
+                'jointures' => true
116
+            ],
117
+            $serveur
118
+        );
119
+        // pas de résultat, pas de point
120
+        $points = $points[$x] ?? [];
121
+
122
+        // permettre aux plugins de modifier le resultat
123
+        $points = pipeline('prepare_recherche', [
124
+            'args' => [
125
+                'type' => $x,
126
+                'recherche' => $recherche,
127
+                'serveur' => $serveur,
128
+                'modificateurs' => $modificateurs
129
+            ],
130
+            'data' => $points
131
+        ]);
132
+
133
+        // supprimer les anciens resultats de cette recherche
134
+        // et les resultats trop vieux avec une marge
135
+        // pas de AS resultats dans un delete (mysql)
136
+        $whered = str_replace(
137
+            ['resultats.recherche', 'resultats.table_objet', 'resultats.serveur'],
138
+            ['recherche', 'table_objet', 'serveur'],
139
+            $where
140
+        );
141
+
142
+        sql_delete(
143
+            'spip_resultats',
144
+            "NOT($where_resultat_recent) OR ($whered)"
145
+        );
146
+
147
+        // inserer les resultats dans la table de cache des resultats
148
+        if (is_countable($points) ? count($points) : 0) {
149
+            $tab_couples = [];
150
+            foreach ($points as $id => $p) {
151
+                $tab_couples[] = [
152
+                    'recherche' => $hash,
153
+                    'id' => $id,
154
+                    'points' => $p['score'],
155
+                    'table_objet' => $table,
156
+                    'serveur' => $hash_serv,
157
+                ];
158
+            }
159
+            sql_insertq_multi('spip_resultats', $tab_couples, []);
160
+        }
161
+    }
162
+
163
+    if (!isset($cache[$serveur][$table][$recherche])) {
164
+        if (!$serveur) {
165
+            $cache[$serveur][$table][$recherche] = ['resultats.points AS points', $where];
166
+        } else {
167
+            if (sql_countsel('spip_resultats as resultats', $where)) {
168
+                $rows = sql_allfetsel('resultats.id,resultats.points', 'spip_resultats as resultats', $where);
169
+            }
170
+            $cache[$serveur][$table][$recherche] = generer_select_where_explicites($table, $primary, $rows, $serveur);
171
+        }
172
+    }
173
+
174
+    return $cache[$serveur][$table][$recherche];
175 175
 }
176 176
 
177 177
 
@@ -187,22 +187,22 @@  discard block
 block discarded – undo
187 187
  * @return array
188 188
  */
189 189
 function generer_select_where_explicites($table, $primary, $rows, $serveur) {
190
-	# calculer le {id_article IN()} et le {... as points}
191
-	if (!count($rows)) {
192
-		return ["''", '0=1'];
193
-	} else {
194
-		$listes_ids = [];
195
-		$select = '0';
196
-		foreach ($rows as $r) {
197
-			$listes_ids[$r['points']][] = $r['id'];
198
-		}
199
-
200
-		foreach ($listes_ids as $p => $ids) {
201
-			$select .= "+$p*(" .
202
-				sql_in("$table.$primary", $ids, '', $serveur)
203
-				. ') ';
204
-		}
205
-
206
-		return ["$select AS points ", sql_in("$table.$primary", array_map('reset', $rows), '', $serveur)];
207
-	}
190
+    # calculer le {id_article IN()} et le {... as points}
191
+    if (!count($rows)) {
192
+        return ["''", '0=1'];
193
+    } else {
194
+        $listes_ids = [];
195
+        $select = '0';
196
+        foreach ($rows as $r) {
197
+            $listes_ids[$r['points']][] = $r['id'];
198
+        }
199
+
200
+        foreach ($listes_ids as $p => $ids) {
201
+            $select .= "+$p*(" .
202
+                sql_in("$table.$primary", $ids, '', $serveur)
203
+                . ') ';
204
+        }
205
+
206
+        return ["$select AS points ", sql_in("$table.$primary", array_map('reset', $rows), '', $serveur)];
207
+    }
208 208
 }
Please login to merge, or discard this patch.