Exemplo n.º 1
0
include PERCH_CORE . '/inc/loader.php';
$Perch = new Perch();
include PERCH_CORE . '/inc/auth.php';
// Check for logout
if ($CurrentUser->logged_in() && isset($_GET['logout']) && is_numeric($_GET['logout'])) {
    $CurrentUser->logout();
}
// If the user's logged in, send them to edit content
if ($CurrentUser->logged_in()) {
    PerchUtil::redirect(PERCH_LOGINPATH . '/core/apps/content/');
}
$Perch->page_title = $new_user_mode ? PerchLang::get('Create your password') : PerchLang::get('Reset your password');
if (PerchUtil::get('token')) {
    $mode = 'enter_token';
    $Users = new PerchUsers();
    $User = $Users->get_by_password_recovery_token(PerchUtil::get('token'));
    if (!$User) {
        $mode = 'token_expired';
    } else {
        if (PerchUtil::post('username') && PerchUtil::post('new_password')) {
            if (PerchUtil::post('username') == $User->userUsername()) {
                PerchUtil::debug('Username matches');
                if (PerchUtil::post('new_password') == PerchUtil::post('new_password2')) {
                    if ($User->password_meets_requirements(PerchUtil::post('new_password'))) {
                        $User->set_new_password(PerchUtil::post('new_password'));
                        $mode = 'password_set';
                    } else {
                        PerchUtil::debug($User->msg, 'notice');
                        $error = 'weak_password';
                    }
                } else {