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é).
[(#SESSION**{nom}|?{<:bienvenue:> #SESSION{nom}    
<:logout:>,

<:zonep:> <:acces:> <:ident:>

})]
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:>,

<:zonep:> <:acces:> <:ident:>

})]
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 :
[PDF]
et définir dans mes_fontions.php
function public_previsualisation($page){  if (!_request('pdf') OR !is_readable($f = _DIR_RACINE . 'lib/mpdf/mpdf.php'))    return public_previsualisation_dist($page);  include_once($f);  $f = str_replace(' ', '_', $GLOBALS['meta']['nom_site']) . '.pdf';  $GLOBALS['flag_preserver'] = true;  $page['entetes']['Content-Type'] = "application/pdf";  $page['entetes']['Content-Disposition'] = "attachment; filename=$f";  $mpdf = new mPDF($GLOBALS['meta']['charset']);  $mpdf->WriteHTML($page['texte']);  $page['texte'] = $mpdf->Output('', 'S');  return $page;}function parametre_url_nonvide($url, $c, $v=NULL, $sep='&') {	return !$url ? '' : parametre_url($url, $c, $v, $sep);}
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 peuvent également avoir une adresse en href qu'il peut être nécessaire de rendre absolue quelque fois CF : http://www.w3.org/TR/SVG/struct.html#ImageElementHrefAttribute r18662 | esj | 2011-10-30 18:55:22 | Eviter un XSS sur l'aide en ligne (Arnault Pachot) r18673 | b_b | 2011-11-02 11:11:52 | un tout petit ajout dans le pipeline post_syndication qui permet de savoir si l'item en cours est une insertion (vaut int id_syndic_article) ou ue mise à jour (vaut NULL) r18679 | cedric | 2011-11-04 12:36:09 | report de r18678 :Type de fichier distant : lorsque le mime-type est non discriminant (text/plain ou application/octet-stream) ou absent, mais qu'un en-teteContent-Disposition: attachment; filename=...est present, s'en servir pour identifier l'extension et le type du fichier si possible (et si l'url n'a pas d'extension elle meme) r18683 | esj | 2011-11-05 12:53:32 | Bug dans le compilateur. L'item de langue suivant:{{{<:liste_des_n_articles{n=#TOTAL_BOUCLE}:>}}}déclenchait à tort l'erreur que TOTAL_BOUCLE serait hors boucle. r18688 | esj | 2011-11-07 08:09:12 | Résolution de #2397: lorsqu'on change la liste des plugins actifs, vider le cache d'aide, car [http://www.spip.net/fr_article4727.html les plugins peuvent étendre l'aide en ligne].Il apparaît au passage que le résultat de la fonction actualise_plugins_actifs n'est pas fiable. r18695 | denisb | 2011-11-08 12:30:51 | filtres_images_lib_mini.php : permettre d'appliquer les filtres-image sur des fichiers d'extension capitale (ferme http://core.spip.org/issues/2396). r18700 | esj | 2011-11-08 22:21:45 | sLa correction r18627 a complètement pété la libre inscription d'un rédacteur: le mécanisme qui le faisait passer du statut "nouveau" à "1comité" à la première connexion était considéré comme non autorisé. r18702 | denisb | 2011-11-09 01:00:00 | suite de 18695 ('les revenentes'). r18708 | cedric | 2011-11-09 11:41:32 | lorsqu'on redirige sur un changement d'url envoyer une vrai 301 via redirige_par_entete qui le supporte, plutot qu'un http_status(301) qui sera suivi d'un 302 pouvant creer une confusion (Ben) r18709 | cedric | 2011-11-09 11:45:16 | #2397 : plutot que vider le cache de l'aide a chaque changement de config des plugins, preferons cacher dans un fichier dont le nom depend de la globale $help_server.Cela permet de ne pas perdre un cache valide, et aussi de supporter la mise a jour du cache en cas d'ajout d'aide via mes_options.php(retour sur r18688) r18710 | cedric | 2011-11-09 11:46:13 | simplification de la regexp modifiée par r18702 mais qui provoque du coup une erreur"Compilation failed: lookbehind assertion is not fixed length"Il faut verifier cependant que l'on matche bien la même chose... r18711 | esj | 2011-11-09 12:26:31 | Bonne idée de r18709 de paramétrer le cache avec la valeur de $help_server, mais deux plugins peuvent utiliser un même $help_serveur, donc le changement de celui-ci n'est pas suffisant pour repérer que le cache de l'aide en ligne n'est plus valable car le changement peut ne porter que sur l'un des deux plugins. Si on veut absolutment retirer le code de r18688, alors il faut tenir compte de la liste des plugins actifs dans le nom du cache. r18712 | denisb | 2011-11-09 14:35:38 | filtres_images_lib_mini.php : suite de 18702 et 18710 ; on accepte et on traite donc aussi les images sufixées '.jpeg' . r18714 | cedric | 2011-11-10 08:48:38 | #2397 : Après débat $help_server semble bien nécessaire et suffisante pour qualifier le cache du contenu HTML de l'aide en ligne. On évite donc de l'invalider à chaque modification des plugins. r18723 | kent1 | 2011-11-16 11:58:47 | Des plugins peuvent vouloir surcharger ce modèle uniquement pour une extension en particulier ... et pas tout les types de documents commençant par un mime-type spécifique ...On permet donc l'existence d'un inclure de la forme : modeles/emb_[(#EXTENSION)].htmlIl sera pris en compte, sinon on inclu : modeles/[(#MIME_TYPE|substr{0,[(#MIME_TYPE|strpos{/})]Ce dernier est fourni par SPIP Core 2.1.10->2.1.11 (22/09/2011) r17662 | fil | 2011-04-06 23:19:16 +0200 (mer, 06 avr 2011) | permettre d'avoir une apostrophe dans un bouton de generer_form_ecrire (ex: ''Relancer l'installation'') r17666 | ben | 2011-04-06 23:39:25 +0200 (mer, 06 avr 2011) | On disait que les gens en fait ils s'en foutent du CHANGELOG et qu'ils ne le lisent pas ... et donc qu'une erreur de copier coller cela passe inaper�u et que non vraiment on ne va pas refaire une nouvelle version pour �a r17676 | b_b | 2011-04-07 19:12:54 +0200 (jeu, 07 avr 2011) | ne pas laisser ces blocs de configuration en acc�s libre (arnault) r17687 | eric | 2011-04-10 12:03:43 +0200 (dim, 10 avr 2011) | On renvoie la balise traduire dans l'arbre xml pour pr�parer la migratio vers paquet.xml r17692 | b_b | 2011-04-10 18:39:43 +0200 (dim, 10 avr 2011) | report de r17691 : coquille dans r15362 r17694 | b_b | 2011-04-10 19:00:36 +0200 (dim, 10 avr 2011) | report de 17693 : r17691 en mieux, il y avait bien un bug dans r15362 mais ce n'�tait pas une coquille r17711 | cedric | 2011-04-12 23:49:26 +0200 (mar, 12 avr 2011) | coquille r17727 | cedric | 2011-04-16 11:23:32 +0200 (sam, 16 avr 2011) | Deplacer le squelette cfg qui n'a pas besoin d'etre dans le path r17754 | eric | 2011-04-24 15:50:12 +0200 (dim, 24 avr 2011) | On corrige le filtre info_plugin qui ne fonctionnait plus dans certains cas particuliers o� le plugin �tait une extension. r17762 | fil | 2011-04-25 22:57:44 +0200 (lun, 25 avr 2011) | il faut aussi creer les cles manquantes lorsqu'on fait un create_ou_upgrade r17783 | b_b | 2011-04-30 19:03:45 +0200 (sam, 30 avr 2011) | ne pas g�n�rer une erreur sql lors de la recherche priv�e si elle est �tendue aux groupes de mots r17791 | b_b | 2011-05-01 12:11:11 +0200 (dim, 01 mai 2011) | groupes_mot cf le "eurk" dans http://core.spip.org/projects/spip/repository/entry/branches/spip-2.1/ecrire/inc/prepare_recherche.php#L50 r17792 | fil | 2011-05-01 22:07:48 +0200 (dim, 01 mai 2011) | probleme de nommage de l'ical prive (#2034, r�solu par Fabien Michel) r17840 | fil | 2011-05-08 16:03:23 +0200 (dim, 08 mai 2011) | utiliser plutot le soft-hyphen pour couper les lignes longues r17841 | cedric | 2011-05-09 12:43:27 +0200 (lun, 09 mai 2011) | depuis r14104 les criteres infixe ne fonctionnaient plus sur les tables ayant declare un critere infixe externe par la globale exception_des_jointures au format tableau (ie jointures tordues) :la presence de la globale faisait sortir du traitement standard, mais si le champ recherche n'etait pas specifie dans la globale, on ne revenait pas dans les clous. r17844 | cedric | 2011-05-10 00:41:22 +0200 (mar, 10 mai 2011) | #2064 : $id_auteur non defini lors de l'actualisation des sessions r17845 | kent1 | 2011-05-10 12:50:50 +0200 (mar, 10 mai 2011) | prendre en compte les fichiers avec extension mpeg comme des mpg r17867 | b_b | 2011-05-12 17:36:57 +0200 (jeu, 12 mai 2011) | report de r17864 et son oups r17865 : r�parer ancre_url si on l'utilise pour virer l'ancre r17885 | esj | 2011-05-15 16:21:13 +0200 (dim, 15 mai 2011) | La page d'aide en ligne �tant un frameset, lorsque le fichier d'aide n'est pas disponible on se retrouve avec 2 processus concurrents qui le fabrique. Pas dramatique, mais www.spipnet n'a pas besoin qu'on lui double son nombre de requ�tes. On cr�� donc d'abord le fichier, puis on envoie la page avec frameset. r17941 | fil | 2011-05-23 19:05:26 +0200 (lun, 23 mai 2011) | separer les caches selon la methode http/https afin d'eviter tout mixte de methodes (severo) r17947 | cedric | 2011-05-25 15:13:26 +0200 (mer, 25 mai 2011) | bug sur le telechargement d'un zip qui n'as pas l'extension zip dans son url. Au second tout on oubliait de regarder l'extension du fichier et on abandonnait donc l'affaire, sans log qui plus est ... r17977 | guy.cesaro@gmail.com | 2011-06-08 11:13:19 +0200 (mer, 08 jun 2011) | Si dans la configuration la syndication est desactivee, le champs syndication est vide, evitons alors d'afficher les options de syndication.http://core.spip.org/issues/2115 r17985 | cedric | 2011-06-09 00:05:57 +0200 (jeu, 09 jun 2011) | #2118multiples destinataires a un email sont s�par�s par ", " (virgule+espace) selon http://php.net/manual/en/function.mail.php r18045 | esj | 2011-06-13 23:52:21 +0200 (lun, 13 jun 2011) | * en cas d'erreur dans le maj_while, on ne retournait pas le numero de MAJ fautif * st�riliser une variable d'URL mais oublier d'utiliser le r�sultat, c'est pas malin * ind�fini inepte r18119 | denisb | 2011-06-24 13:33:52 +0200 (ven, 24 jun 2011) | la variable d'un crit�re conditionnel peut avoir explicitement z�ro pour valeur. r18126 | rastapopoulos | 2011-06-25 16:31:09 +0200 (sam, 25 jun 2011) | Les sessions de SPIP ont actuellement deux bugs : - SPIP n'a aucune proc�dure pour supprimer les fichiers de sessions des non-inscrits (id=0) et donc une fois cr��s ces fichiers restent l� � l'infini- SPIP cr�e un fichier de session m�me quand la session est vide ! Et quand on veut effacer une variable de session, il ne la supprime pas mais la met � "null", du coup la session n'est jamais vide d�s qu'on utilise session_set().Ce patch corrige pour l'instant le deuxi�me bug :- quand on *vide* une variable avec session_set('mon_truc'); cela supprime r�ellement la variable avec un unset(...)- au moment d'�crire le fichier de session, on v�rifie d'abord si elle est vide (uniquement pour les non-inscrits car les autres ont toujours quelque chose). Si c'est le cas on supprime le fichier associ� s'il existe et on n'�crit rien du tout r18141 | cedric | 2011-06-27 18:17:31 +0200 (lun, 27 jun 2011) | Report de r18140 qui corrige r18119 r18148 | esj | 2011-07-01 08:29:25 +0200 (ven, 01 jui 2011) | Bug dans la g�n�ration de l'action auteur: l'argument demandant que l'action soit produite dans l'espace public �tait mal propag�.Par ailleurs, il �tait anormal que le 3e argument optionnel d'AjaxSqueeze ne puisse pas �tre sp�cifi� via ajax_action_post alors que cela l'�tait pour ajax_action_auteur. Possibilit� r�percut�e dans forum_envoi_form mais non utilis� ici. r18153 | rastapopoulos | 2011-07-03 03:25:14 +0200 (dim, 03 jui 2011) | Il fallait tester le type exact, car �videmment array() = 0 = null. r18180 | cedric | 2011-07-05 10:29:25 +0200 (mar, 05 jui 2011) | Report justifi� de r18179 r18188 | esj | 2011-07-06 15:02:17 +0200 (mer, 06 jui 2011) | Je d�couvre que j'ai oubli� de d�poser cette nouvelle version de envoyer_mail pour la sortie de la 2.1. C'est une version qui est beaucoup plus robuste que la pr�c�dente pour passer � travers le mode le plus parano de SpamAssassin, et qui est capable de joindre des pi�ces de tout type dans le mail � envoyer. Mieux vaut tard que jamais. r18205 | esj | 2011-07-07 16:35:44 +0200 (jeu, 07 jui 2011) | Le 2e bug signal� par r18126 et [http://www.mail-archive.com/spip@rezo.net/msg36737.html ce message sur spip-dev] est d� � r11865 qui ne d�truisait plus du tout les vieux fichiers de session commen�ant par 0 lors d'un logout de qq. On am�liore, mais il faut noter que si personne ne se d�connecte pendant plusieurs jours, ces fichers de spammeurs de formulaire avec session_mail etc resteront longtemps. Et eviter les accents dans les commentaires. r18235 | cedric | 2011-07-18 23:55:36 +0200 (lun, 18 jui 2011) | Report de r18198 qui aligne les evolutions proposees par r18188 sur l'existant (Facteur) r18236 | esj | 2011-07-21 22:41:58 +0200 (jeu, 21 jui 2011) | Bug dans l'analyseur de DTD, qui refuse � tort la r�f�rence � une Entity dans le nom d'un Element. Indispensable pour analyser correctement la r�cente DTD [http://www.w3.org/TR/xhtml-basic/ xhtml-basic 1.1], con�ue pour �tre compatible avecles petits �crans. C'est toujours aussi laxiste que le pr�tendu xhtml-strict 1.0 ([http://www.spip.net/fr_article3541.html#nb2 lire ici l'imposture], mais �a simplifie le pachydermique �l�ment Table, et �a retient des bonnes id�es de l'impasse du XHTML 1.1 (l'attribut [http://www.w3.org/TR/2006/WD-xhtml-basic-20060705/#s_inputmode inputmode]). A noter que l'icone de cette DTD n'est toujours pas disponible dans la [http://www.w3.org/QA/Tools/Icons page des icones du W3C]. r18237 | esj | 2011-07-22 18:30:20 +0200 (ven, 22 jui 2011) | Les analyseus de DTD des branches 2.1 et 2.2 avaient diverg�s, je resynchronise. r18261 | b_b | 2011-07-27 23:44:37 +0200 (mer, 27 jui 2011) | report de http://zone.spip.org/trac/spip-zone/changeset/50029Upload d'un svg : remplacer le test sur le statut auteur par un appel a autoriser(televerser,script) qui peut etre deroge dans un cron r18288 | fil | 2011-08-02 16:05:28 +0200 (mar, 02 ao� 2011) | les appels ancienne maniere a inc/envoyer_mail donnaient un contenu vide r18302 | b_b | 2011-08-04 14:35:02 +0200 (jeu, 04 ao� 2011) | report de r18300 : ne pas laisser n'importe qui appeler l'action tester_taille (arnault) r18303 | rastapopoulos | 2011-08-04 15:43:07 +0200 (jeu, 04 ao� 2011) | Alors en fait mes derniers commits corrigeaient bien un d�faut mais en cr�aient un autre.En effet dans actualiser_session() il y a un array_merge() ce qu'il y a dans le *fichier* avec ce qu'on demande la session courrante et c'est appel� d�s qu'on fait un session_set().Du coup d�s qu'on faisait un session_set() vide pour *supprimer* une valeur, et bien en fait elle r�-apparaissait toujours puisque dans le fichier l'ancienne valeur �tait toujours l�, et durant le merge �a n'�crasait rien puisque la variable n'�tait plus dans $auteur.On r�tablit donc l'enregistrement de variable "null" dans la globale MAIS c'est au moment de l'�criture dans le fichier que l� on supprime celles qui sont nulles. r18317 | cedric | 2011-08-12 21:58:18 +0200 (ven, 12 ao� 2011) | R�soud #2166 : mauvaise inclusion pour bouton_suivant() r18332 | b_b | 2011-08-16 15:03:08 +0200 (mar, 16 ao� 2011) | report du pipeline declarer_type_surnoms pour mieux prendre en charge les objets dont le singulier et le pluriel terminent par un s dans la fonction objet_type() r18333 | cedric | 2011-08-16 16:25:16 +0200 (mar, 16 ao� 2011) | r18332 a emmen� un report en trop : le preg sur le type g�n�re des incompatibilit� potentielles r18366 | esj | 2011-08-22 16:53:42 +0200 (lun, 22 ao� 2011) | Manque dans l'analyseur de DTD: il ne v�rifie pas qu'un attribut de type NMTOKEN ou NMTOKENS ne contient que des noms. Utile pour certains attributs des balises d'en-t�te dans la DTD XHTML Basic 1.1, mais curieusement pas pour l'attribut "class" qui est clairement un NMTOKENS pourtant. Cependant le [http://validator.w3.org/mobile/ profileur MobileOK] d�tecte le probl�me, par un contr�le en aval du validateur. r18368 | esj | 2011-08-22 17:12:47 +0200 (lun, 22 ao� 2011) | R�vision du code HTML produit par le filtre agenda_memo (et son utilisation implicite dans l'espace priv�) afin qu'il soit valide selon [XHTML Basic 1.1 http://www.w3.org/TR/xhtml-basic/], sous-ensemble de XHTML strict prenant en compte les t�l�phones � �cran. Cette DTD exclut les tables imbriqu�es, ainsi que les vieux attributs "cellspacing" et "cellpading". Par ailleurs le [http://validator.w3.org/mobile/ profileur MobileOK] �nonce plusieurs recommandations, parfois discutbales mais m�ritant r�flexion, notamment la r�duction � 10Ko de la page XHTML transmise. Pour atteindre la validit� XHTML Basic et un score sup�rieur � la moyenne avec le profileur, le pr�sent d�p�t impl�mente les modifications suivantes: * remplacement de "cellpadding" par la propri�t� CSS "padding" * remplacement de "cellspacing=0" par la propri�t� CSS "border-collapse: collapse * remplacement de la plupart des tables par des Div positionn��s, afin d'�vacuer certaines tables imbriqu�es * mise en Ajax du triple mini-agenda aparaissant au survol du lien "aujourd'hui", ce qui r�duit consid�rablement la taille de la page produite * la structure du code XHTML retourn� n'est plus un simple "Table" mais "div div /div table.../table /div" afin que l'appel Ajax ins�re son r�sultat (une table) dans la 2e Div, et non plus dans un Td de la premi�re table pour �viter cette imbrication * l'appel Ajax est un squelette r�duit � l'utilisation du filtre agenda_affiche acceptant un quatri�me type de calendrier: "trimestre" * la production de l'URL vers une autre page du calendrier �vite d'y placer les valeurs par d�faut des param�tres, pour diminuer sa taille * la barre de navigation du calendrier avec son titre n'est plus un "tr+td" avec colspan maximal mais un 'caption", ce qui est plus conforme aux r�gles d'accessibilt� et permet � tous les "td" restants d'�tre trait�s pareillement par les CSS * plusieurs styles �crits en dur et plusieurs noms de classes sont �vacu�es, en utilisant massivement les s�lecteurs bas�s sur ">" et "+" dans agenda.css, ce qui permet de r�duire la taille du code produit * utilisation de "em" pour d�finir la taille de la police, plut�t que "px" * �vacuation des lignes blanches dans les squelettes concern�s, afin l� aussi de r�duire la taille du code XHTML produit. r18381 | esj | 2011-08-25 16:50:18 +0200 (jeu, 25 ao� 2011) | Utiliser #URL_PAGE sans lui donner d'argument produisait un code PHP compil� syntaxiquement faux, d'o� un message "erreur de compilation" laconique. Tant qu'� traiter ce cas, on lui donne la s�mantique intuitive qu'une telle utilisation fournit l'URL de la page courante. C'est pratiquement #SELF, mais �a retourne l'URL absolue, comme pour les autres utilisations de #URL_PAGE. Cerise sur le gateau, on donne aussi un sens � l'�toile (#URL_PAGE* ....) en disant que si elle est pr�sente on ne transcode pas les & en l'entit� XML amp;. r18384 | cedric | 2011-08-25 23:11:34 +0200 (jeu, 25 ao� 2011) | encore une coquille de r18235 : preparer tout le mail pour $destinataire et l'envoyer finalement � $email qui est vide �a ne marche pas ! r18393 | esj | 2011-08-29 12:18:34 +0200 (lun, 29 ao� 2011) | Am�lioration de r18381, #URL_PAGE sans argument ne fournissant pas la bonne URL pour les URLs libres etc. Et scorie dans une CSS. r18395 | esj | 2011-08-29 14:54:30 +0200 (lun, 29 ao� 2011) | Coquille dans r18393 r18412 | fil | 2011-08-31 17:13:07 +0200 (mer, 31 ao� 2011) | dans certaines combinaisons de PHP la methode memcache::delete() est bugguee si on n'envoie pas le parametre timeout=0; cf http://fr.php.net/manual/en/memcache.delete.php#98826 r18413 | fil | 2011-08-31 17:19:49 +0200 (mer, 31 ao� 2011) | revert de r18412 (oups) r18420 | esj | 2011-09-02 07:59:58 +0200 (ven, 02 sep 2011) | Report en 2.1 et 2.2 des coquilles dans l'analyseur XML rep�r�es par r18410 r18461 | cedric | 2011-09-08 15:51:34 +0200 (jeu, 08 sep 2011) | securite : email_valide() refuse tout ce qui n'est pas une chaine (eviter un full path disclosure sur le preg_match qui suit) r18462 | cedric | 2011-09-08 15:54:13 +0200 (jeu, 08 sep 2011) | email ne peut �tre qu'une cha�ne, for�ons le avant de l'envoyer dans la fonction de validation (Laurent Estieux) r18473 | esj | 2011-09-09 08:43:44 +0200 (ven, 09 sep 2011) | La mise en Ajax du formulaire de datation n'avait pas suivi le mod�le g�n�ral: * il n'�tait pas possible d'avoir plusieurs formulaires sur une m�me page car les ID utilis�s pour modifier le DOM avaient des valeurs constantes au lieu de d�pendre de la cl� primaire de l'objet; * il n'�tait pas possible d'appliquer ce formulaire sur autre chose que les 3 objets pr�vus par (article, breve, site). r18480 | esj | 2011-09-10 04:44:14 +0200 (sam, 10 sep 2011) | Compl�ment � r18473: des ID constants dans le formulaire de datation, pas g�nant pour JS mais emp�chant la validit� XML. r18485 | esj | 2011-09-10 15:49:43 +0200 (sam, 10 sep 2011) | Report optimis� de r18476: htmlspecialchars suffit dans le validateur, qui garantit que ce sur quoi on l'applique est une cha�ne. r18494 | cedric | 2011-09-11 16:40:08 +0200 (dim, 11 sep 2011) | optimiser la recherche de racine commune qui peut etre laborieuse sur une grosse lib r18495 | cedric | 2011-09-11 16:43:08 +0200 (dim, 11 sep 2011) | R�soud #2315 en compl�tant l'analyse de l'en-t�te de l'url.Cela dit, pour l'exemple fourni, le nombre de fichiers de la librairie est tel qu'il n'est pas possible de la dezipper en moins de 30s. Il faudrait tout revoir le code pour ce genre de cas, mais c'est � revoir autre part, un autre jour. r18496 | esj | 2011-09-11 17:19:16 +0200 (dim, 11 sep 2011) | Compl�ment � r18368 sur la refonte du HTML et des CSS des calendriers: le mini-calendrier des rdv de la messagerie interne ne poss�dait plus sa bordure droite. Par ailleurs il faut tenir compte de l'�chelle dans le placement d'un rdv sur la version avec heure du calendrier. Et deux lignes de code mort �vacu�es. r18501 | esj | 2011-09-12 08:23:14 +0200 (lun, 12 sep 2011) | Compl�ment � r18480 et r18473: tant qu'� normaliser la mise en Ajax du formulaire de datation, aller jusqu'au bout en lui permettant de fournir � AjaxSqueeze la fonction r�flexe. r18504 | esj | 2011-09-12 16:40:01 +0200 (lun, 12 sep 2011) | Modernisation du XHTML des calendrier par r18368: squelette agenda_jour mal test�. r18507 | b_b | 2011-09-13 00:55:46 +0200 (mar, 13 sep 2011) | r12771 avait renseign� media all pour perso.css qui du coup se fait appeler avant habillage.css lorsque la compression css est active. 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. r18512 | esj | 2011-09-13 19:09:55 +0200 (mar, 13 sep 2011) | Compl�ment � r18368 sur la refonte du XHTML et des CSS des calendriers: le format ICS sur lequel repose la structure de donn�es de ce code admet que le champ ATTENDEE peut appara�tre plusieurs fois, ce qui n'�tait pas pris en compte auparavant ici. On accepte � pr�sent que cette structure de donn�es poss�de un sous-tableau pour sp�cifier ce cas, et on typographie autant de liens Mailto quand c'est un email valide. Tant qu'� faire, on introduit des classes nomm�es et on �vacue encore un peu de styles en dur. A noter que le RFC d'ICS n'est plus le 2445, un [http://tools.ietf.org/html/rfc5545 nouveau RFC] �tant paru il y a 2 ans.Par ailleurs, r18480 n'avait pas vraiment r�tabli la validit� XML du formulaire de datation. r18534 | cedric | 2011-09-16 14:28:55 +0200 (ven, 16 sep 2011) | Ferme #2331 : certains navigateurs envoient leur langue partiellement en majuscule r18559 | ben | 2011-09-22 21:40:48 +0200 (jeu, 22 sep 2011) | decommit du r18507 de b_b pour eviter les conflits :) r18560 | ben | 2011-09-22 21:44:32 +0200 (jeu, 22 sep 2011) | for i in 18512 18504 18501 18496 18494 18480 18473 18368 ; do echo 18368; echo -; svn merge --change -18368 .; done r18561 | ben | 2011-09-22 21:47:40 +0200 (jeu, 22 sep 2011) | 2.1.11 juste le numero pour l'instant Extensions 2.1.10->2.1.11 (22/09/2011) r47825 | jluc@no-log.org | 2011-05-15 20:36:39 +0200 (dim, 15 mai 2011) | �viter toute ambiguit� : ce plugin n'est pas 'forum' mais 'forum_objets_spip2' r47887 | renato@rezo.net | 2011-05-17 23:20:12 +0200 (mar, 17 mai 2011) | traduction italienne r48203 | cedric | 2011-05-27 16:02:46 +0200 (ven, 27 mai 2011) | les differentes m�thodes du filtre |image_rotation n'�taient pas �quivalentes du point de vue des coins issus de la rotation : image_RotateBicubic produit des coins transparents, il faut donc que les m�thodes alternatives le fassent aussi.La version moderne de Imagick() et convert en ligne de commande sont ici trait�es. Il reste un doute sur l'ancienne version de imagick, qu'on repouse en 3�me choix du coup. r48224 | marcimat | 2011-05-27 22:40:51 +0200 (ven, 27 mai 2011) | Revert � minima du changement de pr�fixe de [47825]. On remet le prefixe �forum� en attendant une solution test�e !L'installation ne marchant plus car les fonctions PHP n'ont pas �t� renomm�es en cons�quence.Soit on laisse �forum�, soit on met un autre pr�fixe, mais �galement sur toutes les fonctions du plugin (pipelines et fonction d'installation principalement). r48781 | kent1 | 2011-06-14 13:06:40 +0200 (mar, 14 jun 2011) | VARCHAR r50072 | b_b | 2011-07-29 16:03:50 +0200 (ven, 29 jui 2011) | report de r50071 : ne pas compacter les scripts avec un attribut id r50177 | kent1 | 2011-08-02 19:22:51 +0200 (mar, 02 ao� 2011) | N'afficher le tab des forums internes que si la configuration du site les prend en charge ou s'il y en a au moins un de pr�sent r50186 | kent1 | 2011-08-03 09:38:47 +0200 (mer, 03 ao� 2011) |
inutile ou alors c'est le s�parateur qui est inutile ... � voir et revert si besoin r50187 | kent1 | 2011-08-03 10:25:12 +0200 (mer, 03 ao� 2011) | Rangement dans les fichiers de langue ...Version anglaise ... r50188 | kent1 | 2011-08-03 10:26:39 +0200 (mer, 03 ao� 2011) | Am�lioration du formulaire...On affiche des messages traduits correctement r50189 | kent1 | 2011-08-03 10:58:51 +0200 (mer, 03 ao� 2011) | Une ancre de pagination manquante ... r50190 | kent1 | 2011-08-03 11:03:43 +0200 (mer, 03 ao� 2011) | Les images manquantes r50191 | kent1 | 2011-08-03 11:04:26 +0200 (mer, 03 ao� 2011) | Les bons chemins pour les images r50192 | kent1 | 2011-08-03 11:14:21 +0200 (mer, 03 ao� 2011) | Am�lioration du plugin.xml r50264 | kent1 | 2011-08-05 11:20:57 +0200 (ven, 05 ao� 2011) | On ne met en #SET self qu'une fois, c'est suffisantOn enl�ve "type_message" de l'url au passage en CVTOn ne s'encombre pas d'interface inutile :- Si on n'a pas de forums internes, on n'affiche pas le lien- Si on n'a pas de forums vides, on n'affiche pas le lien- Si on n'a ni forums vides ni forums internes, on n'affiche pas les onglets du tout r50266 | kent1 | 2011-08-05 12:03:07 +0200 (ven, 05 ao� 2011) | Pouvoir passer objet/id_objet en filtresUne erreur sur la boucle SITESEn 2.3 on peut ne pas avoir l'extension SITES et BREVES par exemple (� reporter)Virer les attributs "style" du texte ... fr�quemment utilis� par les spammeurs pour ajouter des liens cach�s r50268 | kent1 | 2011-08-05 12:21:58 +0200 (ven, 05 ao� 2011) | Les classes #EDIT{} sur les titres et textes des messages permettant d'�diter les posts de forum si rendu possible via autoriser (plugin autorit�)Pouvoir avoir le lien vers l'objet du post m�me si ce n'est pas un objet traditionnel de SPIP (les tickets du plugin ticket par exemple) ainsi que pouvoir filtrer tous les messages de l'objet en questionOn ajoute une chaine de langue g�n�rique du coupVider les attributs style du texte fr�quemment utilis�s par les spammeurs pour cacher du texte r50269 | kent1 | 2011-08-05 13:12:02 +0200 (ven, 05 ao� 2011) | On filtre sur objet et id_objet aussi r50270 | kent1 | 2011-08-05 13:14:24 +0200 (ven, 05 ao� 2011) | Ici aussi on g�re objet et id_objet de l'environnement r50271 | kent1 | 2011-08-05 13:15:15 +0200 (ven, 05 ao� 2011) | Oups ... oublis r50308 | kent1 | 2011-08-05 16:47:02 +0200 (ven, 05 ao� 2011) | Filtrer sur objet/id_objet �galement dans le CVTAfficher les filtres utilis�s dans le formulaireOn utilise la m�me icone que dans l'interface par onglet pour supprimer les filtresDans le cas d'un filtre sur les auteurs, utiliser une URL dans le public ou dans le priv� suivant l'endroit o� l'on se trouve r50309 | kent1 | 2011-08-05 17:29:42 +0200 (ven, 05 ao� 2011) | Comme pour l'interface avec onglets, on ne s'embarrasse pas d'�l�ments d'interface dont on n'a pas besoin r50310 | kent1 | 2011-08-05 17:34:51 +0200 (ven, 05 ao� 2011) | Faire fonctionner la recherche r50311 | kent1 | 2011-08-05 17:57:07 +0200 (ven, 05 ao� 2011) | On am�liore le formulaire de s�lection en n'affichant que les options r�ellement s�l�ctionnables ... r50340 | kent1 | 2011-08-06 22:12:56 +0200 (sam, 06 ao� 2011) | Report de la BoOz Google feature (cf : http://zone.spip.org/trac/spip-zone/changeset/50220/_plugins_/forum) ... Un chouilla am�lior�e r50341 | kent1 | 2011-08-06 22:21:13 +0200 (sam, 06 ao� 2011) | Report du word-wrap sur les urls de http://zone.spip.org/trac/spip-zone/changeset/44455/_plugins_/forum r50342 | kent1 | 2011-08-06 22:27:23 +0200 (sam, 06 ao� 2011) | Afficher les documents des forums dans leur mod�ration r50433 | kent1 | 2011-08-12 15:39:47 +0200 (ven, 12 ao� 2011) | intval plutot que sql_quote (report du trunk) r50500 | b_b | 2011-08-16 13:27:41 +0200 (mar, 16 ao� 2011) | des tests pour les fonctions de base/connect_sql r50502 | b_b | 2011-08-16 15:23:42 +0200 (mar, 16 ao� 2011) | r�parer le test sur le filtre balise_img r51700 | kent1 | 2011-09-22 16:20:11 +0200 (jeu, 22 sep 2011) | On affiche le num�ro du message s�lectionn� sur le controle des forumsOn rend le form de pr�visualisation de message conforme aux autres formulaires de spip (le bouton en dehors du fieldset) Core 2.1.9->2.1.10 (06/04/2011) r17654 | b_b | 2011-04-06 20:24:17 +0200 (mer, 06 avr 2011) | report de r17653 : un auteur ne doit pas pouvoir lancer la proc�dure de reinstall sans acc�s ftp (merci arnault) Extensions 2.1.9->2.1.10 (06/04/2011) r46236 | real3t | 2011-04-01 11:57:08 +0200 (ven, 01 avr 2011) | 1sSuite � remarques sur l'accessibilit� du PortePlume qui bloque la navigation au clavier en changeant le comportement par d�faut de la touche Tab, emp�chant de ressortir du champ.� noter :* Tab : champ ou lien suivant* Maj-Tab : pr�c�dent* ctrl-tab et crtl-maj-tab : onglet suivant ou pr�c�dent- Alt-tab et alt-maj-tab : passer d'une application ouverte � une autreDonc, pour mettre la possibilit� de saisir une tab dans le greffon de PP "Code", c'est assez mal parti.Remarque : que fait un fork de PP dans _galaxie_/forum.spip.org/forum.spip.org_2009/barre_outils/edition.php ? r46374 | jluc | 2011-04-05 17:23:24 +0200 (mar, 05 avr 2011) | Pas de backquotes autour des noms de tables avec l'API sql (sql_alter ici), sinon les pr�fixes de base ne sont pas mis � contribution et ya pas d'upgrade.Rq : ce plugin migre et utilise les forums breves articles etc en un unique formalisme objet / id_objet utilisable pour d'autres objets non spip aussi, et pr�figure la future gestion des forums dans spip 2.3 Core 2.1.8->2.1.9 (25/03/2011) r16966 | ben | 2011-01-14 14:40:30 +0100 (ven, 14 jan 2011) | SPIP 2.1.8 r16971 | cedric | 2011-01-15 17:56:48 +0100 (sam, 15 jan 2011) | N'utiliser qu'un seul argument dans parse_url pour le support des PHP 4.x (ce bug touche les installation en mutualise) r16978 | cedric | 2011-01-18 10:07:05 +0100 (mar, 18 jan 2011) | mieux loger les echecs de connexion SQL en renseignant sur la nature de l'echec r16991 | fil | 2011-01-20 08:51:16 +0100 (jeu, 20 jan 2011) | supprimer la production d'un log de debug vraiment inutile r17001 | booz | 2011-01-20 17:33:55 +0100 (jeu, 20 jan 2011) | ne pas avoir en permanance le texte du message qu'on a post� pr�c�demment sur l'article dans un nouveau message, comme pr�vu, m�me en ajax r17002 | fil | 2011-01-21 07:42:04 +0100 (ven, 21 jan 2011) | attention aux script=(exec)&arguments dans generer_form_ecrire (patv) r17014 | kent1 | 2011-01-25 17:50:24 +0100 (mar, 25 jan 2011) | revenir sur r16960 pour ne pas avoir ecrire/ecrire/ dans les redirections dans le priv� r17015 | kent1 | 2011-01-25 18:06:14 +0100 (mar, 25 jan 2011) | Oups ... _DIR_RESTREINT_ABS se termine par / donc pas besoin de le rajouter manuellement r17016 | kent1 | 2011-01-25 18:18:49 +0100 (mar, 25 jan 2011) | Oups ... _DIR_RESTREINT_ABS se termine par / donc pas besoin de le rajouter manuellement r17017 | cedric | 2011-01-26 11:54:04 +0100 (mer, 26 jan 2011) | Gros bug dans la gestion d'erreur sqlite :La fonction abstraite sql_error($serveur) ne prend qu'un argument en entree,mais introduit la derniere requete comme premier argument de la fonction spip_xxx_error($query, $serveur)spip_sqlite_error ne respectait pas cette signature, et utilisait $query comme $serveur, provoquant un log sybillin "aucune ressource sqlite" qui ne permettait pas de remonter a l'erreur d'origine r17018 | cedric | 2011-01-26 12:17:24 +0100 (mer, 26 jan 2011) | ne pas prendre en compte $row() dans la signature du formulaire_editer_auteur car elle recupere la saisie actuelle.Repare le bug de l'absence d'erreur au premier post (mot de passe trop court ou autre) r17019 | cedric | 2011-01-26 14:39:08 +0100 (mer, 26 jan 2011) | lorsque le file system fait la difference entre minuscules et majuscules, les pages de configuration des plugin ne sont pas trouvees si le prefix contient une majuscule.On traite a l'affichage, mais il faudrait faire remonter ce passage en minuscules a la lecture du plugin.xml meme r17025 | cedric | 2011-01-26 21:33:07 +0100 (mer, 26 jan 2011) | report de r16864 normaliser les retour chariots avant placer les span de changement de langue sur les multi (patv) r17026 | cedric | 2011-01-26 21:35:52 +0100 (mer, 26 jan 2011) | proteger les ' dans les valeurs injectees par form_hidden car certains navigateurs melangent guillemets simples et doubles r17029 | kent1 | 2011-01-27 00:06:08 +0100 (jeu, 27 jan 2011) | Il y a des flux dont les items n'ont pas de date mais que des lastbuilddate...Comme on utilise celle-ci apr�s avec un update ... on peut l'utiliser d�s le d�part si pas de date ...exemple de flux ... et non des moindre :http://core.spip.org/projects/spip/activity r17030 | cedric | 2011-01-28 13:33:40 +0100 (ven, 28 jan 2011) | en SQLite sql_delete ne respectait pas encore le changement d'API introduit par r14495 : renvoyer le nombre de lignes supprimees ou false en cas d'echec.En renvoyant toujours true en cas de succes, meme si aucune ligne n'etait supprimee, la fonction trompait la gestion de la file d'attente de job_queue entrainant double execution erronee de travaux r17056 | esj | 2011-02-01 09:39:54 +0100 (mar, 01 f�v 2011) | Pour Mysql et Pg, comme pour Sqlite, v�rifier que charger_php_extension retourne True, sinon un binaire PHP incapable de s'y interfacer produit une page blanche sans aucun log. r17058 | esj | 2011-02-01 18:39:59 +0100 (mar, 01 f�v 2011) | Validateur: quand la regexp des fichiers � analyser ne donne rien, ne pas faire croire qu'on a cherch� les .html. r17061 | cedric | 2011-02-02 15:34:13 +0100 (mer, 02 f�v 2011) | Report de r17060 qui repare les consequences de r16475 et r16476 r17065 | cedric | 2011-02-02 16:31:05 +0100 (mer, 02 f�v 2011) | r17061 ne suffisait encore pas puisque trace_query_end avait perdu un argument par la grace de r14414 jamais reporte en branche dev. Pour la peine l'argument revient, pour essayer de remettre d'aplomb tout cela r17066 | cedric | 2011-02-02 17:23:42 +0100 (mer, 02 f�v 2011) | complement a r17061 et r17065 sur les erreurs en sqlite r17067 | cedric | 2011-02-02 17:24:52 +0100 (mer, 02 f�v 2011) | depuis r15930 il y avait un meli melo dans le profileur, malgre la correction de r15934 r17068 | cedric | 2011-02-02 17:26:24 +0100 (mer, 02 f�v 2011) | il n'est pas necessaire d'echouer completement si le serveur ne fournit pas explain (ce peut etre un serveur annexe, cela n'enleve rien a la qualite des resultats renvoyes par le serveur principal) r17069 | cedric | 2011-02-02 17:28:19 +0100 (mer, 02 f�v 2011) | eviter une reentrance infinie en cas d'erreur sql lors du profilage(erreur => message avec son aide => chargement de inc/charset => ecriture de la meta => erreur ...) r17074 | esj | 2011-02-03 13:26:16 +0100 (jeu, 03 f�v 2011) | Validateur: mauvaise compilation de certaines DTD comportant des "?": les espaces qui pouvaient suivre n'�taient pas supprim�s, la production de la RegExp sur les non terminaux de la grammaire �tait du coup fausse. De plus, on signale dans les logs les entit�s ind�finies (on pourrait carr�ment dire que c'est une erreur, mais dans les fait c'est mieux de pouvoir valider m�me si on n'a pas la traduction num�rique de {{{é}}} et consorts). A l'inverse, donner de quoi rep�rer une entit� inutilis�e, c'est souvent le signe d'une faute de frappe. r17090 | esj | 2011-02-04 17:24:20 +0100 (ven, 04 f�v 2011) | Erreur auparavant transparente dans le validateur: il ne donnait pas acc�s aux zones texte, ce qui n'a pas d'importance quand on l'utilise seulement pour son r�sultat bool�en, mais ce ne sera pas toujours le cas. Et une scorie introduite par r17059. r17092 | cedric | 2011-02-04 21:29:12 +0100 (ven, 04 f�v 2011) | recuperer l'id_xx de l'exec en cours, en enlevant _edit a la fin r17105 | denisb | 2011-02-07 08:19:12 +0100 (lun, 07 f�v 2011) | on aligne l'affichage des image dans le TEXTE de la page rubrique sur celui de la page article. r17155 | booz | 2011-02-11 18:18:26 +0100 (ven, 11 f�v 2011) | lignes_longues doit couper en tenant compte des &, # et ? car safari mobile ne coupe pas tout seul sur &, et les autres pas sur ? et # r17156 | booz | 2011-02-11 19:42:01 +0100 (ven, 11 f�v 2011) | en fait non, il vaut mieux utilise word-wrap:break-word; en css, et pas du tout lignes_longues (cerdic) r17187 | eric | 2011-02-13 20:19:36 +0100 (dim, 13 f�v 2011) | On ajoute les css des messages de r�ussite et d'erreur du priv�. Ca donne un air de la future 2.3 et �a mange pas de pain. r17242 | kent1 | 2011-02-17 03:40:33 +0100 (jeu, 17 f�v 2011) | Pouvoir utiliser correctement le formulaire de cr�ation de site dans l'espace public en mutualisation avec la gestion des urls d'images courtesEn gros :- On envoit le lien d'origine et non le document r�cup�r� dans le formulaire apr�s auto suggestion;- On r�cup�re le logo dans les feeds s'il y en a (fonction qui ne marchait que si on syndiquait un flux RSS);- On enl�ve les styles en dur du logo pour les mettre dans une feuille de style car trop sp�cifique � une utilisation dans le priv�;Revert autoris�... bien entendu ... r17272 | booz | 2011-02-18 18:30:48 +0100 (ven, 18 f�v 2011) | ne pas perdre son texte en cookie si on a cliqu� sur pr�visualiser le massage r17289 | cedric | 2011-02-22 11:26:06 +0100 (mar, 22 f�v 2011) | dans l'API sql de SPIP sql_insert est suppose faire une insertion simple, et jamais de remplacement. En particulier, certaines fonctions de SPIP reposent sur l'echec de l'insertion en cas de doublon, ce qu'un remplacement ne permet plus de detecter (collision d'url existante par exemple). On enleve donc le OR REPLACE utilise dans sqlite pour sql_insert r17291 | rastapopoulos | 2011-02-24 23:43:04 +0100 (jeu, 24 f�v 2011) | Ceci est un code mort car ce pipeline est en fait appel� g�n�riquement par la fonction modifier_contenu() qui pr�c�de. r17332 | b_b | 2011-03-04 16:04:06 +0100 (ven, 04 mar 2011) | report de r17331 : passer l'action au pipeline post_edition tout comme dans pre_edition r17346 | fil | 2011-03-08 23:17:46 +0100 (mar, 08 mar 2011) | report de r17345: la fonction qui raccourcit le lien passe en charger_fonction(), de maniere a pouvoir integrer nativement le plugin lien_court r17347 | kent1 | 2011-03-09 13:46:49 +0100 (mer, 09 mar 2011) | Un patch qui trainait depuis un bail sur mon disque pour que _DIR_PLUGIN_SUPP fonctionne correctement ... Test� par Renato �galement r17348 | cedric | 2011-03-09 15:00:28 +0100 (mer, 09 mar 2011) | eviter une erreur SQL lorsque la table des auteurs est vide (c'est anecdotique, mais evite de polluer les logs apres une restauration echouee) r17350 | cedric | 2011-03-09 21:21:04 +0100 (mer, 09 mar 2011) | report de r16189 et r16191 pour la creation d'une table sqlite a partir d'un show table qui vient de mysql r17351 | cedric | 2011-03-09 23:09:07 +0100 (mer, 09 mar 2011) | utiliser _nano_sha256 pour le calcul du hash256 afin d'eviter de tomber sur la fonction sha256 nativement ajoutee par le patsh sushosin, mais qui ne calcule pas le hash de la meme fa�on dans la decomposition des chaines en octets r17354 | cedric | 2011-03-09 23:46:03 +0100 (mer, 09 mar 2011) | complement a r17351 : il restait des occurences de sha256 potentiellement problematiques. On remplace par _nano_sha256 r17356 | cedric | 2011-03-10 09:00:27 +0100 (jeu, 10 mar 2011) | revert de 3 modifications qui n'avaient rien a faire dans r17354 (aka oups) r17357 | cedric | 2011-03-10 11:41:43 +0100 (jeu, 10 mar 2011) | sqlite n'admet pas un type de champ "int(10) unsigned" mais "int unsigned"corriger a la volee r17358 | cedric | 2011-03-10 19:29:13 +0100 (jeu, 10 mar 2011) | gerer le cas d'un sql_alter('table spip_auteurs add openid text not null after xxx')qui comporte 2 pi�ges : le after surnumeraire et l'absence de "default ''", le premier ne devant pas empecher la correction du second.(cas d'une description de table venant de mysql et reinjectee dans sqlite via la fonction de maj de table) r17360 | fil | 2011-03-11 13:47:46 +0100 (ven, 11 mar 2011) | ajout du kurde Horami r17361 | fil | 2011-03-11 13:56:42 +0100 (ven, 11 mar 2011) | ecrit dans la langue r17383 | marcimat | 2011-03-13 11:21:32 +0100 (dim, 13 mar 2011) | �viter de planter les fonctions de correction de caract�re lorsqu'on leur donne un tableau au lieu d'une chaine. r17384 | marcimat | 2011-03-13 11:24:27 +0100 (dim, 13 mar 2011) | Placer le code apr�s les d�clarations statiques plutot. r17431 | marcimat | 2011-03-16 18:36:32 +0100 (mer, 16 mar 2011) | mysql doit �chaper le nom de la table aussi lors des suppressions de tables. r17441 | esj | 2011-03-18 17:03:59 +0100 (ven, 18 mar 2011) | Dans un fichier XML, il peut y avoir plusieurs commentaires ou PI en d�but de fichier, avant de tomber sur le Doctype ou la premi�re vraie balise. r17448 | esj | 2011-03-18 23:26:38 +0100 (ven, 18 mar 2011) | Report de r17447. Un oubli d'actualisation qui emp�chait la validation XML de se faire sur les extraits XHTML produits par ajax_retour. r17454 | esj | 2011-03-20 14:21:56 +0100 (dim, 20 mar 2011) | Quand le validateur se rappelle avec une query-string qu'il a devin�e, il faut ignore celle-ci quand on calcule le nom du script. Pour bien faire il faudrait �tre capable d'en faire profiter le validateur. r17476 | cedric | 2011-03-23 10:03:55 +0100 (mer, 23 mar 2011) | report de r17474 : pas de bug si le plugin est dans un sous dossier plugins/ de plugins/+ une protection en cas de double inclusion malencontreuse du fichier options des plugins r17492 | fil | 2011-03-24 22:23:38 +0100 (jeu, 24 mar 2011) | correctif XSS suite a r4837 (remerciements pour Arnault) Extensions 2.1.8->2.1.9 (25/03/2011) r44010 | potter | 2011-01-30 20:04:07 +0100 (dim, 30 jan 2011) | Pouvoir d�finir une option padding_vertical et padding_horizontal. C'est bien plus pratique parce que souvent les polices ne d�passent de la boite que en vertical, donc l'int�r�t aussi de l'�largir sur l'horizontal est pas terrible...Ce qui manque serait de pouvoir d�finir vraiment un padding top right bottom left.Une petite astuce pour ceux qui voudraient ne garder qu'un padding en bas � pr�sent (et donc mettre limage typo *aux bords* m�me avec une police qui d�passe : {{#SET{padding,15}#SET{hauteur_tout,#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|hauteur}#SET{new_hauteur, #GET{hauteur_tout}|moins{#GET{padding}}}#SET{largeur_tout,#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|largeur}[(#NOM_SITE_SPIP|image_typo{police=LEVIBRUSH.TTF, taille=#GET{taille}, couleur=#GET{couleur_tout}, padding_vertical=#GET{padding}}|extraire_attribut{src}|image_recadre{#GET{largeur_tout},#GET{new_hauteur},bottom})]}}C'est s�r que c'est lourd, mais avec le cache de SPIP, �a fonctionne plut�t bien.Et �a ne casse en rien les existants padding : ils resteront comme avant. Core 2.1.7->2.1.8 (14/01/2011) r16959 | cedric | 2011-01-13 18:39:26 +0100 (jeu, 13 jan 2011) | la balise formulaire_admin est sur toutes les pages,ne pas provoquer l'inclusion de abstract_sql pour autant, si le visiteur est anonyme,cela laisse a penser qu'on a une connexion sql a chaque hit.On retarde l'inclusion au cas ou le visiteur aura acces aux boutons d'admin r16960 | cedric | 2011-01-13 23:04:34 +0100 (jeu, 13 jan 2011) | lorsque la redirection sur une action est absolue, il s'agit le plus souvent de l'adresse du site lui meme : transformer en url relative plutot que tout vider (cas de l'auth openid) r16961 | cedric | 2011-01-13 23:26:31 +0100 (jeu, 13 jan 2011) | Redirection en cas d'echec sur authentification : il faut utiliser & et non & sur l'url r16962 | cedric | 2011-01-14 09:39:52 +0100 (ven, 14 jan 2011) | inclusion manquante (bmr) r16963 | cedric | 2011-01-14 09:49:45 +0100 (ven, 14 jan 2011) | parse_url n'accepte un deuxieme argument qu'a partir de PHP 5.1, corriger la syntaxe pour utiliser la version avec un seul argument. Extensions 2.1.7->2.1.8 (14/01/2011) r43547 | cedric | 2011-01-13 19:11:18 +0100 (jeu, 13 jan 2011) | declarer les pipelines dans plugin.xml plutot que dans un fichier options charge a chaque hit Core 2.1.6 -> 2.1.7 ( 13/01/2011) r16893 | fil | 2011-01-05 09:50:20 +0100 (mer, 05 jan 2011) | eviter un Warning: Division by zero in ecrire/inc/invalideur.php on line 156 r16897 | cedric | 2011-01-06 09:13:31 +0100 (jeu, 06 jan 2011) | report de r16734 : Evacuer les eventuelles clauses group vide au calcul des requetes dans un squelette.Permet a un critere d'injecter une clause group dynamique, evaluee au calcul, qui rendra '' si pas de group a faire. r16898 | esj | 2011-01-06 10:58:42 +0100 (jeu, 06 jan 2011) | Retour sur r16857: l'erreur du showtable provenait en fait d'une mauvaise citation de l'argument, et la correction emp�chait l'acc�s aux vues. Nouveau correctif plus adapt�, et d�coupe de la fonction principale du d�busqueur en 2 pour pouvoir le surcharger plus facilement sans perdre le libell� des erreurs c'est indispensable (la preuve). r16904 | cedric | 2011-01-06 12:22:01 +0100 (jeu, 06 jan 2011) | Securite : redirections absolues depuis les actions (Matsuyama)introduire une fonction tester_url_absolue() qui teste si une url est absolue.L'utiliser dans le formulaire login et dans la securisation du parametre redirect de toutes les actions via public/aiguillerainsi que pour le parametre url de l'action cookie (pourquoi n'utilise-t-on pas le meme nom de variable ici ?)parse_url ne fonctionne pas sur les urls relatives, dans le formulaire de login. On corrige donc. r16905 | cedric | 2011-01-06 12:25:56 +0100 (jeu, 06 jan 2011) | securite : cast sur $exec (Matsuyama) r16906 | cedric | 2011-01-06 12:28:54 +0100 (jeu, 06 jan 2011) | securite : cast string sur la variable page de l'url (Matsuyama) r16914 | esj | 2011-01-07 23:28:33 +0100 (ven, 07 jan 2011) | Depuis que r14606 a enlev�, � juste titre, le LIKE dans le SHOW TABLE, la cr�ation d'un nouveau site ou la mise en route d'un plugin avec tables SQL provoque syst�matiquement des erreurs SQL inutilement alarmantes. De plus, la variable statique ignorait la valeur de l'argument $serveur, pas vraiment utile pour le moment mais qui en cas d'erreur opacifiait ce qui se passait. On remet tout �a au carr�. r16919 | fil | 2011-01-08 13:13:39 +0100 (sam, 08 jan 2011) | pas de boucle infinie sur un csv vide r16932 | fil | 2011-01-09 17:53:49 +0100 (dim, 09 jan 2011) | refermer les balises mal fermees par le diff r16942 | ben | 2011-01-11 17:32:26 +0100 (mar, 11 jan 2011) | Visiblement c'est une fonction et pas un objet / sqlite_open r16943 | cedric | 2011-01-11 21:23:04 +0100 (mar, 11 jan 2011) | Suite a r16898, corriger l'echappement de $match pour postgre et remplacer le like par un regexp dans sqlite car ESCAPE n'est pas supporte dans les versions 2 de sqlite r16946 | cedric | 2011-01-12 15:46:31 +0100 (mer, 12 jan 2011) | ne pas convertir en url absolue les url des directives filter progid:DXImageTransform.Microsoft.AlphaImageLoader(src=...,..) (nhoizey) r16947 | cedric | 2011-01-12 17:32:56 +0100 (mer, 12 jan 2011) | Les plugins se desactivent dans le public si on a la mauvaise idee de mettre un sous dossier plugins/ dans le dossier plugins/ r16948 | cedric | 2011-01-13 11:27:07 +0100 (jeu, 13 jan 2011) | eviter de perdre son temps a chercher des fonds improbables r16949 | cedric | 2011-01-13 11:28:23 +0100 (jeu, 13 jan 2011) | texte_script doit toujours etre utilise quand on utilise un #ENV dans du php dans un squelette, il n'y a pas d'exception qui tienne r16953 | esj | 2011-01-13 12:43:55 +0100 (jeu, 13 jan 2011) | En mode debug, neutraliser le Content-Disposition sinon on ne voit presque rien. r16955 | esj | 2011-01-13 13:18:54 +0100 (jeu, 13 jan 2011) | S�curiser l'appel des sous-squelettes priv�s (A. Pachot). Extensions 2.1.6 -> 2.1.7 ( 13/01/2011) r43375 | cedric | 2011-01-07 16:20:18 +0100 (ven, 07 jan 2011) | la suppression des declarations vide n'etait pas assez prudente et entrainant quelques troncature de selecteur mal a propos ! (Nicolas Hoizey) Core 2.1.5 -> 2.1.6 ( 02/01/2011) r16805 | esj | Eviter une erreur SQL dans les URL propres, quand on indique une table dont on n'a pas précisé dans la globale {{{table_titre}}} le champ indiquant le titre de l'objet. r16807 | rasta | Cohérence entre URLs arbo et propre : le champ utilisé comme titre pour les objets éditoriaux est par défaut le champ nommé "titre" dans la base si rien n'est déclaré. r16809 | esj | Amélioration de r16807: gérer le champ titre par défaut au niveau de trouver_table, afind'éviter toute erreur SQL, en particulier celle potentielle dans les URL arbos. r16849 | esj | Pas d'année 0000 en Postgres. Résoud #1987. r16857 | esj | Sql_showtable provoquait une erreur SQL en cas de table inconnue ou sans droits de Select, ce n'est pas gérable. Mysql n'offrant pas un "IF EXISTS", on fait un appel à "showtables like" auparavant, lequel ne renvoie rien sans râler si pas de droit de Select, ou pas de réponse au Match. r16862 | cedric | report de r16852 r16870 | esj | Enfin compris pourquoi certaines erreurs de compilation bloquaient parfois le signalement d'autres erreurs. Par ailleurs, r14404 a supprimé la fonction affiche_erreurs_page et son appel conditionné à la fin de index.php. Je ne sais pas pourquoi il a été rétabli ensuite, mais c'est du code mort. r16872 | esj | Décidément, r16788 s'était bien pris les pieds dans le tapis, pas seulement le copyrightcomme l'annonçait r16775. Voici enfin le bon correctif du cas pathologique. r16874 | esj | Ne pas proposer de restreindre à une certaine rubrique quand aucune n'est créée. Et validation XHTML. r16876 | eric | Correction de l'info_maj de SPIP qui renvoie maintenant uniquement la version SPIP disponible la plus élevée. r16879 | fil | divers bugs de secu permettant a un redacteur de faire du grabuge (securitoile) r16880 | fil | xss sur une page non trouvee (securitoile, realet) r16884 | cedric | bloquer les redirection absolues dans le formulaire de login, en prévoyant une constante pour les webmestres qui veulent désactiver cela pour des raisons qui leur appartiennent (ce qui permet de sécuriser en assurant tout de même une continuité de fonctionnement pour ceux qui utilisaient malheureusement cette fonctionnalité). Core 2.1.4 -> 2.1.5 ( 21/12/2010) r16784 | esj | report de r16783. Triple bug en r15088 : la table SQL 'forums' n'existe pas, le nom de la variable n'était pas le même que dans son utilisation plus loin, et son sens n'était plus le même. Core 2.1.3 -> 2.1.4 ( 21/12/2010) r16745 | cedric | Quand un article est une redirection reposant sur un raccourci de SPIPil faut generer une url absolue car celle-ci peut etre utilisee depuis une pageavec une profondeur >1 en cas d'url arborescentes.+ la fonction chapo_redirige a manifestement change de signature depuis longtemps et ne renvoie plus qu'une chaine, mais sa documentation aussi bien que la fonction tester_redirection ne le savaient pas : mise a jour de la doc et correction de la fonction de redirection pour renvoyer l'url complete dans le corps du 302 au lieu du premier caractere... r16762 | cedric | La verification de conformite du champ en base par rapport a ce qui a ete envoyee echouait aussi si on envoit une valeur vide sur un champ date, car SQL le cast en '0000-00-00'.Plus generalement, cette verification risque d'echouer sur tout type de champ caste (int, double, float, date, time, year, enum...) et on l'ignore dans ce cas r16763 | cedric | $limit indefinie et liberer la resource dans spip_sqlite_count r16764 | esj | modification du copyright.Je profite de cette écriture massive pour normaliser quelque chose de trompeur lorsqu'on compare deux versions, savoir l'usage de " ou ' dans le premier argument de define et defined. Comme les chaînes entre apostrophes sont plus rapidement analysées que celles entre guillemets, je choisis l'apostrophe r16768 | esj | Depuis r11919 (généricité des tables de mots associés), le cas pathologique de la création d'un mot sans qu'aucun groupe de mot ne soit créé au préalable n'était pas blindé contre un nom de table vide: ça bouclait. r16775 | esj | r16768 s'est pris les pieds dans tapis avec le copyright. r16776 | esj | r16373 a eu raison de réparer le bug de conception dans generer_url_public dans le cas relatif depuis l'espace, mais du coup le lien dans le contrôle des forums qui contournait ça ne marchait plus. r16778 | esj | Liens de traduction sous la forme [{en}->art2] ou [{}->art2]: ignorer les articles refusés (Paolo). Core 2.1.2 -> 2.1.3 ( 14/12/2010 ) r16030 | fil | une date fixe dans le futur pour beneficier du query cache sql + commentaire r16032 | cedric | Le refactoring de [15970] avait rendu impossible le telechargement de lib qui etaient confondues avec des plugins...En effet plugins_get_infos() renvoyait toujours un tableau, meme si le fichier plugin.xml n'existe pas.Du coup on modifie ce cas qui n'est pas utilise autre part en renvoyant false. r16035 | fil | rtrim() pour faire le job r16039 | fil | bug dans la modification de date d'un document, generant de faux messages d'erreur lors de l'edition du titre lorsque l'option 'modifier la date des documents' est active (Robert caron, denisb) http://permalink.gmane.org/gmane.comp.web.spip.user/160536 http://permalink.gmane.org/gmane.comp.web.spip.user/160592 r16043 | bb | on insère jquery.cookie dans toutes les pages (par défaut dans jquery_plugins) r16048 | fil | affichage des stats : suite et consequences de [15986] (realet) r16079 | fil | {{{ _SERVER['REQUEST_TIME'] }}} n'est pas dispo avant PHP 5.1 r16110 | denisb | depuis [15987] test_sql_mode_mysql() s'est déplacée dans ecrire/req/mysql.php ce qui bloquait toute install non mysql (http://permalink.gmane.org/gmane.comp.web.spip.devel/58749). r16112 | cedric | suite a [15925] un post '' sur un champ intval stocke 0 provoque une alerte (incomprehensible) de conflit d'edition.Deseveriser le test en n'alertant pas lorsque la valeur en base est is_numeric et que la comparaison des intval est identique, mais c'est un pis-allerJe pense qu'il faudrait enlever ca de cette branche et le reprendre plus proprement, en tenant compte du type du champ pour faire la comparaison.Sinon, on oblige tous les formulaires a caster le post pour qu'il soit identique au format en base, ce qui est contraignant. r16117 | esj | Depuis le [14633], l'identification par LDAP d'un nouvel utilisateur ne fonctionnait plus! Ce serait bien d'éviter les logs trompeurs. r16118 | esj | La protection des documents par Htacces a été bousillée par [13957]. Retour au code précédent. r16119 | esj | Deux bugs : * lorsque l'argument d'un INCLURE ne comportait pas de "=" mais était suivi d'espace ou de Return, ceux-ci n'étaient pas retirés et se retrouvaient dans les index du tableau {{{$contexte}}} * le remplacement de {{{#LOGO_X|fichier}}} par {{{#LOGO_X**}}} etc ne marchait pas en PHP5. r16120 | esj | Les noms des paramètres d'une chaîne de langue étendue n'étaient pas entourés d'apostrophes dans le tableau argument de la fonction _T produit par le compilateur. Et eux non plus n'étaient pas expurgés de leurs espaces, ce bug étant neutralisé par le premier. Tant qu'à intervenir sur la fonction traitant les chaînes de langues, je réintroduis la constante MODULES_IDIOMES aveuglément viré par [16006]. r16121 | esj | Les modes d'appels SQL ne concernent que MySQL, retour sur [15987] (Désolé pour [16110] Denis, j'avais préparé ça avant ton envoi, et cette manière prépare le portage éventuel pour les autres serveurs SQL). En prime, découper en 2 l'étape 5 d'installation de LDAP pour pouvoir insérer facilement une étape supplémentaire (multi-serveurs LDAP etc). r16131 | cedric | un oeuf de paque malvenu dans [16119]. Gardons le au chaud pour quand ce sera la bonne saison, mais en attendant, point de var_dump dans la branche stable. r16132 | cedric | il semble qu'on arrive pas a charger certaines lib, la faute au Content-Type ?On se rabat sur l'extension quand elle est explicite. r16138 | esj | L'interdiction de déclarer une base externe à qui n'est pas admin introduite à raison par [14347] a été faite trop à l'arrachée: comme {{{exec=install}}} dispense d'authentifier, l'utilisation de {{{autoriser('configurer')}}} ici ne repose plus que sur le cookie, qui n'est pas forcément présent, d'où un refus excessif. Il faut authentifier, même tardivement, afin que les autorisations soient calculables.Par ailleurs, en cas de fichier de connexion corrompu, SPIP refuse de se réinstaller tout en disant qu'il ne peut pas marcher. Il faut donc d'une part vérifier que ce fichier contient ce qu'il faut avant de prétendre que SPIP est installé, et corriger l'option {{{tantpis}}} dans la création du fichier de session, option qui ne marchait pas en cas de serveur SQL inaccessible. r16140 | bb | ceci *est* un var_dump :p r16141 | esj | Comme pour la réécriture [14175] des balises LOGO revue en [16119], la réécriture de la balise EMBED_DOCUMENT dès l'analyse syntaxique (cf [14177]) ne marchait pas en PHP5. r16159 | esj | Fichier d'installation corrompu, complément à [16138]: traitement du cas aux étapes ultérieures. r16165 | esj | Option {{{tantpis}} du fichier de session sans cookie en retard (retour sur [16139]. r16168 | esj | Oups, confusion dans les comportements fetsel/getfetsel dans [16166]. r16171 | esj | Mais non, là on est revenu à la case départ. La confusion c'était entre {{{true}}} et {{{continue}}} de l'argument {{{option}}} de {{{sql_getfetsel}}}. Ce coup-ci on a bien à la fois le logout correct, le login automatique à l'install, et l'install forcée en cas de fichier corrompu. r16202 | marcimat | Un trim en plus sur le nom des champs car certains outils pour SQLite utilisent des guillemets doubles lorsqu'ils modifient la structure des tables... (sqlite manager, par exemple). r16205 | marcimat | Même chose que [16202] sur la primary key... r16206 | marcimat | sql_showbase avait une coquille sous SQLite dans la requête d'extraction de la liste des tables de la base de donnée. r16212 | fil | un lien pour aller du forum admin au forum interne et vice-versa, cf http://www.spip-contrib.net/Le-plugin-Autorite#forum434569 r16217 | esj | L'implémentation de la fonction {{{sql_showbase}}} ne correspond pas à la spécification [10371] qui l'a introduite: si dans une base on utilise deux préfixes de tables dont l'un est une apocope de l'autre, cette fonction va renvoyer les deux jeux de tables quand on demande le premier jeu. Ca fait particulièrement mal dans l'action de destruction des tables d'un site sur un installation mutualisée. r16219 | esj | Ca, par exemple: la fonction d'analyse de fichier de connexion ne reconnaisait pas un fichier en version 0.4 r16329 | fil | retour sur http://core.spip.org/trac/spip/changeset/15905 ligne 531 qui bug l'affichage dans l'espace prive fr d'un article en, en ne lui donnant pas la bonne typo (le bug etait aussi dans textwheel, mais pas dans spip trunk) r16348 | esj | Warning indiquant en fait une écriture inutile dans l'aide en ligne (Hoizey). Et éliminer un log qui n'est pas forcément alarmant. r16350 | esj | Uniformiser les cas d'erreur dans le validateur pour éviter un warning. r16353 | cedric | traiter les insertions vide au mieux en indiquant un champ qui a un default dans la requete d'insertion pour que sqlite ne couine pas.Necessite au moins un champ avec default dans la table r16354 | cedric | traiter les insertions vide avec une clause DEFAULT VALUES, c'est encore mieux. r16355 | cedric | CEIL et FLOOR sont absente de sqlite2 mais utilisee par le calcul du rendu des statistiques r16356 | esj | Ne pas écrire en dur l'extension des squelettes, elle pourra changer un jour. r16365 | esj | Passage en minuscule des noms de serveurs: [14467] était effectivement sale et brutal, puisque URL_PAGE ne fonctionnait plus du tout sur un connect avec une majuscule, et il doit y avoir d'autres problèmes car l'oubli était chronique dans le code, on répercute. Ce dépôt corrige également l'autre bug sur URL_PAGE signalé dans [16360] et avant. r16369 | esj | Scorie dans [16365] (Cédric). r16373 | davux | Correction de generer_url_public() en relatif dans le priveReport de [16362]: Utiliser _DIR_RACINE pour redescendre d'un niveau quandon appelle generer_url_public() depuis l'espace privé avec $rel=true. r16376 | cedric | des lignes en trop a la fin de ce php qui provoque une sortie indesiree r16379 | cedric | dans sqlite, certaines erreurs SQL produisent des erreurs/warnings PHP qu'il faut catcher pour pouvoir loger. On utilise error_get_last() de PHP r16380 | cedric | 1sDeux bugs de la couche sqlite autour des md5 des referers :- la notation 0xF1 n'est pas connue de sqlite- la notation x'F1' est connue de sqlite3 mais ne semble pas utilisable pour caster une representation hexa d'un INT en INTOn est donc force de traiter les representation 0xF1 dans PHP par un appel a hexdec dans les fonctions quote et citePar ailleurs, a la creation de table tous les bigint sont converti en int pour beneficier de l'autoincrement, mais cela n'a d'interer qu'enpresence d'un autoincrement. On passe donc le flag a la fonction concernee lors de la creation de table, ce qui permet de preserverun type bigint sur les referer_md5 et d'accepter les entiers obtenus par hexdec() sur les md5 des referers.Je crois que ce patch laisserait passer un alter en bigint via sql_alter sur un champ autoincrement, ce qui n'est pas parfait. A completer peut etre, bien que ce cas soit tres hypothetique. r16395 | cedric | _sqlite_func_unix_timestamp ne fonctionnait que si heure:minute:seconde etaient bien present dans la date.On debug la regexp, mais, encore plus simple, on la remplace par strtotime qui fait le job aussi bien. r16408 | cedric | ne pas auto-associer les documents aux forums et aux signatures de petition r16418 | cedric | ne pas provoquer des inclusions lorsque la balise #URL_ECRIRE est dans un squelette, report adapte de [16413] r16424 | cedric | il n'est evidemment pas necessaire de decoder le contexte ajax et de faire plein de verification si le form poste n'a pas le meme nom que le form que l'on affiche, pour savoir si celui-ci vient d'etre poste... r16454 | cedric | peut etre que mysql ressortait par chance les stats dans le bon ordre, mais pour sqlite il faut explicitement un order by sur la date pour que ca soit trie... r16466 | fil | url_absolue doit nettoyer les // dans les urls, mais PAS dans la query apres le '?' (toutati) r16473 | cedric | traiter les array() en premier, car la fonction strncmp utilisee pour traiter les int provoque un warning sinon r16474 | cedric | SQLite fait une division entiere sur le timestamp, il en resulte une date arrondie au jour precedent, malgre le ceil qui suit.On reformule avec un floor qui devrait marcher dans tous les SQL r16475 | fil | report oublie de [14484] (bug dans l'API sql_* : le mysql_error() est en effet lie a la derniere connexion ouverte, il faut donc passer systematiquement la variable serveur si on veut pouvoir parler a deux connexions en meme temps (sinon, seule la derniere connexion ouverte parle) ; cf. http://php.net/mysql_error j'imagine qu'il va falloir etendre aux autres portages) r16476 | fil | suite de [16475] r16478 | bb | coquille (mieux qu'une virugle BoOz :p) r16480 | cedric | lorsque la balise contient des attributs, il faut quand meme etre capable de poser un en urls arbos r16485 | cedric | #1967 ne pas mentionner explicitement 0minirezo mais s'en refereer aux autorisation pour editer une rubrique(reliquat de [8438] modifie par [8466]) r16486 | fil | ne pas mourir lorsqu'on demande juste l'errno et l'error suite a une erreur sql (retour donc sur [16476] , denoncee par kent1 comme cassant la mutu) r16488 | cedric | Report de [16075] pour resoudre #1916 r16499 | davux | Permettre à urls_generer_url_xxx() de passer la mainReport de [16492] et [16497], appliqué à tous les schémas d'URL. r16510 | cedric | lorsqu'aucun login n'est saisi, renvoyer un message 'L'identifiant "" est inconnu' est un peu incomprehensible.Preferer un 'Cette information est obligatoire' sur le champ login ! r16513 | cedric | ne pas confondre le filtre |balise_img qui produit une balise HTML a partir d'un nom de fichier, et la fonction qui definirait la balise SPIP #IMG (denisb)Du coup la fonction balise_img() devient moins pratique a utiliser dans le PHP. Faut-il proposer un nommage alternatif |tag_img pour cela, voire |img_tag ou tout simplement |img ? r16516 | esj | Lors de la mise en squelettes ([12385]) des flux RSS des forums, auparavant assurés par l'action {{{rss}}}, la clause LIMIT ajoutée par celle-ci aux différentes requêtes SQL n'avait pas été reporté dans chacun des squelettes. Du coup, lorsqu'on s'abonne à un vieux site, le flux peut contenir des milliers d'entrées que SPIP n'a pas le temps de produire. Le problème avait été vu et corrigé par [14646] pour les flux publics, mais pas pour les flux privés. r16518 | denisb | le parseur xml doit pouvoir repérer tous les 'white space character' dans les tag (voir : http://www.w3.org/TR/REC-xml/#AVNormalize) et ne pas se limiter au seul 'espace'.on peut donc écrire dans son fichier xml : {{{ }}} r16521 | esj | Le calcul du nom de login à partir du mail n'avait jamais marché. Six ans après [3824] on s'en aperçoit. r16523 | denisb | suite de [16518].suppression de l'espace malvenu en fin de contenu d'un tag. causait (par exemple) l'impossibilité d'un appel du type :{{{ #CHEMIN{#PLUGIN{cfg, icon}}}}} r16526 | denisb | reprenons [16523] et corrigeons en amont plus proprement.plus petit commentaire. r16529 | kent1 | Créer les bon chemins pour les plugins dans un _DIR_PLUGINS_SUPPL r16530 | denisb | finalement, on revert [16523] et [16526].on ne touche pas au parseur xml, mais on nettoie le superflu retourné dans la fonction get_infos() (cerdic) r16538 | kent1 | Un pipeline pour pouvoir avoir de nouveaux statuts d'auteurs visibles ... r16539 | cedric | permettre d'augmenter la duree des sessions via define('_RENOUVELLE_ALEA',..) n'avait aucun effet puisque les sessions de plus de 48h etaient supprimees au moindre login, ce delai etant lui en dur.On le modifie au profit de 4*_RENOUVELLE_ALEA. r16541 | kent1 | Un pipeline non déclaré ... r16542 | esj | Lors de la refonte du débusqueur pour qu'il donne plus d'informations, et cela dans la langue de l'utilisateur, celle-ci est devenue à tort la valeur par défaut de la langue des traductions de chaînes de langue lors de l'exécution d'une balise dynamique. Ce changement a été opéré par [14322] en bas, où {{{\$GLOBALS['spip_lang']}}} est remplacé par {{{_q($GLOBALS['spip_lang])}}} c'est-à-dire par un calcul immédiat (à la compilation) au lieu d'un calcul différé (à l'exécution). Comme l'appel de {{{recuperer_fond}}} a toujours été prevu pour founir la bonne valeur par défaut, on n'aurait en fait jamais dû trimbaler cette valeur jusqu'à {{{synthetiser_balise_dynamique}}}, qui donc ne s'en soucie plus. r16544 | kent1 | Qui ne dit rien consent ...Si le champ est null on retourne null et non pas une valeur vide '' dans les CVT r16550 | cedric | Lorsqu'un nouvel inscrit se connecte pour la premiere fois, sa session est corrompue au moment ou on lui fixe son statut definitif (en remplacement de 'nouveau) car la globale visiteur_session n'a pas encore ete chargee mais est utilisee par session_set.Charger la session au prealable du changement de statut, donc, dans ce scenario. r16553 | kent1 | Des accents oubliés sur une chaine de langue r16556 | esj | Le find_in_path pour la DTD locale introduit par r15963 n'était pas assez général car contraint en amont par le préfixe 'prive' r16558 | esj | Accpeter dans une DTD un élément à contenu totalement vide (même pas EMPTY explicite). r16560 | esj | Créer le repertoire de cache des DTD (source et compilée) en début d'analyse, dans le cas d'une DTD locale qu'on ne recopie pas, l'écriture du cache échoue s'il n'est pas là (Eric). r16562 | kent1 | Comme cela n'a pas l'air de déchainer les passions ... Je commites déjà cela pour éviter d'avoir des urls menant vers des fichiers ou répertoires existants r16563 | kent1 | On revert ... et on garde ce bug ... (réglable dans un htaccess à priori) r16567 | cedric | un mutualisation avec repertoire, se fier au chemin de spip.php via $_SERVER['SCRIPT_NAME'] ne marche pas.On detecte ce cas par le fait que le repertoire temporaire est different de _NOM_TEMPORAIRES_INACCESSIBLES, et on s'en remet alors a adresse_site comme auparavant.Mais les sites normaux garde la possibilite d'etre accessible par plusieurs urls avec des profondeurs differentes. r16569 | denisb | ne plus masquer les warning. r16575 | bb | report de r16574 (deux customs events pour se brancher en début et fin de l'action des blocs depliables) r16577 | bb | jQuery 1.4.4 avec 5 jours de retard... r16580 | esj | Include manquant pour la fonction Typo lorsque l'on rappatrie un document distant. r16587 | kent1 | Un hack assez moche qui doit être très ancien de moins r16588 | kent1 | Un grep me donne cet autre hack moins grave apparemment mais là quand même r16589 | romy | Des boutons d'admin fixes, pour ne plus les perdre de vue, et translucides, pour voir en dessous. r16590 | kent1 | Si l'id_auteur == 0, il n'est pas créé donc il n'est pas intervenu dans le site, donc on n'essaie pas d'afficher ses articles et autres... r16591 | cedric | Dans les flux RSS, certains editeurs croient bon de forcer un retrait avec des   en debut de texte.On trim donc le contenu des flux en prenant en compte ces   en debut ou fin de texte, comme des espaces. r16592 | cedric | Revert de [16591] qui est doublement mauvais. Je me cache. r16593 | cedric | Dans le cas ou on ne garde qu'un resume des contenus syndiques, nettoyer les espaces insecables eventuels utilises par l'esiteur du flux pour faire du retrait avec une fonction trim_more r16594 | cedric | utiliser la syntaxe abregee jQuery(function(){...}) ou $(function(){...})au lieu de jQuery('document').ready(function(){...}) (ou $..)permet un chargement asynchrone de jQuery avec une fonction temporaire factice jQuery qui collecte les function pour les executer lorsque jQuery est reelement disponibleOn veillera donc a utiliser systematiquement cette ecriture r16595 | esj | Depuis que l'espace privé utilise aussi des squelettes, il faut mettre la profondeur d'URL dans le contexte implicite des pages cachées, sinon les pages cachées utilisant les balises URL_* produites dans un des espaces seront exploitées à tort quand elles seront demandées à partir de l'autre espace. Cela est en particulier le cas du squelette 404 et ceux qu'il incluent, exploité par les 2 espaces. r16597 | bb | permettre d'utiliser l'autorisation editermots sans avoir à passer $opts['groupe_champs'] à celle-ci (pratique lors de son utilisation dans un squelette).report de http://zone.spip.org/trac/spip-zone/changeset/42435 r16599 | cedric | Attention, par defaut sql_showtable ne traduit pas les prefixes spip_, il faut lui passer le second argument a true pour cela.Bloquait la recopie des tables en fin d'import depuis une version ancienne si le prefixe de la table principale n'etait pas spip_ (emmanuel) r16601 | kent1 | on revient sur [16538]- On supprime le pipeline ajouté qui ne sert à rien- On teste juste les mêmes valeurs à chaque fois que l'on utilise traduire_statut_auteur() plutot qu'une fois la clé et une fois la valeur de $GLOBALS['liste_des_statuts'] r16602 | esj | La correction des URL_* par r16595 ne marchait pas pour les URL-arbos (Cédric), en voici une autre. r16607 | davux | Report de r16605 (mise à jour de l'URL des changesets) r16613 | booz | Une boucle forum avec le critere {recherche} et le critere {plat} ou {tout} ne doit pas agréger les résultats par thread r16614 | booz | oups r16618 | davux | Report de r16616: ajout de langue Nasa Yuwe (pbb) r16621 | davux | Dans les flux RSS, encoder en entités XML, pas HTMLReport de http://zone.spip.org/trac/spip-zone/changeset/42644 r16623 | cedric | L'optimisation de la maj des popularites par un sql_alter est un non sensen sqlite qui ne sait pas faire d'alter et est oblige de faire des contorsionspour y arriver. Avec consequence que ca peut casser au milieu et rendre lesreferers non fonctionnels. On fait donc ici un test sur le type de base utilisepour faire un sql_update simple dans le cas sqlite r16624 | cedric | ecrire_meta ni liberait pas la ressource sql. Cela pose probleme en sqlite, en particulier si on essaye de faire un sql_alter apres un ecrire_meta.On corrige aussi la fonction lire_metas qui ne liberait pas non plus la ressource sql. r16625 | cedric | Google&co indexe les urls courtes microbloguees. Il convient donc de les rediriger parun status 301 afin d'indiquer que cette adresse courte est definitivement renvoyeevers l'url complete r16629 | bb | report de r16628 ( alt au sketch : depuis r15394 on échappait plus l'attribut alt de l'image (patv) ) r16635 | bb | report de r16631 et r16333 pour régler #1957 ( Ce script ne fonctionne pas en 2.3 et provoque un bug bloquant en 2.1 (cf ticket #1957 ), On gère le cas ie7 bien plus simplement depuis la feuille de styles. / evacuons cette exception de traitement qui n'a plus lieu d'etre. Toutes les protections de champs sensibles sont assurees a la declaration de la table des traitements, par les extensions ) r16636 | cedric | oups, double ligne inutile introduite par [16625] r16643 | davux | Report de r16639 : Permettre de surcharger _BALISES_BLOCS dans mes_options Ne pas râler si _BALISES_BLOCS a été surchargé dans le fichier d'options (par exemple parce qu'on a beau comprendre la théorie, on trouve ça naze que ins et del provoquent des coupures de paragraphe). r16667 | cedric | report de r16459 :dans une pagination, lorsque la page demandee etait superieure au nombre de resultats, cela provoquait une boucle vide et des messages saugrenus du genre "Il n'y a aucun ...".On borne donc, et dans tous les cas, la boucle affiche ce qui correspond a la derniere page de la pagination.Ainsi, si en ajax on retire des elements de la liste paginee, celle-ci revient automatiquement a la page precedente lorsqu'on a vide la deniere page.+ saturation de la page courante affichee a la valeur de la derniere page r16675 | fil | retour de l'etoile sur le bouton d'admin quand la page est prise dans le cache r16677 | fil | revert [16675] commite par erreur r16682 | cedric | ne pas introduire de styles en dur dans les tableaux, mais preferer injecter une classe "numeric" sur les colonnes numeriques. Elle est completee par une classe "virgule" ou "point" selon le separateur, meme si non utilisable pour le moment faute d'implementation dans les navigateurs r16725 | cedric | report de r16582 : depiler la langue lorsqu'on l'a changee r16731 | fil | mieux loger le genie Extensions 2.1.2 -> 2.1.3 ( mi dec 2010 ) r40009 | cedric | pas de division par zero r40085 | real3t | 2 bugs : * le charset défini dans spip_meta n'était pas correctement récupéré* le header n'était jamais envoyéLe bug n'était visible que sur un site où apache avait sont charset par défaut à autre chose que utf-8 r41348 | marcimat | Mise à jour de Markitup en version 1.1.8 + Corrections pour les sélections automatiques de mots sous Opéra. r41349 | marcimat | Commentaires en moins. r41384 | cedric | mettre en define le code d'insertion des js compresse pour permettre d'y ajouter un attribut defer pour ceux qui le veulent r41390 | cedric | plutot qu'un define, on utilise deux callback surchargeables compacte_ecrire_balise_link() et compacte_ecrire_balise_script() pour produire les balises des css et js compresses r41452 | kent1 | Des broutilles r41613 | marcimat | Report partiel de [41612] (strlen doit être une chaine) r41959 | kent1 | La version en anglais du plugin.xml + on utilise le plugin bando en 2.1 pour être sûr de passer derrière pour les autorisations de voir les boutons au moins (peut être à revoir) r41960 | kent1 | On est passé en objet/id_objet r41987 | kent1 | Changement du nom de la fonction email_notification_forum pour ne pas avoir de problèmes avec le plugin notifications ni la fonction du core de SPIP (en 2.1) r41988 | kent1 | On surcharge inc/regler_moderation de la 2.1 pour éviter une erreur sql et voir le nombre de messages de forums de l'article r41989 | kent1 | $mydate s'était paumé quelque part r42194 | kent1 | Déclarer la fonction du pipeline même si elle ne fait rien :- elle permet de charger ce fichier pour utiliser l'autre fonction - cela évite de recalculer les pipelines parce que SPIP ne la trouve pasÉviter les espaces disgracieux en début de ligne dûs au filtre |oui r42215 | fil | un media css non precise est equivalent a all ; on groupe r42254 | arno* | Bug des filtres MSIE quand on transforme les codes couleur. r42398 | cedric | Racourcir les couleurs sans casser filter(...) et accelerer la regexp sur les declarations vides en l'accrochant sur \s r42593 | cedric | spritons ces 29 icones pour eviter de multiples hit. C'est surtout genant sur les pages publiques qui contiennent un forum (meme si cela ne concerne alors que 6 icones) (avec le sprite, donc) r42674 | kent1 | charger_filtre pour trouver le filtre generer_info_entite permettant en 2.1 d'aller le chercher dans spip_bonux plutot que le coreOn nécessite spip-bonux pour la version 2.1 r42787 | cedric | ne pas perdre la transparence avec le filtre |image_renforcement 2.1.0 -> 2.1.1 r15605 | romy | Ces parentheses residuelles dans les boutons d'admin etaient vraiment trop bizarres. r15607 | cedric | switcher sur les extensions du tag r15609 | cedric | Ne pas supprimer les espaces insecables (forums), et ne pas toucher au texte quand aucun mot n'est plus long que la limite r15610 | cedric | sql_error() doit renvoyer une chaine vide quand il n'y a pas d'erreur ! corrige une erreur dans [14529] qui a de plus le mauvais gout de ne pas avoir ete portee sur postgre et sqlite r15612 | arno | Cache etait fixe a 0. r15613 | cedric | report de [15578] r15614 | cedric | report de [15579] r15615 | kent1 | Les autorisations etaient manquantes r15617 | cedric | ne pas ignorer $option='continue' dans sql_getfetsel (commito et azerty) r15618 | fil | remettre un peu de display sur les elements du debug r15620 | cedric | le correctif de [15401] etait incorrect car en cas d'url arbo ajouter spip.php est faux. On ajoute simplement une ancre. r15624 | esj | La fonctionnalite [14862] de base/upgrade aurait da tre incluse dans SPIP 2.1.0, mais a ete oubliee. Je la remets, autrement dit je copie ce fichier de la 2.2 vers la 2.1 moins [14627] mais j'ai l'impression que la aussi c'etait qqch de prt et d'oublie. Toujours autour du fichier base/upgrade, [14730] n'avait pas applique le mme correctif sur la 2.2 que sur les autres, je resyncrhonise. r15625 | rasta | Un espace avant l'URL pour que les mauvais logiciels de mail la reconnaissent comme lien r15627 | fil | http://trac.rezo.net/trac/spip/changeset/15329/branches/spip-2.1/ecrire/inc/filtres.php introduisait des espaces en trop, et http://trac.rezo.net/trac/spip/changeset/15535 les perennisait r15628 | esj | Eviter un offset indefini, d'ailleurs absent en 2.2 r15629 | esj | Indefinis dans un log. r15630 | esj | Eviter un indefini systematique r15631 | fil | controler le statut afin d'eviter de reproposer un article deja publie (#1932) r15635 | kent1 | Ce n'est pas parce que l'on ne dispose pas de la fonction "imagerotate" (qui n'est disponible que si PHP est compile avec la version embarquee de la bibliotheque GD => http://www.php.net/manual/fr/function.imagerotate.php) que l'on ne peut tourner les images ... r15636 | esj | En gerant plus soigneusement l'acces aux bases externes dans un SPIP mutualise, [14265] avait laisse passer la base courante comme base externe possible alors qu'il etait bien prevu de ne pas proposer cette idiotie. r15637 | esj | Du code mort depuis [15121] qui provoquait une bardee d'indefinis inutilement alarmants. r15638 | esj | Une base SQL homonyme au login SQL n'etait plus pre-selectionnee a l'installation. Et retrait de qq indefinis. r15639 | esj | La liste des bases disponibles en PG avait saute lors de la revision generale des erreurs SQL de [14543]. r15640 | eric | Ajout d'un 5eme argument title dans la balise #BOUTON_ACTION pour afficher des bulles sur les liens. r15641 | eric | Oups un debug non supprime r15642 | esj | La chaane {{{base_reconnue}}} n'etait pas reconnue car c'est en fait {{{install_base_ok}}} (pas bazooka hein). r15643 | esj | Deux bugs pour le prix d'un: la liste des tables d'une base se fait systematiquement sur le serveur principal, les bases externes sur un 2e serveur n'etaient jamais decrites. Ce code etait de plus inutilement duplique. r15645 | esj | Mme pas capable d'envoyer le mme correctif dans les 2 branches ([15639]) r15646 | esj | Suite de [15643]: trois bugs pour le prix d'un. r15647 | esj | Quatre bugs pour le prix d'un, je vais me coucher. r15648 | esj | La detection automatique de tables externes en PG ne marchait plus. r15649 | salvatore | langues (spip) r15650 | salvatore | langues (ecrire) r15651 | esj | Indefinis desagreables. r15652 | esj | Indefinis r15653 | esj | Code mort, et d'ailleurs inexecutable. A noter que la 2.2 semble en retard par rapport a ca. r15654 | esj | Un saut de ligne en plus de {{{
}}} sinon la copie d'une requte SQL dans le debusqueur acolle les mots cles. r15655 | cedric | pipeline post_insertion, permet aux plugins de rattacher des objets aux en attente au moment de la creation en base de l'objet principal+ correction sur le pipeline pre_insertion pour spip_auteurs r15660 | cedric | [15562] avait remplace a tort addcslashes(..,"'\\") par addslashes avant de le generaliserResultat, impossible d'avoir un " dans un mot de passe sql (thomas) r15662 | cedric | lorsque l'id retourne est nul, c'est aussi une erreur r15664 | denisb | on integre width et height dans le tag img des puces. r15667 | esj | Pour appliquer le validateur XML en boucle sur un repertoire de plugin, il faut faire {{{basename}}} dessus avant d'appeler {{{charger_fonction}}}. Mais avant SPIP savait que le script {{{export_all}}} ne devait pas tre soumis a la validation, il y a qqch de change qq part. r15669 | fil | en cas de connexion sql morte, un vieux cache exploitable doit passer par gunzip (experience vecue) r15671 | fil | a cause de l'intransigeance du compilateur sur la casse, les stats en CSV etaient cassees r15672 | esj | Table des metas et procedure de mise a jour: generalisation. La fonctionnalite [14862] introduite en retard dans SPIP 2.1 par [15624] permettant aux plugins d'utiliser la fonction {{{maj_while}}} pour leur propre mise a jour avait deux lacunes. La premiere etait d'arrter tout le processus en cas de probleme, alors que pour un plugin c'est un blocage rarement legitime. La fonction {{{maj_while}}} retourne donc a present un resultat (vide si ok, infos si echec), et c'est l'appelant qui decide d'arrter les frais ou pas. Teste sur une grosse mise a jour 1.9.2 -> 2.1.0dev sans pb apparent. L'autre lacune concernait une confusion possible sur la meta a utiliser pour assurer la reprise sur interruption. C'etait assez theorique, mais de fil en aiguille, on se retrouve avec une fonctionnalite encore plus generale: les fonctions {{{ecrire_meta effacer_meta lire_metas inc_meta_dist}}} s'appliquent sur eventuellement d'autres tables que spip_meta, en gerant un cache pour chacune. Cette fonctionnalite permet en particulier a chaque plugin d'avoir sa table des meta, ce qui facilite la sauvegarde de tout ce qui le concerne, et fournit un acces a priori bien plus rapide que l'avalanche d'objets et de tableaux que CFG alloue a chaque appel de lire_config. r15673 | esj | Generalisation des tables des meta: prendre l'alea ephemere de la table des metas standard en toute circonstance. r15674 | fil | ajout du type='mime/type' sur le raccourci {{{ [->doc1] }}} r15675 | esj | Metas multi-tables, suite de [15762]: le numero de version de l'ensemble des tables SQL du plugin n'a pas non plus a priori a tre dans la table generale des meta. En consequence, on repere maintenant dans {{{plugin.xml}}} un element optionnel {{{meta}}} qui indique la table des meta specifique du plugin. Cette information est utilisee par {{{spip_plugin_install}}} qui appelle les fonctions {{{upgrade}}} et {{{vider_tables}}} specifique du plugin en leur transmettant cette information, et qui en tient compte pour trouver le dit numero de version et le comparer a celui figurant dans {{{plugin.xml}}}. La meta ayant pour valeur ce numero est {{{version_base}}} si la table est specifique, et {{{$PLUGIN_version_base}}} sinon, comme auparavant. r15676 | kent1 | Restauration correcte des types mime des fichiers Ogg sur les branches 2.1 et 2.2 (http://trac.rezo.net/trac/spip/ticket/1941). Ajout des types de fichiers : f4a/f4b/f4p/f4v/mpc (http://en.wikipedia.org/wiki/Flv#File_formats) sur les branches 2.1 et 2.2. Report du commit oublie : 14272 (http://trac.rezo.net/trac/spip/changeset/14272) sur la branche 2.2. Upgrade de la base en version 15676 sur les branches 2.1 et 2.2. Rend homogene (cosmetique) les espaces dans les arrays des documents r15677 | kent1 | un alt vide sur les icones des plugins pour la validite xhtml (branches 2.1 et 2.2) r15678 | esj | Il est contre-intuitif que la balise {{{#PLUGIN{nom, info}}} ne marche que pour 4 valeurs de {{{info}} et pas pour toutes celles calculees par {{{plugin_get_infos}}}. Ni les unes ni les autres ne sont d'ailleurs documentees. r15679 | cedric | traiter les src de progid:DXImageTransform.Microsoft.AlphaImageLoader(src=...) lors du passage en url absolue dans les css r15680 | esj | Donner a afficher_plugin un argument optionnel supplementaire, permettant de remplacer CFG par un autre outil de configuration. r15681 | esj | Oups r15682 | esj | Autre solution que [15680] a l'abstraction de l'appel a CFG: appeler celui-ci en lui donnant un autre script de configuration que lui-mme (cf [http://zone.spip.org/trac/spip-zone/changeset/38187 SPIP-Zone 28187]), trouve sous la balise {{{config}}} de {{{plugin.xml}}}. Ca permet une transition en douceur vers l'abandon du traitement des metas du plugin dans CFG sans renoncer au reste, du moins dans un premier temps. r15683 | esj | Fin de l'abstraction de l'appel a CFG: la balise {{{config}}} de {{{plugin.xml}}} donne finalement une fonction retournant un groupe de liens (un seul en general) qui renvoie sur les scripts d'installation. Cette fonction doit tre presente dans les fichiers indiques par la balise {{{install}}}. Par defaut cette fonction est celle chargeant CFG et utilise {{{icone_lien_cfg}}}. r15684 | esj | Manque un >. Resoud #1942. r15685 | esj | En eliminant {{{intval}}} pour laisser passer les grands entiers connus de SQL mais de PHP, [13858] avait fait saute ce qui permettait au validateur en boucle d'inferer quels arguments d'un squelette sont numeriques. Il faut detecter a present {{{sql_quote(... 'int')}}}. r15691 | rasta | Compatibilite avec PHP 5.3 : celui-ci definit une nouvelle constante E_DEPRECATED pour la gestion des erreurs et notices. Du coup quand les gens mettent a jour vers la 5.3 ils voient apparaitre des erreurs qui n'etaient pas visibles avant. C'est bien sar toujours modifiable mais par defaut SPIP ne doit afficher que les vraies erreurs. On retablit donc ce comportement. r15696 | davux | Report de [15694] et [15695] C'est comme ca qu'on dit ? r15697 | fil | mode TEST: des define() judicieux permettent d'invalider microblog et envois d'email ; exemple : r15698 | fil | gros bug sur la gestion du {{{ header('HTTP/1.1 404 Not Found'); }}} ; le systeme renvoyant une chaine contenant du php... r15700 | cedric | [15683] avait casse la desinstallation r15702 | fil | meilleur controle des forums en eliminant une erreur SQL (en cas de recherche a zero resultat), en permettant la recherche par IP, et en affichant les link meme s'ils ont un {{{[style=position:relative left:-999px]}}} (a reporter dans le plugin ?) r15703 | cedric | is_numeric plutot que is_int r15704 | salvatore | langues (spip) r15705 | salvatore | langues (ecrire) r15706 | salvatore | langues (public) r15707 | marcimat | Lors d'une utilisation dans l'espace public, l'appel de la fonction autoriser() n'est pas connu ici etrangement. r15708 | marcimat | evidemment ca ne reagit pas pareil entre administrateur et redacteur... il y avait une autre autorisation appelee dessous, remontons l'appel a inc/autoriser de quelques lignes... r15709 | marcimat | Il faudra peut tre penser a mettre autoriser() dans inc/utils... ca devient aberrant des qu'on utilise les formulaires dans l'espace public. r15710 | bruno | fermer #1943 : ne pas choper les input dont le name est identique a l'id recherche r15711 | cedric | sortir la depublication conditionnelle d'une rubrique dans une fonction depublier_rubrique_if() utilisee par la fonction de depublication d'une branche. Permet a un plugin qui modifie l'arborescence des rubriques de reutiliser cette fonction r15712 | cedric | lorsqu'on institue un article, passer statut_ancien dans les pipeline, car les plugins ne peuvent pas le connaitre, sauf a faire une acrobatie bien compliquee ... r15713 | bruno | de quoi brancher le plugin notifications sur les inscriptions r15717 | esj | [14199] etait incomplet. On renonce provisoirement a avoir une solution propre pour cette erreur de conception quant aux separateurs apres une balise. r15718 | esj | En mode debug, forcer le Content-Type a HTML, ce que faisait implicitement les anciennes versions. Et ne pas non plus faire l'echo final. r15720 | esj | Prise en compte des fausses balises comme dans les versions precedente de SPIP, pour le meilleur et pour le pire. r15721 | cedric | complement a [15683] :ne pas echouer en erreur fatale si la fonction indiquee dans n'existe pas, et permettre d'indiquer dans le nom d'un exec du plugin, qu'on verifie par le presence du script php dans exec/ ou du squelette html dans prive/exec/ r15723 | esj | Configuration des plugin, suite et (semble-t-il) fin. La page des plugins actifs est construite a present a l'aide d'un mini-squelette {{{prive/cfg.html}}} qui auparavant se reduisait a des balises A en dur dans le code referencant le plugin Cfg. C'est donc maintenant un vrai squelette, utilisant la balise {{{#URL_ECRIRE{configurer_}}}nom-du-plugin{{{{}}}. Il suffit donc d'avoir un script PHP ainsi nomme dans {{{exec/}}}, ou un squelette ainsi nomme dans {{{prive/exec}}}, pour qu'apparaisse dans le bloc du plugin l'icone de configuration avec un lien sur le configurateur.Si l'on souhaite donner un autre squelette (pour changer l'icone, inclure en Ajax le configurateur etc), il faut l'ecrire dans le repertoire du plugin et indiquer son nom dans la balise {{{config}}} de {{{plugin.xml}}}.La compatibilite avec Cfg est assuree: si {{{plugin.xml}}} demande d'utiliserCfg et ne contient pas la nouvelle balise {{{config}}}, c'est le mme codequ'auparavant qui est pris. Au passage, la balise {{{#URL_ECRIRE}}} est amelioree: si son argument lui ferait produire une URL inconnue elle ne retourne rien, ce qui permet des ecritures comme {{{[cliquer ici]}}} qui auparavant etaient vaines. r15724 | bruno | reparer les liens de config pour les plugins qui utilisent CFG r15725 | esj | La balise {{{URL_ECRIRE}}} a l'origine etait applicable mme dans une boucle sur serveur distant. C'est par une intervention trop systematique sur les balises {{{URL_*}}} que ce test a ete introduit par [10136], test retire ensuite par [10138] car une solution avait ete trouve au probleme, sauf pour {{{URL_ECRIRE}}} qui en fait n'avait pas le probleme car cette balise reference par definition le serveur courant. Il est largement temps de supprimer ce test, puisque [15723] a revele incidemment que ce test gnait des plugins aui du coup avait besoin de la surcharger. r15728 | esj | Bien gerer le cas de la balise #URL_ECRIRE sans argument (Kent1). r15730 | kent1 | On invalide le cache egalement dans le cas oa l'on change la configuration des visiteurs (utile pour de nombreux plugins utilisant cette valeur) r15732 | kent1 | Pourquoi un simple ici alors que les autres elements ensuite sont

... r15734 | cedric | il faut inclure les fichiers fonctions quand on utilise la matrice r15735 | esj | Si le premier argument de {{{spip_connect}}} n'est pas une chaane (normalement c'est le nom d'un fichier de connexion) assimiler systematiquement cette situation a "''". Non seulement ca evite des erreurs PHP, mais ca permet a {{{calculer_url}}} d'tre appelee avec True comme dernier argument pour forcer un calcul d'URL dans l'espace public. r15736 | salvatore | langues (spip) r15740 | cedric | include, effacer la meta crash plugin, et loger le cas ou l'on reconstruit la meta plugin supposement issue d'une vieille version, mais qui pourrait causer un bug ! r15741 | esj | La reference a la classe {{{spip-large}}} dans le bouton de previsualisation ne fonctionnait pas faute de charger la feuille de styles qui la contenait. On introduit une classe {{{spip-previsu}}}, ce qui permet de le faire disparaatre a l'impression et d'alleger un peu le script incontournable {{{public.php}}}. r15742 | cedric | #1940 : reparer le w dans Opera. Verifie sur Mac dans Opera, FF et Safari. Devrait aussi reparer le bug dans IEx, a confirmer avant fermeture du ticket r15743 | cedric | #1939 : ne pas submit plusieurs fois un meme formulaire, meme si le redacteur tape ctrl+s frenetiquement r15744 | esj | Depuis que [14446] a regoupe tout le code concernant les criteres par partie a la fin de la production du code compile, le test examinant au depart si un corps de boucle est totalement vide etait devenu faux. Resoud #1931. r15745 | denisb | la balise INTRODUCTION prend en compte le DESCRIPTIF aussi pour les rubriques (clt #1947) r15748 | cedric | ne pas vider l'adresse du site lors d'une install ! ... r15749 | cedric | #1945 : les accents et caracteres utf etaient pris en compte differemment dans le calcul du sha256 cote js et cote php. On uniformise l'algo, les caracteres sont tous pris en comptes en 16bits, et les deux implementations sont equivalentes sur les chaines non ascii pure r15750 | cedric | on annule [15749] le temps de trouver un chemin de migration qui ne casse pas les passes r15751 | cedric | [15749] en mieux : si tous les caracteres de la chaine sont en ascii purs, on calcule le sha sur des caracteres sur 1 octet, sinon on les passe sur 2 octets. Ainsi le sha256 des chaines sans utf sont inchanges, ce qui ne casse pas les hash deja dans la base. Les mots de passe avec accents sont donc acceptes maintenant (y compris avec alphabet chinois ou autre) r15753 | esj | Decoupage en deux de la grosse fonction {{{balise_formulaire__dyn}}} afin de pouvoir definir une balise dynamique qui ne s'en distingue que par le calcul du nom du squelette.Au passage, report dans la branche Dev de [15620] fait seulement sur la 2.1, pour corrigeait le mauvais correctif [15401]. r15754 | kent1 | Avoir un titre d'email propre (pas de multis ni de balises) dans le mail r15759 | esj | Introduction de {{{#FORMULAIRE_CONFIGURER_PLUGIN}}}, suite du chantier visant a remplacer CFG (cf [15726] et [15753]).Cette balise admet au moins un argument, savoir le nom du plugin (donc le nom du sous-repertoire de DIR_PLUGINS) qu'il faut configurer. Ce repertoire doit contenir un sous-repertoire nomme {{{formulaires}}} contenant au moins un squelette. Le nom de celui-ci est donne soit par le 2e argument de la balise s'il est present, soit est pris conventionnelle egal a {{{configurer_}}}{{prefixe_du_plugin}}}. Le contexte (calcule par une fonction {{{_charger}}}) est egal a la table des metas associee a ce plugins. Le traitement des saisies (fonction {{{_traiter}}}) consiste a ecrire dans cette table des metas les valeurs (chaane vide si abstentes) que {{{$_POST}}} indique pour tous les noms trouves dans le formulaire, a l'aide d'une RegExp (pas totalement fiable) reperant les attributs {{{name}}} dans le formulaire. Ces deux fonctions sont donc communes a tous les formulaires de configuration de tous les plugins voulant les utiliser. Il n'y a pas de fonction {{{_verifier}}}, faute de savoir que verifier pour chacun (interface a definir pour arranger ca). Pour fonctionner correctement, les formulaires references (implicitement ou non) par cette balise doivent utiliser {{{#ACTION_FORMULAIRE}}} avec comme deuxieme argument le nom du plugin. Voir un exemple dans le [http://zone.spip.org/trac/spip-zone/changeset/38755 plugin Association 2]. r15760 | esj | Complement a {{{#FORMULAIRE_CONFIGURER_PLUGIN}}}, qui maintenant sait retrouver la fonction {{{_verifier}}} propre a un squelette (cf [15759] [15726] et [15753]). Je reexpose le tout vu les incomprehensions que ca a amene sur spip-dev. Cette balise admet deux arguments, un nom du plugin (autrement dit le nom d'un sous-repertoire de DIR_PLUGINS) et un nom de squelette dans le sous-repertoire {{{formulaires}}} de ce plugin. Si ce deuxieme argument est absent, il est pris conventionnellement egal a {{{configurer_}}}''prefixe_du_plugin''. Le contexte de ce squelette est egal a la table des metas associee a ce plugin le nom de cette table etant calcule par la fonction {{{formulaires_configurer_plugin_charger_dist}}}.Le traitement des saisies consiste a ecrire dans cette table des metas les valeurs (chaane vide si abstentes) que {{{$_POST}}} indique pour tous les noms trouves dans le formulaire, a l'aide d'une RegExp (pas totalement fiable) reperant les attributs {{{name}}} dans le formulaire. Ce traitement est assure par la fonction {{{formulaires_configurer_plugin_traiter_dist}}}.Pour la verification, la fonction {{{formulaires_configurer_plugin_traiter_dist}}} delegue le travail a la fonction {{{formulaires}}}''_nom_du_squelette''{{{_verifier}}} si elle existe, et sinon ne fait rien. Ces trois fonctions sont donc communes a tous les formulaires de configuration de tous les plugins voulant les utiliser, ainsi que leurs fonctions auxilaires (nomenclatures des saisies notamment). Elles peuvent evidemment tre surchargees. Pour fonctionner correctement, les formulaires references (implicitement ou non) par cette balise doivent utiliser {{{#ACTION_FORMULAIRE}}} avec comme deuxieme argument {{{configurer_plugin}}}, afin que le trio de fonctions ci-dessus decrit soit effectivement utilise. Voir un exemple dans le [http://zone.spip.org/trac/spip-zone/changeset/38755 plugin Association 2]. r15763 | cedric | la previsu est une fonction d'admin, il faut l'y styler car spip_styles.css n'est pas forcement presente + un font-size inherit sur les textarea r15764 | denisb | [15357] etait une bien mauvaise idee. sql_updateq ne retourne jamais false mme si aucun update n'est effectue. il faut donc tester aussi sur la non pre-existence du lien pour que le insert soit lance (kent1) r15767 | kent1 | Changer le statut lors dans la session lors du premier login d'un utilisateur r15769 | kent1 | Ajout de 3 occurences du pipeline post_edition autour de la gestion des documents dont l'argument "operation" est different : - "lier_document" : lors de la ligature d'un document a un objet spip (inc/modifier) - "delier_document" : lors de la suppression de cette ligature (action/documenter)- "supprimer_document" : lors de la suppression definitive de ce document (action/supprimer_document) r15770 | kent1 | un petit oups ... Inclusion de inc/autoriser dans l'action supprimer_document r15771 | esj | #FORMULAIRE_CONFIGURER_PLUGIN: ne pas mettre le chemin en dur, c'est une baisse de fonctionnalites (suite de [15760]). r15773 | kent1 | Pouvoir surcharger la fonction vignette_par_defaut() de inc/documents. Elle devient inc_vignette_dit() dans inc/vignette et on appelle charger_fonction pour la charger. r15778 | cedric | eviter d'attendre 10s a chaque enregistrement de revision pour cause d'imprecision de SQL (equipement) r15779 | esj | Balise de configuration suite et fin pour les 2 branches (Dev et 2.1): * Identification dans les deux branches de la compilation de #ACTION_FORMULAIRE. L'erreur d'argument manquant n'etait pas traitee; vu l'usage quasi general, cette absence est assimilee a un premier argument egal a {{{#ENV{action}}}} ce qui allege l'ecriture. * renommage dans la branche Dev de la balise de #FORMULAIRE_CONFIGURER_PLUGIN en #REMPLIR, ce qui evite d'y voir des problemes qui n'en sont pas et permet d'experimenter. * retrait dans la branche 2.1 de ces 4K de code concernant cette balise afin de sortir une 2.1.1; il suffira de copier les deux fichiers {{{ecrire/balise/remplir.php}}} et {{{prive/formulaires/remplir.php}}} de la branche Dev dans une installation de la 2.1.1 pour experimenter dans cette branche. r15780 | esj | Complement a l'harmonisation des deux branches pour la reutilisation de code CVT par [15779]: il manquait le fichier {{{formulaire.php}}}. Je remets la version std de {{{existe_formulaire}}} pour eviter toute difference entre la 2.1.0 et la 2.1.1 {{{#REMPLIR}}} peut faire sans. Et une scorie. r15785 | cedric | reparer form_hidden dans les urls html (bug dans la fonction urls_html_dist) et dans les urls standard (en delegant a urls pages quand on a affaire a d'anciennes urls) r15789 | esj | Pourquoi la page privee des petitions n'avait pas ses styles specifiques comme la plupart des exec ? C'est impossible a styler, surtout a l'impression! Ce n'est pas Bruno qui me contredira: je reprends ses noms de classes dans sa [http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/petitions mise en plugin des petitions], pour autant que les differences de HTML le permettent. Et comme cette page n'avait pas bouge entre 2.0 et la 2.1. J'en fais aussi profiter la 2.0.11. r15790 | fil | Correction d'un bug CVT. Voici le scenario ; je travaille dans une page /sub/toto, j'y mets un CVT. Premier POST, l'action vaut "/sub/toto", ca marche.Supposons que j'ai une erreur dans ce premier POST. Le formulaire me revient, et la j'ai action="toto" ; ca marche aussi me direz-vous. SAUF si j'ai un {{{}}} dans la page. A ce moment-la en effet ca. POST sur /toto, et c'est mort. r15792 | davux | Report de [15791] r15793 | esj | Page privee des signatures, complement a [15789]: un bout de navigation apparaissait encore a l'impression. r15796 | davux | Report de [15795] r15798 | davux | Report de [15797] r15804 | cedric | hum, la demande d'autorisation etait erronee, meme les admins devaient valider leur email par un clic dans leur boite mail lorsqu'ils changaient leur adresse, ce qui n'est pas normal. On corrige ca ! r15805 | cedric | il ne faut pas echapper message_ok et message_erreur provenant de chager() r15806 | cedric | [15780] contenait des bugs sur la prise en compte de editable, formulaire_ok et formulaire_erreur, en sus de celle deja corrigee par [15805] On tente de retablir la prise en compte correcte depuis charger(), verifier() et traiter(), sans revert le code r15809 | cedric | [15806] ne corrigeait pas tout : si editable est fourni par charger(), il faut passer de true/false a espace/rien (kent1) r15810 | fil | en attendant que les discussions aboutissent, ne pas laisser de bug bloquant [15795] r15812 | davux | Report de [15811] r15814 | davux | Report de [15813] r15815 | denisb | supprimer l'eventuel index que l'on trouve parfois sur de vieilles spip_meta modifiees. peu importe d'oa ca provient, c'est suffisamment bloquant pour devoir tre pris en compte. ferme le ticket #1937 r15816 | cedric | pas de valeur par defaut sur les passage par reference, sinon cela casse la compat PHP4 (gilles, denisb) r15817 | cedric | le cache chemin qui persiste alors qu'on fait var_mode=recalcul est qu'on est loge, c'est perturbant. Tout ca parce que le cookie admin est perime. On blinde donc ce cas la, sans impact perfo significatif pour le tout venant (un test sur _request et un test d'egalite de chaine) r15818 | bruno | eviter les doublons dans le pipeline jquery_plugins r15820 | salvatore | langues (spip) r15821 | salvatore | langues (ecrire) r15822 | salvatore | langues (public) r15823 | esj | Tenir commpte du destinataire donne immediatement dans la messagerie interne, et respecter la syntaxe de PostGres pour les nombres. Corrige #1808. r15824 | cedric | mimer json_encode en passant le test unitaire introduit par http://zone.spip.org/trac/spip-zone/changeset/39230 r15825 | fil | en fait on redefinit json_encode() r15826 | esj | Mauvais contrle des droits sur le logo d'un mot-cle, bug remontant a la grosse reorganisation de la 2.0 la -dessus [10900] (Stephane Girault). r15827 | kent1 | Ajout du nouveau container webm pour les contenus video et audio cf : http://fr.wikipedia.org/wiki/WebM http://www.webmproject.org/ r15828 | salvatore | langues (spip) r15829 | salvatore | langues (ecrire) r15830 | cedric | eviter une boucle infinie a la mise a jour des plugins r15831 | esj | Reverifier les droits lors de la destruction d'un mot cle (Stephane Girault). Et en profiter pour afficher le titre du groupe a partir de la table des groupes (on vient de la lire) plutt que le champ type de la table des mots, qui n'est pas compatible avec l'arabe. r15832 | davux | Correction d'URL propre pour les objets ayant un titre court. Commit identique au dernier commit sur l'extension "URL etendues" sur la zone: http://zone.spip.org/trac/spip-zone/changeset/39270 r15834 | esj | Le rle du champ default_order semble avoir ete qq peu perverti. Ce depot corrige le cas du critere {{{inverse}}} intervenant apres le critere {{{IN}}}, ca me reste un peu obscur mais au moins ca corrige ce cas. Je laisse intacte la 2.0 pour servir de reference. r15835 | cedric | resoudre la perte de contexte sur des urls propres ou arbo de la forme article32. On revient sur [15832] qui ne faisait que masquer le bug et changeait des urls existantes r15837 | cedric | _url_propres_sep_id pour definir le separateur r15839 | denisb | faire en sorte que, comme en 2.0, pour un document sans vignette specifique, LOGO_DOCUMENT** tout comme LOGO_DOCUMENT|fichier retourne le bon chemin vers prive/vignettes/ (sans ajout d'un IMG/ malvenu). r15840 | cedric | corriger direction_css pour qu'elle fonctionne sur les css en squelette (report de [15783]) r15841 | cedric | charger_filtre() pour charger et chercher un filtre depuis le php r15842 | cedric | #PLUGIN{xxx,tout} permet de recuperer toutes les infos du plugin (eric) r15843 | cedric | [14453] avait casse la pagination indirecte lorsque le pas etait non connu a la compilation... r15844 | denisb | #LOGO_ : on s'aligne sur le traitement de #LOGO_DOCUMENT comme preconise par [13550], a savoir #LOGO_RUBRIQUE{200, 0} est equivalent a [(#LOGO_RUBRIQUE|image_reduire{200, 0})].clt le ticket #1930. r15847 | esj | Afficher la page en cas d'erreur, mais en essayant d'eviter que la feuille de style du debusqueur rentre en conflit avec celles de la page. r15848 | cedric | appels a notification sur instituerbreve et instituersite ne fait rien dans le core, mais permet l'utilisation de l'appel dans un plugin r15849 | fil | securite du js informer_auteur (credit: Dotsafe) r15851 | fil | gerer les caches sessionnes a plat et non dans un sous-repertoire ; la consequence est que pour chaque cache sessionne, on a deux fichiers : un (chemin_cache) qui indique qu'il est sessionne, l'autre (chemin_cache+_+session) qui contient la page elle-meme r15852 | fil | se baser sur lastmodified plutot que sur filemtime r15853 | cedric | consecutivement a [15851] il n'y a plus de sous repertoire de session. On laisse la purge recursive a true pour faire le menage, mais cela ne doit plus impacter le fonctionnement (plus d'erreur d'ecriture dans un sous rep inexistant) r15854 | cedric | en attendant d'avoir une architecture propre qui soit pratique en cas de bug,contentons nous d'une version pratique utilisable pour cette 2.1.1 avec sortie successive de la page calculee et des erreurs en superposition r15855 | esj | Complement a [15849]: securiser un peu plus en amont pour eviter Warning et requtes SQL toujours vides. r15856 | fil | supprimer le controle de date sur les articles tres vieux (mathieu lopes) ; les articles marques dans le futur ne doivent toujours pas avoir plus de 48 heures d'avance, sinon un bug quelconque les fait passer devant ad vitam r15857 | salvatore | langues (spip) r15858 | salvatore | langues (ecrire) r15859 | cedric | se placer sur les extensions de la branche 2.1 r15860 | cedric | permettre de reset toutes les notes a zero. Ne doit etre utilise qu'en contexte de test. field spip_forum.ip compatible ipV6 (40 caracteres #1953) ----------------------------- 2.0.10 -> 2.1.0 Trop de changements pour etre listes ici ... on reprendra pour la 2.1.1 voir http://www.spip.net/fr_article4728.html 2.0.9 -> 2.0.10 Revision: 14695 report de [14694] Revision: 14690 remplacement de la fonction ereg (obsolète à partir de php 5.3.0). Revision: 14680 correction inserer_attribut : support des tags fermés sans espace avant /> Revision: 14678 Correction: les constantes {{{_INSTALL_USER_LDAP}}} et {{{_INSTALL_PASS_LDAP}}} n'étaient jamais pris en compte à l'installation, et les messages signalant que l'étape courante a été franchie avec succès n'apparaissaient pas. Plus un Log oublié et un meilleur contrôle d'erreur. Revision: 14677 eviter les cookie enregistrant des forums vides, report de http://zone.spip.org/trac/spip-zone/changeset/32429 Revision: 14676 [14673] avait introduit l'impossibilite de postdater avant publication, on retablit Revision: 14673 utiliser les api pour que les plugins puissent faire leur travail Revision: 14671 Heureusement que les utilisateurs de PHP complètent sa doc: la connexion LDAP cryptée sur un autre port que le 389 ne doit pas utiliser la fonction {{{ldap_start_tls}}}, mais utiliser l'écriture {{{ldaps://}}}{{serveur}}} comme premier argument de {{{ldap_connect}}}. Revision: 14670 Les bases externes ne pouvaient plus être déclarées car le paramètre {{{install}}} dans l'URL ne veut plus forcément dire qu'on est en train d'installer SPIP depuis le début depuis que ces déclarations de bases externes ne sont plus faites à l'installation initiale. Il faudrait terminer plus proprement la migration de ces scripts (Christian). Revision: 14669 eviter de faire des sql_delete a tout va sur un calcul de page (pour une meta qui ne sert a rien qui plus est) Revision: 14668 report de [14666] Revision: 14663 report partiel mais suffisant de [14659] Revision: 14660 les messages d'erreur avant les input Revision: 14647 et les notes n'etaient pas echappees Revision: 14646 boucle infernale sur forum.spip.org, ou un article peut avoir qqs dizaines de milliers de forums ;-) Revision: 14645 La suppression de vignette de document ne marchait pas dans ce cas là : action pas comprise car avait un /$id_document en trop qui ne sert pas dans l'action Revision: 14640 Ce spip_log n'a plus de raison d'être il me semble Revision: 14635 reparer Revision: 14628 utiliser redbot.org comme interface de test des entetes : merci @karlpro Revision: 14626 permettre a un SSO de revenir sur le login avec un message d'erreur dans var_erreur Revision: 14622 La possibilité de surcharge des attributs à demander à LDAP, introduite par [14608], n'a pas de raison de se limiter à ce qui concerne la champ {{{login}}}, il faut pouvoir indiquer tous les champs à lui demander. Tant qu'à faire, on écrit un code prêt à recevoir cette indication via la déclaration faite à l'installation, mais pour l'instant ça ne sert pas encore, c'est toujours la globale qui est utilisée. Je reporte en stable pour que la globale introduite précédemment pour aider à résoudre [http://comments.gmane.org/gmane.comp.web.spip.user/149473 ce problème sur la liste spip-user] n'y perdure pas plus. Revision: 14614 Ok ([14605] et [14610]), pour chercher un mot dans plusieurs groupes, mais autant utiliser l'interface SPIP-SQL à fond, du moment qu'on sécurise en amont, sécurisation qui révèle une drôle de chose: si le mot est créé, c'est forcément dans le premier groupe donné. C'est bien l'intention ? Revision: 14612 gestion de la redirection lorsqu'on arrive sur le formulaire de login deja loge (ie retour d'une identification SSO) deleguer a traiter() le soin de calculer la redirection et appliquer eventuellement Revision: 14608 Plutôt que de dupliquer une fonction ([14601]), généraliser une fonction existante pour éviter que les éventuelles surcharges ne voient plus rien passer. Je profite de cette occasion d'intervention sur l'authentification LDAP pour passer en globale le tableau des noms des attributs potentiellement porteurs du login afin de répondre à [http://comments.gmane.org/gmane.comp.web.spip.user/149473 ce message de la liste spip-user], et reporte en stable pour qu'ils puissent résoudre leur problème. Mais revoir le formulaire de déclaration du LDAP pour y indiquer les correspondances entre champs du LDAP et champs de la table auteurs sera à faire tôt ou tard. Revision: 14605 accepter plusieurs groupes possibles de recherche de mots-cles (avec les remerciements du selecteur generique) Revision: 14599 La clause GROUP BY pléthorique de cette requête avait été introduite manuellement par [9841] au début du portage PG, alors que depuis c'est fait automatiquement dans le fichier reg/pg.php. Retour au GROUP BY simple, beaucoup plus performant en MYSQL, et qui évite à Oracle de râler car on ne peut y faire de GROUP BY sur un BLOB. / J'en profite pour resyncrhoniser les 2 branches 2.0 et 2.1 sur ce fichier, différenciées superficiellement par [14576]. Revision: 14592 le bidule d'ajax de config_fonctions provoquait une erreur 'config_fonctions n'existe pas' Revision: 14589 réparer la conversion des urls en urls absolues dans les fichiers css compactés. Revision: 14572 Correction: retour du login automatique en fin d'installation, flingué par l'introduction du répertoire {{{auth/}}} par [13435]. Revision: 14567 Autre rel='nofollow' en complément de [14270] sur les calendriers. Revision: 14566 Première revision: [14487] avait remplacé une erreur SQL par une autre Revision: 14561 report de [14560] Revision: 14558 support des formatx open xml de cro$oft : renommer docx en doc n'etait pas satisfaisant car les vieilles version de word se plantaient dessus, et par ailleurs il manquait toutes les declinaisons et les mime type Revision: 14551 mise au carre des mots : il en manquait Revision: 14550 mise au carre des controles sur les mots-cles -- report (adapte pour la branche 2.0) de [14549] Revision: 14521 Erreurs SQL en multi-serveurs, suite: [14492] corrigeait dans la branche dev pendant que [14484] et [14489] corrigeaient dans la branche stable. Avec ça, la stable est bien corrigée pour MySQL et PG, mais dans la dev il y a de toutes façons le chantier en cours de l'abstraction des erreurs SQL, c'est encore incomplet. Revision: 14519 report de [14504] Revision: 14517 permettre la modification du choix d'apparaître dans la liste des connectés au seul concerné. Revision: 14508 ne pas divulguer le login et pass a la base de donnees aux non webmestre qui n'y ont a priori pas acces Revision: 14499 suite de [14495] concernant postgre Revision: 14498 eviter une erreur fatale pour cause de double inclusion de url/propres via qs ou propres2 Revision: 14497 ajout d'un define pour indiquer à partir de quel nombre de mots-clefs on abandonne la sélection dans une liste au profit d'une recherche. Revision: 14495 complement a sql_delete : renvoyer le nombre de lignes affectees ou false en cas d'erreur. Revision: 14491 report de [14452] sur l'unzip des pages distantes, qu'on a vu planter aussi sur spip.net Revision: 14490 Correction de charger_fonction: ne pas ajouter de tiret si le dossier est vide, comme cela avait été fait pour la version de dev inopinément en [13645] (Rasta). Revision: 14489 Correction de la correction de [14484]: la globale décrivant la connexion n'est pas encore entièrement définie à l'étape 3 de l'installation. Revision: 14488 envoyer la date (de publication) avec le statut dans le pipeline notification lorsque l'on institue Revision: 14487 petite erreur sql dans le pipeline premiere_revision ; report de http://zone.spip.org/trac/spip-zone/changeset/31517 Revision: 14484 bug dans l'API sql_* : le mysql_error() est en effet lie a la derniere connexion ouverte, il faut donc passer systematiquement la variable serveur si on veut pouvoir parler a deux connexions en meme temps (sinon, seule la derniere connexion ouverte parle) ; cf. http://php.net/mysql_error j'imagine qu'il va falloir etendre aux autres portages Revision: 14483 Profiter de la table PHP des titres aussi dans les URL arbos (Rastapapoulos). Revision: 14482 [14481] sans le commentaire ! Revision: 14481 En attendant mieux ? on remet le find_in_path() sur connect/$serveur.php qui permet le hack des boucles POUR et consœurs. Revision: 14479 Correction: lorsqu'une surcharge de l'installation comporte un appel à un serveur externe, SPIP redonnait le serveur principal. Revision: 14476 Correction de la pagination modifiée par [13993]#file0 car il fallait comprendre que l'index indéfini était volontaire, charge étant donnée au filtre de pagination de gérer cet indéfini. On évite de ballader cet indéfini en confiant cette gestion au code compilé, mais ça ne fait que cacher un peu mieux l'entorse signalée: pourquoi les modèles ne fournissent pas les paramètres d'URL si c'est cela qu'on veut ? Par ailleurs, amélioration de #ANCRE_PAGINATION, qui doit tenir compte d'une éventuelle surcharge de la balise #PAGINATION. Revision: 14471 choix des statuts pour le menu 'afficher les visiteurs' (#1802, paladin) ; a noter en branche dev le code n'a plus grand chose a voir Revision: 14470 suppression des repertoires .plat, report de [14041] et resoud #1819 Revision: 14462 c'était bien une fausse bonne idée. retour à l'état antérieur. Revision: 14459 corrige l'affichage systématique (même si l'on n'est pas loggué) des parties conditionnelles de la balise [aff_cond (#URL_LOGOUT) aff_cond] (mais ça me semble plus une rustine qu'une réparation véritable...) Revision: 14451 suppression de flag_gz, remplace par une detection 'just in time' de la fonction , cf http://forum.spip.org/fr_216909.html pour la motivation Revision: 14445 Correction du filtre {{{form_hidden}}} qui injectait le contexte d'URL trop systématiquement (report de [14444]). Revision: 14442 Report de [14113] et de [13716] mais surtout de [13570] qui rend le #MENU_LANG propre pour le xhtml strict Revision: 14433 une erreur dans ce test qui n'ajoutait jamais les [] lorsque l'élément à passer était un array... Revision: 14413 Correction de l'appel à la version PostGres de listdbs. Revision: 14409 Correction de la conversion en un entier de l'argument de sql_quote dans le critère de comparaison: ce bug provoquait une tentative incompréhensible de se connecter à i, serveur nommé ''int'' (Aurélien). Revision: 14400 prevoir le cas ou minipres() est appele avant spip_initialisation_suite() Revision: 14399 Cas rare ou $liste=array() affichait Array (Thomas Sutton) Revision: 14394 [14393] en mieux. Revision: 14393 Lors de la publication d'un article sur une branche de rubriques mettre à jour toutes les dates de la branche. Revision: 14392 report de [14096] a la demande generale de rastapopoulos Revision: 14368 [14367] mais sans bug Revision: 14367 charger mes_fonctions avant d'appliquer la table des traitements sur la previsu (patfr, report de http://zone.spip.org/trac/spip-zone/changeset/30736 ) 2.0.8 -> 2.0.9 : changelog passé à la trappe 2.0.7 -> 2.0.8 (11 mai 2009) Revision: 13974 generer_action_auteur necessite au moins 2 arguments (eric) Revision: 13972 améliorations du débusqueur (report de [13917], [13941] et[13944] ) Revision: 13971 ne pas confondre le parent de l'id que l'on demande a #EXPOSE avec le parent du principal qui lui est extrait du contexte de reference. Le premier est passe en parametre mais ne sert en fait a rien, le second doit du coup etre trouve par une requete sql. La confusion entrainait des trous dans la liste des objets a exposer si au premier calcul le parent n'etait pas le meme (tetue) Revision: 13970 mise à jour de jquery.form.js pour éviter un bug sur IE8 et les formulaires ajax. ([13955], [13966] et [13967]) Revision: 13963 l'ecriture du tag en sortie des filtres images echouait si l'url initiale contenait des &. Un patch qui ne restera pas dans les annales mais fonctionne dans le cas des documents proteges Revision: 13962 copie_locale renvoie toujours un chemin relatif a la racine, pas au repertoire courant (cas des documents proteges) Revision: 13961 les filtres image appliques sur les images protegees par spip.php?action=acceder_document provoquent un appel a taille_image qui commet l'erreur de tronquer la chaine de get avant de faire copie_locale, et d'essayer vainement de copier spip.php en local. Si par malheur, la page d'accueil servie par spip.php dans ce cas contient une ou plusieurs images protegees retraitees, la boucle et bouclee, et le serveur par terre. Probablement donc, une cause serieuse de saturation serveur pour les utilisateurs du plugin acces_restreint Revision: 13959 Validité XHTML Un petit complément à [13957] pour parfaire la validité (Eric) Revision: 13954 Import des sauvegardes partielles: si le document est déjà distant, ne pas ajouter le _DIR_IMG local, ça ne rime à rien. Par ailleurs, pas d'état d'âme avec les vieilles tables: on ne peut insérer que des sauvegardes partielles de même constitution que la base d'accueil. Revision: 13952 report de [13950] date en nepalais Revision: 13951 correction du passage de langue dans les formulaires CVT : un formulaire dans un article différent de la langue du site () n'avait pas les bonnes traductions des fonctions _T() dans les fonctions verifier() et traiter(). (cerdic) Revision: 13946 Correction de [13939]: se protéger du bloc de compatibilité des url_propres que le nouveau form_hidden interprète de travers: autant ne pas passer par generer_url_entite si on a déjà le paramètre page, typiquement dans le cas du formulaire de recherche std (Eric). Revision: 13943 Correction de l'erreur de syntaxe PHP du code compilé lorsque le critère {{{par}}} contient un appel de fonction SQL. Un peu à l'arrach', mais ça permet déjà de retrouver la compatibilité avec ce que savait faire la 1.9 (Mathieu). Test {{{
  • #TITRE
}}} Revision: 13942 Prendre en compte un nom et un mot de passe dans une URL de page distante à récupérer (Stéphane) Revision: 13940 Dans le squelette des pétitions, il faut afficher le moteur de recherche s'il vient d'y avoir une recherche, le nombre de signatures est faussement réduit dans ce cas. Et en profiter pour faire du XHTML strict. Revision: 13939 Compatibilité du filtre {{{form_hidden}}} avec les URL symboliques: il faut qu'il demande à generer_url_entite de lui fabriquer le contexte comme pour l'assemblage de la page. La modif de urls/page.php n'était finalement pas indispensable, mais éviter de resynthètiser les 3 RegExp à chaque appel ne fait pas de mal. Revision: 13938 le pipeline "styliser" n'était pas déclaré dans la stable ! Revision: 13936 permettre que le titre d'un document ait une extension differente de celle du fichier d'origine pour que le telechargement se fasse sous un nom&type different de celui sous lequel le fichier est heberge sur le serveur (ex envoyer en .php un fichier stocke en .txt pour raison de securite). Revision: 13931 etre un peu plus strict dans la verification du titre du document avant de s'en servir comme nom de fichier : - il faut qu'il ait la bonne extension - il faut qu'il ressemble a un nom de fichier (en particulier compose de caracteres licites) ( [13933] aussi) Revision: 13930 retablir un content-type indument supprime par [13924] Revision: 13928 double echappement provoquait la mort definitive des sites suspendus : ils devenaient {{{'su}}} au lieu de {{{sus}}} Revision: 13927 Ce n'est pas parce que certains systèmes d'exploitation que je ne nommerai pas pataugent avec certains noms de fichiers qu'il faut considérer [11243] comme une {{fausse bonne idée}} comme le dit [13760]. Je filtre le cas du titre de document n'ayant pas d'extension qui ne doit en effet pas être utilisé comme nom de fichier du {{{Content-Disposition}}} (et encore, {{{Makefile}}} est notoirement recevable), mais autrement je restaure le comportement d'avant qui est une fausse {{fausse bonne idée}}}, autrement dit une vraie bonné idée. Par contrecoup, report du renforcement de sécurité su secret du site [13866] dans la branche 2.0. Revision: 13924 seuls les types de document qui ne peuvent etre inclus doivent etre envoyes en "Content-Disposition : attachment". Les clip flash et autre types embed n'etais pas visualisable lorsque la protection des documents etait activee Revision: 13912 #1744 memoriser le bouton sumblit clique ou le x/y du bouton image clique quand on post un formulaire en ajax pour pouvoir les poster si jamais on resubmit en post classique suite a une demande du serveur refuser_traiter_formulaire_ajax() Revision: 13911 enlever la securite dans le message_ok au retour des formulaires, car sinon il n'est pas possible de faire la redirection apres un post ajax dans l'espace prive Revision: 13909 permettre au filtre |match de retourner la valeur 0 (zero) si elle est explicitement recherchee Revision: 13908 #1732 : bug a la verification lors de la creation d'un auteur ( plus [13910]) Revision: 13905 #1687 : ne pas perturber le filtre unique avec #INTRODUCTION Revision: 13901 corriger la recuperation d'arguments passes en url et le faux appel de syndic.html Revision: 13898 Oups. Faux départ de AS U ! (mea culpa) Revision: 13897 Les URLs ne se recalculaient pas dans un cas précis : changement de la casse sur une table insensible à la casse. Pour éviter cela, on réécrit aussi, en plus de la date de mise à jour de l'url son titre. Si la casse change, il sera ainsi pris en compte. Correction aussi d'un bug U.type inexistant sur les url arborescentes... Revision: 13893 [12134] avait casse la relance des signatures en recalculant un hash au lieu de renvoyer l'existant Revision: 13892 amelioration de la strategie de purge : - si le cache est trop gros on redemande la main - mais si il n'y a plus assez de vieux fichiers a purger, on la rend Ainsi, meme avec un reglage trop bas du quota, le cache se stabilisera autour du volume necessaire pour stocker une heure de traffic Revision: 13889 ne pas laisser le cache deborder lorsque les robots (ou les internautes) sont tres actifs - inc/invalideur renvoie le ratio taille cache/quota - le genie redemande la main lorsque le ratio est trop grand, sans attendre le prochain coup - les operations de vidange sont logees dans invalideur.log avec les details permettant de suivre les operations 2.0.6 -> 2.0.7 (13 avril 2009) Revision: 13887 Le datage des urls reecrites echouait pour cause de requette eronnee. Le suspens continue : y aura-t-il une version stable 2.0.x avec des urls reecrites non bugguees ? Revision: 13882 patch de vincent ramos pour #1703 + report des trucs modernes de inc/rechercher dans la branche 2.0 Revision: 13881 pas de . en dehors de celui separant l'extension, sinon il est possible d'injecter du php dans un toto.php.txt, qu'apache peut vouloir traiter comme un .php normal (attaque dite 'de vlad' ) Revision: 13880 session_set() lorsqu'on renseigne son email (suite de [13878]) Revision: 13879 report [13878] afficher l'email de l'auteur connecte si on le connait (session) Revision: 13877 report et nettoyage de ecrire_fichier_securise() Revision: 13876 report de ecrire_fichier_securise [13867] pour mieux masquer le contenu de tmp/meta_cache.txt(.php) en cas d'ouverture inopinee de tmp/ aux regards curieux Revision: 13873 retour de la pagination dans le controle des petitions (bug introduit en [13320]) Revision: 13872 Report de [13868] corrigeant l'aléa ancien. Revision: 13870 revert de [13846] qui casse le fonctionnement de la pagination AJAX Revision: 13865 il faut securiser les appels à propre et typo hors squelette (typiquement code php de l'espace privé), mais dans les squelettes, la sécurisation est intégrée, et il ne faut pas en rajouter. On utilise donc la presence du parametre connect pour distinguer les appels des squelettes qui le comportent tous, des appels historiques hors squelettes qui ne le mentionnent jamais. Corrolairement, en cas d'appel hors squelette avec un parametre connect, il convient d'appeler en plus interdire_script Revision: 13862 Nouvelle méthode pour l'authentification LDAP, qui devrait résoudre le bug dans certaines config d'Active Directory. Géraud Tardif remarque qu'il est idiot de risquer des bugs avec des champs absents pour trouver le login, puisqu'on l'a déjà. Il vaut donc mieux se rabattre sur lui, mais on modifie les signatures des fonctions auxilaires pour qu'il soit facile de surcharger {{{auth_ldap}}} de sorte qu'on réclame des champs supplémentaires et qu'on en tienne compte. Revision: 13859 Ignorer les lignes vides dans les CSV lorsque transformés en table HTML à la volée (Cyril). Revision: 13858 Ne pas utiliser intval quand on fabrique une requête SQL, celui-ci ayant des grands entiers en standard, contrairement à PHP (Camille). Vu son logo on aurait dû se méfier: un PHP, ça tronque énormément. Revision: 13857 Les distributions RedHat, Fedora et CentOS ont maintenant une installation d'Apache par défaut qui font que le AllowOverride est à None par défaut, avec comme conséquence que les {{{deny from all}}} installés par SPIP ne sont plus effectifs sur ces distributions non modifiées. En conséquence, report immédiat dans la branche stable de [13608], qui n'écrit plus dans tmp la valeur des aleas, qui sont des informations trop sensibles. A signaler à propos des aléas que l'alea_ancien n'est pas pris en compte pour les actions dont l'URL comporte ecrire/, il faut renoncer à ces URLs. Enfin, il faudrait insister dans la doc sur le fait que tmp/ et config/ doivent être interdits à la lecture publique, idéalement en les mettant à l'extérieur du DocumentRoot. Revision: 13856 Bug de puce 'meme-rubrique" des sites references Revision: 13853 un flag manquant pour preciser que l'on est dans l'espace prive Revision: 13852 pas d'exe´cution en public non plus ! Revision: 13850 il est temps de suivre la prévision des oracles proteger l'espace privé, donc... Revision: 13848 eviter le die intempestif "spip_urls AS U insertion sans description" lors de la creation de nouvelles urls ... (bug introduit au detour de http://zone.spip.org/trac/spip/changeset/13838#file22) Revision: 13846 indentation + meilleure verification sr onAjaxLoad(), pour compat crayons++ Revision: 13845 enieme correction des urls ... je vais peut-etre finir par y arriver Revision: 13844 report oublie de [13765] qui reparait les urls arbo avec types renommes Revision: 13843 permettre a la previsu de savoir ou elle se trouve (cf. http://www.spip-blog.net/forum-spip-org-comme-base-de.html ) Revision: 13841 log plus explicite Revision: 13839 erreur sql sur date Revision: 13838 NOW() disparait au profit de la date php (a verifier svp) Revision: 13836 la date d'un article c'est celle du php, pas celle du SQL 2.0.5 -> 2.0.6 (16 mars 2009) Revision: 13834 report http://trac.rezo.net/trac/spip/changeset/13833 ajout d'un index sur spip_documents_liens Revision: 13830 passer l'id_auteur et l'id_article au squelette du forumlaire ecrire_auteur l'id etait calculé mais pas passé, on l'ajoute donc aussi Revision: 13828 report de http://trac.rezo.net/trac/spip/changeset/13827 redirections anciennes urls Revision: 13826 report discret de exec=fond introduit dans http://trac.rezo.net/trac/spip/changeset/13800 afin de pouvoir utiliser un meme plugin en version stable et dev etant un ajout de fonctionnalité, cela ne devrait pas poser de problème... Revision: 13824 report de http://trac.rezo.net/trac/spip/changeset/13822 et http://trac.rezo.net/trac/spip/changeset/13823 -- correction erreur 404 sur les urls de type spip.php Revision: 13820 donner une PRIMARY KEY quand il n'y a rien (VIEW MySQL) Revision: 13818 toujours proteger les file_exists() Revision: 13812 ajout discret du pipeline styliser pour le futur 2.0.6, afin que les plugins comme SPIP Clear puissent s'appuyer dessus sans surcharger le fichier. Revision: 13809 coquille css (pi_r) Revision: 13808 Report de http://trac.rezo.net/trac/spip/changeset/13807 -- ne pas empecher le changement de mode image/document sur les images de rubriques... Revision: 13801 manque de quotes (denisb) Revision: 13798 un lien du type {{{ [->http://www.favicon.cc/?action=icon&file_id=29805] }}} doit se transformer proprement avec un {{{ & }}} Revision: 13797 Report de http://trac.rezo.net/trac/spip/changeset/10796 : #CHAPO doit enlever les redirections, mais pas #CHAPO* qui doit les laisser. Revision: 13795 report de http://trac.rezo.net/trac/spip/changeset/13794 : charger les autorisations au moment du traitement de #FORMULAIRE_EDITER_AUTEUR appellé depuis le public Revision: 13793 Le début des vertèbres n'est pas la vertèbre nommée début [http://archives.rezo.net/spip-dev.mbox/200902.mbox/raw/%3C49A3FF0F.8070102@yahoo.fr%3E/ YannX]. Revision: 13792 Ne pas tenter de réparer l'irréparable quand il faut prendre de la distance. Revision: 13791 Fallait savoir que {{{$x[$y]}}} convertit la chaîne {{{$y}}} en nombre quand elle est interprétable ainsi. PHP, le langage dont vous nous ne découvrirez jamais tous les pièges. Super argument publicitaire. 2.0.4 -> 2.0.5 - report de [13778] : l'installation sur les serveurs mysql avec un sql_mode par defaut etait cassee repare les installations sous easyphp 3.0 par defaut (13788) - closedir(d); avant de l'effacer (13787) - report de [13785] reparer la 404 des urls propres, et le mode urls propres_qs (13786) - report de htaccess (robots.txt, favicon.ico, sitemap.xml), correction des urls selon rfc 1738. references : [13769] et de [13779] a [13783] (13784) - noindex au lieu de none pour site.html (cf. [13773]) ( 13776 ) 2.0.3 -> 2.0.4 - Remettre jQuery 1.2.6 pour ne pas créer de problème de comptabilité. Ceux qui le souhaitent pourront mettre jQuery 1.3.2 dans leur répertoire squelettes dans un fichier : « javascript/jquery.js » (13774) - Enlever tous les arobases des sélecteurs jQuery pour autoriser jQuery 1.3.x(13772) - report de [13755] et [13763] introduit les valuers date_default et date_redac_default dans le contexte quand SPIP ajoute la date d'office / accepter un tableau pour le filtre alterner (13770) - report de [13621]Ajout de jQuery 1.3 ... Attention aux extensions qui utilisent encore [@param=value] dans les sélecteurs jQuery à passer en [param=value] . (13768) - Ajout de image_joindre (13766) - #1691 : une balise etant absurde, il s'agit forcement du nom de la note (13761) - #1711 : annuler [11243] qui etait une fausse bonne idee ; en l'absence d'extension dans le titre, les navigateurs sont perdus (13760) - #1695 produire un aplat quand la production d'image echoue pour la css privee (13759) - #1704 : reduire la taille de la vignette, y compris dans la colonne documents (13758) - la fonctionnalite cachee dans la dist {article sans texte+un document joint} -> affichage du document inline provoquait le masquage de tous les documents joints lorsque le texte etait vide et plusieurs document joint. il faudrait au moins documenter le code pour eviter de reintroduire le bug (13757) - jQuery 1.3.2 http://docs.jquery.com/Release:jQuery_1.3.2 (13756) - Complément sur les urls arbo (13753) - les balises CVT #FORMULAIRE_TRUC implementees par la balise generique #FORMULAIRE_ n'utilisent que le squelette formulaires/truc.html Inutile et trompeur de chercher a la racine le squelettre truc.html, donc (13751) - Bien tester tous les formulaires avant de les declarer inexistants * [13744] [13745] [13746] etaient incomplets on les fussionne (13749) - Complement a [13745] et [13746] * le findpath manquait de precision (13746) - report de [13744] #FORMULAIRE_INEXISTANT (13745) - report de [13741] gestion plus fine des urls (13742) - Amelioration traitement de l'arabe, notamment quand tiret a l'interieur d'un mot. (13739) - On place le contenu du js du login dans un cdata pour être valide ... On encapsule également la fonction jquery en passant... (13734) - report de [13732] bg d'affiche des sites syndiques dans l'espace prive (13733) - report de [13728] urls page (13729) - report de [13725] et [13726] (debug) (13727) - complement a [13720] : les fonctions url_xx($id,$entite) renvoient toujours une url valide donc commencant par ../ si on est dans ecrire/ (c'etait le cas auparavant pour les documents mais pas pour les autres entites) Corrolairement #URL_ARTICLE pointe toujours sur l'article, que le squelette soit evalue dans l'espace public ou prive, et [(#URL_ARTICLE|url_absolue)] est toujours correcte. Ceci est vrai pour toutes les entites (13722) - gerer les notes dans le suivi des forums (13721) - report de [13719] nouvelle API d'URLs (13720) - ne pas surligner dans la page de recherche elle-meme (report de [13717]) (13718) - integration des #NOTES dans les forums (13710) - lorsque generer_url_entite doit generer une url publique depuis l'espace prive, il semble logique de prefixer de _DIR_RACINE pour que l'url soit valide repare le calcul des nouveautes et de [(#URL_ARTICLE|url_absolue)] evalue depuis le prive (13708) - eviter les @include qui masquent les erreurs (13707) - un pas xhtml (13706) - report de [13689] #URL_ARTICLE et consort designent toujours l'url publique de l'objet depuis la racine, meme utilisee dans l'espace prive il faut donc les prefixer de #EVAL{_DIR_RACINE} dans le cas ou l'on affiche cette url dans l'espace prive pour que le lien soit correct (13705) - report de [13696] ne pas coller les paragraphes en previsu des forums (13701) - éviter d'avoir plusieurs id="nobot" sur la même page. Un div englobant le contenu du formulaire des signatures pour éviter des erreurs de validation (13699) - Le double clic du sélecteur d'auteur en Ajax ne fonctionnait pas. (13694) - puce_statut surchargeable (permet en particulier le plugin mots techniques) (13693) - fixer la taille des images pour que ca ne clignote pas (13692) - Complément de 13677 sur la mise à jour de la base lors d'un upgrade (13691) - prise en compte de Accept-Language pour tout le monde (pas seulement les personnes authentifiées) (13690) - Correction d'un bug sur la sauvegarde et la fusion (13661) - Meilleure gestion en cas de plantage de l'installation (13659) - Eviter un warning concernant les URL personnalisées (13654) - correctif version allemande (klaus) (13636) - la syntaxe recuperer_fond($fond,$contexte,array('ajax'=>true)) ne fonctionnait que si le fond etait defini dans le contexte (13615) - Il y a des versions de PHP où les imagegif etc sont absentes, on contrôle (13606) - Il est totalement inutile de compliquer les choses avec des {doublons}... {!id_groupe} enlève déjà le groupe en cours. (13604) - Gérer l'explicitation du nom des tables dans le critère Fusion (13603) - Respecter les 0 dans les urls propres (13602) - Les restaurations de DUMP anciens avec une version 10000 utilisée ne commençaient pas les mises à jour à la version qu'il faut (13598) 2.0.2 -> 2.0.3 - pouvoir tenir compte du hreflang lors de la construction de l'URL par calculer_url via inc_lien_dist (13595) - les entitee > et < etaint changee en < > apres une surligne (13593) - Accepter les - dans le nom des bases SQL (13591) - Bug sur changement d'auteur si le nom de l'auteur était trop court (13590) - Coquille dans les vieilles defs (manque un g pour generer !) (Charly Caulet) (13586) - Retour des recherches de mots associés aux documents (non utilisée dans le core) (13584) - Bug si erreur de frappe #URL_ MOT (espace avant MOT) (13582) - Pour un raccourci "[->25]" la fonction nettoyer_raccourcis_typo renvoie "Array"... (Pat). (13573) - Le numéro du jour manquait sur le libellé du survol conduisant au calendrier du jour. Quant au libellé du mois, il n'emmenait pas sur le calendrier du mois. (13569) - Une fonctionnalité de la 1.9.2 perdue: si id_rubrique est fournie à la création d'une traduction, il faut créer dans cette rubrique, pas ailleurs. (13560) - ne pas ecraser le hash de la boucle avec le critere {recherche} cela empeche tout plugin de l'utiliser (13555) - proteger la fonction recuperer_fond quand on ecrit recuperer_fond($fond,$_GET) dans les plugins meme si il semble que la variable soit protegee en amont dans tous les cas (13551) - Le cryptage du mot de passe avant envoi n'était plus assuré que si le cookie dession était toujours actif. (13544) - Fatal error a la suppression d'un document avec vignette. (13539) - Lorsqu'on pose ou retire les .htaccess des sous-répertoires de IMG, il ne faut pas oublier celui nommé "distant" qui ne figure pas dans la table des types de documents. (13538) - Deux balises A pour LOGO_DOCUMENT, c'est une de trop (Eric). (13536) 2.0.1 -> 2.0.2 - deux bugs au login (13529) - refuser les urls avec le pseudo protocole data (13521) - bonne année (13520) - Unifier la mise en page dans les 3 onglets de gestion des langues (13519) - encore quelques retouches sur l'agenda de l'espace publique (13517) - le champ type de la balise A d'un logo de document était toujours vide (13512) - la boucle DOCUMENTS ne donnait pas les documents attachés aux messages de forums (13511) - accepter les notes nommees <*> <+> <.> et autres caracteres significatifs (13510) - un peeling pour évacuer le point noir. (13508) - amélioration du calcul de popularité (13506) - lien incorrect dans le message à un visiteur venant de s'inscrire (13504) - support du png8 comme format de image_format (l'extension sera bien 'png') (13501) - authentification via LDAP/AD, lire le Samaccountname (13500) - proteger l'$id fournit a calcul_branche_in (13498) 2.0.0 -> 2.0.1 rapport de police (13469 ->13495) - réparation d'un bug sur les urls standard et autres anciennes implémentations (13489) - problème de création du répertoire cache à l'install (13487) - correction mineure sur le calcul des visites (13485) - Compilateur : défaut sur la prise en compte sur le champ statut dans le cas d'une requête sur une table principale (13484) - correction pour IE6/7 sur les formulaires de l'espace privé (13481) - il était impossible de déplacer SPIP dans un sous répertoire (13478 )