SPIP-Core spip-2.1.29 -> spip-2.1.30 06 mars 2017
-------------------------------------------------------------
r22970 | esj | (ven. 25 mars 2016) | Des crochets dans une URL, bien qu'autorisés sans mention notable par le W3C, fait qu'une page RSS en contenant est refusée à la validation par http://www.feedvalidator.org/. On les transcode avec la notation "%" dans le cas de la balise SELF, juste après son utilisation de htmlspecialchars qui aurait pu prendre cette précaution.
r23004 | esj | (mar. 10 mai 2016) | Le squelette fautif ci-dessous provoque un erreur fatale (et Full Path Disclosure): SPIP considère que le nom de la boucle s'arrête avant la parentèse ouvrante, mais si on ne vérifie pas qu'il n'y a que des caractères alphanumériques, c'est l'erreur de syntaxe PHP assurée quand on va s'en servir pour nommer des fonctions.{{{(RUBRIQUES){id_parent}>#TITRE}}}
r23048 | esj | (lun. 20 juin 2016) | SPIP n'envoyait pas l'en-tête Content-Length, ce qui empêche de profiter des connexions persistantes de HTTP/1.1. Son calcul est gêné par la 2e passe de PHP,mais c'est comme pour la prévisu en mode non HTML (cf. r20455), il suffit de placer ce calcul en aval.
r23049 | esj | (lun. 20 juin 2016) | SPIP n'était pas compatible avec le vieux mode HTTP qui envoie après le nom de laméthode l'URL compléte (protocole, "://", nom du serveur avant le path): la fonction url_de_ ajoutait systématiquement "http://" et on se retrouvait avec deux fois ça. De plus, dans ce cas là PHP ne met rien dans l'index 'HTTP_HOST' de $_SERVER, il faut alors se rabattre sur la meta adresse_site faute de mieux.
r23050 | esj | (lun. 20 juin 2016) | Report en SPIP 2.1 de la liste des moteurs de recherches du plugin statistiques.
r23052 | b_b | (mar. 21 juin 2016) | Fix #3797 : report de r19183 et r20501 ; utiliser HTTPONLY pour le cookie de session
r23054 | esj | (mar. 21 juin 2016) | Maintenant qu'on sait calculer la taille de la page avant envoi, on peut déterminer si ça vaut le coup de compresser, et si oui on le fait. Des essais sur le site http://www.webpagetest.org semblent indiquer qu'à partir de 8Ko ça vaut largement le coup.
r23072 | esj | (lun. 27 juin 2016) | Suppression de la décompression d'un cache quand il n'a pas besoin de post-traitements et que le navigateur accepte le format compressé Deflate utilisé par SPIP pour gérer son cache. Les tests réalisés font apparaître un gain de 10% dans le temps de rendu de la page par les navigateurs.Les post-traitements sont effectués par public.php soit par un code explicite, soit par les déclarations dans le pipeline "affichage_final", lequel était en standard garni avec 3 fonctions. Elles en ont été retirées et rendues explicites dans public.php, car ce pipeline impose de décompresser pour savoir s'il faut décompresser ! Voici les post-traitements qu'il faut essayer d'éviter pour obtenir l'optimisation: * les squelettes de premier niveau comportant des interpolations de PHP nécessitent un post-traitement; il faut les éviter, en particulier utiliser "#INCLURE" plutôt que la version où "#" est remplacé par un chevron ouvrant; * si la profondeur d'URL n'est pas nulle et qu'une balise base avec attribut Href en absolu ne figure pas dans le squelette, l'introduction de cette balise est nécessaire; mettre cette balise dans le squelette est préférable, et sa présence est testée lors de la mise en cache afin de disposer de l'information sans nécessité de décrompression; * un post traitement de surlignage est effectué si la requête comporte "var_recherche" et possède un Referer; à noter que ce code est lié au filtre url_var_recherche de la 1.9.2 et qui a disparu en 2.0 bizarrement (il ne figure pas dans le r12702 qui l'a créée, alors que la 1.9.2 a continué à l'améliorer jusqu'à la r14826). De plus un AND a été tranformé en OR à un moment, ce qui faisait invoquer cette fonction dès qu'un Referer était présent. Sauf plugin inconnu, je pense que ce code est complètement mort et devrait être supprimé; * un post-traitement est nécessaire si on demande la validation XML de la page (seulement accessible aux admins); * un post-traitement est nécessaire en cas de bouton admin (même remarque).Enfin, si une version compressée n'est pas envoyable (inexistante ou ayant nécessité décompression) SPIP effectue la compression si le panneau de configuration l'a demandé. Ce bout de code de fait donc le boulot de l'extension "compresseur" qui a le défaut de tenter de compresser les envois par le script "acceder_document" et sort en erreur quand ils sont trop gros. Il peut donc être retirer de la distribution sans perte de fonctionnalité.
r23073 | esj | (lun. 27 juin 2016) | Encore une amélioration dans la gestion des caches compressés. Dans le cas des caches versionnés, le cache est géré par 2 fichiers. Plutôt que de mettre presque rien dans le premier, on y met tout sauf la page elle-même, et le 2e est la page, compressée le plus souvent. Lorsqu'on accède à un tel cache, on ne lit pas le 2e fichier, on se contente de mémoriser son nom dans la structure de données décrivant la page. Au niveau de public.php, le "echo" final est alors remplacé par un appel à "readfile". Cette action court-circuite donc la transformation du contenu du fichier en une chaîne de caractères PHP. Pas de gain de temps apparent avec les outils d'observation dont je dispose, mais une réduction certaine de l'espace mémoire nécessité par PHP.Pour s'assurer que le 2e fichier est bien postérieur au 1er (cas du squelette d'origine modifié ultérieurement et inroduit dans le cache par une autre session) on utilise filemtime comme le faisait le code de r15851 à l'origine (r15852 ne précise pas pourquoi une autre méthode, incompatible avec la stratégie d'aujourd'hui, serait meilleure).
r23080 | esj | (mar. 28 juin 2016) | Retour sur r23049, et cf. 23077: au cas où l'argument de la méthode contient le protocole, il contient aussi le serveur qu'il faut donc enlever. Mais tout cela est alors justement le Host que l'index 'HTTP_HOST' de $_SERVER devrait indiquer, on le prend plutôt que la meta.
r23094 | esj | (lun. 04 juil. 2016) | Les en-têtes envoyées par l'action "acceder_document" étaient destinées à contourner un bug du cache d'IE5, et d'après https://blogs.msdn.microsoft.com/ieinternals/2009/07/20/internet-explorers-cache-control-extensions/ c'était contre-productif. De plus, la programmation de tout ça oblige à tout recopier si on veut, justement, ne modifier que l'en-tête de cache. On réécrit ça proprement.
r23114 | guytarr | (jeu. 14 juil. 2016) | report de r23057 r23109 r23103 r23098 : on essaye meme pas de recuperer l'URL si la source fournie n'en est pas une, tester_url_absolue() n'accepte pas certains protocoles car on est sur le web
r23163 | erational@erational.org | (mer. 21 sept. 2016) | Fix #3830il manquait une chaine de langue pour indiquer la longuer attendue du loginon supprime l'autre chaine car elle fait appel à _PASS_LONGUEUR_MINI qui n'est pas défini en SPIP 2.1
r23164 | erational@erational.org | (mer. 21 sept. 2016) | retour sur r23163, on évite d'introduire les chaines de 3.0 et 3.1.on revient sur les chaines originelles
r23287 | b_b | (mer. 30 nov. 2016) | Réparer l'import des logos lors de la fusion de dumpsLors de la fusion d'un dump, SPIP allait chercher le logos des articles importés sur le site d'origine après avoir décalé les id_article dans la base. Introduction d'une fonction import_trouver_identifiant_origine() utilisée dans import_inserer_translate() afin de corriger ce bug.Grand merci à marcimat pour l'aide au debug de cette situation "étonnante" :)
r23451 | erational | (lun. 06 mars 2017) | report de c23440 : échapper le contenu de l'entête
SPIP-Core spip-2.1.28 -> spip-2.1.29 10 mars 2016
-------------------------------------------------------------
r22264 | esj | (mer. 24 juin 2015) | 3sSuite de r22206 quant à l'exemple fourni par Georges Kandalaft.D'abord le message r22206 a été tronqué par un chevron non neutralisé; il voulait dire:Dans le squelette ci-dessous le "**" après #SESSION n'est pas seulementdestiné à produire un code PHP plus efficace (il ne sécurise pas car cen'est pas nécessaire quand on ne s'intéresse qu'au résultat booléen),mais aussi parce que le "interdire_script" introduit sinon transcodele chevron dans le "<?php" de la balise dynamique #URL_LOGOUT,ce qui la neutralise. C'est en fait un bug qui a toujours existé. Le rôle de "interdire_scripts" est de nettoyer la valeur d'une balise qui peut être alimentée de l'extérieur.Cette fonction doit s'appliquer sur cette valeur seulement,et non sur le résultat de son traitement par les filtres qu'on lui applique,qui eux peuvent introduire des scripts à bon escient. C'est en particulierle cas des balises dynamiques comme URL_LOGOUT qui introduit un "<?php"neutralisé à tort par le compilateur jusqu'à aujourd'hui.On permute donc l'insertion de "interdire_scripts" dans le code avec l'insertion des filtres. Dans le squelette ci-dessous, il n'est donc plus nécessaire de placer la double étoile pour obtenir un code compilé correct (mais il reste intéressant dans le faire par souci d'efficacité).
r22265 | esj | (mer. 24 juin 2015) | Lorsqu'on applique ce filtre de modèles, ne pas rajouter les balises Pre si le document est vide car ça force à tort l'apparition des parties avant/après d'un champ étendu dont le contenu est réduit à un modèle utilisant ce filtre.
r22266 | esj | (mer. 24 juin 2015) | Retour sur r19885 sur l'existence d'un fichier faussement distant mais vraiment protégé: le file_exists introduit pour éviter un Warning ne donne pas la bonne réponse quand on passe par le script ecrire/prive.php, il faut tester l'existence pour les 2 cas d'appels possibles.On élimine aussi le Warning en cas de définition préalable de la constante repérant le cas.
r22269 | esj | (jeu. 25 juin 2015) | Retour sur r22264. En fait l'emplacement orginel de "interdire_scripts" provoque deux bugs de natures différentes: * la neutralisation inopportune des scripts introduits par le compilateur (bug corrigé par r22264); * l'altération des appels à des scripts introduits par un rédacteur, scripts q'il ne faut effectivement pas interpréter (cas du squelette nécessitant une double passe de PHP, cf. scénario possible sur http://article.gmane.org/gmane.comp.web.spip.devel/66397) mais cette stratégie brutale ne répond pas à l'intention d'un rédacteur qui s'attend à voir s'afficher le source de l'appel du script, pas le résultat de son exécution (je ne parle évidemment pas d'un rédacteur malveillant qui essaye d'exploiter une faille).A première vue la résolution correcte du 2e point nécessite de gros changementsdans la stratégie de compilation adoptée depuis le début de SPIP. Il vaut mieux se donner le temps de la réflexion avant d'aller dans cette voie.Je remets le code antérieur par "svn merge -r -r22264:22263 ."pour ne pas laisser cette faille potentielle,en actant provisoirement que le premier bug doit être considéré comme une limitation de SPIP,savoir le fait qu'il n'est pas possible d'utiliser une balise produisant du PHP dans un argument de filtre.
r22281 | fil | (lun. 29 juin 2015) | liens_absolus et data-src (https://core.spip.net/issues/3456)
r22374 | cy_altern | (jeu. 30 juil. 2015) | report de 91148 (acces de google bot aux js et css)
r22388 | b_b | (ven. 14 août 2015) | Report de r22384Gros bug sur r22282 (cf #3456)Le passage en liens absolus se faisait uniquement sur le premier href ou src, remplaçant le premier href ou src par le dernier href / src présent dans le texte...On ne remplaçait plus lien par lien
r22391 | erational | (mar. 25 août 2015) | report de c22360
r22413 | esj | (mar. 15 sept. 2015) | Lorsque des auteurs n'ont plus de nom dans leur table, ne pas mettre "vide" à chaque fois mais plutôt leur numéro, ça permet de les différencier.
r22416 | esj | (jeu. 17 sept. 2015) | include manquant
r22438 | esj | (ven. 23 oct. 2015) | Microscopique retour sur r15976 améliorant http://zone.spip.org/trac/spip-zone/changeset/25794 consacré au lien Hreflang dans un raccourci d'article: on ne vérifiait pas que le raccourci portait bien sur un article. Et eviter de produire un attribut "class" vide.
r22619 | esj | (jeu. 03 déc. 2015) | Complément à r20277: la réécriture de la fonction build_while pour permettre l'import-export entre bases ne donnait accès qu'au nom de la base importée, et pas à toutes les informations fournies par la meta décrivant l'opération. On la lui fait donner à présent à la fonction calculée "inc_export_$save". Afin de préserver la compatibilité, cet argument est donné en plus en non à la place de celui qui le précède, bien qu'il le contienne.Donner aussi les informations issues de cette meta en cas d'échec de l'opération.
r22652 | esj | (sam. 12 déc. 2015) | Full Path Disclosure dans le phraseur. Lorsqu'un symbole d'avant-boucle n'avait pas son chevron fermant,le compilateur signalait bien l'erreur mais produisait quand même du code PHP,leque étant syntaxiquement faux produisait une erreur PHP. Bonne stratégie: poursuivre la compilation un caractère après le chevron ouvrant de cette avant-boucle pour traquer les éventuelles erreurs plus loi.
r22682 | booz | (jeu. 17 déc. 2015) | Backporter la feature disruptive des logs de spip 3
r22692 | denisb | (ven. 01 janv. 2016) | bonne année.
r22722 | fil | (mar. 12 janv. 2016) | report de https://core.spip.net/projects/spip/repository/revisions/22719 (Perf issue sur les filtres images appliques sur des images distantes en 404, par cerdic)
r22726 | esj | (ven. 15 janv. 2016) | Il arrivait qu'un bloc d'objets prétendumet proposés à la publication etc soit vide. La raison en était que la fonction inc_presenter_liste_dist répondait bien une chaîne vide si la requête SQL ne donnait rien, mais retournait une balise HTML TABLE ou UL vide si la fonction passée en paramètre retournait vide pour tous les résulats de la requête (par exemple afficher_object_boucle qui renvoie vide si autoriser_voir reponse False).
r22772 | esj | (mar. 02 févr. 2016) | Compatibilité PHP7 par report du code de SPIP3. Toutefois la disparition de l'appel à creer_base_type_doc est problématique en SPIP2.1 (pas en SPIP3 ?), on le remet.
r22773 | esj | (mar. 02 févr. 2016) | Compatibilité PHP7 par report du code de SPIP3, savoir abandon du connecteur mysql pour le connecteur msqli. Toutefois on n'adopte pas le chgt de nom de deux constantes pour assurer la compatibilité. Et report de r22771 sur les hébergeurs disparus.
r22774 | esj | (mar. 02 févr. 2016) | Compatibilité PHP7. De plus, il manquait la prise en compte de "?" dans l'analyse de la DTD.
r22775 | esj | (mar. 02 févr. 2016) | Compatibilité PHP7.
r22776 | esj | (mar. 02 févr. 2016) | Eviter un warning
r22777 | esj | (mar. 02 févr. 2016) | La fonction base_dump_meta_name n'utilisait en fait pas son argument, ce qui montre qu'il n'était pas important. On rationalise.
r22804 | james | (sam. 06 févr. 2016) | report de r22801: éviter des warning dans les logs (Camille Sauvage)
r22807 | james | (sam. 06 févr. 2016) | report de r22805
r22817 | james | (mar. 09 févr. 2016) | report r22814
r22821 | james | (mer. 10 févr. 2016) | report r22818
r22825 | marcimat | (mer. 10 févr. 2016) | Report de r22822 : Le cnx doit être de la même forme dans tous les cas de retour, avec ou sans le login trouvé dans le formulaire de login. Clos https://core.spip.net/issues/3690 (Stéph R).
r22871 | marcimat | (lun. 29 févr. 2016) | Manque une accolade depuis rphp -l install.php
r22904 | cedric | (jeu. 10 mars 2016) | Report de r22872 : Fix #3680 : on change le format du contexte ajax pour pouvoir verifier la cle de signature du contexte avant de deserializer, ce qui permet de faire confiance au contenu
r22911 | cedric | (jeu. 10 mars 2016) | un filtre filtrer_entites
SPIP-plugins-dist spip-2.1.28 -> spip-2.1.29 10 mars 2016
-------------------------------------------------------------
r93499 | pierre | (mer. 09 déc. 2015) | Espaces insécables
r93500 | pierre | (mer. 09 déc. 2015) | Annuler le commit précédent sur les espaces insécables.C'est probablement sur la chaine de langue qu'il faut intervenir.Elle est dans ecrire_fr.php, ne faudrait-il pas la déplacer dans le plugin forum texte_statut_publiestexte_statut_attente_validation?
r94398 | denisb | (ven. 01 janv. 2016) | bonne année.
r94399 | denisb | (ven. 01 janv. 2016) | bonne année.
r94884 | esj | (mar. 02 févr. 2016) | Compatibilité PHP7, report de SPIP3.
SPIP-Core spip-2.1.27 -> spip-2.1.28 23 juin 2015
-------------------------------------------------------------
r22126 | cedric | (dim. 10 mai 2015) | Report minimal de r22116 r22118 r22119 : #3418 : Octave utilise une configuration foireuse de opcode cache, qui persiste 2s apres modification du fichier sans possibilite de l'invalider manuellement. On essaye donc de detecter cette configuration et de faire un sleep() le temps que le cache soit invalide
r22133 | suske | (dim. 10 mai 2015) | report de 22086 (Francky)
r22138 | marcimat | (mar. 12 mai 2015) | Coquille dans le report r21430 : La constante _IMG_IMAGICK_QUALITE n'est présente qu'à partir de SPIP 3. On remet la valeur fixe.
r22206 | esj | (sam. 06 juin 2015)| Deux bugs dans le phraseur illustré par l'exemple ci-dessous fourni par Georges Kandalaft:-* (ligne 295) ce qu'il y a avant un nom de balise dans un argument n'est pas forcément du texte brut, il peut y avoir des chaînes de langues;-* (ligne 256) les apostrophes et guillemets en début d'argument ne sont pas forcément des délimiteurs SPIP, il faut qu'il y en ait un 2e plus loin, ce que preg_match contrôlait sans que SPIP tienne compte de son résultat. On y veille à présent mais il est à noter que cette condition est nécessaire mais non suffisante, du fait de la terrible ambiguité de la syntaxe des squelettes. Il y a donc d'autres bugs potentiels quand on met des balises comme arguments d'une balise.Autre chose qui ne relève pas du phraseur: dans le code ci-dessous le "**" après #SESSION n'est pas seulement destiné à produire un code plus efficace (il ne sécurise pas car ce n'est pas nécessaire quand on ne s'intéresse qu'au résultat booléen), mais aussi parce que le "interdire_script" introduit sinon transcode le chevron dans le "[(#SESSION**{nom}|?{<:bienvenue:> #SESSION{nom} <:logout:>,
})]
r22209 | b_b | (mar. 09 juin 2015)| report de r22201 / Fixe #3418 : complément à r22119 ajouter une seconde à la durée de opcache.revalidate_freq, sans quoi on retombe dans le cache
r22223 | erational | (ven. 12 juin 2015)| éviter un warning si la session visiteur n'existe pas.
SPIP-Core spip-2.1.26 -> spip-2.1.27 09 mai 2015
-------------------------------------------------------------
r21269 | b_b | (jeu. 13 mars 2014) | Ferme #3187 : réparer le in-reply-to des flux rss des forumson trainait une erreur dans ces flux depuis 5 ans, du coup en réparant je me rends compte qu'il manquait un include pour que le filtre |generer_url_forum_parent fonctionne
r21324 | esj | (lun. 21 avril 2014) | Contrairement à ce qu'il affirmait, r14473 n'évacuait pas les entités XML dans les #URL_ avec étoile, mais provoquait une erreur de compilation.
r21325 | esj | (lun. 21 avril 2014) | Correction de http://article.gmane.org/gmane.comp.web.spip.devel/65118 : une URL dans un tableau à la SPIP fusionnait à tort la ligne suivante parce que le signe "|" était retiré en amont comme faisant partie de l'auto-lien à produire. On rajoute ce signe comme caractère ne pouvant terminer une URL.Exemple:|1|0|0|20140403222552|http://foo.bar/w||1|0|0|20140403222552|truc||1|0|0|20140403222552|machin|
r21326 | esj | (mar. 22 avril 2014) | r21324 en vrai: il faut s'y prendre à deux fois pour neutraliser les entités XML dans les URL.
r21327 | esj | (jeu. 24 avril 2014) | La meta 'adresse_site' n'étant pas totalement fiable, le refus de redirection doit mieux blindé et il doit informer de ce qu'il fait dans le log.
r21328 | esj | (jeu. 24 avril 2014) | Oups, mauvais envoi. Je reprends: La meta 'adresse_site' n'étant pas totalement fiable, le refus de redirection doit être mieux blindé et il doit informer de ce qu'il fait dans le log.
r21329 | esj | (jeu. 24 avril 2014) | Log trop verbeux ici.
r21335 | esj | (sam. 03 mai 2014) | La fonction recup_date interprétait tous les formats sauf l'ICS contrairement aux apparences.
r21371 | fil | (dim. 01 juin 2014) | Nouveau filtre |set :|set{x} va enregistrer la valeur dans x et vider, et |set{x,continue} enregistre et affiche la valeurNouveau filtre |debug :logue la valeur qu'on lui passe dans debug.log, et l'affiche en direct si on est webmestre ; le parametre eventuel permet de savoir ce qu'on debug[(#TRUC|debug{avant}|calcul|debug{apres}|calculs………)] affichera explicitement 'avant' et 'apres'
r21372 | fil | (dim. 01 juin 2014) | passer la $Pile au filtre |set
r21373 | fil | (dim. 01 juin 2014) | une scorie (marcimat)
r21376 | fil | (mar. 03 juin 2014) | signature du filtre |set{} : $Pile en premier argument, c'est plus clair (cerdic)
r21377 | fil | (mar. 03 juin 2014) | erreur dans le commentaire
r21383 | b_b | (mar. 03 juin 2014) | Report de r21381 : réparer le fait qu'on passe un article en statut proposé lorsqu'un auteur tente de le déplacer dans une rubrique sur laquelle il n'a pas les droits, cf #2523 et #3221
r21393 | esj | (lun. 09 juin 2014) | Depuis toujours, SPIP ne respectait pas le RFC de HTTP/1.1 qui stipule qu'une requête HEAD doit retourner les mêmes en-têtes HTTP que la requête GET sur la même ressource: dans le cas d'une requête HEAD, SPIP considère qu'il ne faut pas perdre de temps avec le calcul du corps et ne renvoyait rien du tout, ce qui conduit PHP à rajouter d'autorité le Content-Type par défaut, "text/hmtl". C'est particulièrement gênant lorsqu'on lui soumet l'URL d'un flux RSS pour vérifier que c'en est bien un: la réponse est erronément négative.Curieusement, SPIP consulte quand même le cache pour savoir si la page existe, pour finalement ignorer cette recherche dans le cas de HEAD. On profite de ce calcul pour à présent retourner les en-têtes HTTP qui se trouvent en cache, même s'il est périmé. Pour le cas où le cache est vide, on limite l'irrespect du RFC en envoyant un statut "204 No Content", suggérant qu'on a rien à dire, mais ça n'empêchera l'envoi d'un Content-Type arbitraire. Ca montre au passage que l'absence de typologie sur les squelettes est vraiment un problème.
r21407 | fil | (lun. 16 juin 2014) | utiliser _COPIE_LOCALE_MAX_SIZE si on ne veut pas tronquer des images distantes
r21408 | esj | (lun. 16 juin 2014) | Un warning légitime dans le cas d'un squelette mal écrit; on évacue.
r21423 | esj | (mer. 16 juil. 2014) | Lorsqu'on passe un tableau comme premier argument de la balise #INCLURE (par #ARRAY, #ENV ou autre), on provoque des Warning PHP car le compilateur produit un appel direct à Find_in_path qui suppose que son argument est une chaîne. L'idée qu'on puisse inclure en bloc une liste de fichiers était déjà présente dans la fonction "charge_script" introduire par r9342, mais qui ne semble plus utilisée. Moyennant une petite adaptation pour ne pas casser une compatibilité pourtant improbable, on utilise cette fonction dans le code produit pour la balise #INCLURE, qui accepte donc maintenant un tableau comme premier argument, et concatène alors les fichiers mentionnés plutôt que de déclencher un Warning.
r21430 | marcimat | (ven. 18 juil. 2014) | Report de r21428 : Corriger l'utilisation de la librairie graphique Imagick en PHP5. On intègre peu ou prou le patch de Alan Garcia, ticket #3160En SPIP 2.1, on accèpte évidemment également la version php4 d'imagick.
r21437 | eric | (sam. 19 juil. 2014) | Report de http://core.spip.org/projects/spip/repository/revisions/21435On supprime les modèles avant l'appel de propre qui ajoutait le titre du doc dans un strong.On utilise pour ce faire la fonction supprimer_img qui malgré son nom supprimer les modèles img, doc et emb.Les autres modèles ne sont pas concernés et peuvent encore générer ce type d'erreur. Nénamoins il est prévu (todo) d'étendre la fonction supprimer_img.
r21449 | denisb | (dim. 20 juil. 2014) | ecrire/inc/auth.php, ecrire/inc/article_select.php : corriger l'utilisation de l'autorisation liée à la constante _STATUT_AUTEUR_RUBRIQUE. résout #2904.
r21489 | cedric | (ven. 08 août 2014) | 1sReport de r21487 : Ferme #3203 : ne pas dévoiler du contenu post-daté par erreur.La mise à jour de la date du prochain article post-datés se faisait à 2 endroits :- lorsqu'on verifiait la validité d'un cache existant- en fin de hitEn conséquence, si on demandait un article A post-daté futur qui n'avait aucun cache alors qu'un autre article B post-daté venait d'être publié, la mise à jour de la date du prochain article post-datés ne se faisait qu'en fin de hit, donc après avoir affiché l'article A, ce qui est une erreur.On apporte les corrections suivantes :- dans la fonction cache_valide() on vérifie systématiquement si il faut mettre date_prochain_postdate a jour, même si on a pas de cache valide, puisque la meta va conditionner ce qu'on va mettre dans le cache, justement- on appelle calculer_prochain_postdate() avec le $check=true pour publier éventuellement les rubriques concernées- dans la fonction calculer_prochain_postdate() on met systematiquement à jour la meta derniere_modif si jamais on modifie date_prochain_postdate
r21538 | b_b | (mar. 09 sept. 2014) | ferme #3264 : maj de l'url de spip-contrib
r21547 | esj | (jeu. 11 sept. 2014) | Lorsque r11911 a ajouté la visualisation des docs joints à un message de forum dans le script "controle_forum", il ne l'a pas fait pour sa version réduite au forum d'un seul article, "articles_forum", ce qui fait qu'on peut valider un msg de forum sans s'apercevoir qu'il y a un doc joint. On isole dans une fonction le code introduit pour qu'il profite au deux cas. En primer, cette fonction admet un argument optionnel indiquant si l'accès au document est autorisé (True par défaut). S'il ne l'est pas, le nom du fichier est affiché, mais n'est plus un lien vers son URL.
r21551 | esj | (ven. 12 sept. 2014) | Quand on supprimait tous les boutons du bandeau de l'espace privé on obtenait une division par 0. On l'évite à présent, mais on simplifie aussi ce bout code qui autrement faisait une division par 1 et une boucle inutile.
r21572 | esj | (mer. 24 sept. 2014) | Résoud #3260 et reporte r19663 en 2.1. Tenir compte dans les déclarations de tables SQL des index avec une longueur explicite: ne pas faire échouer l'analyse de la déclaration, et ignorer la longueur dont SPIP n'a que faire.
r21581 | marcimat | (lun. 06 oct. 2014) | Éviter une erreur de syntaxe en PHP 5.2 suite à r21428 (esj).
r21782 | esj | (jeu. 06 nov. 2014) | Lorsqu'on crée un auteur pour être ajouté à ceux d'un article, l'index "id_auteur" vaut "oui" alors que la fonction "autoriser" s'attend à un nombre ou un tableau pour son 4e argument, d'où un "illegal Offset" apparaissant systématiquement.
r21818 | esj | (ven. 21 nov. 2014) | La globale "visiteur_session" doit être initialisée au tableau vide et non à la chaîne vide, sinon on se prend un avertissemnent "Illegal string offset" dans les squelettes l'utilisant sur un visiteur non authentifié.
r21824 | esj | (sam. 22 nov. 2014) | Lorsqu'on utilise le critère doublon en mode nié, il n'y a pas de mémorisation à faire, et donc le code qui la prépare dans le cas normal n'a pas à être inséré car il ne sert à rien. Optimisation epsilonesque en soi, mais qui ouvre la voie à la détection de corps de boucles vide non vues sinon.
r21825 | esj | (sam. 22 nov. 2014) | Contrairement à ce qu'affirme [http://www.spip.net/fr_article4250.html la documentation de SPIP sur le critère Tout], celui-ci n'était pas disponible pour la boucle ARTICLES, probablement parce la description qui en ait donnée le rend redondant avec le critère "statut=publie". Du coup on l'introduit avec la même sémantique que pour les rubriques: aucune restriction.
r21881 | esj | (ven. 19 déc. 2014) | Erreur de stratégie dans l'activation des plugins. Ce n'est pas parce que le serveur SQL est indisponible, et donc ne permet pas de sauver la meta "plugin", qu'il faut renoncer à activer ceux-ci. Cette stratégie empêche un plugin de surcharger les premières étapes de l'installation, et peut avoir des effets pervers si le serveur est indisponible provisoirement (par exemple des accès restreints qui ne seraient plus activés).Après nettoyage du code, il apparaît que la raison pour laquelle on abandonnait tout si le serveur SQL était indisponible était que la fonction effacer_meta, disymétriquement à ecrire_meta, ne se protégait pas de cette situation au lieu de faire le travail a minima (affectation de la globale PHP quand même et retour à l'appelant). On aligne donc cette fonction sur ecrire_meta, ce qui permet de créer les fichiers tmp/*plug* etc en faisant sauter le test de disponibilité du serveur dans inc/plugin.
r21893 | esj | (mer. 14 janv. 2015) | Depuis le début semble-t-il, le panneau des plugins activés appelait "image_reduire" dérogatoirement, ce qui empêchait d'afficher les icones en l'absence de GD et consorts.
r21901 | esj | (jeu. 12 févr. 2015) | Erreur dans l'authentification quand on va cherchre un document distant en Https: le codage Base64 soit s'appliquer aux identifiants bruts, non à leur version urlencodée qui n'est nécessaire qu'en cas de Proxy authentifiant. Evidemment le bug ne se voyait que pour un identifiant contenant au moins 1 caractère traité par urlencode.
r21903 | fil | (sam. 14 févr. 2015) | nissart mistralien (report de [21902])
r21941 | fil | (sam. 14 mars 2015) | report en 2.1 de [21939] et [21940]
r21942 | fil | (dim. 15 mars 2015) | limiter l'option _MYSQL_NOPLANES au charsetsql='utf8'
r21943 | fil | (dim. 15 mars 2015) | oups encore une erreur dans les priorites, qui tuait la cle de sol 𝄞 (francky)
r21944 | fil | (lun. 16 mars 2015) | _MYSQL_NOPLANES a true par defaut
r21952 | gitosis | (jeu. 19 mars 2015) | Limiter l'impact d'un GoneAway Mysql lors de longues requetes PHP* Si un traitement de page est long et implique plusieurs requetes SQL, Mysql peut retourner une erreur 2006 (Gone Away) pour la requete en cours et pour toutes les autres qui vont suivre dans le même processus* Pour limiter l'impact d'un tel blocage, on relance une connexion Mysql viergeParmi les cas d'usages on peut noter ceux qui traitent en masse les données du site pour une indexation annexe
r21956 | erational | (ven. 20 mars 2015) | report de z88102 autoriser la lecture des css pour l'évalution du site en "mobile friendly"https://www.google.com/webmasters/tools/mobile-friendly/
r21987 | fil | (lun. 13 avril 2015) | pas mal de bugs dans les mails quand on veut faire soi-meme son from et son message-id
r21994 | b_b | (mer. 15 avril 2015) | un crawl-delay à 1s pour éviter de se faire plomber par les bots crawlersreport de http://zone.spip.org/trac/spip-zone/changeset/74748/ et http://zone.spip.org/trac/spip-zone/changeset/83831/
r22002 | esj | (jeu. 23 avril 2015) | Rajouter le parametre id_rubrique dans l'URL du suivi du forum public d'un article, sinon le lien fabriqué par la page RSS forums_public a id_rubrique=0 dans sa query-string et on atterrit sur la page donnant tous les messages du site, pas ceux du seul secteur.
r22100 | ben | (sam. 09 mai 2015) | SPIP 2.1.27
SPIP-plugins-dist spip-2.1.26 -> spip-2.1.27 09 mai 2015
-------------------------------------------------------------
r82587 | taffit | (lun. 19 mai 2014) | Suppression de profils ICC inutiles[ Report de 82425 ]En recherchant les profils ICC sous droit d’auteur restreint, nepermettant pas la modification (et par conséquent en violation avec lalicence GPL), les images suivantes ont été reconnues : find . -regextype posix-extended -iregex '.*\.(jpg|png|tif)' \ -exec sh -c 'identify -verbose "$0" \ | grep -i copyright && echo "$0"' {} \;Les profils inutiles ont donc été supprimés des images suivantes : exiftool -icc_profile"-<=" $fichiersChaque image a été vérifiée identique, une à une, à l’image d’origine.Cerise sur le gâteau : environ 3 ko de données binaires inutiles ont étésupprimées de chaque fichier, avec pour conséquence directe unediminution de taille de ces fichiers.
r82588 | taffit | (lun. 19 mai 2014) | Suppression de la propriété svn:executable inutile[ Report de 82427 ]
r84540 | franck | (mar. 09 sept. 2014) | Ce n'est plus spip-contrib, mais contrib.spip
r88057 | fil | (mer. 18 mars 2015) | balises non fermantes
r88964 | franck | (sam. 02 mai 2015) | Evitons une redirection, ce n'est plus http://doc.spip.org mais http://code.spip.net
SPIP-Core spip-2.1.25 -> spip-2.1.26 13 mars 2014
-------------------------------------------------------------
r21167 | fil | (mar. 28 janv. 2014)| report de http://zone.spip.org/trac/spip-zone/changeset/79822 (b_b, denisb, ne0futur, jluc)
r21178 | esj | (ven. 07 févr. 2014)| A un moment quelconque il y a du y avoir un renommage de l'ID des blocs de messages dans les forums privés, qui est passé de "idNNN" à "forumNNN" à moins que ce ne soit l'inverse, ce qui fait que l'ancre de l'URL dans le message de notification est inopérant. Plutôt que de faire un remplacement qui risque de faire un ennui ailleurs, on remet l'ancien ancre pas loin de l'autre, ça répare sans risquer de casser ailleurs. Ca aurait été bien de fixer une politique de nommage claire pour éviter ça.
r21184 | b_b | (jeu. 13 févr. 2014)| Ferme #3165 : réparer la suppression des liens de documents liés a un objet inexistant dans genie/optimiser (5 ans tout de même ^^, bien vu Equipement).
r21242 | esj | (mer. 05 mars 2014) | Petit bug dans le modèle des images: l'écriture "[ width='(#LARGEUR)']" est inexacte car un champ valant "0" n'est pas égal à "", du coup on produit un "width='0'" qui produit un affichage vide. Le cas se voit sur des doc distants qu'on veut incruster en mode image sans qu'on ait pu calculer leur dimension auparavant.
r21247 | cedric | (ven. 07 mars 2014) | Un echappement manquant dans une requete SQL, c'est mal (Philippe Baumgart et al)
r21251 | cedric | (sam. 08 mars 2014) | On echappe toujours les < dans les logs, sauf si la constante _LOG_BRUT est definie a true a fin de debug
SPIP-Core spip-2.1.24 -> spip-2.1.25 19 janvier 2014
-------------------------------------------------------------
r20969 | guytarr | (ven. 15 nov. 2013) | oubli problematique de r17980 dans r20926 : ne pas envoyer X-Spip-Cache:0 (erational)resout #3094
r20972 | denisb | (ven. 15 nov. 2013) | filtres.php, editer_auteur.php, inscription.php : éviter un xss sur le nom (signature) d'un auteur (report de r20532).
r20993 | esj | (sam. 23 nov. 2013) | Dans le critere agenda, le premier argument était traité trop à l'arrach: * on imposait qu'il soit littéral, * mais on ne vérifiait pas que c'était bien un champ de la table SQL.A présent on accepte que cet argument soit calculé, et on vérifie dans les deux cas qu'il s'agit bien d'un champ de la table. Sinon, on signale une erreur dès la compilation pour le premier cas, mais pour le second on prend arbitrairement le premier champ (c'est une erreur de l'internaute, pas de l'auteur du squelette).
r21015 | esj | (mer. 27 nov. 2013) | Des indéfinis dans une boucle, c'est le commit de répétitions ?
r21018 | denisb | (mer. 27 nov. 2013) | ecrire/inc/filtres.php : modification de la fonction de filtrage du nom/signature. on introduit la constante _TAGS_LOGIN (vide par défaut, définissable dans mes_options.php) qui liste les tags html acceptables en plus de .
r21020 | esj | (mer. 27 nov. 2013) | Quand on tente de créer un mot de même titre qu'un mot existant, il est pénible que le message d'avertissement ne donne pas le lien vers celui-ci. On le rajoute, et comme il peut y en avoir plusieurs, on met en bulle tous leurs ID.
r21021 | esj | (sam. 30 nov. 2013) | Dans le code PostGres, une utilisation de strpos sans vérifier que son 2e arg est non vide. Résoud le 2e pb de #3100.
r21026 | esj | (mar. 03 déc. 2013) | Certaines des pages d'installation de la connexion Ldap avaient le focus sur le bouton de soumission et d'autes non. On unifie.
r21031 | esj | (mar. 03 déc. 2013) | Complément à r20277, sur le paramétrage de l'export de la base SQL. La fonction recevant en argument une Row, le nom de la table et de la clé primaire reçoit à présent comme argument supplémentaire le nom de la base, c'est utile parfois. Rien de changé pour l'export habituel vers un ficher XML.
r21034 | denisb | (sam. 07 déc. 2013) | ecrire/inc/filtres.php : _TAGS_LOGIN la mal nommée est rebaptisée _TAGS_NOM_AUTEUR (RastaPopoulos.)
r21084 | fil | (dim. 22 déc. 2013) | report en 2.1 de la machinerie _PREVIEW_TOKEN
r21094 | denisb | (mar. 31 déc. 2013) | ecrire/inc/getdocument.php : compatibilité pcre 8.34 (php 5.5). le tiret pour ne pas être considéré comme marque d'intervalle dans une classe de caractères doit être placé soit au début, soit à la fin de l'énumération. report de r21091.
r21097 | denisb | (mer. 01 janv. 2014) | bonne année 2014 !
SPIP-plugins-dist spip-2.1.24 -> spip-2.1.25 19 janvier 2014
-------------------------------------------------------------
r79784 | denisb | (mer. 01 janv. 2014) | feliĉan novan jaron 2014 !
SPIP-Core spip-2.1.22 -> spip-2.1.23 27 mai 2013
-------------------------------------------------------------
r20560 | cedric | (ven. 24 mai 2013) | suite à r20552 #FORMULAIRE_INSCRIPTION sans argument utilisé dans la page sommaire de squelettes-dist n'était plus fonctionnel.On rétablit le meilleur choix possible (1comite ou 6forum) au niveau de la fonction de la balise dans ce cas particulier (et on enleve la valeur par defaut sur la page identifiants car elle n'est pas equivalente)
r20564 | ben | (ven. 24 mai 2013) | changelog spip 2.1.22
r20591 | cedric | (sam. 25 mai 2013) | Report de r20576 : amelioration de r20562 : si le mode n'est pas fourni, on teste 1comite puis 6forum et on renvoit celui qui est autorise.Evite la duplication de code (Emmanuel)
r20594 | esj | (dim. 26 mai 2013) | Retour sur r19989, correction des arguments des chaînes de langue lorsqu'il s'agit de balise: non seulement on admet des arguments à cette balise, mais à présent aussi des filtres. Ainsi on permet ici ce qu'on permet dans les arguments d'Inclure. Il suffisait de ne pas refuser le caractère "|" entre les signes "=" et "," (ce qui ne servait à rien), puis d'appliquer un code éprouvé.
r20598 | ben | (lun. 27 mai 2013) | 2.1.23
SPIP-Core spip-2.1.21 -> spip-2.1.22 24 mai 2013
-------------------------------------------------------------
r20438 | esj | (mar. 23 avril 2013) | La saleté annoncée par 14467 quant au passage en minuscule du nom du fichier de connexion avait été nettoyée par r16365, mais il restait 2 cas non vus: sql_showbase et sql_showtable. On applique les mêmes corrections ce qui fait disparaitre les messagess d'erreurs SQL dans les logs. Mais ces 2 blocs de code identiques ne sont peut-être plus nécessaires, car trouver_table s'est beaucoup amélioré depuis leur introduction en r10113 et r10371. Dans le doute, je les laisse maintenant qu'ils sont corrigés.
r20445 | denisb | (ven. 26 avril 2013) | ajouter_documents.php : corrige le bug qui remplaçait les '1' du nom des fichiers par un espace (http://permalink.gmane.org/gmane.comp.web.spip.user/181328)
r20455 | esj | (sam. 27 avril 2013) | Le déclenchement de la prévisualisation était mal situé, car en amont des exécutions éventuelles de code PHP présents dans le code compilé du squelette.C'était déjà peu jouable pour la prévisualisation HTML, franchement inutilisablepour une prévisualisation PDF (voir notamment le"plugin spipdf":http://contrib.spip.net/spiPDF-v0-2-1-generer-des-contenus-sur-mesure-en-PDFqui oblige à dédoubler tous les squelettes faute de pouvoir faire ça).On déplace donc un peu en aval ce déclenchement, et on confie le comportementstandard à une fonction surchargeable: "public_previsualisation".Comme exemple d'utilisation avec la lib mpdf (à installer)rajouter dans squelettes-dist/formulaires/administration.htmlle bouton suivant :
r20462 | esj | (lun. 29 avril 2013) | Le paramètre optionnel "public", forçant la construction d'URL dans l'espace public, apparu dans generer_action_auteur lors de r12798 et r13014, doit être aussi proposé dans la redirige_action_auteur qui appelle celle-ci, autrement ça oblige à la réécrire à chaque fois.
r20463 | esj | (lun. 29 avril 2013) | Complément à r20462: évidemment du coup l'URL de l'adresse de retour doit aussi prendre en compte dans quel espace elle sera activée.
r20483 | fil | (dim. 05 mai 2013) | si un login n'existe pas, plutot 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 reponse credible a base de secret_du_site(), de la date du jour, et du login
r20485 | denisb | (lun. 06 mai 2013) | 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 (report de r20484)
r20487 | fil | (lun. 06 mai 2013) | ajouter un debug utile dans log/mysql-slow.log ; avec {{{define('_DEBUG_SLOW_QUERIES', true);}}} dans mes_options (a ajouter un plugin dev j'imagine ?)
r20491 | denisb | (mar. 07 mai 2013) | suite de r20485 : soyons plus générique, le sélecteur peut servir pour autre chose que des rubriques.
r20511 | cedric | (sam. 11 mai 2013) | Ferme #2889 : forcer la date du jour quand on a pas reussi a lire la date d'un item
r20524 | cedric | (jeu. 16 mai 2013) | Ferme #2999 : dans le core on definit _IS_BOT en fallback si l'ecran de securite n'est pas present. Pour cela il faut le faire après l'inclusion ! (on n'avait raté ça car on utilise généralement l'écran en php_auto_append)
r20527 | denisb | (ven. 17 mai 2013) | prive/formulaires/login.html : ajout de la variable lang dans le lien vers le formulaire de rappel du mot de passe. report de r20525
r20541 | cedric | (mer. 22 mai 2013) | Inscription d'un auteur : le commentaire dit "Si mode inconnu laisser faire, c'est une extension non std", mais passer quand meme par une autorisation, qui par défaut sera a false (puisque l'auteur est non connu, donc non identifié, il n'a aucun droit par defaut).Il suffit que autoriser("inscrireauteur","xxx") renvoie true pour permettre l'inscription d'un auteur avec le statut xxx
r20552 | esj | (jeu. 23 mai 2013) | Retour sur r20451, révision des autorisations d'inscriptions. La fonction tester_config devient un appel à une fonction surchargeable autoriser_inscrire 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.
r20555 | cedric | (ven. 24 mai 2013) | Suite de r20552 et r20541 : on nomme l'autorisation autoriser('inscrireauteur',$mode,$id_rubrique) pour plus de lisibilite et eviter toute collision avec un autre type d'inscription
r20558 | ben | (ven. 24 mai 2013) | SPIP 2.1.22
r20560 | cedric | (ven. 24 mai 2013) | suite à r20552 #FORMULAIRE_INSCRIPTION sans argument utilisé dans la page sommaire de squelettes-dist n'était plus fonctionnel.On rétablit le meilleur choix possible (1comite ou 6forum) au niveau de la fonction de la balise dans ce cas particulier (et on enleve la valeur par defaut sur la page identifiants car elle n'est pas equivalente)
SPIP-Core spip-2.1.20 -> spip-2.1.21 21 avril 2013
-------------------------------------------------------------
r20332 | esj | (lun. 18 mars 2013) | Tres vieux bug dans l'export partiel de base: le commentaire ci-dessous modifié disait bien qu'il fallait veiller à avoir la table des documents liés aux articles avant la table des documents. Cet avertissement a été ignoré à un moment, probablement quand on est passé à une table des liens générique. De fait, l'export partiel avait toujours une liste de documents vide.
r20334 | b_b | (mar. 19 mars 2013) | Ferme #2961 : cacher le bouton de la page d'admin des plugins avec du js et non des css
r20343 | esj | (jeu. 21 mars 2013) | Affichage du bloc de document: lorsqu'un nom est trop long, il déborde du cadre et s'affiche sur le formulaire de saisie à côté. C'est particulièrement le cas pour les documents distants. Comme ce nom est répété en bas du document, on affiche que le domaine de l'URL en haut. Quant au nom en bas dont seul le début et la fin sont écrits lorsqu'il est trop long, il vaut mieux écrire un début plus long et pas la fin, puisque celle-ci est l'extension du fichier, information déjà donnée 2 fois par le type de document et son logo.
r20350 | marcimat | (ven. 22 mars 2013) | Report de 71003 : Validité XHTML, suite de r70994 qui ne convenait pas ! (freebsnet)
r20386 | esj | (ven. 29 mars 2013) | Je serai surpris que l'accessibilité recommande que le lien vers un article, au lieu d'être limité à son titre, engloble un icône qui n'a rien à voir mais possède un autre "title" que le descriptif de l'article, le logo de l'article déporté par un Float, avec visuellement parfois entre le titre et logo le nom de la langue qui n'est pas cliquable, et le mot "pétition" qui est clicable mais pour un autre lien. Ouf. On limite au seul titre de l'article.
r20387 | esj | (ven. 29 mars 2013) | Distinguer le titre '0' d'un titre vide (Fil).
r20396 | esj | (dim. 31 mars 2013) | Lorsque le chemin à un document (notamment un distant) dépasse 255 caractères, le dire et refuser de le charger, plutôt que de le mettre en base avec un nom tronqué qui ne sert qu'à tromper l'utilisateur.
r20403 | b_b | (mer. 03 avril 2013) | syntaxe actualisée pour #LOGO_
r20407 | esj | (lun. 08 avril 2013) | Deux problèmes dans le squelette du calendrier privé, avec conséquence: * quelques chaînes n'étaient pas soumises au filtre encodant les entités XML (que ICS ne connait pas), c'était très laid; * les URL avaient le caractère & encodé sous forme d'entité XML, ce qui les rendaient inopérantes sous ICS.Le dernier point a nécessité d'aligner la balise URL_ECRIRE sur URL_PAGE: si elles ont un étoile, & ne sont pas encodées.
r20409 | b_b | (mar. 09 avril 2013) | report de r2043 : On remplace thumbshots.com qui demande maintenant une inscription par apercite.fr. On supprime aussi girafa qui a disparu depuis longtemps.
r20418 | esj | (mar. 16 avril 2013) | Lorsque l'algorithme de mot ressemblant ne trouve rien, remettre la saisie dans l'attribut "value" pour pouvoir rejouer rapidement le formulaire d'ajout d'auteur après correction.
SPIP-plugins-dist spip-2.1.20 -> spip-2.1.21 21 avril 2013
-------------------------------------------------------------
r71028 | suske | (sam. 23 mars 2013) | S'il vous plait (http://comments.gmane.org/gmane.comp.web.spip.zone/31692)
SPIP-Core spip-2.1.19 -> spip-2.1.20 18 mars 2013
-------------------------------------------------------------
r19920 | ben | (lun. 17 sept. 2012) | préparons gentillement la version suivante
r19989 | esj | (jeu. 01 nov. 2012) | Le phrasé des arguments d'une chaîne de langue dans un squelette était à l'ouest lorsque la valeur d'un argument était une balise à plusieurs arguments. Dans certains cas ça produisait même une fausse erreur de filtre indéfini. Exemple d'écriture possible à présent (cf. plugin Associaspip):<:asso:config_aide_pc_ressources{url=#URL_ECRIRE{'edit_plan', retour=configurer_association&champ=pc_ressources}}:>
r19992 | esj | (lun. 05 nov. 2012) | Amélioration de la présentation des résultats du validateur en boucle.
r20016 | esj | (dim. 18 nov. 2012) | Eviter des warnings.
r20019 | esj | (mar. 20 nov. 2012) | Eviter des nombres dans le Group-By en PG (Lesage & Cohen)
r20035 | esj | (mer. 05 déc. 2012) | Suite de r19989 sur les arguments d'une chaîne de langue dans un squelette. Le cas d'un argument sans nom, comme <:foo{=val1,arg=val2}:>, n'était pas dénoncé par le phraseur comme un erreur, mais était silencieusement éliminé ultérieurement par le compilateur (et le décompilateur).Comme, de plus, la syntaxe des chaînes de langues dans un squelette ne fournit pas la possibilité d'avoir une chaîne de langue calculée, alors que la fonction _T sous-jacente le permet, on utilise cette syntaxe ignorée pour introduire cette possibilité. Ainsi, la syntaxe:
<:foo:{=#ENV{titre},x=2}:>
sera compilée en
_T('foo:' . $Pile[0]['titre'], array('x' => 2))
et de même pour n'importe quelle expression figurant après "{=".Cette possibilité évite l'artifice d'utiliser obscurément _T en filtre,comme cela se fait plus de 2000 fois sur SPIP-Zone.Langonet peut ainsi repérer ces chaînes auparavant indétectables.
r20036 | esj | (jeu. 06 déc. 2012) | Accessibilité et validité: donner des libellés différents pour des liens différents, et ne pas utiliser "rel" à contre-emploi (voir les valeurs possibles dans http://www.w3.org/TR/html401/types.html#type-links).
r20045 | esj | (mar. 11 déc. 2012) | Remaniement du code produisant l'en-tête HTML de l'espace privé, afin de pouvoir en changer le DOCTYPE sans avoir à tout réécrire pour respecter celui-ci. Pour ce faire: * la fonction produisant les gadgets est éclatée en plusieurs afin de remplacer aisément ceux qui ne vont pas; * html_lang_attributes admet un argument optionnel demandant ou non l'attribut "dir"; * le code Javascript écrit en dur dans la page HTML migre dans le fichier gadget.js dont il appelait déjà une fonction, et est remplacé par un unique appel de fonction; * les fonctions envoi_link et debut_javascript admettent un argument optionnel supplémentaire, code Javascript à insérer à la fin de celui produit, ce qui permet de fusionner les deux balises scripts existant auparavant.A noter que la concacténation automatique en un seul des fichiers JS des attributs "src" des balises "script" fait l'hypothèse que le code JS des autres balises scripts n'influent pas sur les fichiers JS auparavant chargés après celles-ci, puisque la concaténation fait qu'il sont chargés désormais avant. L'hypothèse est juste à l'heure actuelle et c'est tant mieux, mais les plugins doivent savoir qu'il faut la respecter.Au passage, à une certaine époque tous les scripts de l'espace privé étaient valide XHTML strict, 21 ne le sont plus à présent, il faudra y revenir.
r20047 | esj | (mar. 11 déc. 2012) | Le validateur intégré n'avait notoirement jamais su traiter complètement les squlettes internes. C'était en particulier le cas des squelettes de prive/exec, qu'on arrive à traiter correctement à présent. Pour les autres, c'est toujours le problème de fabriquer automatiquement un contexte plausible pour un squelette donné, ce n'est pas trivial.
r20052 | esj | (ven. 14 déc. 2012) | Invalidité XHTML dans le fichier de langue français. On fait comment pour reperter dans les autres ?
r20053 | esj | (sam. 15 déc. 2012) | Invalidité XHTML dans les fichiers de langue, et parfois même inconformité XML. Ca montre au passage que mettre dans les fichiers de langue est à éviter: le risque d'éliminer une balise lors d'une traduction est trop grand. Ou alors il faut que trad-lang le vérifie avant d'accepter d'enregistrer.
r20054 | esj | (lun. 17 déc. 2012) | Validateur intégré: même quand on ne l'utilise pas en boucle, se rabattre sur la fonction suffixée "_args" quand l'exécution de la fonction préfixée "exec_" ramène un message d'erreur fabriqué par Minipres. Et inclure dans le titre de la page le nom de ce qu'on essaye de valider, c'est mieux pour l'historique du navigateur.
r20055 | esj | (mar. 18 déc. 2012) | Accès aux documents protégés, retour sur r13924: ne pas envoyer le "Content-Disposition: attachment; filename=..." Pour tous les documents réputés "embed" pas seulement les images comme auparavant pose problème pour certains cas: ça marche pour Flash et PDF, mais pas pour le mp4, et le document est du coup créé sous le nom "spip.php" avec un contenu qui n'est pas du PHP mais du mp4 ce qui le rend inutilisable si on ne le renomme pas manuellement. Pour éviter ça, on envoie un "Content-Disposition: inline; filename=...".Mais d'après:http://greenbytes.de/tech/tc2231il n'y a que Firefox qui en tient compte. Examen fait, Safari 5.1.7 a progressé depuis la publication de cette page, espérons que les autres aussi.
r20056 | gilles | (mar. 18 déc. 2012) | Eviter des warnings inutiles (un file_exists() avant le filemtime serait peut-etre une meilleure option)for file in `fgrep -R filemtime * | grep -v '@filemtime' | grep -v svn | awk -F: '{print $1}' |uniq`; do sed -i 's/filemtime/@filemtime/' $file ; done
r20057 | gilles | (mar. 18 déc. 2012) | revert du commit 20056 (mega Oups')
r20058 | gilles | (mar. 18 déc. 2012) | file_exists() avant filemtime() -- lorsque le controle n'avait pas ete fait avant (sans bug cette-fois ci --je touche du bois)
r20060 | esj | (mar. 18 déc. 2012) | Encore Revert autour de r20058 pour le validateur intégré: le file_exists a été fait pour find_in_path pour le cas SYSTEM, et pour le cas PUBLIC l'absence de fichier est normale, puisque c'est une URL."
r20063 | esj | (mer. 19 déc. 2012) | Invalidité XHTML strict dans les fichiers de langue.
r20064 | esj | (mer. 19 déc. 2012) | Invaldité XHTML dans les Exec, et éviter au validateur intégré de provoquer des warnings lorsque la fonction "_args" attend beaucoup d'arguments.
r20065 | fil | (jeu. 27 déc. 2012) | image/jpg est parfois envoye par des serveurs mal programmes (http://www.cairn.info/loadimg.php?FILE=EG/EG_393/EG_393_0197/fullEG_id9782701156200_pu2010-03s_sa02_art02_img001.jpg)
r20096 | fil | (sam. 12 janv. 2013) | affiner le bookmarklet pour ne plus exploser les accents dans les URLs de wikipedia (ou ailleurs)
r20097 | fil | (sam. 12 janv. 2013) | annule [20096]
r20103 | fil | (ven. 18 janv. 2013) | ne pas copier directement le fichier distant a sa destination, sinon un autre processus concurrent peut croire qu'il est present et le traiter (ca donne des images incompletes si on applique un filtre de reduction 'trop tot')
r20104 | fil | (sam. 19 janv. 2013) | une strategie un peu meilleure : lock/rename
r20115 | fil | (mar. 22 janv. 2013) | fusion des inc/distant de la branche 2.1 et de la branche 3 ; ca permet de revenir sur [20104], sur la branche 2.1, qui etait un peu buggue, et surtout deja regle sur le trunk (spip3) en [19461]au passage, ca reporte aussi [19231] (documents proteges, faussement distants) sur le trunka noter : les modifications d'espaces et de tabulations, bien que effectivement ameliorant le source, produisent de nombreux diffs 'muets' qu'il a fallu verifier un par un... au final une perte de temps desagreable
r20162 | fil | (mar. 19 févr. 2013) | si on met une etoile dans un mot de recherche, surligner les mots trouves sans etoile
r20199 | fil | (mer. 27 févr. 2013) | quand on passe par un GET on a des chances d'obtenir la ressource complete, il ne faut donc pas se limiter a 1Mo dans ce cas, mais a _COPIE_LOCALE_MAX_SIZE
r20200 | esj | (mer. 27 févr. 2013) | Complément à r12071 repérant les colonnes numériques dans une table HTML: on ne reconnaissait pas ".9" comme étant un nombre, et il ne faut pas qu'une cellule vide invalide le statut numérique de toute une colonne.
r20201 | fil | (mer. 27 févr. 2013) | retour sur [20199] : pour ne pas exploser la memoire, il faut une autre approche du problemeici, on evite d'enregistrer le fichier en local s'il est incomplet
r20209 | denisb | (jeu. 28 févr. 2013) | Complément à r20200 : reconnaître comme numérique tout contenu de type 123 ; -123 ; + 123 ; 12 345 ; 12.34 ; 123,4
r20229 | esj | (sam. 02 mars 2013) | Lorsque r10917 a deplacé la déclaration de bases externes des scripts d'installation vers un onglet activable ultérieurement, on n'a pas remplacé FILE_CONNECT_TMP par FILE_CONNECT (i.e. le fichier de connexion) pour repérer quelle est la base courante, ce qui fait que celle-ci était proposée comme base externe; pas grave, mais pas malin.Quant à la fonction analyse_fichier_connection, lui faire retourner tous les arguments de l'appel de la fonction connexion, pas seulement les 5 premiers: ça permet de savoir quel est le prefixe de table.
r20255 | esj | (dim. 10 mars 2013) | Conformité XML: éviter 2 occurrences d'un même attribut.
r20276 | esj | (mar. 12 mars 2013) | r17431 a ajouté des ` autour du nom des tables dans les requêtes SQL Drop et Repair, avec pour conséquence que le préfixe "spip_" n'était plus remplacé dans "traite_query" car la RegExp n'en tenait pas compte. Je ne comprends pas vraiment l'intérêt de ça puisque pour les autres requêtes cet ajout n'est pas fait (il ne l'est que sur le nom de la base). Comme ça doit servir à qqch je ne defais pas r17431, je me contente de mettre ` que si le nom de table n'est pas alphanumérique: avec un nom pareil, il y a de bonnes chances que ça ne commence pas par "spip_", mais cette hétérogénéité est regrettable.
r20277 | esj | (mar. 12 mars 2013) | un bug et un manque dans l'export et l'import partiels de base: * l'import partiel étant géré par une meta spécifique au demandeur, il n'est pas impossible que plusieurs imports soient demandés simultanément, ce qui exige que la table de translation des numéros des objets soit spécifique au demandeur. Le nom de cette table est donc suffixé par l'id_auteur du demandeur. * les fonctions d'export étaient limitées à une transcription en XML des tables de la base, il n'était donc pas possible d'exporter les tables des bases déclarées externes, et pour en faire autre chose qu'un fichier XML. Ces fonctions sont donc réécrites pour prendre comme arguments supplémentaires optionnels la base concernée et la fonction de transcription. Ces deux arguments peuvent être donnés à la query-string du script export_all mais aucun formulaire ne les fournit en standard. Bien utilisés, ils peuvent provoquer directement une opération d'import-export (au plutôt d'export-import), chaque Row de la base exportée (au niveau de la fonction build_while) étant transmis à une fonction appelant une variante de import_insere en premiere passe, puis import_translate dans la 2e passe.
r20278 | esj | (mar. 12 mars 2013) | Complement pour 20277: cette ligne avait malencontreusement disparue.
r20304 | esj | (ven. 15 mars 2013) | Eviter une ecriture disque pour un log qui n'apprend rien.
r20308 | esj | (sam. 16 mars 2013) | Un bug potentiel dans l'import partiel: un champ id_parent ne doit pas toujours être renuméroté comme étant un id_rubrique, ce n'est pas vrai en particulier dans la table spip_forum (qui actuellement n'est pas importée, le bug n'est donc perceptible que dans d'éventuelles surcharges de ce code qui l'importeraient). Au passage cela montre qu'il y a une typologie implicite dans les tables de SPIP, fondé sur le nom des champs. Les deux champs id_parent devraient s'appeler id_rubrique_parent et id_forum_parent; on arrive à lever l'ambiguité à l'aide de la description de la table, mais ce n'est pas généralisable.Du coup, il faut pouvoir surcharger toutes ces fonctions, aussi on remplace "function_exists" par "charger_fonction". Et quand elles sont absentes, ne le signaler qu'une fois.
r20309 | esj | (sam. 16 mars 2013) | Import partiel: les champs id_vignette sont des références aux clés primaires id_document. Cf http://thread.gmane.org/gmane.comp.web.spip.zone/31355 et http://zone.spip.org/trac/spip-zone/browser/_plugins_/assemblage/trunk/inc/assemblage.php?rev=70785 par Nicolas Dorigny.
r20323 | esj | (lun. 18 mars 2013) | A défaut d'avoir fait ça au solstice d'hiver, faisons-le à l'équinoxe du printemps (même si ça ne fera pas venir celui-ci plus vite).
SPIP-plugins-dist spip-2.1.19 -> spip-2.1.20 18 mars 2013
-------------------------------------------------------------
r67199 | b_b | (sam. 27 oct. 2012) | report de r67198 : réparer generer_url_forum_dist() qui ne renvoyait rien vu qu'on ne lui passait pas le bon argument
r67738 | cedric | (jeu. 15 nov. 2012) | Report de r67734 : La suppression a tort du retour ligne qui suit les commentaires // provoque un bug quand celui ci est en fin d'une ligne sans point-virgule, ce qui est une pratique courante dans les js de Bootstrap (hugues)
r69328 | jack31 | (jeu. 24 janv. 2013) | On est en 2013 !
r69336 | jack31 | (jeu. 24 janv. 2013) |
r69338 | jack31 | (jeu. 24 janv. 2013) |
plugins 2.1.13->2.1.14 (22/04/2012)
----------------------------------------
r61251 | kent1 | 2012-05-13 12:08:13|Pas besoin de ces logs intempestifs
Core 2.1.13->2.1.14 (14/05/2012)
--------------------------------
r19298 | cedric | 2012-04-23 17:47:02| Comme r19253 mais compatible PHP 4
r19308 | b_b | 2012-04-25 18:31:10| suivre les changements dans les paramètres du callback success de jquery.form suite à r18809
r19309 | b_b | 2012-04-25 19:33:47| oubli dans r19308 pour les zip à déballer
r19322 | esj | 2012-04-27 18:29:54| Régression de SPIP 2 par rapport à SPIP 1.9: la boucle syndic_article (et aussi certains cas pour la boucle Auteur) était compilée avec un Group By inutile, particulièrement mal venu à cause d'un bug de certaines versions de MYSQL. Bug [http://comments.gmane.org/gmane.comp.web.spip.devel/46063 signalé sur spip-dev] il y a déjà longtemps, et relancé par Sebastien Rebaudo.
r19330 | esj | 2012-04-30 11:11:41| Certaines instllations de PostGres ne considère pas le backslash comme un caratère d'échappement dans une chaîne, il ne faut donc pas utiliser "addslashes" mais pg_escape_string. La présente correction n'est toutefois pas tout à faite suffisante, à cause de la fonction _q qui n'est toujours pas intégrée à l'interface SPIP/SQL, mais il n'est même pas sûr que le cas problématique puisse émerger.
r19333 | cedric | 2012-04-30 17:28:42| Report de r19331 : Evitons aux pirates schizophrènes de se faire du mal
r19334 | denisb | 2012-04-30 22:05:19| inc/ajouter_documents.php : on retrouve la fonctionnalité de titrage automatique des fichiers extraits de l'upload d'un zip.
r19358 | marcimat | 2012-05-11 15:45:10| Report de r19256 (Éviter une erreur en PHP 5.4)
r19364 | fil | 2012-05-14 10:12:12| un son n'a pas de #HAUTEUR /#LARGEUR naturelle : fournir des valeurs par defaut permettant de voir le player
r19365 | fil | 2012-05-14 10:13:46| d'autres cas ou il ne faut pas ajouter d'insecable
r19366 | fil | 2012-05-14 10:14:43| savoir appliquer les filtres d'images sur les img src=data:...base64
r19367 | fil | 2012-05-14 10:16:51| sur un fichier vide ou inexistant, taille en octet renvoie une chaine vide plutot que '0 octets'
r19368 | fil | 2012-05-14 10:17:41| detection un peu plus laxiste des blocs echappes
plugins 2.1.12->2.1.13 (22/04/2012)
----------------------------------------
r56754 | b_b | 2012-01-07 20:13:34 +0100 (sam. 07 janv. 2012) | 2 lignesorthographe
r56755 | b_b | 2012-01-07 20:18:06 +0100 (sam. 07 janv. 2012) | 2 lignesne plus perdre la position du scroll dans les textarea des crayons :)
r59043 | fil | 2012-03-03 23:23:43 +0100 (sam. 03 mars 2012) | 1 ligneautoriser les iframe de l'oembed youtube (pour pouvoir les utiliser dans les forums avec le plugin oembed)
r59045 | fil | 2012-03-03 23:41:53 +0100 (sam. 03 mars 2012) | 1 lignevimeo... ca risque d'etre long cette affaire...
Core 2.1.12->2.1.13 (22/04/2012)
--------------------------------
r18747 | b_b | 2011-11-19 13:06:42 +0100 (sam. 19 nov. 2011) | attribut_html pour l'attribut value des formulaires
r18776 | denisb | 2011-12-07 09:22:03 +0100 (mer. 07 déc. 2011) | ecrire/exec/aide_index.php : protéger les caractères spéciaux des titres de paragraphe.
r18784 | cy_altern@yahoo.fr | 2011-12-09 13:56:45 +0100 (ven. 09 déc. 2011) | report de http://zone.spip.org/trac/spip-zone/changeset/55295 en 2.1
r18792 | cy_altern@yahoo.fr | 2011-12-09 18:43:23 +0100 (ven. 09 déc. 2011) | report de http://zone.spip.org/trac/spip-zone/changeset/55304 en 2.1
r18809 | b_b | 2011-12-14 14:52:46 +0100 (mer. 14 déc. 2011) | report de r18808 : maj de jquery form en 2.94 (règle un bug sous ie7 entre autres)
r18818 | denisb | 2011-12-17 14:32:05 +0100 (sam. 17 déc. 2011) | éviter un open redirect sur le logout.
r18827 | marcimat | 2011-12-19 14:26:08 +0100 (lun. 19 déc. 2011) | Une coquille enpêchait l'affichage du lien "suivant" lorsqu'on était sur l'avant dernier élément (choupito, b_b)
r18829 | cedric | 2011-12-19 14:54:31 +0100 (lun. 19 déc. 2011) | SQLite :- implementation erronee de TO_DAYS qui doit compter le nombre de jour depuis 0000-00-00 et non le nombre de jour depuis le debut de l'année. Provoquait l'envoi intempestif du mail de nouveautés- simplifier la fonction LEAST qui peut s'appuyer sur le min() de PHP
r18846 | marcimat | 2011-12-26 10:57:56 +0100 (lun. 26 déc. 2011) | Report de r18841 (RealEt)
r18919 | ben | 2012-01-17 10:15:58 +0100 (mar. 17 janv. 2012) | Happy New Year ... on ne sait jamais si on ressort une version de secu sur la branche 1.9.2 2.0 ou 2.1 les dates seront bonnes
r18920 | b_b | 2012-01-17 11:38:05 +0100 (mar. 17 janv. 2012) | ferme #2491 : afficher le formulaire d'édition de mot déplié s'il y a une erreur de doublon sur le titre
r18925 | esj | 2012-01-21 09:48:15 +0100 (sam. 21 janv. 2012) | Trois bugs: * un include manquant pour ask_php_auth (et un redondant) dans les forums; * remettre le formulaire de recherche d'un auteur si envoi précédent vide (jjméric); * le zoom avec affichage d'heures du calendrie ne marchait plus dans certains cas.
r18943 | esj | 2012-01-31 08:37:48 +0100 (mar. 31 janv. 2012) | Chaîne de langue non traduite depuis la refonte de l'authentification par r14581 et r14594.
r18946 | fil | 2012-01-31 13:27:10 +0100 (mar. 31 janv. 2012) | ajout du format epub (closes #2514 joachim sene);
r18947 | fil | 2012-01-31 13:30:37 +0100 (mar. 31 janv. 2012) | oups
r18948 | cedric | 2012-01-31 14:47:43 +0100 (mar. 31 janv. 2012) | renumeroter l'upgrade de r18946 pour eviter la collision d'upgrade avec la branche SPIP 3
r18952 | esj | 2012-01-31 23:30:44 +0100 (mar. 31 janv. 2012) | Pouvoir appeler la fonction Bouton_spip_rss en lui précisant l'info-bulle, et évacuation de code mort autour de son appel. Au passage, on voit ici que la fonction http_img_pack devrait être évacuée au profit d'une utilisation systématique de background-image dans les CSS: les icones n'ont rien à faire dans le code PHP.
r18953 | denisb | 2012-02-01 00:13:41 +0100 (mer. 01 févr. 2012) | ecrire/inc/auth.php : on écrit dans #SESSION{en_ligne} date et heure de connexion.
r18954 | denisb | 2012-02-01 08:46:46 +0100 (mer. 01 févr. 2012) | revert de r18953 qui cassait plus qu'il ne réparait...
r18958 | kent1 | 2012-02-01 18:16:43 +0100 (mer. 01 févr. 2012) | la vignette epub
r18961 | denisb | 2012-02-02 17:04:00 +0100 (jeu. 02 févr. 2012) | ecrire/inc/auth.php : on force l'écriture de 'en_ligne' dans le fichier de session pour pouvoir récupérer #SESSION{en_ligne} dans un squelette. sinon, la valeur dans le fichier reste à zéro et écrase la globale.
r18967 | b_b | 2012-02-07 18:06:33 +0100 (mar. 07 févr. 2012) | éviter une XSS sur l'aide en ligne (Silvère Cainaud)
r18970 | esj | 2012-02-08 14:49:51 +0100 (mer. 08 févr. 2012) | Isoler dans une fonction ce bout de code bien utile pour attacher un lien à une date.
r18973 | kent1 | 2012-02-10 15:29:40 +0100 (ven. 10 févr. 2012) | deux vignettes pour :-* ogv (pas terrible, juste une reprise des autres types video);-* webm (pas terrible non plus, basé sur le template pour videos + une partie du logo de webm);
r18982 | esj | 2012-02-14 18:01:58 +0100 (mar. 14 févr. 2012) | Bug dans la balise PARAMETRES_FORUM: dans le cas où elle figurait dans la partie alternative d'une boucle, elle ne repérait dans quelle autre boucle elle figurait, et se croyait donc au premier niveau du squelette, sans pouvoir préciser son type de forum.
r19022 | cam.lafit@azerttyu.net | 2012-02-24 14:31:35 +0100 (ven. 24 févr. 2012) | Déclarer explictement la requete SQL pour un subselect * l'api SQL ne traduit pas le bon préfixe dans un SUBSELECT * On calcule donc la bonne requete SQL à fournirVoir le ticket #2493
r19023 | esj | 2012-02-24 16:37:00 +0100 (ven. 24 févr. 2012) | Lorsque r11084 a pu étendre #URL_PAGE aux bases externes, il l'a fait avec la restriction que cela ne pouvait concerner qu'une base sous SPIP. C'est un excès de prudence hérité des #URL_ARTICLE etc: cette balise a justement pour rôle de créer des URLs arbitraires non nécessairement homonyme d'une table dans la base.
r19024 | cedric | 2012-02-24 22:42:53 +0100 (ven. 24 févr. 2012) | Retour sur r19022 qui ne corrigeait pas vraiment #2493 car sql_get_select ne transpose pas le prefixe. On decompose la requete en deux pour corriger le bug initial. Ferme #2493
r19026 | esj | 2012-02-24 23:31:15 +0100 (ven. 24 févr. 2012) | Quand on appelle la page privé de gestion des pétitions avec un id_signature en argument (lien issu du moteur de recherche), ne pas oublier de le rajouter dans le lien vers l'autre onglet.
r19027 | esj | 2012-02-26 00:18:17 +0100 (dim. 26 févr. 2012) | 1Trois petits bugs liés à la gestion des pétitions: * le moteur de recherche compte sur l'existence de la puce de signature, on la crée; * afficher_objet supposait l'existence de signature-24.gif, on donne un équivalent; * quand on appele le script de gestion de signature avec un argument id_signature, ne pas choisir le statut par défaut mais celui de la signature désignée, sinon le moteur de recherche (qui produit un tel appel) semble parler d'un signature inexistante.Ces bugs ont été trouvés suite à la mise en ligne de:http://appel-enseignement-sup-et-recherche.fr/qui implicitement explique pourquoi je ne peux plus participer à SPIP autant qu'avant 2007. J'invite la communauté SPIP à soutenir cette protestation.
r19028 | esj | 2012-02-26 19:14:57 +0100 (dim. 26 févr. 2012) | Aussi bizarre que cela puisse paraître j'ai eu:Fatal error: Call to undefined function securiser_redirect_action() in ... ecrire/action/logout.php on line 22lors de la restauration d'une base.
r19029 | esj | 2012-02-26 19:23:27 +0100 (dim. 26 févr. 2012) | Complément à r19027: si on appelle controle_petition avec id_signature, ne pas redonner cet argument dans l'URL de l'autre onglet car depuis r19207 il n'y a forcément rien avec un tel argument. Autant redonner accès à la liste de toutes les signatures.
r19030 | fil | 2012-02-26 19:50:16 +0100 (dim. 26 févr. 2012) | dans l'espace prive montrer les sauts de ligne
r19031 | esj | 2012-02-26 22:15:32 +0100 (dim. 26 févr. 2012) | Curieusement SPIP gérait bien les accès concurrents de deux confirmation de signatures pour la même adresse, mais ne supprimait pas toutes les autres attentes de validation pour cette même adresse.
r19033 | esj | 2012-02-27 09:09:16 +0100 (lun. 27 févr. 2012) | Le nombre de signature en attente lors d'une pétition atteint des niveaux désormais élevés, sans doute à cause des faux positifs des anti-spams. Il n'est plus possible de cliquer sur les boutons de relance individuelle vu le niveau atteint, on rajoute un bouton général de relance.
r19034 | esj | 2012-02-27 09:27:24 +0100 (lun. 27 févr. 2012) | Complément à r19033: limiter la relance aux attentes de plus d'un jour, c'est plus raisonnable;
r19036 | esj | 2012-02-27 14:44:23 +0100 (lun. 27 févr. 2012) | Complément à r19033: le lien "mailto" dans la liste des signatures à relancer fourni à présent le sujet et le corps du message auquel le signataire n'a pas répondu, comportant en particulier le lien provoquant la confirmation. Cet ajout permet d'éditer le message à envoyer quand il est clair que le pb vient d'une adresse mail mal écrite quoique valide. Ce lien n'apparaît que pour les modérateurs de la pétition évidemment.
r19037 | esj | 2012-02-27 22:47:04 +0100 (lun. 27 févr. 2012) | Augmenter de 4 pixels la taille de la dernière colonne de presenter_liste, sion les numéros d'objet à 4 chiffres ne tiennent pas sur la ligne.
r19038 | esj | 2012-02-28 11:47:04 +0100 (mar. 28 févr. 2012) | Complétement à r19033: mettre dans les logs le nombre de signatures relancées plutôt que de répondre par une page blanche (mais ce serait mieux de donner l'info dans la page).
r19039 | fil | 2012-02-29 10:43:57 +0100 (mer. 29 févr. 2012) | revert du patch css pour les BR, on va faire ca en html
r19040 | esj | 2012-02-29 19:42:14 +0100 (mer. 29 févr. 2012) | Dans le CSV des signatures d'une pétition, donner tous les champs (bizarre que je n'ai pas tout mis à la création de ça en r11119: il suffit de les supprimer avec le tableur si vraiment on n'en veut pas).
r19048 | esj | 2012-03-02 16:34:35 +0100 (ven. 02 mars 2012) | La prise en compte de https par r11120 dans récupérer page ne tenait pas compte du cas du proxy.
r19054 | b_b | 2012-03-03 12:29:58 +0100 (sam. 03 mars 2012) | report de 19052 sans oups : un admin ne doit pas pouvoir modifier un webmestre s'il ne l'est pas lui même
r19055 | esj | 2012-03-03 12:54:42 +0100 (sam. 03 mars 2012) | CSV des signatures: il y en a qui écrivent n'importe quoi. Filtrons les enttités HTML et les points-virgules.
r19060 | esj | 2012-03-04 09:20:34 +0100 (dim. 04 mars 2012) | Contrôle des pétitions. Un complément à r19027 encore meilleur que r19029: les deux onglets doivent être actifs en cas de visualisation d'une signature unique.
r19066 | esj | 2012-03-05 14:39:33 +0100 (lun. 05 mars 2012) | Gestion des pétitions: dans la page d'accueil de toutes les pétitions, afficher le score des 10 plus signées.
r19072 | fil | 2012-03-06 12:29:47 +0100 (mar. 06 mars 2012) | prendre la css dans prive de maniere a pouvoir la vider dans le public (ce que fait basecss) sans detruire l'espace prive
r19077 | b_b | 2012-03-07 19:39:13 +0100 (mer. 07 mars 2012) | Exclure les éventuels quotes du nom du zip lorsqu'on tente de le récupérer à partir de Content-Disposition: attachment; filename=Note that the filename is surrounded by double quotes, per RFC 2231. This allows for the use of extended characters within the filename (i.e., international characters, though at present Internet Explorer does not support this internationalization).An unfortunately large number of web servers instead do not include the enclosing quotes around the filenamehttp://kb.mozillazine.org/Filenames_with_spaces_are_truncated_upon_download
r19086 | esj | 2012-03-09 08:57:35 +0100 (ven. 09 mars 2012) | Le filtre associé au modèle de type MIME text ne doit pas utiliser echapper_tag mais substituer explicitement & > et <.
r19087 | fil | 2012-03-09 11:05:59 +0100 (ven. 09 mars 2012) | mettre en cache le resultat du ping pour ne pas le repeter a chaque fois qu'on veut tester une URL ne precisant pas son extension
r19088 | kent1 | 2012-03-09 19:48:30 +0100 (ven. 09 mars 2012) | La chaine de langue "nouvel_auteur" n'existe pas..."item_nouvel_auteur" si...
r19094 | esj | 2012-03-12 14:26:28 +0100 (lun. 12 mars 2012) | Lorsqu'on envoie un fichier nommé "Makefile", SPIP corrige le manque d'extension en rajoutant ".bin", car les navigateurs ont indiqué un mime-type "application/octet-stream". Cela est dû a fait que le mime-type text/x-makefile existe mais n'a pas d'extension associée (".mk" parfois utilisée n'est pas officielle). On rajoute d'autorité l'extension ".txt" pour permettre l'ouverture par un éditeur de texte lorsqu'un visiteur récupère le fichier. On traite aussi ce cas particulier au niveau des entrées du répertoire upload, car c'est justement lors du chargement de tout un répertoire qu'on a le plus de chance de rencontrer un tel fichier.
r19095 | esj | 2012-03-12 17:59:40 +0100 (lun. 12 mars 2012) | De cette fonction de 400 lignes, extrayons les 10 lignes calculant le titre du document ajouté, afin de pouvoir programmer des remplacements de documents.
r19101 | esj | 2012-03-15 14:48:26 +0100 (jeu. 15 mars 2012) | Complément à r19095: extrayons 1 plutôt que 10 de la fonction de 400 ligns, pour donner l'information que le document sera ou non inclus en Zip. Par ailleurs, tenir compte du cas Makefile aussi ici, et forcer le titre au besoin.
r19158 | esj | 2012-03-26 17:47:55 +0200 (lun. 26 mars 2012) | Avant d'importer un document distant, copie_locale teste si l'URL est l'application du script acceder_document sur un document en fait local, dont elle renvoie alors le Path. Mais tester par une RegExp en dur dans le code ne permet pas aux sites jouant avec les Virtual Host d'être repérés dans tous les cas. On fait de cette RegExp une constante PHP afin de permettre sa redéfinition.
r19162 | esj | 2012-03-27 13:51:19 +0200 (mar. 27 mars 2012) | Complément à r19158 sur les URL de documents distants en fait locaux: acceder_document doit accepter soit le path initial soit son propre appel dessus. Du coup on isole dans une fonction le code produisant l'URL de ces action. Par ailleurs il restait un commentaire destiné à une ancienne version, c'était trompeur.
r19202 | cedric | 2012-04-04 15:22:00 +0200 (mer. 04 avril 2012) | PHP 5.4 : mysql_list_dbs deprecie, on remplace a minima
r19203 | cedric | 2012-04-04 15:30:37 +0200 (mer. 04 avril 2012) | indentation
r19204 | cedric | 2012-04-04 15:37:40 +0200 (mer. 04 avril 2012) | #2615 : PHP 5.4 attention au passage par reference dans array_pop, array_shift et reset.mysql_list_dbs est deprecie
r19205 | cedric | 2012-04-04 15:41:22 +0200 (mer. 04 avril 2012) | #2615 PHP 5.4 attention aux Illegal offset string
r19207 | esj | 2012-04-05 14:23:28 +0200 (jeu. 05 avril 2012) | Afficher le lien vers l'article dans la page de contrôle des pétitions (qui devrait passer au singulier dans ce cas là d'ailleurs).
r19228 | marcimat | 2012-04-10 12:04:00 +0200 (mar. 10 avril 2012) | Report de c19227 (autoriser webmestre et PHP 5.4)
r19231 | esj | 2012-04-10 19:21:16 +0200 (mar. 10 avril 2012) | Complément à r19158 sur le calcul du Path d'un document faussement distant: * accepter les variations http/https pour que ça marche dans un espace privé protégé par https * tenir compte du paramètre $force (mais est-ce vraiment utile ?)
r19233 | marcimat | 2012-04-10 22:16:20 +0200 (mar. 10 avril 2012) | Report de z19232 : Lorsqu'un squelette est introuvable, éviter une erreur de PHP 5.4
r19240 | esj | 2012-04-12 10:32:59 +0200 (jeu. 12 avril 2012) | Retour sur r19086 pour le filtre des types MIME text: str_replace ne faisant pas les substitutions en parallèle, leur ordre est significatif.
r19243 | esj | 2012-04-13 07:31:40 +0200 (ven. 13 avril 2012) | r10136 n'aurait pas dû refuser d'appliquer URL_ACTION_AUTEUR à une base externe, la raison de le faire pour les autres balises URL_XXX n'étant pas valable (Benjamin Tricault).
r19247 | esj | 2012-04-15 17:10:04 +0200 (dim. 15 avril 2012) | Dans la page des statistiques d'une pétition, ne compter que les signatures validées.
r19252 | esj | 2012-04-16 20:16:15 +0200 (lun. 16 avril 2012) | XSS dans l'espace privé (Christophe Imberti)
r19253 | esj | 2012-04-16 20:17:23 +0200 (lun. 16 avril 2012) | XSS via une en-tête HTTP (Antoine Cervoise)
Core 2.1.11->2.1.12 (16/10/2011)
r18562 | ben | 2011-09-22 22:39:46 | changelog 2.1.11
r18580 | denisb | 2011-09-26 08:18:59 | traduire.php : caster la globale détruite plus haut pour php5 plus rigoureux que son ancêtre.
r18582 | fil | 2011-09-27 10:07:59 | tiens les documents ne passaient pas par les pipelines pre_insertion / post_insertion
r18586 | rasta | 2011-10-01 21:52:05 | Backport de r17201.Cette fonction a été améliorée en SPIP 3, ou plutôt débugguée en fait. Il faut donc backporter.En effet, la fonction substr() ne pouvait pas marcher si $redirect == $base, c'est-à-dire quand on demande la page d'accueil en URL absolue, ce qui provoque un "false" et fini alors en page blanche pour l'utilisateur. C'est un peu fort pour une page aussi courante.
r18587 | ben | 2011-10-03 18:44:01 | 11 jours après, il était temps ! -for i in 18368 18473 18480 18494 18496 18501 18504 18512 do echo $i svn merge --change $i .done-18368 Fusion de r18368 dans '.':A squelettes-dist/agenda_trimestre.htmlU squelettes-dist/agenda_jour.htmlU squelettes-dist/agenda.htmlU squelettes-dist/agenda.cssU squelettes-dist/inc-head.htmlU prive/style_prive.htmlU ecrire/inc/agenda.phpU ecrire/inc/filtres.php18473 Fusion de r18473 dans '.':U ecrire/exec/dater.phpU ecrire/inc/dater.php18480 Fusion de r18480 dans '.':G ecrire/inc/dater.php18494 Fusion de r18494 dans '.':U ecrire/inc/charger_plugin.php18496 Fusion de r18496 dans '.':G prive/style_prive.htmlU ecrire/exec/message.phpG ecrire/inc/agenda.php18501 Fusion de r18501 dans '.':G ecrire/inc/dater.php18504 Fusion de r18504 dans '.':G ecrire/inc/agenda.php18512 Fusion de r18512 dans '.':G squelettes-dist/agenda.cssG ecrire/inc/agenda.phpG ecrire/inc/dater.phpben@hpb:~/svn/spip/branches/spip-2.1$ -svn statusM prive/style_prive.htmlA + squelettes-dist/agenda_trimestre.htmlM squelettes-dist/agenda_jour.htmlM squelettes-dist/agenda.htmlM squelettes-dist/agenda.cssM squelettes-dist/inc-head.htmlM ecrire/exec/message.phpM ecrire/exec/dater.phpM ecrire/inc/agenda.phpM ecrire/inc/dater.phpM ecrire/inc/charger_plugin.phpM ecrire/inc/filtres.php
r18588 | esj | 2011-10-04 15:46:16 | Ne pas produire href=mailto: quand le mail d'une signature de pétition est inutilisable.
r18589 | esj | 2011-10-04 15:48:56 | r18588 en restant valide XML.
r18590 | kent1 | 2011-10-05 10:07:07 | SPIP ne pose pas de problèmes avec des fichiers de plus de 2Go sauf qu'il ne calcule pas bien leur taille ... ce petit patch pour cela
r18593 | b_b | 2011-10-05 10:38:15 | retour de r18507 : On passe le media de perso.css sur le même que habillage.css pour que les deux se retrouvent bien dans la même css compactée.
r18594 | kent1 | 2011-10-05 10:53:36 | En fait c'est un problème de base donc je reviens sur le commit précédent ... c'est le int(11) de la table spip_documents pour le champs taille qui n'est pas suffisant apparemment ...
r18599 | esj | 2011-10-08 10:33:54 | Retour sur r18368 (révision du code HTML des calendriers afin qu'il respecte [http://www.w3.org/TR/xhtml-basic/ XHTML Basic 1.1], version de XHTML exploitant au mieux les feuilles de style de [http://css-discuss.incutio.com/wiki/Handheld_Stylesheets media-type handhled]): * http_calendrier_init appelle un jeu de fonctions calculées, celles du noyau de SPIP retournant un fragment de DOM de même structure, ce qui permet partage de code et mise au point rapide. Il apparaît que des plugins complètent ce jeu par des fonctions au résultat fantaisiste. Afin de ne pas casser la compatibiilité avec ces déviants, on renonce au partage de code et à sa lisibilité. Merci à Yohann pour l'aide à comprendre le problème. * les valeurs numériques associées au paramètre "partie_cal" figuraient en dur dans le code, on permet à présent de les moduler par une globale ou par l'URL. * rationnalisation des commentaires au format Doxygen. * le Doctype xhtml-basic avait été introduit dans le squelette agenda avec une coquille (curieusement le validateur du W3C comprenait quand même duquel il s'agissait).
r18603 | esj | 2011-10-10 16:53:36 | Lorsqu'on indique la base LDAP par la constante _INSTALL_BASE_LDAP, il est contradictoire de pré-selectionner un autre bouton radio que celui qui tient compte de celle-ci. Joli piège.
r18608 | denisb | 2011-10-12 16:42:01 | sécuriser si accès direct.
r18627 | cedric | 2011-10-22 17:56:50 | verifier le droit de l'auteur connecte a modifier le statut de l'auteur modifie (merci à Davy Douhine)
r18633 | denisb | 2011-10-24 02:32:56 | inc/dater.php : pour les dates avant j.c., on corrige [18473] qui affichait une mauvaise valeur dans l'input de date de rédaction antérieure et on corrige aussi le mauvais affichage de l'input de la date de rédaction (qui lui datait de mathusalem...)
r18634 | esj | 2011-10-24 10:00:04 | Complément à r18633 dans la correction de r18473: retour de l'option 'non connu' dans la date de rédaction antérieure.
r18660 | kent1 | 2011-10-28 19:15:40 | Les balises contenues dans les balises