public function before_accueil() { if (isset($_POST['clicnat_login']) && isset($_POST['clicnat_pwd'])) { $utilisateur = bobs_utilisateur::by_login($this->db, trim($_POST['clicnat_login'])); if (!$utilisateur) { $_SESSION['id_utilisateur'] = false; $this->ajoute_alerte('danger', "Nom d'utilisateur ou mot de passe incorrect"); } else { if (!$utilisateur->acces_chiros) { $_SESSION['id_utilisateur'] = false; $this->ajoute_alerte('danger', "Accès réservé aux membres du réseau Chiros"); } else { if (!$utilisateur->auth_ok(trim($_POST['clicnat_pwd']))) { $_SESSION['id_utilisateur'] = false; $this->ajoute_alerte('danger', "Nom d'utilisateur ou mot de passe incorrect"); } else { $_SESSION['id_utilisateur'] = $utilisateur->id_utilisateur; $this->ajoute_alerte('success', "Connexion réussie"); } } } $this->redirect('?t=accueil'); } else { if (isset($_GET['fermer'])) { $_SESSION['id_utilisateur'] = false; session_destroy(); $this->ajoute_alerte('info', 'Vous êtes maintenant déconnecté'); $this->redirect('?t=accueil'); } if (isset($_GET['acces'])) { if (!$GET['acces']) { $this->ajoute_alerte('warning', 'Vous devez être connecté pour accéder à cette partie'); } } } $this->assign('txt_footer', 'Cette enquête concerne uniquement les nids d\'hirondelles (utilisés ou non, détruits ou non) : <a href="http://obs.picardie-nature.org/?page=fiche&id=387" title="fiche espece hirondelle de fenêtre sur picardie-nature.org" target="_blank"><b>Hirondelle de fenêtre</b></a>, <a href="http://obs.picardie-nature.org/?page=fiche&id=725" title="fiche espece hirondelle rustique sur picardie-nature.org" target="_blank"><b>Hirondelle rustique</b></a> et <a href="http://obs.picardie-nature.org/?page=fiche&id=815" title="fiche espece hirondelle de rivage sur picardie-nature.org" target="_blank"><b>Hirondelle de rivage</b></a>. Pour toute observation en dehors d\'une colonie, reportez-vous au site internet <a href="http://www.clicnat.fr" alt="www.clicnat.fr" target="_blank">www.clicnat.fr</a>.'); }
public function before_accueil() { $_POST['act'] = array_key_exists('act', $_POST) ? self::cls($_POST['act']) : null; $_POST['username'] = array_key_exists('username', $_POST) ? self::cls($_POST['username']) : null; $_POST['password'] = array_key_exists('password', $_POST) ? self::cls($_POST['password']) : null; if ($this->authok()) { $u = $this->get_user_session(); if (isset($_GET['supprimer_brouillon'])) { $sortie = new clicnat_sortie($this->db, $_GET['supprimer_brouillon']); if ($sortie->id_utilisateur_propose == $u->id_utilisateur) { $sortie->supprimer(); $this->redirect('?t=accueil'); } } $this->assign_by_ref('sans_dates', clicnat_sortie::sans_dates($this->db, $u->id_utilisateur)); $this->assign_by_ref('en_attente', clicnat_sortie_date::en_attente($this->db, $u->id_utilisateur)); $this->assign_by_ref('pas_retenues', clicnat_sortie_date::pas_retenues($this->db, $u->id_utilisateur)); $this->assign_by_ref('valides', clicnat_sortie_date::valides($this->db, $u->id_utilisateur)); $this->assign_by_ref('annulees', clicnat_sortie_date::annulees($this->db, $u->id_utilisateur)); } if ($_POST['act'] == 'login') { if (empty($_POST['username'])) { return; } $u = bobs_utilisateur::by_login($this->db, $_POST['username']); if ($u && $u->auth_ok($_POST['password'])) { $this->assign('username', $u->username); $this->assign('id_utilisateur', $u->id_utilisateur); $this->assign('auth_ok', true); $this->bobs_msgs[] = 'Bienvenue'; $redir = '?t=accueil'; if (!empty($_POST['redir'])) { $redir = str_replace('"', '', $_POST['redir']); } $this->assign('redir', $redir); $_SESSION[SESS]['auth_ok'] = true; $_SESSION[SESS]['id_utilisateur'] = $u->id_utilisateur; bobs_log(sprintf("login user id %d ok", $u->id_utilisateur)); $this->redirect($redir); } else { $_SESSION[SESS]['auth_ok'] = false; $this->assign('auth_ok', false); $this->bobs_msgs[] = "Nom d'utilisateur ou mot de passe incorrect"; return; } } else { if (isset($_GET['fermer'])) { $this->assign('auth_ok', false); $this->bobs_msgs[] = "Vous êtes déconnecté"; $_SESSION[SESS]['auth_ok'] = false; session_destroy(); return; } } }