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.
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:<pre><:foo:{=#ENV{titre},x=2}:></pre>sera compilée en<pre>_T('foo:' . $Pile[0]['titre'], array('x' => 2))</pre>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
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)
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