2013-11-11 08:39:55 +00:00
|
|
|
|
<?php
|
|
|
|
|
namespace Users\Operation;
|
|
|
|
|
|
2013-11-21 02:09:45 +00:00
|
|
|
|
use \Mail\Mail;
|
|
|
|
|
use \Helpers\View as view;
|
2013-11-11 08:39:55 +00:00
|
|
|
|
|
|
|
|
|
class EditOperate implements \Users\Event\EditEvent
|
|
|
|
|
{
|
|
|
|
|
private $db; //传入PDO对象
|
|
|
|
|
public $tbl_member = "users";
|
|
|
|
|
public $FieldUsername = "username";
|
|
|
|
|
public $FieldPasword = "password";
|
|
|
|
|
public $FieldLastlogin = "ts_last_login";
|
|
|
|
|
public $FieldEmail = "email";
|
|
|
|
|
public $FieldLastloginIp = "last_login_ip";
|
|
|
|
|
public $FieldGravatarEmail = "gravatar_email";
|
|
|
|
|
private $DefaultFetchMode = \PDO::FETCH_BOTH; //默认检索模式,防止出现sdtClass错误
|
|
|
|
|
private $config; //全局配置
|
|
|
|
|
|
|
|
|
|
function __construct($db = NULL)
|
|
|
|
|
{
|
|
|
|
|
if(empty($db))
|
|
|
|
|
{
|
|
|
|
|
$this->db = \Zend_Registry::get('db');
|
|
|
|
|
}else{
|
|
|
|
|
$this->db = $db;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$this->config = \Zend_Registry::get('config');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function checkParam(\Zend_EventManager_Event $e){
|
|
|
|
|
|
|
|
|
|
$data = $e->getParam('data');
|
|
|
|
|
$type = $e->getParam('type');
|
|
|
|
|
|
|
|
|
|
if($type == 'general')
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if(empty($data['realname']))
|
|
|
|
|
{
|
|
|
|
|
return "请输入真实姓名";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(mb_strlen($data['realname'],"UTF-8")>10 )
|
|
|
|
|
{
|
|
|
|
|
return "姓名不要超过10个字";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($type == "password")
|
|
|
|
|
{
|
|
|
|
|
if(strlen($data['password'])>18 || strlen($data['password_new'])>18)
|
|
|
|
|
{
|
|
|
|
|
return "密码过长";
|
|
|
|
|
}
|
|
|
|
|
if(strlen($data['password_new'])<=6 || strlen($data['password_confirm'])<=6)
|
|
|
|
|
{
|
|
|
|
|
return "密码过短";
|
|
|
|
|
}
|
|
|
|
|
if(md5($data['password_new']) != md5($data['password_confirm']))
|
|
|
|
|
{
|
|
|
|
|
return "两次输入的密码不同";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$uid = view::User('id');
|
|
|
|
|
$sql = "SELECT {$this->FieldPasword} FROM {$this->tbl_member} WHERE id=$uid";
|
|
|
|
|
$rs = $this->db->query($sql);
|
|
|
|
|
$row = $rs->fetch();
|
|
|
|
|
|
|
|
|
|
if(md5($data['password']) != $row[$this->FieldPasword])
|
|
|
|
|
{
|
|
|
|
|
return "原密码不正确";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}//checkParam
|
|
|
|
|
|
|
|
|
|
public function editSuccess(\Zend_EventManager_Event $e){
|
|
|
|
|
|
|
|
|
|
$data = $e->getParam('data');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|