Skip to content
Extraits de code Groupes Projets
  1. nov. 02, 2007
  2. nov. 01, 2007
  3. 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
  4. oct. 30, 2007
  5. 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
    • esj's avatar
      Utiliser systématiquement les squelettes inclus de ''dist/'' pour harmoniser... · 3741922a
      esj a rédigé
      Utiliser systématiquement les squelettes inclus de ''dist/'' pour harmoniser la présentation des squelettes dynamiques avec les autres et prendre en compte les vertèbres qui ne parlent pas notre langue. Le lien habituel ''squelette'' en bas de page fonctionne à présent pour elles aussi, bien que ça ne dirige pas vers la meme page (on peut d'ailleurs se demander si tous ne devrait pas pointer sur celle-ci).
      
      Par ailleurs, le tableau retourné par la fonction '''trouver_table''' contient une entrée supplémentaire, {{{connexion}}}, ça évite de trimbaler le paramètre {{{$connect}}} partout. 
      3741922a
    • esj's avatar
      Squelettes dynamiques introduits en [10645]: mettre aussi un formulaire de... · d2b163aa
      esj a rédigé
      Squelettes dynamiques introduits en [10645]: mettre aussi un formulaire de saisie par colonne, sinon les critères conditionnels ne sont pas devinables.
      d2b163aa
    • Fil's avatar
      le squelette compile change de nom si version_code est modifiee ; permet... · 9a490d05
      Fil a rédigé
      le squelette compile change de nom si version_code est modifiee ; permet d'eviter des erreurs bloquantes lors de la mise a jour
      9a490d05
    • esj's avatar
      Extension du filtre '''parametre_url''': il est à présent possible de donner... · 58ed7e20
      esj a rédigé
      Extension du filtre '''parametre_url''': il est à présent possible de donner une liste de paramètres plutôt qu'un unique paramètre, ce qui évite d'écrire une succession d'appels à ce filtre lorsque l'on veut appliquer le même traitement à ces paramètres (en pratique c'est surtout la suppression). La syntaxe retenue est de les séparer par une barre '''|''', et ne rien mettre autour. Ainsi:
      {{{
      [(#SELF|parametre_url{"tri_n|_tri|_tri_n",""})]
      }}}
      élimine trois paramètres de l'URL courante s'ils s'y trouvent.
      
      Application aux squelettes dynamiques introduits en [10645]. Ceux ci ont de plus un lien vers le squelette produit, sous la forme d'un appel au débusqueur avec les paramètres idoines (pour ne pas effrayer les débutants avec la page d'accueil du débusqueur).
      58ed7e20
  6. oct. 28, 2007
Chargement en cours