예제 #1
0
 /**
  * Création d'un utilisateur
  */
 public function create()
 {
     function securise($string)
     {
         if (ctype_digit($string)) {
             $string = intval($string);
         } else {
             $string = mysql_real_escape_string($string);
             $string = addcslashes($string, '%_');
             $string = htmlspecialchars($string);
         }
         return $string;
     }
     if (isset($_POST['page_name']) && isset($_POST['passwrd']) && isset($_POST['mail']) && !empty($_POST['page_name']) && !empty($_POST['passwrd']) && !empty($_POST['mail'])) {
         // Si on a toutes les infos
         $pagename = securise($_POST['page_name']);
         $passwrd = securise($_POST['passwrd']);
         $mail = securise($_POST['mail']);
         $usersManager = new \Manager\UsersManager();
         $usersManager->insert(['page_name' => $pagename, 'passwrd' => password_hash($passwrd, PASSWORD_DEFAULT), 'mail' => $mail]);
         $userSession = new \W\Security\AuthentificationManager();
         $userSession->logUserIn($user);
         $usersManager = new \Manager\UsersManager();
         $user = $usersManager->find($userId);
         unset($user['password']);
         // on instancie les datas de base en DB
         $userID = $user['id'];
         $name = 'avatar_1';
         $value = 'gergregegregergegregregregrege';
         $initdata = new \Manager\OptionsManager();
         $initdata->insertInit($userID, $name, $value);
     }
     $this->redirectToRoute('backoffice');
 }
예제 #2
0
 public function login()
 {
     if (isset($_POST['login-submit'])) {
         // Si on a reçu une soumission de formulaire
         if (!isset($_POST['login']) || empty($_POST['login']) || !isset($_POST['password']) || empty($_POST['password'])) {
             // S'il manque des informations
             $this->redirectToRoute('login');
         }
         $authManager = new \W\Security\AuthentificationManager();
         $userId = $authManager->isValidLoginInfo($_POST['login'], $_POST['password']);
         if ($userId) {
             // Les infos sont coherentes
             $usersManager = new \Manager\UsersManager();
             $user = $usersManager->find($userId);
             unset($user['password']);
             // Enregistrement des infos utilisateur en session
             $authManager->logUserIn($user);
             $this->redirectToRoute('todolist_list');
         }
         $this->show('default/login', ['errorConnection' => true]);
     }
     $this->show('default/login');
 }
예제 #3
0
 public function membersManagement()
 {
     $this->allowTo(['admin']);
     $options = $this->getOptions();
     $user = $this->getuser();
     $usersManager = new \Manager\UsersManager();
     $membres = $usersManager->findAllOrder();
     $data = array('membres' => $membres);
     $layout = array('name' => 'membres', 'user' => $user, 'options' => $options, 'tags' => array('link' => array('css/management.css'), 'script' => array('js/management.js')));
     if (isset($_POST['sent'])) {
         $usersManager = new \Manager\UsersManager();
         $newinfos = array('email' => $_POST['email'], 'tel' => $_POST['tel'], 'role' => $_POST['role']);
         $usersManager->update($newinfos, $_POST['id']);
     }
     $this->show('choristes/management', ['data' => $data, 'layout' => $layout]);
 }
예제 #4
0
 public function getDynpage($username)
 {
     $usersManager = new \Manager\UsersManager();
     $page_nameToDis = $usersManager->usernameExists($username);
     if ($page_nameToDis == true) {
         $this->show('default/onepage', ['titledisplay' => $page_nameToDis]);
     } else {
         $this->showNotFound();
     }
 }
예제 #5
0
 public function newPass($token)
 {
     $layout = array('ismain' => false, 'form' => false);
     $tokensManager = new \Manager\TokensManager();
     $user = $tokensManager->findToken($token);
     $usersManager = new \Manager\UsersManager();
     if ($user) {
         if (isset($_POST['sent'])) {
             if ($_POST['newpass'] == $_POST['checkpass'] && strlen($_POST['newpass']) >= 5) {
                 $newpassword = array('password' => password_hash($_POST['newpass'], PASSWORD_DEFAULT));
                 $usersManager->updateFromEmail($newpassword, $user['email']);
                 $tokensManager->delete($user['email']);
                 $this->redirectToRoute('users_login');
             } else {
                 if ($_POST['newpass'] != $_POST['checkpass']) {
                     echo '<p>Les deux mots de passe doivent être identiques.</p>';
                 }
                 if (strlen($_POST['newpass']) < 5) {
                     echo '<p>Le mot de passe doit contenir minimum 5 caractères.</p>';
                 }
             }
         }
     } else {
         $this->redirectToRoute('home');
     }
     $this->show('choristes/newPass', ['layout' => $layout]);
 }