Skip to content
Extraits de code Groupes Projets
  1. nov. 04, 2007
    • esj's avatar
      Le standard SQL précise qu'une chaîne avec apostrophe se code avec une double... · 17cd028f
      esj a rédigé
      Le standard SQL précise qu'une chaîne avec apostrophe se code avec une double apostrophe et non un \ ce que SQLite fait aussi, contrairement à MySQL et PG. 
      En prévision des portages utilisant cette réprésentation, l'interface s'enrichit de la fonction {{{sql_quote}}}, qui s'ajoute à celles définies dans [10707] [10667], [10433], [10131], [10146], [10154] et [10113]
      
      {{{
      quote => fonction d'abstraction de la citation d'une constante SQL
      }}}
      
      Pour MySQL et PG, cette fonction est donc équivalente à {{{_q()}}} qui reste disponible, mais doit être considérée comme obsolète. Le présent dépôt a été obtenu par le script ci-dessous, dont on peut faire usage pour ses extensions personnelles:
      
      {{{
      for i in $(grep  -l '_q(' [bigpeau]*/*p)
      do
      	sed 's/_q(/sql_quote(/g' $i > x
      	mv  x $i
      done
      }}}
      
      Un ajustement manuel a été nécessaire pour le critère "=", le compilateur testant si le code qu'il a produit contient la fonction de citation.
      17cd028f
    • renato's avatar
      les filtres sur images avec meme nom mais different extension ont maintenant... · dacfe74e
      renato a rédigé
      les filtres sur images avec meme nom mais different extension ont maintenant un different nom en cache;
      ne pas perdre la transparence quand on convert une image en palette a truecolor
      dacfe74e
    • esj's avatar
  2. nov. 03, 2007
  3. nov. 02, 2007
  4. nov. 01, 2007
  5. oct. 31, 2007
    • Christian Lefebvre's avatar
      autodoc · cf251e23
      Christian Lefebvre a rédigé
      cf251e23
    • esj's avatar
      Introduction d'un gestionnaire de version d'interface SQL. · fc2537b7
      esj a rédigé
      Afin de prévenir les désagréments d'éventuels changements de spécification, l'interface de SPIP aux serveurs SQL inrègre d'emblée un gestionnaire de versions, permettant à une même connexcion SQL d'être exploitée {simultanément} par plusieurs versions des fonctions d'abstraction. Et également fourni un script rendant automatiquement compatibles des extensions fondées sur d'anciennes versions de l'interface. 
      
      Principe. Toutes les fonctions de l'interface sont définies dans le fichier (((ecrire/base/abstract_sql))), se nomment {{{sql_}}}{X} et sont les seules à se nommées ainsi. Elles se connectent toutes en appelant une fonction dont le premier argument est le numéro de version de l'interface. Le  jour où une nouvelle version de  (((ecrire/base/abstract_sql))) apparaitra nécessaire, la version courante  sera renommée {{{abstract_sql_}}}{{N}}, et le Sed suivant lui sera appliqué ({{{N}}} désigne le numéro de version):
      
      {{{
      s/\(sql_[A-Za-z_0-9 ]*\)/\1_N/
      }}}
      
      En appliquant également ce script aux extensions de SPIP fondées sur cette version, on leur permettra d'en appeler ses fonctions, qui seront chargées sans collision de noms, le Sed ayant préfixé le noms des anciennes avec leur numéro de version. Il faudra juste rajouter une instruction {{{include}}} portant sur le fichier {{{abstract_sql_}}}{{N}}.
      
      Ce service repose sur la réservation des noms commençant par {{{sql_}}} aux seules fonctions d'interface, grâce aux renommages effectués en  [9916] [9918] et [9919]. Les extensions de SPIP doivent respecter cette contrainte s'ils veulent en bénéficier.
      
      Le présent dépot consiste en une reconception de la sructure de données décrivant une connexion, afin d'associer plusieurs jeux de fonction à une même connexion.
      
      fc2537b7
    • esj's avatar
      Correction log de [10715] et harmonisation des fonctions d'abstraction: · 6cf81aa2
      esj a rédigé
      [10715] a harmonisé le résultat retourné par '''sql_serveur''' (qui ne déclenche plus forcément une erreur fatale depuis [10713]) avec celui de '''spip_connect''': false si le serveur est indisponible, le tableau décrivant la connexion sinon. Une instruction SQL est disponible dans ce serveur si le résultat de '''sql_serveur''' est une chaîne.
      
      Ce nouveau dépot harmonise les fonctions d'abstraction qui à présent ont toutes pour dernier argument, optionnel, le serveur visé. La seule fonction qui ne respectait pas cela était '''sql_showtable'''. Ce changement ne devrait pas affecter les extensions de SPIP, cette fonction étant encapsulée par '''trouver_table''' qui gère les préfixes de table et leur abréviation dans la base principale.
      6cf81aa2
  6. oct. 30, 2007
  7. oct. 29, 2007
    • Christian Lefebvre's avatar
      autodoc · 1674cdb9
      Christian Lefebvre a rédigé
      1674cdb9
    • esj's avatar
      La fonction {{{calcul_mysql_in}}} doit finalement elle aussi être abstraite à... · c6b27468
      esj a rédigé
      La fonction {{{calcul_mysql_in}}} doit finalement elle aussi être abstraite à cause des valeurs hexadécimales qui peuvent s'y trouver. Pour éviter des problèmes de compatibilité, cette fonction reste sous ce nom dans le coeur de SPIP, mais il faut la considérer comme obsolète et lui préférer:
      
      {{{
      in => fonction d'abstraction du test de la présence d'une valeur dans une liste.
      }}}
      Cette fonction s'ajoute à celles définies dans [10667], [10433], [10131], [10146], [10154] et [10113].
      
      Par ailleurs, les fonctions récemment introduites {{{test_sql_int}}} et {{{test_sql_date}}} se nomment finalement {{{sql_test_int}}} et {{{sql_test_date}}}: bien qu'elles n'abstraient actuellement rien, il est vraisemblable que ce soit le cas lors d'autre portages, on unifie donc tout de suite les nommages.
      
      Ce dépot a remplacé les occurrences de {{{calcul_mysql_in}}} dans {{{ecrire/}} avec:
      {{{
      for i in $(grep -l calcul_mysql_in [pige]*/*.php)
      do 
      sed s/calcul_mysql_in/sql_in/g $i > x
      mv x $i
      done
      }}}
      c6b27468
    • esj's avatar
      PG rale si on met une chaîne plus longue que la place déclarée par le VARCHAR,... · bc797a20
      esj a rédigé
      PG rale si on met une chaîne plus longue que la place déclarée par le VARCHAR, savoir ici un Referer. On va donc chercher la déclaration de la table pour connaître la longueur et tronquer par PHP. Le RFC HTTP1/1 dit qu'il n'y a pas de limite de longueur d'URL a priori, le 255 pris ici est un peu limite.
      bc797a20
    • esj's avatar
      Lorsque le serveur principal n'a pu indiquer son alphabet de connexion à SPIP,... · 260912cb
      esj a rédigé
      Lorsque le serveur principal n'a pu indiquer son alphabet de connexion à SPIP, prendre UTF8 pout les serveurs secondaires sinon c'est n'importe quoi. Et se servir du type SQL pour déterminer la valeur du ''text-align'': des vertèbres pas alignées ça ne tient pas debout, tous les paléontologues vous le diront.
      260912cb
    • esj's avatar
      Traitement du ALTER à plusieurs champs par PG, sous la forme d'autant... · 8a7d2e31
      esj a rédigé
      Traitement du ALTER à plusieurs champs par PG, sous la forme d'autant instructions ALTER. Pas optimal, mais ainsi le génie de SPIP/PG enregistre enfin les popularités ... en attendant la sienne.
      8a7d2e31
    • esj's avatar
      4e9fad62
    • esj's avatar
      Interface graphique trompeuse dans les squelettes dynamiques: il semblait que... · 3606c97c
      esj a rédigé
      Interface graphique trompeuse dans les squelettes dynamiques: il semblait que les formulaires effectuaient une conjonction des critères optionnels fournis alors qu'il n'en était rien. J'enlève le leurre, mais on peut se poser la question de savoir si un squelette faisant ça ne serait pas plus illustratif de la puissance du système. Mais ce serait graphiquement plus lourd, et ce squelette voulant servir d'exemple minimal commencerait à être rude.
      3606c97c
Chargement en cours