function login()
 {
     if ($this->session->islogged()) {
         if (isset($_SESSION['caller'])) {
             $this->redirect($_SESSION['caller']);
         } else {
             $this->redirect("?home/");
         }
     }
     $erreurs = array();
     $soumis = $this->request->data ? $this->request->data : null;
     $form = array('login' => '', 'pass' => '');
     if ($soumis) {
         // à ce niveau, le formulaire a été envoyé.
         /* Si la requete provient d'un autre site ou n'a pas de http_referer (a été directement écrite dans l'url)
          * on la rejette illico
          */
         //on rejette les requetes extérieures ou tapées dans l'url ou par un autre moyen que post
         if ($this->request->is('no-origin')) {
             $this->error('Erreur [MEM ' . __LINE__ . '] : La requête a échouée.');
             return false;
         }
         $_SESSION['saveform'] = $soumis;
         unset($soumis);
         $this->redirect('?membre/login/');
     }
     if (isset($_SESSION['saveform'])) {
         $soumis = $_SESSION['saveform'];
         unset($_SESSION['saveform']);
         $form = array('login' => isset($soumis) ? PregFucntions::sanitize_string($soumis['login']) : '', 'pass' => isset($soumis) ? sha1(PregFucntions::sanitize_string($soumis['pass'])) : '');
         $user = $this->membre->findFirst(array('tables' => ' membre ', 'conditions' => ' mem_etat = 1 AND mem_login = \'' . $form['login'] . '\' AND mem_pass = \'' . $form['pass'] . '\'', 'fecthMethod' => PDO::FETCH_ASSOC));
         //Functions::debug($user);
         if (!empty($user)) {
             $_SESSION['membre'] = $user;
             $_SESSION['loggedIn'] = 'yes';
             setcookie('loggedAs', $user['mem_token'], time() + 3600 * 5, WEBROOT . DS, '', false);
             setcookie('dejaVenu', $user['mem_token'], time() + 3600 * 5, WEBROOT . DS, '', false);
             $activite = $this->membre->findFirst(array('tables' => 'activite_membre', 'conditions' => ' id_user = '******'mem_id'], 'fecthMethod' => PDO::FETCH_ASSOC));
             if (empty($activite)) {
                 //aucune activité
                 $this->membre->add(array('tables' => 'activite_membre', 'champs' => ' id_user ', 'values' => $user['mem_id']));
             }
             $this->membre->upDate(array('tables' => 'activite_membre', 'affectations' => ' nb_connexions = nb_connexions + 1', 'conditions' => ' id_user = '******'mem_id']));
             Session::begin();
             if (isset($_SESSION['caller'])) {
                 $this->redirect(Router::url($_SESSION['caller']));
             } else {
                 $this->redirect(Router::url('?home/index'));
             }
         } elseif (isset($soumis)) {
             $erreurs[] = "Désolé, nous n'avons pas trouvé de correspondance.";
             $erreurs[] = "Il se peut que votre compte ne soit pas activé. Veuillez suivre le lien reçu par mail lors de votre inscription.";
         }
     }
     $variables['soumis'] = $soumis;
     $variables['erreurs'] = $erreurs;
     $variables['form'] = $form;
     $this->myrender(array('menu' => 'menu', 'title' => 'Espace de connexion', 'view' => 'login', 'variables' => $variables));
 }