0) { $row=sql_fetsel("id_article, titre, statut", "spip_articles", "id_article=$forum_id_article"); $id_article = $row['id_article']; $titre = $row['titre']; $statut = $row['statut']; if ($forum_stat == "prive" OR $forum_stat == "privoff") { return array('pref' => _T('item_reponse_article'), 'url' => generer_url_ecrire("articles#poster_forum_prive-$id_forum","id_article=$id_article"), 'type' => 'id_article', 'valeur' => $id_article, 'titre' => $titre); } else { $ancre = "forum$id_forum" ; return array('pref' => _T('lien_reponse_article'), 'url' => generer_url_entite($id_article,'article', '',$ancre, true), 'type' => 'id_article', 'valeur' => $id_article, 'titre' => $titre, 'avant' => ""._T('lien_forum_public'). "
"); } } else if ($forum_id_rubrique > 0) { $row = sql_fetsel("*", "spip_rubriques", "id_rubrique=$forum_id_rubrique"); $id_rubrique = $row['id_rubrique']; $titre = $row['titre']; return array('pref' => _T('lien_reponse_rubrique'), 'url' => generer_url_entite($id_rubrique,'rubrique','','',true), 'type' => 'id_rubrique', 'valeur' => $id_rubrique, 'titre' => $titre); } else if ($forum_id_syndic > 0) { $row = sql_fetsel("*", "spip_syndic", "id_syndic=$forum_id_syndic"); $id_syndic = $row['id_syndic']; $titre = $row['nom_site']; $statut = $row['statut']; return array('pref' => _T('lien_reponse_site_reference'), 'url' => generer_url_ecrire("sites","id_syndic=$id_syndic"), 'type' => 'id_syndic', 'valeur' => $id_syndic, 'titre' => $titre); } else if ($forum_id_breve > 0) { $row = sql_fetsel("*", "spip_breves", "id_breve=$forum_id_breve"); $id_breve = $row['id_breve']; $date_heure = $row['date_heure']; $titre = $row['titre']; if ($forum_stat == "prive") { return array('pref' => _T('lien_reponse_breve'), 'url' => generer_url_ecrire("breves_voir","id_breve=$id_breve"), 'type' => 'id_breve', 'valeur' => $id_breve, 'titre' => $titre); } else { return array('pref' => _T('lien_reponse_breve_2'), 'url' => generer_url_entite($id_breve, 'breve','','',true), 'type' => 'id_breve', 'valeur' => $id_breve, 'titre' => $titre); } } else if ($forum_stat == "privadm") { $retour = forum_parent($forum_id_parent); if ($retour) return $retour; else return array('pref' => _T('info_message'), 'url' => generer_url_ecrire('forum_admin'), 'titre' => _T('info_forum_administrateur')); } else { $retour = forum_parent($forum_id_parent); if ($retour) return $retour; else return array('pref' => _T('info_message'), 'url' => generer_url_ecrire('forum'), 'titre' => _T('info_forum_interne')); } } // http://doc.spip.org/@controle_forum_boucle function controle_forum_boucle($row, $args) { $id_forum = $row['id_forum']; $forum_id_parent = $row['id_parent']; $forum_id_rubrique = $row['id_rubrique']; $forum_id_article = $row['id_article']; $forum_id_breve = $row['id_breve']; $forum_date_heure = $row['date_heure']; $forum_titre = echapper_tags($row['titre']); $forum_texte = $row['texte']; $forum_auteur = echapper_tags(extraire_multi($row['auteur'])); $forum_email_auteur = echapper_tags($row['email_auteur']); $forum_nom_site = echapper_tags($row['nom_site']); $forum_url_site = echapper_tags($row['url_site']); $forum_stat = $row['statut']; $forum_ip = $row['ip']; $forum_id_auteur = $row["id_auteur"]; $r = forum_parent($id_forum); $avant = $r['avant']; $url = $r['url']; $titre = $r['titre']; $type = $r['type']; $valeur = $r['valeur']; $pref = $r['pref']; if ($documents = sql_allfetsel('doc.id_document, doc.fichier AS fichier', 'spip_documents AS doc LEFT JOIN spip_documents_liens AS lien ON doc.id_document=lien.id_document', 'lien.id_objet='.intval($id_forum)." AND objet='forum'")) { include_spip('inc/documents'); foreach ($documents as $k => $t) { $h = generer_url_entite($t['id_document'], 'document'); $documents[$k] = "".basename($t['fichier']).""; } } switch($forum_stat) { case 'off': case 'privoff': $style = " style='border: 2px #ff0000 dashed;'"; break; case 'prop': $style = " style='border: 2px yellow solid; background-color: white;'"; break; case 'spam': $style = " style='border: 2px black dotted;'"; break; default: $style = ""; break; } if ($forum_email_auteur) { if (email_valide($forum_email_auteur)) $forum_email_auteur = "".$forum_email_auteur .""; $forum_auteur .= " — $forum_email_auteur"; } $suite = "\n
$avant$pref\n$titre" . "
".justifier(propre($forum_texte))."
"; include_spip('public/composer'); if ($forum_notes = safehtml(calculer_notes())) $suite .= "
".justifier(safehtml($forum_notes))."
"; if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) >= 3) $suite .= "\n
$forum_nom_site
"; return "\n

" . debut_cadre_forum("", true, "", typo($forum_titre)) . "" . date_interface($forum_date_heure) . safehtml(" / $forum_auteur") . boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur, "$type=$valeur", $forum_ip, 'controle_forum', $args) . safehtml(lignes_longues($suite)) . afficher_forum_mots($id_forum) . join(', ', $documents) . "
". fin_cadre_forum(true); } // // Debut de la page de controle // // http://doc.spip.org/@exec_controle_forum_dist function exec_controle_forum_dist() { exec_controle_forum_args(intval(_request('id_rubrique')), _request('type'), intval(_request('debut')), intval(_request('pas')), intval(_request('enplus')), _request('recherche')); } // http://doc.spip.org/@exec_controle_forum_args function exec_controle_forum_args($id_rubrique, $type, $debut, $pas, $enplus, $recherche) { if (!autoriser('publierdans','rubrique',$id_rubrique)) { include_spip('inc/minipres'); echo minipres(); } else { if (!preg_match('/^\w+$/', $type)) $type = 'public'; list($from,$where) = critere_statut_controle_forum($type, $id_rubrique, $recherche); exec_controle_forum_args2($id_rubrique, $type, $debut, $pas, $enplus, $recherche, $from, $where, intval(_request('debut_id_forum'))); } } function exec_controle_forum_args2($id_rubrique, $type, $debut, $pas, $enplus, $recherche, $from, $where, $debut_id_forum) { // Si un id_controle_forum est demande, on adapte le debut if ($debut_id_forum AND (NULL !== ($d = sql_getfetsel('date_heure', 'spip_forum', "id_forum=$debut_id_forum")))) { $debut = sql_countsel($from, $where . (" AND F.date_heure > '$d'")); } if ($recherche) $args = 'recherche='.rawurlencode($recherche).'&'; else $args = ''; $args .= (!$id_rubrique ? "" : "id_rubrique=$id_rubrique&") . 'type='; $query = array('SELECT' => "F.id_forum, F.id_parent, F.id_rubrique, F.id_article, F.id_breve, F.date_heure, F.titre, F.texte, F.auteur, F.email_auteur, F.nom_site, F.url_site, F.statut, F.ip, F.id_auteur", 'FROM' => $from, 'WHERE' => $where, 'GROUP BY' => "", 'ORDER BY' => "F.date_heure DESC"); $nav = affiche_navigation_forum($query, 'controle_forum', $args . $type, $debut, $pas, $enplus); $select = sql_select($query['SELECT'], $query['FROM'], $query['WHERE'], $query['GROUP BY'], $query['ORDER BY'], $query['LIMIT']); $res = ''; while ($row = sql_fetch($select)) $res .= controle_forum_boucle($row, "$args$type&debut=$debut"); $res = "
$nav
$res
$nav"; if (_AJAX) { ajax_retour($res); } else { pipeline('exec_init',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('titre_page_forum_suivi'), "forum", "forum-controle"); echo "


"; echo gros_titre(_T('titre_forum_suivi'),'',false); echo debut_onglet(); echo onglet(_T('onglet_messages_publics'), generer_url_ecrire('controle_forum', $args . "public"), "public", $type=='public', "forum-public-24.gif"); echo onglet(_T('onglet_messages_internes'), generer_url_ecrire('controle_forum', $args . "interne"), "interne", $type=='interne', "forum-interne-24.gif"); list($from,$where) = critere_statut_controle_forum('vide', $id_rubrique); $n = sql_fetsel('1', $from, $where); if ($n) echo onglet(_T('onglet_messages_vide'), generer_url_ecrire('controle_forum', $args . "vide"), "vide", $type=='vide'); list($from,$where) = critere_statut_controle_forum('prop', $id_rubrique); $f = sql_fetsel('1', $from, $where); if ($f) echo onglet(_T('texte_statut_attente_validation'), generer_url_ecrire('controle_forum', $args . "prop"), "prop", $type=='prop'); echo fin_onglet(); echo debut_gauche('', true); echo debut_boite_info(true); echo "", _T('info_gauche_suivi_forum_2'), aide("suiviforum"), ""; // Afficher le lien RSS echo bouton_spip_rss("forums_$type"); echo fin_boite_info(true); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo debut_droite('', true); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'controle_forum', 'type'=>$type),'data'=>'')); echo formulaire_recherche("controle_forum",""); echo "
"; echo "
", $res, "
"; echo fin_gauche(), fin_page(); } } ?>