Exemple #1
0
function resetPassword($blogid, $loginid)
{
    $ctx = Model_Context::getInstance();
    if (!isLoginId($blogid, $loginid)) {
        return false;
    }
    $userid = User::getUserIdByEmail($loginid);
    $query = DBModel::getInstance();
    $query->reset("Users");
    $query->setQualifier("userid", "eq", $userid);
    $password = $query->getCell("password");
    $authtoken = md5(generatePassword());
    $query->reset('UserSettings');
    $query->setAttribute('userid', $userid);
    $query->setAttribute('name', 'Authtoken', true);
    $query->setAttribute('value', $authtoken, true);
    $query->setQualifier('userid', $userid);
    $query->setQualifier('name', 'Authtoken', true);
    $query->replace();
    if (empty($result)) {
        return false;
    }
    //$headers = "From: Your Textcube Blog <textcube@{$service['domain']}>\n" . 'X-Mailer: ' . TEXTCUBE_NAME . "\n" . "MIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n";
    $message = file_get_contents(ROOT . "/resources/style/letter/letter.html");
    $message = str_replace('[##_title_##]', _text('텍스트큐브 블로그 로그인 정보'), $message);
    $message = str_replace('[##_content_##]', _text('블로그 로그인을 위한 임시 암호가 생성 되었습니다. 이 이메일에 로그인할 수 있는 인증 정보가 포함되어 있습니다.'), $message);
    $message = str_replace('[##_images_##]', $ctx->getProperty('uri.service') . "/resources/style/letter", $message);
    $message = str_replace('[##_link_##]', $ctx->getProperty('uri.host') . $ctx->getProperty('uri.blog') . "/login?loginid=" . rawurlencode($loginid) . '&password='******'&requestURI=' . rawurlencode($ctx->getProperty('uri.host') . $ctx->getProperty('uri.blog') . "/owner/setting/account?password="******"textcube@" . $ctx->getProperty('service.domain'), '', $loginid, encodeMail(_text('블로그 로그인 암호가 초기화되었습니다.')), $message);
    if (true !== $ret) {
        return false;
    }
    return true;
}
Exemple #2
0
    if (!empty($_POST['loginid']) && !empty($_POST['reset'])) {
        if (resetPassword($blogid, $_POST['loginid'])) {
            $message = _text('지정된 이메일로 로그인 정보가 전달되었습니다.');
        } else {
            $message = _text('권한이 없습니다.');
        }
    } else {
        if (!empty($_POST['loginid']) && !empty($_POST['password'])) {
            if (!empty($_POST['autologin'])) {
                $isLogin = login($_POST['loginid'], $_POST['password'], Timestamp::getUNIXtime() + $context->getProperty('service.autologinTimeout'));
            } else {
                $isLogin = login($_POST['loginid'], $_POST['password'], Timestamp::getUNIXtime() + $context->getProperty('service.timeout'));
            }
            if (!$isLogin) {
                $message = _text('아이디 또는 비밀번호가 틀렸습니다.');
                if (!doesHaveMembership() && isLoginId(getBlogId(), $_POST['loginid'])) {
                    $showPasswordReset = true;
                }
            } else {
                if (!doesHaveOwnership()) {
                    $message = _text('서비스의 회원이지만 이 블로그의 구성원이 아닙니다. 주소를 확인해 주시기 바랍니다.');
                }
            }
        }
    }
}
$authResult = fireEvent('LOGIN_try_auth', false);
if (doesHaveOwnership() || doesHaveMembership()) {
    if (doesHaveOwnership() && !empty($_POST['requestURI'])) {
        $url = parse_url($_POST['requestURI']);
        if ($url && isset($url['host']) && !String::endsWith('.' . $url['host'], '.' . $context->getProperty('service.domain'))) {