Author: anza
Inheritance: extends Model
Ejemplo n.º 1
0
 public function startApp()
 {
     $rootLocation = "Location:http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
     $lv = new LayoutView();
     $ud = new userDAL();
     $sm = new SessionManager();
     $lm = new LoginModel($ud, $sm);
     if (!$lm->isUserLoggedIn()) {
         if ($lv->userWantsToRegister()) {
             $validate = new ValidateCredentials();
             $v = new RegisterView($validate, $sm);
             $c = new RegisterController($v, $ud, $sm);
             $c->userPost();
             if ($sm->SessionGetSuccessfulRegistration()) {
                 header($rootLocation);
             }
         } else {
             $v = new LoginView($lm, $sm);
             $c = new LoginController($v, $lm);
             $c->userPost();
         }
     }
     if ($lm->isUserLoggedIn()) {
         $c = new GameController($lm, $ud, $sm, $lv);
         $v = $c->startApp();
         if ($c->userWantsToLogout()) {
             header($rootLocation);
         }
     }
     $lv->render($v, $lm->isUserLoggedIn());
 }
Ejemplo n.º 2
0
 public function validateLoginCredentails()
 {
     // send form data to the model
     if ($_SERVER['REQUEST_METHOD'] == 'POST') {
         // clean user input
         array_htmlspecialchars($_POST);
         // store username and password in object
         $this->username = $_POST['username'];
         $this->password = $_POST['password'];
         // invoke login form validator
         $LoginModel = new LoginModel();
         $LoginModel->validateFormData($_POST);
         var_dump($LoginModel->validateFormData($_POST));
         // get errors array
         $errorsArray = $LoginModel->getErrorsArray();
         if (filter_by_value($errorsArray, 'error', '1')) {
             // render errors to client
             require APP_PATH . 'views/login/login.php';
         } else {
         }
         echo "<br><br>ERRORS START: <br>";
         print_var($errorsArray);
         // render errors to client
         // require(APP_PATH . 'views/login/login.php');
         echo "HELLLLLO";
         echo URL_WITH_INDEX_FILE;
     }
 }
Ejemplo n.º 3
0
 public function action()
 {
     //页面展示
     $model = new LoginModel();
     $result = $model->getResult();
     $tplVar = array('params' => $result['params']);
     $this->tpl->assign($tplVar);
     $this->tpl->display('login.tpl');
 }
Ejemplo n.º 4
0
 public function checkbox(LoginModel $model)
 {
     if (isset($_POST["checkbox"])) {
         $this->saveCookies($model->getUsername(), $model->getPassword());
         return true;
     } else {
         return false;
     }
 }
Ejemplo n.º 5
0
 public function logIn($type, $username, $email)
 {
     $user = $this->findOAuthUser($email);
     if (!$user) {
         $this->register($type, $username, $email);
         $user = $this->findOAuthUser($email);
     }
     $login = new LoginModel();
     $login->addUserToSession($user);
 }
Ejemplo n.º 6
0
 public function indexAction()
 {
     if ($this->_request->isPost()) {
         $auth = new LoginModel();
         $auth_res = $auth->login($this->_request->getParam('username'), $this->_request->getParam('password'));
         $this->view->yesno = $auth_res ? "yes" : "no";
         $this->_redirect("/");
         //$authNamespace = new Zend_Session_Namespace('Zend_Auth');
         //$this->view->username=$authNamespace->user;
     }
 }
 public function entrar()
 {
     if (isset($_POST['submit'])) {
         $login = new LoginModel();
         $login->username = $_POST['username'];
         $login->contrasena = $_POST['contrasena'];
         if ($login->logar()) {
             $_SESSION['usuario'] = $login->logar();
         }
         header('Location:index.php');
     }
     include 'View/Site/Login.php';
 }
Ejemplo n.º 8
0
 public function run()
 {
     $password = isset($_POST['password']) ? $_POST['password'] : '';
     $email = isset($_POST['email']) ? $_POST['email'] : '';
     $model = new LoginModel();
     $userData = $model->getUserData($email, $password);
     //            print_r($_SESSION);
     //                print_r($userData);
     $var = ['authorized' => !empty($userData)];
     if ($var['authorized']) {
         header('location: dashboard');
     }
     $this->view->render('login.twig', $var);
 }
Ejemplo n.º 9
0
 /**
  * 修改用户密码
  * 
  */
 public function changePwd()
 {
     $res = array();
     $pwd_old = isset($_REQUEST['pwdOld']) ? (string) $_REQUEST['pwdOld'] : null;
     $pwd_new = isset($_REQUEST['pwdNew']) ? (string) $_REQUEST['pwdNew'] : null;
     $pwd_new_confirm = isset($_REQUEST['pwdNewConfirm']) ? (string) $_REQUEST['pwdNewConfirm'] : null;
     $vendor = isset($_SESSION['vendor']) ? $_SESSION['vendor'] : null;
     $name = null;
     if (!$vendor) {
         header('Location:?action=Index');
         return;
     } else {
         $name = $vendor['vendor_name'];
     }
     $loginmodel = new LoginModel();
     $usermodel = new UserModel();
     //判断是否为空
     if (!$name || !$pwd_old || !$pwd_new || !$pwd_new_confirm) {
         $res['result'] = 0;
         $res['info'] = "数据不能为空";
     } else {
         if (md5("") == $pwd_old || md5("") == $pwd_new) {
             //应为name和pwd是经过MD5加密的,所以应该判断是否为空
             $res['result'] = 0;
             $res['info'] = "数据不能为空";
         } else {
             if ($pwd_new != $pwd_new_confirm) {
                 $res['result'] = 0;
                 $res['info'] = "新两次密码不一致";
             } else {
                 if ($loginmodel->UserLogin($name, $pwd_old) == null) {
                     //判断旧密码是否正确
                     $res['result'] = 0;
                     $res['info'] = "原始密码不对";
                 } else {
                     if ($usermodel->updateUserPwd($name, $pwd_new)) {
                         $res['result'] = 1;
                         $res['info'] = "修改成功";
                     } else {
                         $res['result'] = 0;
                         $res['info'] = "执行失败";
                     }
                 }
             }
         }
     }
     echo json_encode($res);
 }
Ejemplo n.º 10
0
 public function __construct($DAL)
 {
     self::$UserDAL = $DAL;
     if (!isset($_SESSION[self::$isLoggedin])) {
         $_SESSION[self::$isLoggedin] = false;
     }
 }
Ejemplo n.º 11
0
 /**
  * Register page
  * Show the register form, but redirect to main-page if user is already logged-in
  */
 public function index()
 {
     if (LoginModel::isUserLoggedIn()) {
         Redirect::home();
     } else {
         $this->View->renderPlain('register/index');
     }
 }
Ejemplo n.º 12
0
 public function index()
 {
     if (LoginModel::isLoggedIn()) {
         Redirect::toPath('account');
     } else {
         $this->View->render('index');
     }
 }
 private function setNewTemporaryPassword()
 {
     //set New Cookie
     $tempCred = $this->model->getTempCredentials();
     if ($tempCred) {
         setcookie(self::$cookieName, $this->getUserName(), $tempCred->getExpire());
         setcookie(self::$CookiePassword, $tempCred->getPassword(), $tempCred->getExpire());
     }
 }
Ejemplo n.º 14
0
 public function index()
 {
     $this->loadModel('login');
     $login = new LoginModel();
     $this->view->login = '';
     if (isset($_POST['login'], $_POST['password'])) {
         $user = $login->getUserByLogin($_POST['login'], $_POST['password']);
         if (empty($user)) {
             $this->view->error = 'Login or Password wrong';
             $this->view->login = $_POST['login'];
         } else {
             UserGuard::login($user);
             header('Location: /');
             exit;
         }
     }
     $this->view->render('login/index');
 }
 public function loginWithCookie()
 {
     $success = LoginModel::loginWithCookie(Request::cookie('remember_me'));
     if ($success) {
         Redirect::to('dashboard/index');
     } else {
         LoginModel::deleteCookie();
         Redirect::to('login/index');
     }
 }
Ejemplo n.º 16
0
 /**
  * Check if there is concurrent session, and logout if so, redirect to home and hard-stop.
  */
 public static function checkSessionConcurrency()
 {
     if (Session::userIsLoggedIn()) {
         if (Session::concurrentSessionsExist()) {
             LoginModel::logout();
             Redirect::home();
             exit;
         }
     }
 }
Ejemplo n.º 17
0
 function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
 {
     $controllerName = strtolower($request->getControllerName());
     if (0 === strpos($controllerName, 'doc')) {
         $model = LoginModel::getInstance();
         if (false == $model->checkLogin()) {
             $request->setControllerName('Login')->setActionName('index');
         }
     }
 }
Ejemplo n.º 18
0
 function logoutAction()
 {
     $redirect = $this->getRequest()->getQuery('redirect', '/');
     if (LoginModel::getInstance()->logout()) {
         $this->redirect($redirect);
     } else {
         echo '退出登录失败,请联系管理员';
     }
     return false;
 }
Ejemplo n.º 19
0
 public static function login($data)
 {
     if (isset($data['username']) && empty($data['username'])) {
         return print json_encode(array('success' => false, 'status' => 200, 'msg' => 'Username is required'));
     }
     if (isset($data['password']) && empty($data['password'])) {
         return print json_encode(array('success' => false, 'status' => 400, 'msg' => 'Password is required'));
     } else {
         LoginModel::login($data);
     }
 }
Ejemplo n.º 20
0
 function preDispatch(Request_Abstract $request, Response_Abstract $response)
 {
     $controllerName = strtolower($request->getControllerName());
     $exclude = array('index', 'error', 'login');
     if (!in_array($controllerName, $exclude)) {
         $model = LoginModel::getInstance();
         if (false == $model->checkLogin()) {
             $request->setControllerName('Login')->setActionName('index');
         }
     }
 }
Ejemplo n.º 21
0
 /**
  * Edit user name (perform the real action after form has been submitted)
  */
 public function editUsername_action()
 {
     // check if csrf token is valid
     if (!Csrf::isTokenValid()) {
         LoginModel::logout();
         Redirect::home();
         exit;
     }
     UserModel::editUserName(Request::post('user_name'));
     Redirect::to('user/editUsername');
 }
 public static function loginAction()
 {
     $username = $_POST['username'];
     $password = $_POST['password'];
     $loginModel = new LoginModel();
     $roleId = $loginModel->authenticate($username, $password);
     if ($roleId == "error") {
         header('Location: /login/3');
     }
     $userModel = new UserModel();
     if (!$userModel->isEnabled($username)) {
         header('Location: /login/2');
     }
     $_SESSION['role'] = $roleId;
     $_SESSION['username'] = $username;
     $_SESSION['userid'] = $userModel->getUserID($username);
     $_SESSION['title'] = (new ConfigurationModel())->getConfiguration("title")["value"];
     $_SESSION['description'] = (new ConfigurationModel())->getConfiguration("description")["value"];
     header('Location: ' . static::$rolesAction[$roleId]);
 }
 public function loginAction(Request $request)
 {
     $login = new LoginModel($request);
     if ($request->isPost()) {
         if ($login->isValid()) {
             if ($login->getUser()) {
                 $user = array('user' => $login->getUser()[0]['username'], 'id' => $login->getUser()[0]['id']);
                 Session::set('user', $user);
                 Session::setFlash(__t('logged_in'));
                 $this->redirect("/");
             } else {
                 Session::setFlash(__t('login_or_password_incorrect'));
             }
         } else {
             Session::setFlash(__t('fill_fields'));
         }
     }
     $img_default_url = 'Webroot/uploads/images/' . Config::get('default_img');
     $args = array('login' => $login, 'img' => $img_default_url);
     return $this->render($args);
 }
 public function startApp()
 {
     $dtv = new DateTimeView();
     $lv = new LayoutView();
     $ud = new userDAL();
     $lm = new LoginModel($ud);
     if (isset($_GET['register'])) {
         $validate = new ValidateCredentials();
         $v = new RegisterView($validate);
         $rc = new RegisterController($v, $ud);
         $rc->userPost();
         if (isset($_SESSION['successfulRegistration']) && $_SESSION['successfulRegistration'] == true) {
             header("Location:http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
         }
     } else {
         $v = new LoginView($lm);
         $lc = new LoginController($v, $lm);
         $lc->userPost();
     }
     $lv->render($lm->isUserLoggedIn(), $v, $dtv);
 }
Ejemplo n.º 25
0
 public function LaunchApplication()
 {
     $uDAL = new userDAL();
     $dtv = new DateTimeView();
     $layv = new LayoutView();
     $lm = new LoginModel($uDAL);
     if (isset($_GET["register"])) {
         $rv = new RegisterView($rm);
         $rm = new RegisterModel($uDAL);
         $rc = new RegisterControl($rm, $rv);
         $rc->tryRegisterUser();
         //Runs the tryRegisteruser from registercontroller.
         $layv->render($lm->isloggedin(), $rv, $dtv);
     } else {
         $logv = new LoginView($lm);
         $lc = new LoginController($logv, $lm);
         $lc->init();
         $layv->render($lm->isLoggedIn(), $logv, $dtv);
         //Renders the HTML-layout.
     }
 }
 public function loginAction(Request $request)
 {
     $msg = $request->get('msg');
     $login = new LoginModel($request);
     if ($request->isPost()) {
         if ($login->isValid()) {
             if ($login->getUser()) {
                 $user = array('user' => $login->getUser()[0]['username'], 'id' => $login->getUser()[0]['id']);
                 Session::set('user', $user);
                 //$msg = 'ok';
                 $this->redirect("index.php?id=1&msg=You have been logged in");
             } else {
                 $msg = 'You are not registered.<a href="index.php?rout=index/register&id=5">Register</a>';
             }
         } else {
             $msg = 'Please fill in fields ';
         }
     }
     $args = array('login' => $login, 'msg' => $msg);
     return $this->render('login', $args);
 }
Ejemplo n.º 27
0
 /**
  * Login with cookie
  */
 public function loginWithCookie()
 {
     // run the loginWithCookie() method in the login-model, put the result in $login_successful (true or false)
     $login_successful = LoginModel::loginWithCookie(Request::cookie('remember_me'));
     // if login successful, redirect to dashboard/index ...
     if ($login_successful) {
         Redirect::to('dashboard/index');
     } else {
         // if not, delete cookie (outdated? attack?) and route user to login form to prevent infinite login loops
         LoginModel::deleteCookie();
         Redirect::to('login/index');
     }
 }
Ejemplo n.º 28
0
 public function dologin()
 {
     if (LoginModel::dologin($_POST)) {
         if ($origen = Session::get('origen')) {
             Session::set('origen', null);
             header('location:' . $origen);
             exit;
         } else {
             echo $this->view->render('login/usuarioLogueado');
         }
     } else {
         echo $this->view->render('login/index');
     }
 }
Ejemplo n.º 29
0
 /**
  * Fügt einen neuen User der Person hinzu.
  * @param string $username
  * @param string $password
  * @param string $surname
  * @param string $name
  * @param string $mail
  * @return array|false|null
  */
 public function insert(string $username, string $password, string $surname, string $name, string $mail)
 {
     $loginModel = new LoginModel();
     $user = $loginModel->load($username);
     //User already exists
     if ($user != null) {
         return false;
     }
     $connection = Database::getConnection();
     $hashedPassword = password_hash($password, PASSWORD_BCRYPT);
     $query = "INSERT INTO person(username, password, surname, name, mail) VALUES(?, ?, ?, ?, ?); SELECT SCOPE_IDENTITY() as ID;";
     //Execute Query
     $stmt = sqlsrv_query($connection, $query, array($username, $hashedPassword, $surname, $name, $mail));
     if (sqlsrv_errors()) {
         http_response_code(500);
     }
     //Select next Result (SCOPE_IDENTITY)
     sqlsrv_next_result($stmt);
     $res = sqlsrv_fetch_array($stmt);
     //Load inserted Row
     $query = 'SELECT * FROM person WHERE id_person = ' . $res['ID'];
     $stmt = sqlsrv_query($connection, $query);
     return sqlsrv_fetch_array($stmt);
 }
Ejemplo n.º 30
0
 /**
  * Método que realiza la lógica del login
  * @param  Array $datos Datos necesarios para poder realizar el login
  * @return Bollean   True = cuando se realiza el login sin problemas, False = cuando hay errores
  */
 public static function dologin($datos)
 {
     /**
      * Comprobamos que hay datos
      */
     if (!$datos) {
         // Sino hay datos damos un error
         Session::add('feedback_negative', 'No tengo los datos de Login');
         return false;
     } elseif (LoginModel::validar($datos)) {
         // hacemos la logica del login
         // primero saneamos el array con los datos
         $datos = validaciones::sanearEntrada($datos);
         $conn = Database::getInstance()->getDatabase();
         $ssql = "SELECT  id, nombre, email, pass FROM usuario WHERE email=:email";
         $query = $conn->prepare($ssql);
         $query->bindValue(':email', $datos['email'], PDO::PARAM_STR);
         $query->execute();
         $count = $query->rowCount();
         if (!Database::comprobarConsulta($count)) {
             Session::add('feedback_negative', 'No estás registrado');
             return false;
         }
         $usuario = $query->fetch();
         if ($usuario['pass'] != sha1($datos['clave'])) {
             Session::add('feedback_negative', 'La clave no coincide');
             return false;
         }
         // Iniciamos la sesión
         Session::set('user_id', $usuario['id']);
         Session::set('user_name', $usuario['nombre']);
         Session::set('user_email', $datos['email']);
         Session::set('user_logged_in', true);
         Session::add('feedback_positive', 'Sesión iniciada');
         // comprobamos que la sesión se esta formando adecuadamente
         if (Session::comprobarSession()) {
             return true;
         } else {
             Session::add('feedback_negative', 'Error iniciando sesión, intentelo más tarde.');
         }
     } else {
         // sin no se validan los campos correctamente devolvemos un false
         // y el reportamos los errores
         return false;
     }
 }