- oct. 22, 2021
-
-
cerdic a rédigé
- sort dans une fonction dediee le code charge d'identifier l'extension d'un fichier selon les headers http et l'url source d'origine (code issu de la fonction recuperer_infos_distantes()) - on utilise cette nouvelle fonction distant_trouver_extension_selon_headers() pour identifier l'extension d'un fichier apres une copie locale et sanitizer le fichier local si besoin
-
cerdic a rédigé
Quand on fait une copie locale d'une image pour la filtrer ensuite, ne pas oublier de passer un coup de sanitizer si besoin
-
cerdic a rédigé
-
cerdic a rédigé
-
- oct. 21, 2021
-
-
cerdic a rédigé
Nom, nom_site et bio etant des champs librement modifiables par les utilisateurs, on les protege comme des forums, via safehtml L'impact perf est reduit ici car dans les listes d'auteur seul le nom apparait, lequel ne contient en general pas de < ce qui passe tres vite dans safehtml
-
cerdic a rédigé
Balise #FORMULAIRE : nettoyer du code mort qui ne sert plus, ameliorer la securite en ajoutant une signature des arguments du formulaire dès que l'auteur identifié. 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)
-
cerdic a rédigé
Avec un plongeur qui fait 50vh, quand on le déplie le bouton Choisir est la plupart du temps sous la ligne de flotaison, et on ne le voit pas, ce qui est assez perturbant. On réduit donc la hauteur en ajoutant un min-height pour les petits ecrans
- oct. 20, 2021
-
-
cerdic a rédigé
Accélerer SPIP 4 en retrouvant les fichiers cache au lieu de calculer à chaque fois, ça ira mieux :) (merci à Christophe Imberti pour l'identification du bug et de sa résolution)
-
- sept. 27, 2021
-
- sept. 23, 2021
-
-
cerdic a rédigé
-
- sept. 17, 2021
-
-
cerdic a rédigé
-
cerdic a rédigé
Fix/refactoring query_echappe_textes() qui ne detectait parfois pas completement et correctement les chaines On robustifie la fonction avec controle en amont et en aval, en preferant ne rien faire si on a un doute plutot que de risquer de casser la requete sql. On en profite pour rendre encore moins plausible la presence des sequences d'echappement dans la chaine Et on modernise le code dans query_reinjecte_textes() en utilisant un argument splat On modifie aussi l'usage dans req/mysql en privilegiant de garder la requete initiale intacte si il n'y a rien a faire dessus
-
cerdic a rédigé
autocomplete=off n'est plus trop supporte par les browsers modernes sur les champs de login car ils proposent le remplissage via le gestionnaire de password. Il faut utiliser autocomplete=new-password a la place Sans cela, quand on editer un auteur certains browsers remplissaient automatiquement avec le login/pass memorise pour le site et/ou memorisaient le login/pass de l'auteur concerne dans ses propres mots de passe. cf https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
-
- sept. 11, 2021
-
- sept. 07, 2021
-
- sept. 06, 2021
-
-
cerdic a rédigé
Un argument supplementaire $callback_prefix qui permet d'utiliser des callback prefixees ou dans un namespace sans devoir ecraser le comportement par defaut pour un besoin precis (notamment tests unitaires)
-
- sept. 02, 2021
-
-
cerdic a rédigé
Fix #4866 : tous les comptages de rang se font avec un where calcule via la fonction lien_rang_where() qui par defaut calcule un where correspondant a "tous les id_xx associes a objet-id_objet" mais dont le comportement peut etre personalise au cas par cas via une fonction perso lien_rang_where_{$table_lien}() Par ailleurs si un rang_lien est fourni lors de l'appel a objet_associer() il est directement pris en compte pour l'insertion du lien plutot que de calculer un rang automatique, inserer avec ce rang, puis modifier ensuite Enfin, dans ce dernier cas, on appelle pas lien_ordonner() immediatement apres l'insertion, mais on laisse d'abord lien_set() faire son job (a savoir eventuellement mettre le meme rang sur les autres liens id_xx/objet/id_objet identiques mais avec un role different), et finalement finir par un lien_ordonner() Additionnellement, la fonction lien_ordonner() ne presume plus du mode de comptage des rangs : - elle se repose aussi sur la fonction lien_rang_where() - elle utilise les infos des liens trouves - elle note les liens deja ordonnes pour eviter un double recomptage (notamment si on l'appelle avec plusieurs objets/id_objets qui sont tous comptes en une seule fois parce que c'est le primary qui sert de regroupement) (finger crossed)
-
- août 28, 2021
-
-
JamesRezo a rédigé
-
- août 26, 2021
-
-
JamesRezo a rédigé
- Introduction de PHP_CodeSniffer en tant qu'outil de développement - Mise en place du fichier de configuration par défaut (phpcs.xml.dist) - Mise à jour du fichier .gitignore - Introduction du fichier composer.json - ATTENTION!: Il ne s'agit en aucun cas de l'introduction de composer en tant qu'outil de développement pour SPIP! - Son seul ojectif, pour le moment, est de permettre l'installation et la mise à jour d'outils de développement annexes et des règles de codage. - Bonus: configuration pour la fabrication du fichier zip destiné à files.spip.net - Ex: composer archive --format=zip --dir=tmp --file=spip -> tmp/spip.zip Voir : https://discuter.spip.net/t/coding-standards/155150/24
-
- août 23, 2021
-
-
cerdic a rédigé
Fix style des modeles de document qui n'etaient pas complets (ie les players embed collent a gauche dans ecrire/)
-
- août 19, 2021
-
-
marcimat a rédigé
Définir boucle->primary aussi pour la création d’une boucle en PHP car des plugins (via le pipeline pre_boucle) s’attendent très logiquement à sa présence, notamment Magnet.
-
- août 16, 2021
-
- août 13, 2021
-
-
cerdic a rédigé
Eviter des notices sur l'utilisation des balises #GET/#ENV/#SESSION : on utiliser l'operateur ?? et on evite des @
-
- août 12, 2021
-
-
cerdic a rédigé
- le bouton 'vider le cache' vide les caches, et donc les contextes ajax - la redirection apres action de purge se fait en ajax, mais plus de contexte, donc erreur 400 - l'erreur etait bien traitee sur les simples liens ajax, mais pas sur les boutons actions ajax, ce qu'on corrige donc ici En sus, on ajoute un style sur les .ajaxbloc.invalid ce qui permet d'avoir un retour visuel pendant que la redirection non ajax se fait
-
- août 05, 2021
- août 04, 2021
-
-
cerdic a rédigé
-
- juil. 27, 2021
-
-
cerdic a rédigé
avec l'ajout d'une clause sinum systematique, on avait maintenant un `ORDER BY sinum, num` qui se transformait en `ORDER BY siVIDE(), VIDE()` invalide Cela dit, avec un sqlite 3.28 ce remplacement parait superflu, sa suppression serait peut-être judicieuse ?
-
- juil. 23, 2021
-
-
cerdic a rédigé
-
Reviewed-on: https://git.spip.net/spip/spip/pulls/4847 Co-authored-by:
MathieuAlphamosa <mathieualphamosa@noreply.git.spip.net> Co-committed-by:
MathieuAlphamosa <mathieualphamosa@noreply.git.spip.net>
-
cerdic a rédigé
Fix les formulaires qui ont des .editer-groupe dans les .choix, comme facteur ou mailshot, pour afficher des sous-parties conditionnees au choix
-
- juil. 12, 2021
-
-
cerdic a rédigé
Un selecteur CSS + restrictif car sinon cela impacte par exemple tous les .label d'un formidable dans le texte d'un article (mais aussi, c'est peut-être une erreur de formidable d'utiliser un nommage de classe si generique a cet endroit)
-
- juil. 09, 2021
-
- juil. 08, 2021