From 28a7e5d0841a22d98bdc091138c41f0dddd07739 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 24 Jan 2023 18:33:30 +0100 Subject: [PATCH 1/7] Add manage users view Also remove the search view, merged into this new view. --- Views/manageUser/manage_users.php | 46 +++++++++++++++++++++++++++++++ Views/manageUser/search.php | 7 ----- 2 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 Views/manageUser/manage_users.php delete mode 100644 Views/manageUser/search.php diff --git a/Views/manageUser/manage_users.php b/Views/manageUser/manage_users.php new file mode 100644 index 0000000..2e50f8d --- /dev/null +++ b/Views/manageUser/manage_users.php @@ -0,0 +1,46 @@ + "A name", + "AVATAR" => '/static/img/users/1.jpg', + "USER_ID" => 4234273)); +?> +
+

Gestion de comptes

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

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

'; + } else { + if (empty($user_accounts_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 :

-
- - -
From 40500baf3bf996eddf9703404ffdf221fcc1a9cb Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:02:27 +0100 Subject: [PATCH 2/7] Rename manage user view in ManageUserController Also remove debug output code and pass query and search results in an array --- Controllers/ManageUserController.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Controllers/ManageUserController.php b/Controllers/ManageUserController.php index 2aa1151..722d443 100644 --- a/Controllers/ManageUserController.php +++ b/Controllers/ManageUserController.php @@ -20,19 +20,18 @@ 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"); } 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)); } } From b6235d6f9ad32712ba042b739fcd3e6a01f9a4d8 Mon Sep 17 00:00:00 2001 From: AudricV <74829229+AudricV@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:04:51 +0100 Subject: [PATCH 3/7] Use real data and show username requested in manage users view --- Views/manageUser/manage_users.php | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Views/manageUser/manage_users.php b/Views/manageUser/manage_users.php index 2e50f8d..8d7f0b8 100644 --- a/Views/manageUser/manage_users.php +++ b/Views/manageUser/manage_users.php @@ -1,10 +1,6 @@ "A name", - "AVATAR" => '/static/img/users/1.jpg', - "USER_ID" => 4234273)); +$username_requested = $A_view["QUERY"]; +$user_accounts_results = $A_view["RESULTS"]; ?>

Gestion de comptes

@@ -18,6 +14,7 @@ $user_accounts_results = array( echo '

Nom d\'utilisateur requis

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

'; } else { + echo '

' . $username_requested . '

'; if (empty($user_accounts_results)) { echo '

Aucun résultat

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

'; From d3d18020d2039c308d4c3f69dc1a66b2021445d8 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:28:10 +0100 Subject: [PATCH 4/7] always at least pass a null query to the view --- Controllers/ManageUserController.php | 5 +++-- Views/manageUser/manage_users.php | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Controllers/ManageUserController.php b/Controllers/ManageUserController.php index 722d443..8c7d7ed 100644 --- a/Controllers/ManageUserController.php +++ b/Controllers/ManageUserController.php @@ -20,7 +20,7 @@ final class ManageUserController private function searchViewAction(Array $A_urlParams = null, Array $A_postParams = null, Array $A_getParams = null) { - View::show("manageUser/manage_users"); + View::show("manageUser/manage_users", array("QUERY" => null)); } private function searchQueryViewAction(Array $A_urlParams = null, Array $A_postParams = null, Array $A_getParams = null) @@ -31,7 +31,8 @@ final class ManageUserController View::show("manageUser/manage_users", array( "QUERY" => $S_query, - "RESULTS" => $A_results)); + "RESULTS" => $A_results) + ); } } diff --git a/Views/manageUser/manage_users.php b/Views/manageUser/manage_users.php index 8d7f0b8..2da6659 100644 --- a/Views/manageUser/manage_users.php +++ b/Views/manageUser/manage_users.php @@ -1,7 +1,3 @@ -

Gestion de comptes

@@ -10,10 +6,12 @@ $user_accounts_results = $A_view["RESULTS"];
Nom d\'utilisateur requis

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

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

' . $username_requested . '

'; if (empty($user_accounts_results)) { echo '

Aucun résultat

From 877a8c130508bf034f97c782baf1bd76d2eb0911 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:40:30 +0100 Subject: [PATCH 5/7] add method to get user profile pic link --- Models/UserModel.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Models/UserModel.php b/Models/UserModel.php index cbbe1d2..8299a03 100644 --- a/Models/UserModel.php +++ b/Models/UserModel.php @@ -117,6 +117,10 @@ 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(); From 7c225f9a508e01e93193e4013b226143bc473a21 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:40:48 +0100 Subject: [PATCH 6/7] return array of User in UserModel::searchUsers() --- Models/UserModel.php | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/Models/UserModel.php b/Models/UserModel.php index 8299a03..ff46dac 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){ @@ -125,7 +129,7 @@ final class UserModel extends UserSessionModel { $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 @@ -134,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){ From 4c3590b3a5cdd26381f8071b813fcb1bd96ced43 Mon Sep 17 00:00:00 2001 From: Thomas Rubini <74205383+ThomasRubini@users.noreply.github.com> Date: Tue, 24 Jan 2023 19:41:12 +0100 Subject: [PATCH 7/7] update view to user updated model --- Views/manageUser/manage_users.php | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/Views/manageUser/manage_users.php b/Views/manageUser/manage_users.php index 2da6659..74776bb 100644 --- a/Views/manageUser/manage_users.php +++ b/Views/manageUser/manage_users.php @@ -1,29 +1,28 @@

Gestion de comptes

-
+
Nom d\'utilisateur requis

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

'; } else { - $user_accounts_results = $A_view["RESULTS"]; - echo '

' . $username_requested . '

'; - if (empty($user_accounts_results)) { + $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 '