Skip to content
Extraits de code Groupes Projets
  1. jan. 12, 2008
  2. jan. 11, 2008
  3. jan. 10, 2008
    • esj's avatar
      Depuis l'irruption des modèles, le débusqueur ne retrouvait pas toujours le... · 59aab79e
      esj a rédigé
      Depuis l'irruption des modèles, le débusqueur ne retrouvait pas toujours le résultat d'une boucle, parce que l'utilisation d'un modèle à l'intérieur ne restaurait pas les variables globales du débusqueur. Réparé (dur).
      
      Pour ce faire, il a fallu changer la fonction public/composer dont le 2e argument est à présent le nom du squelette à compiler.
      
      Ce changement de signature entraine la modification de $spip_version_code, qui à présent vaut le numéro de la dernière SVN l'ayant modifié, à l'instar de $spip_version pour la base SQL.
      59aab79e
  4. déc. 31, 2007
  5. déc. 23, 2007
    • esj's avatar
      Le '0' rajouté d'office dans le critère doublon était inutile depuis déjà... · 9c14dd9f
      esj a rédigé
      Le '0' rajouté d'office dans le critère doublon était inutile depuis déjà longtemps (optimisation de la construction IN) et même faux si on utilise ce critère dans une table externe dont la clé primaire peut être nulle.
      Par ailleurs, la détection des {{{0=0}}} n'était pas systématique.
      
      Cela fait, ceci:
      {{{
      <BOUCLE_syndiczone(SYNDIC_ARTICLES){id_mot=233}{doublons zone}>
      ...
      </BOUCLE_syndiczone>
      }}}
      se compile en:
      {{{
      SELECT syndic_articles.id_syndic_article, syndic_articles.id_syndic
      FROM Essai_syndic_articles AS `syndic_articles` 
          INNER JOIN Essai_mots_syndic AS L1 ON syndic_articles.id_syndic=L1.id_syndic
          INNER JOIN Essai_syndic AS L2 ON syndic_articles.id_syndic=L2.id_syndic
      WHERE (L1.id_mot = '233')
          AND (syndic_articles.statut = 'publie')
          AND (L2.statut = 'publie')
      GROUP BY syndic_articles.id_syndic_article,syndic_articles.id_syndic
      }}}
      avec des warnings supeflus en moins.
      9c14dd9f
  6. déc. 14, 2007
  7. déc. 06, 2007
  8. nov. 25, 2007
    • Fil's avatar
      renommage de tous les auteur_session en visiteur_session ; la variable... · 8b3ae333
      Fil a rédigé
      renommage de tous les auteur_session en visiteur_session ; la variable auteur_session n'est de nouveau activee que dans le cas ou la visite est authentifiee (ainsi on rebouche les eventuels trous de securite crees par les changements precedents) ; a noter, cette variable auteur_session est declaree obsolete (mais sera maintenue)
      8b3ae333
  9. nov. 07, 2007
    • esj's avatar
      Ne pas confondre id_groupe et id_rubrique dans EXPOSE (Pierre F.). Et une... · 2f02ec84
      esj a rédigé
      Ne pas confondre id_groupe et id_rubrique dans EXPOSE (Pierre F.). Et une bulle d'aide dans le débusqueur pour savoir qu'on peut effacer les numéros de lignes.
      2f02ec84
    • esj's avatar
      Suite de [10749]: permettre de faire disparaitre les numérotations de lignes... · 34b23b0e
      esj a rédigé
      Suite de [10749]: permettre de faire disparaitre les numérotations de lignes dans le débusqueur, quel que soit le texte affiché, ce qui permet en particulier de copier à la souris un squelette fabriqué dynamiquement. Ce code étant aussi utilisé par le validateur intégré, chargement explicite de jQuery dans le validateur pour éviter des erreurs JavaScript. Ces erreurs arrivent parfois aussi ailleurs de manière imprévisible, il y a qqch qui ne va pas qq part dans le chargement de jQuery.
      34b23b0e
  10. nov. 05, 2007
  11. nov. 04, 2007
  12. nov. 01, 2007
  13. oct. 29, 2007
    • Christian Lefebvre's avatar
      autodoc · 1674cdb9
      Christian Lefebvre a rédigé
      1674cdb9
    • esj's avatar
      Squelettes dynamiques introduits en [10645]: mettre aussi un formulaire de... · d2b163aa
      esj a rédigé
      Squelettes dynamiques introduits en [10645]: mettre aussi un formulaire de saisie par colonne, sinon les critères conditionnels ne sont pas devinables.
      d2b163aa
    • esj's avatar
      Extension du filtre '''parametre_url''': il est à présent possible de donner... · 58ed7e20
      esj a rédigé
      Extension du filtre '''parametre_url''': il est à présent possible de donner une liste de paramètres plutôt qu'un unique paramètre, ce qui évite d'écrire une succession d'appels à ce filtre lorsque l'on veut appliquer le même traitement à ces paramètres (en pratique c'est surtout la suppression). La syntaxe retenue est de les séparer par une barre '''|''', et ne rien mettre autour. Ainsi:
      {{{
      [(#SELF|parametre_url{"tri_n|_tri|_tri_n",""})]
      }}}
      élimine trois paramètres de l'URL courante s'ils s'y trouvent.
      
      Application aux squelettes dynamiques introduits en [10645]. Ceux ci ont de plus un lien vers le squelette produit, sous la forme d'un appel au débusqueur avec les paramètres idoines (pour ne pas effrayer les débutants avec la page d'accueil du débusqueur).
      58ed7e20
  14. oct. 22, 2007
  15. oct. 03, 2007
    • esj's avatar
      Complément à [10478]: la hiérarchie d'un id_mot est son id_groupe, c'est utile. · 5b5a1489
      esj a rédigé
      Tests:
      {{{
      <BOUCLE_principale (ARTICLES) {id_article}>
        <B_menu>
          <ul>
      	<BOUCLE_menu (ARTICLES) {id_rubrique}>
      	  <li>
      	    <a href="#URL_ARTICLE"[ style="(#_principale:EXPOSE{color: red})"]>#TITRE</a>
      	    <BOUCLE1(DOCUMENTS){id_article}>
      		<a href="#URL_DOCUMENT"[ style="(#_principale:EXPOSE{color: red})"]>
      	    		#TITRE
      	    	<a>
      	</BOUCLE1>
            </li>
            </BOUCLE_menu>
          </ul>
          </B_menu>
      <BOUCLE_menu2(RUBRIQUES)>
      	<div [style="(#_principale:EXPOSE{color: red})"]>#TITRE</div>
      </BOUCLE_menu2>
      </BOUCLE_principale>
      
      <BOUCLE1(MOTS){id_mot}>
      	<BOUCLE_groupes(GROUPES_MOTS) {par titre}>
      		<li>
      		[(#1:EXPOSE{<strong>,<a href="#URL_SITE_SPIP/spip.php?page=groupe[&groupe=(#ID_GROUPE)]">})]
      		#TITRE
      		[(#1:EXPOSE{</strong>,</a>})]
      		</li>
      	</BOUCLE_groupes>
      </BOUCLE1>
      }}}
      
      Et un peu de nettoyage dans les messages du débusqueur.
      5b5a1489
  16. sept. 26, 2007
    • esj's avatar
      #209: Ajout de l'instruction SQL Explain dans les fonctions d'abstraction. Ne... · 1cbbafa9
      esj a rédigé
      #209: Ajout de l'instruction SQL Explain dans les fonctions d'abstraction. Ne marche pas encore en Postgres. Utilisation immédiate dans le débusqueur de sorte que la présence de {{{var_profile}}} dans les paramètres d'URL donne à présent le résultat du Explain en plus du temps de requête, de son classement par durée et de son rang chronologique. Tableau un peu moins illisible mais toujours aussi moche.
      
      Comme dans [10131], [10146] et [10154] on rallonge la liste des fonctions d'abstraction de [10113]: 
      
      {{{
      	'explain' => fonction d'abstraction du plan de calcul d'un Select
      }}}
      1cbbafa9
  17. août 12, 2007
    • Christian Lefebvre's avatar
      autodoc · dda4d220
      Christian Lefebvre a rédigé
      dda4d220
    • esj's avatar
      Les fonctions '''spip_sql_trace_start''' '''spip_sql_trace_end'''... · 0eda0d2e
      esj a rédigé
      Les fonctions  '''spip_sql_trace_start''' '''spip_sql_trace_end''' '''spip_sql_timing''' quittent le fichier db_mysql.php pour aller dans debug.php sous les noms (respectivement): '''trace_query_start''' '''trace_query_end''' '''trace_query_chrono''' et servir à mesurer les différents portages de SPIP. La traduction des requêtes MySQL en Postgres étant actuellement a minima, la comparaison des performances est sans surprise mais ne veut pas dire grand chose pour le moment.
      0eda0d2e
  18. août 05, 2007
    • esj's avatar
      %#209: Une colonne dans la clause '''ORDER''' doit etre mis après le '''SELECT''' en Postgres. · 66e13f60
      esj a rédigé
      Neutralisation de la construction MySQL spécifique '''FIELD''' (avec '''HAVING''') pour permettre au squelette standard ''article'' de s'afficher sans erreur Postgres mais c'est insatisfaisant évidemment. 
      
      Modifs pour que le débusqueur puisse s'appliquer en cas d'erreur Postgres, mais là aussi c'est encore très bricolé tant il n'était pas prévu qu'il puisse s'appliquer à autre chose que MySQL.
      66e13f60
  19. juil. 04, 2007
  20. juil. 01, 2007
  21. juin 09, 2007
  22. juin 07, 2007
    • esj's avatar
      Suite de [9481]: le visualiseur des durées des requetes SQL est à présent... · 83da46a5
      esj a rédigé
      Suite de [9481]: le visualiseur des durées des requetes SQL est à présent opérationnel pour les requetes en Ajax, ce qui est plutot nécessaire puisque si ces requetes sont en Ajax, c'est souvent parce qu'elles utilisent justement des requetes SQL assez lentes. 
      
      Le mystère de l'opacité s'obscurcissant, le tableau des durées s'affiche finalement au bas de la page (ou du bloc Ajax) de l'espace privé, seul l'espace public continuant à fonctionner par transparence. Avec ce placement, le résultat reste XHTML strict, toutefois il apparait que le formulaire de téléchargement de documents ne l'est plus depuis un moment. Il faudrait aussi éliminer les name='formualaire' dans les scripts articles_edit etc; sont-ils encore utilisés (barre typo en particulier) ?
      83da46a5
  23. juin 06, 2007
    • Christian Lefebvre's avatar
      autodoc · c77e567f
      Christian Lefebvre a rédigé
      c77e567f
    • esj's avatar
      Un petit visualiseur des temps de calculs des requetes SQL. Existait en fait... · 07e7b7a8
      esj a rédigé
      Un petit visualiseur des temps de calculs des requetes SQL. Existait en fait depuis longtemps mais n'avait pas suivi la nouvelle mise en page et était du coup illible. C'est à présent le cas pour l'espace public, pour l'espace privé il y a un conflit d'opacité dans les feuilles de style qu'il faut tirer au clair (ou plutot au foncé). En prime, il classe par durée décroissante.
      07e7b7a8
  24. avr. 21, 2007
  25. avr. 03, 2007
  26. mars 30, 2007
    • esj's avatar
      Mortel le caractere de code ASCII 1 inséré entre < et ?xml par [7970]: ça... · 17b64663
      esj a rédigé
      Mortel le caractere de code ASCII 1 inséré entre < et ?xml par [7970]: ça bloquait la validation apparamment sans raison. J'ai contourné, mais faudrait vraiment trouver comment faire ça moins salement. 
      
      Bon, après levée de ce verrou il apparait que les espaces de nom implicites de XML commencent à etre compris du validateur, pour les explicites (svg:svg) c'est pas encore ça. Par ailleurs, il y a un controle qui n'a jamais été fait c'est de verifier qu'une balise admet du texte non vide comme fils, c'est à rajouter. 
      
      En revanche à présent la numérotation des lignes tient compte de ce que le Doctype peut s'étendre sur plusieurs lignes et etre précédé de commentaires (a vérifier avec le transAxuel PHP5). Et le compilateur de DTD n'éliminait pas certains espaces superflus dans une DTD qui, dans le DOCTYPE xhtml+mathml+svg lui faisait produire une mauvaise RegExp, c'est corrigé.
      
      17b64663
  27. mars 05, 2007
    • Fil's avatar
      introduction de la notation <INCLURE{fond=truc}{env}> qui passe tout... · 0b59ea67
      Fil a rédigé
      introduction de la notation <INCLURE{fond=truc}{env}> qui passe tout l'environnement de la page incluante a la page incluse ; au passage j'ai nettoye plusieurs facilites dans le debugueur, la pagination etc, qui devenaient des bugs si on creusait un peu (notamment : avec #INCLURE le contexte affiche par le debugueur etait celui de la page incluante)
      0b59ea67
  28. fév. 21, 2007
  29. fév. 11, 2007
    • esj's avatar
      En remplacement du bouton disparu en [8319], le validateur de Spip est... · b69076e3
      esj a rédigé
      En remplacement du bouton disparu en [8319], le validateur de Spip est appelable par un script assez semblable au script de recherche: valider_xml. Afin de conserver une unité graphique et améliorer l'ergonomie, le résultat de la validation est présenté sous le bandeau habituel de l'espace privé, avec une zone de saisie pour redemander la validation au besoin, après correction. Il suffit alors de donner le nom du script (accueil, admin_tech etc) ou l'URL complète http:... etc si l'on veut mettre des paramètres d'URL.
      
      C'est moins ergonomique que le bouton, mais ça a comme conséquence que ce script est applicable à n'importe quelle page Web, pas seulement celles créées par le site. Télécharger Spip 1.9.2, le validateur XML avec CMS intégré ;-).
      
      b69076e3
  30. fév. 04, 2007
  31. jan. 26, 2007
    • esj's avatar
      Simplification de [8515] pour la validation des fragments Ajax: la variable... · c4e24809
      esj a rédigé
      Simplification de [8515] pour la validation des fragments Ajax: la variable '''ajax_xml''' est finalement redondante avec '''transformer_xml''': la fonction '''ajax_retour''' appelera le validateur si '''transformer_xml''' a comme valeur '''valider_xml'''. Et il n'est pas nécessaire de mettre toute l'en-tete standard de SPIP pour tester le corps du script Ajax, un Header minimal suffit, c'est plus lisible. Enfin, ne pas oublier que beaucoup de script sont à la fois Ajax et non Ajax, '''ajax_retour''' étant appelée si '''var_ajaxcharset''' figure dans l'URL.
      c4e24809
Chargement en cours