@@ -7,30 +7,30 @@ |
||
| 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 | } |
@@ -8,32 +8,32 @@ |
||
| 8 | 8 | * Sous-noeud de Boucle |
| 9 | 9 | **/ |
| 10 | 10 | class Critere { |
| 11 | - /** Type de noeud */ |
|
| 12 | - public string $type = 'critere'; |
|
| 13 | - |
|
| 14 | - /** Opérateur (>, <, >=, IN, ...) */ |
|
| 15 | - public ?string $op; |
|
| 16 | - |
|
| 17 | - /** Présence d'une négation (truc !op valeur) */ |
|
| 18 | - public bool $not = false; |
|
| 19 | - |
|
| 20 | - /** Présence d'une exclusion (!truc op valeur) */ |
|
| 21 | - public string $exclus = ''; |
|
| 22 | - |
|
| 23 | - /** Présence d'une condition dans le critère (truc ?) */ |
|
| 24 | - public bool $cond = false; |
|
| 25 | - |
|
| 26 | - /** |
|
| 27 | - * Paramètres du critère |
|
| 28 | - * - $param[0] : élément avant l'opérateur |
|
| 29 | - * - $param[1..n] : éléments après l'opérateur |
|
| 30 | - * |
|
| 31 | - * FIXME: type unique. |
|
| 32 | - * @var false|array |
|
| 33 | - * - false: erreur de syntaxe |
|
| 34 | - */ |
|
| 35 | - public $param = []; |
|
| 36 | - |
|
| 37 | - /** Numéro de ligne dans le code source du squelette */ |
|
| 38 | - public int $ligne = 0; |
|
| 11 | + /** Type de noeud */ |
|
| 12 | + public string $type = 'critere'; |
|
| 13 | + |
|
| 14 | + /** Opérateur (>, <, >=, IN, ...) */ |
|
| 15 | + public ?string $op; |
|
| 16 | + |
|
| 17 | + /** Présence d'une négation (truc !op valeur) */ |
|
| 18 | + public bool $not = false; |
|
| 19 | + |
|
| 20 | + /** Présence d'une exclusion (!truc op valeur) */ |
|
| 21 | + public string $exclus = ''; |
|
| 22 | + |
|
| 23 | + /** Présence d'une condition dans le critère (truc ?) */ |
|
| 24 | + public bool $cond = false; |
|
| 25 | + |
|
| 26 | + /** |
|
| 27 | + * Paramètres du critère |
|
| 28 | + * - $param[0] : élément avant l'opérateur |
|
| 29 | + * - $param[1..n] : éléments après l'opérateur |
|
| 30 | + * |
|
| 31 | + * FIXME: type unique. |
|
| 32 | + * @var false|array |
|
| 33 | + * - false: erreur de syntaxe |
|
| 34 | + */ |
|
| 35 | + public $param = []; |
|
| 36 | + |
|
| 37 | + /** Numéro de ligne dans le code source du squelette */ |
|
| 38 | + public int $ligne = 0; |
|
| 39 | 39 | } |
@@ -9,16 +9,16 @@ |
||
| 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 | } |
@@ -14,33 +14,33 @@ |
||
| 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 | } |
@@ -7,85 +7,85 @@ |
||
| 7 | 7 | **/ |
| 8 | 8 | class Idiome |
| 9 | 9 | { |
| 10 | - /** Type de noeud */ |
|
| 11 | - public string $type = 'idiome'; |
|
| 12 | - |
|
| 13 | - /** Clé de traduction demandée. Exemple 'item_oui' */ |
|
| 14 | - public string $nom_champ = ''; |
|
| 15 | - |
|
| 16 | - /** Module de langue où chercher la clé de traduction. Exemple 'medias' */ |
|
| 17 | - public string $module = ''; |
|
| 18 | - |
|
| 19 | - /** Arguments à passer à la chaîne */ |
|
| 20 | - public array $arg = []; |
|
| 21 | - |
|
| 22 | - /** |
|
| 23 | - * Filtres à appliquer au résultat |
|
| 24 | - * |
|
| 25 | - * |
|
| 26 | - * * FIXME: type unique. |
|
| 27 | - * @var false|array |
|
| 28 | - * - false: erreur de syntaxe |
|
| 29 | - */ |
|
| 30 | - public $param = []; |
|
| 31 | - |
|
| 32 | - /** Source des filtres (compatibilité) (?) */ |
|
| 33 | - public array $fonctions = []; |
|
| 34 | - |
|
| 35 | - /** |
|
| 36 | - * Inutilisé, propriété générique de l'AST |
|
| 37 | - * |
|
| 38 | - * @var string|array |
|
| 39 | - */ |
|
| 40 | - public $avant = ''; |
|
| 41 | - |
|
| 42 | - /** |
|
| 43 | - * Inutilisé, propriété générique de l'AST |
|
| 44 | - * |
|
| 45 | - * @var string|array |
|
| 46 | - */ |
|
| 47 | - public $apres = ''; |
|
| 48 | - |
|
| 49 | - /** Identifiant de la boucle */ |
|
| 50 | - public string $id_boucle = ''; |
|
| 51 | - |
|
| 52 | - /** |
|
| 53 | - * AST du squelette, liste de toutes les boucles |
|
| 54 | - * |
|
| 55 | - * @var Boucle[] |
|
| 56 | - */ |
|
| 57 | - public array $boucles; |
|
| 58 | - |
|
| 59 | - /** Alias de table d'application de la requête ou nom complet de la table SQL */ |
|
| 60 | - public ?string $type_requete; |
|
| 61 | - |
|
| 62 | - /** Résultat de la compilation: toujours une expression PHP */ |
|
| 63 | - public string $code = ''; |
|
| 64 | - |
|
| 65 | - /** |
|
| 66 | - * Interdire les scripts |
|
| 67 | - * |
|
| 68 | - * @see interdire_scripts() |
|
| 69 | - */ |
|
| 70 | - public bool $interdire_scripts = false; |
|
| 71 | - |
|
| 72 | - /** |
|
| 73 | - * Description du squelette |
|
| 74 | - * |
|
| 75 | - * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 76 | - * |
|
| 77 | - * Peut contenir les index : |
|
| 78 | - * - nom : Nom du fichier de cache |
|
| 79 | - * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 80 | - * - sourcefile : Chemin du squelette |
|
| 81 | - * - squelette : Code du squelette |
|
| 82 | - * - id_mere : Identifiant de la boucle parente |
|
| 83 | - * - documents : Pour embed et img dans les textes |
|
| 84 | - * - session : Pour un cache sessionné par auteur |
|
| 85 | - * - niv : Niveau de tabulation |
|
| 86 | - */ |
|
| 87 | - public array $descr = []; |
|
| 88 | - |
|
| 89 | - /** Numéro de ligne dans le code source du squelette */ |
|
| 90 | - public int $ligne = 0; |
|
| 10 | + /** Type de noeud */ |
|
| 11 | + public string $type = 'idiome'; |
|
| 12 | + |
|
| 13 | + /** Clé de traduction demandée. Exemple 'item_oui' */ |
|
| 14 | + public string $nom_champ = ''; |
|
| 15 | + |
|
| 16 | + /** Module de langue où chercher la clé de traduction. Exemple 'medias' */ |
|
| 17 | + public string $module = ''; |
|
| 18 | + |
|
| 19 | + /** Arguments à passer à la chaîne */ |
|
| 20 | + public array $arg = []; |
|
| 21 | + |
|
| 22 | + /** |
|
| 23 | + * Filtres à appliquer au résultat |
|
| 24 | + * |
|
| 25 | + * |
|
| 26 | + * * FIXME: type unique. |
|
| 27 | + * @var false|array |
|
| 28 | + * - false: erreur de syntaxe |
|
| 29 | + */ |
|
| 30 | + public $param = []; |
|
| 31 | + |
|
| 32 | + /** Source des filtres (compatibilité) (?) */ |
|
| 33 | + public array $fonctions = []; |
|
| 34 | + |
|
| 35 | + /** |
|
| 36 | + * Inutilisé, propriété générique de l'AST |
|
| 37 | + * |
|
| 38 | + * @var string|array |
|
| 39 | + */ |
|
| 40 | + public $avant = ''; |
|
| 41 | + |
|
| 42 | + /** |
|
| 43 | + * Inutilisé, propriété générique de l'AST |
|
| 44 | + * |
|
| 45 | + * @var string|array |
|
| 46 | + */ |
|
| 47 | + public $apres = ''; |
|
| 48 | + |
|
| 49 | + /** Identifiant de la boucle */ |
|
| 50 | + public string $id_boucle = ''; |
|
| 51 | + |
|
| 52 | + /** |
|
| 53 | + * AST du squelette, liste de toutes les boucles |
|
| 54 | + * |
|
| 55 | + * @var Boucle[] |
|
| 56 | + */ |
|
| 57 | + public array $boucles; |
|
| 58 | + |
|
| 59 | + /** Alias de table d'application de la requête ou nom complet de la table SQL */ |
|
| 60 | + public ?string $type_requete; |
|
| 61 | + |
|
| 62 | + /** Résultat de la compilation: toujours une expression PHP */ |
|
| 63 | + public string $code = ''; |
|
| 64 | + |
|
| 65 | + /** |
|
| 66 | + * Interdire les scripts |
|
| 67 | + * |
|
| 68 | + * @see interdire_scripts() |
|
| 69 | + */ |
|
| 70 | + public bool $interdire_scripts = false; |
|
| 71 | + |
|
| 72 | + /** |
|
| 73 | + * Description du squelette |
|
| 74 | + * |
|
| 75 | + * Sert pour la gestion d'erreur et la production de code dependant du contexte |
|
| 76 | + * |
|
| 77 | + * Peut contenir les index : |
|
| 78 | + * - nom : Nom du fichier de cache |
|
| 79 | + * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) |
|
| 80 | + * - sourcefile : Chemin du squelette |
|
| 81 | + * - squelette : Code du squelette |
|
| 82 | + * - id_mere : Identifiant de la boucle parente |
|
| 83 | + * - documents : Pour embed et img dans les textes |
|
| 84 | + * - session : Pour un cache sessionné par auteur |
|
| 85 | + * - niv : Niveau de tabulation |
|
| 86 | + */ |
|
| 87 | + public array $descr = []; |
|
| 88 | + |
|
| 89 | + /** Numéro de ligne dans le code source du squelette */ |
|
| 90 | + public int $ligne = 0; |
|
| 91 | 91 | } |
@@ -7,57 +7,57 @@ |
||
| 7 | 7 | * privée ou dans un de ses sous menus |
| 8 | 8 | */ |
| 9 | 9 | class Bouton { |
| 10 | - /** L'icone à mettre dans le bouton */ |
|
| 11 | - public string $icone; |
|
| 12 | - |
|
| 13 | - /** Le nom de l'entrée d'i18n associé */ |
|
| 14 | - public string $libelle; |
|
| 15 | - |
|
| 16 | - /** @var null|string L'URL de la page (null => ?exec=nom) */ |
|
| 17 | - public $url = null; |
|
| 18 | - |
|
| 19 | - /** @var null|string|array Arguments supplementaires de l'URL */ |
|
| 20 | - public $urlArg = null; |
|
| 21 | - |
|
| 22 | - /** @var null|string URL du javascript */ |
|
| 23 | - public $url2 = null; |
|
| 24 | - |
|
| 25 | - /** @var null|string Pour ouvrir dans une fenetre a part */ |
|
| 26 | - public $target = null; |
|
| 27 | - |
|
| 28 | - /** Sous-barre de boutons / onglets */ |
|
| 29 | - public array $sousmenu = []; |
|
| 30 | - |
|
| 31 | - /** Position dans le menu */ |
|
| 32 | - public int $position = 0; |
|
| 33 | - |
|
| 34 | - /** Entrée favorite (sa position dans les favoris) ? */ |
|
| 35 | - public int $favori = 0; |
|
| 36 | - |
|
| 37 | - |
|
| 38 | - /** |
|
| 39 | - * Définit un bouton |
|
| 40 | - * |
|
| 41 | - * @param string $icone |
|
| 42 | - * L'icone à mettre dans le bouton |
|
| 43 | - * @param string $libelle |
|
| 44 | - * Le nom de l'entrée i18n associé |
|
| 45 | - * @param null|string $url |
|
| 46 | - * L'URL de la page |
|
| 47 | - * @param null|string|array $urlArg |
|
| 48 | - * Arguments supplémentaires de l'URL |
|
| 49 | - * @param null|string $url2 |
|
| 50 | - * URL du javascript |
|
| 51 | - * @param null|mixed $target |
|
| 52 | - * Pour ouvrir une fenêtre à part |
|
| 53 | - */ |
|
| 54 | - public function __construct($icone, $libelle, $url = null, $urlArg = null, $url2 = null, $target = null) { |
|
| 55 | - $this->icone = $icone; |
|
| 56 | - $this->libelle = $libelle; |
|
| 57 | - $this->url = $url; |
|
| 58 | - $this->urlArg = $urlArg; |
|
| 59 | - $this->url2 = $url2; |
|
| 60 | - $this->target = $target; |
|
| 61 | - } |
|
| 10 | + /** L'icone à mettre dans le bouton */ |
|
| 11 | + public string $icone; |
|
| 12 | + |
|
| 13 | + /** Le nom de l'entrée d'i18n associé */ |
|
| 14 | + public string $libelle; |
|
| 15 | + |
|
| 16 | + /** @var null|string L'URL de la page (null => ?exec=nom) */ |
|
| 17 | + public $url = null; |
|
| 18 | + |
|
| 19 | + /** @var null|string|array Arguments supplementaires de l'URL */ |
|
| 20 | + public $urlArg = null; |
|
| 21 | + |
|
| 22 | + /** @var null|string URL du javascript */ |
|
| 23 | + public $url2 = null; |
|
| 24 | + |
|
| 25 | + /** @var null|string Pour ouvrir dans une fenetre a part */ |
|
| 26 | + public $target = null; |
|
| 27 | + |
|
| 28 | + /** Sous-barre de boutons / onglets */ |
|
| 29 | + public array $sousmenu = []; |
|
| 30 | + |
|
| 31 | + /** Position dans le menu */ |
|
| 32 | + public int $position = 0; |
|
| 33 | + |
|
| 34 | + /** Entrée favorite (sa position dans les favoris) ? */ |
|
| 35 | + public int $favori = 0; |
|
| 36 | + |
|
| 37 | + |
|
| 38 | + /** |
|
| 39 | + * Définit un bouton |
|
| 40 | + * |
|
| 41 | + * @param string $icone |
|
| 42 | + * L'icone à mettre dans le bouton |
|
| 43 | + * @param string $libelle |
|
| 44 | + * Le nom de l'entrée i18n associé |
|
| 45 | + * @param null|string $url |
|
| 46 | + * L'URL de la page |
|
| 47 | + * @param null|string|array $urlArg |
|
| 48 | + * Arguments supplémentaires de l'URL |
|
| 49 | + * @param null|string $url2 |
|
| 50 | + * URL du javascript |
|
| 51 | + * @param null|mixed $target |
|
| 52 | + * Pour ouvrir une fenêtre à part |
|
| 53 | + */ |
|
| 54 | + public function __construct($icone, $libelle, $url = null, $urlArg = null, $url2 = null, $target = null) { |
|
| 55 | + $this->icone = $icone; |
|
| 56 | + $this->libelle = $libelle; |
|
| 57 | + $this->url = $url; |
|
| 58 | + $this->urlArg = $urlArg; |
|
| 59 | + $this->url2 = $url2; |
|
| 60 | + $this->target = $target; |
|
| 61 | + } |
|
| 62 | 62 | } |
| 63 | 63 | |
@@ -3,16 +3,16 @@ |
||
| 3 | 3 | namespace Spip\I18n; |
| 4 | 4 | |
| 5 | 5 | class Description { |
| 6 | - /** @var string code de langue (hors module) */ |
|
| 7 | - public $code; |
|
| 8 | - /** @var string nom du module de langue */ |
|
| 9 | - public $module; |
|
| 10 | - /** @var string langue de la traduction */ |
|
| 11 | - public $langue; |
|
| 12 | - /** @var string traduction */ |
|
| 13 | - public $texte; |
|
| 14 | - /** @var string var mode particulier appliqué ? */ |
|
| 15 | - public $mode; |
|
| 16 | - /** @var bool Corrections des textes appliqué ? */ |
|
| 17 | - public $corrections = false; |
|
| 6 | + /** @var string code de langue (hors module) */ |
|
| 7 | + public $code; |
|
| 8 | + /** @var string nom du module de langue */ |
|
| 9 | + public $module; |
|
| 10 | + /** @var string langue de la traduction */ |
|
| 11 | + public $langue; |
|
| 12 | + /** @var string traduction */ |
|
| 13 | + public $texte; |
|
| 14 | + /** @var string var mode particulier appliqué ? */ |
|
| 15 | + public $mode; |
|
| 16 | + /** @var bool Corrections des textes appliqué ? */ |
|
| 17 | + public $corrections = false; |
|
| 18 | 18 | } |
@@ -51,12 +51,12 @@ |
||
| 51 | 51 | // chercher la classe d'iterateur Iterateur/XXX |
| 52 | 52 | // definie dans le fichier src/Compilateur/Iterateur/xxx.php |
| 53 | 53 | // FIXME: déclarer quelque part les iterateurs supplémentaires |
| 54 | - $class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur)); |
|
| 54 | + $class = __NAMESPACE__.'\\'.ucfirst(strtolower($iterateur)); |
|
| 55 | 55 | if (!class_exists($class)) { |
| 56 | 56 | // historique |
| 57 | 57 | // Chercher IterateurXXX |
| 58 | - include_spip('iterateur/' . $iterateur); |
|
| 59 | - $class = 'Iterateur' . $iterateur; |
|
| 58 | + include_spip('iterateur/'.$iterateur); |
|
| 59 | + $class = 'Iterateur'.$iterateur; |
|
| 60 | 60 | if (!class_exists($class)) { |
| 61 | 61 | exit("Iterateur {$iterateur} non trouvé"); |
| 62 | 62 | // si l'iterateur n'existe pas, on se rabat sur le generique |
@@ -12,60 +12,60 @@ |
||
| 12 | 12 | */ |
| 13 | 13 | class Factory |
| 14 | 14 | { |
| 15 | - public static function create($iterateur, $command, $info = null) { |
|
| 16 | - $iter = null; |
|
| 17 | - // cas des SI {si expression} analises tres tot |
|
| 18 | - // pour eviter le chargement de tout iterateur |
|
| 19 | - if (isset($command['si'])) { |
|
| 20 | - foreach ($command['si'] as $si) { |
|
| 21 | - if (!$si) { |
|
| 22 | - // $command pour boucle SQL peut generer des erreurs de compilation |
|
| 23 | - // s'il est transmis alors qu'on est dans un iterateur vide |
|
| 24 | - return new Decorator(new EmptyIterator(), [], $info); |
|
| 25 | - } |
|
| 26 | - } |
|
| 27 | - } |
|
| 15 | + public static function create($iterateur, $command, $info = null) { |
|
| 16 | + $iter = null; |
|
| 17 | + // cas des SI {si expression} analises tres tot |
|
| 18 | + // pour eviter le chargement de tout iterateur |
|
| 19 | + if (isset($command['si'])) { |
|
| 20 | + foreach ($command['si'] as $si) { |
|
| 21 | + if (!$si) { |
|
| 22 | + // $command pour boucle SQL peut generer des erreurs de compilation |
|
| 23 | + // s'il est transmis alors qu'on est dans un iterateur vide |
|
| 24 | + return new Decorator(new EmptyIterator(), [], $info); |
|
| 25 | + } |
|
| 26 | + } |
|
| 27 | + } |
|
| 28 | 28 | |
| 29 | - // chercher un iterateur PHP existant (par exemple dans SPL) |
|
| 30 | - // (il faudrait passer l'argument ->sql_serveur |
|
| 31 | - // pour etre certain qu'on est sur un "php:") |
|
| 32 | - if (class_exists($iterateur)) { |
|
| 33 | - $a = $command['args'] ?? []; |
|
| 29 | + // chercher un iterateur PHP existant (par exemple dans SPL) |
|
| 30 | + // (il faudrait passer l'argument ->sql_serveur |
|
| 31 | + // pour etre certain qu'on est sur un "php:") |
|
| 32 | + if (class_exists($iterateur)) { |
|
| 33 | + $a = $command['args'] ?? []; |
|
| 34 | 34 | |
| 35 | - // permettre de passer un Iterateur directement {args #ITERATEUR} : |
|
| 36 | - // si on recoit deja un iterateur en argument, on l'utilise |
|
| 37 | - if ((is_countable($a) ? count($a) : 0) == 1 and is_object($a[0]) and is_subclass_of($a[0], \Iterator::class)) { |
|
| 38 | - $iter = $a[0]; |
|
| 39 | - } else { |
|
| 40 | - // sinon, on cree un iterateur du type donne |
|
| 41 | - // arguments de creation de l'iterateur... |
|
| 42 | - try { |
|
| 43 | - $iter = new $iterateur(...$a); |
|
| 44 | - } catch (Exception $e) { |
|
| 45 | - spip_log("Erreur de chargement de l'iterateur {$iterateur}"); |
|
| 46 | - spip_log($e->getMessage()); |
|
| 47 | - $iter = new EmptyIterator(); |
|
| 48 | - } |
|
| 49 | - } |
|
| 50 | - } else { |
|
| 51 | - // chercher la classe d'iterateur Iterateur/XXX |
|
| 52 | - // definie dans le fichier src/Compilateur/Iterateur/xxx.php |
|
| 53 | - // FIXME: déclarer quelque part les iterateurs supplémentaires |
|
| 54 | - $class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur)); |
|
| 55 | - if (!class_exists($class)) { |
|
| 56 | - // historique |
|
| 57 | - // Chercher IterateurXXX |
|
| 58 | - include_spip('iterateur/' . $iterateur); |
|
| 59 | - $class = 'Iterateur' . $iterateur; |
|
| 60 | - if (!class_exists($class)) { |
|
| 61 | - exit("Iterateur {$iterateur} non trouvé"); |
|
| 62 | - // si l'iterateur n'existe pas, on se rabat sur le generique |
|
| 63 | - // $iter = new EmptyIterator(); |
|
| 64 | - } |
|
| 65 | - } |
|
| 66 | - $iter = new $class($command, $info); |
|
| 67 | - } |
|
| 35 | + // permettre de passer un Iterateur directement {args #ITERATEUR} : |
|
| 36 | + // si on recoit deja un iterateur en argument, on l'utilise |
|
| 37 | + if ((is_countable($a) ? count($a) : 0) == 1 and is_object($a[0]) and is_subclass_of($a[0], \Iterator::class)) { |
|
| 38 | + $iter = $a[0]; |
|
| 39 | + } else { |
|
| 40 | + // sinon, on cree un iterateur du type donne |
|
| 41 | + // arguments de creation de l'iterateur... |
|
| 42 | + try { |
|
| 43 | + $iter = new $iterateur(...$a); |
|
| 44 | + } catch (Exception $e) { |
|
| 45 | + spip_log("Erreur de chargement de l'iterateur {$iterateur}"); |
|
| 46 | + spip_log($e->getMessage()); |
|
| 47 | + $iter = new EmptyIterator(); |
|
| 48 | + } |
|
| 49 | + } |
|
| 50 | + } else { |
|
| 51 | + // chercher la classe d'iterateur Iterateur/XXX |
|
| 52 | + // definie dans le fichier src/Compilateur/Iterateur/xxx.php |
|
| 53 | + // FIXME: déclarer quelque part les iterateurs supplémentaires |
|
| 54 | + $class = __NAMESPACE__ . '\\' . ucfirst(strtolower($iterateur)); |
|
| 55 | + if (!class_exists($class)) { |
|
| 56 | + // historique |
|
| 57 | + // Chercher IterateurXXX |
|
| 58 | + include_spip('iterateur/' . $iterateur); |
|
| 59 | + $class = 'Iterateur' . $iterateur; |
|
| 60 | + if (!class_exists($class)) { |
|
| 61 | + exit("Iterateur {$iterateur} non trouvé"); |
|
| 62 | + // si l'iterateur n'existe pas, on se rabat sur le generique |
|
| 63 | + // $iter = new EmptyIterator(); |
|
| 64 | + } |
|
| 65 | + } |
|
| 66 | + $iter = new $class($command, $info); |
|
| 67 | + } |
|
| 68 | 68 | |
| 69 | - return new Decorator($iter, $command, $info); |
|
| 70 | - } |
|
| 69 | + return new Decorator($iter, $command, $info); |
|
| 70 | + } |
|
| 71 | 71 | } |
@@ -16,7 +16,7 @@ discard block |
||
| 16 | 16 | * @package SPIP\Core\Affichage |
| 17 | 17 | **/ |
| 18 | 18 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 19 | - return; |
|
| 19 | + return; |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | /** |
@@ -25,7 +25,7 @@ discard block |
||
| 25 | 25 | * @return string Code HTML |
| 26 | 26 | */ |
| 27 | 27 | function debut_grand_cadre() { |
| 28 | - return "\n<div class = 'table_page'>\n"; |
|
| 28 | + return "\n<div class = 'table_page'>\n"; |
|
| 29 | 29 | } |
| 30 | 30 | |
| 31 | 31 | /** |
@@ -34,7 +34,7 @@ discard block |
||
| 34 | 34 | * @return string Code HTML |
| 35 | 35 | */ |
| 36 | 36 | function fin_grand_cadre() { |
| 37 | - return "\n</div>"; |
|
| 37 | + return "\n</div>"; |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | // Debut de la colonne de gauche |
@@ -49,7 +49,7 @@ discard block |
||
| 49 | 49 | * @return string Code HTML |
| 50 | 50 | */ |
| 51 | 51 | function debut_gauche() { |
| 52 | - return "<div id = 'conteneur' class = ''>\n<div id = 'navigation' class = 'lat' role = 'contentinfo'>\n"; |
|
| 52 | + return "<div id = 'conteneur' class = ''>\n<div id = 'navigation' class = 'lat' role = 'contentinfo'>\n"; |
|
| 53 | 53 | } |
| 54 | 54 | |
| 55 | 55 | /** |
@@ -58,7 +58,7 @@ discard block |
||
| 58 | 58 | * @return string Code HTML |
| 59 | 59 | */ |
| 60 | 60 | function fin_gauche() { |
| 61 | - return "</div></div><br class = 'nettoyeur' />"; |
|
| 61 | + return "</div></div><br class = 'nettoyeur' />"; |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | /** |
@@ -67,13 +67,13 @@ discard block |
||
| 67 | 67 | * @return string Code HTML |
| 68 | 68 | */ |
| 69 | 69 | function creer_colonne_droite() { |
| 70 | - static $deja_colonne_droite; |
|
| 71 | - if ($deja_colonne_droite) { |
|
| 72 | - return ''; |
|
| 73 | - } |
|
| 74 | - $deja_colonne_droite = true; |
|
| 70 | + static $deja_colonne_droite; |
|
| 71 | + if ($deja_colonne_droite) { |
|
| 72 | + return ''; |
|
| 73 | + } |
|
| 74 | + $deja_colonne_droite = true; |
|
| 75 | 75 | |
| 76 | - return "\n</div><div id='extra' class='lat' role='complementary'>"; |
|
| 76 | + return "\n</div><div id='extra' class='lat' role='complementary'>"; |
|
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | /** |
@@ -82,10 +82,10 @@ discard block |
||
| 82 | 82 | * @return string Code HTML |
| 83 | 83 | */ |
| 84 | 84 | function debut_droite() { |
| 85 | - return liste_objets_bloques(_request('exec')) |
|
| 86 | - . creer_colonne_droite() |
|
| 87 | - . '</div>' |
|
| 88 | - . "\n<div id='contenu'>"; |
|
| 85 | + return liste_objets_bloques(_request('exec')) |
|
| 86 | + . creer_colonne_droite() |
|
| 87 | + . '</div>' |
|
| 88 | + . "\n<div id='contenu'>"; |
|
| 89 | 89 | } |
| 90 | 90 | |
| 91 | 91 | /** |
@@ -107,32 +107,32 @@ discard block |
||
| 107 | 107 | * Code HTML |
| 108 | 108 | **/ |
| 109 | 109 | function liste_objets_bloques($exec, $contexte = [], $auteur = null): string { |
| 110 | - $res = ''; |
|
| 111 | - include_spip('inc/config'); |
|
| 112 | - if (lire_config('articles_modif', 'non') !== 'non') { |
|
| 113 | - include_spip('inc/drapeau_edition'); |
|
| 114 | - if (is_null($auteur)) { |
|
| 115 | - $auteur = $GLOBALS['visiteur_session']; |
|
| 116 | - } |
|
| 117 | - if ( |
|
| 118 | - $en_cours = trouver_objet_exec($exec) |
|
| 119 | - and $en_cours['edition'] |
|
| 120 | - and $type = $en_cours['type'] |
|
| 121 | - and ((isset($contexte[$en_cours['id_table_objet']]) and $id = $contexte[$en_cours['id_table_objet']]) |
|
| 122 | - or $id = _request($en_cours['id_table_objet'])) |
|
| 123 | - ) { |
|
| 124 | - // marquer le fait que l'objet est ouvert en edition par toto |
|
| 125 | - // a telle date ; une alerte sera donnee aux autres redacteurs |
|
| 126 | - signale_edition($id, $auteur, $type); |
|
| 127 | - } |
|
| 128 | - |
|
| 129 | - $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']); |
|
| 130 | - if (count($objets_ouverts)) { |
|
| 131 | - $res .= recuperer_fond('prive/objets/liste/objets-en-edition', [], ['ajax' => true]); |
|
| 132 | - } |
|
| 133 | - } |
|
| 134 | - |
|
| 135 | - return $res; |
|
| 110 | + $res = ''; |
|
| 111 | + include_spip('inc/config'); |
|
| 112 | + if (lire_config('articles_modif', 'non') !== 'non') { |
|
| 113 | + include_spip('inc/drapeau_edition'); |
|
| 114 | + if (is_null($auteur)) { |
|
| 115 | + $auteur = $GLOBALS['visiteur_session']; |
|
| 116 | + } |
|
| 117 | + if ( |
|
| 118 | + $en_cours = trouver_objet_exec($exec) |
|
| 119 | + and $en_cours['edition'] |
|
| 120 | + and $type = $en_cours['type'] |
|
| 121 | + and ((isset($contexte[$en_cours['id_table_objet']]) and $id = $contexte[$en_cours['id_table_objet']]) |
|
| 122 | + or $id = _request($en_cours['id_table_objet'])) |
|
| 123 | + ) { |
|
| 124 | + // marquer le fait que l'objet est ouvert en edition par toto |
|
| 125 | + // a telle date ; une alerte sera donnee aux autres redacteurs |
|
| 126 | + signale_edition($id, $auteur, $type); |
|
| 127 | + } |
|
| 128 | + |
|
| 129 | + $objets_ouverts = liste_drapeau_edition($auteur['id_auteur']); |
|
| 130 | + if (count($objets_ouverts)) { |
|
| 131 | + $res .= recuperer_fond('prive/objets/liste/objets-en-edition', [], ['ajax' => true]); |
|
| 132 | + } |
|
| 133 | + } |
|
| 134 | + |
|
| 135 | + return $res; |
|
| 136 | 136 | } |
| 137 | 137 | |
| 138 | 138 | |
@@ -146,20 +146,20 @@ discard block |
||
| 146 | 146 | * @return string Code HTML |
| 147 | 147 | **/ |
| 148 | 148 | function fin_page() { |
| 149 | - include_spip('inc/pipelines'); |
|
| 150 | - // avec &var_profile=1 on a le tableau de mesures SQL |
|
| 151 | - $debug = ((_request('exec') !== 'valider_xml') |
|
| 152 | - and ((_request('var_mode') == 'debug') |
|
| 153 | - or (isset($GLOBALS['tableau_des_temps']) and $GLOBALS['tableau_des_temps']) |
|
| 154 | - and isset($_COOKIE['spip_admin']))); |
|
| 155 | - $t = '</div><div id="pied"><div class="largeur">' |
|
| 156 | - . recuperer_fond('prive/squelettes/inclure/pied') |
|
| 157 | - . '</div>' |
|
| 158 | - . '</div></div>' // cf. div#page et div.largeur ouvertes dans conmmencer_page() |
|
| 159 | - . ($debug ? erreur_squelette() : '') |
|
| 160 | - . "</body></html>\n"; |
|
| 161 | - |
|
| 162 | - return f_queue($t); |
|
| 149 | + include_spip('inc/pipelines'); |
|
| 150 | + // avec &var_profile=1 on a le tableau de mesures SQL |
|
| 151 | + $debug = ((_request('exec') !== 'valider_xml') |
|
| 152 | + and ((_request('var_mode') == 'debug') |
|
| 153 | + or (isset($GLOBALS['tableau_des_temps']) and $GLOBALS['tableau_des_temps']) |
|
| 154 | + and isset($_COOKIE['spip_admin']))); |
|
| 155 | + $t = '</div><div id="pied"><div class="largeur">' |
|
| 156 | + . recuperer_fond('prive/squelettes/inclure/pied') |
|
| 157 | + . '</div>' |
|
| 158 | + . '</div></div>' // cf. div#page et div.largeur ouvertes dans conmmencer_page() |
|
| 159 | + . ($debug ? erreur_squelette() : '') |
|
| 160 | + . "</body></html>\n"; |
|
| 161 | + |
|
| 162 | + return f_queue($t); |
|
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | /** |
@@ -174,22 +174,22 @@ discard block |
||
| 174 | 174 | * @return string Code HTML |
| 175 | 175 | **/ |
| 176 | 176 | function html_tests_js() { |
| 177 | - if (_SPIP_AJAX and !defined('_TESTER_NOSCRIPT')) { |
|
| 178 | - // pour le pied de page (deja defini si on est validation XML) |
|
| 179 | - define( |
|
| 180 | - '_TESTER_NOSCRIPT', |
|
| 181 | - "<noscript>\n<div style='display:none;'><img src='" |
|
| 182 | - . generer_url_ecrire('test_ajax', 'js=-1') |
|
| 183 | - . "' width='1' height='1' alt='' /></div></noscript>\n" |
|
| 184 | - ); |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - $rejouer = ''; |
|
| 188 | - if (defined('_SESSION_REJOUER')) { |
|
| 189 | - $rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER; |
|
| 190 | - } |
|
| 191 | - |
|
| 192 | - return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : ''); |
|
| 177 | + if (_SPIP_AJAX and !defined('_TESTER_NOSCRIPT')) { |
|
| 178 | + // pour le pied de page (deja defini si on est validation XML) |
|
| 179 | + define( |
|
| 180 | + '_TESTER_NOSCRIPT', |
|
| 181 | + "<noscript>\n<div style='display:none;'><img src='" |
|
| 182 | + . generer_url_ecrire('test_ajax', 'js=-1') |
|
| 183 | + . "' width='1' height='1' alt='' /></div></noscript>\n" |
|
| 184 | + ); |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + $rejouer = ''; |
|
| 188 | + if (defined('_SESSION_REJOUER')) { |
|
| 189 | + $rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER; |
|
| 190 | + } |
|
| 191 | + |
|
| 192 | + return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : ''); |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | /** |
@@ -199,25 +199,25 @@ discard block |
||
| 199 | 199 | **/ |
| 200 | 200 | function info_maj_spip() { |
| 201 | 201 | |
| 202 | - $maj = $GLOBALS['meta']['info_maj_spip'] ?? null; |
|
| 203 | - if (!$maj) { |
|
| 204 | - return ''; |
|
| 205 | - } |
|
| 202 | + $maj = $GLOBALS['meta']['info_maj_spip'] ?? null; |
|
| 203 | + if (!$maj) { |
|
| 204 | + return ''; |
|
| 205 | + } |
|
| 206 | 206 | |
| 207 | - $maj = explode('|', $maj); |
|
| 208 | - // c'est une ancienne notif, on a fait la maj depuis ! |
|
| 209 | - if ($GLOBALS['spip_version_branche'] !== reset($maj)) { |
|
| 210 | - return ''; |
|
| 211 | - } |
|
| 207 | + $maj = explode('|', $maj); |
|
| 208 | + // c'est une ancienne notif, on a fait la maj depuis ! |
|
| 209 | + if ($GLOBALS['spip_version_branche'] !== reset($maj)) { |
|
| 210 | + return ''; |
|
| 211 | + } |
|
| 212 | 212 | |
| 213 | - if (!autoriser('webmestre')) { |
|
| 214 | - return ''; |
|
| 215 | - } |
|
| 213 | + if (!autoriser('webmestre')) { |
|
| 214 | + return ''; |
|
| 215 | + } |
|
| 216 | 216 | |
| 217 | - array_shift($maj); |
|
| 218 | - $maj = implode('|', $maj); |
|
| 217 | + array_shift($maj); |
|
| 218 | + $maj = implode('|', $maj); |
|
| 219 | 219 | |
| 220 | - return "$maj<br />"; |
|
| 220 | + return "$maj<br />"; |
|
| 221 | 221 | } |
| 222 | 222 | |
| 223 | 223 | /** |
@@ -228,43 +228,43 @@ discard block |
||
| 228 | 228 | **/ |
| 229 | 229 | function info_copyright() { |
| 230 | 230 | |
| 231 | - $version = $GLOBALS['spip_version_affichee']; |
|
| 232 | - |
|
| 233 | - // |
|
| 234 | - // Mention, le cas echeant, de la revision SVN courante |
|
| 235 | - // |
|
| 236 | - if ($vcs = version_vcs_courante(_DIR_RACINE, true)) { |
|
| 237 | - if ($vcs['vcs'] === 'GIT') { |
|
| 238 | - $url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit']; |
|
| 239 | - } elseif ($vcs['vcs'] === 'SVN') { |
|
| 240 | - $url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit']; |
|
| 241 | - } else { |
|
| 242 | - $url = ''; |
|
| 243 | - } |
|
| 244 | - // affichage "GIT [master: abcdef]" |
|
| 245 | - $commit = $vcs['commit_short'] ?? $vcs['commit']; |
|
| 246 | - if ($url) { |
|
| 247 | - $commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>"; |
|
| 248 | - } |
|
| 249 | - if ($vcs['branch']) { |
|
| 250 | - $commit = $vcs['branch'] . ': ' . $commit; |
|
| 251 | - } |
|
| 252 | - $version .= " {$vcs['vcs']} [$commit]"; |
|
| 253 | - } |
|
| 254 | - |
|
| 255 | - // et la version de l'ecran de securite |
|
| 256 | - $secu = defined('_ECRAN_SECURITE') |
|
| 257 | - ? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE]) |
|
| 258 | - : ''; |
|
| 259 | - |
|
| 260 | - return _T( |
|
| 261 | - 'info_copyright', |
|
| 262 | - [ |
|
| 263 | - 'spip' => "<b>SPIP $version</b> ", |
|
| 264 | - 'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>' |
|
| 265 | - ] |
|
| 266 | - ) |
|
| 267 | - . $secu; |
|
| 231 | + $version = $GLOBALS['spip_version_affichee']; |
|
| 232 | + |
|
| 233 | + // |
|
| 234 | + // Mention, le cas echeant, de la revision SVN courante |
|
| 235 | + // |
|
| 236 | + if ($vcs = version_vcs_courante(_DIR_RACINE, true)) { |
|
| 237 | + if ($vcs['vcs'] === 'GIT') { |
|
| 238 | + $url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit']; |
|
| 239 | + } elseif ($vcs['vcs'] === 'SVN') { |
|
| 240 | + $url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit']; |
|
| 241 | + } else { |
|
| 242 | + $url = ''; |
|
| 243 | + } |
|
| 244 | + // affichage "GIT [master: abcdef]" |
|
| 245 | + $commit = $vcs['commit_short'] ?? $vcs['commit']; |
|
| 246 | + if ($url) { |
|
| 247 | + $commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>"; |
|
| 248 | + } |
|
| 249 | + if ($vcs['branch']) { |
|
| 250 | + $commit = $vcs['branch'] . ': ' . $commit; |
|
| 251 | + } |
|
| 252 | + $version .= " {$vcs['vcs']} [$commit]"; |
|
| 253 | + } |
|
| 254 | + |
|
| 255 | + // et la version de l'ecran de securite |
|
| 256 | + $secu = defined('_ECRAN_SECURITE') |
|
| 257 | + ? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE]) |
|
| 258 | + : ''; |
|
| 259 | + |
|
| 260 | + return _T( |
|
| 261 | + 'info_copyright', |
|
| 262 | + [ |
|
| 263 | + 'spip' => "<b>SPIP $version</b> ", |
|
| 264 | + 'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>' |
|
| 265 | + ] |
|
| 266 | + ) |
|
| 267 | + . $secu; |
|
| 268 | 268 | } |
| 269 | 269 | |
| 270 | 270 | /** |
@@ -279,17 +279,17 @@ discard block |
||
| 279 | 279 | * @return string Code HTML |
| 280 | 280 | **/ |
| 281 | 281 | function formulaire_recherche($page, $complement = '') { |
| 282 | - $recherche = _request('recherche'); |
|
| 283 | - $recherche_aff = entites_html($recherche); |
|
| 284 | - if (!strlen($recherche)) { |
|
| 285 | - $recherche_aff = _T('info_rechercher'); |
|
| 286 | - $onfocus = " onfocus=\"this.value='';\""; |
|
| 287 | - } else { |
|
| 288 | - $onfocus = ''; |
|
| 289 | - } |
|
| 290 | - |
|
| 291 | - $form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />'; |
|
| 292 | - $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />"; |
|
| 293 | - |
|
| 294 | - return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>'; |
|
| 282 | + $recherche = _request('recherche'); |
|
| 283 | + $recherche_aff = entites_html($recherche); |
|
| 284 | + if (!strlen($recherche)) { |
|
| 285 | + $recherche_aff = _T('info_rechercher'); |
|
| 286 | + $onfocus = " onfocus=\"this.value='';\""; |
|
| 287 | + } else { |
|
| 288 | + $onfocus = ''; |
|
| 289 | + } |
|
| 290 | + |
|
| 291 | + $form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />'; |
|
| 292 | + $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />"; |
|
| 293 | + |
|
| 294 | + return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>'; |
|
| 295 | 295 | } |
@@ -189,7 +189,7 @@ discard block |
||
| 189 | 189 | $rejouer = (_SESSION_REJOUER === true) ? rejouer_session() : _SESSION_REJOUER; |
| 190 | 190 | } |
| 191 | 191 | |
| 192 | - return $rejouer . (defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : ''); |
|
| 192 | + return $rejouer.(defined('_TESTER_NOSCRIPT') ? _TESTER_NOSCRIPT : ''); |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | /** |
@@ -235,9 +235,9 @@ discard block |
||
| 235 | 235 | // |
| 236 | 236 | if ($vcs = version_vcs_courante(_DIR_RACINE, true)) { |
| 237 | 237 | if ($vcs['vcs'] === 'GIT') { |
| 238 | - $url = 'https://git.spip.net/spip/spip/commit/' . $vcs['commit']; |
|
| 238 | + $url = 'https://git.spip.net/spip/spip/commit/'.$vcs['commit']; |
|
| 239 | 239 | } elseif ($vcs['vcs'] === 'SVN') { |
| 240 | - $url = 'https://core.spip.net/projects/spip/repository/revisions/' . $vcs['commit']; |
|
| 240 | + $url = 'https://core.spip.net/projects/spip/repository/revisions/'.$vcs['commit']; |
|
| 241 | 241 | } else { |
| 242 | 242 | $url = ''; |
| 243 | 243 | } |
@@ -247,21 +247,21 @@ discard block |
||
| 247 | 247 | $commit = "<a href=\"$url\" target=\"_blank\" rel=\"noopener noreferrer\">$commit</a>"; |
| 248 | 248 | } |
| 249 | 249 | if ($vcs['branch']) { |
| 250 | - $commit = $vcs['branch'] . ': ' . $commit; |
|
| 250 | + $commit = $vcs['branch'].': '.$commit; |
|
| 251 | 251 | } |
| 252 | 252 | $version .= " {$vcs['vcs']} [$commit]"; |
| 253 | 253 | } |
| 254 | 254 | |
| 255 | 255 | // et la version de l'ecran de securite |
| 256 | 256 | $secu = defined('_ECRAN_SECURITE') |
| 257 | - ? '<br />' . _T('ecran_securite', ['version' => _ECRAN_SECURITE]) |
|
| 257 | + ? '<br />'._T('ecran_securite', ['version' => _ECRAN_SECURITE]) |
|
| 258 | 258 | : ''; |
| 259 | 259 | |
| 260 | 260 | return _T( |
| 261 | 261 | 'info_copyright', |
| 262 | 262 | [ |
| 263 | 263 | 'spip' => "<b>SPIP $version</b> ", |
| 264 | - 'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">' . _T('info_copyright_gpl') . '</a>' |
|
| 264 | + 'lien_gpl' => '<a href="https://www.gnu.org/licenses/gpl-3.0.html">'._T('info_copyright_gpl').'</a>' |
|
| 265 | 265 | ] |
| 266 | 266 | ) |
| 267 | 267 | . $secu; |
@@ -288,8 +288,8 @@ discard block |
||
| 288 | 288 | $onfocus = ''; |
| 289 | 289 | } |
| 290 | 290 | |
| 291 | - $form = '<input type="text" size="10" value="' . $recherche_aff . '" name="recherche" class="recherche" accesskey="r"' . $onfocus . ' />'; |
|
| 292 | - $form .= "<input type='image' src='" . chemin_image('rechercher-20.png') . "' name='submit' class='submit' alt='" . _T('info_rechercher') . "' />"; |
|
| 291 | + $form = '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="recherche" accesskey="r"'.$onfocus.' />'; |
|
| 292 | + $form .= "<input type='image' src='".chemin_image('rechercher-20.png')."' name='submit' class='submit' alt='"._T('info_rechercher')."' />"; |
|
| 293 | 293 | |
| 294 | - return "<div class='spip_recherche'>" . generer_form_ecrire($page, $form . $complement, " method='get'") . '</div>'; |
|
| 294 | + return "<div class='spip_recherche'>".generer_form_ecrire($page, $form.$complement, " method='get'").'</div>'; |
|
| 295 | 295 | } |