diff --git a/public/js/script.js b/public/js/script.js
index 992e667..4f88359 100644
--- a/public/js/script.js
+++ b/public/js/script.js
@@ -197,6 +197,21 @@ function UpdateProduitsDetails(nom_connecte) {
}
);
}
+function UpdateSuiviAntenne(id_connecte, id_antenne, etat_suivi) {
+
+
+ $.post("/models/updateSuiviAntenne.php", {
+ id_connecte: id_connecte,
+ id_antenne: id_antenne,
+ etat_suivi: etat_suivi
+ },
+ function (data, status) {
+
+ // On recharge la page pour tenir compte de la connexion de l'utilisateur
+ //window.location.reload(true);
+ }
+ );
+}
function UpdateRecherchesDetails(nom_connecte) {
var produit = $("#update_produit").val();
@@ -227,6 +242,7 @@ function UpdateRecherchesDetails(nom_connecte) {
}
$(document).ready(function () {
+ //$('input:checkbox[name=mybox]').attr('checked',false);
// On récupère le nom de l'antenne dans l'url pour afficher les biens/services de celle-ci
var url = document.location.href;
var antenne_slug = url.split('/')[5];
diff --git a/public/models/connexion.php b/public/models/connexion.php
index df0df0a..065f859 100644
--- a/public/models/connexion.php
+++ b/public/models/connexion.php
@@ -19,6 +19,7 @@ try {
if (password_verify($_POST['mdp'],$row['password'])) {
$_SESSION['connecte'] = $row['username'];
+ $_SESSION['role'] = $row['role'];
$_SESSION['logout'] = false;
echo '{"valide":true,"username":"'.$row['username'].'"}';
} else {
diff --git a/public/models/updateSuiviAntenne.php b/public/models/updateSuiviAntenne.php
new file mode 100644
index 0000000..7309878
--- /dev/null
+++ b/public/models/updateSuiviAntenne.php
@@ -0,0 +1,90 @@
+prepare($requete1);
+ $ancien_suivi = $query1->execute($params);
+ $suivi = $ancien_suivi;
+ //echo "ancien=".$ancien_suivi;
+ /*if (strpos($ancien_suivi,'|')>0) {
+ echo "strpos > 0";
+ $tableau = explode('|', $ancien_suivi);
+ $antennes_suivies = '';
+ // On ajoute l'antenne suivie
+ if ($etat_suivi == 'true') {
+ if (count($tableau) > 0) {
+ foreach ($valeur as $tableau) {
+ $antennes_suivies .= $valeur.'|';
+ }
+ $antennes_suivies .= $antenne_id;
+ }
+ } else {
+ // On retire l'antenne qui n'est plus suivie
+ foreach($valeur2 as $tableau) {
+ if ($valeur2 == $antenne_id) {
+ $ajout = '';
+ } else {
+ $ajout = $valeur2.'|';
+ }
+ $antennes_suivies .= $ajout;
+ }
+ // On supprime le pipe inutile à la fin de la chaîne
+ $antennes_suivies = substr($antennes_suivies,0,-1);
+ }*/
+ // On ajoute alors qu'il n'y a qu'une antenne dans le suivi ou aucune
+ if ($etat_suivi == 'true') {
+ if ($suivi == $antenne_id) {
+ echo "suivi 1 =".$suivi;
+ echo "
antenne_id =".$antenne_id;
+ $antennes_suivies = $antenne_id;
+ } elseif ($suivi != $antenne_id) {
+ echo "suivi 2 =".$suivi;
+ echo "
antenne_id =".$antenne_id;
+ $antennes_suivies = $suivi . '|' . $antenne_id;
+ }
+ }
+ if ($etat_suivi == 'true') {
+ if ($suivi == '') {
+ echo "suivi 0 =" . $suivi;
+ echo "
antenne_id =" . $antenne_id;
+ $antennes_suivies = $antenne_id;
+ }
+ }
+ if ($etat_suivi == 'false') {
+ if ($suivi != $antenne_id) {
+ echo "ERREUR 4 =" . $suivi;
+ echo "
antenne_id =" . $antenne_id;
+ //$antennes_suivies = $suivi . '|' . $antenne_id;
+ $maj = false;
+ } elseif ($suivi == $antenne_id) {
+ echo "suivi 3 =".$suivi;
+ echo "
antenne_id =".$antenne_id;
+ $antennes_suivies = '';
+ } elseif ($suivi == '') {
+ echo "suivi 5 =" . $suivi;
+ echo "
antenne_id =" . $antenne_id;
+ $antennes_suivies = '';
+ }
+ }
+
+
+
+ // Mise à jour du champ SuiviAntenne
+ if ($maj) {
+ $requete2 = "UPDATE users SET suiviantenne = '$antennes_suivies' WHERE id = :user_id";
+ $query2 = $bdd->prepare($requete2);
+ $query2->execute($params);
+ $query2->closeCursor();
+ }
+ $query1->closeCursor();
+
+}
diff --git a/src/Account/Action/ProfilAction.php b/src/Account/Action/ProfilAction.php
index 36960fa..47712e6 100644
--- a/src/Account/Action/ProfilAction.php
+++ b/src/Account/Action/ProfilAction.php
@@ -2,6 +2,7 @@
namespace App\Account\Action;
use App\Auth\UserTable;
+use App\Gmarche\Table\AntenneTable;
use Framework\Auth;
use Framework\Renderer\RendererInterface;
use Psr\Http\Message\ServerRequestInterface;
@@ -24,19 +25,24 @@ class ProfilAction
public function __construct(
RendererInterface $renderer,
+ AntenneTable $antenneTable,
Auth $auth,
UserTable $userTable
) {
$this->renderer = $renderer;
+ $this->antenneTable = $antenneTable;
$this->auth = $auth;
$this->userTable = $userTable;
}
public function __invoke(ServerRequestInterface $request)
{
+ $listeAntennes = $this->antenneTable->findAllAntennes();
$user_affiche = $request->getAttribute('user')->username;
$nom_avatar = $request->getAttribute('user')->avatar;
$email = $request->getAttribute('user')->email;
- return $this->renderer->render('@account/profil', compact('user_affiche', 'nom_avatar', 'email'));
+ $suiviantenne = $request->getAttribute('user')->suiviantenne;
+ return $this->renderer->render('@account/profil',
+ compact('user_affiche', 'nom_avatar', 'email', 'listeAntennes', 'suiviantenne'));
}
}
diff --git a/src/Account/Action/SignupAction.php b/src/Account/Action/SignupAction.php
index c97cef6..14a2cfb 100644
--- a/src/Account/Action/SignupAction.php
+++ b/src/Account/Action/SignupAction.php
@@ -60,7 +60,6 @@ class SignupAction
$validator = (new Validator($params))
->required('username', 'pubkey', 'email', 'password', 'password_confirm', 'created_at')
->length('username', 3)
- ->length('pubkey', 43)
->length('firstname', 0)
->length('lastname', 0)
->email('email')
@@ -77,7 +76,8 @@ class SignupAction
'email' => $params['email'],
'password' => password_hash($params['password'], PASSWORD_DEFAULT),
'created_at' => $params['created_at'],
- 'role' => 'user'
+ 'role' => '3',
+ 'suiviantenne' => ''
];
$this->userTable->insert($userParams);
$user = Hydrator::hydrate($userParams, User::class);
diff --git a/src/Account/User.php b/src/Account/User.php
index 1f631aa..78f81ea 100644
--- a/src/Account/User.php
+++ b/src/Account/User.php
@@ -17,7 +17,7 @@ class User extends \App\Auth\User
/**
* @var string
*/
- private $role;
+ public $role;
public function getRoles(): array
{
diff --git a/src/Account/views/profil.twig b/src/Account/views/profil.twig
index a5448ce..11f0a24 100644
--- a/src/Account/views/profil.twig
+++ b/src/Account/views/profil.twig
@@ -44,7 +44,18 @@