Fichiers du core
45 fichiers impactés :
- config/ecran_securite.php
- ecrire/inc_version.php
- ecrire/action/editer_objet.php
- ecrire/action/inscrire_auteur.php
- ecrire/auth/spip.php
- ecrire/balise/formulaire_inscription.php
- ecrire/base/abstract_sql.php
- ecrire/base/objets.php
- ecrire/inc/actions.php
- ecrire/inc/autoriser.php
- ecrire/inc/chercher_rubrique.php
- ecrire/inc/cookie.php
- ecrire/inc/feedfinder.php
- ecrire/inc/filtres.php
- ecrire/inc/headers.php
- ecrire/inc/plugin.php
- ecrire/inc/rubriques.php
- ecrire/inc/utils.php
- ecrire/inc_version.php
- ecrire/lang/ecrire_fr.php
- ecrire/lang/spip_fr.php
- ecrire/public/compiler.php
- ecrire/public/criteres.php
- ecrire/public/debusquer.php
- ecrire/public/parametrer.php
- ecrire/req/mysql.php
- ecrire/req/sqlite_fonctions.php
- ecrire/req/sqlite_generique.php
- ecrire/typographie/fr.php
- prive/echafaudage/contenu/objets.html
- prive/formulaires/configurer_reducteur.php
- prive/formulaires/login.html
- prive/formulaires/selecteur/articles.html
- prive/formulaires/selecteur/generique.html
- prive/formulaires/selecteur/rubriques.html
- prive/formulaires/traduire.html
- prive/informer_auteur_fonctions.php
- prive/javascript/ajaxCallback.js
- prive/javascript/login-sha-min.js
- prive/squelettes/inclure/admin_vider_cache.html
- prive/squelettes/inclure/head.html
- prive/themes/spip/icons.css.html
- prive/themes/spip/images/cfg-24.png
- prive/themes/spip/lists.css.html
- squelettes-dist/formulaires/inscription.php
16 tickets fermés :
2804, 2877, 2912, 2913, 2931, 2948, 2949, 2953, 2960, 2980, 2990, 2992, 2999, 3002, 3004, 3005
Corrections dans les traductions
- anglais
- corse
- espagnol
- russe
révisions 20538, 20539, 20568, 20569
ecrire/inc_version.php
mise à jour de version.
révision 20572
config/ecran_securite.php
Version 1.1.7
révisions 20562, 72982
ecrire/balise/formulaire_inscription.php
ecrire/inc/autoriser.php
ecrire/inc/filtres.php
ecrire/action/inscrire_auteur.php
squelettes-dist/formulaires/inscription.php
révision des autorisations d’inscriptions. La fonction tester_config devient un appel à une fonction surchargeable autoriser_inscrireauteur prenant en argument le type d’inscription et éventuellement l’ID d’une rubrique. Par défaut cette fonction n’accepte que les types 6forum et 1comite, et ignore la rubrique. Déléguer dans tous les cas l’autorisation de s’inscrire à autoriser("inscrireauteur", $mode, $id). Mais si aucun mode n’est fourni sur le #FORMULAIRE_INSCRIPTION, on choisit le meilleur possible parmi 1comite ou 6forum.
révision 20547
ecrire/req/sqlite_fonctions.php
la fonction « concat » de sql peut avoir plus de 2 arguments. Indiquons cela aussi à SQLite.
révision 20545
prive/javascript/ajaxCallback.js
si on utilise un plugin avec ’use strict mode ;’ $.ajax plante dedans car .caller n’est pas disponible. Proteger avec un try.catch.
révision 20544
ecrire/public/criteres.php
Revert de r20389 car TIMESTAMPDIFF n’est pas supporté par Mysql 4.x. rétablit le fonctionnement du critère {age ...}.
révision 20540
ecrire/action/inscrire_auteur.php
Inscription d’un auteur : le commentaire dit "Si mode inconnu laisser faire, c’est une extension non std", mais passer quand même par une autorisation, qui par défaut sera à false (puisque l’auteur est non connu, donc non identifié, il n’a aucun droit par défaut). Il suffit que autoriser("inscrireauteur", "xxx") renvoie true pour permettre l’inscription d’un auteur avec le statut xxx
révision 20536
ecrire/inc/rubriques.php
se protéger des références circulaires dans la table des rubriques dans la boucle HIERARCHIE. Plutôt qu’un code spécifique, on utilise la fonction générique calcul_hierarchie_in() que l’on modifie pour tenir compte de ce cas limite. Pour être homogène, on inverse l’ordre des rubriques qu’elle renvoie.
Ferme le ticket #3004
révisions 20534, 20535
ecrire/inc/rubriques.php
lorsque la table des rubriques est mal formée et contient une branche morte ou une référence circulaire dans les parents, la fonction propager_les_secteurs() tourne en boucle infinie. Correction : - protéger de ce risque par un maxiter initialisé par le nombre de rubriques de la table ; - revoir l’algo de mise à jour en procédant de proche en proche, par profondeur croissante et non pas "tant qu’il y a une rubrique mal rangée". Cela permet de plus de détecter le cas d’une table rubrique mal formée et de produire un log en conséquence. optimiser les updates en les faisant par groupe de rubriques de même secteur. poser un id_secteur=0 sur toutes les rubriques hors hiérarchie si il y en a (références circulaires, parents qui n’existent plus).
Ferme le ticket #3002
révision 20531
prive/squelettes/inclure/head.html
si surcharge de index.php, ne pas casser l’affichage du plan de site dans le privé.
révisions 20525, 20529
prive/formulaires/login.html
ajout de la variable lang dans le lien vers le formulaire de rappel du mot de passe.
Ferme le ticket #3005
révision 20523
ecrire/inc_version.php
la définition de _IS_BOT par le core est un fall-back si l’écran de sécurité n’a pas été appelé. C’est la definition de l’écran, plus à jour, qui est prioritaire.
Ferme le ticket #2999
révisions 20520, 20521
config/ecran_securite.php
liste plus exhaustive et complète des UA des bots, car ceux qu’on laisse passer faussent les stats (surestimées).
révision 20519
ecrire/inc/utils.php
les post AJAX sur un site iso-truc sont présumés en utf et importés dans le charset local par _request(). Mais ce n’est pas forcément le cas et le test de la preg n’est pas fiable, ce qui supprime des accents bien encodés à tort. On complète le test par un is_utf8() plus fiable.
Ferme le ticket #2804
révision 20518
ecrire/typographie/fr.php
ne pas ajouter d’insécable devant : si ce : est suivi de : (cas des adresses ipv6).
Ferme le ticket #2931
révision 20516
ecrire/inc/chercher_rubrique.php
quand une rubrique est selectionnée, il faut l’afficher dans le select, même si on a pas le droit d’y déplacer un article.
Ferme le ticket #2948
révision 20515
ecrire/lang/ecrire_fr.php
chaîne de langue manquante sur l’upgrade des plugins.
révision 20512
ecrire/inc/headers.php
quand l’url courante est profonde (url arbo) les redirections relatives étaient ambigues. On lève l’ambiguité en transformant en url absolue dès que la profondeur courante est supérieure à la normale et que l’url de redirection est relative.
révision 20509
prive/themes/spip/icons.css.html
zone clicable sur l’icône "Modifier ce..." lorsque la configuration des urls est activée.
Ferme le ticket #2913
révision 20499
prive/themes/spip/images/cfg-24.png
ajout du fichier icône cfg en 24px.
Ferme le ticket #2992
révisions 20495, 20497
ecrire/inc/actions.php
le paramètre optionnel "public", forçant la construction d’URL dans l’espace public doit être aussi proposé dans la fonction redirige_action_auteur(), autrement ça oblige à la réécrire à chaque fois.
révision 20494
ecrire/public/parametrer.php
articles virtuels : faire une redirection propre via la fonction redirige_par_entetes(), qui explicite le status 302 par défaut (il était indéterminé dans le code précédent). La constante _STATUS_REDIRECTION_VIRTUEL permet par ailleurs de personnaliser ce status en le passant en 301 systématique par exemple.
révision 20489
ecrire/req/mysql.php
ajouter un debug utile dans log/mysql-slow.log ; avec : define(’_DEBUG_SLOW_QUERIES’, true) ; dans mes_options.
révision 20488
prive/informer_auteur_fonctions.php
si un login n’existe pas, plutôt que de piocher les infos sur un autre login (au risque de fournir la photo d’un auteur sans lien lorsqu’on se trompe dans son email), inventer une réponse crédible à base de secret_du_site(), de la date du jour, et du login.
révision 20486
ecrire/public/compiler.php
profiler les boucles dans tmp/profiler.log si leur temps de calcul dépasse un certain seuil (à fixer par exemple avec define(’_BOUCLE_PROFILER’, 5000) ; pour 5 secondes).
révisions 20484, 20490
ecrire/lang/spip_fr.php
ecrire/inc/chercher_rubrique.php
accessibilité ; ajouter un alt explicite sur la loupe qui affiche la liste des rubriques ; ajout de la chaîne de langue correspondante.
Ferme le ticket #2990
révision 20482
ecrire/req/sqlite_generique.php
support de IF NOT EXISTS en fonction de la bonne version de SQLite.
Ferme le ticket #2949
révision 20481
prive/themes/spip/lists.css.html
améliorer l’affichage des puces de changement de statut au survol.
Ferme le ticket #2953
révision 20479
prive/echafaudage/contenu/objets.html
l’icône d’un objet peut avoir été déclarée explicitement, donc c’est cette info qu’on utilise.
révision 20478
ecrire/public/criteres.php
ne pas casser un critère {annee=2013} sur une table avec un champ année.
Ferme le ticket #2912
révision 20477
prive/formulaires/configurer_reducteur.php
retrouver la possibilité d’utiliser Imagemagick (Convert).
Ferme le ticket #2877
révision 20476
ecrire/inc/cookie.php
comparer le nom du cookie avant remplacement du préfixe pour déterminer httponly.
Ferme le ticket #2960
révision 20468
ecrire/inc/filtres.php
optimiser #PRODUIRE : - on ne reécrit le fichier que quand il change effectivement en passant par un fichier intermédiaire .last (évite le renouvellement inutile des timestamp, qui produisent des feuilles compilées inutilement) ; - quand on reécrit le fichier il faut appeler clearstatcache() sur ce fichier, sinon PHP ressert le vieux timestamp jusqu’à la fin du hit, et il faut recharger 2 fois la page pour avoir la mise à jour.
révision 20467
ecrire/action/editer_objet.php
quand on crée un objet, prendre le premier statut déclaré si dispo, sinon prepa (plus générique).
révision 20460
ecrire/public/debusquer.php
en mode debug, ne pas interpréter les critères de boucle (comme par exemple : {"<br />"}).
révision 20458
ecrire/base/abstract_sql.php
sql_showbase() et sql_showtable() ne génèreront plus de logs d’erreur inopportuns.
révisions 20456, 20457
prive/formulaires/selecteur/rubriques.html
prive/formulaires/selecteur/generique.html
prive/formulaires/selecteur/articles.html
chargement non bloquant en utilisant getScript (qui est asynchrone).
révision 20452
prive/formulaires/traduire.html
ecrire/base/objets.php
proposer la clé ’texte_definir_comme_traduction_objet’ dans la déclaration de l’objet éditorial pour définir la chaîne « Ce X est une traduction du X numéro :» qui pour l’instant s’affichait systématiquement avec le texte ’article’ erroné. On mappe pour les articles la chaîne de langue déjà existante. Ainsi « tradrub » ou d’autres plugins ayant des objets éditoriaux avec traductions peuvent définir les bons textes.
révision 20443
ecrire/inc/plugin.php
ne plus limiter à 100 la liste des plugins installés.
révision 20441
prive/javascript/login-sha-min.js
ecrire/auth/spip.php
pour éviter deux requètes, on concatène les deux js obligatoires du login dans un nouveau fichier minifié.
révisions 20430, 20432, 20435
ecrire/inc/feedfinder.php
ne pas récupérer les feeds opensearch. déplacement du fichier dans le plugin sites.
révisions 20427, 20428
prive/squelettes/inclure/admin_vider_cache.html
ecrire/lang/ecrire_fr.php
passage en chaînes de langue de textes restés ’en dur’.
Ferme le ticket #2980
Fichiers de plugins-dist
6 tickets fermés :
2787, 2889, 2912, 2955, 2983, 3004
COMPRESSEUR
révision 72767]
la librairie Minify_HTML note en TODO qu’elle doit prendre en compte les attributs avec multiples retours ligne. En attendant une solution générale, on échappe les <input> pour ne pas fausser ce qui est posté en hidden lors de la prévisu.
Ferme le ticket #2787
révision 72763]
mise à jour de la librairie Minify_HTML.
révision 72562
clear_stat_cache() pour que le timestamp soit à jour dans la page construite dans ce hit.
FORUM
révision 72422
éviter un notice/warning.
MEDIABOX
révision 72287
Aérer la navigation dans la thickbox (permet d’avoir plus de 100 images).
Ferme le ticket #2983
MEDIAS
révision 72335
Ajout de la prise en compte de l’extension ".tar".
PETITIONS
révision 72609
permettre aux pétitions de bénéficier d’un permalink pour s’y retrouver malgré les paginations.
REVISIONS
révision 72557
ne pas casser un critère {annee=2013} sur une table avec un champ année.
Ferme le ticket #2912
révision 72198
Permettre à un plugin utilisant les révisions de spécifier les labels des champs sous révision via un nouveau pipeline revisions_chercher_label. La valeur par défaut sera toujours la même qu’auparavant.
SITES
révision 72733
Certaines dates de flux sont formatées dans la langue du flux et non en anglais. On essaye de remplacer le nom des mois par le nom anglais pour interpréter la date + Certaines dates finissent par UT au lieu de UTC qui bloque la conversion par strtotime, on corrige si necessaire + Quand on a pas réussi à lire la date, il faut forcer à la date du jour et pas laisser 1970.
Ferme le ticket #2889
révision 72205
Déplacement du fichier feedfinder.php depuis le core, il n’est utile que via ce plugin.
SQUELETTES_PAR_RUBRIQUE
révision 72917
se protéger des références circulaires dans les rubriques lorsqu’on stylise (et on protège avec une profondeur maxi de 10000 dans tous les cas).
Ferme le ticket #3004
STATISTIQUES
révision 72744
Réparer la largeur totale de la barre dans les sous rubriques : elle reprend la largeur correspondant au nombre de visites de la branche parente + ajustements de style sur la page.
Lisibilité et ergo des statistiques : - échelle axe des Y à droite (près des mesures les plus récentes) ; - légende en dessous des graphes, en ligne ; - Titre en fer à gauche, regroupé avec les actions de pagination ; - graphe des mois depuis l’origine du site par défaut (graphe des jours inchangé sur 90 jours) ; - axe des X : date humainement lisible (15 janvier au lieu de 15/01/2013) ; - éviter les effets de gradients sur les barres ça gène la lisibilité. On met en plein avec une très légère transparence pour ne presque pas distinguer border et background ; - le gris des weekend était à peine visible sur certains écrans, on le fonce ; - la barre des changements d’année est de largeur 1 mois sur le graphe des mois ; - ne pas masquer l’explication car elle n’est pas visible ,- hiérarchie de l’info dans le tableau des résumés ; - page des referers : réduire la largeur de la colonne gauche pour éviter cette impression de texte centré ; - mettre la miniature en float:right et réduire sa taille ; - réparer l’affichage de la répartition par rubrique qui était tout cassé car construit avec des table dans des tables dans des tables... héritant toutes des styles par défaut + Un peu de refactoring js en utilisant closest(’.graphique’) au lieu d’enchaîner les .parent() qui rendent le code peu robuste.
TEXTWHEEL
révision 72918
nettoyer_raccourcis_typo() supprime dorénavant les raccourcis d’ancres.
révision 72774
ne pas ajouter d’insécable devant : si ce : est suivi de : (cas des adresses ipv6).
VERTEBRES
révision 72555
certains critères ne se compilent pas bien {logo}, {recherche}... les ajouter aux exceptions + utiliser #CHAMP_SQL{} systématiquement pour éviter homonymie malheureuse.
Ferme le ticket #2955