} $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(); // Erreur suffisante pour justifier un die() if (empty($CURL)) { die("ERREUR curl_init : Il semble que cURL ne soit pas disponible."); } // Configuration des options de téléchargement curl_setopt_array($CURL, $options);
$newLog = new Table_log(); //Définition d'un objet Table_log pour faire des insert de log $newLog = new Table_log(); //Définition du message renvoyé $message = "error"; $machineClone = new Machine(); //Machine clonée //=====Vérification de ce qui est renvoyé par le formulaire $validId = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING); //sera utile pour insert et ws, nameContainer if (!is_null($validId)) { $machine = MachineDAL::findById($validId); $validNameMachineOrigine = $machine->getNom(); $machineOrigine = MachineDAL::findByName($validNameMachineOrigine); //Machine à cloner MachineDAL::copy($machineOrigine, $machineClone); //copy en profondeur de la machine origine dans la machine clone $machineClone->setDescription("Machine cloné à partir de la machine " . $machineOrigine->getNom()); //modofie la description $ihm = $machineClone->getDistribAlias()->getDistrib()->getIhm(); //récupère la valeur d'ihm pour savoir si la connection guacamol doit etre faite sur vns ou ssh } else { //echo "Le nom de la machine origine n'a pas bien été récupéré."; //Arret exit; } $validIdUser = $_SESSION["user_id"]; if (!is_null($validIdUser) && $validIdUser != false) { $user = UtilisateurDAL::findById($validIdUser); $loginUtilisateur = $user->getLogin(); //création du champ login pour les logs