en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Rhum/Sujet/Maj/continueSujet.php

<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.

if (! isset($_REQUEST["titre$IdMaj"]) || $_REQUEST["titre$IdMaj"] == '')
    
Beurk_messageEtape('Titre du sujet obligatoire'true"titre$IdMaj");
else {
    
// recherche du sujet précédent (pas forcément la 1ère partie)
    
$result1 db_QUERY("SELECT IdSection, IdSujetRef, IdEtat FROM Rhum_Sujet WHERE IdSujet = '$IdMaj'");
    if (list(
$IdSection$IdSujetRef$IdEtatSujetPrec) = db_FETCH_ROW($result1)) {
        if (
$IdSujetRef == 0)            // le sujet dont on crée la suite était seul
            
$IdSujetRef $IdMaj;
        if (
$IdEtatSujetPrec != Beurk_id('V'))
            
Beurk_messageEtape('Sujet initial fermé'true);
        else {

            
// recherche de la section
            
$result db_QUERY("SELECT IdEtat FROM Rhum_Section WHERE IdSection = '$IdSection'");
            if (list(
$IdEtatSection) = db_FETCH_ROW($result)) {

                
// Vérification section ouverte
                
if ($IdEtatSection != Beurk_id('V'))
                    
Beurk_messageEtape('Section fermée'true);
                else {
                    
//recherche du numéro d'ordre de la dernière partie
                    
$result2 db_QUERY("SELECT MAX(NoOrdre) FROM Rhum_Sujet WHERE IdSujetRef = '$IdSujetRef'");
                    if (list(
$NoOrdre) = db_FETCH_ROW($result2))    //attention : si rien trouvé, MAX renvoie NULL (=0 pour php) 
                        
$NoOrdre += 1;
                    if (
$NoOrdre 2)
                        
$NoOrdre 2;    //c'est la 1ère suite              
                    
                    // insertion du nouveau sujet
                    
$requete = array('INSERT' => 'Rhum_Sujet',
                                    
'VALUES' => array('Sujet' => Beurk_Request2DB($_REQUEST["titre$IdMaj"]),
                                                    
'IdSection' => $IdSection,
                                                    
'IdSujetRef' => $IdSujetRef,
                                                    
'NoOrdre' => $NoOrdre,
                                                    
'NbrCommentaires' => 0,
                                                    
'IdEtat' => Beurk_id('V'),
                                                    
'Alerte' => '',
                                                    
'NbrVisites' => 0,
                                                    
'Donnees' => Beurk_Request2DB($_REQUEST["donnees$IdMaj"])));
                    if (
Uzers_estAdmin())
                        
$requete['VALUES']['Import'] = (isset($_REQUEST["import$IdMaj"])) ? Beurk_Request2DB($_REQUEST["import$IdMaj"]) : '';

                    if (
$IdSujet Beurk_creeEntite($requete'Sujet créé''V'$IdSujetRef)) {    // le sujet est élément du sujet en référence (et non de la section)
                    
                        // si c'est la 2ème partie d'un sujet, on stocke l'information sur le sujet de référence : il se référence lui-même
                        
if ($NoOrdre == 2)
                            
db_QUERY("UPDATE Rhum_Sujet SET IdSujetRef = '$IdSujetRef' WHERE IdSujet = '$IdMaj'");

                        
// incrémentation nombre de sujets créés par le user
                        
db_QUERY("UPDATE Uzers_User SET NbrSujets = NbrSujets + 1 WHERE IdUser = '" $DIALOG['IdUser'] . "'");
                    }
                }
            } else 
Beurk_messageEtape('Section inconnue'true);
            
db_FREE($result);
        }
    } else 
Beurk_messageEtape('Sujet initial inconnu'true);
    
db_FREE($result1);
}


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved