$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}).");
        $newLog->setDateTime(date('Y/m/d G:i:s'));
        $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
//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);
        //echo "Utilisateur n'est pas dans le groupe";
        //Ajout de l'utilisateur du groupe
        $validInsert = Utilisateur_has_GroupeDAL::insertOnDuplicate($newUtilisateurHasGroupe);
        $newLog->setLevel("INFO");
        $newLog->setMsg("Ajout réussi 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);
     $newGroupe->setNom($validNom);
     //echo "OK pour Nom : ".$newGroupe->getNom();
 }
 $validDescription = filter_input(INPUT_POST, 'description', FILTER_SANITIZE_STRING);
 if (!is_null($validDescription)) {
     $newGroupe->setDescription($validDescription);
     //echo "OK pour Description : ".$newGroupe->getDescription();
 }
 $newDateCreation = date("Y/m/d");
 $newGroupe->setDateCreation($newDateCreation);
 //echo "OK pour DateCréation:".$newGroupe->getDateCreation();
 $validIdUser = $_SESSION["user_id"];
 //echo "OK pour Id User : "******"INFO");
 $newLog->setMsg("Initialisation de la création d'un groupe.");
 $newLog->setDateTime(date('Y/m/d G:i:s'));
 $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
 if (is_null(GroupeDAL::findByNom($validNom))) {
     //=====Insertion=====/ - OK
     $validInsertGroupe = GroupeDAL::insertOnDuplicate($newGroupe);
     if (!is_null($validInsertGroupe)) {
         $newLog->setLevel("INFO");
         $newLog->setMsg("Ajout du groupe reussi dans la base DBVirtDemande ! (id: {$validInsertGroupe} )");
         $newLog->setDateTime(date('Y/m/d G:i:s'));
         $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
         //echo "Ajout du groupe reussi dans la base DBVirtDemande ! (id:" . $validInsertGroupe . ")";
         $newUtilisateurHasGroupe = new Utilisateur_has_Groupe();
         $newUtilisateurHasGroupe->setGroupe($validInsertGroupe);
         $newUtilisateurHasGroupe->setUtilisateur($validIdUser);
         $validInsert = Utilisateur_has_GroupeDAL::insertOnDuplicate($newUtilisateurHasGroupe);
// guaca
require_once $_SERVER['DOCUMENT_ROOT'] . '/VirtualDemande/model/DAL/Guacamole_ConnectionDAL.php';
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();
$newMachine = new Machine();
//=====Vérification de ce qui est renvoyé par le formulaire
$validName = filter_input(INPUT_POST, 'nameContainer', FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "#^[a-zA-Z]+\$#")));
//sera utile pour insert et ws, nameContainer
if (!is_null($validName) && $validName != false) {
    $newMachine->setNom($validName);
} else {
    $newLog->setLevel("ERROR");
    $newLog->setLoginUtilisateur($loginUtilisateur);
    $newLog->setMsg("Le nom rentrer n'est pas correct, echec de création");
    $newLog->setDateTime(date('Y/m/d G:i:s'));
    $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
    exit;
}
$validDesc = filter_input(INPUT_POST, 'descriptionContainer', FILTER_SANITIZE_STRING);
//utile pour insert
if (!is_null($validDesc)) {
    $newMachine->setDescription($validDesc);
}
$validDistAliasId = filter_input(INPUT_POST, 'dist', FILTER_SANITIZE_STRING);
if (!is_null($validDistAliasId)) {
    $distAlias = Distrib_AliasDAL::findById($validDistAliasId);
    //sera utile pour l'insertt en base
    $newMachine->setDistribAlias($distAlias);
    $dist = $distAlias->getDistrib();
예제 #5
0
//Définition de l'url
$urlCourante = $_SERVER["HTTP_REFERER"];
$urlGet = explode("&", $urlCourante);
$url = $urlGet[0];
//Définition d'un objet Table_log pour faire des insert de log
$newLog = new Table_log();
$newLog->setLoginUtilisateur("anonyme");
//Définition du message renvoyé
$message = "error";
//Checker de où il vient
$validPage = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_STRING);
if ($validPage == "register.php") {
    $nbreUtilisateursRestants = UtilisateurDAL::GetNumberAvailableUsers();
    if ($nbreUtilisateursRestants > 0) {
        $newLog->setLevel("INFO");
        $newLog->setMsg("Initialisation de la création d'un utilisateur.");
        $newLog->setDateTime(date('Y/m/d G:i:s'));
        $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
        //Création d'un Utilisateur par défaut
        $newUtilisateur = new Utilisateur();
        $validPassword = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
        $validPassword2 = filter_input(INPUT_POST, 'password2', FILTER_SANITIZE_STRING);
        if ($validPassword != null && $validPassword2 != null) {
            if ($validPassword == $validPassword2) {
                $newLog->setLevel("INFO");
                $newLog->setMsg("Les deux mots de passe rentrés sont les mêmes.");
                $newLog->setDateTime(date('Y/m/d G:i:s'));
                $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
                $newUtilisateur->setPassword($validPassword);
                //echo "OK pour Passwd:".$newUtilisateur->getPassword
                //=====Vérification de ce qui est renvoyé par le formulaire
$validPage = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_STRING);
if ($validPage == "manage_containers.php") {
    //=====Vérification de ce qui est renvoyé par le formulaire
    $validIdMachine = filter_input(INPUT_POST, 'idMachine', FILTER_SANITIZE_STRING);
    //Vérifier si le container existe
    $machine = MachineDAL::findById($validIdMachine);
    $validMachine = $machine->getId();
    if ($machine != null) {
        //Récupérer le login de l'utilisateur
        $loginUtilisateur = $machine->getUtilisateur()->getLogin();
        //Récupérer le nom de la machine
        $nomMachine = $machine->getNom();
        //echo "Le nom de la machine à supprimer est".$nomMachine;
        $newLog->setLevel("INFO");
        $newLog->setLoginUtilisateur($loginUtilisateur);
        $newLog->setMsg("Le nom de la machine à supprimer est" . $nomMachine);
        $newLog->setDateTime(date('Y/m/d G:i:s'));
        $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
        //=====Appel Web Service pour remove le container sur le serveur de virt=====/
        try {
            $client = new SoapClient(null, array('uri' => 'http://virt-server/ws_lxc/RemoveContainerRequest', 'location' => 'http://virt-server/ws_lxc/remove_container_ws.php', 'trace' => 1, 'exceptions' => 0));
            $result = $client->__call('removeContainer', array('nameContainer' => $nomMachine));
        } catch (SoapFault $f) {
            $newLog->setLevel("ERROR");
            $newLog->setLoginUtilisateur($loginUtilisateur);
            $newLog->setMsg("Erreur SOAP: " . $f);
            $newLog->setDateTime(date('Y/m/d G:i:s'));
            $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
            echo "<meta http-equiv='refresh' content='1; url=" . $url . '&message=' . $message . "' />";
        }
        if ($result == '0') {
    //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
    $machineClone->setUtilisateur($user);
    //modifie l'utilisateur de la machine clone
} else {
    //echo "L'id de l'utilisateur n'a pas bien été récupéré.";
    $newLog->setLevel("ERROR");
    $newLog->setLoginUtilisateur($loginUtilisateur);
    $newLog->setMsg("L'id de l'utilisateur n'a pas bien été récupéré.");
    $newLog->setDateTime(date('Y/m/d G:i:s'));
    $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
    exit;
}
$validNomMachineClone = filter_input(INPUT_POST, 'nomMachineClone', FILTER_VALIDATE_REGEXP, array("options" => array("regexp" => "#^[a-zA-Z]+\$#")));
if (!is_null($validNomMachineClone) && $validNomMachineClone != false) {
    $machineClone->setNom($validNomMachineClone);
    //modifie le noml de la machine clone
} else {
    $newLog->setLevel("ERROR");
    $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;
 $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}.");
 $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))) {
     $newLog->setLevel("INFO");
     $newLog->setMsg("La machine {$nameMachine} (id:{$validIdMachine}) de l'utilisateur {$sharer} n'est pas dans le groupe {$nameGroupe} (id:{$validIdGroupe}).");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
     //echo "Machine n'est pas dans le groupe";
     //Ajout de le la machine par l'utilisateur dans le groupe
     $validInsert = Groupe_has_MachineDAL::insertOnDuplicate($newGroupeHasMachine);
     $newLog->setLevel("INFO");
     $newLog->setMsg("Ajout réussi du partage de la machine {$nameMachine} (id:{$validIdMachine}) au groupe {$nameGroupe} (id:{$validIdGroupe}) par l'utilisateur {$sharer} .");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);