Completed
Push — master ( 62aed1...8add54 )
by cam
01:34
created
ecrire/src/Texte/Collecteur/Modeles.php 2 patches
Spacing   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -32,11 +32,10 @@
 block discarded – undo
32 32
 
33 33
 	public function __construct(?string $preg = null) {
34 34
 
35
-		$this->preg_modele = ($preg ?:
36
-			'@<([a-z_-]{3,})' # <modele
35
+		$this->preg_modele = ($preg ?: '@<([a-z_-]{3,})' # <modele
37 36
 			. '\s*([0-9]*)\s*' # id
38 37
 			. '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
39
-			. '\s*/?' . '>@isS' # fin du modele >
38
+			. '\s*/?'.'>@isS' # fin du modele >
40 39
 		);
41 40
 	}
42 41
 
Please login to merge, or discard this patch.
Indentation   +199 added lines, -199 removed lines patch added patch discarded remove patch
@@ -20,203 +20,203 @@
 block discarded – undo
20 20
  *    mais on renvoie les params (pour l'indexation par le moteur de recherche)
21 21
  */
22 22
 class Modeles extends AbstractCollecteur {
23
-	protected static string $markPrefix = 'MODELE';
24
-
25
-	/**
26
-	 * La preg pour découper et collecter les modèles
27
-	 * @var string
28
-	 */
29
-	protected string $preg_modele;
30
-
31
-	public function __construct(?string $preg = null) {
32
-
33
-		$this->preg_modele = ($preg ?:
34
-			'@<([a-z_-]{3,})' # <modele
35
-			. '\s*([0-9]*)\s*' # id
36
-			. '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
37
-			. '\s*/?' . '>@isS' # fin du modele >
38
-		);
39
-	}
40
-
41
-	/**
42
-	 * Sanitizer une collection d'occurences de modèle : on ne fait rien
43
-	 *
44
-	 * @param array $collection
45
-	 * @param string $sanitize_callback
46
-	 * @return array
47
-	 */
48
-	protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
49
-
50
-		return $collection;
51
-	}
52
-
53
-	/**
54
-	 * @param string $texte
55
-	 * @param array $options
56
-	 *   bool $collecter_liens
57
-	 * @return array
58
-	 */
59
-	public function collecter(string $texte, array $options = []): array {
60
-		if (!$texte) {
61
-			return [];
62
-		}
63
-
64
-		// collecter les matchs de la preg
65
-		$modeles = static::collecteur($texte, '', '<', $this->preg_modele);
66
-
67
-		$pos_prev = 0;
68
-		foreach ($modeles as $k => &$modele) {
69
-			$pos = $modele['pos'];
70
-			$modele['type'] = $modele['match'][1];
71
-			$modele['id'] = $modele['match'][2] ?? '';
72
-			$modele['params'] = $modele['match'][3] ?? '';
73
-
74
-			$longueur = $modele['length'];
75
-			$end = $pos + $longueur;
76
-
77
-			// il faut avoir un id ou des params commençant par un | sinon c'est une simple balise html
78
-			if (empty($modele['id']) && empty($modele['params'])) {
79
-				unset($modeles[$k]);
80
-				continue;
81
-			}
82
-
83
-			// si on veut seulement detecter la présence, on peut retourner tel quel
84
-			if (!empty($options['detecter_presence'])) {
85
-				break;
86
-			}
87
-
88
-			$modele['lien'] = false;
89
-			if (
90
-				!empty($options['collecter_liens'])
91
-				&& ($pos_fermeture_lien = stripos($texte, '</a>', $end))
92
-				&& !strlen(trim(substr($texte, $end, $pos_fermeture_lien - $end)))
93
-			) {
94
-				$pos_lien_ouvrant = stripos($texte, '<a', $pos_prev);
95
-				if (
96
-					$pos_lien_ouvrant !== false
97
-					&& $pos_lien_ouvrant < $pos
98
-					&& preg_match('/<a\s[^<>]*>\s*$/i', substr($texte, $pos_prev, $pos - $pos_prev), $r)
99
-				) {
100
-					$modele['lien'] = [
101
-						'href' => extraire_attribut($r[0], 'href'),
102
-						'class' => extraire_attribut($r[0], 'class'),
103
-						'mime' => extraire_attribut($r[0], 'type'),
104
-						'title' => extraire_attribut($r[0], 'title'),
105
-						'hreflang' => extraire_attribut($r[0], 'hreflang')
106
-					];
107
-					$n = strlen($r[0]);
108
-					$pos -= $n;
109
-					$longueur = $pos_fermeture_lien - $pos + 4;
110
-					$end = $pos + $longueur;
111
-				}
112
-			}
113
-
114
-
115
-			$modele['pos'] = $pos;
116
-			$modele['length'] = $longueur;
117
-			$pos_prev = $end;
118
-		}
119
-
120
-		return $modeles;
121
-	}
122
-
123
-	/**
124
-	 * Traiter les modeles d'un texte
125
-	 * @param string $texte
126
-	 * @param array $options
127
-	 *   bool|array $doublons
128
-	 *   string $echap
129
-	 *   ?Spip\Texte\CollecteurLiens $collecteurLiens
130
-	 *   ?array $env
131
-	 *   ?string $connect
132
-	 * @return string
133
-	 */
134
-	public function traiter(string $texte, array $options) {
135
-		if ($texte) {
136
-			$doublons = $options['doublons'] ?? false;
137
-			$echap = $options['echap'] ?? '';
138
-			$collecteurLiens = $options['collecteurLiens'] ?? null;
139
-			$env = $options['env'] ?? [];
140
-			$connect = $options['connect'] ?? '';
141
-
142
-			// preserver la compatibilite : true = recherche des documents
143
-			if ($doublons === true) {
144
-				$doublons = ['documents' => ['doc', 'emb', 'img']];
145
-			}
146
-
147
-			$modeles = $this->collecter($texte, ['collecter_liens' => true]);
148
-			if ($modeles !== []) {
149
-				include_spip('public/assembler');
150
-				$wrap_embed_html = charger_fonction('wrap_embed_html', 'inc', true);
151
-
152
-				$offset_pos = 0;
153
-				foreach ($modeles as $m) {
154
-					// calculer le modele
155
-					# hack indexation
156
-					if ($doublons) {
157
-						$texte .= preg_replace(',[|][^|=]*,s', ' ', (string) $m['params']);
158
-					} # version normale
159
-					else {
160
-						// si un tableau de liens a ete passe, reinjecter le contenu d'origine
161
-						// dans les parametres, plutot que les liens echappes
162
-						$params = $m['params'];
163
-						if (!is_null($collecteurLiens)) {
164
-							$params = $collecteurLiens->retablir($params);
165
-						}
166
-
167
-						$modele = inclure_modele($m['type'], $m['id'], $params, $m['lien'], $connect ?? '', $env);
168
-
169
-						// en cas d'echec,
170
-						// si l'objet demande a une url,
171
-						// creer un petit encadre vers elle
172
-						if ($modele === false) {
173
-							$modele = $m['raw'];
174
-
175
-							if (!is_null($collecteurLiens)) {
176
-								$modele = $collecteurLiens->retablir($modele);
177
-							}
178
-
179
-							$contexte = array_merge($env, ['id' => $m['id'], 'type' => $m['type'], 'modele' => $modele]);
180
-
181
-							if (!empty($m['lien'])) {
182
-								# un eventuel guillemet (") sera reechappe par #ENV
183
-								$contexte['lien'] = str_replace('&quot;', '"', (string) $m['lien']['href']);
184
-								$contexte['lien_class'] = $m['lien']['class'];
185
-								$contexte['lien_mime'] = $m['lien']['mime'];
186
-								$contexte['lien_title'] = $m['lien']['title'];
187
-								$contexte['lien_hreflang'] = $m['lien']['hreflang'];
188
-							}
189
-
190
-							$modele = recuperer_fond('modeles/dist', $contexte, [], $connect ?? '');
191
-						}
192
-
193
-						// le remplacer dans le texte
194
-						if ($modele !== false) {
195
-							$modele = protege_js_modeles($modele);
196
-
197
-							if ($wrap_embed_html) {
198
-								$modele = $wrap_embed_html($m['raw'], $modele);
199
-							}
200
-
201
-							$rempl = self::echappementHtmlBase64($modele, $echap);
202
-							$texte = substr_replace($texte, (string) $rempl, $m['pos'] + $offset_pos, $m['length']);
203
-							$offset_pos += strlen((string) $rempl) - $m['length'];
204
-						}
205
-					}
206
-
207
-					// hack pour tout l'espace prive
208
-					if ((test_espace_prive() || $doublons) && !empty($m['id'])) {
209
-						$type = strtolower((string) $m['type']);
210
-						foreach ($doublons ?: ['documents' => ['doc', 'emb', 'img']] as $quoi => $type_modeles) {
211
-							if (in_array($type, $type_modeles)) {
212
-								$GLOBALS["doublons_{$quoi}_inclus"][] = $m['id'];
213
-							}
214
-						}
215
-					}
216
-				}
217
-			}
218
-		}
219
-
220
-		return $texte;
221
-	}
23
+    protected static string $markPrefix = 'MODELE';
24
+
25
+    /**
26
+     * La preg pour découper et collecter les modèles
27
+     * @var string
28
+     */
29
+    protected string $preg_modele;
30
+
31
+    public function __construct(?string $preg = null) {
32
+
33
+        $this->preg_modele = ($preg ?:
34
+            '@<([a-z_-]{3,})' # <modele
35
+            . '\s*([0-9]*)\s*' # id
36
+            . '([|](?:<[^<>]*>|[^>])*?)?' # |arguments (y compris des tags <...>)
37
+            . '\s*/?' . '>@isS' # fin du modele >
38
+        );
39
+    }
40
+
41
+    /**
42
+     * Sanitizer une collection d'occurences de modèle : on ne fait rien
43
+     *
44
+     * @param array $collection
45
+     * @param string $sanitize_callback
46
+     * @return array
47
+     */
48
+    protected function sanitizer_collection(array $collection, string $sanitize_callback): array {
49
+
50
+        return $collection;
51
+    }
52
+
53
+    /**
54
+     * @param string $texte
55
+     * @param array $options
56
+     *   bool $collecter_liens
57
+     * @return array
58
+     */
59
+    public function collecter(string $texte, array $options = []): array {
60
+        if (!$texte) {
61
+            return [];
62
+        }
63
+
64
+        // collecter les matchs de la preg
65
+        $modeles = static::collecteur($texte, '', '<', $this->preg_modele);
66
+
67
+        $pos_prev = 0;
68
+        foreach ($modeles as $k => &$modele) {
69
+            $pos = $modele['pos'];
70
+            $modele['type'] = $modele['match'][1];
71
+            $modele['id'] = $modele['match'][2] ?? '';
72
+            $modele['params'] = $modele['match'][3] ?? '';
73
+
74
+            $longueur = $modele['length'];
75
+            $end = $pos + $longueur;
76
+
77
+            // il faut avoir un id ou des params commençant par un | sinon c'est une simple balise html
78
+            if (empty($modele['id']) && empty($modele['params'])) {
79
+                unset($modeles[$k]);
80
+                continue;
81
+            }
82
+
83
+            // si on veut seulement detecter la présence, on peut retourner tel quel
84
+            if (!empty($options['detecter_presence'])) {
85
+                break;
86
+            }
87
+
88
+            $modele['lien'] = false;
89
+            if (
90
+                !empty($options['collecter_liens'])
91
+                && ($pos_fermeture_lien = stripos($texte, '</a>', $end))
92
+                && !strlen(trim(substr($texte, $end, $pos_fermeture_lien - $end)))
93
+            ) {
94
+                $pos_lien_ouvrant = stripos($texte, '<a', $pos_prev);
95
+                if (
96
+                    $pos_lien_ouvrant !== false
97
+                    && $pos_lien_ouvrant < $pos
98
+                    && preg_match('/<a\s[^<>]*>\s*$/i', substr($texte, $pos_prev, $pos - $pos_prev), $r)
99
+                ) {
100
+                    $modele['lien'] = [
101
+                        'href' => extraire_attribut($r[0], 'href'),
102
+                        'class' => extraire_attribut($r[0], 'class'),
103
+                        'mime' => extraire_attribut($r[0], 'type'),
104
+                        'title' => extraire_attribut($r[0], 'title'),
105
+                        'hreflang' => extraire_attribut($r[0], 'hreflang')
106
+                    ];
107
+                    $n = strlen($r[0]);
108
+                    $pos -= $n;
109
+                    $longueur = $pos_fermeture_lien - $pos + 4;
110
+                    $end = $pos + $longueur;
111
+                }
112
+            }
113
+
114
+
115
+            $modele['pos'] = $pos;
116
+            $modele['length'] = $longueur;
117
+            $pos_prev = $end;
118
+        }
119
+
120
+        return $modeles;
121
+    }
122
+
123
+    /**
124
+     * Traiter les modeles d'un texte
125
+     * @param string $texte
126
+     * @param array $options
127
+     *   bool|array $doublons
128
+     *   string $echap
129
+     *   ?Spip\Texte\CollecteurLiens $collecteurLiens
130
+     *   ?array $env
131
+     *   ?string $connect
132
+     * @return string
133
+     */
134
+    public function traiter(string $texte, array $options) {
135
+        if ($texte) {
136
+            $doublons = $options['doublons'] ?? false;
137
+            $echap = $options['echap'] ?? '';
138
+            $collecteurLiens = $options['collecteurLiens'] ?? null;
139
+            $env = $options['env'] ?? [];
140
+            $connect = $options['connect'] ?? '';
141
+
142
+            // preserver la compatibilite : true = recherche des documents
143
+            if ($doublons === true) {
144
+                $doublons = ['documents' => ['doc', 'emb', 'img']];
145
+            }
146
+
147
+            $modeles = $this->collecter($texte, ['collecter_liens' => true]);
148
+            if ($modeles !== []) {
149
+                include_spip('public/assembler');
150
+                $wrap_embed_html = charger_fonction('wrap_embed_html', 'inc', true);
151
+
152
+                $offset_pos = 0;
153
+                foreach ($modeles as $m) {
154
+                    // calculer le modele
155
+                    # hack indexation
156
+                    if ($doublons) {
157
+                        $texte .= preg_replace(',[|][^|=]*,s', ' ', (string) $m['params']);
158
+                    } # version normale
159
+                    else {
160
+                        // si un tableau de liens a ete passe, reinjecter le contenu d'origine
161
+                        // dans les parametres, plutot que les liens echappes
162
+                        $params = $m['params'];
163
+                        if (!is_null($collecteurLiens)) {
164
+                            $params = $collecteurLiens->retablir($params);
165
+                        }
166
+
167
+                        $modele = inclure_modele($m['type'], $m['id'], $params, $m['lien'], $connect ?? '', $env);
168
+
169
+                        // en cas d'echec,
170
+                        // si l'objet demande a une url,
171
+                        // creer un petit encadre vers elle
172
+                        if ($modele === false) {
173
+                            $modele = $m['raw'];
174
+
175
+                            if (!is_null($collecteurLiens)) {
176
+                                $modele = $collecteurLiens->retablir($modele);
177
+                            }
178
+
179
+                            $contexte = array_merge($env, ['id' => $m['id'], 'type' => $m['type'], 'modele' => $modele]);
180
+
181
+                            if (!empty($m['lien'])) {
182
+                                # un eventuel guillemet (") sera reechappe par #ENV
183
+                                $contexte['lien'] = str_replace('&quot;', '"', (string) $m['lien']['href']);
184
+                                $contexte['lien_class'] = $m['lien']['class'];
185
+                                $contexte['lien_mime'] = $m['lien']['mime'];
186
+                                $contexte['lien_title'] = $m['lien']['title'];
187
+                                $contexte['lien_hreflang'] = $m['lien']['hreflang'];
188
+                            }
189
+
190
+                            $modele = recuperer_fond('modeles/dist', $contexte, [], $connect ?? '');
191
+                        }
192
+
193
+                        // le remplacer dans le texte
194
+                        if ($modele !== false) {
195
+                            $modele = protege_js_modeles($modele);
196
+
197
+                            if ($wrap_embed_html) {
198
+                                $modele = $wrap_embed_html($m['raw'], $modele);
199
+                            }
200
+
201
+                            $rempl = self::echappementHtmlBase64($modele, $echap);
202
+                            $texte = substr_replace($texte, (string) $rempl, $m['pos'] + $offset_pos, $m['length']);
203
+                            $offset_pos += strlen((string) $rempl) - $m['length'];
204
+                        }
205
+                    }
206
+
207
+                    // hack pour tout l'espace prive
208
+                    if ((test_espace_prive() || $doublons) && !empty($m['id'])) {
209
+                        $type = strtolower((string) $m['type']);
210
+                        foreach ($doublons ?: ['documents' => ['doc', 'emb', 'img']] as $quoi => $type_modeles) {
211
+                            if (in_array($type, $type_modeles)) {
212
+                                $GLOBALS["doublons_{$quoi}_inclus"][] = $m['id'];
213
+                            }
214
+                        }
215
+                    }
216
+                }
217
+            }
218
+        }
219
+
220
+        return $texte;
221
+    }
222 222
 }
Please login to merge, or discard this patch.
ecrire/inc/liens.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -11,5 +11,5 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
Please login to merge, or discard this patch.
ecrire/iterateur/condition.php 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  **/
20 20
 
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 include_spip('iterateur/data');
@@ -37,10 +37,10 @@  discard block
 block discarded – undo
37 37
  *     Description de la boucle complétée des champs
38 38
  */
39 39
 function iterateur_CONDITION_dist($b) {
40
-	$b->iterateur = 'CONDITION'; # designe la classe d'iterateur
41
-	$b->show = [
42
-		'field' => []
43
-	];
40
+    $b->iterateur = 'CONDITION'; # designe la classe d'iterateur
41
+    $b->show = [
42
+        'field' => []
43
+    ];
44 44
 
45
-	return $b;
45
+    return $b;
46 46
 }
Please login to merge, or discard this patch.
ecrire/iterateur/php.php 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 
21 21
 
22 22
 if (!defined('_ECRIRE_INC_VERSION')) {
23
-	return;
23
+    return;
24 24
 }
25 25
 
26 26
 
@@ -38,17 +38,17 @@  discard block
 block discarded – undo
38 38
  *     Description de la boucle complétée des champs
39 39
  */
40 40
 function iterateur_php_dist($b, $iteratorName) {
41
-	$b->iterateur = $iteratorName; # designe la classe d'iterateur
42
-	$b->show = [
43
-		'field' => [
44
-			'cle' => 'STRING',
45
-			'valeur' => 'STRING',
46
-		]
47
-	];
48
-
49
-	foreach (get_class_methods($iteratorName) as $method) {
50
-		$b->show['field'][strtolower($method)] = 'METHOD';
51
-	}
52
-
53
-	return $b;
41
+    $b->iterateur = $iteratorName; # designe la classe d'iterateur
42
+    $b->show = [
43
+        'field' => [
44
+            'cle' => 'STRING',
45
+            'valeur' => 'STRING',
46
+        ]
47
+    ];
48
+
49
+    foreach (get_class_methods($iteratorName) as $method) {
50
+        $b->show['field'][strtolower($method)] = 'METHOD';
51
+    }
52
+
53
+    return $b;
54 54
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Iterateur/Condition.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -9,12 +9,12 @@
 block discarded – undo
9 9
  */
10 10
 class Condition extends Data
11 11
 {
12
-	/**
13
-	 * Obtenir les données de la boucle CONDITION.
14
-	 *
15
-	 * @param array $command
16
-	 */
17
-	protected function select($command) {
18
-		$this->tableau = [0 => 1];
19
-	}
12
+    /**
13
+     * Obtenir les données de la boucle CONDITION.
14
+     *
15
+     * @param array $command
16
+     */
17
+    protected function select($command) {
18
+        $this->tableau = [0 => 1];
19
+    }
20 20
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Noeud/Inclure.php 1 patch
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -7,63 +7,63 @@
 block discarded – undo
7 7
  **/
8 8
 class Inclure
9 9
 {
10
-	/** Type de noeud */
11
-	public string $type = 'include';
10
+    /** Type de noeud */
11
+    public string $type = 'include';
12 12
 
13
-	/**
14
-	 * Nom d'un fichier inclu
15
-	 *
16
-	 * - Objet Texte si inclusion d'un autre squelette
17
-	 * - chaîne si inclusion d'un fichier PHP directement
18
-	 *
19
-	 * @var string|Texte
20
-	 */
21
-	public $texte;
13
+    /**
14
+     * Nom d'un fichier inclu
15
+     *
16
+     * - Objet Texte si inclusion d'un autre squelette
17
+     * - chaîne si inclusion d'un fichier PHP directement
18
+     *
19
+     * @var string|Texte
20
+     */
21
+    public $texte;
22 22
 
23
-	/**
24
-	 * Inutilisé, propriété générique de l'AST
25
-	 *
26
-	 * @var string|array
27
-	 */
28
-	public $avant = '';
23
+    /**
24
+     * Inutilisé, propriété générique de l'AST
25
+     *
26
+     * @var string|array
27
+     */
28
+    public $avant = '';
29 29
 
30
-	/**
31
-	 * Inutilisé, propriété générique de l'AST
32
-	 *
33
-	 * @var string|array
34
-	 */
35
-	public $apres = '';
30
+    /**
31
+     * Inutilisé, propriété générique de l'AST
32
+     *
33
+     * @var string|array
34
+     */
35
+    public $apres = '';
36 36
 
37
-	/** Numéro de ligne dans le code source du squelette */
38
-	public int $ligne = 0;
37
+    /** Numéro de ligne dans le code source du squelette */
38
+    public int $ligne = 0;
39 39
 
40
-	/**
41
-	 * Valeurs des paramètres
42
-	 *
43
-	 * FIXME: type unique.
44
-	 * @var false|array
45
-	 *     - false: erreur de syntaxe
46
-	 */
47
-	public $param = [];
40
+    /**
41
+     * Valeurs des paramètres
42
+     *
43
+     * FIXME: type unique.
44
+     * @var false|array
45
+     *     - false: erreur de syntaxe
46
+     */
47
+    public $param = [];
48 48
 
49
-	/** Source des filtres (compatibilité) (?) */
50
-	public array $fonctions = [];
49
+    /** Source des filtres (compatibilité) (?) */
50
+    public array $fonctions = [];
51 51
 
52
-	/**
53
-	 * Description du squelette
54
-	 *
55
-	 * Sert pour la gestion d'erreur et la production de code dependant du contexte
56
-	 *
57
-	 * Peut contenir les index :
58
-	 *
59
-	 * - nom : Nom du fichier de cache
60
-	 * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser)
61
-	 * - sourcefile : Chemin du squelette
62
-	 * - squelette : Code du squelette
63
-	 * - id_mere : Identifiant de la boucle parente
64
-	 * - documents : Pour embed et img dans les textes
65
-	 * - session : Pour un cache sessionné par auteur
66
-	 * - niv : Niveau de tabulation
67
-	 */
68
-	public array $descr = [];
52
+    /**
53
+     * Description du squelette
54
+     *
55
+     * Sert pour la gestion d'erreur et la production de code dependant du contexte
56
+     *
57
+     * Peut contenir les index :
58
+     *
59
+     * - nom : Nom du fichier de cache
60
+     * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser)
61
+     * - sourcefile : Chemin du squelette
62
+     * - squelette : Code du squelette
63
+     * - id_mere : Identifiant de la boucle parente
64
+     * - documents : Pour embed et img dans les textes
65
+     * - session : Pour un cache sessionné par auteur
66
+     * - niv : Niveau de tabulation
67
+     */
68
+    public array $descr = [];
69 69
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Noeud/Texte.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -7,30 +7,30 @@
 block discarded – undo
7 7
  **/
8 8
 class Texte
9 9
 {
10
-	/** Type de noeud */
11
-	public string $type = 'texte';
10
+    /** Type de noeud */
11
+    public string $type = 'texte';
12 12
 
13
-	/** Le texte */
14
-	public string $texte;
13
+    /** Le texte */
14
+    public string $texte;
15 15
 
16
-	/**
17
-	 * Contenu avant le texte.
18
-	 *
19
-	 * Vide ou apostrophe simple ou double si le texte en était entouré
20
-	 *
21
-	 * @var string|array
22
-	 */
23
-	public $avant = '';
16
+    /**
17
+     * Contenu avant le texte.
18
+     *
19
+     * Vide ou apostrophe simple ou double si le texte en était entouré
20
+     *
21
+     * @var string|array
22
+     */
23
+    public $avant = '';
24 24
 
25
-	/**
26
-	 * Contenu après le texte.
27
-	 *
28
-	 * Vide ou apostrophe simple ou double si le texte en était entouré
29
-	 *
30
-	 * @var string|array
31
-	 */
32
-	public $apres = '';
25
+    /**
26
+     * Contenu après le texte.
27
+     *
28
+     * Vide ou apostrophe simple ou double si le texte en était entouré
29
+     *
30
+     * @var string|array
31
+     */
32
+    public $apres = '';
33 33
 
34
-	/** Numéro de ligne dans le code source du squelette */
35
-	public int $ligne = 0;
34
+    /** Numéro de ligne dans le code source du squelette */
35
+    public int $ligne = 0;
36 36
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Noeud/Polyglotte.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -9,16 +9,16 @@
 block discarded – undo
9 9
  **/
10 10
 class Polyglotte
11 11
 {
12
-	/** Type de noeud */
13
-	public string $type = 'polyglotte';
12
+    /** Type de noeud */
13
+    public string $type = 'polyglotte';
14 14
 
15
-	/**
16
-	 * Tableau des traductions possibles classées par langue
17
-	 *
18
-	 * Tableau code de langue => texte
19
-	 */
20
-	public array $traductions = [];
15
+    /**
16
+     * Tableau des traductions possibles classées par langue
17
+     *
18
+     * Tableau code de langue => texte
19
+     */
20
+    public array $traductions = [];
21 21
 
22
-	/** Numéro de ligne dans le code source du squelette */
23
-	public int $ligne = 0;
22
+    /** Numéro de ligne dans le code source du squelette */
23
+    public int $ligne = 0;
24 24
 }
Please login to merge, or discard this patch.
ecrire/src/Compilateur/Noeud/Contexte.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -14,33 +14,33 @@
 block discarded – undo
14 14
  */
15 15
 class Contexte
16 16
 {
17
-	/**
18
-	 * Description du squelette
19
-	 *
20
-	 * Sert pour la gestion d'erreur et la production de code dependant du contexte
21
-	 *
22
-	 * Peut contenir les index :
23
-	 *
24
-	 * - nom : Nom du fichier de cache
25
-	 * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser)
26
-	 * - sourcefile : Chemin du squelette
27
-	 * - squelette : Code du squelette
28
-	 * - id_mere : Identifiant de la boucle parente
29
-	 * - documents : Pour embed et img dans les textes
30
-	 * - session : Pour un cache sessionné par auteur
31
-	 * - niv : Niveau de tabulation
32
-	 */
33
-	public array $descr = [];
17
+    /**
18
+     * Description du squelette
19
+     *
20
+     * Sert pour la gestion d'erreur et la production de code dependant du contexte
21
+     *
22
+     * Peut contenir les index :
23
+     *
24
+     * - nom : Nom du fichier de cache
25
+     * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser)
26
+     * - sourcefile : Chemin du squelette
27
+     * - squelette : Code du squelette
28
+     * - id_mere : Identifiant de la boucle parente
29
+     * - documents : Pour embed et img dans les textes
30
+     * - session : Pour un cache sessionné par auteur
31
+     * - niv : Niveau de tabulation
32
+     */
33
+    public array $descr = [];
34 34
 
35
-	/** Identifiant de la boucle */
36
-	public string $id_boucle = '';
35
+    /** Identifiant de la boucle */
36
+    public string $id_boucle = '';
37 37
 
38
-	/** Numéro de ligne dans le code source du squelette */
39
-	public int $ligne = 0;
38
+    /** Numéro de ligne dans le code source du squelette */
39
+    public int $ligne = 0;
40 40
 
41
-	/** Langue d'exécution */
42
-	public string $lang = '';
41
+    /** Langue d'exécution */
42
+    public string $lang = '';
43 43
 
44
-	/** Résultat de la compilation: toujours une expression PHP */
45
-	public string $code = '';
44
+    /** Résultat de la compilation: toujours une expression PHP */
45
+    public string $code = '';
46 46
 }
Please login to merge, or discard this patch.