예제 #1
0
    $password = $_POST['password'];
    if (!preg_match('/^([\\w\\!\\#$\\%\\&\'\\*\\+\\-\\/\\=\\?\\^\\`{\\|\\}\\~]+\\.)*[\\w\\!\\#$\\%\\&\'\\*\\+\\-\\/\\=\\?\\^\\`{\\|\\}\\~]+@((((([a-z0-9]{1}[a-z0-9\\-]{0,62}[a-z0-9]{1})|[a-z])\\.)+[a-z]{2,6})|(\\d{1,3}\\.){3}\\d{1,3}(\\:\\d{1,5})?)$/i', $email)) {
        $msg = 'Invalid email address';
        return;
    }
    if (empty($password)) {
        $msg = 'You need to enter a password';
        return;
    }
    if (strlen($password) > 72) {
        $msg = 'The supplied password is too long';
        return;
    }
    $login = $auth->login($email, $password);
    if ($login > 0) {
        $verified = $auth->isVerified($login['id']);
        if (empty($verified)) {
            $msg = 'You have not confirmed your email address';
            return;
        }
        $auth->validateUser($login);
        event::fire('USER_LOGIN');
        if (!empty($dest)) {
            header('Location: ' . $dest);
        } else {
            header("Location: index.php");
        }
        die;
    }
    $msg = $login;
}