On ajoute cache-client sur le cache de ces fichiers. C'est presque suffisant, mais il faut aussi les recalculer lorsqu'un plugin qui modifie les fichiers
de porte-plume s'active ou se désactive. Du coup, on calcule un hash et un fond statique pour ces 2 fichiers, qui dépend du code variable de ces fichiers.
Bon du coup on peut éviter quelques hits sur le serveur, mais la contrepartie, c'est qu'il faut calculer ces hash, parfois inutilement j'imagine, au calcul d'une page.
À voir.
- correction d'une erreur JS lorsqu'on appelle la prévisu sur autre chose qu'on formulaire d'édition
- correction de la non transmission des données à prévisualiser si la prévisu est lancée sur autre chose que les textarea.texte (c'est assez étonnant, je sais pas trop ce qui a changé)
- deplacer le squelette de preview dans prive/ pour ne pas permettre sa consultation directe
- ajouter un autoriser() dans l'action previsu pour fermer la porte lorsque le porte plume est desactive dans le public
- dans tous les cas faire passer le resultat par safehtml car le texte source peut venir de n'importe qui/n'importe ou et peut servir de support a une attaque type XSS ou vol de cookie (l'utilisation d'un $_POST explicite exclue toutefois le simple lien)
Pas besoin de sécuriser outre mesure ici, on ne réalise donc qu'un recuperer_fond sur les données postées
On passe par cette action pour éviter les redirection et la perte du $_POST de $forcer_lang=true;
cf : ecrire/public.php ligne 80
- Mise à jour des scripts d'expression régulière pour la fonction .split() que l'auteur à intégré dans une librairie plus générale, reprenant .replace(), .match() aussi notamment : http://xregexp.com/
- Charger la barre après le chargement de la page.
* mise en fichier externe de la fonction de chargement de porte plume ce
qui permet de la prendre en charge par le compacteur
* permettre des insertions de barrs d'outils avec des classes javascript posés sur
les textarea : inserer_barre_forum, inserer_barre_edition, inserer_previsualisation
* permettre de ne pas déposer la barre dans l'espace public avec la constante PORTE_PLUME_PUBLIC, définie à true par défaut (javascript et css présents dans le public)
* donner une API pour créer des barres d'outils sur des textarea sélectionnés en javascript :
.barre_outils($nom) et .barre_previsualisation().
Exemple issu du core de porte plume :
{{{
$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
}}}