mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
fixed find_account logic
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9315 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
23678b790b
commit
fc302f5b16
9 changed files with 80 additions and 19 deletions
|
|
@ -2003,6 +2003,9 @@
|
|||
<value xml:lang="tr"><![CDATA[Hesap bilginiz, kayıt olduğunuz e-posta adresine gönderilecektir.<br />Kayıt esnasında kullandığınız e-posta adresini giriniz ve "Hesap Bilgisini Bul" tuşuna basınız.<br />]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Thông tin tài khoản của bạn sẽ được tìm thấy với Email bạn đã đăng kí.<br />Xin vui lòng nhập Email mà bạn đã đăng kí và bấm "Lấy lại thông tin" để nhận được thông tin đăng nhập!.<br />]]></value>
|
||||
</item>
|
||||
<item name="about_temp_password">
|
||||
<value xml:lang="ko"><![CDATA[임시 비밀번호가 정상적으로 발급되었습니다.<br />로그인 후 반드시 비밀번호를 변경하시기 바랍니다.<br/>]]></value>
|
||||
</item>
|
||||
<item name="about_member">
|
||||
<value xml:lang="ko"><![CDATA[회원을 생성/수정/삭제 할 수 있고 그룹관리나 가입 폼 관리 등을 할 수 있는 회원 관리 모듈입니다.
|
||||
기본으로 생성된 그룹외의 그룹을 생성하여 회원 관리가 가능하고 가입 폼 관리를 통한 기본 정보외의 추가 정보를 요구할 수도 있습니다.]]></value>
|
||||
|
|
|
|||
|
|
@ -214,6 +214,7 @@
|
|||
// create Ruleset
|
||||
$this->_createSignupRuleset($signupForm);
|
||||
$this->_createLoginRuleset($args->identifier);
|
||||
$this->_createFindAccountByQuestion($args->identifier);
|
||||
}
|
||||
$output = $oModuleController->updateModuleConfig('member', $args);
|
||||
// default setting end
|
||||
|
|
@ -270,11 +271,36 @@
|
|||
$fields[] = '<field name="password" required="true" />';
|
||||
|
||||
$xml_buff = sprintf($buff, implode('', $fields));
|
||||
FileHandler::writeFile($xml_file, $xml_buff);
|
||||
filehandler::writefile($xml_file, $xml_buff);
|
||||
|
||||
$validator = new Validator($xml_file);
|
||||
$validator->setCacheDir('files/cache');
|
||||
$validator->getJsPath();
|
||||
$validator = new validator($xml_file);
|
||||
$validator->setcachedir('files/cache');
|
||||
$validator->getjspath();
|
||||
}
|
||||
|
||||
function _createFindAccountByQuestion($identifier){
|
||||
$xml_file = './files/ruleset/find_member_account_by_question.xml';
|
||||
$buff = '<?xml version="1.0" encoding="utf-8"?>'
|
||||
.'<ruleset version="1.5.0">'
|
||||
.'<customrules>'
|
||||
.'</customrules>'
|
||||
.'<fields>%s</fields>'
|
||||
.'</ruleset>';
|
||||
|
||||
$fields = array();
|
||||
if ($identifier == 'user_id')
|
||||
$fields[] = '<field name="user_id" required="true" rule="userid" />';
|
||||
|
||||
$fields[] = '<field name="email_address" required="true" rule="email" />';
|
||||
$fields[] = '<field name="find_account_question" required="true" />';
|
||||
$fields[] = '<field name="find_account_answer" required="true" length=":250"/>';
|
||||
|
||||
$xml_buff = sprintf($buff, implode('', $fields));
|
||||
filehandler::writefile($xml_file, $xml_buff);
|
||||
|
||||
$validator = new validator($xml_file);
|
||||
$validator->setcachedir('files/cache');
|
||||
$validator->getjspath();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -180,7 +180,6 @@
|
|||
$member_config = $oMemberModel->getMemberConfig();
|
||||
|
||||
global $lang;
|
||||
if (!$member_config->identifier) $member_config->identifier = 'user_id';
|
||||
$identifierForm->title = $lang->{$member_config->identifier};
|
||||
$identifierForm->name = $member_config->identifier;
|
||||
$identifierForm->value = $memberInfo->{$member_config->identifier};
|
||||
|
|
|
|||
|
|
@ -493,6 +493,8 @@
|
|||
}
|
||||
$args->member_srl = getNextSequence();
|
||||
$args->list_order = -1 * $args->member_srl;
|
||||
$args->find_account_answer = Context::get('find_account_answer');
|
||||
|
||||
if($args->password1) $args->password = $args->password1;
|
||||
|
||||
// Remove some unnecessary variables from all the vars
|
||||
|
|
@ -970,9 +972,24 @@
|
|||
if(!$output->toBool()) return $output;
|
||||
// Get content of the email to send a member
|
||||
Context::set('auth_args', $args);
|
||||
Context::set('member_info', $member_info);
|
||||
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
global $lang;
|
||||
if (is_array($member_config->signupForm)){
|
||||
$exceptForm=array('password', 'find_account_question');
|
||||
foreach($member_config->signupForm as $form){
|
||||
if(!in_array($form->name, $exceptForm) && $form->isDefaultForm && ($form->required || $form->mustRequired)){
|
||||
$memberInfo[$lang->{$form->name}] = $member_info->{$form->name};
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$memberInfo[$lang->user_id] = $args->user_id;
|
||||
$memberInfo[$lang->user_name] = $args->user_name;
|
||||
$memberInfo[$lang->nick_name] = $args->nick_name;
|
||||
$memberInfo[$lang->email_address] = $args->email_address;
|
||||
}
|
||||
Context::set('memberInfo', $memberInfo);
|
||||
|
||||
if(!$member_config->skin) $member_config->skin = "default";
|
||||
if(!$member_config->colorset) $member_config->colorset = "white";
|
||||
|
||||
|
|
@ -1006,14 +1023,16 @@
|
|||
* @brief Generate a temp password by answering to the pre-determined question
|
||||
**/
|
||||
function procMemberFindAccountByQuestion() {
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
$email_address = Context::get('email_address');
|
||||
$user_id = Context::get('user_id');
|
||||
$find_account_question = trim(Context::get('find_account_question'));
|
||||
$find_account_answer = trim(Context::get('find_account_answer'));
|
||||
|
||||
if(!$user_id || !$email_address || !$find_account_question || !$find_account_answer) return new Object(-1, 'msg_invalid_request');
|
||||
if(($config->identifier == 'user_id' && !$user_id) || !$email_address || !$find_account_question || !$find_account_answer) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
$oModuleModel = &getModel('module');
|
||||
// Check if a member having the same email address exists
|
||||
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($email_address);
|
||||
|
|
@ -1027,6 +1046,10 @@
|
|||
|
||||
if(trim($member_info->find_account_question) != $find_account_question || trim($member_info->find_account_answer) != $find_account_answer) return new Object(-1, 'msg_answer_not_matches');
|
||||
|
||||
if ($config->identifier == 'email_address'){
|
||||
$user_id = $email_address;
|
||||
}
|
||||
|
||||
// Update to a temporary password and set change_password_date to 1
|
||||
$args->member_srl = $member_srl;
|
||||
list($usec, $sec) = explode(" ", microtime());
|
||||
|
|
@ -1040,6 +1063,12 @@
|
|||
$_SESSION['xe_temp_password_'.$user_id] = $temp_password;
|
||||
|
||||
$this->add('user_id',$user_id);
|
||||
|
||||
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '');
|
||||
$this->setRedirectUrl($returnUrl.'&user_id='.$user_id);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1723,7 +1752,6 @@
|
|||
|
||||
// check mamber identifier form
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
if (!$config->identifier) $config->identifier = 'user_id';
|
||||
|
||||
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
|
||||
$orgMemberInfo = $output->data;
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@
|
|||
if(!$config->editor_skin || $config->editor_skin == 'default') $config->editor_skin = "xpresseditor";
|
||||
if(!$config->group_image_mark) $config->group_image_mark = "N";
|
||||
|
||||
if (!$config->identifier) $config->identifier = 'user_id';
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -148,7 +148,6 @@
|
|||
Context::set('member_config', $member_config);
|
||||
|
||||
global $lang;
|
||||
if(!$member_config->identifier) $member_config->identifier = 'user_id';
|
||||
$identifierForm->title = $lang->{$member_config->identifier};
|
||||
$identifierForm->name = $member_config->identifier;
|
||||
$identifierForm->value = $member_info->{$member_config->identifier};
|
||||
|
|
@ -320,6 +319,11 @@
|
|||
function dispMemberFindAccount() {
|
||||
if(Context::get('is_logged')) return $this->stop('already_logged');
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
$config = $oMemberModel->getMemberConfig();
|
||||
|
||||
Context::set('identifier', $config->identifier);
|
||||
|
||||
$this->setTemplateFile('find_member_account');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<include target="./common_header.html" />
|
||||
<load target="filter/find_member_account.xml" />
|
||||
<load target="filter/find_member_account_by_question.xml" />
|
||||
<h1 class="h1">{$lang->cmd_find_member_account}</h1>
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
<form action="./" method="get" class="form" onsubmit="return procFilter(this, find_member_account)">
|
||||
|
|
@ -20,12 +19,14 @@
|
|||
<!--@if(count($lang->find_account_question_items)>1)-->
|
||||
<h1 class="h1">{$lang->cmd_find_member_account}</h1>
|
||||
<p>{$lang->about_find_account_question}</p>
|
||||
<form action="./" method="get" class="form" onsubmit="return procFilter(this, find_member_account_by_question)">
|
||||
<form action="./" method="get" class="form" ruleset="@find_member_account_by_question">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<input type="hidden" name="act" value="procMemberFindAccountByQuestion" />
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'act', 'dispMemberGetTempPassword')}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
<ul>
|
||||
<li>
|
||||
<li cond="$identifier == 'user_id'">
|
||||
<p class="q"><label for="cpw">{$lang->user_id}</label></p>
|
||||
<p class="a"><input type="text" name="user_id" /></p>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@
|
|||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>Site : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li>{$lang->user_id} : {$member_info->user_id}</li>
|
||||
<li>{$lang->user_name} : {$member_info->user_name}</li>
|
||||
<li>{$lang->nick_name} : {$member_info->nick_name}</li>
|
||||
<li>{$lang->email_address} : {$member_info->email_address}</li>
|
||||
<li loop="$memberInfo=>$name,$value">{$name} : {$value}</li>
|
||||
<li>{$lang->password} : <span style="color:red">{$auth_args->new_password}</span></li>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<include target="./common_header.html" />
|
||||
<h1 class="h1">{$lang->cmd_find_member_account}</h1>
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
<p>{$temp_password}</p>
|
||||
<p>{$lang->about_temp_password}</p>
|
||||
<p>{$lang->user_id} : {$user_id}</p>
|
||||
<p>{$lang->temp_password} : {$temp_password}</p>
|
||||
<include target="./common_footer.html" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue