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 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 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 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 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 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 $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 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 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 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 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('name') // Select : user.id_user // ->select('id_user', Rows::SEL_COUNT) // ->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::INSERT_DEFAULT, // 'id_warehouse' => 7, // 'code' => 'AA-AA-AA-AA', // 'username' => 'AA', // 'firstname' => 'AA', // 'lastname' => 'AA', // 'mail' => 'AA@AA.AA' // ], // [ // 'id_user' => Rows::INSERT_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); $getPermissions = Database::getPDO()->prepare("SELECT u.id_user, u.code, GROUP_CONCAT(DISTINCT a.id_action ORDER BY a.id_action ASC) as actions FROM user as u, user_cluster as uc, user_cluster_merge as ucm, machine as m, machine_cluster as mc, machine_cluster_merge as mcm, action as a, action_merge as am WHERE u.id_user = ucm.id_user AND uc.id_user_cluster = ucm.id_user_cluster AND am.id_source = uc.id_user_cluster AND m.id_warehouse = u.id_warehouse AND m.id_warehouse = :id_warehouse AND m.id_machine = :id_machine AND m.id_machine = mcm.id_machine AND mc.id_machine_cluster = mcm.id_machine_cluster AND am.id_target = mc.id_machine_cluster AND a.id_action = am.id_action GROUP BY u.id_user, u.code"); $getPermissions->execute([ ':id_warehouse' => 7, ':id_machine' => 5 ]); var_dump( Database::delNumeric( $getPermissions->fetchAll() ) ); $u = Table::get('user') ->select('id_user') ->select('code'); $ucm = Table::get('user_cluster_merge') ->join('id_user', $u); $m = Table::get('machine') ->whereId(5); $mcm = Table::get('machine_cluster_merge') ->join('id_machine', $m); $a = Table::get('action_merge') ->join('id_source', $ucm) ->join('id_target', $mcm) ->select('id_action', Rows::SEL_CONCAT, Rows::SEL_DISTINCT); var_dump($a->fetch()); // $a = new ModuleRequest('authentificationDefault/warehouse', [ // 'name' => 'test', // 'password' => 'slk' // ]); // // $a->dispatch(); ?>