Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] Caractères spéciaux dans les alias LISE, CustomGS, etc...
#9

Désolé si je donne l'impression de faire un monologue Rolleyes mais je préfère apporter un maximum d'information dans ce post.

Je viens de tomber sur un paragraphe interessant dans le PDF officiel "Introduction to Writing modules for CMS Made Simple":

Citation :The munge_string_to_url() method will take a holiday name and translate the characters until they are all safe URL characters.

(le lien du pdf: https://docs.cmsmadesimple.org/uploads/M...torial.pdf)

Donc sachant que cette fonction ne filtre actuellement plus les caractères spéciaux (donc que la doc n'est pas à jour), ça fait que les développeurs de modules qui l'ont utilisée dans le but de générer des alias propres (par exemple), se retrouvent maintenant avec un énorme défaut au sein de leurs modules... Et qu'ils ne sont pas forcément au courant car ils ne sont pas confrontés aux caractères spéciaux dans leur routine de travail.

Et puis j'ai cité uniquement 2 modules affectés car je les utilise, mais il pourrait très bien y en avoir plus... Donc la solution de contacter chaque développeur pour leur communiquer le problème me parait peu réaliste.

Après si vraiment... il faut contacter chaque développeurs pour leur dire "hey munge_string_to_url ne convient plus pour générer des alias..." j'imagine qu'ils pourraient utiliser à la place un plugin modifier.safetext.php avec le code suivant:

Code :
<?php
function smarty_modifier_safetext($string){
    $string = preg_replace("`\[.*\]`U","",$string);
    $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$string);
    $string = preg_replace( '`"`i', "", $string);
    $string = htmlentities($string, ENT_COMPAT, 'utf-8');
    $string = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i","\\1", $string );
    $string = html_entity_decode($string);
    $string = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $string);
    return strtolower(trim($string, '-'));
}
?>

Ou un autre truc du genre.

Encore une chose (et après j'arrête Rolleyes ) je trouve étonnant que ce bug soit présent depuis 2016 (en tout cas) et que personne ou très peu de gens ne l'ait remarqué. Pour une communauté autre que anglophone c'est hyper handicapant et fastidieux professionnellement parlant, au point d'en venir à se poser la question "est-ce que je continue à utiliser ce cms?". J'exagère Wink mais honnêtement ce serait cool de voir apparaitre d'autres retours d'utilisateurs sur le sujet dans la communauté francophone, car pour le moment j'ai l'impression d'être le seul à en parler et y être confronté.
Sujet fermé


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)