Skip to content
Extraits de code Groupes Projets
  1. oct. 27, 2007
    • esj's avatar
      Petites modifications, normalement transparentes, dans le code produit par le... · 9d8a35ef
      esj a rédigé
      Petites modifications, normalement transparentes, dans le code produit par le compilateur pour maximiser le nombre d'occurrences de {{{$Pile[O]['}}}''nom''{{{']}}}. Cela concerne:
      
       * la balise ENV
       * les #PARAM non indiqués par les boucles
      
      et déplacements de fonctions et inclusions pour que le validateur puisse exécuter le compilateur hors contexte.
      9d8a35ef
    • esj's avatar
      Suite de [10609], le validateur appliqué à un répertoire cherche à présent les... · 4bd842dc
      esj a rédigé
      Suite de [10609], le validateur appliqué à un répertoire cherche à présent les squelettes du répertoire si l'URL contient {{{&ext=html}}} (ou s'il ne trouve pas de fichier {{{.php}}} dans le répertoire). On peut donc tester la validité XML de tous les squelettes standards en invoquant:
      
      	{{{ecrire/?exec=valider_xml&url=../dist}}}
      
      Les squelettes ne contenant pas la chaîne {{{DOCTYPE}}} sont ignorés.
      
      Le contexte nécessaire au squelette est deviné en cherchant dans le code compilé toutes les occurrences de {{{$Pile[O]['}}}''nom''{{{']}}}. La valeur associé à ''nom'' est 1 si cette occurrence est argument de {{{intval}}}, une chaine quelconque sinon (très insuffisant, mais le langage de squelette de SPIP n'étant pas fortement typé, c'est difficile de faire mieux).
      
      Le tableau de résultat donne le nombre d'erreurs de validation, et un lien vers l'application du validateur sur la page concernée (qui remarche depuis [10672]) avec le contexte deviné (qu'il faudra donc parfois corriger dans la barre de navigation).
      4bd842dc
    • esj's avatar
      Pb 40 avec [9649] (eh oui il en restait un): on n'avait plus accès à la... · 35c8af05
      esj a rédigé
      Pb 40 avec [9649] (eh oui il en restait un): on n'avait plus accès à la validation dans le débusqueur.
      35c8af05
    • Fil's avatar
      lire_meta(), ecrire_metas() et spip_fetch_array() reviennent dans les... · 200d4353
      Fil a rédigé
      lire_meta(), ecrire_metas() et spip_fetch_array() reviennent dans les fonctions de base ; on les considere depreciees, mais la gymnastique a faire pour developper des plugins compatibles 1.9.2 et 1.9.3 si on les laisse dans vieilles_defs est beaucoup trop couteuse par rapport au gain
      200d4353
    • Fil's avatar
      un peu mieux pour le statut spam · b235b7ce
      Fil a rédigé
      b235b7ce
  2. oct. 26, 2007
    • Fil's avatar
      savoir gerer un statut forum 'spam' · b65b6f6a
      Fil a rédigé
      b65b6f6a
    • Christian Lefebvre's avatar
      autodoc · 7ee63ea3
      Christian Lefebvre a rédigé
      7ee63ea3
    • esj's avatar
      Le traitement des hexadécimaux en PG oblige à introduire une nouvelle fonction... · 095b57e8
      esj a rédigé
      Le traitement des hexadécimaux en PG oblige à introduire une nouvelle fonction d'abstraction encodant ces valeurs. Comme dans [10433], [10131], [10146] et [10154] on rallonge la liste des fonctions d'abstraction de [10113]: 
      {{{
      'hex' => fonction d'abstraction de la représentation d'un hexadécimal
      }}}
      
      Il faut donc utiliser '''sql_hex("FFBB")''' pour envoyer ce genre de valeurs aux serveurs SQL. A noter d'ailleurs qu'il ne faut pas utiliser '''intval''' comme outil de sécurité si le nombre est un grand entier, car PHP le tronque sans prévenir alors que les serveurs SQL l'auraient accepté. 
      
      Pour éviter une révision générale de SPIP et ses extensions, l'analyse des arguments SQL devient plus précise. Intuitivement il s'agit d'utiliser '''is_numeric''' mais PHP n'en est pas à une incohérence près; ceci
      {{{
      <?php
      echo is_numeric('0x1234567') ? '1' : '0';;
      echo is_numeric('0x12345678') ? '1' : '0';;
      echo is_numeric('0x123456789') ? '1' : '0';;
      echo is_numeric('0x123456789A') ? '1' : '0';;
      ?>
      }}}
      répond-il ''0000' ou ''0101'' ou ''0011'' ou ''1111'' ?
      
      Attention, contraitement aux apparences, la bonne réponse n'est pas '''c'est nul'''.
      
      095b57e8
    • esj's avatar
      947e68b9
    • esj's avatar
      Oups · 04d7bf72
      esj a rédigé
      04d7bf72
    • esj's avatar
      Prendre des valeurs par défaut plutot que de provoquer des erreurs SQL dans... · 1ddc72ff
      esj a rédigé
      Prendre des valeurs par défaut plutot que de provoquer des erreurs SQL dans les tests automatiques du validateur.
      1ddc72ff
    • esj's avatar
      21d1db8d
  3. oct. 25, 2007
  4. oct. 24, 2007
  5. oct. 23, 2007
    • Christian Lefebvre's avatar
      autodoc · 786f2057
      Christian Lefebvre a rédigé
      786f2057
    • esj's avatar
      Les choses font parfois bien le hasard. · b9068ed5
      esj a rédigé
      b9068ed5
    • esj's avatar
      cd2d89d4
    • esj's avatar
    • esj's avatar
      Synthèse à la volée de squelette sur table externe. · 441265dc
      esj a rédigé
      Afin d'illustrer les nouvelles possibilités de SPIP, l'erreur de squelette indéfini n'est pas provoquée si le nom du squelette correspond à une table SQL connue dans la base interrogée. A la place, un squelette minimal est produit automatiquement, qui visualise le contenu de la table SQL sous forme de table HTML ayant autant de colonnes que la table SQL a de champs. La balise #PAGINATION permet de faire défiler ses lignes par paquet de dix. La première (resp. dernière) ligne de la table HTML permet de trier la table selon la colonne choisie en mode ascendant (resp. descendant) et tenant compte du type de la colonne (numérique/date ou textuel). Tous les champs sont traités en critère conditionnel de la boucle implicite, ce qui permet également de trouver la ou les lignes dont la colonne a pour valeur celle donnée dans l'URL sous ce nom. Enfin, pour chaque champ dont la déclaration SQL indique {{{references}}} ''table'', un lien vers le squelette dynamique de cette autre table est produit.
      
      A essayer sur sa propre base SPIP: {{{./?page=petitions}}} par exemple.
      
      Compatibilité: l'argument {{{connect}}} a dû être rajouté à la fonction surchargeable '''styliser'''. Celle-ci avait déjà un argument supplémentaire optionnel, jamais utilisé, savoir la possibilité d'avoir un autre suffixe que '''.html''' pour les squelettes. L'argument optionnel {{{connect}}}, de plus grande utilité, vient s'intercaler avant lui. Rien de changé pour SPIP ni pour les extensions qui n'utilisaient pas ça (y en a-t-il qui le font ?).
      
      
      441265dc
    • esj's avatar
      La fonction Rand, utilisée pour le critère ''{par hasard}'' est inconnue de... · fca2cfca
      esj a rédigé
      La fonction Rand, utilisée pour le critère ''{par hasard}'' est inconnue de PG. Le code pour les version de MySQL ne l'ayant pas non plus ne marchait en fait plus, car il supposait que les clés primaires de toutes les tables sont numériques ce qui n'est plus le cas. Remède express:  hasard = l'heure qu'il est. Il y aurait mieux à trouver, mais il y a plus urgent (et qui utilise ce critère ?). On en profite pour abstraire un peu mieux les fonctions autour des dates.
      fca2cfca
    • esj's avatar
  6. oct. 22, 2007
Chargement en cours