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 '';
+
+ foreach ($user_accounts_results as $key => $user_account_result) {
+ $user_account_name = $user_account_result["NAME"];
+ echo '-
+
+ ' . $user_account_name . '
+ ';
+ }
+
+ 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
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 '';
- foreach ($user_accounts_results as $key => $user_account_result) {
- $user_account_name = $user_account_result["NAME"];
- echo '-
-
- ' . $user_account_name . '
+ foreach ($A_results as $O_user) {
+ echo ' -
+
+ ' . $O_user->S_USERNAME . '
';
}