diff --git a/controllers/user_controller.php b/controllers/user_controller.php index ee19f09..738fea5 100644 --- a/controllers/user_controller.php +++ b/controllers/user_controller.php @@ -212,17 +212,23 @@ class UserCtrl extends MotherCtrl { $arrError['user_mail'] = "Ce mail est déjà associé"; } else { - $objUser->hydrate($_POST); - $objUser->setId($_SESSION['user']['user_id']); - $boolInsert = $objUserModel->update($objUser); + if ($objUserModel->pseudoExists($objUser->getPseudo()) && ($_POST['user_pseudo'] != $objUser->getPseudo())){ + $arrError['user_pseudo'] = "Ce pseudo est déjà utiliser"; + }else{ + $boolInsert = $objUserModel->update($objUser); - if ($boolInsert === true) { - $_SESSION['success'] = "Compte créé avec succès"; - header("Location:?ctrl=user&action=user&id=".$objUser->getId()); - exit; - } else { - $arrError['global'] = "Erreur lors de l'update"; - } + if ($boolInsert === true) { + $objUser->hydrate($_POST); + $objUser->setPseudo($_SESSION['user']['user_pseudo']); + $arrNewInfo = $objUserModel->findUserByPseudo($objUser->getPseudo()); + $objUser->hydrate($arrNewInfo); + $_SESSION['success'] = "Compte modifier avec succès"; + header("Location:?ctrl=user&action=user&pseudo=".$objUser->getPseudo()); + exit; + } else { + $arrError['global'] = "Erreur lors de l'update"; + } + } } } diff --git a/models/user_model.php b/models/user_model.php index 253c2f2..4a0b8e9 100644 --- a/models/user_model.php +++ b/models/user_model.php @@ -18,7 +18,7 @@ * @return array */ public function findAllUsers():array{ - $strRq = "SELECT user_id, user_firstname, user_name, user_image, user_status, authorisation_name + $strRq = "SELECT user_id, user_firstname, user_name, user_image, user_status, authorisation_name, user_pseudo FROM users INNER JOIN authorisation ON authorisation.authorisation_id = users.user_status WHERE user_deleted_at IS NULL"; return $this->_db->query($strRq)->fetchAll(); @@ -32,7 +32,7 @@ */ public function verifUser(string $strMail, string $strPwd):array|bool{ - $strRq = "SELECT user_id, user_name, user_firstname, user_password, user_image, user_status, authorisation_name + $strRq = "SELECT user_id, user_name, user_firstname, user_password, user_image, user_status, authorisation_name, user_pseudo FROM users INNER JOIN authorisation ON authorisation.authorisation_id = users.user_status WHERE user_mail = '".$strMail."'"; @@ -154,7 +154,7 @@ */ public function findUserById(int $intId): array|bool { - $strRq = "SELECT * FROM users WHERE user_id = :id"; + $strRq = "SELECT user_name, user_firstname, user_pseudo, user_mail, user_password, user_phone, user_work, user_location, user_description FROM users WHERE user_id = :id"; $prep = $this->_db->prepare($strRq); $prep->bindValue(':id', $intId, PDO::PARAM_INT); @@ -173,4 +173,13 @@ return $prep->fetch(); } + + public function pseudoExists(string $pseudo): bool{ + + $rq = $this->_db->prepare("SELECT 1 FROM users WHERE user_pseudo = :pseudo LIMIT 1"); + $rq->bindValue(":pseudo", $pseudo, PDO::PARAM_STR); + $rq->execute(); + + return (bool)$rq->fetchColumn(); + } } diff --git a/templates_c/0f54e8b5c9bcafd01d94486bfa02ee91c2c5fe68_0.file_home.tpl.php b/templates_c/0f54e8b5c9bcafd01d94486bfa02ee91c2c5fe68_0.file_home.tpl.php index 1ca88db..2d8ba9c 100644 --- a/templates_c/0f54e8b5c9bcafd01d94486bfa02ee91c2c5fe68_0.file_home.tpl.php +++ b/templates_c/0f54e8b5c9bcafd01d94486bfa02ee91c2c5fe68_0.file_home.tpl.php @@ -1,11 +1,11 @@ getCompiled()->isFresh($_smarty_tpl, array ( 'version' => '5.7.0', - 'unifunc' => 'content_69976def59c414_70095814', + 'unifunc' => 'content_699773f2d00b20_63958967', 'has_nocache_code' => false, 'file_dependency' => array ( @@ -21,20 +21,20 @@ if ($_smarty_tpl->getCompiled()->isFresh($_smarty_tpl, array ( 'file:views/_partial/preview.tpl' => 1, ), ))) { -function content_69976def59c414_70095814 (\Smarty\Template $_smarty_tpl) { +function content_699773f2d00b20_63958967 (\Smarty\Template $_smarty_tpl) { $_smarty_current_dir = 'D:\\projetphp\\views'; $_smarty_tpl->getInheritance()->init($_smarty_tpl, true); ?> getInheritance()->instanceBlock($_smarty_tpl, 'Block_133394531269976def598252_85195320', "content"); +$_smarty_tpl->getInheritance()->instanceBlock($_smarty_tpl, 'Block_1754256969699773f2cfc9e0_97315296', "content"); ?> getInheritance()->endChild($_smarty_tpl, "views/layout.tpl", $_smarty_current_dir); } /* {block "content"} */ -class Block_133394531269976def598252_85195320 extends \Smarty\Runtime\Block +class Block_1754256969699773f2cfc9e0_97315296 extends \Smarty\Runtime\Block { public function callBlock(\Smarty\Template $_smarty_tpl) { $_smarty_current_dir = 'D:\\projetphp\\views'; diff --git a/templates_c/1c51ad9f5c349145220f82584009ce981aa35e0b_0.file_layout.tpl.php b/templates_c/1c51ad9f5c349145220f82584009ce981aa35e0b_0.file_layout.tpl.php index b1983b7..0d64d16 100644 --- a/templates_c/1c51ad9f5c349145220f82584009ce981aa35e0b_0.file_layout.tpl.php +++ b/templates_c/1c51ad9f5c349145220f82584009ce981aa35e0b_0.file_layout.tpl.php @@ -1,11 +1,11 @@ getCompiled()->isFresh($_smarty_tpl, array ( 'version' => '5.7.0', - 'unifunc' => 'content_69976e0ca03d67_47539078', + 'unifunc' => 'content_699773f2daec37_53772832', 'has_nocache_code' => false, 'file_dependency' => array ( @@ -22,21 +22,21 @@ if ($_smarty_tpl->getCompiled()->isFresh($_smarty_tpl, array ( 'file:views/_partial/footer.tpl' => 1, ), ))) { -function content_69976e0ca03d67_47539078 (\Smarty\Template $_smarty_tpl) { +function content_699773f2daec37_53772832 (\Smarty\Template $_smarty_tpl) { $_smarty_current_dir = 'D:\\projetphp\\views'; $_smarty_tpl->getInheritance()->init($_smarty_tpl, false); $_smarty_tpl->renderSubTemplate("file:views/_partial/header.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array(), (int) 0, $_smarty_current_dir); ?> getInheritance()->instanceBlock($_smarty_tpl, 'Block_27929295869976e0ca01fb9_36548139', "content"); +$_smarty_tpl->getInheritance()->instanceBlock($_smarty_tpl, 'Block_1261446363699773f2dad438_86277148', "content"); ?> renderSubTemplate("file:views/_partial/footer.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, 0, $_smarty_tpl->cache_lifetime, array(), (int) 0, $_smarty_current_dir); } /* {block "content"} */ -class Block_27929295869976e0ca01fb9_36548139 extends \Smarty\Runtime\Block +class Block_1261446363699773f2dad438_86277148 extends \Smarty\Runtime\Block { public function callBlock(\Smarty\Template $_smarty_tpl) { $_smarty_current_dir = 'D:\\projetphp\\views'; diff --git a/templates_c/264314e384c04e79c5fa56e3cf6837f9df55d7fb_0.file_footer.tpl.php b/templates_c/264314e384c04e79c5fa56e3cf6837f9df55d7fb_0.file_footer.tpl.php index 7a9242a..88f3324 100644 --- a/templates_c/264314e384c04e79c5fa56e3cf6837f9df55d7fb_0.file_footer.tpl.php +++ b/templates_c/264314e384c04e79c5fa56e3cf6837f9df55d7fb_0.file_footer.tpl.php @@ -1,11 +1,11 @@ getCompiled()->isFresh($_smarty_tpl, array ( 'version' => '5.7.0', - 'unifunc' => 'content_69976e0cbdbc02_44067705', + 'unifunc' => 'content_699773f31603e6_74741526', 'has_nocache_code' => false, 'file_dependency' => array ( @@ -20,7 +20,7 @@ if ($_smarty_tpl->getCompiled()->isFresh($_smarty_tpl, array ( array ( ), ))) { -function content_69976e0cbdbc02_44067705 (\Smarty\Template $_smarty_tpl) { +function content_699773f31603e6_74741526 (\Smarty\Template $_smarty_tpl) { $_smarty_current_dir = 'D:\\projetphp\\views\\_partial'; ?>