恢复用户信息编辑功能
This commit is contained in:
parent
b5b672588c
commit
64222944d0
|
@ -22,29 +22,23 @@ class AccountController extends Zend_Controller_Action
|
|||
|
||||
function indexAction()
|
||||
{
|
||||
$submit = $this->_getParam('submit');
|
||||
$this->view->pageID = "account-index";
|
||||
|
||||
$account = new Account();
|
||||
include_once("Users.php");
|
||||
$usr = new Users($this->db);
|
||||
|
||||
if(!empty($submit))
|
||||
$auth = Zend_Auth::getInstance();
|
||||
if($auth->hasIdentity())
|
||||
{
|
||||
$data = $account->getEditParam($this->_request);
|
||||
$Listener = new EditListener();
|
||||
@$account->events()->attachAggregate($Listener);
|
||||
$this->view->section = $type = $this->_getParam('type');
|
||||
$status = $account->edit($data,$type);
|
||||
if($status !== true)
|
||||
{
|
||||
$this->view->error = view::Error($status);
|
||||
}else{
|
||||
$this->view->error = view::Error("修改成功","alert-success");
|
||||
}
|
||||
$user = $auth->getIdentity();
|
||||
$uid = $user->id;
|
||||
}
|
||||
|
||||
$user = $account->getAccountInfo();
|
||||
$av = new Gravatar();
|
||||
$this->view->avatar = $av->Get($user['email'],100);
|
||||
$this->view->user = $user;
|
||||
include_once("Avatar.php");
|
||||
$avatar = new Avatar();
|
||||
$this->view->avatar = $avatar->Get($user->email,140);
|
||||
|
||||
$this->view->info = $usr->getUserInfo($uid);
|
||||
}
|
||||
|
||||
function loginAction()
|
||||
|
@ -271,5 +265,205 @@ class AccountController extends Zend_Controller_Action
|
|||
}
|
||||
}//getpasswordAction()
|
||||
|
||||
function editAction()
|
||||
{
|
||||
$this->view->pageID = "account-edit";
|
||||
|
||||
include_once("Users.php");
|
||||
$usr = new Users($this->db);
|
||||
|
||||
$auth = Zend_Auth::getInstance();
|
||||
if($auth->hasIdentity())
|
||||
{
|
||||
$user = $auth->getIdentity();
|
||||
$uid = $user->id;
|
||||
}
|
||||
|
||||
include_once("Avatar.php");
|
||||
$avatar = new Avatar();
|
||||
$this->view->avatar = $avatar->Get($user->email,140);
|
||||
|
||||
$this->view->projectType = array(
|
||||
"无" => '',
|
||||
"国家973计划项目课题" => "国家973计划项目课题",
|
||||
"国家863计划课题"=>"国家863计划课题",
|
||||
"国家级科技支撑课题" => "国家级科技支撑课题",
|
||||
"国家级科技重大专项" => "国家级科技重大专项",
|
||||
"国家级国家重大工程" => "国家级国家重大工程",
|
||||
"国家级国家自然科学基金" => "国家级国家自然科学基金",
|
||||
"国际合作项目"=>"国际合作项目",
|
||||
"省部级项目" => "省部级项目",
|
||||
"其他项目工程" => "其他项目工程",
|
||||
);
|
||||
|
||||
$submit = $this->_getParam('submit');
|
||||
|
||||
if(!empty($submit))
|
||||
{
|
||||
$data = $this->AccountEditParamFilter();
|
||||
|
||||
if($this->db->update("users",$data,"id=$uid"))
|
||||
{
|
||||
$this->view->AlertType = "alert-success";
|
||||
$this->view->msg = "修改成功!";
|
||||
$this->view->jump_url = "/account/edit";
|
||||
return true;
|
||||
}else{
|
||||
$this->view->AlertType = "alert-error";
|
||||
$this->view->error = "修改失败,请重试";
|
||||
$this->view->info = $data;
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
$this->view->info = $usr->getUserInfo($uid);
|
||||
}
|
||||
}
|
||||
|
||||
function AccountEditParamFilter(){
|
||||
$data = array();
|
||||
$data['realname'] = substr(trim($this->_getParam('realname')),0,40);
|
||||
$data['unit'] = substr(trim($this->_getParam('unit')),0,100);
|
||||
$data['address'] = substr(trim($this->_getParam('address')),0,100);
|
||||
$data['phone'] = substr(trim($this->_getParam('phone')),0,15);
|
||||
$data['postcode'] = substr(trim($this->_getParam('postcode')),0,15);
|
||||
$data['project_type'] = substr(trim($this->_getParam('project_type')),0,100);
|
||||
$data['project_id'] = substr(trim($this->_getParam('project_id')),0,40);
|
||||
$data['project_title'] = substr(trim($this->_getParam('project_title')),0,100);
|
||||
$data['project'] = substr(trim($this->_getParam('project')),0,600);
|
||||
|
||||
foreach($data as $k=>$v)
|
||||
{
|
||||
$data[$k] = $this->StringFilter($v);
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function StringFilter($string){
|
||||
$string = preg_replace ('/<[^>]*>/', ' ', $string);
|
||||
return $string;
|
||||
}
|
||||
|
||||
function secureAction()
|
||||
{
|
||||
$this->view->pageID = "account-secure";
|
||||
|
||||
include_once("Users.php");
|
||||
$usr = new Users($this->db);
|
||||
|
||||
$auth = Zend_Auth::getInstance();
|
||||
if($auth->hasIdentity())
|
||||
{
|
||||
$user = $auth->getIdentity();
|
||||
$uid = $user->id;
|
||||
}
|
||||
|
||||
$opt = $this->_getParam('opt');
|
||||
$submit = $this->_getParam('submit');
|
||||
|
||||
if(empty($opt))
|
||||
{
|
||||
$this->view->section = "password";
|
||||
if(!empty($submit))
|
||||
{
|
||||
$data = $this->AccountSecureParamFilter();
|
||||
|
||||
$this->view->AlertType = "alert-error";
|
||||
if(strlen($data['password'])>18 || strlen($data['new_password'])>18)
|
||||
{
|
||||
$this->view->error = view::Error("密码过长");
|
||||
return true;
|
||||
}
|
||||
if(strlen($data['new_password'])<=6 || strlen($data['new_password_confrim'])<=6)
|
||||
{
|
||||
$this->view->error = view::Error("密码过短,请输入大于6位的密码");
|
||||
return true;
|
||||
}
|
||||
if(md5($data['new_password']) != md5($data['new_password_confrim']))
|
||||
{
|
||||
$this->view->error = view::Error("两次输入的密码不相同");
|
||||
return true;
|
||||
}
|
||||
|
||||
$sql = "SELECT password FROM users WHERE id=$uid";
|
||||
$rs = $this->db->query($sql);
|
||||
$row = $rs->fetch();
|
||||
|
||||
if(md5($data['password']) != $row['password'])
|
||||
{
|
||||
$this->view->error = view::Error("原密码不正确");
|
||||
return true;
|
||||
}
|
||||
|
||||
$data['password'] = md5($data['new_password']);
|
||||
|
||||
unset($data['new_password']);
|
||||
unset($data['new_password_confrim']);
|
||||
|
||||
if($this->db->update("users",$data,"id=$uid"))
|
||||
{
|
||||
view::Post($this,array("content"=>'修改成功!','url'=>'/account/secure'));
|
||||
return true;
|
||||
}else{
|
||||
$this->view->error = view::Error("修改失败");
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
$this->view->info = $usr->getUserInfo($uid);
|
||||
}
|
||||
}//password
|
||||
|
||||
if($opt == "email")
|
||||
{
|
||||
$this->view->section = "email";
|
||||
if(!empty($submit))
|
||||
{
|
||||
$email = $this->_getParam('email');
|
||||
$password = $this->_getParam('password');
|
||||
|
||||
if(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i",$email))
|
||||
{
|
||||
$this->view->error = view::Error("错误的邮箱格式");
|
||||
return true;
|
||||
}
|
||||
|
||||
$sql = "SELECT password FROM users WHERE id=$uid";
|
||||
$rs = $this->db->query($sql);
|
||||
$row = $rs->fetch();
|
||||
|
||||
if(md5($password) != $row['password'])
|
||||
{
|
||||
$this->view->error = view::Error("原密码错误");
|
||||
return true;
|
||||
}
|
||||
|
||||
$data['email'] = $email;
|
||||
|
||||
if($this->db->update("users",$data,"id=$uid"))
|
||||
{
|
||||
view::Post($this,array("content"=>'修改成功!','url'=>'/account/secure'));
|
||||
return true;
|
||||
}else{
|
||||
$this->view->error = view::Error("修改失败");
|
||||
return true;
|
||||
}
|
||||
}else{
|
||||
$this->view->info = $usr->getUserInfo($uid);
|
||||
}
|
||||
}//email
|
||||
}
|
||||
|
||||
function AccountSecureParamFilter(){
|
||||
$data = array();
|
||||
$data['password'] = trim($this->_getParam('password'));
|
||||
$data['new_password'] = trim($this->_getParam('new_password'));
|
||||
$data['new_password_confrim'] = trim($this->_getParam('new_password_confrim'));
|
||||
foreach($data as $k=>$v)
|
||||
{
|
||||
$data[$k] = $this->StringFilter($v);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
$this->headTitle($this->config->title->site);
|
||||
$this->headTitle('我的账户');
|
||||
$this->headTitle()->setSeparator(' - ');
|
||||
$this->theme->AppendPlus($this,'colorbox');
|
||||
//$this->theme->AppendPlus($this,'colorbox');
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
|
|
Loading…
Reference in New Issue