diff --git a/.gitattributes b/.gitattributes index ebabe7d94364721f6d73bad86b1aa7666c8ba571..3d9e8535c47b40176594cafa76f17dd4cd43778a 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 be82f14b789fd56634f2ff82bdc2b75c78c92325..a0be6c0099c8220dcaedeec11a8b13634d1bbbcd 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 668234f2e925ce769f571d58db017b53f7b77fc1..7fb90d1369c647077e48ed7c78ab6d8ef0cbe7df 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 0000000000000000000000000000000000000000..9858a20c214ca15343a2dcb2fe2a7aba51eaf447 --- /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 0000000000000000000000000000000000000000..1e2647bcf4b3292bae140c743550a7907f3278c7 --- /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 063585f2f33c12e2066885a889371fc0e655cbf1..25f76b317e5c1636974c34de033823874880c3b4 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 b693d9baa92151dddcf8ea680ab153036a9c6489..cc75d523c00a65b0b4da10c70b492be3b625bcf0 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 ae32af7aba1c227a45ce0dd9ff2df1f2d9b13d30..7e94969954fd705a19757f5decf3349f51661a99 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 Binary files /dev/null and b/ecrire/img_pack/cadenas-24.gif differ diff --git a/ecrire/inc.php3 b/ecrire/inc.php3 index 9b9e6db70a1e9f2669bc0c991f8feeaec0356d19..d935c59040e2cdc458e50d9278b4ac7838d82430 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 ece6d93b39705b518285937047d3a177a669c3c3..a19c202ab1e3691ee1f343d43946f02a3a2502c4 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();