- mai 24, 2008
-
-
esj a rédigé
-
- mai 03, 2008
-
-
amemo a rédigé
-
marcimat a rédigé
Certaines compressions gz des pages distantes lues avec recuperer_page() n'arrivaient pas à être lues. Remplacement de gzinflate() par spip_gzinflate_body() décrite sur php.net (http://fr2.php.net/manual/fr/function.gzinflate.php)
-
- avr. 13, 2008
-
-
amemo a rédigé
-
- avr. 12, 2008
-
-
esj a rédigé
Suite de [11441]: ne pas fermer la connexion dans la fonction recuperer_entetes en cas de status <> 200: la persistence peut rester utilie.
-
esj a rédigé
Ajouts d'arguments optionnels à la fonction http_init, afin de pouvoir l'utiliser en HTTP/1.1 avec connexions persistentes (sous réserve que KeepAlive soit à On dans le httpd.conf du serveur visé). Redécoupage fonctionnels des fonctions qui l'appellent afin de pouvoir réutiliser leur boulot dans ce contexte un peu différent du HTTP/1.0 utilisé par SPIP pour récupérer une page unique (ce qui est normal).
-
- avr. 11, 2008
-
-
cerdic a rédigé
-
- avr. 10, 2008
-
-
cerdic a rédigé
-
- jan. 26, 2008
-
-
cerdic a rédigé
-
- jan. 24, 2008
-
-
esj a rédigé
Le changement de stratégie sur la protection des documents rebondit encore. Si un modèle a besoin d'incruster un document dont il ne connait que l'URL, le site exécutant la fonction copie_locale va échouer sur son propre appel car un serveur n'est pas son propre client. On repère donc la situation suffisamment en amont pour pouvoir faire sauter la auto-protection. Par ailleurs, le filtre d'incrustation d'un CSV admet aussi la tabulation comme séparateur de colonne, et le {{{^M}}} comme unique séparateur de ligne (j'espère que le nombre de tableurs qui réinventent le RFC de CSV est strictement inférieur à mon nombre de collègues, je commence à en douter). Précision sur [11111]: le raccourci pour Caption est {{{||}}} qu'il faut écrire entre triple accolade sur le Wiki de Trac.
-
- jan. 18, 2008
-
-
esj a rédigé
Elimination de la table principale de la boucle de [11091]: traitement particulier de la boucle Document dont la "table principale" a une jointure d'office. Toujours le même fichier à contrôler pour SQLite. Scorie de [11089] qui empêchait contenu_document de fonctionner dans un cas.
-
- jan. 17, 2008
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Le filtre 'contenu_document' accepte comme argument non seulement un entier (produit notamment par #ID_DOCUMENT) mais aussi un chemin ou une URL (produit notamment par #URL_DOCUMENT). Dans les deux cas il ramène le contenu du document ainsi désigné. La forme {{{ [(#URL_DOCUMENT|contenu_document)] }}} est à préférer car elle garantit l'exécution du squelette sur une base externe, contrairement à ID_DOCUMENT qui ne communique pas sa base de référence. Cette forme reste toutefois nécessaire en cas d'accès protégé aux documents: il faudrait continuer le ménage autour de la fonction ''copie_locale'' pour qu'une copie de soi à soi ne soit pas bloquée dans ce cas. Et correction d'une scorie de [11088].
-
- jan. 16, 2008
-
-
esj a rédigé
Harmonisation de la structure de données de 'recuperer_infos_distantes' et 'inc_ajouter_document' pour éviter de faire et défaire 2 fois la même chose et gagner une requete SQL.
-
esj a rédigé
Eviter de produire des vignettes de taille nulle et redonner alors l'URL initiale avec un width/height comme pour les images incomprises par GD etc. Le cas se produit lorsque l'image est protégée par un https sur un serveur distant auquel le serveur voulant produire la vignette n'a pas accès, tandis que sont client l'a (suis-je clair?). Coté proxy, autoriser un proxy en Https et pour la phase de test prévenir si on teste une URL n'ayant pas besoin du proxy.
-
- déc. 31, 2007
-
-
esj a rédigé
-
- nov. 15, 2007
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Decoupage en 2 de recuperer_page, afin de pouvoir l'appeler sans qu'elle résolve les redirections. Et eviter de l'appeler sur du vide.
-
- 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.
-
- oct. 03, 2007
-
-
esj a rédigé
Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres. La Regexp précédent était trop restrictive dans sa manière d'exclure les requêtes avec GROUP BY, ORDER BY et LIMIT. Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^YT]*;' [a-i]*/*php) do # Pour la clause DISTINCT, laisser intact pour le moment. sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^YT]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x echo $i mv x $i done }}} et une suppressions manuelle de lourdeurs syntaxiques résultantes, et ajout d'une Include. Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
-
esj a rédigé
Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres. Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^A-Z]*;$' [a-i]*/*php) do # Pour la clause DISTINCT, laisser intact pour le moment. sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^A-Z]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x echo $i mv x $i done #}}} et deux suppressions manuelles de lourdeurs syntaxiques résultantes. Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
-
- sept. 11, 2007
-
-
Fil a rédigé
-
- août 12, 2007
-
-
cerdic a rédigé
-
cerdic a rédigé
#1002 notamment : copie_locale renvoie un chemin referent a la racine, il faut donc prefixer son resultat de _DIR_RACINE
-
esj a rédigé
Renommage de toutes les fonctions '''spip_abstract_''' en '''sql_''', c'est plus court et plus parlant puisqu'il s'agit des fonctions d'interfaces avec un serveur SQL. De nouveau attention il faut vider le cache (en fait seulement celui des squelettes: tmp/cache/skel) car ce sont des fonctions que le compilateur place dans le code compilé. En conséquence, l'annonce de [9852] est modifiée: '''spip_fetch_array''' est remplacée par '''sql_fetch'''. Rien de modifié en revanche en ce qui concerne le fait que spip_fetch_array avec un deuxième argument égal à SPIP_NUM n'a pas d'équivalent et doit être réécrit si on éviter le recours à vieilles_def.php. Dépot obtenu par le script suivant: {{{ grep -v '// http://doc.spip.org/@spip_abstract_' base/abstract_sql.php > b mv b base/abstract_sql.php for i in $(grep -l "spip_abstract_" */*p|grep -v vieilles_def) do sed "s/spip_abstract_/sql_/g" $i > x; mv x $i done }}} et intervention manuelle sur vieilles_def.php.
-
- août 08, 2007
-
-
Fil a rédigé
-
- août 04, 2007
-
-
esj a rédigé
#209: Afin que les plugins utilisant '''SPIP_NUM''' ou '''SPIP_ASSOC''' dans les appels de '''spip_fetch_array''' continuent à fonctionner sans perturber le portage en PostGres, cette fonction passe en vieille_def avec une définition appellant explicitement '''mysql_fetch_array'''. Elle est remplacée dans tout le code de SPIP par '''spip_abstract_fetch''' auparavant utilisée seulement par le compilateur de squelettes. Les plugins voulant tourner en PostGres à terme sont invités à renommer cette fonction, et à ramener à un seul argument tous ses appels. Ce dépot résulte donc du retrait des deux définitions de '''spip_fetch_array''' présentes dans source:spip/ecrire/base/db_mysql.php et source:spip/ecrire/base/db_pg.php (qui peuvent donc être chargés simultanément à présent si nécessaire) et de l'application du script suivant dans le répertoire '''ecrire''': {{{ for i in $(grep -l spip_fetch_array */*p|grep -v vieilles_def) do sed s/spip_fetch_array/spip_abstract_fetch/g $i > x mv x $i done }}}
-
- juin 27, 2007
-
-
Fil a rédigé
-
- juin 16, 2007
-
-
esj a rédigé
Implémentation de #961 : il est maintenant possible de spécifier des machines ou des domaines pour lesquels le proxy ne doit pas etre utilisé. On en profite pour aller jusqu'au bout de l'usage d'Ajax dans ce cas de configuraiton, mais ça marche toujours sans Ajax (mais comment on n'a pu supporter si longtemps une lenteur pareille dans ce cas?). On en profite aussi pour revoir les libellés, d'une part pour signaler que c'est nécessaire à l'accès à la documentation (on aurait du le faire depuis longtemps) et pour que la validation en mode Ajax soit suivie d'une différence graphique (sinon, on avait l'impression que rien ne s'était passé). Attention, il y a un gros Hack pour forcer ces modifications dans les libellés, il faut une intégration propre à terme.
-
- juin 11, 2007
-
-
Fil a rédigé
suppression des id_type de documents, remplaces par extension ; la seule chose que je ne sais pas verifier, c'est la question des sauvegardes/restaurations, surtout avec du code que je ne comprends pas et qui est marque 'a voir' ; a voir, donc :)
-
- avr. 19, 2007
-
-
esj a rédigé
[8952] avait rendu inaccessible le test du proxy. Mais il y a des bouts de ficelles qui vont loin quand on tire dessus. Tant qu'à reprendre le script {{{config_fonctions}}} pour ça, autant passer en ajax les 9 cas de Submit de cette page (retester les créateurs de vignettes quand on change une des 8 autres options, c'était pas terrible). Mais pour éviter 9 trios de fichiers (action/exec/inc), on réécrit ajax_action_post pour qu'il permette de partager le meme fichier {{{configurer.php}}}: un dans {{{action}}} (ce qui va permettre de remplacer les modifs en rafale dans {{{appliquer_modif_configs}}} par la seule modif utile; à faire), et un dans {{{exec}}}. Et pour eviter que celui de {{{exec}}}ne soit totalement opaque en relançant n'importe quel script de {{{inc}}}, création d'un sous-répertoire {{{configuration}}} destiné à contenir tous les formulaires sur les options de configuration. Dans ce répertoire {{{configuration}}} figurent les 9 scripts dont on vient de parler, plus les 2 déjà créés par [9039] (config_lang en Ajax) et 2 autres venant de la mise en Ajax de config_multilang (qui ne relance plus calculer_langue_rubrique: sauf erreur ça n'a jamais eu d'impact immédiat sur elles), en attendant de créer tout ceux potentiellement dans exec/config_contenu.php et dans exec/configuration.php. Pour enfin rendre à nouveau accessible le test du proxy, nouvel ajout à ajax_action_post afin qu'il gère plusieurs boutons Submit dans un meme formulaire. Malheureusement AjaxSqueeze/JQuery ne traite pas ça, il a fallu rajouter dans layer.js une fonction de clone de bouton submit nommé. Et tout ça est xhtml strict, car tout avait commencé il y 24 heures par l'intention microscopique d'enlever un attribut align dans le formulaire config_fonctions!
-
- mars 23, 2007
-
-
esj a rédigé
Préparation à la disparition de _DIR_IMG dans le champ "fichier" de la table des documents: 2 fonctions get_spip_doc et set_spip_doc convertissent les infos dans la table SQL en l'adresse effective du fichier sur le disque. A noter qu'il y a de toutes façons déjà une conversion en ce qu'il faut rajouter _DIR_RACINE. Dans inc/utils on trouvera en commentaire les versions à utiliser à terme. Elles semblent bien marcher sur une base vierge, mais reste à écrire la mise à jour des anciennes bases, avec un risque de Time Out à gérer.
-
- mars 22, 2007
-
-
cerdic a rédigé
-
- mars 21, 2007
-
-
esj a rédigé
-
- mars 07, 2007
-
-
Fil a rédigé
corrige #834, bug amusant : le premier hit est gzip, mais il fait un redirect sur une page pas gzip, et spip se rappelait de gz=true et echouait
-
- mars 05, 2007
- fév. 21, 2007