westdc-core/Westdc/User/Handle/EditHandle.php

85 lines
1.9 KiB
PHP
Raw Normal View History

<?php
namespace Sookon\User\Handle;
use Sookon\Mail\Mail;
use Sookon\Helpers\View as view;
use Sookon\Helpers\Pdo;
use Sookon\Helpers\Config;
use Zend\EventManager\EventInterface;
class EditHandle implements \Sookon\User\Event\EditEvent
{
private $db; //传入PDO对象
public $tbl_member = "tbl_member";
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)
{
$this->db = new Pdo;
$this->config = Config::get();
}
public function checkParam(EventInterface $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(EventInterface $e){
$data = $e->getParam('data');
return true;
}
}