diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php index 257e3688889d6b543f99a7dad1c165253f1e7bf8..feb7e62f779734f4b84a25c95b6d11460f6a8f09 100644 --- a/ecrire/exec/accueil.php +++ b/ecrire/exec/accueil.php @@ -36,19 +36,19 @@ else // -afficher_articles(_T('info_articles_proposes'), "WHERE statut='prop'$vos_articles ORDER BY date DESC"); + afficher_articles(_T('info_articles_proposes'), array("WHERE" => "statut='prop'$vos_articles", 'ORDER BY' => "date DESC")); // // Les breves a valider // -afficher_breves(afficher_plus(generer_url_ecrire('breves'))._T('info_breves_valider'), "SELECT * FROM spip_breves WHERE statut='prepa' OR statut='prop' ORDER BY date_heure DESC", true); + afficher_breves(afficher_plus(generer_url_ecrire('breves'))._T('info_breves_valider'), array("FROM" => 'spip_breves', 'WHERE' => "statut='prepa' OR statut='prop'", 'ORDER BY' => "date_heure DESC"), true); // // Les sites references a valider // if (afficher_plus(generer_url_ecrire('sites_tous')).$GLOBALS['meta']['activer_syndic'] != 'non') { include_spip('inc/sites_voir'); - afficher_sites(afficher_plus(generer_url_ecrire('sites_tous'))._T('info_site_valider'), "SELECT * FROM spip_syndic WHERE statut='prop' ORDER BY nom_site"); + afficher_sites(afficher_plus(generer_url_ecrire('sites_tous'))._T('info_site_valider'), array("FROM" => 'spip_syndic', 'WHERE' => "statut='prop'", 'ORDER BY'=> "nom_site")); } // @@ -56,7 +56,7 @@ if (afficher_plus(generer_url_ecrire('sites_tous')).$GLOBALS['meta']['activer_sy // if ($GLOBALS['meta']['activer_syndic'] != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { include_spip('inc/sites_voir'); - afficher_sites(afficher_plus(generer_url_ecrire('sites_tous'))._T('avis_sites_syndiques_probleme'), "SELECT * FROM spip_syndic WHERE (syndication='off' OR syndication='sus') AND statut='publie' ORDER BY nom_site"); + afficher_sites(afficher_plus(generer_url_ecrire('sites_tous'))._T('avis_sites_syndiques_probleme'), array('FROM' => 'spip_syndic', 'WHERE' => "(syndication='off' OR syndication='sus') AND statut='publie'", 'ORDER BY' => 'nom_site')); } // Les articles syndiques en attente de validation @@ -451,7 +451,7 @@ $post_dates = $GLOBALS['meta']["post_dates"]; if ($post_dates == "non" AND $connect_statut == '0minirezo' AND $options == 'avancees') { echo "<p>"; - afficher_articles(_T('info_article_a_paraitre'), "WHERE statut='publie' AND date>NOW() ORDER BY date"); + afficher_articles(_T('info_article_a_paraitre'), array("WHERE" => "statut='publie' AND date>NOW()", 'ORDER BY' => "date")); } // @@ -459,7 +459,7 @@ if ($post_dates == "non" AND $connect_statut == '0minirezo' AND $options == 'ava // echo "<p>"; -$vos_articles = afficher_articles(afficher_plus(generer_url_ecrire('articles_page'))._T('info_en_cours_validation'), ", spip_auteurs_articles AS lien WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC"); + $vos_articles = afficher_articles(afficher_plus(generer_url_ecrire('articles_page'))._T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", "ORDER BY" => "articles.date DESC")); if ($vos_articles) $vos_articles = ' AND articles.id_article NOT IN ('.join($vos_articles,',').')'; diff --git a/ecrire/exec/articles_page.php b/ecrire/exec/articles_page.php index fa1720c35b33eede1fa35b6dac7a3fa0f56271ca..d5506c93e9b3fbe99ddd70707d70e0c954df44a3 100644 --- a/ecrire/exec/articles_page.php +++ b/ecrire/exec/articles_page.php @@ -49,7 +49,7 @@ debut_droite(); // echo "<P align=left>"; -afficher_articles(_T('info_en_cours_validation'), ", spip_auteurs_articles AS lien ". "WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC"); + afficher_articles(_T('info_en_cours_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa'", 'ORDER BY' => "articles.date DESC")); echo "</p>"; @@ -59,7 +59,7 @@ echo "</p>"; // echo "<p>"; -afficher_articles(_T('info_attente_validation'), ", spip_auteurs_articles AS lien ". "WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop' ORDER BY articles.date"); + afficher_articles(_T('info_attente_validation'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prop'", "ORDER BY" => "articles.date")); echo "</p>"; // @@ -67,7 +67,7 @@ echo "</p>"; // echo "<p>"; -afficher_articles(_T('info_publies'), ", spip_auteurs_articles AS lien ". "WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='publie' ORDER BY articles.date DESC", true); + afficher_articles(_T('info_publies'), array("FROM" =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='publie'", 'ORDER BY' => "articles.date DESC"), true); echo "</p>"; // @@ -75,7 +75,7 @@ echo "</p>"; // echo "<p>"; -afficher_articles(_T('info_refuses'), ", spip_auteurs_articles AS lien ". "WHERE articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='refuse' ORDER BY articles.date DESC"); + afficher_articles(_T('info_refuses'), array('FROM' =>"spip_articles AS articles, spip_auteurs_articles AS lien ", "WHERE" => "articles.id_article=lien.id_article AND lien.id_auteur=\"$connect_id_auteur\" AND articles.statut='refuse'", 'ORDER BY' => "articles.date DESC")); echo "</p>"; fin_page(); diff --git a/ecrire/exec/auteurs_edit.php b/ecrire/exec/auteurs_edit.php index 9a5031724bc4268855422ea5ecb1e47da82776f0..c80e4b80f77327cbcca88f272a068989f3cffe73 100644 --- a/ecrire/exec/auteurs_edit.php +++ b/ecrire/exec/auteurs_edit.php @@ -116,7 +116,7 @@ function table_auteurs_edit($auteur) else if ($connect_id_auteur == $id_auteur) $aff_art = "'prepa','prop','publie'"; else $aff_art = "'prop','publie'"; - afficher_articles(_T('info_articles_auteur'), ", spip_auteurs_articles AS lien WHERE lien.id_auteur='$id_auteur' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_art) ORDER BY articles.date DESC", true); + afficher_articles(_T('info_articles_auteur'), array('FROM' => "spip_articles AS articles, spip_auteurs_articles AS lien", "WHERE" => "lien.id_auteur='$id_auteur' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_art)", 'ORDER BY' => "articles.date DESC"), true); if ($id_auteur != $connect_id_auteur AND ($statut == '0minirezo' OR $statut == '1comite')) { diff --git a/ecrire/exec/breves.php b/ecrire/exec/breves.php index 620e21852baa32ec3613c494f57c32eb3bf9b58e..ee3f44201274ab6b9e8108c4cc1475897815baa9 100644 --- a/ecrire/exec/breves.php +++ b/ecrire/exec/breves.php @@ -37,7 +37,8 @@ function exec_breves_dist() $statuts = "'prop', 'publie'" . ($editatble ? ", 'refuse'": ""); debut_cadre_enfonce("secteur-24.gif", false, '', $titre.aide ("breves")); - afficher_breves('', "SELECT id_rubrique, id_breve, date_heure, titre, statut FROM spip_breves WHERE id_rubrique='$id_rubrique' AND statut IN ($statuts) ORDER BY date_heure DESC"); + + afficher_breves('', array("SELECT" => 'id_rubrique, id_breve, date_heure, titre, statut', "FROM" => 'spip_breves', 'WHERE' => "id_rubrique='$id_rubrique' AND statut IN ($statuts)", 'ORDER BY' => "date_heure DESC")); if ($editable) { echo "<div align='$spip_lang_right'>"; diff --git a/ecrire/exec/mots_edit.php b/ecrire/exec/mots_edit.php index a5e7e11b0b61b3c9af8d88c15be2f326242716b2..b9ea9e5bfcdf26d966ad2f6231bb9837c2f0b98f 100644 --- a/ecrire/exec/mots_edit.php +++ b/ecrire/exec/mots_edit.php @@ -208,14 +208,14 @@ if ($id_mot) { else $aff_articles = "'prop','publie'"; - afficher_rubriques(_T('info_rubriques_liees_mot'), "SELECT rubrique.* FROM spip_rubriques AS rubrique, spip_mots_rubriques AS lien WHERE lien.id_mot='$id_mot' AND lien.id_rubrique=rubrique.id_rubrique ORDER BY rubrique.titre"); + afficher_rubriques(_T('info_rubriques_liees_mot'), array("FROM" => 'spip_rubriques AS rubrique, spip_mots_rubriques AS lien', 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_rubrique=rubrique.id_rubrique", 'ORDER BY' => "rubrique.titre")); - afficher_articles(_T('info_articles_lies_mot'), ", spip_mots_articles AS lien WHERE lien.id_mot='$id_mot' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles) ORDER BY articles.date DESC", true); + afficher_articles(_T('info_articles_lies_mot'), array('FROM' => "spip_articles AS articles, spip_mots_articles AS lien", 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_article=articles.id_article AND articles.statut IN ($aff_articles)", 'ORDER BY' => "articles.date DESC"), true); - afficher_breves(_T('info_breves_liees_mot'), "SELECT breves.* FROM spip_breves AS breves, spip_mots_breves AS lien WHERE lien.id_mot='$id_mot' AND lien.id_breve=breves.id_breve ORDER BY breves.date_heure DESC"); + afficher_breves(_T('info_breves_liees_mot'), array("FROM" => 'spip_breves AS breves, spip_mots_breves AS lien', 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_breve=breves.id_breve", 'ORDER BY' => "breves.date_heure DESC")); include_spip('inc/sites_voir'); - afficher_sites(_T('info_sites_lies_mot'), "SELECT syndic.* FROM spip_syndic AS syndic, spip_mots_syndic AS lien WHERE lien.id_mot='$id_mot' AND lien.id_syndic=syndic.id_syndic ORDER BY syndic.nom_site DESC"); + afficher_sites(_T('info_sites_lies_mot'), array("FROM" => 'spip_syndic AS syndic, spip_mots_syndic AS lien', 'WHERE' => "lien.id_mot='$id_mot' AND lien.id_syndic=syndic.id_syndic", 'ORDER BY' => "syndic.nom_site DESC")); } fin_cadre_relief(); diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php index 8527411ff066977925c494422bb2bccaa8e047eb..3764401c27034e62e150bb1a4877b9d11202813c 100644 --- a/ecrire/exec/naviguer.php +++ b/ecrire/exec/naviguer.php @@ -299,12 +299,12 @@ if ($relief) { // // Les articles a valider // - afficher_articles(_T('info_articles_proposes'), "WHERE id_rubrique='$id_rubrique' AND statut='prop' ORDER BY date DESC"); + afficher_articles(_T('info_articles_proposes'), array('WHERE' => "id_rubrique='$id_rubrique' AND statut='prop'", 'ORDER BY' => "date DESC")); // // Les breves a valider // - afficher_breves(_T('info_breves_valider'), "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop') ORDER BY date_heure DESC", true); + afficher_breves(_T('info_breves_valider'), array("FROM" => 'spip_breves', 'WHERE' => "id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop')", 'ORDER BY' => "date_heure DESC"), true); // @@ -312,7 +312,7 @@ if ($relief) { // if ($GLOBALS['meta']['activer_syndic'] != 'non') { include_spip('inc/sites_voir'); - afficher_sites(_T('info_site_valider'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut='prop' ORDER BY nom_site"); + afficher_sites(_T('info_site_valider'), array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique='$id_rubrique' AND statut='prop'", 'ORDER BY' => "nom_site")); } // @@ -320,7 +320,7 @@ if ($relief) { // if ($GLOBALS['meta']['activer_syndic'] != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { include_spip('inc/sites_voir'); - afficher_sites(_T('avis_sites_syndiques_probleme'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') AND statut='publie' ORDER BY nom_site"); + afficher_sites(_T('avis_sites_syndiques_probleme'), array('FROM' => 'spip_syndic', 'WHERE' => "id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') AND statut='publie'", 'ORDER BY' => "nom_site")); } // Les articles syndiques en attente de validation @@ -346,14 +346,14 @@ if ($relief) { ///////////////////////// if ($connect_statut == "0minirezo" AND $options == 'avancees') { - afficher_articles(_T('info_tous_articles_en_redaction'), "WHERE statut='prepa' AND id_rubrique='$id_rubrique' ORDER BY date DESC"); + afficher_articles(_T('info_tous_articles_en_redaction'), array("WHERE" => "statut='prepa' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC")); } ////////// Les articles publies ///////////////////////// - afficher_articles(_T('info_tous_articles_presents'), "WHERE statut='publie' AND id_rubrique='$id_rubrique' ORDER BY date DESC", true); + afficher_articles(_T('info_tous_articles_presents'), array("WHERE" => "statut='publie' AND id_rubrique='$id_rubrique'", 'ORDER BY' => "date DESC"), true); @@ -365,7 +365,7 @@ if ($relief) { //// Les breves - afficher_breves(_T('icone_ecrire_nouvel_article'), "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND statut != 'prop' AND statut != 'prepa' ORDER BY date_heure DESC"); + afficher_breves(_T('icone_ecrire_nouvel_article'), array("FROM" => 'spip_breves', 'WHERE' => "id_rubrique='$id_rubrique' AND statut != 'prop' AND statut != 'prepa'", 'ORDER BY' => "date_heure DESC")); $activer_breves=$GLOBALS['meta']["activer_breves"]; @@ -379,7 +379,7 @@ if ($relief) { if ($GLOBALS['meta']["activer_sites"] == 'oui') { include_spip('inc/sites_voir'); - afficher_sites(_T('titre_sites_references_rubrique'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus') ORDER BY nom_site"); + afficher_sites(_T('titre_sites_references_rubrique'), array("FROM" => 'spip_syndic', 'WHERE' => "id_rubrique='$id_rubrique' AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus')", 'ORDER BY' => 'nom_site')); if ($id_rubrique > 0 AND ($flag_editable OR $GLOBALS['meta']["proposer_sites"]> 0)) { diff --git a/ecrire/exec/recherche.php b/ecrire/exec/recherche.php index 1aa12dd532e560c3579fbaa331f8e390d62f3b34..386cc0f4f1c821d255c447d616aab52f31c61ac2 100644 --- a/ecrire/exec/recherche.php +++ b/ecrire/exec/recherche.php @@ -45,37 +45,33 @@ function exec_recherche_dist() echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'><B>"._T('info_resultat_recherche')."</B><BR>"; echo "<FONT SIZE=5 COLOR='$couleur_foncee'><B>$recherche</B></FONT><p>"; - $query_articles = "SELECT * FROM spip_articles WHERE"; - $query_breves = "SELECT * FROM spip_breves WHERE "; - $query_rubriques = "SELECT * FROM spip_rubriques WHERE "; - $query_sites = "SELECT * FROM spip_syndic WHERE "; - - if (ereg("^[0-9]+$", $recherche)) { - $query_articles .= " (id_article = $recherche) OR "; - $query_breves .= " (id_breve = $recherche) OR "; - $query_rubriques .= " (id_rubrique = $recherche) OR "; - $query_sites .= " (id_syndic = $recherche) OR "; - } - + $query_articles['FROM'] = 'spip_articles AS articles'; + $query_breves['FROM'] = 'spip_breves'; + $query_rubriques['FROM'] = 'spip_rubriques'; + $query_sites['FROM'] = 'spip_syndic'; + $testnum = ereg("^[0-9]+$", $recherche); + // Eviter les symboles '%', caracteres SQL speciaux - $recherche = str_replace("%","\%",$recherche); - $rech2 = split("[[:space:]]+", $recherche); - if ($rech2) - $where = " (titre LIKE '%".join("%' AND titre LIKE '%", $rech2)."%') "; - else - $where = " 1=2"; - - $query_articles .= " $where ORDER BY date_modif DESC"; - $query_breves .= " $where ORDER BY maj DESC"; - $query_rubriques .= " $where ORDER BY maj DESC"; - - $query_sites .= " $where ORDER BY maj DESC"; - $query_sites = ereg_replace("titre LIKE", "nom_site LIKE", $query_sites); + $recherche1 = str_replace("%","\%",$recherche); + $where = split("[[:space:]]+", $recherche1); + if ($where) + $where = ($testnum ? "OR " : '') . + "(titre LIKE '%".join("%' AND titre LIKE '%", $where)."%') "; + $query_articles['WHERE']= ($testnum ? "(id_article = $recherche)" :'') . $where; + $query_breves['WHERE']= ($testnum ? "(id_breve = $recherche)" : '') . $where; + $query_rubriques['WHERE']= ($testnum ? "(id_rubrique = $recherche)" : '') . $where; + $query_sites['WHERE']= ($testnum ? "(id_syndic = $recherche)" : '') . ereg_replace("titre LIKE", "nom_site LIKE",$where); + } + + $query_articles['ORDER BY']= "date_modif DESC"; + $query_breves['ORDER BY']= "maj DESC"; + $query_rubriques['ORDER BY']= "maj DESC"; + $query_sites['ORDER BY']= "maj DESC"; $activer_moteur = ($GLOBALS['meta']['activer_moteur'] == 'oui'); if ($activer_moteur) { // texte integral include_spip('inc/indexation'); - list($hash_recherche,) = requete_hash ($recherche); + list($hash_recherche,) = requete_hash($recherche1); $query_articles_int = requete_txt_integral('spip_articles', $hash_recherche); $query_breves_int = requete_txt_integral('spip_breves', $hash_recherche); $query_rubriques_int = requete_txt_integral('spip_rubriques', $hash_recherche); @@ -83,45 +79,40 @@ function exec_recherche_dist() $query_auteurs_int = requete_txt_integral('spip_auteurs', $hash_recherche); } - if ($query_articles) - $nba = afficher_articles (_T('info_articles_trouves'), $query_articles); + $nba = afficher_articles (_T('info_articles_trouves'), $query_articles); if ($activer_moteur) { if ($nba) { $doublons = join($nba, ","); - $query_articles_int = ereg_replace ("WHERE", "WHERE objet.id_article NOT IN ($doublons) AND", $query_articles_int); + $query_articles_int['WHERE'] .= " AND objet.id_article NOT IN ($doublons)"; } $nba1 = afficher_articles (_T('info_articles_trouves_dans_texte'), $query_articles_int); } - if ($query_breves) - $nbb = afficher_breves (_T('info_breves_touvees'), $query_breves, true); + $nbb = afficher_breves (_T('info_breves_touvees'), $query_breves, true); if ($activer_moteur) { if ($nbb) { $doublons = join($nbb, ","); - $query_breves_int = ereg_replace ("WHERE", "WHERE objet.id_breve NOT IN ($doublons) AND", $query_breves_int); + $query_breves_int["WHERE"].= " AND objet.id_breve NOT IN ($doublons)"; } $nbb1 = afficher_breves (_T('info_breves_touvees_dans_texte'), $query_breves_int, true); } - if ($query_rubriques) - $nbr = afficher_rubriques (_T('info_rubriques_trouvees'), $query_rubriques); + $nbr = afficher_rubriques (_T('info_rubriques_trouvees'), $query_rubriques); if ($activer_moteur) { if ($nbr) { $doublons = join($nbr, ","); - $query_rubriques_int = ereg_replace ("WHERE", "WHERE objet.id_rubrique NOT IN ($doublons) AND", $query_rubriques_int); + $query_rubriques_int["WHERE"].= " AND objet.id_rubrique NOT IN ($doublons)"; } $nbr1 = afficher_rubriques (_T('info_rubriques_trouvees_dans_texte'), $query_rubriques_int); } - if ($activer_moteur) - $nbt = afficher_auteurs (_T('info_auteurs_trouves'), $query_auteurs_int); + $nbt = afficher_auteurs (_T('info_auteurs_trouves'), $query_auteurs_int); - if ($query_sites) - $nbs = afficher_sites (_T('info_sites_trouves'), $query_sites); + $nbs = afficher_sites (_T('info_sites_trouves'), $query_sites); if ($activer_moteur) { if ($nbs) { $doublons = join($nbs, ","); - $query_sites_int = ereg_replace ("WHERE", "WHERE objet.id_syndic NOT IN ($doublons) AND", $query_sites_int); + $query_sites_int["WHERE"].= " AND objet.id_syndic NOT IN ($doublons)"; } $nbs1 = afficher_sites (_T('info_sites_trouves_dans_texte'), $query_sites_int); } @@ -129,7 +120,6 @@ function exec_recherche_dist() if (!$nba AND !$nba1 AND !$nbb AND !$nbb1 AND !$nbr AND !$nbr1 AND !$nbt AND !$nbs AND !$nbs1) { echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>"._T('avis_aucun_resultat')."</FONT><P>"; } -} echo "<p>"; diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php index 18e7378ec26040bff4001015bb852b5897a2053d..ef2b4af21c0aa1cf0195240a09f78b3e643c3a63 100644 --- a/ecrire/exec/sites.php +++ b/ecrire/exec/sites.php @@ -396,9 +396,7 @@ if ($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") { echo _T('lien_nouvelle_recuperation')."</a></b></center>\n"; fin_boite_info(); } - afficher_syndic_articles(_T('titre_articles_syndiques'), - "SELECT * FROM spip_syndic_articles WHERE id_syndic=$id_syndic - ORDER BY date DESC"); + afficher_syndic_articles(_T('titre_articles_syndiques'), array('FROM' => 'spip_syndic_articles', 'WHERE' => "id_syndic=$id_syndic", 'ORDER BY' => "date DESC")); echo "<font face='verdana,arial,helvetica' size=2>"; diff --git a/ecrire/exec/sites_tous.php b/ecrire/exec/sites_tous.php index d5ec371bcd3da54288f514cda101a240b13d88af..800b58a6d6d95485b6c4d5eee3686b4ac339f2f5 100644 --- a/ecrire/exec/sites_tous.php +++ b/ecrire/exec/sites_tous.php @@ -38,11 +38,11 @@ debut_page(_T('titre_page_sites_tous'),"documents","sites"); debut_gauche(); debut_droite(); -afficher_sites(_T('titre_sites_tous'), "SELECT * FROM spip_syndic WHERE syndication='non' AND statut='publie' ORDER BY nom_site"); + afficher_sites(_T('titre_sites_tous'), array("FROM" => 'spip_syndic', 'WHERE' => "syndication='non' AND statut='publie'", 'ORDER BY'=> "nom_site")); -afficher_sites(_T('titre_sites_syndiques'), "SELECT * FROM spip_syndic WHERE (syndication='oui' OR syndication='sus') AND statut='publie' ORDER BY nom_site"); + afficher_sites(_T('titre_sites_syndiques'), array('FROM' => 'spip_syndic', 'WHERE' => "(syndication='oui' OR syndication='sus') AND statut='publie'", 'ORDER BY' => "nom_site")); -afficher_sites(_T('titre_sites_proposes'), "SELECT * FROM spip_syndic WHERE statut='prop' ORDER BY nom_site"); + afficher_sites(_T('titre_sites_proposes'), array("FROM" => 'spip_syndic', 'WHERE' => "statut='prop'", 'ORDER BY' => "nom_site")); if ($connect_statut == '0minirezo' OR $GLOBALS['meta']["proposer_sites"] > 0) { echo "<div align='right'>"; @@ -50,14 +50,13 @@ if ($connect_statut == '0minirezo' OR $GLOBALS['meta']["proposer_sites"] > 0) { echo "</div>"; } -afficher_sites(_T('avis_sites_probleme_syndication'), "SELECT * FROM spip_syndic WHERE syndication='off' AND statut='publie' ORDER BY nom_site"); + afficher_sites(_T('avis_sites_probleme_syndication'), array("FROM" => 'spip_syndic', 'WHERE' => "syndication='off' AND statut='publie'", 'ORDER BY' => "nom_site")); if ($options == 'avancees' AND $connect_statut == '0minirezo') { - afficher_sites(_T('info_sites_refuses'), "SELECT * FROM spip_syndic WHERE statut='refuse' ORDER BY nom_site"); + afficher_sites(_T('info_sites_refuses'), array("FROM" => 'spip_syndic', 'WHERE' => "statut='refuse'", 'ORDER BY' => "nom_site")); } -afficher_syndic_articles(_T('titre_dernier_article_syndique'), - "SELECT * FROM spip_syndic_articles ORDER BY date DESC LIMIT 50", 'afficher site'); + afficher_syndic_articles(_T('titre_dernier_article_syndique'), array('FROM' => 'spip_syndic_articles', 'ORDER BY' => "date DESC", 'LIMIT' => "50"), 'afficher site'); fin_page(); } diff --git a/ecrire/inc/indexation.php b/ecrire/inc/indexation.php index 7208fafeef70a2664535ad8e2bb7efafa3934ddd..fe728eca8c8e7085d661af5798242844a26e02f8 100644 --- a/ecrire/inc/indexation.php +++ b/ecrire/inc/indexation.php @@ -623,14 +623,15 @@ function requete_txt_integral($table, $hash_recherche) { $index_table = "spip_index"; $id_objet = primary_index_table($table); $id_table = id_index_table($table); - return "SELECT objet.*, SUM(rec.points) AS points - FROM $table AS objet, $index_table AS rec - WHERE objet.$id_objet = rec.id_objet - AND rec.hash IN ($hash_recherche) - AND rec.id_table = $id_table - GROUP BY objet.$id_objet - ORDER BY points DESC - LIMIT 10"; + return array( + 'SELECT' => "objet.*, SUM(rec.points) AS points", + 'FROM' => "$table AS objet, $index_table AS rec", + 'WHERE' => "objet.$id_objet = rec.id_objet +AND rec.hash IN ($hash_recherche) +AND rec.id_table = $id_table", + 'GROUP BY' => "objet.$id_objet", + 'ORDER BY' => "points DESC", + 'LIMIT' => "10"); } // rechercher un mot dans le dico diff --git a/ecrire/inc/mail.php b/ecrire/inc/mail.php index 655265f99153a34ac82c2ee924b324f43c1cfb66..303d5b42d005b62f0e30356d6185a956cfd9ff71 100644 --- a/ecrire/inc/mail.php +++ b/ecrire/inc/mail.php @@ -16,7 +16,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // Infos de mails sur l'hebergeur (tout ca est assez sale) // global $hebergeur; -global $HTTP_X_HOST, $REQUEST_URI, $SERVER_NAME, $HTTP_HOST; +global $HTTP_X_HOST, $SERVER_NAME; $hebergeur = ''; // Lycos (ex-Multimachin) diff --git a/ecrire/inc/message_select.php b/ecrire/inc/message_select.php index 458228cb20231046f7079a039e8a4f924101c37b..2b307ad52ea2166ab11e9e995be3771e125aab46 100644 --- a/ecrire/inc/message_select.php +++ b/ecrire/inc/message_select.php @@ -25,11 +25,11 @@ function afficher_messages($titre_table, $from, $where, &$messages_vus, $affiche if (! ($obligatoire OR ($cpt = $cpt['n']))) return ; $nb_aff = 1.5 * _TRANCHES; + $def_aff = intval(_request('t_' .$tmp_var)); if ($cpt > $nb_aff) { - // 1er arg fictif ici - $tranches = afficher_tranches_requete($cpt, $cpt, ($afficher_auteurs ? 4 : 2), $tmp_var); $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, ($afficher_auteurs ? 4 : 2), $tmp_var, '', $nb_aff); } if ($important) debut_cadre_couleur(); @@ -40,7 +40,7 @@ function afficher_messages($titre_table, $from, $where, &$messages_vus, $affiche echo "<TABLE WIDTH='100%' CELLPADDING='2' CELLSPACING='0' BORDER='0'>"; echo $tranches; - $result_message = spip_query("SELECT messages.* FROM $from WHERE $where ORDER BY date_heure DESC LIMIT " . intval(_request('t_' .$tmp_var)) . ", $nb_aff") + $result_message = spip_query("SELECT messages.* FROM $from WHERE $where ORDER BY date_heure DESC LIMIT " . $deb_aff . ", $nb_aff") ; while($row = spip_fetch_array($result_message)) { $vals = array(); diff --git a/ecrire/inc/mots.php b/ecrire/inc/mots.php index 232083da57822d6273a73c006f423499e32e9925..13c6ee69e480a4e6ec67dd77e5fa08e66f43bb69 100644 --- a/ecrire/inc/mots.php +++ b/ecrire/inc/mots.php @@ -579,7 +579,7 @@ function afficher_groupe_mots($id_groupe) { "id_groupe" => $id_groupe); $jjscript = addslashes(serialize($jjscript)); $hash = "0x".substr(md5($connect_id_auteur.$jjscript), 0, 16); - $tmp_var = substr(md5($jjscript), 0, 4); + $tmp_var = substr($hash, 2, 6); $javascript = "charger_id_url('" . generer_url_ecrire("ajax_page", "fonction=sql&id_ajax_fonc=::id_ajax_fonc::::deb::", true) . "','$tmp_var')"; @@ -593,37 +593,34 @@ function afficher_groupe_mots($id_groupe) { if (! ($cpt = $cpt['n'])) return true ; $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); if ($cpt > $nb_aff) { - // 1er arg fictif ici - $tranches = afficher_tranches_requete($cpt, $cpt, 3, $tmp_var, $javascript); $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, 3, $tmp_var, $javascript, $nb_aff); } $occurrences = calculer_liens_mots(); - $table = ''; - $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); - if ($row = spip_fetch_array($res_proch)) { + $table = ''; + $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); + if ($row = spip_fetch_array($res_proch)) { $id_ajax_fonc = $row["id_ajax_fonc"]; - } else { + } else { include_spip('base/abstract_sql'); $id_ajax_fonc = spip_abstract_insert("spip_ajax_fonc", "(id_auteur, variables, hash, date)", "($connect_id_auteur, '$jjscript', $hash, NOW())"); - } + } - if (!$GLOBALS["t_$tmp_var"]) echo "<div id='$tmp_var' style='position: relative;'>"; + if (!$deb_aff) echo "<div id='$tmp_var' style='position: relative;'>"; - echo http_img_pack("searching.gif", "*", "style='border: 0px; visibility: hidden; position: absolute; $spip_lang_right: 0px; top: -20px;' id = 'img_$tmp_var'"); + echo http_img_pack("searching.gif", "*", "style='border: 0px; visibility: hidden; position: absolute; $spip_lang_right: 0px; top: -20px;' id = 'img_$tmp_var'"); - - echo "<div class='liste'>"; - echo "<table border=0 cellspacing=0 cellpadding=3 width=\"100%\">"; + echo "<div class='liste'>"; + echo "<table border=0 cellspacing=0 cellpadding=3 width=\"100%\">"; - echo ereg_replace("\:\:id\_ajax\_fonc\:\:", $id_ajax_fonc, $tranches); + echo ereg_replace("\:\:id\_ajax\_fonc\:\:", $id_ajax_fonc, $tranches); - - $result = spip_query($r = "SELECT $select FROM $from WHERE $where $order LIMIT " . intval(_request('t_' .$tmp_var)) . ", $nb_aff"); - if ($id_groupe == 7) spip_log($r); - while ($row = spip_fetch_array($result)) { + $result = spip_query("SELECT $select FROM $from WHERE $where $order LIMIT $deb_aff, $nb_aff"); + while ($row = spip_fetch_array($result)) { $vals = ''; @@ -681,23 +678,22 @@ function afficher_groupe_mots($id_groupe) { $table[] = $vals; } - } - if ($connect_statut=="0minirezo") { + } + if ($connect_statut=="0minirezo") { $largeurs = array('', 100, 130); $styles = array('arial11', 'arial1', 'arial1'); } - else { + else { $largeurs = array('', 100); $styles = array('arial11', 'arial1'); - } - echo afficher_liste($largeurs, $table, $styles); + } + echo afficher_liste($largeurs, $table, $styles); - echo "</table>"; + echo "</table>"; // fin_cadre_relief(); - echo "</div>"; + echo "</div>"; - if (!$GLOBALS["t_$tmp_var"]) echo "</div>"; - + if (!$deb_aff) echo "</div>"; return false; } diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 546dbf5e19ba373caadb304eaa35bfbd70144cf1..da38c70e51bd75d69b25a1eef3440f402810d5ea 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -447,31 +447,18 @@ function afficher_liste($largeurs, $table, $styles = '') { return $res; } -function afficher_tranches_requete(&$query, $num_rows, $colspan, $tmp_var=false, $javascript=false, $nb_aff = 10) { +function afficher_tranches_requete($num_rows, $colspan, $tmp_var, $javascript=false, $nb_aff = 10) { static $ancre = 0; global $spip_lang_right, $spip_display; - if (!$num_rows) return; + $tmp_var = 't_'. $tmp_var; + $deb_aff = intval(_request($tmp_var)); + $ancre++; + $self = self(); + $texte = "\n<a name='a$ancre'></a>"; + if ($spip_display != 4) $texte .= "<tr style='background-color: #dddddd;'><td class=\"arial1\" style='border-bottom: 1px solid #444444;' colspan=\"".($colspan - 1)."\">"; - // Ne pas couper pour trop peu - $nb_aff = ($num_rows <= 1.5 * _TRANCHES) ? $num_rows : _TRANCHES; - if (preg_match('/LIMIT .*(,|OFFSET) *([0-9]+)/', $query, $regs)) { - if ($num_rows > $regs[2]) $num_rows = $regs[2]; - } - - $texte = "\n"; - - if ($num_rows > $nb_aff) { - if (!$tmp_var) $tmp_var = substr(md5($query), 0, 4); - $tmp_var = 't_'. $tmp_var; - - $deb_aff = intval($GLOBALS[$tmp_var]); - $ancre++; - - $texte .= "<a name='a$ancre'></a>"; - if ($spip_display != 4) $texte .= "<tr style='background-color: #dddddd;'><td class=\"arial1\" style='border-bottom: 1px solid #444444;' colspan=\"".($colspan - 1)."\">"; - - for ($i = 0; $i < $num_rows; $i += $nb_aff){ + for ($i = 0; $i < $num_rows; $i += $nb_aff){ $deb = $i + 1; $fin = $i + $nb_aff; if ($fin > $num_rows) $fin = $num_rows; @@ -480,26 +467,25 @@ function afficher_tranches_requete(&$query, $num_rows, $colspan, $tmp_var=false, $texte .= "<B>$deb</B>"; } else { - $url = parametre_url(self(), $tmp_var, $deb-1); + $url = parametre_url($self, $tmp_var, $deb-1); if ($javascript) { $jj = str_replace("::deb::", "&$tmp_var=$deb", $javascript); $texte .= "<a onClick=\"$jj; return false;\" href=\"$url#a$ancre\">$deb</a>"; } else $texte .= "<a href=\"$url#a$ancre\">$deb</a>"; } - } + } - - if ($spip_display != 4) { + if ($spip_display != 4) { $texte .= "</td>\n"; $texte .= "<td class=\"arial2\" style='border-bottom: 1px solid #444444; text-align: $spip_lang_right;' colspan=\"1\" align=\"right\" valign=\"top\">"; - } else { + } else { $texte .= " | "; - } + } - if ($deb_aff == -1) { + if ($deb_aff == -1) { //$texte .= "<B>"._T('info_tout_afficher')."</B>"; - } else { + } else { $lien = parametre_url(self(), $tmp_var, -1); if ($javascript) { $jj = str_replace("::deb::", "&$tmp_var=-1", $javascript); @@ -507,20 +493,10 @@ function afficher_tranches_requete(&$query, $num_rows, $colspan, $tmp_var=false, } else $texte .= "<A HREF=\"$lien#a$ancre\"><img src='". _DIR_IMG_PACK . "plus.gif' title='"._T('lien_tout_afficher')."' style='border: 0px;'></A>"; - } - - if ($spip_display != 4) $texte .= "</td>\n"; - if ($spip_display != 4) $texte .= "</tr>\n"; - - - if ($deb_aff != -1) { - if ($deb_aff > 0) $deb_aff --; // Correction de bug: si on affiche "de 1 a 10", alors LIMIT 0 OFFSET 10 - $query = eregi_replace('LIMIT[[:space:]].*$', '', $query); -# $query .= " LIMIT $nb_aff OFFSET $deb_aff"; - $query .= " LIMIT $deb_aff, $nb_aff "; - } } + if ($spip_display != 4) $texte .= "</td></tr>\n"; + return $texte; } @@ -664,8 +640,7 @@ function afficher_script_statut($id, $type, $n, $img, $statut, $title, $act) // // Afficher tableau d'articles // -function afficher_articles($titre_table, $requete, $afficher_visites = false, $afficher_auteurs = true, - $toujours_afficher = false, $afficher_cadre = true, $afficher_descriptif = true) { +function afficher_articles($titre_table, $requete, $afficher_visites = false, $afficher_auteurs = true, $obligatoire = false, $afficher_cadre = true, $afficher_descriptif = true) { global $connect_id_auteur, $connect_statut, $dir_lang; global $options, $spip_display; @@ -673,6 +648,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a // Preparation pour basculer vers liens de traductions $afficher_trad = ($GLOBALS['meta']['gerer_trad'] == "oui"); + if ($afficher_trad) { $jjscript_trad["fonction"] = "afficher_articles_trad"; $jjscript_trad["titre_table"] = $titre_table; @@ -697,21 +673,19 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $afficher_visites = ($afficher_visites AND $connect_statut == "0minirezo" AND $activer_statistiques != "non"); // Preciser la requete (alleger les requetes) - if (!ereg("^SELECT", $requete)) { - $select = "SELECT articles.id_article, articles.titre, articles.id_rubrique, articles.statut, articles.date"; + if (!$requete['SELECT']) { + $requete['SELECT'] = "articles.id_article, articles.titre, articles.id_rubrique, articles.statut, articles.date"; if (($GLOBALS['meta']['multi_rubriques'] == 'oui' AND $GLOBALS['id_rubrique'] == 0) OR $GLOBALS['meta']['multi_articles'] == 'oui') { $afficher_langue = true; if ($GLOBALS['langue_rubrique']) $langue_defaut = $GLOBALS['langue_rubrique']; else $langue_defaut = $GLOBALS['meta']['langue_site']; - $select .= ", articles.lang"; + $requete['SELECT'] .= ", articles.lang"; } if ($afficher_visites) - $select .= ", articles.visites, articles.popularite"; + $requete['SELECT'] .= ", articles.visites, articles.popularite"; if ($afficher_descriptif) - $select .= ", articles.descriptif"; - $select .= ", petitions.id_article AS petition "; - $requete = $select . "FROM spip_articles AS articles " . $requete; + $requete['SELECT'] .= ", articles.descriptif"; } if ($options == "avancees") $ajout_col = 1; @@ -726,31 +700,43 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $jjscript = addslashes(serialize($jjscript)); $hash = "0x".substr(md5($connect_id_auteur.$jjscript), 0, 16); - $tmp_var = substr(md5($jjscript), 0, 4); + $tmp_var = substr($hash, 2, 6); $javascript = "charger_id_url('" . generer_url_ecrire("ajax_page","fonction=sql&id_ajax_fonc=::id_ajax_fonc::::deb::", true) . "','$tmp_var')"; - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/D', - $requete, - $r)) { - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; + $tous_id = array(); + + $select = $requete['SELECT'] ? $requete['SELECT'] : '*'; + $from = $requete['FROM'] ? $requete['FROM'] : 'spip_articles AS articles'; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; - $tranches = afficher_tranches_requete($requete, $cpt, $afficher_auteurs ? 4 + $ajout_col : 3 + $ajout_col, $tmp_var, $javascript); + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $from$where$group")); + if (! ($obligatoire OR ($cpt = $cpt['n']))) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); + + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, $afficher_auteurs ? 4 + $ajout_col : 3 + $ajout_col, $tmp_var, $javascript, $nb_aff); } - $requete = str_replace("FROM spip_articles AS articles ", "FROM spip_articles AS articles LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete); - if (strlen($tranches) OR $toujours_afficher) { + $requete['FROM'] = str_replace("spip_articles AS articles ", "spip_articles AS articles LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete['FROM']); + $requete['SELECT'] .= ", petitions.id_article AS petition "; - $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); - if ($row = spip_fetch_array($res_proch)) { + $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); + if ($row = spip_fetch_array($res_proch)) { $id_ajax_fonc = $row["id_ajax_fonc"]; - } else { + } else { include_spip('base/abstract_sql'); $id_ajax_fonc = spip_abstract_insert("spip_ajax_fonc", "(id_auteur, variables, hash, date)", "($connect_id_auteur, '$jjscript', $hash, NOW())"); - } + } - if (!$GLOBALS["t_$tmp_var"]) { + if (!$deb_aff) { if ($afficher_trad) { $tmp_trad = substr(md5($requete_trad), 0, 4); @@ -773,19 +759,18 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a echo "<div id='$tmp_var'>"; - } + } - $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); - if ($voir_logo) include_spip('inc/logos'); + if ($voir_logo) include_spip('inc/logos'); - //echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; - echo afficher_liste_debut_tableau(); + //echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; + echo afficher_liste_debut_tableau(), str_replace("::id_ajax_fonc::", $id_ajax_fonc, $tranches); - $tranches = str_replace("::id_ajax_fonc::", $id_ajax_fonc, $tranches); - echo $tranches; - $result = spip_query($requete); - while ($row = spip_fetch_array($result)) { + $result = spip_query("SELECT $select FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); + + while ($row = spip_fetch_array($result)) { $vals = ''; $id_article = $row['id_article']; @@ -859,18 +844,18 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $table[] = $vals; - } - spip_free_result($result); + } + spip_free_result($result); - if ($options == "avancees") { // Afficher le numero (JMB) - if ($afficher_auteurs) { + if ($options == "avancees") { // Afficher le numero (JMB) + if ($afficher_auteurs) { $largeurs = array(11, '', 80, 100, 50); $styles = array('', 'arial2', 'arial1', 'arial1', 'arial1'); } else { $largeurs = array(11, '', 100, 50); $styles = array('', 'arial2', 'arial1', 'arial1'); } - } else { + } else { if ($afficher_auteurs) { $largeurs = array(11, '', 100, 100); $styles = array('', 'arial2', 'arial1', 'arial1'); @@ -878,28 +863,27 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a $largeurs = array(11, '', 100); $styles = array('', 'arial2', 'arial1'); } - } - echo afficher_liste($largeurs, $table, $styles); + } + echo afficher_liste($largeurs, $table, $styles); - //echo "</table>"; - echo afficher_liste_fin_tableau(); - echo "</div>"; + //echo "</table>"; + echo afficher_liste_fin_tableau(); + echo "</div>"; - if (!$GLOBALS["t_$tmp_var"]) { + if (!$deb_aff) { echo "</div>"; if ($afficher_trad) echo "</div>"; - } - - //if ($afficher_cadre) fin_cadre_gris_clair(); - } + + //if ($afficher_cadre) fin_cadre_gris_clair(); return $tous_id; } + function afficher_articles_trad($titre_table, $requete, $afficher_visites = false, $afficher_auteurs = true, - $toujours_afficher = false, $afficher_cadre = true, $afficher_descriptif = true) { + $obligatoire = false, $afficher_cadre = true, $afficher_descriptif = true) { global $connect_id_auteur, $connect_statut, $dir_lang; global $options, $spip_lang_left, $spip_lang_right; @@ -930,9 +914,9 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals $afficher_visites = ($afficher_visites AND $connect_statut == "0minirezo" AND $activer_statistiques != "non"); // Preciser la requete (alleger les requetes) - if (!ereg("^SELECT", $requete)) { - $select = "SELECT articles.id_article, articles.titre, articles.id_rubrique, articles.statut, articles.date, articles.id_trad, articles.lang"; - $requete = $select . " FROM spip_articles AS articles " . $requete; + if (!$requete['SELECT']) { + $requete['SELECT'] = "articles.id_article, articles.titre, articles.id_rubrique, articles.statut, articles.date, articles.id_trad, articles.lang"; + } if ($options == "avancees") $ajout_col = 1; @@ -950,28 +934,41 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals $javascript = "charger_id_url('" . generer_url_ecrire("ajax_page", 'fonction=sql&id_ajax_fonc=::id_ajax_fonc::::deb::') . "','$tmp_var')"; - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/', - $requete, - $r)) { - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; + $tous_id = array(); + + $select = $requete['SELECT'] ? $requete['SELECT'] : '*'; + $from = $requete['FROM'] ? $requete['FROM'] : 'spip_articles AS articles'; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; + + $cpt = "$from$where$group"; + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($obligatoire OR ($cpt = $cpt['n']))) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); - $tranches = afficher_tranches_requete($requete, $cpt, 4, $tmp_var, $javascript); + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, 4, $tmp_var, $javascript, $nb_aff); } - $requete = str_replace("FROM spip_articles AS articles ", "FROM spip_articles AS articles LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete); + $requete['FROM'] = str_replace("spip_articles AS articles ", "spip_articles AS articles LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete['FROM']); + $requete['SELECT'] .= ", petitions.id_article AS petition "; - if (strlen($tranches) OR $toujours_afficher) { - $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); - if ($row = spip_fetch_array($res_proch)) { + $res_proch = spip_query("SELECT id_ajax_fonc FROM spip_ajax_fonc WHERE hash=$hash AND id_auteur=$connect_id_auteur ORDER BY id_ajax_fonc DESC LIMIT 1"); + if ($row = spip_fetch_array($res_proch)) { $id_ajax_fonc = $row["id_ajax_fonc"]; - } else { + } else { include_spip('base/abstract_sql'); $id_ajax_fonc = spip_abstract_insert("spip_ajax_fonc", "(id_auteur, variables, hash, date)", "($connect_id_auteur, '$jjscript', $hash, NOW())"); } - if (!$GLOBALS["t_$tmp_var"]) { + if (!$deb_aff) { echo "<div id='$div_trad'>"; @@ -988,18 +985,14 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals bandeau_titre_boite2($texte_img.$titre_table, "article-24.gif"); echo "<div id='$tmp_var'>"; - - } + } + //echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; + echo afficher_liste_debut_tableau(), ereg_replace("\:\:id\_ajax\_fonc\:\:", $id_ajax_fonc, $tranches); - //echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; - echo afficher_liste_debut_tableau(); + $result = spip_query("SELECT $select FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $tranches = ereg_replace("\:\:id\_ajax\_fonc\:\:", $id_ajax_fonc, $tranches); - echo $tranches; - - $result = spip_query($requete); - while ($row = spip_fetch_array($result)) { + while ($row = spip_fetch_array($result)) { $vals = ''; $id_article = $row['id_article']; @@ -1079,23 +1072,21 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals $vals[] = ""; $table[] = $vals; - } - spip_free_result($result); + } + spip_free_result($result); - $largeurs = array(11, 24, '', '1'); - $styles = array('', 'arial1', 'arial1', ''); + $largeurs = array(11, 24, '', '1'); + $styles = array('', 'arial1', 'arial1', ''); - echo afficher_liste($largeurs, $table, $styles); + echo afficher_liste($largeurs, $table, $styles); - //echo "</table>"; - echo afficher_liste_fin_tableau(); - echo "</div>"; + //echo "</table>"; + echo afficher_liste_fin_tableau(); + echo "</div>"; - if (!$GLOBALS["t_$tmp_var"]) echo "</div>"; + if (!$GLOBALS["t_$tmp_var"]) echo "</div>"; - //if ($afficher_cadre) fin_cadre_gris_clair(); - - } + //if ($afficher_cadre) fin_cadre_gris_clair(); return $tous_id; } @@ -1109,46 +1100,60 @@ function afficher_articles_trad($titre_table, $requete, $afficher_visites = fals function afficher_breves($titre_table, $requete, $affrub=false) { global $connect_id_auteur, $spip_lang_right, $spip_lang_left, $dir_lang, $couleur_foncee, $spip_display, $connect_statut, $options; - - if (($GLOBALS['meta']['multi_rubriques'] == 'oui' AND $GLOBALS['id_rubrique'] == 0) OR $GLOBALS['meta']['multi_articles'] == 'oui') { + if (($GLOBALS['meta']['multi_rubriques'] == 'oui' + AND $GLOBALS['id_rubrique'] == 0) + OR $GLOBALS['meta']['multi_articles'] == 'oui') { $afficher_langue = true; - $requete = ereg_replace(" FROM", ", lang FROM", $requete); + if ($requete["SELECT"]) $requete["SELECT"].= ", lang"; if ($GLOBALS['langue_rubrique']) $langue_defaut = $GLOBALS['langue_rubrique']; else $langue_defaut = $GLOBALS['meta']['langue_site']; } - if (preg_match('/(\bFROM\s+.*?)(\s+ORDER\s+BY\s+.*)?$/', - $requete, - $r)) { - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n $r[1]")); - $cpt = $cpt['n']; + $tous_id = array(); + + $select = $requete['SELECT'] ? $requete['SELECT'] : '*'; + $from = $requete['FROM']; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; + + $cpt = "$from$where$group"; + $tmp_var = substr(md5($cpt), 0, 4); + + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($cpt = $cpt['n'])) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); - $tranches = afficher_tranches_requete($requete, $cpt, ($options == "avancees") ? 4 : 3); + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, ($options == "avancees") ? 4 : 3, $tmp_var, '', $nb_aff); } - if (strlen($tranches)) { - //debut_cadre_relief("breve-24.gif"); + if ($titre_table) echo "<div style='height: 12px;'></div>"; + echo "<div class='liste'>"; - if ($titre_table) echo "<div style='height: 12px;'></div>"; - echo "<div class='liste'>"; + if ($titre_table) { + bandeau_titre_boite2($titre_table, "breve-24.gif", $couleur_foncee, "white"); + } - if ($titre_table) { - bandeau_titre_boite2($titre_table, "breve-24.gif", $couleur_foncee, "white"); - } + echo "<table width='100%' cellpadding='2' cellspacing='0' border='0' background=''>"; - echo "<table width='100%' cellpadding='2' cellspacing='0' border='0' background=''>"; + echo $tranches; - echo $tranches; - $result = spip_query($requete); + $result = spip_query("SELECT $select FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $table = ''; - $droit = ($connect_statut == '0minirezo' && $options == 'avancees'); - $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + $table = ''; + $droit = ($connect_statut == '0minirezo' && $options == 'avancees'); + $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); - if ($voir_logo) include_spip('inc/logos'); + if ($voir_logo) include_spip('inc/logos'); - while ($row = spip_fetch_array($result)) { + while ($row = spip_fetch_array($result)) { $vals = ''; $id_breve = $row['id_breve']; @@ -1206,7 +1211,6 @@ function afficher_breves($titre_table, $requete, $affrub=false) { echo "</table></div>"; //fin_cadre_relief(); - } return $tous_id; } @@ -1218,33 +1222,45 @@ function afficher_breves($titre_table, $requete, $affrub=false) { function afficher_rubriques($titre_table, $requete) { global $connect_id_auteur; global $spip_lang_rtl; + $tous_id = array(); - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/', - $requete, - $r)) { - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; + $select = $requete['SELECT'] ? $requete['SELECT'] : '*'; + $from = $requete['FROM']; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; - $tranches = afficher_tranches_requete($requete, $cpt, 3); - } + $cpt = "$from$where$group"; + $tmp_var = substr(md5($cpt), 0, 4); - if (strlen($tranches)) { + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($cpt = $cpt['n'])) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); - if ($titre_table) echo "<div style='height: 12px;'></div>"; - echo "<div class='liste'>"; + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, ($options == "avancees") ? 4 : 3, $tmp_var, '', $nb_aff); + } + + if ($titre_table) echo "<div style='height: 12px;'></div>"; + echo "<div class='liste'>"; //debut_cadre_relief("rubrique-24.gif"); - if ($titre_table) { + if ($titre_table) { bandeau_titre_boite2($titre_table, "rubrique-24.gif", "#999999", "white"); } - echo "<table width=100% cellpadding=3 cellspacing=0 border=0 background=''>"; + echo "<table width=100% cellpadding=3 cellspacing=0 border=0 background=''>"; - echo $tranches; + echo $tranches; - $result = spip_query($requete); + $result = spip_query("SELECT $select FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $table = ''; - while ($row = spip_fetch_array($result)) { + $table = ''; + while ($row = spip_fetch_array($result)) { $vals = ''; $id_rubrique = $row['id_rubrique']; @@ -1275,17 +1291,17 @@ function afficher_rubriques($titre_table, $requete) { $s .= "</div>"; $vals[] = $s; $table[] = $vals; - } - spip_free_result($result); + } + spip_free_result($result); - $largeurs = array('12','', ''); - $styles = array('', 'arial2', 'arial11'); - echo afficher_liste($largeurs, $table, $styles); + $largeurs = array('12','', ''); + $styles = array('', 'arial2', 'arial11'); + echo afficher_liste($largeurs, $table, $styles); + + echo "</TABLE>"; + //fin_cadre_relief(); + echo "</div>"; - echo "</TABLE>"; - //fin_cadre_relief(); - echo "</div>"; - } return $tous_id; } @@ -1338,36 +1354,49 @@ function puce_statut($statut, $type='article') { function afficher_auteurs ($titre_table, $requete) { - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/', - $requete, - $r)) { + $tous_id = array(); - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; - $tranches = afficher_tranches_requete($requete, $cpt, 2); - } + $select = $requete['SELECT'] ? $requete['SELECT'] : '*'; + $from = $requete['FROM']; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; - if (strlen($tranches)) { + $cpt = "$from$where$group"; + $tmp_var = substr(md5($cpt), 0, 4); - debut_cadre_relief("auteur-24.gif"); + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($cpt = $cpt['n'])) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); - if ($titre_table) { + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, ($options == "avancees") ? 4 : 3, $tmp_var, '', $nb_aff); + } + + debut_cadre_relief("auteur-24.gif"); + + if ($titre_table) { echo "<p><table width=100% cellpadding=0 cellspacing=0 border=0 background=''>"; echo "<tr><td width=100% background=''>"; echo "<table width=100% cellpadding=3 cellspacing=0 border=0>"; echo "<tr bgcolor='#333333'><td width=100% colspan=2><font face='Verdana,Arial,Sans,sans-serif' size=3 color='#FFFFFF'>"; echo "<b>$titre_table</b></font></td></tr>"; } - else { + else { echo "<p><table width=100% cellpadding=3 cellspacing=0 border=0 background=''>"; } - echo $tranches; + echo $tranches; - $result = spip_query($requete); + $result = spip_query("SELECT $select FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $table = ''; - while ($row = spip_fetch_array($result)) { + $table = ''; + while ($row = spip_fetch_array($result)) { $vals = ''; $id_auteur = $row['id_auteur']; @@ -1380,17 +1409,17 @@ function afficher_auteurs ($titre_table, $requete) { $s .= "</a>"; $vals[] = $s; $table[] = $vals; - } - spip_free_result($result); + } + spip_free_result($result); - $largeurs = array(''); - $styles = array('arial2'); - echo afficher_liste($largeurs, $table, $styles); + $largeurs = array(''); + $styles = array('arial2'); + echo afficher_liste($largeurs, $table, $styles); + + if ($titre_table) echo "</TABLE></TD></TR>"; + echo "</TABLE>"; + fin_cadre_relief(); - if ($titre_table) echo "</TABLE></TD></TR>"; - echo "</TABLE>"; - fin_cadre_relief(); - } return $tous_id; } diff --git a/ecrire/inc/sites_voir.php b/ecrire/inc/sites_voir.php index d94e6d60d9942faf33e9e4fe61aaa9ce05fdfdc4..2abb640bdff43fb2e818dbad6c68829753358282 100644 --- a/ecrire/inc/sites_voir.php +++ b/ecrire/inc/sites_voir.php @@ -16,35 +16,46 @@ function afficher_sites($titre_table, $requete) { global $couleur_claire, $spip_lang_left, $spip_lang_right; global $connect_id_auteur; - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/', - $requete, - $r)) { + $tous_id = array(); - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; + $from = $requete['FROM']; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; - $tranches = afficher_tranches_requete($requete, $cpt, 3); + $cpt = "$from$where$group"; + $tmp_var = substr(md5($cpt), 0, 4); + + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($cpt = $cpt['n'])) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); + + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); + + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, 3, $tmp_var, '', $nb_aff); } - if ($tranches) { -// debut_cadre_relief("site-24.gif"); - if ($titre_table) echo "<div style='height: 12px;'></div>"; - echo "<div class='liste'>"; - bandeau_titre_boite2($titre_table, "site-24.gif", $couleur_claire, "black"); - echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; - echo $tranches; + if ($titre_table) echo "<div style='height: 12px;'></div>"; + echo "<div class='liste'>"; + bandeau_titre_boite2($titre_table, "site-24.gif", $couleur_claire, "black"); + echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>"; + + echo $tranches; - $result = spip_query($requete); - $num_rows = spip_num_rows($result); + $result = spip_query("SELECT * FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $ifond = 0; - $premier = true; - $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); + $ifond = 0; + $premier = true; + $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); - if ($voir_logo) include_spip('inc/logos'); + if ($voir_logo) include_spip('inc/logos'); - $compteur_liste = 0; - while ($row = spip_fetch_array($result)) { + $compteur_liste = 0; + while ($row = spip_fetch_array($result)) { $vals = ''; $id_syndic=$row["id_syndic"]; $id_rubrique=$row["id_rubrique"]; @@ -127,66 +138,66 @@ function afficher_sites($titre_table, $requete) { //echo "</td>"; //echo "</tr></n>"; $table[] = $vals; - } - spip_free_result($result); - - $largeurs = array('','',''); - $styles = array('arial11', 'arial1', 'arial1'); - echo afficher_liste($largeurs, $table, $styles); - echo "</table>"; - //fin_cadre_relief(); - echo "</div>\n"; } + spip_free_result($result); + + $largeurs = array('','',''); + $styles = array('arial11', 'arial1', 'arial1'); + echo afficher_liste($largeurs, $table, $styles); + echo "</table>"; + echo "</div>\n"; return $tous_id; } function afficher_syndic_articles($titre_table, $requete, $afficher_site = false) { - global $connect_statut; - global $REQUEST_URI; - global $debut_liste_sites; - global $flag_editable; + global $connect_statut, $REQUEST_URI, $spip_lang_rtl, $spip_lang_right; - static $n_liste_sites; - global $spip_lang_rtl, $spip_lang_right; + $cols = 2; + if ($connect_statut == '0minirezo') $cols ++; + if ($afficher_site) $cols ++; - $adresse_page = substr($REQUEST_URI, strpos($REQUEST_URI, "/ecrire")+8, strlen($REQUEST_URI)); - $adresse_page = ereg_replace("\&?debut\_liste\_sites\[$n_liste_sites\]\=[0-9]+","",$adresse_page); - $adresse_page = ereg_replace("\&?(ajouter\_lien|supprimer_lien)\=[0-9]+","",$adresse_page); + $tous_id = array(); - if (ereg("\?",$adresse_page)) $lien_url = "&"; - else $lien_url = "?"; + $from = $requete['FROM'] ? $requete['FROM'] : 'spip_syndic_articles'; + $where = $requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : ''; + $order = $requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : ''; + $group = $requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : ''; + $limit = $requete['LIMIT'] ? (' LIMIT ' . $requete['LIMIT']) : ''; - $lien_url .= "debut_liste_sites[".$n_liste_sites."]=".$debut_liste_sites[$n_liste_sites]."&"; + $cpt = "$from$where$group"; + $tmp_var = substr(md5($cpt), 0, 4); + $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM $cpt")); + if (! ($obligatoire OR ($cpt = $cpt['n']))) return $tous_id ; + if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt); - $cols = 2; - if ($connect_statut == '0minirezo') $cols ++; - if ($afficher_site) $cols ++; + $nb_aff = 1.5 * _TRANCHES; + $deb_aff = intval(_request('t_' .$tmp_var)); - if (preg_match('/(\s+FROM\s+.*?)(ORDER\s+BY\s+.*)?$/ms', - $requete, - $r)) { - $cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n$r[1]")); - $cpt = $cpt['n']; - $tranches = afficher_tranches_requete($requete, $cpt, $cols); - } + if ($cpt > $nb_aff) { + $nb_aff = (_TRANCHES); + $tranches = afficher_tranches_requete($cpt, $cols, $tmp_var, '', $nb_aff); - if (strlen($tranches)) { + } - if ($titre_table) echo "<div style='height: 12px;'></div>"; - echo "<div class='liste'>"; + if ($titre_table) echo "<div style='height: 12px;'></div>"; + echo "<div class='liste'>"; //debut_cadre_relief("rubrique-24.gif"); - if ($titre_table) { + if ($titre_table) { bandeau_titre_boite2($titre_table, "site-24.gif", "#999999", "white"); - } - echo "<table width=100% cellpadding=3 cellspacing=0 border=0 background=''>"; + } + echo "<table width=100% cellpadding=3 cellspacing=0 border=0 background=''>"; - echo $tranches; + echo $tranches; - $result = spip_query($requete); + $result = spip_query("SELECT * FROM $from$where$group$order LIMIT $deb_aff, $nb_aff"); - $table = ''; - while ($row = spip_fetch_array($result)) { + $adresse_page = substr($REQUEST_URI, strpos($REQUEST_URI, "/ecrire")+8, strlen($REQUEST_URI)); + $adresse_page = ereg_replace("\&?(ajouter\_lien|supprimer_lien)\=[0-9]+","",$adresse_page); + $adresse_page = ereg_replace("\&?(t_$tmp_var)\=[0-9]+","",$adresse_page); + $adresse_page .= (ereg("\?",$adresse_page) ? "&" : "?") . 't_' .$tmp_var . '=' . $deb_aff . '&'; + $table = ''; + while ($row = spip_fetch_array($result)) { $vals = ''; $id_syndic_article=$row["id_syndic_article"]; @@ -270,11 +281,11 @@ function afficher_syndic_articles($titre_table, $requete, $afficher_site = false if ($connect_statut == '0minirezo'){ if ($statut == "publie"){ - $s = "[<a href='".$adresse_page.$lien_url."id_syndic=$id_syndic&supprimer_lien=$id_syndic_article'><font color='black'>"._T('info_bloquer_lien')."</font></a>]"; + $s = "[<a href='".$adresse_page."id_syndic=$id_syndic&supprimer_lien=$id_syndic_article'><font color='black'>"._T('info_bloquer_lien')."</font></a>]"; } else if ($statut == "refuse"){ - $s = "[<a href='".$adresse_page.$lien_url."id_syndic=$id_syndic&ajouter_lien=$id_syndic_article'>"._T('info_retablir_lien')."</a>]"; + $s = "[<a href='".$adresse_page."id_syndic=$id_syndic&ajouter_lien=$id_syndic_article'>"._T('info_retablir_lien')."</a>]"; } else if ($statut == "off" AND $my_sites[$id_syndic]['miroir'] == 'oui') { @@ -282,34 +293,34 @@ function afficher_syndic_articles($titre_table, $requete, $afficher_site = false } else /* 'dispo' ou 'off' (dans le cas ancien site 'miroir') */ { - $s = "[<a href='".$adresse_page.$lien_url."id_syndic=$id_syndic&ajouter_lien=$id_syndic_article'>"._T('info_valider_lien')."</a>]"; + $s = "[<a href='".$adresse_page."id_syndic=$id_syndic&ajouter_lien=$id_syndic_article'>"._T('info_valider_lien')."</a>]"; } $vals[] = $s; } $table[] = $vals; } - spip_free_result($result); + spip_free_result($result); - if ($afficher_site) { + if ($afficher_site) { $largeurs = array(7, '', '100'); $styles = array('','arial11', 'arial1'); - } else { + } else { $largeurs = array(7, ''); $styles = array('','arial11'); - } - if ($connect_statut == '0minirezo') { + } + if ($connect_statut == '0minirezo') { $largeurs[] = '80'; $styles[] = 'arial1'; - } + } - echo afficher_liste($largeurs, $table, $styles); + echo afficher_liste($largeurs, $table, $styles); + + echo "</TABLE>"; + //fin_cadre_relief(); + echo "</div>"; - echo "</TABLE>"; - //fin_cadre_relief(); - echo "</div>"; - } return $tous_id; } ?> diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index 1047617ff5df23b16a74af1252d9d82ab50ab5c3..642ac47c363206eb5086148095b19d8ae5416288 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -539,7 +539,7 @@ function calculer_critere_infixe($idb, &$boucles, $crit) { list($fct, $col, $op, $val, $args_sql) = calculer_critere_infixe_ops($idb, $boucles, $crit); - spip_log("col $col "); + // Cas particulier : id_enfant => utiliser la colonne id_objet if ($col == 'id_enfant') $col = $boucle->primary; @@ -554,7 +554,6 @@ function calculer_critere_infixe($idb, &$boucles, $crit) { $col, $regs)) { list($col, $table) = calculer_critere_infixe_date($idb, $boucles, $regs); - spip_log("col $col table $table"); } // HACK : selection des documents selon mode 'image'