FrameBeurk File
Fmbk/Module/Rhum/Sujet/Maj/censureSujet.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
// lecture état du sujet
$result1 = db_QUERY("SELECT IdEtat, Alerte, IdSection, NoVersion FROM Rhum_Sujet WHERE IdSujet = '$IdMaj'");
if (list($IdEtatSujet, $Alerte, $IdSection, $NoVersionCourante) = db_FETCH_ROW($result1)) {
$EtatSujet == Beurk_terminal($IdEtatSujet);
//Vérification état commentaire
if ($Alerte <> 'O')
Beurk_messageEtape('Aucune alerte positionnée', true);
elseif ($EtatSujet == 'C')
Beurk_messageEtape('Sujet déjà censuré', true);
else {
$requete = array('UPDATE' => 'Rhum_Sujet',
'SET' => array(), //IdEtat et Version mis à jour par Beurk_modifieEntite
'WHERE' => "IdSujet = '$IdMaj'");
if (Beurk_modifieEntite($requete, 'Sujet censuré', 'C', $NoVersionCourante, $IdMaj)) {
// recherche de la section
$result2 = db_QUERY("SELECT NbrSujets, NbrSujetsArchives FROM Rhum_Section WHERE IdSection = '$IdSection'");
if (list($NbrSujets, $NbrSujetsArchives) = db_FETCH_ROW($result2)) {
if ($EtatSujet == 'R')
$NbrSujetsArchives -= 1;
else
$NbrSujets -= 1;
// Rem : pas de nouvelle version pour le noeud section
$requete = "UPDATE Rhum_Section SET NbrSujets = $NbrSujets, NbrSujetsArchives = $NbrSujetsArchives WHERE IdSection = '$IdSection'";
db_QUERY($requete);
} else Beurk_messageEtape('Section inconnue', true);
db_FREE($result2);
// mise à jour des commentaires du sujet
$requete = "UPDATE Rhum_Commentaire SET IdEtat = '" . Beurk_id('C') . "', Alerte = '', NoVersion = NoVersion + 1 WHERE IdElementDe = '$IdMaj'";
if (db_QUERY($requete)) {
// création des nouvelles versions des noeuds commentaires
$requete = "INSERT INTO Beurk_Historique (IdNoeud, NoVersion, IdEtat, IdUser, AdresseIp, IdActMaj, IdMaj, TsAction)
SELECT (IdCommentaire, NoVersion, IdEtat, '" . $DIALOG['IdUser'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $CONFIG['Action'][$ActMaj]['Id'] . "', '" . $IdMaj . "', '" . $DIALOG['TempsDebSession'] . "'
FROM Rhum_Commentaire WHERE IdElementDe = '$IdMaj')";
if (! db_QUERY($requete))
Beurk_messageEtape('Modification des noeuds commentaire en erreur', true);
} else Beurk_messageEtape('Modification des commentaires en erreur', true);
}
}
} else Beurk_messageEtape('Sujet inconnu', true);
db_FREE($result1);