- août 29, 2006
-
-
esj a rédigé
Les fonctions spip_query et spip_connect admettent un argument supplémentaire optionnel indiquant un serveur de base de données. Le résultat de spip_connect est la fonction à appeler pour effectuer une requete au serveur. Ces fonctions de requetes sont indiquées dans un tableau statique indexé par les différents serveurs. Le tableau est vide au départ, et s'enrichit lors du premiere appe de spip_connect avec un argument nouveau, S. A ce moment, spip_connect charge le fichier base/S.php et invoque la fonction sans argument base_S censée initialisée la connexion au serveur et retourner le nom de la fonction de requetes. Cette fonction est mémorisée dans le tableau statique, afin qu'aux appels suivants, spip_connect retourne immédiatement cette fonction. Ainsi, spip_query peut appeler systématiquement spip_connect sans perte de performances. Cette interface est complètement transparente dans le cas habituel. La globale db_ok (qui n'apparait plus que dans base/db_mysql et une fois à l'installation) est en particulier toujours disponible, mais doit etre considérée comme obsolète: il faut appeler spip_connect() pour savoir si la base est disponible et initialiser la connexion si ce n'est fait. L'utilisation principale de ces changements est de pouvoir appeler spip_query(requete, serveur) dans les fonctions implémentant les modèles de fonctions de abstract_sql.php. En particulier, la fonction par défaut spip_query_db qui repose sur des globales décrivant la connexion standard, peut etre remplacée par une autre fonction s'adressant à un autre serveur SQL, tout en profitant de toutes les autres fonctions de db_mysql.
-
- août 14, 2006
-
-
Christian Lefebvre a rédigé
-
- juil. 14, 2006
-
-
esj a rédigé
LDAP & Installation: la procédure d'installation permet maintenant de précisersi le serveur LDAP doit etre appelé en mode Transport Layer Security ou non, et permet de préciser le numéro de version du protocole (cf #448). Le niveau par défaut est 3, exigé par TLS, mais si la connexion échoue on réessaye avec 2. A cette occasion, le script install.php a été éclaté en autant de fichiers inc/install_XXX que d'étapes possibles: le fichier était devenu très volumineux à force d'y rajouter le code de chaque étape alors qu'une seule est exécutée à chaque appel du script. Chacun de ses petits fichiers est donc un formulaire où le code PHP est presqu'inexistant. Il est donc assez facile d'en améliorer l'apparence, ce qui ne ferait pas de mal: déjà qu'il était spartiate au départ, le présent dépot en rajoute dans l'absence d'ergonomie (certains formulaires ne tiennent pas sur une page, meme en grand écran) et dans le graphisme plat, meme pas validé XHTML. Mais les fonctionnalités sont là.
-
- juil. 12, 2006
-
-
Fil a rédigé
-
- mai 21, 2006
-
-
esj a rédigé
Tache #209: Remplacement des addslashes spécifiques à SQL par la fonction spip_abstract_quote pour faciliter le portage SQLite. Cette fonction retourne son argument intact si c'est un nombre, ou le met entre apostrophes avec \ sur les apostrophes internes sinon. Il faudra toujours l'utiliser pour SQL a present, et exclusivement pour cela. La transformation des fichiers a été obtenue par le script suivant: #!/bin/sh a=$(grep -l "'\" *\\. *addslashes([^)]*) *\\. *\"'" */*p) for i in $a do sed -e "s/'\"[[:space:]]*\.[[:space:]]*addslashes\(([^)]*)\)[[:space:]]*\.[[:space:]]*\"'/\" . spip_abstract_quote\1 . \"/g;" -e 's/ *\. *""//' $i > x.php mv x.php $i done plus quelques interventions manuelles, en particulier, le FIND_IN_SET du critere IN a ete remplacé par un FIELD, plus facile a produire dans ce contexte. Il y avait aussi un peu d'incoherence entites_html / addslashes ici ou là. Enfin, le Having, actuellement toujours inutilisé par le compilateur, est a nouveau bon pour le service.
-
esj a rédigé
-
- avr. 29, 2006
-
-
esj a rédigé
Faux message d'erreur lors de la mise à jour de la base. En fait, comme la fonction de mise à jour sort par Exit si celle-ci échoue, pas la peine de tester le retour.
-
- avr. 18, 2006
-
-
esj a rédigé
-
- mars 23, 2006
-
-
esj a rédigé
-
- mars 03, 2006
-
-
esj a rédigé
_EXTENSION_PHP reste à .php3 en standard mais change de signification: il indique qu'il faut essayer de lire un fichier avec cette extension si on ne l'a pas trouvé avec l'extension .php; a redefinir a à terme. Par ailleurs, simplification de find_in_path qui n'a plus qu'un seul argument. A noter que sa liste de repertoires pourrait etre calculée dans une statique au premier appel, s'il n'y avait ces fichus plugins qui en rajoutent une couche tardivement. A mediter
-
Fil a rédigé
-
Fil a rédigé
c'est fini pour les php3
-
- mars 02, 2006
- mars 01, 2006
-
-
Fil a rédigé
suppression de la fonction include_local(), remplacée parfois par include_once() (mais rarement), et d'autres fois par spip_connect() [une fonction qui reste à développer]
-
Fil a rédigé
include_ecrire *[(] *(["'])inc_(acces|admin|agenda|ajax|auteur_voir|auth_ldap|auth_spip|boutons|charsets|config|cookie|cron|date|diff|distant|extra|filtres|forum|getdocument|import|invalideur|lang|lang_liste|layer|logos|mail|math|mini_nav|minipres|mots|ortho|popularites|presentation|revisions|rubriques|session|signatures|sites_voir|suivi_versions|surligne|syndic|texte|visites)\1 *[)] en include_spip('inc/...')
-
- fév. 26, 2006
-
-
Fil a rédigé
-
- fév. 24, 2006
-
-
Fil a rédigé
le tout avec include_spip(), donc surchargeable etc
-
- fév. 22, 2006
-
-
Fil a rédigé
plein de corrections: upload des documents, vignette automatique, spip_action.php qui trainaient, etc
-
- fév. 11, 2006
-
-
Fil a rédigé
autorise les login et mot de passe hors ascii (attention : pas forcément hyper fiable si login via d'autres méthodes que md5.js)
-
- jan. 31, 2006
- jan. 27, 2006
-
-
Fil a rédigé
-
- jan. 26, 2006
-
-
esj a rédigé
renomme_en_exec_et_en_php () { mv index.php3 i3; mv index.php i; mv forum.php3 f; mv statistiques.php3 s; for i in *.php*; do if [ -f inc_${i%3} ]; then $MVCOMMAND inc_${i%3} exec_${i%3}; else if [ -f inc_$i ]; then $MVCOMMAND inc_$i exec_${i%3}; fi; fi; done; mv i3 index.php3; mv i index.php; mv f forum.php3; mv s statistiques.php3; $MVCOMMAND inc_auth.php3 exec_auth.php; $MVCOMMAND inc_accueil.php exec_accueil.php; for i in inc_spip_action*; do $MVCOMMAND $i exec_${i#inc_}; done; for i in inc_*.php3; do $MVCOMMAND $i ${i%3}; done; $MVCOMMAND exec_config-contenu.php exec_config_contenu.php; $MVCOMMAND exec_config-multilang.php exec_config_multilang.php; $MVCOMMAND exec_config-fonctions.php exec_config_fonctions.php; $MVCOMMAND exec_config-lang.php exec_config_lang.php }
-
- jan. 19, 2006
-
-
esj a rédigé
centralisation de (presque) tous les appels a spip_action.php pour pouvoir le faire evoluer plus facilement
-
- jan. 18, 2006
-
-
esj a rédigé
detruire le cache des meta des le debut de l'install, sinon ca aiguille sur l'adresse de la version reinstallee qui n'est pas necessairement la meme. Et ne pas oublier de charger inc_meta quand il y a aussi une MAJ de la base
-
- jan. 14, 2006
-
-
esj a rédigé
-
- jan. 13, 2006
- jan. 12, 2006
-
-
esj a rédigé
-
- jan. 08, 2006
-
-
esj a rédigé
remplacement par _DIR_RACINE des ../ sauf ceux qui n'ont rien a voir; l'espace prive devrait pouvoir etre mis n'importe ou grace a ca. Disparition de _DIR_PREFIX1 et _DIR_PREFIX2 qui faisaient double emploi avec _DIR_RACINE et _DIR_RESTREINT
-
- jan. 07, 2006
-
-
esj a rédigé
remplacement de spip_test_dirs.php3 et ses appels par des appels au script generique spip_action.php
-
- jan. 04, 2006
-
-
esj a rédigé
justement pas dans ecrire. Transformation a l'aide du script suivant: for i in $(grep -l "generer_url_ecrire(.../" *) do sed 's,generer_url_ecrire(\(.\)\.\./,generer_url_public(\1,' $i > x; mv x $i done D'autre part, remplacer generer_url_ecrire('index') par simplement ./ c'est encore plus portable. Merci a Gilles Vincent pour avoir vu tous les points problematiques et fourni une solution.
-
- jan. 03, 2006
-
-
esj a rédigé
-
- jan. 01, 2006
-
-
Fil a rédigé
(c) 2001-2006
-
- déc. 25, 2005
-
-
esj a rédigé
La fonction "generer_url_ecrire" (ci-devant http_php_scriptnq) produit TOUTES les url de l'espace prive. Elle prend un nom de script, sans son extension, et une Query String, et retourne une URL formee du nom du script muni de son extension, du point d'interrogation et de la query_string avec les "&" transcodes en "&". Elle admet aussi deux arguments supplementaires optionnels pour le cas specifique d'une URL codee comme valeur de parametre. Cette fonction est destinee a supprimer d'un seul coup les extensions php3, et a permettre l'introduction d'un script generique pour n'en garder qu'un seul.
-
esj a rédigé
par le script shell suivant for i in $(grep -l 'action=" *\. *http_php_script *([^)]*) *\. *"' *) do sed -f f.sed "$i" | sed 's/<FORM /<form /;s/METHOD=/method=/' > "$i.php" mv $i.php $i done le fichier f.sed etant: s/action=\(" *\. *http_php_script\) *\(([^)]*) *\. *"\)/action=\'\1nq\2\'/ celui du commit precedent etant le meme, avec "href" a la place de "action"
-
- déc. 23, 2005
-
-
esj a rédigé
-
- déc. 21, 2005
-
-
esj a rédigé
-
- déc. 20, 2005
-
-
esj a rédigé
6e tour d'encapsulation d'appel de scripts d'ecrire par transformation automatique grace au script suivant: for i in $(grep -l "'[a-z_./][a-z_./-]*.php3'" inc*) do sed "s/'\([a-z_./]*\).php3'/http_php_script('\1')/" $i > $i.php mv $i.php $i done
-