- [x] [manager/repo/]Creation des repos
- [x] [user] utilisateur - [x] [machine] machines - [x] [cluster] groupes - [ ] Gestion des groupes (utilisateurs/machines) - [x] bdd - [x] Creation d'un groupe individuel pour utilisateurs + association
This commit is contained in:
parent
f238a18204
commit
84e3cf33b6
49
automate.php
49
automate.php
|
@ -1,6 +1,11 @@
|
|||
<?php define('__ROOT__', dirname(__FILE__) );
|
||||
require_once __ROOT__.'/manager/autoloader.php';
|
||||
|
||||
use \manager\ModuleRequest;
|
||||
use \manager\ResourceDispatcher;
|
||||
use \manager\ManagerError;
|
||||
use \manager\Repo;
|
||||
|
||||
debug();
|
||||
|
||||
|
||||
|
@ -14,13 +19,13 @@
|
|||
*
|
||||
*/
|
||||
function insertUsersFromJSON(){
|
||||
$json = \manager\ResourceDispatcher::getResource('f/json/generated_users/conf');
|
||||
$json = ResourceDispatcher::getResource('f/json/generated_users/conf');
|
||||
$json = json_decode( $json, true );
|
||||
|
||||
// Pour chaque entree
|
||||
foreach( $json as $user ){
|
||||
|
||||
$insertRequest = \manager\Database::getPDO()->prepare("INSERT INTO user(id_user, code, username, firstname, lastname, mail, password, status)
|
||||
$insertRequest = Database::getPDO()->prepare("INSERT INTO user(id_user, code, username, firstname, lastname, mail, password, status)
|
||||
VALUES(
|
||||
DEFAULT,
|
||||
:code,
|
||||
|
@ -59,13 +64,13 @@
|
|||
*
|
||||
*/
|
||||
function insertMachinesFromJSON(){
|
||||
$json = \manager\ResourceDispatcher::getResource('f/json/generated_machines/conf');
|
||||
$json = ResourceDispatcher::getResource('f/json/generated_machines/conf');
|
||||
$json = json_decode( $json, true );
|
||||
|
||||
// Pour chaque entree
|
||||
foreach( $json as $machine ){
|
||||
|
||||
$insertRequest = \manager\Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
||||
$insertRequest = Database::getPDO()->prepare("INSERT INTO machine(id_machine, code, name)
|
||||
VALUES(
|
||||
DEFAULT,
|
||||
:code,
|
||||
|
@ -102,10 +107,10 @@
|
|||
function selectUsers(){
|
||||
|
||||
// Creation de la requete
|
||||
$requete = new manager\ModuleRequest('userDefault/getAll');
|
||||
$requete = new ModuleRequest('userDefault/getAll');
|
||||
$answer = $requete->dispatch();
|
||||
|
||||
var_dump( \manager\ManagerError::explicit($answer->error) );
|
||||
var_dump( ManagerError::explicit($answer->error) );
|
||||
var_dump( $answer->get('users') );
|
||||
|
||||
return true;
|
||||
|
@ -126,10 +131,10 @@
|
|||
function selectMachines(){
|
||||
|
||||
// Creation de la requete
|
||||
$requete = new manager\ModuleRequest('machineDefault/getAll');
|
||||
$requete = new ModuleRequest('machineDefault/getAll');
|
||||
$answer = $requete->dispatch();
|
||||
|
||||
var_dump( \manager\ManagerError::explicit($answer->error) );
|
||||
var_dump( ManagerError::explicit($answer->error) );
|
||||
var_dump( $answer->get('machines') );
|
||||
|
||||
return true;
|
||||
|
@ -152,12 +157,12 @@
|
|||
function displayUsers(){
|
||||
|
||||
// Creation de la requete
|
||||
$request = new \manager\ModuleRequest('userDefault/getAll');
|
||||
$request = new ModuleRequest('userDefault/getAll');
|
||||
$answer = $request->dispatch();
|
||||
|
||||
// Debug error
|
||||
if( $answer->error != \manager\ManagerError::Success )
|
||||
var_dump( \manager\ManagerError::explicit($answer->error) );
|
||||
if( $answer->error != ManagerError::Success )
|
||||
var_dump( ManagerError::explicit($answer->error) );
|
||||
|
||||
// display result
|
||||
var_dump( $answer->getAll() );
|
||||
|
@ -182,9 +187,9 @@
|
|||
function testModuleDispatcher(){
|
||||
|
||||
// Creation d'une requete en objet
|
||||
$req1 = new manager\ModuleRequest('firstModule/returnvar', array('id_user' => 10, 'code' => '11-22-33-44') );
|
||||
$req1 = new ModuleRequest('firstModule/returnvar', array('id_user' => 10, 'code' => '11-22-33-44') );
|
||||
// Creation d'une requete a partir d'un json en <String>
|
||||
$req2 = manager\ModuleRequest::fromString('{"path": "firstModule/returnvar", "data": {"id_user":10, "code":"11-22-33-44"}}');
|
||||
$req2 = ModuleRequest::fromString('{"path": "firstModule/returnvar", "data": {"id_user":10, "code":"11-22-33-44"}}');
|
||||
|
||||
var_dump( $req1->dispatch() );
|
||||
|
||||
|
@ -204,12 +209,12 @@
|
|||
function testRepoDispatcher(){
|
||||
|
||||
// Creation d'une requete en objet
|
||||
$req1 = new manager\Repo('user/getById', array('19'));
|
||||
// $req1 = new manager\Repo('user/getByCode', array('92-55-B9-B3'));
|
||||
$req1 = new Repo('user/getById', array('19'));
|
||||
// $req1 = new Repo('user/getByCode', array('92-55-B9-B3'));
|
||||
var_dump( $req1->answer() );
|
||||
|
||||
if( $req1->error != manager\ManagerError::Success )
|
||||
var_dump( manager\ManagerError::explicit($req1->error) );
|
||||
if( $req1->error != ManagerError::Success )
|
||||
var_dump( ManagerError::explicit($req1->error) );
|
||||
|
||||
|
||||
return true;
|
||||
|
@ -230,17 +235,15 @@
|
|||
function insertUsersComposite(){
|
||||
|
||||
// Creation de la requete
|
||||
$request = new \manager\ModuleRequest('userDefault/create', array('92-55-B9-B3', 'b', 'bla', 'bla', 'bla@test.com', 'sadas', '1') );
|
||||
$request = new ModuleRequest('userDefault/create', array('92-55-B9-B1', 'b', 'bla', 'bla', 'bla@test.com', 'sadas', '1') );
|
||||
$answer = $request->dispatch();
|
||||
// Debug error
|
||||
var_dump( $answer->error );
|
||||
var_dump( \manager\ManagerError::explicit($answer->error) );
|
||||
if( $answer->error != ManagerError::Success )
|
||||
var_dump( ManagerError::explicit($answer->error) );
|
||||
|
||||
var_dump( $answer->getAll() );
|
||||
|
||||
return true;
|
||||
|
||||
}//insertUsersComposite();
|
||||
|
||||
|
||||
}insertUsersComposite();
|
||||
?>
|
153
config/bdd.sql
153
config/bdd.sql
|
@ -3,7 +3,7 @@
|
|||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Client: localhost
|
||||
-- Généré le: Lun 08 Février 2016 à 18:09
|
||||
-- Généré le: Dim 14 Février 2016 à 12:20
|
||||
-- Version du serveur: 5.5.47-0ubuntu0.14.04.1
|
||||
-- Version de PHP: 5.5.9-1ubuntu4.14
|
||||
|
||||
|
@ -22,6 +22,38 @@ SET time_zone = "+00:00";
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Structure de la table `cluster`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cluster` (
|
||||
`id_cluster` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(30) NOT NULL,
|
||||
PRIMARY KEY (`id_cluster`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
|
||||
|
||||
--
|
||||
-- Contenu de la table `cluster`
|
||||
--
|
||||
|
||||
INSERT INTO `cluster` (`id_cluster`, `name`) VALUES
|
||||
(2, 'b');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Structure de la table `cluster_merge`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cluster_merge` (
|
||||
`id_cluster_merge` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`id_cluster` int(11) NOT NULL,
|
||||
`id_entity` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id_cluster_merge`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Structure de la table `history`
|
||||
--
|
||||
|
@ -29,8 +61,8 @@ SET time_zone = "+00:00";
|
|||
CREATE TABLE IF NOT EXISTS `history` (
|
||||
`id_history` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`action` int(11) NOT NULL,
|
||||
`id_acteur` varchar(20) NOT NULL,
|
||||
`id_machine` varchar(20) NOT NULL,
|
||||
`id_acteur` int(11) NOT NULL,
|
||||
`id_machine` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id_history`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
||||
|
||||
|
@ -43,9 +75,115 @@ CREATE TABLE IF NOT EXISTS `history` (
|
|||
CREATE TABLE IF NOT EXISTS `machine` (
|
||||
`id_machine` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`code` varchar(20) NOT NULL,
|
||||
`name` int(11) NOT NULL,
|
||||
`name` varchar(30) NOT NULL,
|
||||
PRIMARY KEY (`id_machine`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=201 ;
|
||||
|
||||
--
|
||||
-- Contenu de la table `machine`
|
||||
--
|
||||
|
||||
INSERT INTO `machine` (`id_machine`, `code`, `name`) VALUES
|
||||
(101, 'CB-40-70-A0', 'WNTKO'),
|
||||
(102, 'C9-42-46-45', 'RMUAY'),
|
||||
(103, '30-DA-23-C0', 'ZSCMZ'),
|
||||
(104, '6B-F0-82-05', 'AWCUX'),
|
||||
(105, 'C8-67-58-0E', 'HKSWO'),
|
||||
(106, 'CB-94-1E-F3', 'ASIFJ'),
|
||||
(107, '3F-A6-B3-5E', 'CCKEV'),
|
||||
(108, '8E-24-B5-24', 'KDVSJ'),
|
||||
(109, '27-15-0B-9D', 'VCEWY'),
|
||||
(110, 'FE-38-93-E9', 'UKWVN'),
|
||||
(111, '07-6F-B6-B6', 'FFJDJ'),
|
||||
(112, '3A-A8-8E-B1', 'NHCWO'),
|
||||
(113, 'A3-15-41-38', 'IBRFK'),
|
||||
(114, '99-30-04-B1', 'FGLXK'),
|
||||
(115, '80-A8-91-C8', 'BUZRV'),
|
||||
(116, '97-F3-00-93', 'WKNTM'),
|
||||
(117, 'C6-F7-45-02', 'SPQOQ'),
|
||||
(118, '25-11-D9-70', 'SSRWE'),
|
||||
(119, '5B-EF-81-00', 'TIBAH'),
|
||||
(120, '74-18-01-AE', 'EKOFT'),
|
||||
(121, '07-27-C3-41', 'GJTJW'),
|
||||
(122, '23-38-C6-B5', 'XIPNP'),
|
||||
(123, '35-49-0B-88', 'FDFXQ'),
|
||||
(124, '36-00-7F-1C', 'HSCUZ'),
|
||||
(125, 'CB-60-BB-1A', 'BYKBF'),
|
||||
(126, 'FE-5F-E7-FB', 'GNOKK'),
|
||||
(127, '54-D1-4D-EC', 'WLSUB'),
|
||||
(128, '9D-D8-C8-53', 'DMTTJ'),
|
||||
(129, '32-A8-CB-08', 'OCFWD'),
|
||||
(130, 'A4-B4-FC-74', 'CABWU'),
|
||||
(131, '9E-E7-87-A0', 'BUWRJ'),
|
||||
(132, '3F-90-8D-56', 'OULIX'),
|
||||
(133, 'C7-95-56-96', 'XCDYM'),
|
||||
(134, '98-5B-99-35', 'LREGF'),
|
||||
(135, 'C0-1C-52-1E', 'DDLSP'),
|
||||
(136, 'AE-01-18-81', 'DTGHG'),
|
||||
(137, '85-46-39-94', 'BZWUE'),
|
||||
(138, '9C-3C-45-AB', 'LGDDS'),
|
||||
(139, '14-A5-92-CE', 'ERXMY'),
|
||||
(140, 'A4-35-C5-76', 'VJGER'),
|
||||
(141, '69-8E-6A-11', 'LOXIE'),
|
||||
(142, '04-73-52-C8', 'IHARA'),
|
||||
(143, '66-48-DF-7B', 'ZIQJQ'),
|
||||
(144, '01-D9-22-86', 'ZKUEW'),
|
||||
(145, 'B4-AC-F6-93', 'BLDTO'),
|
||||
(146, 'E3-B8-CC-D4', 'OZRQF'),
|
||||
(147, 'FF-18-3D-CB', 'NWPBM'),
|
||||
(148, '68-2D-86-1D', 'OZDYC'),
|
||||
(149, '65-AC-44-36', 'ETUZU'),
|
||||
(150, '9D-3F-90-E9', 'CNQAB'),
|
||||
(151, '8B-DE-55-B5', 'OPIIW'),
|
||||
(152, '15-1B-34-D7', 'ACARQ'),
|
||||
(153, '0D-E1-41-A8', 'NMHYG'),
|
||||
(154, '19-FB-D2-82', 'ASKZD'),
|
||||
(155, 'C6-55-0A-22', 'QMIJT'),
|
||||
(156, '61-E4-51-C7', 'BBDZL'),
|
||||
(157, '65-78-34-50', 'WKKYH'),
|
||||
(158, '41-9A-BF-99', 'AFHJH'),
|
||||
(159, '05-0D-82-31', 'CASXB'),
|
||||
(160, '0D-21-6F-00', 'LOXOZ'),
|
||||
(161, 'F7-84-53-CF', 'ZTUNO'),
|
||||
(162, 'C2-9A-2D-9A', 'QGQNK'),
|
||||
(163, 'BE-57-E3-29', 'SVIBS'),
|
||||
(164, '13-39-5D-21', 'RSVXL'),
|
||||
(165, 'A6-3D-D3-AC', 'EMESC'),
|
||||
(166, 'F2-EF-83-5E', 'BBXON'),
|
||||
(167, '52-F5-7D-2B', 'NGLBK'),
|
||||
(168, 'BA-30-5C-C7', 'MZHBC'),
|
||||
(169, 'B5-43-98-38', 'OYEPB'),
|
||||
(170, '95-AC-FD-6F', 'RQFNK'),
|
||||
(171, 'E0-12-F0-7D', 'MRUUS'),
|
||||
(172, 'E2-5F-C1-1F', 'DJDVW'),
|
||||
(173, '0B-0B-AF-49', 'SOJEJ'),
|
||||
(174, 'C1-AF-BE-FD', 'YYSRC'),
|
||||
(175, '6B-71-12-94', 'AJNMI'),
|
||||
(176, 'E0-D3-67-BB', 'IVUSU'),
|
||||
(177, 'D7-02-23-82', 'VYPUB'),
|
||||
(178, '3F-AA-D7-E0', 'SJYUN'),
|
||||
(179, 'CA-0E-31-E6', 'QRGTG'),
|
||||
(180, 'D4-92-6B-03', 'LXIFX'),
|
||||
(181, 'EE-0A-F5-D3', 'YXWTP'),
|
||||
(182, '73-EB-04-C8', 'SMEFT'),
|
||||
(183, '32-37-21-39', 'HUTUW'),
|
||||
(184, '97-13-49-2E', 'DYCLY'),
|
||||
(185, 'EE-63-92-60', 'VBJWP'),
|
||||
(186, 'B3-88-BB-2B', 'CZRPO'),
|
||||
(187, 'F5-7D-F5-7E', 'JCNSP'),
|
||||
(188, 'AA-A9-B2-83', 'EOKCA'),
|
||||
(189, 'EA-62-F6-F9', 'PZEAK'),
|
||||
(190, '3D-3B-BE-D9', 'ERIMX'),
|
||||
(191, '75-57-68-54', 'NGVPC'),
|
||||
(192, '0E-F0-AD-27', 'MVONW'),
|
||||
(193, '84-39-68-9B', 'ZUHOD'),
|
||||
(194, '75-E4-50-0C', 'YIATG'),
|
||||
(195, 'E8-F6-C1-CF', 'WFQGC'),
|
||||
(196, '55-89-B7-34', 'NKZQL'),
|
||||
(197, 'B2-67-DD-0C', 'EMIWA'),
|
||||
(198, '11-7C-2E-A4', 'WOYWY'),
|
||||
(199, 'CB-D8-B5-A2', 'ZBLQG'),
|
||||
(200, 'CE-A1-20-27', 'STQYS');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -63,7 +201,7 @@ CREATE TABLE IF NOT EXISTS `user` (
|
|||
`password` varchar(40) NOT NULL,
|
||||
`status` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id_user`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=101 ;
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=107 ;
|
||||
|
||||
--
|
||||
-- Contenu de la table `user`
|
||||
|
@ -169,7 +307,8 @@ INSERT INTO `user` (`id_user`, `code`, `username`, `firstname`, `lastname`, `mai
|
|||
(97, '48-03-38-1F', 'Witt', 'Larsen', 'Strong', 'larsenstrong@corecom.com', '8292d357d783eb4ab3900fba170fb8977e9a8720', 0),
|
||||
(98, 'E0-4B-04-F6', 'Valarie', 'Craft', 'Klein', 'craftklein@corecom.com', 'b1f2ec40a2f4457d88662b3ef22ff8fe16fb5e4c', 0),
|
||||
(99, '2F-7D-0A-51', 'Jessica', 'Delgado', 'Campos', 'delgadocampos@corecom.com', '8125b1397016438dc4342d829c286b7597c69803', 0),
|
||||
(100, '91-D4-7E-65', 'Velez', 'Mcmahon', 'Lott', 'mcmahonlott@corecom.com', 'b6a433da4441737be56635dd80d1a5a8eec2bcd3', 1);
|
||||
(100, '91-D4-7E-65', 'Velez', 'Mcmahon', 'Lott', 'mcmahonlott@corecom.com', 'b6a433da4441737be56635dd80d1a5a8eec2bcd3', 1),
|
||||
(106, '92-55-B9-B1', 'b', 'bla', 'bla', 'bla@test.com', '718838c9021dbcf095e9e41271010cb668cacee5', 1);
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
|
|
|
@ -21,13 +21,15 @@
|
|||
"getGroup"
|
||||
],
|
||||
|
||||
"group" :[
|
||||
"cluster" :[
|
||||
"create",
|
||||
"link",
|
||||
"unlink",
|
||||
|
||||
"getAll",
|
||||
"getById",
|
||||
"getByName",
|
||||
"getMerge",
|
||||
|
||||
"getMembers"
|
||||
]
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
/* [3] Creation du groupe de meme nom que l'username
|
||||
=========================================================*/
|
||||
$create_group = new Repo('group/create', array($username) );
|
||||
$create_group = new Repo('cluster/create', array($username) );
|
||||
$id_group = $create_group->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
|
@ -84,7 +84,7 @@
|
|||
|
||||
/* [4] Association au groupe
|
||||
=========================================================*/
|
||||
$assoc_goup = new Repo('group/link', array($id_user, $id_group));
|
||||
$assoc_goup = new Repo('cluster/link', array($id_group, $id_user));
|
||||
$id_assoc = $assoc_goup->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
|
|
|
@ -0,0 +1,286 @@
|
|||
<?php
|
||||
|
||||
namespace manager\repo;
|
||||
use \manager\Database;
|
||||
use \manager\repo\machine as machineRepo;
|
||||
use \manager\repo\user as userRepo;
|
||||
|
||||
class cluster{
|
||||
|
||||
/* CREATION D'UN GROUPE
|
||||
*
|
||||
* @name<String> Nom du groupe
|
||||
*
|
||||
* @return id_user<int> Renvoie l'UID du groupe cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function create($name){
|
||||
/* [1] Verification de l'unicite de name
|
||||
=========================================================*/
|
||||
$check_unique = ( self::getByName($name) === false );
|
||||
|
||||
// Si un groupe a deja ce nom, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
|
||||
/* [2] Creation du groupe
|
||||
=========================================================*/
|
||||
$insert_user = Database::getPDO()->prepare("INSERT INTO cluster(id_cluster, name)
|
||||
VALUES(DEFAULT, :name)");
|
||||
$insert_user->execute(array(
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_group ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_group = self::getByName($name);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_group === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_group['id_cluster'];
|
||||
|
||||
}
|
||||
|
||||
/* ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function link($id_cluster, $id_entity){
|
||||
/* [1] Verification de l'existence du groupe
|
||||
=========================================================*/
|
||||
$group_check = self::getById($id_cluster);
|
||||
|
||||
// Si le groupe n'existe pas, on retourne ue erreur
|
||||
if( $group_check === false )
|
||||
return false;
|
||||
|
||||
|
||||
|
||||
/* [2] Verification de l'existente de l'entite
|
||||
=========================================================*/
|
||||
// On verifie si c'est une machine
|
||||
$machine_check = machineRepo::getById($id_entity);
|
||||
$is_machine = ( $machine_check !== FALSE );
|
||||
|
||||
// On verifie si c'est un utilisateur
|
||||
$user_check = userRepo::getById($id_entity);
|
||||
$is_user = ( $machine_check !== FALSE );
|
||||
|
||||
// Si aucune entite existante, on retourne une erreur
|
||||
if( !$is_machine && !$is_user )
|
||||
return false;
|
||||
|
||||
|
||||
|
||||
/* [3] On cree l'association
|
||||
=========================================================*/
|
||||
$link_entity = Database::getPDO()->prepare("INSERT INTO cluster_merge(id_cluster_merge, id_cluster, id_entity)
|
||||
VALUES(DEFAULT, :id_cluster, :id_entity)");
|
||||
$link_entity->execute(array(
|
||||
':id_cluster' => $id_cluster,
|
||||
':id_entity' => $id_entity
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_cluster_merge ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_cluster_merge = self::getMerge($id_cluster, $id_entity);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_cluster_merge === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_cluster_merge['id_cluster_merge'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE DE TOUS LES GROUPES
|
||||
*
|
||||
* @return groups<Array> Liste des groupes de la BDD
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->query("SELECT * FROM cluster ORDER BY name");
|
||||
|
||||
// On recupere le resultat
|
||||
$answer = $request->fetchAll();
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LE GROUPE D'ID DONNE
|
||||
*
|
||||
* @id<int> UID du groupe en question
|
||||
*
|
||||
* @return group<Array> Renvoie le groupe d'id donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getById($id){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster
|
||||
WHERE id_cluster = :id");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':id' => $id
|
||||
));
|
||||
|
||||
// On recupere 1 seul groupe
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LE GROUPE DE NOM DONNE
|
||||
*
|
||||
* @name<String> Nom du groupe en question
|
||||
*
|
||||
* @return groupe<Array> Renvoie le groupe de nom donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByName($name){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster
|
||||
WHERE name = :name");
|
||||
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
// On recupere 1 seul groupe
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE L'ID D'UNE ASSOCIATION D'UN(E) UTILISATEUR/MACHINE A UN GROUPE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe
|
||||
* @id_entity<int> UID de la machine ou de l'utilisateur
|
||||
*
|
||||
* @return association<int> Renvoie l'UID de l'association cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function getMerge($id_cluster, $id_entity){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster_merge
|
||||
WHERE id_cluster = :id_cluster
|
||||
AND id_entity = :id_entity");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':id_cluster' => $id_cluster,
|
||||
':id_entity' => $id_entity
|
||||
));
|
||||
|
||||
// On recupere 1 seule relation
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* SUPPRIME UN GROUPE DONNE
|
||||
*
|
||||
* @id_cluster<int> UID du groupe en question
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non le groupe a bien ete supprime
|
||||
*
|
||||
*/
|
||||
public static function delete($id_cluster){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$delete_group = Database::getPDO()->prepare("DELETE FROM cluster WHERE id_cluster = :id_cluster");
|
||||
$delete_group->execute(array(
|
||||
':id_cluster' => $id_cluster
|
||||
));
|
||||
|
||||
|
||||
/* [2] On verifie que le groupe n'existe plus
|
||||
=========================================================*/
|
||||
return ( self::getById($id_group) === false );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -0,0 +1,188 @@
|
|||
<?php
|
||||
|
||||
namespace manager\repo;
|
||||
use \manager\Database;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class machine{
|
||||
|
||||
/* CREATION D'UNE MACHINE
|
||||
*
|
||||
* @name<String> Nom du groupe
|
||||
*
|
||||
* @return id_user<int> Renvoie l'UID du groupe cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function create($name){
|
||||
/* [1] Verification de l'unicite de name
|
||||
=========================================================*/
|
||||
$check_unique = ( self::getByName($name) === false );
|
||||
|
||||
// Si un groupe a deja ce nom, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
|
||||
/* [2] Creation du groupe
|
||||
=========================================================*/
|
||||
$insert_user = Database::getPDO()->prepare("INSERT INTO cluster(id_cluster, name)
|
||||
VALUES(DEFAULT, :name)");
|
||||
$insert_user->execute(array(
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_group ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_group = self::getByName($name);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_group === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_group['id_cluster'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA LISTE DE TOUTES LES MACHINES
|
||||
*
|
||||
* @return machine<Array> Liste des machines de la BDD
|
||||
*
|
||||
*/
|
||||
public static function getAll(){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->query("SELECT * FROM machine ORDER BY id_machine");
|
||||
|
||||
// On recupere le resultat
|
||||
$answer = $request->fetchAll();
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA MACHINE D'ID DONNE
|
||||
*
|
||||
* @id<int> Id de la machine en question
|
||||
*
|
||||
* @return machine<Array> Renvoie la machine d'id donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getById($id){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM machine
|
||||
WHERE id_machine = :id");
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':id' => $id
|
||||
));
|
||||
|
||||
// On recupere 1 seule machine
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* RENVOIE LA MACHINE DE NOM DONNE
|
||||
*
|
||||
* @name<String> Nom du groupe en question
|
||||
*
|
||||
* @return groupe<Array> Renvoie le groupe de nom donne si existe
|
||||
* @return error<Boolean> Retourne FALSE si aucun resultat
|
||||
*
|
||||
*/
|
||||
public static function getByName($name){
|
||||
// On ecrit la requete
|
||||
$request = Database::getPDO()->prepare("SELECT * FROM cluster
|
||||
WHERE name = :name");
|
||||
|
||||
|
||||
// On execute la requete
|
||||
$request->execute(array(
|
||||
':name' => $name
|
||||
));
|
||||
|
||||
// On recupere 1 seul groupe
|
||||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
return Database::delNumeric( $answer, true );
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* SUPPRIME UNE MACHINE DONNE
|
||||
*
|
||||
* @id_machine<int> UID de la machine en question
|
||||
*
|
||||
* @return status<Boolean> Retourne si oui ou non la machine a bien ete supprime
|
||||
*
|
||||
*/
|
||||
public static function delete($id_machine){
|
||||
/* [1] On redige/execute la requete
|
||||
=========================================================*/
|
||||
$delete_machine = Database::getPDO()->prepare("DELETE FROM machine WHERE id_machine = :id_machine");
|
||||
$delete_machine->execute(array(
|
||||
':id_machine' => $id_machine
|
||||
));
|
||||
|
||||
|
||||
/* [2] On verifie que la machine n'existe plus
|
||||
=========================================================*/
|
||||
return ( self::getById($id_machine) === false );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace manager\repo;
|
||||
use \manager\Database;
|
||||
use \manager\repo\cluster as clusterRepo;
|
||||
|
||||
class user{
|
||||
|
||||
|
@ -15,16 +16,44 @@
|
|||
* @password<String> Mot de passe de l'utilisateur
|
||||
* @status<String> Status de l'utilisateur
|
||||
*
|
||||
* @return nomRetour<typeRetour> Description du retour
|
||||
* @return id_user<int> Renvoie l'UID de l'utilisateur cree
|
||||
* Renvoie FALSE si une erreur occure
|
||||
*
|
||||
*/
|
||||
public static function create($code, $username, $firstname, $lastname, $mail, $password, $status){
|
||||
/* [1] Creation de l'utilisateur (unicite de l'username)
|
||||
/* [1] Verification de l'unicite de code+username
|
||||
=========================================================*/
|
||||
$check_unique = ( self::getByCode($code) == false );
|
||||
$check_unique = $check_unique && ( self::getByUsername($username) == false );
|
||||
|
||||
var_dump($check_unique);
|
||||
// Si un utilisateur a deja ce code ou cet username, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
/* [2] Creation de l'utilisateur
|
||||
=========================================================*/
|
||||
$insert_user = Database::getPDO()->prepare("INSERT INTO user(id_user, code, username, firstname, lastname, mail, password, status)
|
||||
VALUES(DEFAULT, :code, :username, :firstname, :lastname, :mail, :password, :status)");
|
||||
$insert_user->execute(array(
|
||||
':code' => $code,
|
||||
':username' => $username,
|
||||
':firstname' => $firstname,
|
||||
':lastname' => $lastname,
|
||||
':mail' => $mail,
|
||||
':password' => $password,
|
||||
':status' => $status
|
||||
));
|
||||
|
||||
/* [3] On retourne l'id_user ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_user = self::getByCode($code);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( $check_user === false )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
return $check_user['id_user'];
|
||||
|
||||
}
|
||||
|
||||
|
@ -79,7 +108,7 @@
|
|||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer == null )
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
|
@ -115,7 +144,7 @@
|
|||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer == null )
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
|
@ -153,7 +182,7 @@
|
|||
$answer = $request->fetch();
|
||||
|
||||
// Gestion d'erreur -> aucun resultat
|
||||
if( $answer == null )
|
||||
if( $answer === false )
|
||||
return false;
|
||||
|
||||
// On retourne en supprimant les indices numeriques
|
||||
|
|
6
todo.md
6
todo.md
|
@ -15,7 +15,7 @@
|
|||
############
|
||||
- [ ] Gestion des groupes (utilisateurs/machines)
|
||||
- [x] bdd
|
||||
- [ ] Creation d'un groupe individuel pour utilisateurs
|
||||
- [x] Creation d'un groupe individuel pour utilisateurs + association
|
||||
- [ ] Creation d'un groupe individuel pour machines
|
||||
- [ ] Creation d'une liaison entre 2 groupes (groupeUtilisateur, groupeMachine)
|
||||
- [ ] Prendre en compte au lieu de SERVER['HTTP_HOST'] l'hote et son dossier source
|
||||
|
@ -39,6 +39,10 @@
|
|||
########
|
||||
# FAIT #
|
||||
########
|
||||
- [x] [manager/repo/]Creation des repos
|
||||
- [x] [user] utilisateur
|
||||
- [x] [machine] machines
|
||||
- [x] [cluster] groupes
|
||||
- [x] [view/][view] Ajout de "use CLASS;"
|
||||
- [x] Ajout de "use CLASS;" dans les fichiers pour simplifier la lisibilite
|
||||
- [x] [phpunit/sessionManager] test unitaires du manager de session php
|
||||
|
|
Loading…
Reference in New Issue