From a7c24deae365ec4ed1083bf996278d1f950c76d6 Mon Sep 17 00:00:00 2001 From: ARNO* <arno@rezo.net> Date: Sun, 26 May 2002 21:21:44 +0000 Subject: [PATCH] =?UTF-8?q?Modification=20dans=20la=20gestion=20des=20mess?= =?UTF-8?q?ages=20des=20forums.=20Notamment:=20les=20messages=20priv=C2=8E?= =?UTF-8?q?s=20effac=C2=8Es=20passent=20en=20statut=3D"privoff",=20ce=20qu?= =?UTF-8?q?i=20permet=20de=20les=20diff=C2=8Erencier=20des=20messages=20pu?= =?UTF-8?q?blics=20effac=C2=8Es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 1 + ecrire/articles_forum.php3 | 2 +- ecrire/controle_forum.php3 | 35 +++- ecrire/controle_forum_prive.php3 | 337 ++++++++++++++++++++++++++++++ ecrire/controle_forum_public.php3 | 337 ++++++++++++++++++++++++++++++ ecrire/controle_petition.php3 | 6 +- ecrire/forum.php3 | 6 +- ecrire/forum_admin.php3 | 6 +- ecrire/img_pack/cadenas-24.gif | Bin 0 -> 317 bytes ecrire/inc.php3 | 1 + ecrire/inc_presentation.php3 | 6 + 11 files changed, 717 insertions(+), 20 deletions(-) create mode 100644 ecrire/controle_forum_prive.php3 create mode 100644 ecrire/controle_forum_public.php3 create mode 100644 ecrire/img_pack/cadenas-24.gif diff --git a/.gitattributes b/.gitattributes index ebabe7d943..3d9e8535c4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -61,6 +61,7 @@ ecrire/img_pack/bonhomme-bleu.gif -text ecrire/img_pack/bonhomme-noir.gif -text ecrire/img_pack/bonhomme-rouge.gif -text ecrire/img_pack/breve-24.gif -text +ecrire/img_pack/cadenas-24.gif -text ecrire/img_pack/cadre-b.gif -text ecrire/img_pack/cadre-bd.gif -text ecrire/img_pack/cadre-bg.gif -text diff --git a/ecrire/articles_forum.php3 b/ecrire/articles_forum.php3 index be82f14b78..a0be6c0099 100644 --- a/ecrire/articles_forum.php3 +++ b/ecrire/articles_forum.php3 @@ -69,7 +69,7 @@ echo "<p>"; $mots_cles_forums = lire_meta("mots_cles_forums"); if ($connect_statut == "0minirezo") { - $query_forum = "SELECT * FROM spip_forum WHERE id_article='$id_article' AND id_parent=0 AND statut!='redac' ORDER BY date_heure DESC"; + $query_forum = "SELECT * FROM spip_forum WHERE id_article='$id_article' AND id_parent=0 AND statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='redac' ORDER BY date_heure DESC"; $result_forum = spip_query($query_forum); afficher_forum($result_forum, $forum_retour, 'oui'); } diff --git a/ecrire/controle_forum.php3 b/ecrire/controle_forum.php3 index 668234f2e9..7fb90d1369 100644 --- a/ecrire/controle_forum.php3 +++ b/ecrire/controle_forum.php3 @@ -4,6 +4,13 @@ include ("inc.php3"); debut_page("Suivi des forums", "messagerie", "forum-controle"); + +echo "<br><br><br>"; +gros_titre("Suivi des forums (tous les messages)"); +barre_onglets("suivi_forum", "tous"); + + + debut_gauche(); @@ -194,7 +201,7 @@ function controle_forum($request,$adresse_retour) { if ($compteur_forum==1) echo "<BR><BR>"; - if ($forum_stat=="off") { + if ($forum_stat=="off" OR $forum_stat == "privoff") { echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>"; }else if($forum_stat=="prop"){ echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>"; @@ -220,8 +227,15 @@ function controle_forum($request,$adresse_retour) { echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>"; echo "<TR><TD>"; echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; - if ($forum_stat=="publie") echo "<FONT FACE='arial,helvetica' COLOR='red'>[sur le site public]</FONT> "; - echo "<FONT FACE='arial,helvetica'>$forum_date_heure</FONT>"; + if ($forum_stat=="publie" OR $forum_stat == "off") { + echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> "; + } + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){ + echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace privé]</FONT> "; + } + echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>"; if (strlen($forum_auteur) > 2) { if (strlen($forum_email_auteur) > 3) { $forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>"; @@ -229,8 +243,9 @@ function controle_forum($request,$adresse_retour) { echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>"; } - if ($forum_stat <> "off") { - icone ("Supprimer ce message", "controle_forum.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + if ($forum_stat <> "off" AND $forum_stat <> "prioff") { + if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); } else { echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIMÉ $forum_ip</B></FONT>"; @@ -272,7 +287,7 @@ function controle_forum($request,$adresse_retour) { echo "</TD></TR></TABLE>\n"; - if ($forum_stat == 'off' OR $forum_stat=='prop') { + if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') { echo "</TD></TR></TABLE>"; } } @@ -283,7 +298,7 @@ echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; if ($connect_statut == "0minirezo") { - gros_titre("Suivi des forums"); +// gros_titre("Suivi des forums"); if (!$debut) $debut = 0; @@ -295,11 +310,11 @@ if ($connect_statut == "0minirezo") { if ($total > 10) { echo "<p>"; for ($i = 0; $i < $total; $i = $i + 10){ - $y = $i + 9; + if ($i > 0) echo " | "; if ($i == $debut) - echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; + echo "<FONT SIZE=3><B>$i</B></FONT>"; else - echo "[<A HREF='controle_forum.php3?debut=$i'>$i-$y</A>] "; + echo "<A HREF='controle_forum.php3?debut=$i'>$i</A>"; } } diff --git a/ecrire/controle_forum_prive.php3 b/ecrire/controle_forum_prive.php3 new file mode 100644 index 0000000000..9858a20c21 --- /dev/null +++ b/ecrire/controle_forum_prive.php3 @@ -0,0 +1,337 @@ +<?php + +include ("inc.php3"); + + +debut_page("Suivi des forums", "messagerie", "forum-controle"); + +echo "<br><br><br>"; +gros_titre("Suivi des forums de l'espace privé"); +barre_onglets("suivi_forum", "prive"); +debut_gauche(); + + +debut_boite_info(); + +echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>"; +echo propre("La page de {suivi des forums} est un outil de gestion de votre site (et non un espace de discussion ou de rédaction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l'espace privé et vous permet de gérer ces contributions."); + +echo aide ("suiviforum"); +echo "</FONT>"; + +fin_boite_info(); + +// +// Afficher les boutons de creation d'article et de breve +// +if ($connect_statut == '0minirezo') { + debut_cadre_enfonce(); + echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1>"; + echo "<b>RACCOURCIS :</b><p>"; + + + icone_horizontale("Forum interne", "forum.php3", "forum-interne-24.gif", "rien.gif"); + icone_horizontale("Forum des administrateurs", "forum_admin.php3", "forum-admin-24.gif", "rien.gif"); + + /* + $query_petition = "SELECT COUNT(*) FROM spip_forum WHERE date_heure > DATE_SUB(NOW(),INTERVAL 30 DAY)"; + $result_petition = spip_query($query_petition); + if ($row = mysql_fetch_array($result_petition)) { + $nombre_petition = $row[0]; + } + if ($nombre_petition > 0) { + echo "<p>"; + icone_horizontale("$nombre_petition messages de forums", "controle_forum.php3", "suivi-forum-24.gif", "rien.gif"); + } + */ + + + $query_petition = "SELECT COUNT(*) AS cnt FROM spip_signatures WHERE (statut='publie' OR statut='poubelle')"; + $result_petition = spip_query($query_petition); + if ($row = mysql_fetch_array($result_petition)){ + $nombre_petition = $row['cnt']; + } + if ($nombre_petition > 0) { + echo "<p>"; + icone_horizontale("$nombre_petition signatures de pétitions", "controle_petition.php3", "suivi-forum-24.gif", "rien.gif"); + } + + + + echo "</font>"; + fin_cadre_enfonce(); +} + + + + +debut_droite(); + $mots_cles_forums = lire_meta("mots_cles_forums"); + + + +function forum_parent($id_forum) { + + $query_forum = "SELECT * FROM spip_forum WHERE id_forum=\"$id_forum\" AND statut != 'redac'"; + $result_forum = spip_query($query_forum); + + while($row=mysql_fetch_array($result_forum)){ + $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_id_syndic=$row['id_syndic']; + $forum_date_heure=$row['date_heure']; + $forum_titre=$row['titre']; + $forum_texte=$row['texte']; + $forum_auteur=$row['auteur']; + $forum_email_auteur=$row['email_auteur']; + $forum_nom_site=$row['nom_site']; + $forum_url_site=$row['url_site']; + $forum_stat=$row['statut']; + $forum_ip=$row['ip']; + + if ($forum_id_article > 0) { + + $query = "SELECT id_article, titre, statut FROM spip_articles WHERE id_article='$forum_id_article'"; + $result = spip_query($query); + + while($row=mysql_fetch_array($result)) { + $id_article = $row['id_article']; + $titre = $row['titre']; + $statut = $row['statut']; + } + + if ($forum_stat == "prive") { + return $retour."<B>Réponse à l'article <A HREF='articles.php3?id_article=$id_article'>$titre</A></B>"; + } + else { + $retour .= "<a href='articles_forum.php3?id_article=$id_article'><font color='red'>Gérer le forum public de cet article</font></a><br>"; + return $retour."<B>Réponse à l'article <A HREF='".generer_url_article($id_article)."'>$titre</A></B>"; + } + } + else if ($forum_id_rubrique > 0) { + $query2 = "SELECT * FROM spip_rubriques WHERE id_rubrique=\"$forum_id_rubrique\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_rubrique = $row['id_rubrique']; + $titre = $row['titre']; + } + return "<B>Réponse à la rubrique <A HREF='".generer_url_rubrique($id_rubrique)."'>$titre</A></B>"; + } + else if ($forum_id_syndic > 0) { + $query2 = "SELECT * FROM spip_syndic WHERE id_syndic=\"$forum_id_syndic\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_syndic = $row['id_syndic']; + $titre = $row['nom_site']; + $statut = $row['statut']; + } + return "<B>Réponse au site référencé : <A HREF='sites.php3?id_syndic=$id_syndic'>$titre</A></B>"; + } + else if ($forum_id_breve > 0) { + $query2 = "SELECT * FROM spip_breves WHERE id_breve=\"$forum_id_breve\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_breve = $row['id_breve']; + $date_heure = $row['date_heure']; + $titre = $row['titre']; + } + if ($forum_stat == "prive") { + return "<B>Réponse à la brève <A HREF='breves_voir.php3?id_breve=$id_breve'>$titre</A></B>"; + } + else { + return "<B>Réponse à la brève <A HREF='".generer_url_breve($id_breve)."'>$titre</A></B>"; + } + } + else if ($forum_stat == "privadm") { + $retour = forum_parent($forum_id_parent); + + if (strlen($retour)>0) return $retour; + else return "<B>Message du <A HREF='forum_admin.php3'>forum des administrateurs</A></B>"; + } + else { + $retour = forum_parent($forum_id_parent); + + if (strlen($retour)>0) return $retour; + else return "<B>Message du <A HREF='forum.php3'>forum interne</A></B>"; + } + } + +} + + + +function controle_forum($request,$adresse_retour) { + global $compteur_forum; + static $nb_forum; + global $debut; + static $i; + global $couleur_foncee; + global $mots_cles_forums; + + + $compteur_forum++; + + $nb_forum[$compteur_forum] = mysql_num_rows($request); + $i[$compteur_forum] = 1; + while($row=mysql_fetch_array($request)){ + $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 = $row['titre']; + $forum_texte = $row['texte']; + $forum_auteur = $row['auteur']; + $forum_email_auteur = $row['email_auteur']; + $forum_nom_site = $row['nom_site']; + $forum_url_site = $row['url_site']; + $forum_stat = $row['statut']; + $forum_ip = $row['ip']; + $forum_id_auteur = $row["id_auteur"]; + + if ($compteur_forum==1) + echo "<BR><BR>"; + if ($forum_stat=="off" OR $forum_stat == "privoff") { + echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>"; + }else if($forum_stat=="prop"){ + echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>"; + } + echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>"; + + for ($count = 2; $count <= $compteur_forum AND $count < 11; $count++) { + + $fond[$count] = 'img_pack/rien.gif'; + if ($i[$count] != $nb_forum[$count]) { + $fond[$count] = 'img_pack/forum-vert.gif'; + } + + $fleche='img_pack/rien.gif'; + if ($count == $compteur_forum) { + $fleche='img_pack/forum-droite.gif'; + } + echo "<TD WIDTH=10 VALIGN='top' BACKGROUND=$fond[$count]><IMG SRC=$fleche ALT='' WIDTH=10 HEIGHT=13 BORDER=0></TD>\n"; + } + + echo "<TD WIDTH=100% BGCOLOR='#EEEEEE' VALIGN='top'>"; + + echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>"; + echo "<TR><TD>"; + echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; + if ($forum_stat=="publie" OR $forum_stat == "off") { + echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> "; + } + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){ + echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace privé]</FONT> "; + } + echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>"; + if (strlen($forum_auteur) > 2) { + if (strlen($forum_email_auteur) > 3) { + $forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>"; + } + echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>"; + } + + if ($forum_stat <> "off" AND $forum_stat <> "prioff") { + if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum_prive.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum_prive.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + } + else { + echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIMÉ $forum_ip</B></FONT>"; + if($forum_id_auteur>0){ + echo " - <A HREF='auteurs_edit.php3?id_auteur=$forum_id_auteur'>Voir cet auteur</A>"; + + } + + } + + if ($forum_stat=="prop"){ + icone("Valider ce message", "controle_forum_prive.php3?valid_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "creer.gif", "right"); + } + + echo "<BR>".forum_parent($id_forum); + + echo "<P align='justify'>".propre($forum_texte); + + if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) > 3) { + echo "<P align='left'><FONT FACE='Verdana,Arial,Helvetica,sans-serif'><B><A HREF='$forum_url_site'>$forum_nom_site</A></B></FONT>"; + } + + if ($mots_cles_forums == "oui"){ + + $query_mots = "SELECT * FROM spip_mots AS mots, spip_mots_forum AS lien WHERE lien.id_forum = '$id_forum' AND lien.id_mot = mots.id_mot"; + $result_mots = spip_query($query_mots); + + while ($row_mots = mysql_fetch_array($result_mots)) { + $id_mot = $row_mots['id_mot']; + $titre_mot = propre($row_mots['titre']); + $type_mot = propre($row_mots['type']); + echo "<li> <b>$type_mot :</b> $titre_mot"; + } + + } + + echo "</FONT>"; + echo "</TD></TR></TABLE>"; + + echo "</TD></TR></TABLE>\n"; + + if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') { + echo "</TD></TR></TABLE>"; + } + } +} + + +echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; + +if ($connect_statut == "0minirezo") { + + //gros_titre("Suivi des forums"); + + if (!$debut) $debut = 0; + + $query_forum = "SELECT COUNT(*) AS cnt FROM spip_forum WHERE statut!='off' AND statut!='publie' AND statut!='perso' AND statut != 'redac' AND date_heure>DATE_SUB(NOW(),INTERVAL 30 DAY)"; + $result_forum = spip_query($query_forum); + $total = 0; + if ($row = mysql_fetch_array($result_forum)) $total = $row['cnt']; + + if ($total > 10) { + echo "<p>"; + for ($i = 0; $i < $total; $i = $i + 10){ + if ($i > 0) echo " | "; + if ($i == $debut) + echo "<FONT SIZE=3><B>$i</B></FONT>"; + else + echo "<A HREF='controle_forum_prive.php3?debut=$i'>$i</A>"; + } + } + + $query_forum = "SELECT * FROM spip_forum WHERE statut!='off' AND statut!='publie' AND statut!='perso' AND statut != 'redac' ORDER BY date_heure DESC LIMIT $debut,10"; + $result_forum = spip_query($query_forum); + controle_forum($result_forum, "forum.php3"); + +// afficher_forum($result_forum, $forum_retour,'oui','non'); + +} +else { + echo "<B>Vous n'avez pas accès à cette page.</B>"; +} + + +echo "</FONT>"; + + +fin_page(); + + +?> + diff --git a/ecrire/controle_forum_public.php3 b/ecrire/controle_forum_public.php3 new file mode 100644 index 0000000000..1e2647bcf4 --- /dev/null +++ b/ecrire/controle_forum_public.php3 @@ -0,0 +1,337 @@ +<?php + +include ("inc.php3"); + + +debut_page("Suivi des forums", "messagerie", "forum-controle"); + +echo "<br><br><br>"; +gros_titre("Suivi des forums du site public"); +barre_onglets("suivi_forum", "public"); +debut_gauche(); + + +debut_boite_info(); + +echo "<FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2>"; +echo propre("La page de {suivi des forums} est un outil de gestion de votre site (et non un espace de discussion ou de rédaction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l'espace privé et vous permet de gérer ces contributions."); + +echo aide ("suiviforum"); +echo "</FONT>"; + +fin_boite_info(); + +// +// Afficher les boutons de creation d'article et de breve +// +if ($connect_statut == '0minirezo') { + debut_cadre_enfonce(); + echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1>"; + echo "<b>RACCOURCIS :</b><p>"; + + + icone_horizontale("Forum interne", "forum.php3", "forum-interne-24.gif", "rien.gif"); + icone_horizontale("Forum des administrateurs", "forum_admin.php3", "forum-admin-24.gif", "rien.gif"); + + /* + $query_petition = "SELECT COUNT(*) FROM spip_forum WHERE date_heure > DATE_SUB(NOW(),INTERVAL 30 DAY)"; + $result_petition = spip_query($query_petition); + if ($row = mysql_fetch_array($result_petition)) { + $nombre_petition = $row[0]; + } + if ($nombre_petition > 0) { + echo "<p>"; + icone_horizontale("$nombre_petition messages de forums", "controle_forum.php3", "suivi-forum-24.gif", "rien.gif"); + } + */ + + + $query_petition = "SELECT COUNT(*) AS cnt FROM spip_signatures WHERE (statut='publie' OR statut='poubelle')"; + $result_petition = spip_query($query_petition); + if ($row = mysql_fetch_array($result_petition)){ + $nombre_petition = $row['cnt']; + } + if ($nombre_petition > 0) { + echo "<p>"; + icone_horizontale("$nombre_petition signatures de pétitions", "controle_petition.php3", "suivi-forum-24.gif", "rien.gif"); + } + + + + echo "</font>"; + fin_cadre_enfonce(); +} + + + + +debut_droite(); + $mots_cles_forums = lire_meta("mots_cles_forums"); + + + +function forum_parent($id_forum) { + + $query_forum = "SELECT * FROM spip_forum WHERE id_forum=\"$id_forum\" AND statut != 'redac'"; + $result_forum = spip_query($query_forum); + + while($row=mysql_fetch_array($result_forum)){ + $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_id_syndic=$row['id_syndic']; + $forum_date_heure=$row['date_heure']; + $forum_titre=$row['titre']; + $forum_texte=$row['texte']; + $forum_auteur=$row['auteur']; + $forum_email_auteur=$row['email_auteur']; + $forum_nom_site=$row['nom_site']; + $forum_url_site=$row['url_site']; + $forum_stat=$row['statut']; + $forum_ip=$row['ip']; + + if ($forum_id_article > 0) { + + $query = "SELECT id_article, titre, statut FROM spip_articles WHERE id_article='$forum_id_article'"; + $result = spip_query($query); + + while($row=mysql_fetch_array($result)) { + $id_article = $row['id_article']; + $titre = $row['titre']; + $statut = $row['statut']; + } + + if ($forum_stat == "prive") { + return $retour."<B>Réponse à l'article <A HREF='articles.php3?id_article=$id_article'>$titre</A></B>"; + } + else { + $retour .= "<a href='articles_forum.php3?id_article=$id_article'><font color='red'>Gérer le forum public de cet article</font></a><br>"; + return $retour."<B>Réponse à l'article <A HREF='".generer_url_article($id_article)."'>$titre</A></B>"; + } + } + else if ($forum_id_rubrique > 0) { + $query2 = "SELECT * FROM spip_rubriques WHERE id_rubrique=\"$forum_id_rubrique\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_rubrique = $row['id_rubrique']; + $titre = $row['titre']; + } + return "<B>Réponse à la rubrique <A HREF='".generer_url_rubrique($id_rubrique)."'>$titre</A></B>"; + } + else if ($forum_id_syndic > 0) { + $query2 = "SELECT * FROM spip_syndic WHERE id_syndic=\"$forum_id_syndic\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_syndic = $row['id_syndic']; + $titre = $row['nom_site']; + $statut = $row['statut']; + } + return "<B>Réponse au site référencé : <A HREF='sites.php3?id_syndic=$id_syndic'>$titre</A></B>"; + } + else if ($forum_id_breve > 0) { + $query2 = "SELECT * FROM spip_breves WHERE id_breve=\"$forum_id_breve\""; + $result2 = spip_query($query2); + + while($row = mysql_fetch_array($result2)){ + $id_breve = $row['id_breve']; + $date_heure = $row['date_heure']; + $titre = $row['titre']; + } + if ($forum_stat == "prive") { + return "<B>Réponse à la brève <A HREF='breves_voir.php3?id_breve=$id_breve'>$titre</A></B>"; + } + else { + return "<B>Réponse à la brève <A HREF='".generer_url_breve($id_breve)."'>$titre</A></B>"; + } + } + else if ($forum_stat == "privadm") { + $retour = forum_parent($forum_id_parent); + + if (strlen($retour)>0) return $retour; + else return "<B>Message du <A HREF='forum_admin.php3'>forum des administrateurs</A></B>"; + } + else { + $retour = forum_parent($forum_id_parent); + + if (strlen($retour)>0) return $retour; + else return "<B>Message du <A HREF='forum.php3'>forum interne</A></B>"; + } + } + +} + + + +function controle_forum($request,$adresse_retour) { + global $compteur_forum; + static $nb_forum; + global $debut; + static $i; + global $couleur_foncee; + global $mots_cles_forums; + + + $compteur_forum++; + + $nb_forum[$compteur_forum] = mysql_num_rows($request); + $i[$compteur_forum] = 1; + while($row=mysql_fetch_array($request)){ + $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 = $row['titre']; + $forum_texte = $row['texte']; + $forum_auteur = $row['auteur']; + $forum_email_auteur = $row['email_auteur']; + $forum_nom_site = $row['nom_site']; + $forum_url_site = $row['url_site']; + $forum_stat = $row['statut']; + $forum_ip = $row['ip']; + $forum_id_auteur = $row["id_auteur"]; + + if ($compteur_forum==1) + echo "<BR><BR>"; + if ($forum_stat=="off" OR $forum_stat == "privoff") { + echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>"; + }else if($forum_stat=="prop"){ + echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FFFF00'>"; + } + echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>"; + + for ($count = 2; $count <= $compteur_forum AND $count < 11; $count++) { + + $fond[$count] = 'img_pack/rien.gif'; + if ($i[$count] != $nb_forum[$count]) { + $fond[$count] = 'img_pack/forum-vert.gif'; + } + + $fleche='img_pack/rien.gif'; + if ($count == $compteur_forum) { + $fleche='img_pack/forum-droite.gif'; + } + echo "<TD WIDTH=10 VALIGN='top' BACKGROUND=$fond[$count]><IMG SRC=$fleche ALT='' WIDTH=10 HEIGHT=13 BORDER=0></TD>\n"; + } + + echo "<TD WIDTH=100% BGCOLOR='#EEEEEE' VALIGN='top'>"; + + echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee'><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=2 COLOR='#FFFFFF'><B>".typo($forum_titre)."</B></FONT></TD></TR>"; + echo "<TR><TD>"; + echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; + if ($forum_stat=="publie" OR $forum_stat == "off") { + echo "<img src='img_pack/racine-site-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[sur le site public]</FONT> "; + } + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm" OR $forum_stat == "privoff"){ + echo "<img src='img_pack/cadenas-24.gif' border=0 align='left'>"; + echo "<FONT FACE='arial,helvetica' COLOR='#$couleur_foncee'>[dans l'espace privé]</FONT> "; + } + echo "<FONT FACE='arial,helvetica'>".nom_jour($forum_date_heure)." ".affdate($forum_date_heure)." ˆ ".heures($forum_date_heure)." heures ".minutes($forum_date_heure)."</FONT>"; + if (strlen($forum_auteur) > 2) { + if (strlen($forum_email_auteur) > 3) { + $forum_auteur="<A HREF=\"mailto:$forum_email_auteur?SUBJECT=".rawurlencode($forum_titre)."\">$forum_auteur</A>"; + } + echo "<FONT FACE='arial,helvetica'> / <B>$forum_auteur</B></FONT>"; + } + + if ($forum_stat <> "off" AND $forum_stat <> "prioff") { + if ($forum_stat == "publie") icone ("Supprimer ce message", "controle_forum_public.php3?supp_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") icone ("Supprimer ce message", "controle_forum_public.php3?supp_forum_priv=$id_forum&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right"); + } + else { + echo "<BR><FONT COLOR='red'><B>MESSAGE SUPPRIMÉ $forum_ip</B></FONT>"; + if($forum_id_auteur>0){ + echo " - <A HREF='auteurs_edit.php3?id_auteur=$forum_id_auteur'>Voir cet auteur</A>"; + + } + + } + + if ($forum_stat=="prop"){ + icone("Valider ce message", "controle_forum_public.php3?valid_forum=$id_forum&debut=$debut", "forum-interne-24.gif", "creer.gif", "right"); + } + + echo "<BR>".forum_parent($id_forum); + + echo "<P align='justify'>".propre($forum_texte); + + if (strlen($forum_url_site) > 10 AND strlen($forum_nom_site) > 3) { + echo "<P align='left'><FONT FACE='Verdana,Arial,Helvetica,sans-serif'><B><A HREF='$forum_url_site'>$forum_nom_site</A></B></FONT>"; + } + + if ($mots_cles_forums == "oui"){ + + $query_mots = "SELECT * FROM spip_mots AS mots, spip_mots_forum AS lien WHERE lien.id_forum = '$id_forum' AND lien.id_mot = mots.id_mot"; + $result_mots = spip_query($query_mots); + + while ($row_mots = mysql_fetch_array($result_mots)) { + $id_mot = $row_mots['id_mot']; + $titre_mot = propre($row_mots['titre']); + $type_mot = propre($row_mots['type']); + echo "<li> <b>$type_mot :</b> $titre_mot"; + } + + } + + echo "</FONT>"; + echo "</TD></TR></TABLE>"; + + echo "</TD></TR></TABLE>\n"; + + if ($forum_stat == 'off' OR $forum_stat == 'privoff' OR $forum_stat=='prop') { + echo "</TD></TR></TABLE>"; + } + } +} + + +echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; + +if ($connect_statut == "0minirezo") { + + //gros_titre("Suivi des forums"); + + if (!$debut) $debut = 0; + + $query_forum = "SELECT COUNT(*) AS cnt FROM spip_forum WHERE statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='perso' AND statut != 'redac' AND date_heure>DATE_SUB(NOW(),INTERVAL 30 DAY)"; + $result_forum = spip_query($query_forum); + $total = 0; + if ($row = mysql_fetch_array($result_forum)) $total = $row['cnt']; + + if ($total > 10) { + echo "<p>"; + for ($i = 0; $i < $total; $i = $i + 10){ + if ($i > 0) echo " | "; + if ($i == $debut) + echo "<FONT SIZE=3><B>$i</B></FONT>"; + else + echo "<A HREF='controle_forum_public.php3?debut=$i'>$i</A>"; + } + } + + $query_forum = "SELECT * FROM spip_forum WHERE statut!= 'prive' AND statut!='privrac' AND statut!='privadm' AND statut!='privoff' AND statut!='perso' AND statut != 'redac' ORDER BY date_heure DESC LIMIT $debut,10"; + $result_forum = spip_query($query_forum); + controle_forum($result_forum, "forum.php3"); + +// afficher_forum($result_forum, $forum_retour,'oui','non'); + +} +else { + echo "<B>Vous n'avez pas accès à cette page.</B>"; +} + + +echo "</FONT>"; + + +fin_page(); + + +?> + diff --git a/ecrire/controle_petition.php3 b/ecrire/controle_petition.php3 index 063585f2f3..25f76b317e 100644 --- a/ecrire/controle_petition.php3 +++ b/ecrire/controle_petition.php3 @@ -158,11 +158,11 @@ if ($connect_statut == "0minirezo") { if ($total > 10) { echo "<p>"; for ($i = 0; $i < $total; $i = $i + 10){ - $y = $i + 9; + if ($i > 0) echo " | "; if ($i == $debut) - echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; + echo "<FONT SIZE=3><B>$i</B></FONT>"; else - echo "[<A HREF='controle_petition.php3?debut=$i'>$i-$y</A>] "; + echo "<A HREF='controle_petition.php3?debut=$i'>$i</A>"; } } diff --git a/ecrire/forum.php3 b/ecrire/forum.php3 index b693d9baa9..cc75d523c0 100644 --- a/ecrire/forum.php3 +++ b/ecrire/forum.php3 @@ -69,11 +69,11 @@ echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'>"; echo "<p>"; //echo "<CENTER>"; for ($i = 0; $i < $total; $i = $i + 10){ - $y = $i + 9; + if ($i > 0) echo " | "; if ($i == $debut) - echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; + echo "<FONT SIZE=3><B>$i</B></FONT>"; else - echo "[<A HREF='forum.php3?debut=$i'>$i-$y</A>] "; + echo "<A HREF='forum.php3?debut=$i'>$i</A>"; } //echo "</CENTER>"; } diff --git a/ecrire/forum_admin.php3 b/ecrire/forum_admin.php3 index ae32af7aba..7e94969954 100644 --- a/ecrire/forum_admin.php3 +++ b/ecrire/forum_admin.php3 @@ -70,11 +70,11 @@ if ($connect_statut == "0minirezo"){ echo "<p>"; //echo "<CENTER>"; for ($i = 0; $i < $total; $i = $i + 10){ - $y = $i + 9; + if ($i > 0) echo " | "; if ($i == $debut) - echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; + echo "<FONT SIZE=3><B>$i</B></FONT>"; else - echo "[<A HREF='forum_admin.php3?debut=$i'>$i-$y</A>] "; + echo "<A HREF='forum_admin.php3?debut=$i'>$i</A>"; } //echo "</CENTER>"; } diff --git a/ecrire/img_pack/cadenas-24.gif b/ecrire/img_pack/cadenas-24.gif new file mode 100644 index 0000000000000000000000000000000000000000..1bbcb6376a4292712c660fa14d4aa9b8dd47005f GIT binary patch literal 317 zcmV-D0mA-ANk%w1VHf}y0J9GOv9YpaVPBqG1J%{ljDvgh^!3G+QP8Ao_S?1>6AxD! z1KYKQtaB$zL_52OKIG)&A^8LW000jFEC2ui02lxm000E)@X0AbXc&`0I~_y<6l4Kl zz)*M;5s*Wwf=$X+4M|`@Fb=%|ht*K+2!N!|R2z1H%#E-B6uN|-WWi;d00>NM2U!Sg zJh@X>LSq~<mpJC&NHhXs3u3|NAO3&`27?X?U=;*=fP;*L4h#$ehC=`jdkcSriw=*G zlZc9$4h;zb3kIB!l4lQJp@R$wvZtw@tge`uv88mW0;`mkxv-=Ly`8|Ixq=J|2?PtZ zzn`s%!v+kb0mqQdx7LENvJJhe-odZf7y_ush2QCqob%o9l;Gj0jg9sd0*}7}3LL0_ P8i*bU6DmX~B?16D`7waJ literal 0 HcmV?d00001 diff --git a/ecrire/inc.php3 b/ecrire/inc.php3 index 9b9e6db70a..d935c59040 100644 --- a/ecrire/inc.php3 +++ b/ecrire/inc.php3 @@ -277,6 +277,7 @@ function changer_statut_forum($id_forum, $statut) { } if ($supp_forum) changer_statut_forum($supp_forum, 'off'); +if ($supp_forum_priv) changer_statut_forum($supp_forum_priv, 'privoff'); if ($valid_forum) changer_statut_forum($valid_forum, 'publie'); diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index ece6d93b39..a19c202ab1 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -946,6 +946,12 @@ function barre_onglets($rubrique, $onglet){ onglet("Fonctionnalités de SPIP", "config-fonctions.php3", "fonctions", $onglet, "statistiques-24.gif"); } + if ($rubrique == "suivi_forum"){ + onglet("Tous les messages", "controle_forum.php3", "tous", $onglet); + onglet("Messages du site public", "controle_forum_public.php3", "public", $onglet, "racine-site-24.gif"); + onglet("Messages du site privé", "controle_forum_prive.php3", "prive", $onglet, "cadenas-24.gif"); + } + fin_onglet(); -- GitLab