$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 $options = array(CURLOPT_URL => $url_delete, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FAILONERROR => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postFields_delete); // Création d'un nouvelle ressource cURL $CURL = curl_init();
if (!is_null($validUserId)) { $user = UtilisateurDAL::findById($validUserId); //sert à l'insert $newMachine->setUtilisateur($user); $loginUtilisateur = $user->getLogin(); } $newDateCreation = date("Y-m-d"); $newMachine->setDateCreation($newDateCreation); $date = date_create($newDateCreation); date_add($date, date_interval_create_from_date_string('1 year')); $dateExpiration = date_format($date, 'Y-m-d'); $newMachine->setDateExpiration($dateExpiration); $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("Le nom rentrer n'est pas correct, echec de clonage"); $newLog->setDateTime(date('Y/m/d G:i:s')); $validTableLog = Table_logDAL::insertOnDuplicate($newLog); exit; } //Modification de la date de création et d'expiration de la machine clonée $newDateCreation = date("Y-m-d"); $machineClone->setDateCreation($newDateCreation); $date = date_create($newDateCreation); date_add($date, date_interval_create_from_date_string('1 year')); $dateExpiration = date_format($date, 'Y-m-d'); $machineClone->setDateExpiration($dateExpiration); $machineClone->setEtat(2); //Modifie l'état de la machine clone à Creating if (UtilisateurDAL::isFull($validUserId) == false) { if (is_null(MachineDAL::findByName($validNomMachineClone))) { //=====Insertion de la Machine en base=====/ - OK $validInsertMachineClone = MachineDAL::insertOnDuplicate($machineClone); if (!is_null($validInsertMachineClone)) { $newLog->setLevel("INFO"); $newLog->setLoginUtilisateur($loginUtilisateur); $newLog->setMsg("Machine correctement ajoutée en base, d'id: " . $validInsertMachineClone); $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);