FIX: Correction pour laisser passer 'getAll' et 'getByXXX' dans parentRepo
This commit is contained in:
parent
bd7eaf02a5
commit
2cad3ac40e
|
@ -64,7 +64,8 @@
|
||||||
// var_dump($response);
|
// var_dump($response);
|
||||||
|
|
||||||
|
|
||||||
var_dump( \manager\repo\user::getByMail('B@gmail.com') );
|
var_dump( \manager\repo\user::getByLogin('xdrm') );
|
||||||
var_dump( \manager\repo\subject::getByPseudo('jeannot') );
|
// var_dump( \manager\repo\user::getByLogin('xdrm') );
|
||||||
|
// var_dump( \manager\repo\subject::getByPseudo('jeannot') );
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -58,41 +58,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE L'UTILISATEUR D'ID DONNE
|
|
||||||
*
|
|
||||||
* @id_user<int> UID de l'utilisateur en question
|
|
||||||
*
|
|
||||||
* @return user<Array> 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', array($id_user));
|
|
||||||
$user_data = $getUser->answer();
|
|
||||||
|
|
||||||
// Si aucun utilisateur n'est trouve
|
|
||||||
if( $user_data === false ) return array('ModuleError' => ManagerError::ModuleError);
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On met les permissions au bon format (string -> array)
|
|
||||||
=========================================================*/
|
|
||||||
$user_data['permission'] = explode( ',', str_replace(' ', '', $user_data['permission']) );
|
|
||||||
|
|
||||||
/* [3] Gestion du retour
|
|
||||||
=========================================================*/
|
|
||||||
return array(
|
|
||||||
'ModuleError' => ManagerError::Success,
|
|
||||||
'user' => $user_data
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE LA LISTE DE TOUS LES UTILISATEURS
|
/* RETOURNE LA LISTE DE TOUS LES UTILISATEURS
|
||||||
*
|
*
|
||||||
* @return users<Array> Tableau contenant les informations de tous les utilisateurs
|
* @return users<Array> Tableau contenant les informations de tous les utilisateurs
|
||||||
|
|
|
@ -23,7 +23,12 @@
|
||||||
// Si static::table_name() NULL
|
// Si static::table_name() NULL
|
||||||
if( is_null(static::table_name()) ) return false;
|
if( is_null(static::table_name()) ) return false;
|
||||||
|
|
||||||
/* [0] On charge la liste des colonnes de la table
|
/* [1] On vérifie que la méthode est 'getX', avec X une chaine
|
||||||
|
=========================================================*/
|
||||||
|
// Si c'est pas le bon format, on retourne une erreur
|
||||||
|
if( !preg_match('/^get(?:By(\w+)|(All))$/', $method, $matches) ) return false;
|
||||||
|
|
||||||
|
/* [2] On charge la liste des colonnes de la table
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$getColumns = Database::getPDO()->query('SHOW COLUMNS FROM '.static::table_name());
|
$getColumns = Database::getPDO()->query('SHOW COLUMNS FROM '.static::table_name());
|
||||||
$cols = $getColumns->fetchAll();
|
$cols = $getColumns->fetchAll();
|
||||||
|
@ -34,38 +39,37 @@
|
||||||
foreach($cols as $column)
|
foreach($cols as $column)
|
||||||
array_push($table_columns, $column['Field']);
|
array_push($table_columns, $column['Field']);
|
||||||
|
|
||||||
|
/* [3] On vérifie que la valeur après 'get' est dans $table_columns
|
||||||
/* [1] On vérifie que la méthode est 'getX', avec X une chaine
|
|
||||||
=========================================================*/
|
|
||||||
// Si c'est pas le bon format, on retourne une erreur
|
|
||||||
if( !preg_match('/^getBy(\w+)$/', $method, $matches) ) return false;
|
|
||||||
|
|
||||||
/* [2] On vérifie que la valeur après 'get' est dans $table_columns
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$columnName = strtolower($matches[1]);
|
$columnName = strtolower($matches[1]);
|
||||||
|
|
||||||
$getAll = $columnName == 'all'; // Si 'getAll'
|
$getAll = count($matches) > 2; // Si 'getAll'
|
||||||
$getSomething = count($args) > 0 && in_array($columnName, $table_columns); // Si 'getX', et 'X' dans la liste des colonnes
|
$getSomething = count($args) > 0 && in_array($columnName, $table_columns); // Si 'getX', et 'X' dans la liste des colonnes
|
||||||
|
|
||||||
// Si ni 'getAll' ni 'getSomething' -> erreur
|
// Si ni 'getAll' ni 'getSomething' -> erreur
|
||||||
if( !$getAll && !$getSomething ) return false;
|
if( !$getAll && !$getSomething ) return false;
|
||||||
|
|
||||||
/* [3] On rédige la requête
|
/* [4] On rédige la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$getRequestString = 'SELECT * FROM '.static::table_name();
|
$getRequestString = 'SELECT * FROM '.static::table_name();
|
||||||
|
|
||||||
// Si c'est 'getSomething', on ajoute une condition
|
// Si c'est 'getSomething', on ajoute une condition
|
||||||
if( $getSomething ) $getRequestString .= ' WHERE '.$columnName.' = :value';
|
if( $getSomething ) $getRequestString .= ' WHERE '.$columnName.' = :value';
|
||||||
|
|
||||||
|
$getRequestString .= ' ORDER BY 1 ASC';
|
||||||
|
|
||||||
|
// On prépare la requête
|
||||||
$getRequest = Database::getPDO()->prepare($getRequestString);
|
$getRequest = Database::getPDO()->prepare($getRequestString);
|
||||||
|
|
||||||
/* [4] On exécute la requête
|
/* [5] On exécute la requête
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
// Si 'getSomething', on ajoute le champ
|
// Si 'getSomething', on ajoute le champ
|
||||||
$getRequest->execute(array(
|
$getRequest->execute(array(
|
||||||
':value' => $getSomething ? $args[0] : null
|
':value' => $getSomething ? $args[0] : null
|
||||||
));
|
));
|
||||||
|
|
||||||
/* [5] On récupère le résultat
|
|
||||||
|
/* [6] On récupère le résultat
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
return Database::delNumeric( $getRequest->fetchAll() );
|
return Database::delNumeric( $getRequest->fetchAll() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,69 +55,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE LES DONNEES D'UN UTILISATEUR D'ID DONNE
|
|
||||||
*
|
|
||||||
* @id_user<int> UID de l'utilisateur en question
|
|
||||||
*
|
|
||||||
* @return user<Array> Tableau contenant les donnees de l'utilisateur s'il existe sinon retourne FALSE
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getById($id_user){
|
|
||||||
/* [0] On formatte et vérifie les INPUT
|
|
||||||
=========================================================*/
|
|
||||||
if( !Database::check('id', $id_user) ) return false;
|
|
||||||
|
|
||||||
/* [1] On effectue la requete
|
|
||||||
=========================================================*/
|
|
||||||
$getUser = Database::getPDO()->prepare("SELECT id_user, login, mail, permission
|
|
||||||
FROM users
|
|
||||||
WHERE id_user = :id_user");
|
|
||||||
$getUser->execute(array( ':id_user' => $id_user ));
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On recupere le resultat de la requete
|
|
||||||
=========================================================*/
|
|
||||||
$userData = $getUser->fetch();
|
|
||||||
|
|
||||||
// Si l'utilisateur n'existe pas, on retourne FALSE
|
|
||||||
if( $userData === false ) return false;
|
|
||||||
|
|
||||||
/* [3] Gestion du retour
|
|
||||||
=========================================================*/
|
|
||||||
return Database::delNumeric( $userData, true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE LES DONNEES DE TOUS LES UTILISATEURS
|
|
||||||
*
|
|
||||||
* @return users<Array> Tableau contenant les donnees des utilisateurs, retourne FALSE si erreur
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function getAll(){
|
|
||||||
/* [1] On effectue la requete
|
|
||||||
=========================================================*/
|
|
||||||
$getUsers = Database::getPDO()->query("SELECT id_user, login, mail, permission
|
|
||||||
FROM users
|
|
||||||
ORDER BY login ASC");
|
|
||||||
|
|
||||||
|
|
||||||
/* [2] On recupere le resultat de la requete
|
|
||||||
=========================================================*/
|
|
||||||
$usersData = $getUsers->fetchAll();
|
|
||||||
|
|
||||||
// Si l'utilisateur n'existe pas, on retourne FALSE
|
|
||||||
if( $usersData === false ) return false;
|
|
||||||
|
|
||||||
/* [3] Gestion du retour
|
|
||||||
=========================================================*/
|
|
||||||
return Database::delNumeric( $usersData );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* CREE UN UTILISATEUR
|
/* CREE UN UTILISATEUR
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue