Skip to content
Extraits de code Groupes Projets
  1. nov. 06, 2009
    • esj's avatar
      Correction/extension de la balise {{{multi}}}, en réponse à... · c6f2c7c5
      esj a rédigé
      Correction/extension de la balise {{{multi}}}, en réponse à [http://forum.spip.org/fr_218282.html un besoin exprimé dans le forum]. Si la balise multi n'a pas une entrée correspondant à la langue courante du texte, il ne faut pas typographier le texte sélectionné par défaut avec les règles de la langue courante, mais avec celle associée à ce texte. Du coup, il est possible d'obtenir la bonne typographie d'une citation dans une autre langue, en utilisant une balise {{{multi}}} volontairement réduite à une seule entrée.
      
      c6f2c7c5
  2. oct. 16, 2009
    • cerdic's avatar
      introduction d'un pipeline affiche_formulaire_login permettant aux methodes... · 435d3cd6
      cerdic a rédigé
      introduction d'un pipeline affiche_formulaire_login permettant aux methodes d'auth d'ajouter au formulaire ce qui leur est necessaire
      corrolairement, le js qui sert a encrypter le pass en md5 passe dans auth/spip car il est propre a cette methode.
      
      +correction d'un bug sur la fonction de synchronisation lorsqu'elle est appelee sans argument : la definition de valeurs par defaut n'est pas prise en compte par func_get_args qui renvoie uniquement les arguments explicitements fournis
      435d3cd6
  3. oct. 12, 2009
    • esj's avatar
      Oracle accepte finalement que ses mot-clés soient utilisés comme nom de... · 04486d24
      esj a rédigé
      Oracle accepte finalement que ses mot-clés soient utilisés comme nom de colonne si on les met entre apostrophes (mais celles-ci sont refusées quand elles sont inutiles, fallait le savoir). Ca pose des problèmes pour écrire de Trigger, mais on n'a pas besoin du moins dans l'immédiat (et il semblerait qu'on puisse ruser en passant par une vue si ça devient nécessaire).
      
      En conséquence, retour du champ {((mode}}} en rétablissant les fichiers pre[14588]. La MAJ pour les installations ayant chargé cette version restaurera ce nom de champ, les autres auront une mise à jour qui se réduira à changer le numéro de version installée, pas la peine de faire et défaire.
      04486d24
  4. oct. 08, 2009
    • esj's avatar
      Incompatibilé forte: Oracle ayant {{{mode}}} comme mot-clé réservé, il ne peut... · 68e7702b
      esj a rédigé
      Incompatibilé forte: Oracle ayant {{{mode}}} comme mot-clé réservé, il ne peut être utilisé dans un champ de table. En conséquence, renommage sous le nom {{{genre}}} du champ {{{mode}}} de la table {{{spip_documents}}}, avec répercussion sur les squelettes et les scripts utilisant cette table. La globale {{{exceptions_des_tables}}} aurait pu éviter l'incompatibilité pour certains squelettes, mais pas pour ceux ayant {{{mode}}} dans leur critères, ni pour les scrips effectuant des requêtes SQL explicites sur cette table.
      
      A noter que la fonction {{{inc_joindre}}} continue à attendre un tableau dont un des index est {{{mode}}}: c'est sans doute étrange mais ça fait du travail en moins. Si on y tient absolument, on pourra aussi le changer: c'est le ''travailler plus pour nommer plus''.
      68e7702b
  5. sept. 29, 2009
  6. août 13, 2009
  7. août 12, 2009
  8. juil. 27, 2009
  9. juil. 19, 2009
  10. juil. 15, 2009
    • esj's avatar
      Possibilité d'étendre l'aide en ligne. · ba17b7f4
      esj a rédigé
      Le script d'aide en ligne est à présent capable de fusionner plusieurs sources d'informations, et de les présenter de manière unifié dans la fenêtre à 2 frames qui s'ouvre lorsqu'on clique sur les icones de point d'interrogation des pages de l'espace privé. L'interface est assez contrainte, car le format de référence est celui fourni par [http://www.spip.net/aide/fr-aide.html cette page de spipnet]. En voici les principes.
      
      La globale {{{help_server}}} est à présent non plus l'URL d'un répertoire d'aide, mais un tableau de telles URL (la compatibilité est assurée néanmoins). Lorsque de l'aide est demandée dans une langue L, SPIP va récupérer toutes les pages nommées L{{{-aide.html}}} existant aux URL indiquées par cette globale, et fusionner les informations. Par défaut, ce tableau global a pour seul élément {{{http://www.spip.net/aide}}}, ce qui permet de retomber sur le comportement habituel,
      mais à présent il peut être complété par d'autres éléments dans le fichier {{{mes_options.php}}}.
      
      Une page d'aide est structurée par la présence de balises h1, h2 et h3, indiquant le début de sections, sous-sections et sous-sous-sections (la fin est la prochaine balise h1|2|3, et il est supposé qu'aucun titre n'apparaît 2 fois, dans toute la structure). La fusion consiste à repérer si la page à fusionner à des titres de ((sous-)sous-)sections identiques à ceux déjà rencontrées dans les pages précédentes. Si un tel titre est trouvé, ce qui le suit dans la page à fusionner  est ajouté à la fin de ce qui avait été trouvé sous ce nom auparavant. Si ce n'est pas le cas, on considère que c'est une section nouvelle qu'on ajoute alors à la fin.
      
      Voici par exemple comment décrire les raccourcis supplémentaires de spipnet.
      Dans mes_options.php, on met une URL spécifique, ici je choisis le répertoire des squelettes du site:
      {{{
      $GLOBALS['help_server'][] = $GLOBALS['meta']['adresse_site'] . '/squelettes/;
      }}}
      Dans le répertoire de squelettes, je crée le fichier {{{fr-aide.html}}} ainsi rédigé:
      {{{
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
      <head><link rel='stylesheet' href='http://www.spip.net/prive/spip_admin.css' type='text/css' /></head>
      <body>
      <h2>raccourcis/Les raccourcis typographiques</h2>
      <h3 class="spip">Les raccourcis de www.spip.net</h3>
      <p>
      Les raccourcis  <tt>[->spipN]</tt> fournissent un lien vers l'article
      de référence décrivant  la version N  de SPIP. Ce lien tient
      compte de la  langue utilisée au moment où le raccourci apparaît, de
      sorte que si l'article de référence a été traduit dans cette langue,
      c'est cette traduction qui servira de lien, et non l'article de référence
      qui n'est en fait que le lien par défaut.
      </p>
      </body></html>
      }}}
      
      et paf, dans la fenêtre habituelle d'aide, l'entrée de sous-menu {{Les raccourcis typographiques}} fournit le texte de spipnet complété par le texte entre les balises P ci-dessus.
      ba17b7f4
  11. juil. 13, 2009
    • esj's avatar
      Retour sur [14194]: puisqu'on a officialisé que dans les balises dynamiques,... · 43c30135
      esj a rédigé
      Retour sur [14194]: puisqu'on a officialisé que dans les balises dynamiques, l'argument issu des filtres serait toujours vide, autant en profiter pour implémenter la proposition de Thomas #1728. L'idée et qu'en plus des valeurs à chercher automatiquement en base, une balise dynamique peut avoir besoin de manipuler à l'exécution des valeur qui ne sont connues que durant la compilation. Ca peut effectivement servir, et ça permet de conserver toutes les signatures des fonctions concernées, avec des paramètres tous utiles.
      43c30135
    • esj's avatar
      Réorganisation du script allant chercher l'aide sur www.spip.net, préalable à... · 4da63de2
      esj a rédigé
      Réorganisation du script allant chercher l'aide sur www.spip.net, préalable à la possibilité de rajouter de l'aide sur les extensions utilisées. Rien de changé dans les fonctionnalités pour l'instant, si ce n'est que le fichier mis en cache n'est pas l'orignal mais la version à URL relatives, c'était idiot de les recalculer à chaque fois. Du coup on incrémente version_code pour ignorer l'ancien cache de l'aide qui n'est plus compatible. 
      
      4da63de2
  12. juil. 10, 2009
    • esj's avatar
      Amélioration de [14178]. En fait la seule balise dynamique qui continuait à... · ea23ca58
      esj a rédigé
      Amélioration de [14178]. En fait la seule balise dynamique qui continuait à écrire en position de filtre ce qui était inévitablement un argument est FORMULAIRE_RECHERCHE, qui depuis la 1.9 a laissé tomber le pré-remplissage du champ de recherce à l'aide du véritable argument de la balise, et traite celui-ci exactement comme le filtre. D'ailleurs aucun squelette de zone/_squelettes_ n'utilise la vieille possibilité. De nouveau on traite dès l'analyse syntaxique l'ancienne écriture de FORMULAIRE_RECHERCHE, et on évite complètement de charcuter l'arbre de syntaxe abstraite même pour les balises dynamiques. Comme de plus aucun squelette de zone/_squelettes_ n'écrit un filtre dans les balises dynamiques, sachant intuitivement que ça ne peut pas marcher, on évacue complètement leur prise en compte dans le code compilé puisque que ça sera toujours vide. Pour éviter tout risque d'incompatibilité, seule la signature de la fonction insérée dans le code change ({{{executer_balise_dynamique}}}), les fonctions {{{*_stat}}} continuent à admettre 2 arguments, dont le 2e sera toujours vide.
      ea23ca58
  13. juin 24, 2009
  14. juin 12, 2009
    • cerdic's avatar
      complement a [14097] : · e2552a15
      cerdic a rédigé
      - renommer le pipeline en declarer_url_objets
      - la declaration dans inc_version concerne les fonctions appelees, pas le contenu du pipeline
      - mutualiser du code generique dans inc/urls
      e2552a15
  15. juin 11, 2009
  16. juin 10, 2009
  17. mai 18, 2009
  18. mai 17, 2009
  19. avr. 28, 2009
  20. avr. 21, 2009
    • cerdic's avatar
      Les webmestres ne sont pas forcement des geeks et ont le droit a une interface... · 8b608442
      cerdic a rédigé
      Les webmestres ne sont pas forcement des geeks et ont le droit a une interface decente pour gerer le statut webmestre, donc.
      
      Un champ webmestre est ajoute a la table spip_auteurs, et vaut oui ou non. Les droits de webmestre necessitent d'avoir ce champ a oui ET le statut 0minirezo, et pas de etre un admin restreint.
      
      A l'upgrade, si _ID_WEBMESTRES est defini, les auteurs concernes sont statues webmestres, sinon seul l'auteur qui fait l'upgrade est promu webmestre.
      Il est possible de se promouvoir webmestre en refaisant l'installation (suppression du fichier connect.php).
      
      Un webmestre peut ensuite promouvoir ou degrader un autre webmestre. Un admin normal ne peut pas changer le statut d'un webmestre.
      8b608442
  21. mars 16, 2009
  22. mars 08, 2009
  23. mars 07, 2009
  24. jan. 28, 2009
  25. jan. 22, 2009
    • cerdic's avatar
      "un core sans forum ou presque. · 111b3557
      cerdic a rédigé
      Restent :
      - les meta de config a deplacer dans le plugin forum
      - quelques jointures explicites mais conditionnees a la presence du plugin"
      111b3557
  26. jan. 18, 2009
  27. déc. 30, 2008
    • esj's avatar
      Début de mise à plat de la balise générique #LOGO_. · 73b0062b
      esj a rédigé
      Tout ce qui est calculable à la compilation l'est effectivement, ce qui allège le code produit. Conséquence, les fonctions {{{affiche_logos, calcule_logo_document, calcule_logo}}} n'ont plus les mêmes signatures, on en profite pour les nommer plus rationnellement, voire les faire disparaître. La production du code HTML est enfin rejetée en dehors du compilateur proprement dit, la fonction {{{balise_LOGO__dist}}} d'une part, et dans {{{inc/documents}}}. Ce n'est pas encore facilement surchargeable, mais on s'en approche.
      
      Test (sur un article avec logo):
      {{{
      <BOUCLE_doc(DOCUMENTS){id_article}{doublons}>
      <h1>DOCUMENT #ID_DOCUMENT</h1>
      LOGO_DOCUMENT|URL_ARTICLE
      [(#LOGO_DOCUMENT|#URL_ARTICLE)]
      <br>
      LOGO_DOCUMENT|right
      [(#LOGO_DOCUMENT|right)]
      <br>
      LOGO_DOCUMENT|fichier
      [(#LOGO_DOCUMENT|fichier)]
      <br>
      LOGO_DOCUMENT|lien
      [(#LOGO_DOCUMENT|lien)]
      <br>
      LOGO_DOCUMENT|fichier|strtoupper
      [(#LOGO_DOCUMENT|fichier|strtoupper)]
      <br>
      LOGO_DOCUMENT||image_sepia
      [(#LOGO_DOCUMENT||image_sepia)]
      <br><br><br><br>
      LOGO_DOCUMENT{200,50}|URL_ARTICLE
      [(#LOGO_DOCUMENT{200,50}|#URL_ARTICLE)]
      <br>
      LOGO_DOCUMENT{200,50}|right
      [(#LOGO_DOCUMENT{200,50}|right)]
      <br>
      LOGO_DOCUMENT{200,50}|fichier
      [(#LOGO_DOCUMENT{200,50}|fichier)]
      <br>
      LOGO_DOCUMENT{200,50}|lien
      [(#LOGO_DOCUMENT{200,50}|lien)]
      <br>
      LOGO_DOCUMENT{200,50}|fichier|strtoupper
      [(#LOGO_DOCUMENT{200,50}|fichier|strtoupper)]
      <br>
      LOGO_DOCUMENT{200,50}||image_sepia
      [(#LOGO_DOCUMENT{200,50}||image_sepia)]
      </BOUCLE_doc>
      }}}
      73b0062b
  28. déc. 23, 2008
    • esj's avatar
      Bonne année vieille branche! · d222863d
      esj a rédigé
      Dépot obtenu par:
      
      {{{
      for i in $(grep  -l '(c) 2001-' * */* */*/* 2> /dev/null)
      do
      sed 's/(c) 2001-2008/(c) 2001-2009/' $i > /tmp/x
      mv /tmp/x $i
      done
      }}}
      d222863d
  29. déc. 15, 2008
  30. déc. 06, 2008
  31. déc. 03, 2008
  32. nov. 26, 2008
  33. nov. 10, 2008
  34. nov. 01, 2008
  35. oct. 17, 2008
    • esj's avatar
      C'était dispendieux de reconstruire à chaque appel (15 par pages en moyenne)... · a34efe58
      esj a rédigé
      C'était dispendieux de reconstruire à chaque appel (15 par pages en moyenne) le tableau des raccourcis, juste parce que la puce peut changer de sens.
      
      Par ailleurs, depuis [9649], il n'est plus nécessaire de vérifier que les variables de personnalisation n'ont pas été passées par l'URL, sauf s'il est explicitement dit que c'est fait pour cause de compatibilité php3.
      
      En conséquence:
      
      	* on met le tableau des raccourcis en statique;
      	* on déporte l'init de ces variables dans inc_version;
      	* on enrichit la fonction de contrôle d'URL avec cette liste de variables;
      	* on met cette fonction de contrôle dans un fichier à part pour alléger le fichier d'init qui ne l'appelle qu'en mode register_global=on donc rarement.
      a34efe58
Chargement en cours