Username ou adresse mail de l'utilisateur * @password Password de l'utilisateur * * @return id_user Retourne l'id de l'utilisateur si les logins sont corrects * */ public static function login($params){ extract($params); /* [1] On verifie les logins =========================================================*/ $check = new Repo('user/login', [$login, $password]); $user = $check->answer(); // Si le login/password est incorrect, on retourne une erreur if( $user === false ) return ['ModuleError' => ManagerError::ModuleError]; /* [2] Gestion du login =========================================================*/ $_SESSION['userid'] = $user['id_user']; $_SESSION['username'] = $user['login']; $_SESSION['permission'] = ['admin']; /* [4] Retour de l'id user =========================================================*/ return [ 'ModuleError' => ManagerError::Success, 'id_user' => $user['id_user'] ]; } /* DECONNEXION D'UN UTILISATEUR * */ public static function logout(){ $_SESSION['userid'] = null; $_SESSION['username'] = null; $_SESSION['permission'] = []; return ['ModuleError' => ManagerError::Success]; } /* RETOURNE L'UTILISATEUR D'ID DONNE * * @id_user UID de l'utilisateur en question * * @return user Tableau contenant les informations de l'utilisateur * */ public static function getById($params){ extract($params); /* [1] On recupere les donnees de l'utilisateur =========================================================*/ $getUser = new Repo('user/getById', [$id_user]); $user_data = $getUser->answer(); // Si aucun utilisateur n'est trouve if( count($user_data) == 0 ) return ['ModuleError' => ManagerError::ModuleError]; /* [3] Gestion du retour =========================================================*/ return [ 'ModuleError' => ManagerError::Success, 'user' => $user_data[0] ]; } /* RETOURNE LA LISTE DE TOUS LES UTILISATEURS * * @return users Tableau contenant les informations de tous les utilisateurs * */ public static function getAll(){ /* [1] On recupere les donnees des utilisateurs =========================================================*/ $getUsers = new Repo('user/getAll'); $users_data = $getUsers->answer(); // Si aucun utilisateur n'est trouve if( $users_data === false ) return ['ModuleError' => ManagerError::ModuleError]; /* [3] Gestion du retour =========================================================*/ return [ 'ModuleError' => ManagerError::Success, 'users' => $users_data ]; } /* CREATION D'UN UTILISATEUR * * @login Login (identifiant) de l'utilisateur * @password Password de l'utilisateur * @mail Adresse mail de l'utilisateur * * @return id_user Renvoie l'id de l'utilisateur cree * */ public static function create($params){ extract($params); /* [0] Verification et formattage des INPUT =========================================================*/ $password = sessionManager::sha1($password); /* [1] Creation de l'utilisateur =========================================================*/ $create = new Repo('user/create', [$login, $password, $mail]); $created_id = $create->answer(); // Si erreur de creation, on retourne une erreur if( $created_id === false ) return [ 'ModuleError' => ManagerError::ModuleError ]; /* [2] Gestion du retour =========================================================*/ return [ 'ModuleError' => ManagerError::Success, 'id_user' => $created_id ]; } /* SUPPRESSION D'UN UTILISATEUR * * @id_user UID de l'utilisateur en question * */ public static function remove($params){ extract($params); /* [1] On verifie que l'utilisateur existe =========================================================*/ $exists = new Repo('user/getById', [$id_user]); $exists_status = $exists->answer(); // Si l'utilisateur n'existe pas, on retourne une erreur if( count($exists_status) == 0 ) return [ 'ModuleError' => ManagerError::ModuleError ]; /* [2] Suppression de l'utilisateur =========================================================*/ $remove = new Repo('user/remove', [$id_user]); $remove_status = $remove->answer(); /* [3] On verifie que l'utilisateur est bien supprime =========================================================*/ $removed = new Repo('user/getById', [$id_user]); $removed_status = $removed->answer(); // Si l'utilisateur n'existe pas, on retourne une erreur if( count($removed_status) > 0 ) return [ 'ModuleError' => ManagerError::ModuleError ]; /* [4] Gestion du retour =========================================================*/ return [ 'ModuleError' => ManagerError::Success ]; } // [x] "login", // [x] "logout", // [x] "getById", // [x] "getAll", // [x] "create", // [ ] "remove", } ?>