/**
  * 添加留言
  *
  * @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);
 }
示例#2
0
 /**
  * 验证用户密码是否正确
  *
  * @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;
 }
示例#3
0
 /**
  * 修改密码
  *
  * @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'));
 }