490 lines
12 KiB
PHP
Executable File
490 lines
12 KiB
PHP
Executable File
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
|
|
require_once __ROOT__.'/manager/autoloader.php';
|
|
|
|
use \manager\ModuleRequest;
|
|
use \manager\sessionManager;
|
|
use \manager\ResourceDispatcher;
|
|
use \manager\ManagerError;
|
|
use \manager\Repo;
|
|
use \manager\Database;
|
|
|
|
|
|
use \manager\ORM\Table;
|
|
use \manager\ORM\Rows;
|
|
use \manager\ORM\Row;
|
|
use \manager\ORM\SQLBuilder;
|
|
|
|
debug();
|
|
|
|
|
|
|
|
|
|
|
|
/* INSERTION DES UTILISATEURS DANS LA BDD DEPUIS JSON
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function insertUsersFromJSON(){
|
|
$json = file_get_contents(__ROOT__.'/config/generated_users.json');
|
|
$json = json_decode( $json, true );
|
|
|
|
// Pour chaque entree
|
|
foreach( $json as $user ){
|
|
|
|
// Creation de la requete
|
|
$request = new ModuleRequest('userDefault/create', [
|
|
'code' => $user['code'],
|
|
'username' => $user['username'],
|
|
'firstname' => $user['firstname'],
|
|
'lastname' => $user['lastname'],
|
|
'mail' => $user['email'],
|
|
'password' => $user['password'],
|
|
'status' => $user['status']
|
|
]);
|
|
$answer = $request->dispatch();
|
|
|
|
// Debug error
|
|
if( $answer->error != ManagerError::Success )
|
|
var_dump( $answer->error );
|
|
}
|
|
|
|
return true;
|
|
|
|
}//insertUsersFromJSON();
|
|
|
|
|
|
|
|
|
|
/* NSERTION DES MACHINES DANS LA BDD DEPUIS JSON
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function insertMachinesFromJSON(){
|
|
$json = file_get_contents(__ROOT__.'/config/generated_machines.json');
|
|
$json = json_decode( $json, true );
|
|
|
|
// Pour chaque entree
|
|
foreach( $json as $machine ){
|
|
|
|
// Creation de la requete
|
|
$request = new ModuleRequest('machineDefault/create', [
|
|
'name' => $machine['name']
|
|
]);
|
|
$answer = $request->dispatch();
|
|
|
|
// Debug error
|
|
if( $answer->error != ManagerError::Success )
|
|
var_dump( $answer->error );
|
|
}
|
|
|
|
return true;
|
|
|
|
}//insertMachinesFromJSON();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* AFFICHAGE DES UTILISATEURS DE LA BDD
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function selectUsers(){
|
|
|
|
// Creation de la requete
|
|
$requete = new ModuleRequest('userDefault/getAll');
|
|
$answer = $requete->dispatch();
|
|
|
|
var_dump( ManagerError::explicit($answer->error) );
|
|
var_dump( $answer->get('users') );
|
|
|
|
return true;
|
|
|
|
}//selectUsers();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* AFFICHAGE DES MACHINES DE LA BDD
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function selectMachines(){
|
|
|
|
// Creation de la requete
|
|
$requete = new ModuleRequest('machineDefault/getAll');
|
|
$answer = $requete->dispatch();
|
|
|
|
var_dump( ManagerError::explicit($answer->error) );
|
|
var_dump( $answer->get('machines') );
|
|
|
|
return true;
|
|
|
|
}//selectMachines();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* AFFICHAGE DES UTILISATEURS DE LA BDD (MIS EN PAGE)
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function displayUsers(){
|
|
|
|
// Creation de la requete
|
|
$request = new ModuleRequest('userDefault/getAll');
|
|
$answer = $request->dispatch();
|
|
|
|
// Debug error
|
|
if( $answer->error != ManagerError::Success )
|
|
var_dump( ManagerError::explicit($answer->error) );
|
|
|
|
// display result
|
|
var_dump( $answer->getAll() );
|
|
|
|
return true;
|
|
|
|
}//displayUsers();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* TEST DU DISPATCHER DES MANAGERS
|
|
*
|
|
* @return nomRetour<typeRetour> Description du retour
|
|
|
|
*/
|
|
function testModuleDispatcher(){
|
|
|
|
// Creation d'une requete en objet
|
|
$req1 = new ModuleRequest('firstModule/returnvar', ['id_user' => 10, 'code' => '11-22-33-44'] );
|
|
// Creation d'une requete a partir d'un json en <String>
|
|
$req2 = ModuleRequest::fromString('{"path": "firstModule/returnvar", "data": {"id_user":10, "code":"11-22-33-44"}}');
|
|
|
|
var_dump( $req1->dispatch() );
|
|
|
|
return true;
|
|
|
|
}//testModuleDispatcher();
|
|
|
|
|
|
|
|
|
|
|
|
/* TEST DU DISPATCHER DES REPO
|
|
*
|
|
* @return nomRetour<typeRetour> Description du retour
|
|
|
|
*/
|
|
function testRepoDispatcher(){
|
|
|
|
// Creation d'une requete en objet
|
|
$req1 = new Repo('user/getById', ['19']);
|
|
// $req1 = new Repo('user/getByCode', array('92-55-B9-B3'));
|
|
var_dump( $req1->answer() );
|
|
|
|
if( $req1->error != ManagerError::Success )
|
|
var_dump( ManagerError::explicit($req1->error) );
|
|
|
|
|
|
return true;
|
|
|
|
}//testRepoDispatcher();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* INSERTION (COMPOSITE) DES UTILISATEURS DE LA BDD
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function insertUsersComposite(){
|
|
|
|
// Creation de la requete
|
|
$request = new ModuleRequest('userDefault/create', ['92-55-B9-B1', 'b', 'bla', 'bla', 'bla@test.com', 'sadas', '1'] );
|
|
$answer = $request->dispatch();
|
|
// Debug error
|
|
if( $answer->error != ManagerError::Success )
|
|
var_dump( ManagerError::explicit($answer->error) );
|
|
|
|
var_dump( $answer->getAll() );
|
|
|
|
return true;
|
|
|
|
}//insertUsersComposite();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* RETOURNE LES GROUPES D'UN UTILISATEUR
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function getUserClusters(){
|
|
$id_user = 115;
|
|
|
|
// Groupes de l'utilisateur 'a'
|
|
$getUser1Clusters = new Repo('user/getClusters', [$id_user]);
|
|
$user1Clusters = $getUser1Clusters->answer();
|
|
var_dump( $user1Clusters );
|
|
|
|
// On ajoute un groupe a l'utilisateur 100
|
|
$linkA = new Repo('cluster/link', array($user1Clusters[0]['id_cluster'], 100) );
|
|
var_dump( $linkA->answer() );
|
|
$getUser2Clusters = new Repo('user/getClusters', array(100));
|
|
var_dump( $getUser2Clusters->answer() );
|
|
|
|
// On retire un groupe a l'utilisateur 100
|
|
$unlinkA = new Repo('cluster/unlink', array($user1Clusters[0]['id_cluster'], 100) );
|
|
var_dump( $linkA->answer() );
|
|
$getUser2Clusters = new Repo('user/getClusters', array(100));
|
|
var_dump( $getUser2Clusters->answer() );
|
|
|
|
|
|
|
|
return true;
|
|
|
|
}//getUserClusters();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* MODIFICATION D'UN UTILISATEUR
|
|
*
|
|
*
|
|
* @return status<Boolean> TRUE si aucune erreur, sinon FALSE
|
|
*
|
|
*/
|
|
function editUser(){
|
|
$id_user = 48;
|
|
|
|
$request = new ModuleRequest('userDefault/edit', array(
|
|
'B1-87-EA-BF',
|
|
'Abigail',
|
|
'Mcmillan',
|
|
'Savage',
|
|
'mcmillansavage@corecom.com',
|
|
'password',
|
|
0
|
|
));
|
|
|
|
|
|
// ["B1-87-EA-BF","Abigail01","Mcmillan","Savage","mcmillansavage@corecom.com","password",0]
|
|
|
|
var_dump( $request->dispatch() );
|
|
|
|
|
|
return true;
|
|
|
|
}//editUser();
|
|
|
|
|
|
// new ResourceDispatcher('f/svg/search/st/sub-menu-side/ff0000', true);
|
|
|
|
|
|
|
|
|
|
|
|
function createWarehouse(){
|
|
|
|
$insert = new Repo('admin/create', [
|
|
'FirstAdmin',
|
|
'adminmail@gmail.com',
|
|
'AdminPassword'
|
|
]);
|
|
var_dump( $insert->answer() );
|
|
|
|
|
|
$getAll = new Repo('admin/getAll');
|
|
}//createWarehouse();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
debug();
|
|
|
|
/* [1] FETCH
|
|
=========================================================*/
|
|
$warehouse =
|
|
Table::get('warehouse') // Table : WAREHOUSE
|
|
->whereName(['stef-montauban', Rows::COND_EQUAL]) // condition : name = 'stef-montauban'
|
|
->select('name') // select : warehouse.name
|
|
->unique(); // limit : 1
|
|
|
|
$myUser =
|
|
Table::get('user') // Table : USER
|
|
->whereId([100, Rows::COND_INF]) // condition : clé primaire(id_user) < 100
|
|
->whereId([[94, 95, 96], Rows::COND_IN]) // condition : clé primaire(id_user) parmi les valeurs [94, 95, 96]
|
|
->whereUsername(['%e%', Rows::COND_LIKE]) // condition : username LIKE '%e%'
|
|
->select(['mail', 'username', 'firstname']) // select : user.mail, user.username, user.firstname
|
|
->select('id_user') // Select : user.id_user
|
|
->join('id_warehouse', $warehouse) // jointure la table WAREHOUSE (automatique, soit référence, soit primaire soit même référence)
|
|
|
|
// SELECT
|
|
->fetch();
|
|
var_dump($myUser);
|
|
|
|
|
|
// SELECT user.firstname, user.mail, user.username, user.id_user, warehouse.name
|
|
// FROM user, (SELECT warehouse.* FROM warehouse WHERE warehouse.name = :warehouse_x_name_0 ) as warehouse
|
|
// WHERE user.id_user < :user_x_id_user_0
|
|
// AND user.id_user IN (:user_x_id_user_1_0, :user_x_id_user_1_1)
|
|
// AND user.username LIKE :user_x_username_2
|
|
// AND user.id_warehouse = warehouse.id_warehouse
|
|
//
|
|
// LIMIT 1;
|
|
|
|
/* [2] Modification
|
|
=========================================================*/
|
|
// $warehouse =
|
|
// Table::get('warehouse') // Access to table 'warehouse'
|
|
// ->whereName(['stef-montauban', Rows::COND_NOTEQ]); // condition : name = 'my-warehouse'
|
|
//
|
|
//
|
|
// $myUser =
|
|
// Table::get('user') // Access to table 'user'
|
|
// ->whereId([100, Rows::COND_INF]) // PRIMARY KEY (other condition on same field)
|
|
// ->whereId([[1,4,6,9], Rows::COND_IN]) // PRIMARY KEY (other condition on same field)
|
|
// ->whereUsername(['%e%', Rows::COND_LIKE]) // Dynamic getter 'getByMySuperColumn' -> 'my_super_column'
|
|
// ->select(['mail', 'username', 'firstname']) // Select clause
|
|
// ->select('id_user') // Select clause (added)
|
|
// ->join('id_warehouse', $warehouse) // joins warehouse (with name 'my-warehouse') to column 'id_warehouse'
|
|
// // ->unique() // unique result
|
|
//
|
|
// // ->fetch();
|
|
// ->edit([
|
|
// 'id_warehouse' => Table::get('warehouse')->whereName(['stef-montauban', Rows::COND_EQUAL])->unique()->select('id_warehouse')->fetch()['id_warehouse']
|
|
// ]);
|
|
|
|
// var_dump($myUser);
|
|
|
|
|
|
/* [3] INSERTION
|
|
=========================================================*/
|
|
// $insert = Table::get('user')
|
|
// ->insert([
|
|
// [
|
|
// 'id_user' => Rows::DEFAULT,
|
|
// 'id_warehouse' => 7,
|
|
// 'code' => 'AA-AA-AA-AA',
|
|
// 'username' => 'AA',
|
|
// 'firstname' => 'AA',
|
|
// 'lastname' => 'AA',
|
|
// 'mail' => 'AA@AA.AA'
|
|
// ],
|
|
// [
|
|
// 'id_user' => Rows::DEFAULT,
|
|
// 'id_warehouse' => 7,
|
|
// 'code' => 'BB-BB-BB-BB',
|
|
// 'username' => 'BB',
|
|
// 'firstname' => 'BB',
|
|
// 'lastname' => 'BB',
|
|
// 'mail' => 'BB@BB.BB'
|
|
// ]
|
|
// ]);
|
|
|
|
|
|
/* [4] Suppression
|
|
=========================================================*/
|
|
// $warehouse =
|
|
// Table::get('warehouse') // Access to table 'warehouse'
|
|
// ->whereName(['%stef%', Rows::COND_LIKE]) // condition : name = 'my-warehouse'
|
|
// ->select('id_warehouse');
|
|
//
|
|
//
|
|
// $myUser =
|
|
// Table::get('user') // Access to table 'user'
|
|
// ->whereId([[7,91], Rows::COND_IN]) // PRIMARY KEY (other condition on same field)
|
|
// ->whereUsername(['%', Rows::COND_LIKE]) // Dynamic getter 'getByMySuperColumn' -> 'my_super_column'
|
|
// ->select(['mail', 'username', 'firstname']) // Select clause
|
|
// ->select('id_user') // Select clause (added)
|
|
// ->join('id_warehouse', $warehouse) // joins warehouse (with name 'my-warehouse') to column 'id_warehouse'
|
|
// ->unique() // unique result
|
|
//
|
|
// ->delete();
|
|
|
|
// var_dump($myUser);
|
|
|
|
|
|
|
|
// $warehouse = Table::get('warehouse')
|
|
// ->whereName(['stef%', Rows::COND_LIKE])
|
|
// ->select('id_warehouse');
|
|
//
|
|
// $module_merge = Table::get('module_merge')
|
|
// ->join('id_warehouse', $warehouse)
|
|
// ->select('id_module_merge');
|
|
//
|
|
// $module = Table::get('module')
|
|
// ->join('id_module', $module_merge)
|
|
// ->select('id_module');
|
|
//
|
|
// $chip = Table::get('chip')
|
|
// ->select('id_chip')
|
|
// ->join('id_module', $module);
|
|
//
|
|
// var_dump($chip->fetch());
|
|
|
|
// SELECT module.id_module
|
|
// FROM chip,
|
|
// (SELECT * FROM module) as module,
|
|
// (SELECT * FROM module_merge) as module_merge,
|
|
// (SELECT * FROM warehouse WHERE warehouse.name LIKE 'stef%') as warehouse
|
|
// WHERE chip.id_module = module.id_module
|
|
// AND module.id_module = module_merge.id_module
|
|
// AND module_merge.id_warehouse = warehouse.id_warehouse
|
|
|
|
|
|
|
|
// $a = new ModuleRequest('authentificationDefault/warehouse', [
|
|
// 'name' => 'test',
|
|
// 'password' => 'slk'
|
|
// ]);
|
|
//
|
|
// $a->dispatch();
|
|
|
|
|
|
|
|
|
|
?>
|