- déc. 16, 2010
-
-
cerdic a rédigé
Suppression de seek(), la methode parent fait cela tres bien (et avec moins de bug)
-
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
-
cerdic a rédigé
-
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); } ?> }}}
-
- déc. 15, 2010
-
-
cerdic a rédigé
modificateur['criteres']['statut'] mais modificateur['tout'] (idem pour plat ou lien)
-
cerdic a rédigé
-
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
-
cerdic a rédigé
-
Fil a rédigé
-
Fil a rédigé
-
- déc. 14, 2010
-
-
cerdic a rédigé
Permet a un critere d'injecter une clause group dynamique, evaluee au calcul, qui rendra '' si pas de group a faire.
-
- déc. 13, 2010
-
-
davux a rédigé
-
Fil a rédigé
-
Fil a rédigé
une {{{ {datasource,plugins} }}} vite fait (n'offre pas de critere pour les plugins pas actifs)... qui veut faire mieux... {{{ <BOUCLE_r5(DATA){datasource , plugins}{pagination 7}> <dt>#CLE</dt> <dd> [(#VALEUR|var_export{1})] </dd> </BOUCLE_r5> }}}
-
http://core.spip.org/trac/spip/changeset/aa0a47bcerdic a rédigé
Il subsiste un defaut : seuls les criteres present avant le {recherche} sont pris en compte dans la recherche. A ameliorer si possible.
-
Fil a rédigé
recherche generique d'un filtre sur la datasource, grace a charger_fonction() ; pour feter ca, un filtre 'file' qui lit un fichier ligne a ligne
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
-
- déc. 12, 2010
-
-
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.
-
davux a rédigé
Suite à r16666, la prochaine branche stable sera spip-2.2.
-
salvatore a rédigé
-
salvatore a rédigé
-
salvatore a rédigé
-
Fil a rédigé
-
Fil a rédigé
-
Fil a rédigé
critere {{{ {datasource #ARRAY, table} }}} pour la boucle (DATA). Exemple: {{{ <BOUCLE_y(DATA){datasource #CONFIG**,table}{valeur>0}{cle==version}> }}}
-
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>
-
- déc. 11, 2010
-
-
Fil a rédigé
un peu de nettoyage et un debut de boucle POUR definie sous forme d'iterateur ; ce que je ne vois pas encore bien comment structurer, c'est la possibilite d'aller chercher un iterateur dans un plugin
-
Fil a rédigé
-
davux a rédigé
En l'absence d'opposition suite à la proposition[1] faite sur spip-dev, le DOCTYPE de l'espace privé passe à <!DOCTYPE html>. La question de la validité (mais qui ne semblait gêner que moi de toute façon donc ça va) n'en est pas vraiment une, car : - Avec l'ancien DOCTYPE, le code n'était déjà pas totalement valide, ce qui ne semblait contrarier personne, dans la mesure où le rendu était néanmoins correct dans tous les navigateurs. - Pour corriger la validité, il faudrait plutôt corriger le code que revenir à un DOCTYPE antérieur, d'autant plus que les éléments maintenant obsolètes étaient déjà dépréciés avec le DOCTYPE antérieur, donc on n'a aucune excuse. [1] http://permalink.gmane.org/gmane.comp.web.spip.devel/58084
-