Je me reponds (voir en bas)
> >je souhaite donc reecrire la fonction qui interprete
> >le code de la base de données mais je n'arrive
> >malheureusement pas a le situer parmis les fichiers
> >SPIP.
>
> Je pense que c'est /ecrire/inc_texte.php3
eh bien oui ! apres avoir parcouru le code de spip, je confirme.
plus precisement : function traiter_raccourcis
c'est cette fonction qui remplace tous les raccourcis typographiques
par le code HTML associe.
d'ailleurs en passant : le code stocke dans la base de donnees
contient encore tout les raccourcis typo de spip.
peut-etre aussi expliquer mon probleme : je souhaite pouvoir utiliser
des raccourcis typo 'proprietaires', cad non-existants dans spip et
qui ne servent peut-etre pas a grand'monde si ce n'est a mes auteurs.
une possibilite serait de passer #TEXTE dans une moulinette lors de
l'affichage des pages, mais ca ne resoud pas le probleme de la
previsualisation lors de l'ecriture.
il semble donc qu'il faille intervenir sur traiter_raccourcis
directement.
l'ideal serait d'appeler une fonction generique
ma_fonction_traiter_raccourcis (si elle est definie, dans
mes_fonctions.php3 par ex.). Ca permettrait a chacun d'integrer ses
propres fonctions selon ses besoins.
Je ne sais pas encore trop si il vaut mieux l'appeler avant ou apres
le reste de traiter_raccourcis.
avant : on peut generer des raccourcis compatibles avec spip qui
seront moulines comme le reste, mais on ne peut pas faire de
postprocessing. apres : on peut faire du postprocessing (on est sur
que spip ne viendra plus rien changer), mais on est oblige de traiter
les raccourcis soi-meme puisque spip n'y touche plus.
ou alors faire 2 fonctions, une pre- et une post-processing ?
les developpeurs, vous en pensez quoi ?
Joel
je viens d'avoir une reponse de Fil :
"Je pense que c'est peut-être une bonne idée pour toi, mais une mauvaise
idée
pour SPIP en général : en effet chaque site spip aura alors un espace
privé
se comportant différemment, et les réflexes qu'on pourra acquérir sur
l'un
ne fonctionneront pas sur l'autre. D'où une fragmentation, non
désirable."
donc : ce ne sera pas implemente d'office dans spip.
pour ceux qui souhaitent quand meme le faire (Frederic ?) de maniere
privee sur leur site :
editer ecrire/inc_texte.php3
tout en bas se trouve :
// Filtre a appliquer aux champs du type #TEXTE*
function propre($letexte) {
return interdire_scripts(traiter_raccourcis(trim($letexte)));
}
modifier en :
// Filtre a appliquer aux champs du type #TEXTE*
function propre($letexte) {
return
mon_postproc(interdire_scripts(traiter_raccourcis(mon_preproc(trim($let
exte)))));
}
et definir mon_preproc et mon_postproc dans mes_fonctions.php3
Warning quand meme : ca suppose une sacree bonne connaissance des
expressions regulieres, reflechissez a 2 fois avant de vous engager sur
cette voie !
Joel