- avr. 17, 2008
- avr. 16, 2008
- avr. 15, 2008
- avr. 14, 2008
- avr. 13, 2008
- avr. 12, 2008
-
-
esj a rédigé
Suite de [11441]: ne pas fermer la connexion dans la fonction recuperer_entetes en cas de status <> 200: la persistence peut rester utilie.
-
Fil a rédigé
-
Fil a rédigé
gerer les NULL et les extra dans le controle md5 ; et, quand on peut vider le champ extra, on le fait
-
Fil a rédigé
gestion d'un controle md5() des champs modifies via l'espace prive sur les articles, rubriques, breves, mots-cles, auteurs et sites. Le scenario est le suivant : supposons que Alice et Bob ouvrent en meme temps le meme article en edition ; ensuite chacun renvoie ses modifs. Les situations sont diverses : - Alice a modifie le titre, Bob le texte : on accepte les deux modifs, le titre de Bob (inchange) n'ecrase pas le titre d'Alice - Alice modifie le titre, Bob aussi : -- ils ont mis le meme titre => pas de probleme -- le titre differe => on previent Bob, on lui montre son titre, celui qui est stocke' dans la base, la difference entre les deux, et un formulaire pour copier/coller ses modifs Ces choses sont traitees champ par champ independamment : ainsi s'il y a conflit sur le titre mais pas sur le chapo, le chapo est enregistre, et le message d'erreur ne porte que sur le titre C'est, evidemment, compatible avec les crayons
-
esj a rédigé
Ajouts d'arguments optionnels à la fonction http_init, afin de pouvoir l'utiliser en HTTP/1.1 avec connexions persistentes (sous réserve que KeepAlive soit à On dans le httpd.conf du serveur visé). Redécoupage fonctionnels des fonctions qui l'appellent afin de pouvoir réutiliser leur boulot dans ce contexte un peu différent du HTTP/1.0 utilisé par SPIP pour récupérer une page unique (ce qui est normal).
-
marcimat a rédigé
(et correction d'un petit bup pg sur sql_showtable) - Introduction de 3 fonctions : * sql_get_select() : qui reprend les mêmes arguments que sql_select() mais retourne la syntaxe de la requete sans l'executer * sql_create_view($nom, $requete_select) : crée une vue nommée $nom avec la selection $requete_select * sql_drop_view($nom) : supprime une vue - Attention, comme déjà signalé, si dans une selection il y a un champ préfixé d'un nom de table ou d'un alias : a.titre, il faut absolument lui donner un nom, sinon SQLite ne peut pas relire le champ (stocké 'a.titre' et non 'titre' dans sa vue). Dans ce cas faire : a.titre AS titre . - exemple inutile : $sel = sql_get_select(array('id_article'=>'id_article', 'titre'=>'titre'),'spip_articles'); echo "requete select : $sel<br />"; sql_create_view('vue_nom', $sel); if ($res = sql_select(array('id_article', 'titre'),'vue_nom','','','','10')){ while ($r = sql_fetch($res)){ echo "*" . $r['id_article'] . " - " . $r['titre'] . "<br />"; } } sql_drop_view('vue_nom');
-
marcimat a rédigé
-
marcimat a rédigé
Attention, il faut que les vues soient créées avec des champs nommés explicitement, sinon SQlite ne peut pas les relire avec : SELECT titre FROM vue Il faut donc, pour l'exemple de Fil, utiliser cette requete pour fonctionner avec sqlite : CREATE VIEW vue AS SELECT a.titre AS titre,a.id_article AS id_article,b.id_rubrique AS id_rubrique, b.titre AS titre_rub FROM spip_articles AS a LEFT JOIN spip_rubriques AS b ON (a.id_rubrique=b.id_rubrique) <BOUCLE_v(vue)>#TITRE </BOUCLE_v> ---- Par ailleurs, un plantage est présent en sqlite3 si l'on fait un sql_query() de la requete précédente de creation de la vue; elle est bien executée, mais à cause d'un hack pour retrouver les bons comptes (sql_count) des requetes selects, il y a un clash juste derrière. A corriger donc une nouvelle fois : cette requete n'est pas un select !
-
- avr. 11, 2008
-
-
Fil a rédigé
nouveaux filtres logiques, compiles directement : et,ou,xou,non (and,r,xor,not), et sinon (cf. aussi tests/filtres/logique.html)
-
Fil a rédigé
-
Fil a rédigé
exemple : create view v AS SELECT a.titre,a.id_article,b.id_rubrique,b.titre AS titre_rub FROM spip_articles AS a LEFT JOIN spip_rubriques AS b ON (a.id_rubrique=b.id_rubrique); <BOUCLE_n(V)> <div>#TITRE/#TITRE_RUB</div> </BOUCLE_n>
-
marcimat a rédigé
Pg ne semblait pas apprécier le left join dans la requete update, SQLite les 'nom_table' AS 'x' non plus ici.
-
cerdic a rédigé
-
cerdic a rédigé
-
Fil a rédigé
reparer le champ spip_mots.type en veilant a ce qu'il contienne bien le titre du groupe de mots correspondant
-
marcimat a rédigé
-
Fil a rédigé
corrige le probleme des fonctions d'urls non definies si l'on fait {{{ propre(<doc1>) }}} ; en fait c'etait le fichier d'urls propres-qs qui n'incluait pas systematiquement propres.php (merci cedric)
-
- avr. 10, 2008
-
-
Fil a rédigé
-
cerdic a rédigé
-
Fil a rédigé
corriger convenablement #1313, c'est-a-dire sans casser la compliance XHTML des liens {{{ [<img2>->URL] }}}, cf. #69 et [11424] et bien d'autres commits :-/
-
cerdic a rédigé
-
cerdic a rédigé
-
cerdic a rédigé
"les versions anterieures de spip permettaient de declarer des tables non prefixeees dans tables_principales (seules les tables prefixees etant alors declarees dans table_des_tables) Retablir cette possibilite. Au passage, attention a PHP4 qui fait par defaut des allocations par copie et non par pointeur, ce qui provoquait une requete show_table a chaque appel de la fonction pour la meme table"
-