westdc-zf1/application/module/Users/Operation/EditOperate.php

88 lines
2.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Users\Operation;
use \Mail\Mail;
use \Helpers\View as view;
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;
}
}