A la reception on refuse un formulaire non signé si on a une session ou un formulaire signé si on a pas de session. Si on a une session, la signature doit etre identique.
En absence de session on ne signe pas les arguments du formulaire car tout le monde a le droit de l'afficher, et ca permet de garder un cache identique commun a tous les hits anonymes (perf issue)
Faire fonctionner la balise `#INFO_INTRODUCTION` de la même façon que `#INTRODUCTION`
Actuellement, cette balise ne renvoie rien, à part si l'objet possède un champ « introduction ». Il serait préférable d'avoir la vraie introduction calculée par SPIP en fonction des autres champs.
**Fonctionnement actuel**
La balise `#INFO_xxx` renvoie tout simplement le champ « xxx » de l'objet, s'il existe.
Les cas particuliers sont gérés de 2 façons :
* Certains sont gérés en interne : la date et le titre
* Les autres peuvent avoir des traitements personnalisés en créant des fonctions [generer_TRUC_TYPE](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4282) ou [generer_TRUC_entite](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4285)
**Solution**
Ce PR ajoute donc une fonction `generer_introduction_entite` pour prendre en charge les introductions.
Cette fonction est mutualisée entre la balise normale `#INTRODUCTION` et `#INFO_INTRODUCTION`.
En conséquent, une partie des choses qui étaient faites dans `#INTRODUCTION` est déportée dans cette fonction.
Pour résumer, voici l'ordre d'appel et le rôle des balises et fonctions :
1. `#INTRODUCTION` / `#INFO_INTRODUCTION` : récupère les données brutes (champs textes, paramètres `longueur` et `suite`)
2. `generer_introduction_entite()` : normalise les données (tri dans les champs de texte, normalisation des paramètres `longueur` et `suite`)
3. `filtre_introduction_dist()` : construit l'introduction
**Limites**
1. On ne peut pour l'instant pas passer de paramètre supplémentaires à `#INFO_xxx`, donc pas de `longueur` et de `suite`.
2. propre est déjà fait dans le calcul du fitre `introduction`, donc l'étoile n'a aucun effet (cf. [commentaire](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/public/balises.php#L844)).
3. On ne connaît pas le $connect avec `#INFO_xxx`, cf. [commentaire](https://git.spip.net/SPIP/spip/src/branch/master/ecrire/inc/filtres.php#L4297)
**Tests**
Testé les cas suivants, tout fonctionne :
* `#INFO_INTRODUCTION{article,#ID_ARTICLE}`
* `#INTRODUCTION`
* `#INTRODUCTION{100, ...}`
* `#INTRODUCTION{...}`
Reviewed-on: #110
Co-authored-by: tcharlss <tcharlss@bravecassine.com>
Co-committed-by: tcharlss <tcharlss@bravecassine.com>
- balise_URL_ACTION_AUTEUR_dist (par Ybbet) : Ne pas avoir de gras sur cette balise
- translitteration (par JLuc) : ça veut dire que ça enlève les accents !
- job_queue_add (par b_b) : version française copiée depuis spip.net
Relecteur : Matthieu Marcillaud
+ on ajoute un pipeline formulaire_verifier_etape qui recoit le numero d'etape en args et permet donc de traiter les cvtmulti proprement depuis les plugins
On peut maintenant personaliser cette fonction pour chaque type d'objet avec une fonction quete_logo_{type}_dist() ou quete_logo_{type}
Ces fonctions personalisees ont la meme signature que la fonction generique quete_logo.
Elles peuvent permettre d'introduire une logique metier propre a chaque site sans modifier les squelettes.
Ex : aller chercher l'image jointe avec telle propriete si disponible, sinon le logo d'origine
La perenite de cela s'arretera probablement a la refonte de la gestion des logos, mais ca peut servir d'ici la
- encoding (utf8)
- eof_ending (saut le ligne en fin de fichier)
- elseif (pas else if)
- function_call_space (espaces sur fonctions)
- function_declaration (pareil)
- function_typehint_space (pareil)
- sur protege_champ() si le unserialize ne réussit pas… pas la peine de crier.
- sur les drapeaux d'édition, lorsqu'on crée un nouvel élément (par exemple un mot), le contexte n'a pas encore l'identifiant de l'objet.
- ajouter une class spip_logo_(left|right|center|top|bottom) correspondant au parametre d'alignement demande dans la balise #LOGO{}
- quand align est left ou right, ne pas utiliser l'attribut align deprecie mais un style float inline a la place
- enrichir le retour de quete_logo pour un usage plus simple
+ PHPDoc
Pour coller au mieux possible, on inverse l'ordre des objets, ce qui fait que plus un objet est "loin du core" moins il est prioritaire, la rubrique etant de toute façon la moins prioritaire de tous.
Ca reste approximatif et il faudrait une meilleure solution (peut etre tout simplement avoir un bouton pour chaque objet du contexte et non un seul)