Identifiant de l'entrepot * @password Mot de passe de l'entrepot * * @return id_warehouse Renvoie l'UID de l'entrepot cree * Renvoie FALSE si une erreur occure * */ public static function create($name, $password){ /* [1] On rédige/exécute la requête =========================================================*/ $created = Table::get('warehouse') ->insert([ 'id_warehouse' => Rows::DEFAULT, 'name' => $name, 'password' => sessionManager::secure_hash( $password ), 'token' => sessionManager::secure_hash( uniqid() ) ]); // Si name déja pris, erreur if( !$created ) return false; /* [3] On retourne l'id_warehouse ou FALSE si erreur =========================================================*/ $check_warehouse = self::getByName($name); // Si n'existe pas on retourne FALSE if( $check_warehouse === false ) return false; // Sinon, on retourne son id return $check_warehouse['id_warehouse']; } /* MISE A JOUR DU TOKEN D'UN ENTREPOT * * @id_warehouse UID de l'entrepot * * @return new_token Renvoie le nouveau token * */ public static function updateToken($id_warehouse=null){ /* [1] On vérifie que l'entrepot existe =========================================================*/ if( self::getById($id_warehouse) === 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('warehouse') ->whereId($id_warehouse) ->edit([ 'token' => $new_token ]); /* [3] On renvoie le token =========================================================*/ return ( $updated ) ? $new_token : false; } /* RETOURNE LA LISTE DES MODULE D'UN ENTREPOT * * @return modules Liste des modules autorisés pour l'entrepot * */ public static function getModules($id_warehouse){ /* [1] On récupère les modules =========================================================*/ $module = Table::get('module') ->select('name'); $merge = Table::get('module_merge') ->whereIdWarehouse($id_warehouse) ->join('id_module', $module); $modules = $merge->fetch(); /* [2] On formatte les données pour avoir 1 niveau de tableau =========================================================*/ foreach($modules as $m=>$module) $modules[$m] = $module['name']; /* [3] On retourne la liste =========================================================*/ return $modules; } /* MODIFICATION D'UN ENTREPOT * * @id_warehouse UID de l'entrepot * @name Identifiant de l'entrepot * @password Mot de passe de l'entrepot * * @return status Renvoie si oui ou non tout s'est bien passe * */ public static function edit($id_warehouse=null, $name=null, $password=null){ /* [1] On rédige/exécute la requête =========================================================*/ $updated = Table::get('warehouse') ->whereId($id_warehouse) ->edit([ 'name' => $name, 'password' => sessionManager::secure_hash( $password ) ]); /* [2] On retourne le résultat =========================================================*/ // FAUX si @name est déja pris et si erreur return $updated; } /* SUPPRIME UN ENTREPOT DONNE * * @id_warehouse UID de l'entrepot en question * * @return status Retourne si oui ou non l'entrepot a bien ete supprime * */ public static function delete($id_warehouse){ /* [1] On redige/execute la requete =========================================================*/ $deleted = Table::get('warehouse') ->whereId($id_warehouse) ->delete(); /* [2] On verifie que l'entrepot n'existe plus =========================================================*/ return $deleted; } } ?>