FrameBeurk File
Fmbk/Module/Rhum/Section/Maj/censureSection.php
<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.
$result = db_QUERY("SELECT IdEtat, NoVersion FROM Rhum_Section WHERE IdSection = '$IdMaj'");
if (list($IdEtatSection, $NoVersionCourante) = db_FETCH_ROW($result)) {
$EtatSection == Beurk_terminal($IdEtatSection);
if ($EtatSection == 'C')
Beurk_messageEtape('Section déjà censurée', true);
elseif ($EtatSection == 'V')
Beurk_messageEtape('Section encore ouverte', true);
else {
// mise à jour de la section
$requete = array('UPDATE' => 'Rhum_Section',
'SET' => array(), //IdEtat et Version mis à jour par Beurk_modifieEntite
'WHERE' => "IdSection = '$IdMaj'");
if (Beurk_modifieEntite($requete, 'Section censurée', 'C', $NoVersionCourante, $IdMaj)) {
// mise à jour des sujets de la section
$requete = "UPDATE Rhum_Sujet SET IdEtat = '" . Beurk_id('C') . "', Alerte = '', NoVersion = NoVersion + 1 WHERE IdSection = '$IdMaj'";
if (db_QUERY($requete)) {
// création des nouvelles versions des noeuds sujets
$requete = "INSERT INTO Beurk_Historique (IdNoeud, NoVersion, IdEtat, IdUser, AdresseIp, IdActMaj, IdMaj, TsAction)
SELECT (IdSujet, NoVersion, IdEtat, '" . $DIALOG['IdUser'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $CONFIG['Action'][$ActMaj]['Id'] . "', '" . $IdMaj . "', '" . $DIALOG['TempsDebSession'] . "'
FROM Rhum_Sujet WHERE IdSection = '$IdMaj')";
if (! db_QUERY($requete))
Beurk_messageEtape('Modification des noeuds sujets en erreur', true);
} else Beurk_messageEtape('Modification des sujets en erreur', true);
// mise à jour des commentaires des sujets de la section
$requete = "UPDATE Rhum_Commentaire SET IdEtat = '" . Beurk_id('C') . "', Alerte = '', NoVersion = NoVersion + 1 WHERE IdElementDe IN "
. "(SELECT IdSujet FROM Rhum_Sujet WHERE IdSection = '$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 (C.IdCommentaire, C.NoVersion, C.IdEtat, '" . $DIALOG['IdUser'] . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . $CONFIG['Action'][$ActMaj]['Id'] . "', '" . $IdMaj . "', '" . $DIALOG['TempsDebSession'] . "'
FROM Rhum_Sujet AS S, Rhum_Commentaire AS C WHERE S.IdSection = '$IdMaj' AND S.IdSujet = C.IdSujet)";
if (! db_QUERY($requete))
Beurk_messageEtape('Modification des noeuds commentaire en erreur', true);
} else Beurk_messageEtape('Modification des commentaires en erreur', true);
}
}
db_FREE($result);
} else Beurk_messageEtape('Section inconnue', true);