/** * 添加留言 * * @author mrmsl <*****@*****.**> * @date 2013-02-26 17:44:43 * * @return void 无返回值 */ public function addAction() { $check = $this->_model->checkCreate(); //自动创建数据 true !== $check && $this->_ajaxReturn(array('success' => false, 'msg' => $check, 'redirect' => C('T_REDIRECT'))); //未通过验证 $this->_model->startTrans()->add(); clear_verifycoe(C('T_VERIFYCODE_MODULE')); $this->_ajaxReturn(true); }
/** * 验证用户密码是否正确 * * @author mrmsl <*****@*****.**> * @date 2012-07-12 09:12:50 * @lastmodify 2013-01-22 11:48:48 by mrmsl * * @param array $admin_arr 所有管理员 * @param array $admin_info 管理员信息 * @param string $password 密码 * @param string $mac_address 网卡信息 * * @return bool true密码正确,否则false */ private function _checkPasswordIsCorrect(&$admin_arr, $admin_info, $password, $mac_address) { if ($admin_info['password'] == $password) { //密码正确 $verifycode = Filter::string('_verify_code'); if ('' === $verifycode) { return L('PLEASE_ENTER,VERIFY_CODE'); } C('T_VERIFYCODE_ORDER', $admin_info['verify_code_order']); $check_verifycode = $this->_checkVerifycode($verifycode, 'module_admin'); if (true !== $check_verifycode) { return $check_verifycode; } $admin_id = $admin_info['admin_id']; $user_ip = get_client_ip(); //登陆ip $time = time(); //登陆时间 $mac = $admin_info['is_restrict'] && !$admin_info['mac_address'] ? ",mac_address='{$mac_address}'" : ''; //网卡信息为空,更新 //更新管理员最后登陆时间,最后登陆ip,登陆次数 $this->getDb()->execute('UPDATE ' . TB_ADMIN . " SET login_num=login_num+1,last_login_time={$time},last_login_ip='{$user_ip}'{$mac},lock_start_time=0,lock_end_time=0,lock_memo='' WHERE admin_id={$admin_id}"); //记录管理员登陆历史 $this->getDb()->execute('INSERT INTO ' . TB_ADMIN_LOGIN_HISTORY . "(admin_id,login_time,login_ip) VALUES({$admin_id},{$time}," . get_client_ip(1) . ')'); $this->_module->setAdminSession($admin_info); //设置session //管理员日志 $this->addLog(L('LOGIN,SUCCESS') . ".{$admin_info['username']}({$admin_info['realname']})", LOG_TYPE_ADMIN_LOGIN_INFO); $admin_arr[$admin_id]['login_num']++; $admin_arr[$admin_id]['last_login_time'] = $time; $admin_arr[$admin_id]['last_login_ip'] = $user_ip; $admin_arr[$admin_id]['is_lock'] = 0; $admin_arr[$admin_id]['lock_start_time'] = 0; $admin_arr[$admin_id]['lock_end_time'] = 0; $admin_arr[$admin_id]['lock_memo'] = ''; if ($mac) { //网卡信息有变更 $admin_arr[$admin_id]['mac_address'] = $mac_address; } $this->_setCache($admin_arr, 'Admin'); //缓存 clear_verifycoe('module_admin'); //清空验证码 return true; } return false; }
/** * 修改密码 * * @author mrmsl <*****@*****.**> * @date 2012-07-14 09:35:55 * @lastmodify 2013-01-21 15:45:58 by mrmsl * * @return void 无返回值 */ public function changePasswordAction() { $this->_model->getAutoOperate('password'); //自动完成 //自动验证 $_auto_validation = array(array('_verify_code', '_checkVerifycode', '{%PLEASE_ENTER,VERIFY_CODE}', Model::MUST_VALIDATE, 'callback', model::MODEL_BOTH, 'module_admin'), array('_old_password', '_checkOldPassword', '{%PLEASE_ENTER,CN_YUAN,PASSWORD}', Model::MUST_VALIDATE, 'callback', model::MODEL_BOTH, 'data')); $_auto_validation = array_merge($_auto_validation, $this->_model->getValidate('password,_password_confirm', false)); $this->_model->setProperty('_validate', $_auto_validation); $result = $this->_model->checkCreate(); if ($result !== true) { $this->_ajaxReturn(false, str_replace(L('PLEASE_ENTER,PASSWORD'), L('PLEASE_ENTER,NEW,PASSWORD'), $result)); } $pk_field = $this->_pk_field; $this->_model->{$pk_field} = $this->_admin_info[$pk_field]; $data = $this->_model->getProperty('_data'); if ($this->_model->save() === false) { $this->_model->addLog(); $this->_ajaxReturn(false, L('CN_XIUGAI,FAILURE')); } clear_verifycoe('module_admin'); //清空验证码 $admin_arr = $this->_getCache(); if (isset($data['password'])) { $data['password'] = md5($data['password']); $admin_arr[$this->_admin_info[$pk_field]]['password'] = $data['password']; } $this->setAdminSession($admin_arr[$this->_admin_info[$pk_field]]); //重设session $this->_model->addLog(L('CN_XIUGAI,PASSWORD,SUCCESS'), LOG_TYPE_ADMIN_OPERATE); //操作日志 $this->_setCache($admin_arr)->_ajaxReturn(true, L('CN_XIUGAI,SUCCESS')); }