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>.');
 }
Exemple #2
0
 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;
         }
     }
 }