Пример #1
0
 public function execute($args = null)
 {
     if (!empty($_POST)) {
         $_POST['id'] = null;
         $_POST['hash'] = ServiceAuth::createHash($_POST['pass1']);
         $_POST['inBounds'] = 0;
         $_POST['outBounds'] = 0;
         $u = ModelUser::newInstance()->hydrate($_POST);
         $p = ModelProfile::newInstance();
         if ($_POST['pass1'] != $_POST['pass2']) {
             ServiceMessage::getInstance()->addMessage('Les mots de passes ne correspondent pas', 'error');
         } elseif (CollectionUser::newInstance()->findBy('login', $_POST['login'])) {
             ServiceMessage::getInstance()->addMessage('Ce login est déjà utilisé', 'error');
         } else {
             if (ServiceDb::getInstance()->persist($u)) {
                 if ($i = ServiceDb::getInstance()->lastInsertId()) {
                     if (ServiceDb::getInstance()->persist($p->hydrate(array('user_id' => $i)))) {
                         ServiceMessage::getInstance()->addMessage('Votre compte a bien été créé', 'success');
                         ServiceDb::getInstance()->persist(ModelAction::newInstance()->setUser_id($i)->setType('create')->setObject('profile')->setWhen());
                         return header('Location: /logout/quiet');
                     } else {
                         ServiceDb::getInstance()->delete($u);
                         ServiceMessage::getInstance()->addMessage('Une erreur est survenue #2', 'error');
                     }
                 } else {
                     ServiceMessage::getInstance()->addMessage('Une erreur est survenue #1', 'error');
                 }
             }
         }
     }
     ServiceRenderHtml::newInstance()->load('subscribe')->setData('hideNavigation', true)->render();
 }
Пример #2
0
 public function execute($args = null)
 {
     setcookie('login', '', -1);
     setcookie('value', '', -1);
     ServiceAuth::getInstance()->deAuth();
     $v = $this->getQueryNext();
     if ($v != 'quiet') {
         ServiceMessage::getInstance()->addMessage('Vous avez bien été déconnecté', 'success');
     }
     header('Location: /home');
 }
Пример #3
0
 public function execute($args = null)
 {
     if (ServiceAuth::getInstance()->isAdmin()) {
         die(header('Location: /admin'));
     }
     if (!empty($_POST)) {
         if (ServiceAuth::getInstance()->adminAuth($_POST['password'])) {
             ServiceMessage::getInstance()->addMessage('Vous avez bien été connecté', 'success');
             header('Location: /admin');
             return;
         } else {
             ServiceMessage::getInstance()->addMessage('Mauvaise mot de passe', 'error');
         }
     }
     ServiceRenderHtml::newInstance()->load('admin/login')->setData('hideNavigation', true)->render();
 }
Пример #4
0
 public function execute($args = null)
 {
     if (ServiceAuth::getInstance()->isAuth()) {
         die(header('Location: /home'));
     } elseif (ServiceAuth::getInstance()->isAdmin()) {
         die(header('Location: /admin'));
     }
     if (!empty($_POST)) {
         if (ServiceAuth::getInstance()->regularAuth($_POST['login'], $_POST['password'])) {
             if (isset($_POST['remember_me'])) {
                 setcookie('login', ServiceAuth::getInstance()->getUser()->getLogin(), time() + 3600 * 24 * 365);
                 setcookie('hash', ServiceAuth::getInstance()->getUser()->gethash(), time() + 3600 * 24 * 365);
             }
             ServiceMessage::getInstance()->addMessage('Vous avez bien été connecté', 'success');
             header('Location: /home');
             return;
         } else {
             ServiceMessage::getInstance()->addMessage('Mauvaise combinaison', 'error');
         }
     }
     ServiceRenderHtml::newInstance()->load('login')->setData('hideNavigation', true)->render();
 }
Пример #5
0
 public function render()
 {
     $hideNavigation = false;
     $hideMessages = false;
     extract(parent::getData());
     $_POST = @array_map_recursive('htmlspecialchars', $_POST);
     $_GET = @array_map_recursive('htmlspecialchars', $_GET);
     require 'View/header.php';
     if (!$hideNavigation) {
         require ServiceAuth::getInstance()->isAdmin() ? 'View/admin/nav.php' : 'View/nav.php';
     }
     require 'View/body.php';
     echo '<div id="messages"></div>';
     if (!$hideMessages && ServiceMessage::getInstance()->hasMessages()) {
         foreach (ServiceMessage::getInstance()->getMessages() as $v) {
             list($message, $level) = $v;
             require 'View/message.php';
         }
     }
     require 'View/' . $this->getFile() . '.php';
     require 'View/footer.php';
     return $this;
 }