Пример #1
0
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/MachineDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/GroupeDAL.php';
$rows = MachineDAL::findByUser($_SESSION["user_id"]);
$groups = GroupeDAL::findByUser($_SESSION["user_id"]);
if (!(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']) && $_SESSION['user_id'] !== false)) {
    header('Location: ?page=home');
}
?>
<html>
    <body>
        <div>
            <h2><span class="label label-primary">Your containers</span></h2>
            <table class = "table table-bordered table-hover">
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>OS</th>
                        <th>Description</th>
                    </tr>
                </thead>
                <tbody>
                    <?php 
foreach ($rows as $containers) {
    echo "<tr><td>";
    echo $containers[0];
    echo "</td><td>";
    echo $containers[1];
    echo "</td><td>";
    echo $containers[2];
                 $newLog->setMsg("Echec de création du conteneur... Contactez le support EVOLVE.");
                 $newLog->setDateTime(date('Y/m/d G:i:s'));
                 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                 $machineEchec = MachineDAL::findById($validInsertMachine);
                 $machineEchec->setEtat(1);
                 MachineDAL::insertOnDuplicate($machineEchec);
             } else {
                 //If fatal error unknow...
                 $newLog->setLevel("WARN");
                 $newLog->setLoginUtilisateur($loginUtilisateur);
                 $newLog->setMsg("Code retour inconnu, problème ... Contactez le support EVOLVE !");
                 $newLog->setDateTime(date('Y/m/d G:i:s'));
                 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                 $machineEchec = MachineDAL::findById($validInsertMachine);
                 $machineEchec->setEtat(1);
                 MachineDAL::insertOnDuplicate($machineEchec);
             }
         }
     } else {
         $newLog->setLevel("ERROR");
         $newLog->setLoginUtilisateur($loginUtilisateur);
         $newLog->setMsg("Echec de l'insertion en base de la Machine");
         $newLog->setDateTime(date('Y/m/d G:i:s'));
         $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
         //Arret
         exit;
     }
 } else {
     $newLog->setLevel("ERROR");
     $newLog->setLoginUtilisateur($loginUtilisateur);
     $newLog->setMsg("Un container existe déjà avec ce nom (" . $validName . ").");
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/MachineDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/GroupeDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Distrib_AliasDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/CpuDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/RamDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/StockageDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/UtilisateurDAL.php';
$userId = $_SESSION["user_id"];
$rowsFonctionnal = MachineDAL::findSuccessByUser($_SESSION["user_id"]);
$rowsCreated = MachineDAL::findNotCreatByUser($_SESSION["user_id"]);
$OSDisplayed = Distrib_AliasDAL::findByVisible();
$CPUDisplayed = CpuDAL::findByVisible();
$RAMDisplayed = RamDAL::findByVisible();
$HDDisplayed = StockageDAL::findByVisible();
$canCreate = UtilisateurDAL::isFull($_SESSION["user_id"]);
if (!(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']) && $_SESSION['user_id'] !== false)) {
    header('Location: ?page=home');
}
?>
<html>
    <!--Javascript file for dynamic select-->
    <script src="./view/javascript/manage_containers.js"></script>
    <body>
        <!--List of the containers that are fonctionnals-->
        <div>
            <h2><span class="label label-primary">Fonctionnal containers</span></h2>
            <table class = "table table-bordered table-hover">
                <thead>
                    <tr>
 public function getMachine()
 {
     $machine = null;
     if (is_int($this->machine)) {
         $machine = MachineDAL::findById($this->machine);
         $this->machine = $machine;
     } else {
         if (is_a($this->machine, "Machine")) {
             $machine = $this->machine;
         }
     }
     return $machine;
 }
 public static function findByShareByUserByGroupe($userId, $groupeId)
 {
     $mesgroupeHasMachines = array();
     $mesMachines = MachineDAL::findByShareByUser($userId);
     foreach ($mesMachines as $row) {
         $machineNom = $row['nom'];
         //echo $machineNom;
         $machine = MachineDAL::findByDN($userId, $machineNom);
         $machineId = $machine->getId();
         //echo $machineId;
         $statut = self::isInGroupe($groupeId, $machineId);
         if ($statut == true) {
             $groupeHasMachine = self::findByGM($groupeId, $machineId);
             $mesgroupeHasMachines[] = $groupeHasMachine;
         }
     }
     return $mesgroupeHasMachines;
 }
}
$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);
     //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");
     $newLog->setLoginUtilisateur($loginUtilisateur);
     $newLog->setMsg("La machine {$nomMachine} d'id {$validIdMachine} appartenant à l'utilisateur " . $owner->getLogin() . " n'a pas bien été supprimée !");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
     //Renvoie à la page précédante
     echo "<meta http-equiv='refresh' content='1; url=" . $url . '&message=' . $message . "' />";
 }
 $message = "ok";
                 //If failure pending create of contener
                 $newLog->setLevel("WARN");
                 $newLog->setLoginUtilisateur($loginUtilisateur);
                 $newLog->setMsg("Echec de création du conteneur... Contactez le support EVOLVE.");
                 $newLog->setDateTime(date('Y/m/d G:i:s'));
                 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                 $container = MachineDAL::findById($validInsertMachine);
                 $container->setEtat(1);
             } else {
                 //If fatal error unknow...
                 $newLog->setLevel("WARN");
                 $newLog->setLoginUtilisateur($loginUtilisateur);
                 $newLog->setMsg("Code retour inconnu, problème ... Contactez le support EVOLVE !");
                 $newLog->setDateTime(date('Y/m/d G:i:s'));
                 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                 $container = MachineDAL::findById($validInsertMachine);
                 $container->setEtat(1);
             }
         }
     } else {
         $newLog->setLevel("ERROR");
         $newLog->setLoginUtilisateur($loginUtilisateur);
         $newLog->setMsg("Echec de l'insertion en base de la Machine " . $machineClone->getNom());
         $newLog->setDateTime(date('Y/m/d G:i:s'));
         $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
         //Arret
         exit;
     }
 } else {
     $newLog->setLevel("ERROR");
     $newLog->setLoginUtilisateur($loginUtilisateur);
<?php

//import
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/GroupeDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/MachineDAL.php';
//Définition du message renvoyé
$message = "error";
//Checker de où il vient
//=====Vérification de ce qui est renvoyé par le formulaire
$validIdMachine = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING);
$machine = MachineDAL::findById($validIdMachine);
//Récupération de l'id de l'utilisateur
$validIdUser = $machine->getUtilisateur()->getId();
//Récupération des groupes de l'utilisateur où la machine n'est pas.
$groupes = GroupeDAL::findLessMachine($validIdUser, $validIdMachine);
$groupesJson = [];
foreach ($groupes as $group) {
    $groupesJson[$group->getId()]['id'] = $group->getId();
    $groupesJson[$group->getId()]['nom'] = $group->getNom();
    $groupesJson[$group->getId()]['date_creation'] = $group->getDateCreation();
    $groupesJson[$group->getId()]['description'] = $group->getDescription();
}
//Envoi des groupes récupérés
$json = json_encode($groupesJson);
echo $json;
//import
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Groupe_has_MachineDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/UtilisateurDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/MachineDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Table_logDAL.php';
//Définition d'un objet Table_log pour faire des insert de log
$newLog = new Table_log();
//Définition du message renvoyé
$message = "error";
//Checker de où il vient
$validPage = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_STRING);
if ($validPage == "manage_containers.php") {
    $newGroupeHasMachine = new Groupe_has_Machine();
    //=====Vérification de ce qui est renvoyé par le formulaire
    $validIdMachine = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING);
    $nameMachine = MachineDAL::findById($validIdMachine)->getNom();
    $newGroupeHasMachine->setMachine($validIdMachine);
    //echo "OK pour Id Machine : ".$newGroupeHasMachine->getMachine()->getId();
    $validIdGroupe = filter_input(INPUT_POST, 'idGroupe', FILTER_SANITIZE_STRING);
    $nameGroupe = GroupeDAL::findById($validIdGroupe)->getNom();
    $newGroupeHasMachine->setGroupe($validIdGroupe);
    //echo "OK pour Id Groupe : ".$newGroupeHasMachine->getGroupe()->getId();
    $validIdComment = filter_input(INPUT_POST, 'comment', FILTER_SANITIZE_STRING);
    $newGroupeHasMachine->setCommentaire($validIdComment);
    //echo "OK pour Commentaire : ".$newGroupeHasMachine->getCommentaire;
    $validIdUser = $_SESSION["user_id"];
    $sharer = UtilisateurDAL::findById($validIdUser)->getLogin();
    //echo "OK pour Id User : "******"INFO");
    $newLog->setMsg("Initialisation du partage de la machine {$nameMachine} (id:{$validIdMachine}) au groupe {$nameGroupe} (id:{$validIdGroupe}) par l'utilisateur {$sharer}.");