diff --git a/ecrire/inc.php3 b/ecrire/inc.php3 index 51841f2fdbde312c20cb82ce5cf88ad61f4f322e..347d5f9c5ee35a2c01a4247c81a1ba26e3be9906 100644 --- a/ecrire/inc.php3 +++ b/ecrire/inc.php3 @@ -227,6 +227,9 @@ if ($controle_forum AND $id_controle_forum) { case 'valid_forum': changer_statut_forum($id_controle_forum, 'publie'); break; + // nb : les forums prives (privrac ou prive), une fois effaces + // (privoff), ne sont pas revalidables ; le forum d'admin (privadm) + // n'est pas effacable } if ($redirect) diff --git a/ecrire/inc_forum.php3 b/ecrire/inc_forum.php3 index 24cf27c30e8b7418ba2a597348f645b405313084..49acab14f1fbe40449fbe0a00c9848d94f945e4d 100644 --- a/ecrire/inc_forum.php3 +++ b/ecrire/inc_forum.php3 @@ -78,55 +78,98 @@ function controle_cache_forum($action, $id, $texte, $fond, $fonction, $redirect= function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref) { $controle = ''; - // selection du logo correspondant a l'etat du forum - if ($forum_stat == "prive") $logo = "forum-interne-24.gif"; - else if ($forum_stat == "privadm") $logo = "forum-admin-24.gif"; - else if ($forum_stat == "privrac") $logo = "forum-interne-24.gif"; - else $logo = "forum-public-24.gif"; - - if ($forum_stat != "off" AND $forum_stat != "privoff") { - if ($forum_stat == "publie" OR $forum_stat == "prop") - $controle .= - controle_cache_forum('supp_forum', - $id_forum, - _T('icone_supprimer_message'), - $logo, - "supprimer.gif"); - else if ($forum_stat == "prive" OR $forum_stat == "privrac" OR $forum_stat == "privadm") - $controle .= - controle_cache_forum('supp_forum_priv', - $id_forum, - _T('icone_supprimer_message'), - $logo, - "supprimer.gif"); - } - else { - $controle .= "<BR><FONT COLOR='red'><B>"._T('info_message_supprime')." $forum_ip</B></FONT>"; - if($forum_id_auteur) - $controle .= " - <A HREF='auteurs_edit.php3?id_auteur=$forum_id_auteur'>"._T('lien_voir_auteur')."</A>"; + // selection du logo et des boutons correspondant a l'etat du forum + switch ($forum_stat) { + # forum sous un article dans l'espace prive + case "prive": + $logo = "forum-interne-24.gif"; + $valider = false; + $valider_repondre = false; + $supprimer = 'supp_forum_priv'; + break; + # forum des administrateurs + case "privadmin": + $logo = "forum-admin-24.gif"; + $valider = false; + $valider_repondre = false; + $supprimer = false; + break; + # forum de l'espace prive, supprime (non revalidable, + # d'ailleurs on ne sait plus a quel type de forum il appartenait) + case "privoff": + $logo = "forum-interne-24.gif"; + $valider = false; + $valider_repondre = false; + $supprimer = false; + break; + # forum general de l'espace prive + case "privrac": + $logo = "forum-interne-24.gif"; + $valider = false; + $valider_repondre = false; + $supprimer = 'supp_forum_priv'; + break; + + # forum publie sur le site public + case "publie": + $logo = "forum-public-24.gif"; + $valider = false; + $valider_repondre = false; + $supprimer = 'supp_forum'; + break; + # forum supprime sur le site public + case "off": + $logo = "forum-public-24.gif"; + $valider = 'valid_forum'; + $valider_repondre = false; + $supprimer = false; + $message = "<BR><FONT COLOR='red'><B>"._T('info_message_supprime')." $forum_ip</B></FONT>"; + if($forum_id_auteur) + $message .= " - <A HREF='auteurs_edit.php3?id_auteur=" + .$forum_id_auteur."'>" ._T('lien_voir_auteur'). "</A>"; + break; + # forum propose (a moderer) sur le site public + case "prop": + $logo = "forum-public-24.gif"; + $valider = 'valid_forum'; + $valider_repondre = true; + $supprimer = true; + break; + default: + return; } - if ($forum_stat=="prop") - { + if ($message) + $controle .= $message; + + if ($supprimer) + $controle .= controle_cache_forum($supprimer, + $id_forum, + _T('icone_supprimer_message'), + $logo, + "supprimer.gif"); + + if ($valider) + $controle .= controle_cache_forum($valider, + $id_forum, + _T('icone_valider_message'), + $logo, + "creer.gif"); + + if ($valider_repondre) { $link = new Link(); $redirect = "../forum.php3?$ref&id_forum=$id_forum&retour=ecrire/" .urlencode($link->getUrl()); - $controle .= - controle_cache_forum('valid_forum', - $id_forum, - _T('icone_valider_message'), - $logo, - "creer.gif") . - controle_cache_forum('valid_forum', - $id_forum, - _T('icone_valider_message') . " & " . - _T('lien_repondre_message'), - $logo, - "creer.gif", - $redirect - ); - } + $controle .= controle_cache_forum($valider, + $id_forum, + _T('icone_valider_message') . " & " . + _T('lien_repondre_message'), + $logo, + "creer.gif", + $redirect + ); + } return $controle; }