Skip to content
Extraits de code Groupes Projets
  1. déc. 16, 2010
    • cerdic's avatar
      documentation de IterEnum, et utilisation de pos/total en conformite avec Iter · 37876a4c
      cerdic a rédigé
      Suppression de seek(), la methode parent fait cela tres bien (et avec moins de bug)
      37876a4c
    • cerdic's avatar
      Documentation des iterateurs Iter et IterSQL · 079e1d19
      cerdic a rédigé
      Utiliser protected plutot que private, pour permettre des surcharges eventuelles
      proteger les 3 proprietes de Iter, qui ne doivent pas etre accedees en direct
      Ajout des proprietes pos et total qui memorisent la position courant et le nombre total de resultat
      Implementations par defaut dans Iter, qui gerent la mise a jour de pos et total
      Debog de la methode seek() de IterSQL qui ne prenait pas en compte correctement le saut
      079e1d19
    • cerdic's avatar
      Report de r16745 · 850075fa
      cerdic a rédigé
      850075fa
    • Fil's avatar
      reecriture de tous les iterateurs sur le mode de la class Iterator de PHP · 084372dc
      Fil a rédigé
      http://php.net/manual/fr/class.iterator.php
      
      il devient possible de faire :
      
      {{{
      <?php
      $s = new IterSQL(
      
      array (
          'select' => 
          array (
            0 => 'articles.date',
            1 => 'articles.id_article',
            2 => 'articles.id_rubrique',
            3 => 'articles.titre',
            5 => 'articles.descriptif',
            6 => 'articles.chapo',
            7 => 'articles.lang',
          ),
          'from' => 
          array (
            'articles' => 'spip_articles',
          ),
          'type' => 
          array (
          ),
          'where' => 
          array (
            0 => 
            array (
              0 => '=',
              1 => 'articles.statut',
              2 => '\'publie\'',
            ),
            1 => '1=1',
          ),
          'join' => 
          array (
          ),
          'groupby' => 
          array (
          ),
          'orderby' => 
          array (
            0 => 'articles.date DESC',
          ),
          'limit' => '0,1',
          'having' => 
          array (
          ),
          'table' => 'articles',
          'id' => '_articles_recents',
          'connect' => '',
        )
      
      );
      
      foreach ($s as $k=>$v) {
      	var_dump($v);
      }
      
      ?>
      }}}
      
      mais aussi :
      
      {{{
      <?php
      
      $s = new IterDATA(
      	array (
      	'source' => 'http://rezo.net/backend/',
      	'sourcemode' => 'rss'
        )
      );
      
      foreach ($s as $k=>$v) {
      	var_dump($v);
      }
      
      ?>
      }}}
      084372dc
  2. déc. 15, 2010
    • cerdic's avatar
      attention : · 403a3446
      cerdic a rédigé
      modificateur['criteres']['statut'] mais modificateur['tout'] (idem pour plat ou lien)
      403a3446
    • cerdic's avatar
    • cerdic's avatar
      Passer la gestion derogatoire du filtrage des boucle par le statut en mode declaratif, · 631075c4
      cerdic a rédigé
       via la globale table_statut :
       
       	$table_statut[nom_table][] = array(
      		'champ'=>'statut',  // champ de la table sur lequel porte le filtrage par le statut
      		'publie'=>'publie', // valeur ou liste de valeurs, qui definissent l'objet comme publie.
      		'previsu'=>'publie,prop', // valeur ou liste de valeurs qui sont visibles en previsu
      		'post_date'=>'date', // un champ de date pour la prise en compte des post_dates, ou rien sinon
      	  'exception'=>'statut', // liste des modificateurs qui annulent le filtrage par statut
      	                         // si plusieurs valeurs : array('statut','tout','lien')
      	);
      
      	Pour 'publier' ou 'previsu', si la chaine commence par un "!" on exclu au lieu de filtrer sur les valeurs donnees
      	si la chaine est vide, on ne garde rien si elle est seulement "!" on n'exclu rien
      
      	Si le statut repose sur une jointure, 'champ' est alors un tableau du format suivant :
      	'champ'=>array(
      	    array(table1, cle1),
      	    ...
      	    array(tablen, clen),
      	    champstatut
      	 )
      
      	champstatut est alors le champ statut sur la 'tablen'
      	dans les jointures, 'clen' peut etre un tableau pour une jointure complexe : array('id_objet','id_article','objet','article')
      		
      On evacue le codes des boucles sur les tables articles, auteurs, et rubriques.
      La table documents est en sursis, son cas est deja regle dans le plugin mediatheque
      631075c4
    • cerdic's avatar
      indentation et commentaire · af12ac2d
      cerdic a rédigé
      af12ac2d
    • Fil's avatar
      87132189
    • Fil's avatar
  3. déc. 14, 2010
  4. déc. 13, 2010
  5. déc. 12, 2010
    • davux's avatar
      Revert de r16681 · c5e34504
      davux a rédigé
      Comme le fait remarquer Cédric, certains plugins ont déjà pris en
      compte que la dev actuelle s'appellera 2.3 dans leurs dépendances.
      Si elle sort en 2.2, ils ne seront pas contents.
      
      Revenons donc à 2.3 pour la future stable issue du tronc.
      c5e34504
    • davux's avatar
      La prochaine sera bien une 2.2 · e154b572
      davux a rédigé
      Suite à r16666, la prochaine branche stable sera spip-2.2.
      e154b572
    • salvatore's avatar
      langues (spip) · d7a760ce
      salvatore a rédigé
      d7a760ce
    • salvatore's avatar
      langues (ecrire) · eb431b5a
      salvatore a rédigé
      eb431b5a
    • salvatore's avatar
      langues (spip) · 71737eea
      salvatore a rédigé
      71737eea
    • Fil's avatar
    • Fil's avatar
      petits details · 609769c0
      Fil a rédigé
      609769c0
    • Fil's avatar
      · 4cbf2cfb
      Fil a rédigé
      critere {{{ {datasource #ARRAY, table} }}} pour la boucle (DATA).
      Exemple:
      {{{    <BOUCLE_y(DATA){datasource #CONFIG**,table}{valeur>0}{cle==version}> }}}
      4cbf2cfb
    • Fil's avatar
      les boucles ENUM et DATA arrivent : · 02600a4a
      Fil a rédigé
      Boucle POUR:
      ============
      
      <BOUCLE_x(POUR){tableau=#CONFIG**}{valeur>0}{cle==version}>
      
      
      Boucle DATA:
      ============
      
      <BOUCLE_r(DATA){datasource http://localhost/spip/?page=backend, rss}>
      <BOUCLE_r1(DATA){datasource http://localhost/spip/rien.json, json}> <BOUCLE_r2(DATA){datasource http://localhost/spip/rien.yaml, yaml}{pagination 5}>
      <BOUCLE_r3(DATA){datasource TEST.CSV, csv}{valeur==France}>
      
      
      Boucle ENUM:
      ============
      
      [(#REM)
      	Echiquier
      ]<B_z>
      	<table>
      	<BOUCLE_z(ENUM){1,8}>
      	<tr>
      	<BOUCLE_y(ENUM){1,8}>
      		<td>
      		[(#_z:VALEUR|plus{64}|chr)]#VALEUR
      		</td>
      	</BOUCLE_y>
      	</tr>
      	</BOUCLE_z>
      	</table>
      </B_z>
      
      
      [(#REM)
      	Une pagination qui va jusqu'au max possible
      ]<B_a>
      [<p class="pagination">(#PAGINATION)</p>]
      <BOUCLE_a(ENUM){pagination 10}>
      #VALEUR
      </BOUCLE_a>
      
      
      
      
      02600a4a
  6. déc. 11, 2010
Chargement en cours