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', array($login, $password)); $user = $check->answer(); // Si le login/password est incorrect, on retourne une erreur if( $user === false ) return array('ModuleError' => ManagerError::ModuleError); /* [2] Gestion du login =========================================================*/ $_SESSION['userid'] = $user['id_user']; $_SESSION['username'] = $user['login']; $_SESSION['permission'] = explode( ',', str_replace(' ', '', $user['permission']) ); /* [4] Retour de l'id user =========================================================*/ return array( 'ModuleError' => ManagerError::Success, 'id_user' => $user['id_user'] ); } /* DECONNEXION D'UN UTILISATEUR * */ public static function logout(){ $_SESSION['userid'] = null; $_SESSION['username'] = null; $_SESSION['permission'] = array(); } /* 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 array('ModuleError' => ManagerError::ModuleError); /* [2] On met les permissions au bon format (string -> array) =========================================================*/ foreach($users_data as $i=>$user) $users_data[$i]['permission'] = explode( ',', str_replace(' ', '', $user['permission']) ); /* [3] Gestion du retour =========================================================*/ return array( '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 * @reference Reference vers une Personne (sinon NULL) * @permissions Liste des permissions 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); $reference = (is_numeric($reference)) ? (int) $reference : null; $permission = ($permission=='admin') ? 'admin' : 'subject'; /* [1] Creation de l'utilisateur =========================================================*/ $create = new Repo('user/create', array($login, $password, $mail, $reference, $permission)); $created_id = $create->answer(); // Si erreur de creation, on retourne une erreur if( $created_id === false ) return array( 'ModuleError' => ManagerError::ModuleError ); /* [2] Gestion du retour =========================================================*/ return array( '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', array($id_user)); $exists_status = $exists->answer(); // Si l'utilisateur n'existe pas, on retourne une erreur if( $exists_status === false ) return array( 'ModuleError' => ManagerError::ModuleError ); /* [2] Suppression de l'utilisateur =========================================================*/ $remove = new Repo('user/remove', array($id_user)); $remove_status = $remove->answer(); /* [3] On verifie que l'utilisateur est bien supprime =========================================================*/ $removed = new Repo('user/getById', array($id_user)); $removed_status = $removed->answer(); // Si l'utilisateur n'existe pas, on retourne une erreur if( $removed_status !== false ) return array( 'ModuleError' => ManagerError::ModuleError ); /* [4] Gestion du retour =========================================================*/ return array( 'ModuleError' => ManagerError::Success ); } // [x] "login", // [x] "logout", // [x] "getById", // [x] "getAll", // [x] "create", // [ ] "remove", } ?>