UID de l'entrepôt * @username Identifiant de l'administrateur * @mail Adresse mail de l'administrateur * @password Mot de passe de l'administrateur * * @return id_admin Renvoie l'UID de l'administrateur cree * Renvoie FALSE si une erreur occure * */ public static function create($id_warehouse, $username, $mail, $password){ /* [1] Création de l'administrateur =========================================================*/ $inserted = Table::get('admin') ->insert([ 'id_admin' => Rows::INSERT_DEFAULT, 'id_warehouse' => $id_warehouse, 'username' => $username, 'mail' => $mail, 'password' => \secure_hash( $password, $username ), 'token' => \secure_hash( uniqid(), $username.'-*-'.$mail ) ]); // Si username ou mail déja pris if( !$inserted ) return false; /* [2] On retourne l'id_admin ou FALSE si erreur =========================================================*/ $check_admin = self::getByUsername($id_warehouse, $username); // Si n'existe pas on retourne FALSE if( $check_admin === false ) return false; // Sinon, on retourne son id return $check_admin['id_admin']; } /* MISE A JOUR DU TOKEN D'UN ADMINISTRATEUR * * @id_admin UID de l'administrateur * * @return new_token Renvoie le nouveau token * */ public static function updateToken($id_admin=null){ /* [1] On vérifie que l'administrateur existe =========================================================*/ if( self::getById($id_admin) === false ) return false; /* [2] On met à jour le token =========================================================*/ /* (1) On crée un nouveau token */ $new_token = sessionManager::secure_hash( uniqid() ); $updated = Table::get('admin') ->whereId($id_admin) ->edit([ 'token' => $new_token ]); /* [3] On renvoie le token =========================================================*/ return ( $updated ) ? $new_token : false; } /* MODIFICATION D'UN ADMINISTRATEUR * * @id_admin UID de l'administrateur * @username Identifiant de l'administrateur * @mail Adresse mail de l'administrateur * @password Mot de passe de l'administrateur * * @return status Renvoie si oui ou non tout s'est bien passe * */ public static function edit($id_admin=null, $username=null, $mail=null, $password=null){ /* [1] On rédige/exécute la requête =========================================================*/ $updated = Table::get('admin') ->whereId($id_admin) ->edit([ 'username' => $username, 'mail' => $mail, 'password' => $password ]); /* [2] On retourne l'etat de la modification =========================================================*/ return $updated; // FAUX si @username ou @mail déja pris ou autre erreur } /* SUPPRIME UN ENTREPOT DONNE * * @id_admin UID de l'administrateur en question * * @return status Retourne si oui ou non l'administrateur a bien ete supprime * */ public static function delete($id_admin){ /* [1] On redige/execute la requete =========================================================*/ $deleted = Table::get('admin') ->whereId($id_admin) ->delete(); /* [2] On verifie que l'utilisateur n'existe plus =========================================================*/ return $deleted; } /* RETOURNE UN ADMINISTRATEUR PARTICULIER * * @id_warehouse UID de l'entrepot * @id_admin Token de l'administrateur en question * * @return admin Retourne le premier résultat * FALSE si erreur * */ public static function getById($id_warehouse, $id_admin){ /* [1] On redige/execute la requete =========================================================*/ $admin = Table::get('admin') ->whereId($id_admin) ->whereIdWarehouse($id_warehouse) ->unique() ->select('*') ->fetch(); /* [2] On retourne le résultat =========================================================*/ return $admin; } /* RETOURNE UN ADMINISTRATEUR PARTICULIER * * @id_warehouse UID de l'entrepot * @username Identifiant de l'administrateur en question * * @return admin Retourne le premier résultat * FALSE si erreur * */ public static function getByUsername($id_warehouse, $username){ /* [1] On redige/execute la requete =========================================================*/ $admin = Table::get('admin') ->whereUsername($username) ->whereIdWarehouse($id_warehouse) ->unique() ->select('*') ->fetch(); /* [2] On retourne le résultat =========================================================*/ return $admin; } /* RETOURNE UN ADMINISTRATEUR PARTICULIER * * @id_warehouse UID de l'entrepot * @mail Adresse mail de l'administrateur en question * * @return admin Retourne le premier résultat * FALSE si erreur * */ public static function getByMail($id_warehouse, $mail){ /* [1] On redige/execute la requete =========================================================*/ $admin = Table::get('admin') ->whereMail($mail) ->whereIdWarehouse($id_warehouse) ->unique() ->select('*') ->fetch(); /* [2] On retourne le résultat =========================================================*/ return $admin; } /* RETOURNE UN ADMINISTRATEUR PARTICULIER * * @id_warehouse UID de l'entrepot * @token Token de l'administrateur en question * * @return admin Retourne le premier résultat * FALSE si erreur * */ public static function getByToken($id_warehouse, $token){ /* [1] On redige/execute la requete =========================================================*/ $admin = Table::get('admin') ->whereToken($token) ->whereIdWarehouse($id_warehouse) ->unique() ->select('*') ->fetch(); /* [2] On retourne le résultat =========================================================*/ return $admin; } } ?>