$newMachine->setEtat(2);
if (UtilisateurDAL::isFull($validUserId) == false) {
    //vérifie que l'user n'a pas atteint son quota
    if (is_null(MachineDAL::findByName($validName)) && !is_null($validName)) {
        //=====Insertion de la Machine en base=====/ - OK
        $validInsertMachine = MachineDAL::insertOnDuplicate($newMachine);
        if (!is_null($validInsertMachine)) {
            $newLog->setLevel("INFO");
            $newLog->setLoginUtilisateur($loginUtilisateur);
            $newLog->setMsg("Machine correctement ajoutée en base, d'id: " . $validInsertMachine);
            $newLog->setDateTime(date('Y/m/d G:i:s'));
            $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
            //=====Incrémente le nombre de Container de l'utilisateur=====//
            $variable = $user->getNbVm() + 1;
            $user->setNbVm($variable);
            $validInsertNewNbCont = UtilisateurDAL::insertOnDuplicate($user);
            if (!is_null($validInsertNewNbCont)) {
                $newLog->setLevel("INFO");
                $newLog->setLoginUtilisateur($loginUtilisateur);
                $newLog->setMsg("Mise a jour du quota, passe à " . $variable);
                $newLog->setDateTime(date('Y/m/d G:i:s'));
                $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
            } else {
                $newLog->setLevel("ERROR");
                $newLog->setLoginUtilisateur($loginUtilisateur);
                $newLog->setMsg("Echec de la mise a jour du quota");
                $newLog->setDateTime(date('Y/m/d G:i:s'));
                $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                //Arret
                exit;
            }
예제 #2
0
 if ($validDateFormat != null) {
     $newUtilisateur->setDateNaissance($validDateFormat);
     //echo "OK pour Date de Naissance:".$newUtilisateur->getDateNaissance();
 }
 //nb_VM + dateCreation + roleId à générer en plus
 $newUtilisateur->setNbVm("0");
 //echo "OK pour NbVm:".$newUtilisateur->getNbVm();
 $newDateCreation = date("Y/m/d");
 $newUtilisateur->setDateCreation($newDateCreation);
 //echo "OK pour DateCréation:".$newUtilisateur->getDateCreation();
 $newUtilisateur->setRole("2");
 //echo "OK pour Role_id:".$newUtilisateur->getRole()->getId();
 //====Vérification de doublons==== - OK
 if (UtilisateurDAL::isUnique($validLogin, $validEmail) == null) {
     //=====Insertion=====/ - OK
     $validInsertUtilisateur = UtilisateurDAL::insertOnDuplicate($newUtilisateur);
     if ($validInsertUtilisateur != null) {
         $newLog->setLevel("INFO");
         $newLog->setMsg("Ajout de l'utilisateur reussi dans la base DBVirtDemande ! (id:" . $validInsertUtilisateur . ").");
         $newLog->setDateTime(date('Y/m/d G:i:s'));
         $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
         //echo "Ajout de l'utilisateur reussi dans la base DBVirtDemande ! (id:" . $validInsertUtilisateur . ")";
         //Création d'un guacamole_user
         $newUserGuacamole = new Guacamole_User();
         //=====Vérification de ce qui est renvoyé par le formulaire
         $validUserName = filter_input(INPUT_POST, 'pseudo', FILTER_SANITIZE_STRING);
         if ($validUserName != null) {
             $newUserGuacamole->setUserName($validUserName);
             $newLog->setLevel("INFO");
             $newLog->setMsg("OK pour Username : " . $newUserGuacamole->getUsername());
             $newLog->setDateTime(date('Y/m/d G:i:s'));
//require_once($_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Guacamole_Connection_ParameterDAL.php');
//require_once($_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Guacamole_Connection_PermissionDAL.php');
//Définition d'un objet Table_log pour faire des insert de log
$newLog = new Table_log();
$machineBuildPresent = false;
//=====Vérification de ce qui est renvoyé par le formulaire
$validIdMachine = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING);
if (!is_null($validIdMachine)) {
    $machine = MachineDAL::findById($validIdMachine);
}
$validIdUser = filter_input(INPUT_POST, 'idUser', FILTER_SANITIZE_STRING);
if (!is_null($validIdUser)) {
    $user = UtilisateurDAL::findById($validIdUser);
    //=====Décrémente son quota de container======/
    $user->setNbVm($user->getNbVm() - 1);
    UtilisateurDAL::insertOnDuplicate($user);
}
//=====Vérif présence de machinebuild en base=====/
if (!is_null(MachineDAL::findByName($machine->getNom() . "_build"))) {
    $machineBuildPresent = true;
}
if (!$machineBuildPresent) {
    //=====Si machinebuild n'existe pas encore alors crée le======/
    $machineBuild = new Machine();
    MachineDAL::copy($machine, $machineBuild);
    $machineBuild->setNom($machine->getNom() . "_build");
    //====Prépare la quete POST pour créer ce new Container=====/
    $url_delete = "http://web-server/VirtualDemande/controller/pages/Delete_Container.php";
    // Tableau associatif $postFields des variables qui seront envoyées par POST au serveur
    $postfields_delete = array('page' => 'Rebuild_Container.php', 'nameContainer' => $machineBuild->getNom(), 'descriptionContainer' => $machineBuild->getDescription(), 'dist' => $machineBuild->getDistribAlias()->getId(), 'ram' => $machineBuild->getRam()->getId(), 'stock' => $machineBuild->getStockage()->getId(), 'cpu' => $machineBuild->getCpu()->getId(), 'user' => $user->getId());
    // Tableau contenant les options de téléchargement
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
     //echo "La machine $nomMachine a bien été enlever des groupe dans le(s)quel(s) elle était partagée.";
 } else {
     $newLog->setLevel("ERROR");
     $newLog->setLoginUtilisateur($loginUtilisateur);
     $newLog->setMsg("La machine {$nomMachine} n'a pas bien été enlever des groupe dans le(s)quel(s) elle était partagée.");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
     //echo "La machine $nomMachine a bien été enlever des groupe dans le(s)quel(s) elle était partagée.";
     //Renvoie à la page précédante
     echo "<meta http-equiv='refresh' content='1; url=" . $url . '&message=' . $message . "' />";
 }
 //Trouve l'user de la machine et décrémente de 1 son nombre de Container
 $owner = $machine->getUtilisateur();
 $owner->setNbVm($owner->getNbVm() - 1);
 $validUser = UtilisateurDAL::insertOnDuplicate($owner);
 $newLog->setLevel("INFO");
 $newLog->setLoginUtilisateur($loginUtilisateur);
 $newLog->setMsg("Le quota de l'utilisateur " . $owner->getLogin() . " est maintenant à " . $owner->getNbVm());
 $newLog->setDateTime(date('Y/m/d G:i:s'));
 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
 //Supprimer le container dans la base DBVirtDemand
 $validDeleteMachine = MachineDAL::delete($validIdMachine);
 if (is_null(MachineDAL::findById($validIdMachine))) {
     $newLog->setLevel("INFO");
     $newLog->setLoginUtilisateur($loginUtilisateur);
     $newLog->setMsg("La machine {$nomMachine} d'id {$validIdMachine} appartenant à l'utilisateur " . $owner->getLogin() . " a bien été supprimée !");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
 } else {
     $newLog->setLevel("ERROR");