fixed error memberinfo update

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9297 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-09-23 04:34:32 +00:00
parent 5268f3bfbe
commit b1d4889fb3
3 changed files with 26 additions and 9 deletions

View file

@ -25,7 +25,7 @@
$getVars = array();
if ($config->signupForm){
foreach($config->signupForm as $formInfo){
if($formInfo->isDefaultForm && $formInfo->isUse || $formInfo->required || $formInfo->mustRequired){
if($formInfo->isDefaultForm && ($formInfo->isUse || $formInfo->required || $formInfo->mustRequired)){
$getVars[] = $formInfo->name;
}
}

View file

@ -1705,28 +1705,44 @@
unset($args->denied);
}
list($args->email_id, $args->email_host) = explode('@', $args->email_address);
// check mamber identifier form
$config = $oMemberModel->getMemberConfig();
if (!$config->identifier) $config->identifier = 'user_id';
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
$orgMemberInfo = $output->data;
if ($config->identifier == 'email_address'){
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address);
if($member_srl&&$args->member_srl!=$member_srl) return new Object(-1,'msg_exists_email_address');
$args->user_id = $orgMemberInfo->user_id;
}else{
$member_srl = $oMemberModel->getMemberSrlByUserID($args->user_id);
if($member_srl&&$args->member_srl!=$member_srl) return new Object(-1,'msg_exists_email_address');
$args->email_address = $orgMemberInfo->email_address;
}
list($args->email_id, $args->email_host) = explode('@', $args->email_address);
// Website, blog, checks the address
if($args->homepage && !preg_match("/^[a-z]+:\/\//is",$args->homepage)) $args->homepage = 'http://'.$args->homepage;
if($args->blog && !preg_match("/^[a-z]+:\/\//is",$args->blog)) $args->blog = 'http://'.$args->blog;
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($args->email_address);
if($member_srl&&$args->member_srl!=$member_srl) return new Object(-1,'msg_exists_email_address');
$oDB = &DB::getInstance();
$oDB->begin();
// DB in the update
$output = executeQuery('member.getMemberInfoByMemberSrl', $args);
$orgMemberInfo = $output->data;
if($args->password) $args->password = md5($args->password);
else $args->password = $orgMemberInfo->password;
if(!$args->user_name) $args->user_name = $orgMemberInfo->user_name;
if(!$args->user_id) $args->user_id = $orgMemberInfo->user_id;
if(!$args->nick_name) $args->user_name = $orgMemberInfo->nick_name;
if(!$args->nick_name) $args->nick_name = $orgMemberInfo->nick_name;
if(!$args->description) $args->description = '';
$output = executeQuery('member.updateMember', $args);
if(!$output->toBool()) {
$oDB->rollback();
@ -1880,4 +1896,4 @@
}
}
}
?>
?>

View file

@ -7,6 +7,7 @@
<column name="user_name" var="user_name" notnull="notnull" minlength="2" maxlength="40" />
<column name="nick_name" var="nick_name" notnull="notnull" minlength="2" maxlength="40" />
<column name="user_id" var="user_id" notnull="notnull" />
<column name="email_address" var="email_address" notnull="notnull"/>
<column name="find_account_question" var="find_account_question" />
<column name="find_account_answer" var="find_account_answer" />
<column name="homepage" var="homepage" default="" />