diff --git a/Controllers/ManageUserController.php b/Controllers/ManageUserController.php index 2aa1151..8c7d7ed 100644 --- a/Controllers/ManageUserController.php +++ b/Controllers/ManageUserController.php @@ -20,19 +20,19 @@ final class ManageUserController private function searchViewAction(Array $A_urlParams = null, Array $A_postParams = null, Array $A_getParams = null) { - View::show("manageUser/search"); + View::show("manageUser/manage_users", array("QUERY" => null)); } private function searchQueryViewAction(Array $A_urlParams = null, Array $A_postParams = null, Array $A_getParams = null) { $S_query = $A_getParams["query"]; - - $A_results = UserModel::searchUsers($S_query); - var_dump($A_results); - - echo "Terme de recherche choisi: $S_query"; - View::show("manageUser/search"); + $A_results = UserModel::searchUsers($S_query); + + View::show("manageUser/manage_users", array( + "QUERY" => $S_query, + "RESULTS" => $A_results) + ); } } diff --git a/Models/UserModel.php b/Models/UserModel.php index 209242a..8bbf10b 100644 --- a/Models/UserModel.php +++ b/Models/UserModel.php @@ -66,6 +66,12 @@ final class UserModel extends UserSessionModel $stmt->execute(); } + private static function createFromRow($A_row, $I_ID){ + $O_user = new UserModel($A_row["EMAIL"],$A_row["USERNAME"],$A_row["PASS_HASH"],$A_row["LAST_SEEN"],$A_row["FIRST_SEEN"],$A_row["ADMIN"],$A_row["DISABLED"]); + $O_user->I_ID = $I_ID; + return $O_user; + } + public static function getByID($I_id){ $O_model = Model::get(); $stmt = $O_model->prepare("SELECT * FROM USER WHERE ID=:id"); @@ -75,9 +81,7 @@ final class UserModel extends UserSessionModel $row = $stmt->fetch(); if ($row === false) return null; - $O_user = new UserModel($row["EMAIL"],$row["USERNAME"],$row["PASS_HASH"],$row["LAST_SEEN"],$row["FIRST_SEEN"],$row["ADMIN"],$row["DISABLED"]); - $O_user->I_ID = $I_id; - return $O_user; + return self::createFromRow($row, $I_id); } public static function isEmailInDatabase($S_email){ @@ -117,11 +121,15 @@ final class UserModel extends UserSessionModel return $row["PROFILE_PIC"]; } + public function getProfilePicLink(){ + return "/user/profilePic/".$this->I_ID; + } + public static function searchUsers($S_query) { $O_model = Model::get(); $stmt = $O_model->prepare(" - SELECT ID, EMAIL, USERNAME + SELECT * FROM USER WHERE USER.USERNAME LIKE :full_query OR USER.EMAIL LIKE :full_query @@ -130,8 +138,13 @@ final class UserModel extends UserSessionModel $S_full_query = "%".$S_query."%"; $stmt->bindParam("full_query", $S_full_query); $stmt->execute(); - $rows = $stmt->fetchAll(); - return $rows; + + $A_users = array(); + foreach($stmt->fetchAll() as $row){ + array_push($A_users, self::createFromRow($row, $row["ID"])); + } + + return $A_users; } public static function anonymiseByID($I_id){ diff --git a/Views/manageUser/manage_users.php b/Views/manageUser/manage_users.php new file mode 100644 index 0000000..74776bb --- /dev/null +++ b/Views/manageUser/manage_users.php @@ -0,0 +1,40 @@ +
+

Gestion de comptes

+
+ + +
+
+ Nom d\'utilisateur requis +

Un nom d\'utilisateur est requis pour gérer des utilisateurs.

'; + } else { + $A_results = $A_view["RESULTS"]; + echo '

' . $S_query . '

'; + if (empty($A_results)) { + echo '

Aucun résultat

+

Vérifiez l\'orthographe et la casse de votre saisie.

'; + } else { + echo ' +
+ + + + +
'; + } + } + ?> +
+
diff --git a/Views/manageUser/search.php b/Views/manageUser/search.php deleted file mode 100644 index ebea856..0000000 --- a/Views/manageUser/search.php +++ /dev/null @@ -1,7 +0,0 @@ -

Default view

- -

Please search :

-
- - -