Skip to content
Extraits de code Groupes Projets
  1. août 29, 2006
    • esj's avatar
      Interface au serveur SQL pour permettre la connexion multi-base. · a80e6f9d
      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.
      a80e6f9d
  2. août 14, 2006
  3. juil. 14, 2006
    • esj's avatar
      LDAP & Installation: la procédure d'installation permet maintenant de... · 8a2405fc
      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à.
      8a2405fc
  4. juil. 12, 2006
  5. mai 21, 2006
    • esj's avatar
      Tache #209: Remplacement des addslashes spécifiques à SQL par la fonction... · f5a7f09b
      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.
      f5a7f09b
    • esj's avatar
      246342c9
  6. avr. 29, 2006
  7. avr. 18, 2006
  8. mars 23, 2006
  9. mars 03, 2006
    • esj's avatar
      _EXTENSION_PHP reste à .php3 en standard mais change de signification: il... · c71f5a45
      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
      c71f5a45
    • Fil's avatar
      finitions · aac499d6
      Fil a rédigé
      aac499d6
    • Fil's avatar
      suite du demenagement · e6ea0500
      Fil a rédigé
      c'est fini pour les php3
      e6ea0500
  10. mars 02, 2006
  11. mars 01, 2006
    • Fil's avatar
      suppression de la fonction include_local(), remplacée parfois par... · f8466a08
      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]
      
      f8466a08
    • Fil's avatar
      transformation de · 8375b144
      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/...')
      8375b144
  12. fév. 26, 2006
  13. fév. 24, 2006
  14. fév. 22, 2006
  15. fév. 11, 2006
    • Fil's avatar
      installation par défaut en utf-8 · 4a0dc51b
      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)
      4a0dc51b
  16. jan. 31, 2006
  17. jan. 27, 2006
  18. jan. 26, 2006
    • esj's avatar
      Ce depot resulte de l'application de: · 02ef1694
      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
      }
      02ef1694
  19. jan. 19, 2006
  20. jan. 18, 2006
  21. jan. 14, 2006
  22. jan. 13, 2006
  23. jan. 12, 2006
  24. jan. 08, 2006
  25. jan. 07, 2006
  26. jan. 04, 2006
    • esj's avatar
      Utiliser une variante de generer_url_ecrire pour les scripts qui ne sont · 160516e8
      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.
      160516e8
  27. jan. 03, 2006
  28. jan. 01, 2006
  29. déc. 25, 2005
    • esj's avatar
      La fonction "generer_url_ecrire" (ci-devant http_php_scriptnq) produit TOUTES... · b1743bd3
      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.
      b1743bd3
    • esj's avatar
      Remplacement de la version citante de la fonctionnalisation des scripts php · 9103f7c2
      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"
      9103f7c2
  30. déc. 23, 2005
  31. déc. 21, 2005
  32. déc. 20, 2005
Chargement en cours