- nov. 04, 2007
-
-
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.
-
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
-
esj a rédigé
-
- nov. 03, 2007
- nov. 02, 2007
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Découpage transparent. Afin de faciliter la compréhension de l'interface SPIP aux serveurs SQL, les fonctions concernant ceux-ci dans inc/utils migrent dans un nouveau fichier situé dans le répertoire base: spip_connect spip_connect_sql spip_connect_db spip_connect_main spip_connect_ldap _q table_objet table_objet_sql id_table_objet table_jointure et spip_query.
-
esj a rédigé
Par défaut mysql_connect et pg_connect redonnent la connexion en cours lors d'un deuxième appel, ce n'est pas que SPIP veut il sait ce qu'il fait quand il redemande.
-
esj a rédigé
[10605] avait éliminé la divination des clés primaires des modèles non historiques. On rétablit par souci de compatibilité, mais il vaudrait mieux dire que le numéro du modèle se trouve dans l'identifiant "id" et rien d'autre. Et éviter un warning dans le having.
-
esj a rédigé
-
esj a rédigé
-
Fil a rédigé
le {{{<label>}}} qui englobait l'input faisait qu'on ne pouvait plus rien indiquer dedans (input indiquant l'url d'un zip ou d'une liste de plugins)
-
marcimat a rédigé
Si predef[0] contenait la valeur de _INSTALL_SERVER_DB (ce qui est le cas par défaut), ça ne marchait pas.
-
marcimat a rédigé
Sinon, on le crée dans DIR_TMP. Corrige un mini bug sur la mutualisation du dossier _DIR_DUMP si celui-ci n'existait pas (tmp/dump), un dossier /sites/le_site/tmp/..tmpdump/ était créé.
-
Fil a rédigé
-
- nov. 01, 2007
-
-
Fil a rédigé
-
esj a rédigé
Accpeter que l'argument Groupby de sql_select etc soit un tableau, pas seulement une chaîne (pour les autres et pas lui hein ?)
-
ARNO* a rédigé
-
ARNO* a rédigé
-
ARNO* a rédigé
-
esj a rédigé
Bug dans les jointures automatiques depuis la mise au carré de la recherche de table à travers la fonction surchargeable trouver_table. Plus un modèle non xhtml strict.
-
esj a rédigé
Suppression de 3 paramètres superflus dans sql_select, sql_countsel, sql_fetsel, sql_getfetsel, afin d'avoir une interface de programmation avec des fonctions ayant au plus 8 arguments.
-
- oct. 31, 2007
-
-
Christian Lefebvre a rédigé
-
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.
-
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.
-
- oct. 30, 2007
-
-
esj a rédigé
La fonction sql_serveur avec un 3e argument, booléen, permettant de ne pas déclencher d'erreur si l'instruction SQL souhaitée n'est pas disponible (cf charger_fonction, construite pareillement).
-
esj a rédigé
-
esj a rédigé
Partage de code dans les fonctions d'abstraction: la fonction sql_serveur admet un 3e argument, booléen, permettant de ne pas déclencher d'erreur si l'instruction SQL souhaitée n'est pas disponible (cf charger_fonction, construite pareillement).
-
esj a rédigé
Squelette dynamique: passer les champs date à un filtre de date, c'est une bonne illustration des vertus de SPIP en matière de typographie fonction de la langue.
-
Fil a rédigé
-
esj a rédigé
-
esj a rédigé
Introduction de la constante {{{_DIR_AIDE}}} indiquant le répertoire de cache de la documentation, afin de pouvoir en n'avoir qu'un entre plusieurs sites mutualisés.
-
- oct. 29, 2007
-
-
Christian Lefebvre a rédigé
-
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 }}}
-
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.
-
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.
-
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.
-
esj a rédigé
-
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.
-