Esempio n. 1
0
$user = null;
$pseudo = filter_input(INPUT_POST, 'login', FILTER_SANITIZE_STRING);
$password = filter_input(INPUT_POST, 'passwd', FILTER_SANITIZE_STRING);
//User connexion
if ($pseudo !== null && $password !== null) {
    $user = UtilisateurDAL::connection($pseudo, $password);
    if ($user) {
        $_SESSION['user_id'] = $user->getId();
        $_SESSION['role_id'] = $user->getRole()->getId();
        $_SESSION['name'] = $user->getNom();
    } else {
        $_SESSION['user'] = false;
    }
}
$page_to_require = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_URL);
$accountNumber = UtilisateurDAL::GetNumberAvailableUsers();
?>

<html>
    <head>
        <meta charset="UTF-8">
        <title>EVOLVE - <?php 
echo $page_to_require;
?>
</title>
        <!--jQuery library-->
        <script src="./view/library/jQuery/jquery-2.1.4.min.js"></script>
        <!-- Latest compiled and minified CSS -->
        <link rel="stylesheet" href="./view/library/bootstrap/css/bootstrap-3.3.5.min.css">
        <!-- Optional theme -->
        <link rel="stylesheet" href="./view/library/bootstrap/css/bootstrap-theme-3.3.5.min.css">
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_groups.php") {
    //=====Vérification de ce qui est renvoyé par le formulaire
    $validIdMachine = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING);
    //echo "OK pour Id Machine : ".$validIdMachine;
    $validIdGroupe = filter_input(INPUT_POST, 'idGroupe', FILTER_SANITIZE_STRING);
    //echo "OK pour Id Groupe : ".$validIdGroupe;
    $validIdUser = $_SESSION["user_id"];
    //echo "OK pour Id User : "******"INFO");
    $newLog->setMsg("Initialisation de la suppression du partage de la machine (id:{$validIdMachine}) à un groupe (id:{$validIdGroupe}).");
    $newLog->setDateTime(date('Y/m/d G:i:s'));
    $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
    //Vérification si l'utilisateur fait partie du groupe
    if (!is_null(Groupe_has_MachineDAL::findByGM($validIdGroupe, $validIdMachine))) {
        //echo "Machine est bien dans le groupe
        $newLog->setLevel("INFO");
        $newLog->setMsg("Machine (id:{$validIdMachine}) est bien dans le groupe (id:{$validIdGroupe}).");
        $newLog->setDateTime(date('Y/m/d G:i:s'));
        $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
        //Suppression de le la machine partagée par l'utilisateur dans le groupe
        $validDelete = Groupe_has_MachineDAL::delete($validIdGroupe, $validIdMachine);
        $newLog->setLevel("INFO");
        $newLog->setMsg("Suppression réussie du partage de la machine (id:{$validIdMachine}) à un groupe (id:{$validIdGroupe}).");
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>
                        <th>Name</th>
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/GroupeDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Groupe_has_MachineDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/UtilisateurDAL.php';
$groupUser = GroupeDAL::findByUser($_SESSION['user_id']);
$sharedContainers = UtilisateurDAL::findShareContener($_SESSION['user_id']);
$unsubscribedGroupList = GroupeDAL::findLessUser($_SESSION['user_id']);
if (!(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']) && $_SESSION['user_id'] !== false)) {
    header('Location: ?page=home');
}
?>

<html>
    <!--Javascript for cloning popup-->
            <script src="./view/javascript/manage_groups.js"></script>

    <body>
        <!--Alert for success/fail of cloning-->
        <div id="alert-clone" class="alert alert-success hidden" role="alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <span id ='alert-clone-span'>The request has been send. Go to your <b>Manage Containers</b> page to see the result</span>
        </div>
        
        <!--Groups in which the user belongs-->
        <div>
            <h2><span class="label label-primary">Groups you belong</span></h2>
            <table class = "table table-bordered table-hover">
                <thead>
                    <tr>
                        <th>Name</th>
Esempio n. 5
0
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/UtilisateurDAL.php';
$userInformations = UtilisateurDAL::findById($_SESSION["user_id"]);
if (!(isset($_SESSION['user_id']) && !empty($_SESSION['user_id']) && $_SESSION['user_id'] !== false)) {
    header('Location: ?page=home');
}
?>

<html>
    <body>
        <!--Name-->
        <div>
            <h2><b>Name : </b> <?php 
echo $userInformations->getPrenom();
?>
 </h2>
        </div>
        <!--Surname-->
        <div>
            <h2><b>Surname : </b> <?php 
echo $userInformations->getNom();
?>
 </h2>
        </div>
        <!--Login-->
        <div>
            <h2><b>Login : </b> <?php 
echo $userInformations->getLogin();
?>
 </h2>
Esempio n. 6
0
 public function getUtilisateur()
 {
     $utilisateur = null;
     if (is_int($this->utilisateur)) {
         $utilisateur = UtilisateurDAL::findById($this->utilisateur);
         $this->utilisateur = $utilisateur;
     } else {
         if (is_a($this->utilisateur, "Utilisateur")) {
             $utilisateur = $this->utilisateur;
         }
     }
     return $utilisateur;
 }
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/GroupeDAL.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/UtilisateurDAL.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_groups.php") {
    $newUtilisateurHasGroupe = new Utilisateur_has_Groupe();
    //=====Vérification de ce qui est renvoyé par le formulaire
    $validIdUser = $_SESSION["user_id"];
    $newUtilisateurHasGroupe->setUtilisateur($validIdUser);
    // echo "OK pour Id User : "******"OK pour Id Groupe : ".$newUtilisateurHasGroupe->getGroupe()->getId();
    $newLog->setLevel("INFO");
    $newLog->setMsg("Initialisation de l'inscription de l'utilisateur {$login} (id:{$validIdUser}) au groupe {$nameGroupe} (id:{$validIdGroupe}).");
    $newLog->setDateTime(date('Y/m/d G:i:s'));
    $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
    //Vérification si l'utilisateur fait partie du groupe
    if (is_null(Utilisateur_has_GroupeDAL::findByGU($validIdGroupe, $validIdUser))) {
        $newLog->setLevel("INFO");
        $newLog->setMsg("Utilisateur {$login} (id:{$validIdUser}) n'est pas dans le groupe {$nameGroupe} (id:{$validIdGroupe}).");
        $newLog->setDateTime(date('Y/m/d G:i:s'));
        $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
$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;
            }
//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
 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'));
     $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");