Exemplo n.º 1
1
 /**
  * 会员登录
  */
 public function actionLogin()
 {
     $model = new Admin('login');
     if (XUtils::method() == 'POST') {
         $model->attributes = $_POST['Admin'];
         if ($model->validate()) {
             $data = $model->find('username=:username', array('username' => $model->username));
             if ($data === null) {
                 $model->addError('username', '用户不存在');
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,用户不存在:' . CHtml::encode($model->username), 'user_id' => 0));
             } elseif (!$model->validatePassword($data->password)) {
                 $model->addError('password', '密码不正确');
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,密码不正确:' . CHtml::encode($model->username) . ',使用密码:' . CHtml::encode($model->password), 'user_id' => 0));
             } elseif ($data->group_id == 2) {
                 $model->addError('username', '用户被锁定,请联系网站管理');
             } else {
                 parent::_stateWrite(array('userId' => $data->id, 'userName' => $data->username, 'groupId' => $data->group_id, 'super' => $data->group_id == 1 ? 1 : 0), array('prefix' => '_admini'));
                 $data->last_login_ip = XUtils::getClientIP();
                 $data->last_login_time = time();
                 $data->login_count = $data->login_count + 1;
                 $data->save();
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '用户登录成功:' . CHtml::encode($model->username)));
                 $this->redirect(array('default/index'));
             }
         }
     }
     $this->render('login', array('model' => $model));
 }
Exemplo n.º 2
0
 /**
  * 后台日志记录
  * @param  $intro
  */
 public static function _create(array $arr = array())
 {
     $session = new XSession();
     $admini = $session->get('_admini');
     $model = new AdminLogger();
     $model->attributes = $arr;
     !isset($arr['user_id']) && ($model->user_id = intval($admini['userId']));
     $model->url = Yii::app()->request->getRequestUri();
     $model->ip = XUtils::getClientIP();
     $model->save();
 }
Exemplo n.º 3
0
 /**
  * 批量操作
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($this->_gets->getParam('command'));
         $ids = intval($this->_gets->getParam('id'));
     } elseif (XUtils::method() == 'POST') {
         $command = $this->_gets->getPost('command');
         $ids = $this->_gets->getPost('id');
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         throw new CHttpException(404, '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'attachDelete':
             parent::_acl('attach_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除附件,ID:' . $ids));
             //日志
             parent::_delete(new Upload(), $ids, array('attach'), array('file_name'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 4
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } elseif (XUtils::method() == 'POST') {
         $command = trim($_POST['command']);
         $ids = $_POST['id'];
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         XUtils::message('errorBack', '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'delete':
             parent::_acl('user_delete');
             $cityModel = new User();
             $cityModel->deleteAll('id IN(' . $ids . ')');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除会员,ID:' . $ids));
             parent::_delete(new User(), $ids, array('index'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
 /**
  * 会员登录
  */
 public function actionLogin()
 {
     try {
         $model = new EnergyAdmin('login');
         if (XUtils::method() == 'POST') {
             $model->id = $_POST['id'];
             $model->password = $_POST['password'];
             $data = $model->find('id=:id', array('id' => $model->id));
             if ($data === null) {
                 $model->addError('id', '用户不存在');
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,用户不存在:' . CHtml::encode($model->id), 'user_id' => 0));
             } elseif (!$model->validatePassword($data->password)) {
                 $model->addError('password', '密码不正确');
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '登录失败,密码不正确:' . CHtml::encode($model->id) . ',使用密码:' . CHtml::encode($model->password), 'user_id' => 0));
             } else {
                 parent::_stateWrite(array('userId' => $data->id, 'userName' => $data->name), array('prefix' => '_admini'));
                 // $data->save();
                 AdminLogger::_create(array('catalog' => 'login', 'intro' => '用户登录成功:' . CHtml::encode($model->id)));
                 $this->redirect(array('energy/index'));
             }
         }
         $this->render('login', array('model' => $model));
     } catch (Exception $e) {
         echo var_dump($e);
     }
 }
 public function actionOwnerUpdate()
 {
     try {
         $model = parent::_dataLoad(new StAdmin(), $this->_admini['userId']);
         //首先从session中获取登录是的id号(yii框架自带)
         $data = StAdmin::model()->findByPk($this->_admini['userId']);
         //查询该用户并对该用户的密码进行更新
         if (XUtils::method() == 'POST') {
             $id = $data['id'];
             $name = $data['name'];
             $password = $_POST['password'];
             $count = StAdmin::model()->updateByPk($id, array('name' => $name, 'password' => $password));
             if ($count > 0) {
                 AdminLogger::_create(array('catalog' => 'update', 'intro' => '修改密码:' . CHtml::encode($data['name'])));
                 //日志
                 XUtils::message('success', '修改完成', $this->createUrl('adminLogin/index'));
             } else {
                 XUtils::message('fail', '修改失败', $this->createUrl('adminLogin/ownerUpdate'));
             }
         }
         $this->render('ownerUpdate', array('data' => $data));
     } catch (Exception $e) {
         echo var_dump($e);
     }
 }
Exemplo n.º 7
0
 /**
  * 更新
  *
  * @param  $id
  */
 public function actionUpdate($id)
 {
     parent::_acl('sms_update');
     $model = parent::_dataLoad(new Sms(), $id);
     if (isset($_POST['Sms'])) {
         $model->attributes = $_POST['Sms'];
         if ($model->save()) {
             AdminLogger::_create(array('catalog' => 'create', 'intro' => '短信验证设置,ID:' . $model->id));
             $this->redirect(array('index'));
         }
     }
     $this->render('update', array('model' => $model));
 }
Exemplo n.º 8
0
 public function actionEvaluateHandle()
 {
     if (parent::_ajax_acl('evaluate_update')) {
         $id = Yii::app()->request->getPost('id');
         $evaluate = Evaluate::model()->findByPk($id);
         if (!empty($evaluate)) {
             $evaluate->status = 1;
             if ($evaluate->save()) {
                 AdminLogger::_create(array('catalog' => 'update', 'intro' => '更新评估处理状态,ID:' . $evaluate->id));
                 echo CJSON::encode(array('success' => true, 'msg' => '需求处理成功'));
             } else {
                 echo CJSON::encode(array('success' => false, 'msg' => '操作失败,请联系管理员'));
             }
         } else {
             echo CJSON::encode(array('success' => false, 'msg' => '此评估不存在'));
         }
     } else {
         echo CJSON::encode(array('success' => false, 'msg' => '当前角色组无权限进行此操作,请联系管理员授权'));
     }
 }
Exemplo n.º 9
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } elseif (XUtils::method() == 'POST') {
         $command = trim($_POST['command']);
         $ids = $_POST['id'];
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         XUtils::message('errorBack', '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'delete':
             parent::_acl('post_delete');
             Post2tags::xdelete($ids);
             $commentModel = new PostComment();
             $commentModel->deleteAll('post_id IN(' . $ids . ')');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除内容,ID:' . $ids));
             parent::_delete(new Post(), $ids, array('index'), array('attach_file', 'attach_thumb'));
             break;
         case 'commentDelete':
             parent::_acl('post_comment_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除内容评论,ID:' . $ids));
             parent::_delete(new PostComment(), $ids, array('comment'));
             break;
         case 'commentVerify':
             parent::_acl('post_comment_verify');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '审核评论,ID:' . $ids));
             parent::_verify(new PostComment(), 'verify', $ids, array('comment'));
             break;
         case 'commentUnVerify':
             parent::_acl('post_comment_verify');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '取消评论审核,ID:' . $ids));
             parent::_verify(new PostComment(), 'unVerify', $ids, array('comment'));
             break;
         case 'verify':
             parent::_acl('post_verify');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量审核内容,ID:' . $ids));
             parent::_verify(new Post(), 'verify', $ids, array('index'));
             break;
         case 'unVerify':
             parent::_acl('post_verify');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量取消内容审核,ID:' . $ids));
             parent::_verify(new Post(), 'unVerify', $ids, array('index'));
             break;
         case 'commend':
             parent::_acl('post_commend');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量推荐内容,ID:' . $ids));
             parent::_commend(new Post(), 'commend', $ids, array('index'));
             break;
         case 'unCommend':
             parent::_acl('post_commend');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量取消内容推荐,ID:' . $ids));
             parent::_commend(new Post(), 'unCommend', $ids, array('index'));
             break;
         case 'specialDelete':
             parent::_acl('post_special_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除内容,ID:' . $ids));
             parent::_delete(new Special(), $ids, array('special'), array('attach_file', 'attach_thumb'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 10
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } else {
         if (XUtils::method() == 'POST') {
             $command = trim($_POST['command']);
             $ids = $_POST['id'];
             is_array($ids) && ($ids = implode(',', $ids));
         } else {
             XUtils::message('errorBack', '只支持POST,GET数据');
         }
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'linkDelete':
             parent::_acl('link_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除链接,ID:' . $ids));
             parent::_delete(new Link(), $ids, array('link'), array('attach_file'));
             break;
         case 'adDelete':
             parent::_acl('ad_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除广告,ID:' . $ids));
             parent::_delete(new Ad(), $ids, array('ad'), array('attach_file'));
             break;
         case 'linkVerify':
             parent::_acl('link_verify');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '链接状态变更为显示,ID:' . $ids));
             parent::_verify(new Link(), 'verify', $ids, array('link'));
             break;
         case 'linkUnVerify':
             parent::_acl('link_verify');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '链接状态变更为隐藏,ID:' . $ids));
             parent::_verify(new Link(), 'unVerify', $ids, array('link'));
             break;
         case 'adVerify':
             parent::_acl('ad_verify');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '广告状态变更为显示,ID:' . $ids));
             parent::_verify(new Ad(), 'verify', $ids, array('ad'));
             break;
         case 'adUnVerify':
             parent::_acl('ad_verify');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '广告状态变更为隐藏,ID:' . $ids));
             parent::_verify(new Ad(), 'unVerify', $ids, array('ad'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 11
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } elseif (XUtils::method() == 'POST') {
         $command = trim($_POST['command']);
         $ids = $this->_gets->getPost('id');
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         XUtils::message('errorBack', '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'adminDelete':
             parent::_acl('admin_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除管理员,ID:' . $ids));
             parent::_delete(new Admin(), $ids, array('index'));
             break;
         case 'groupDelete':
             parent::_acl('admin_group_delete');
             parent::_groupPrivate($ids);
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除管理员用户组,ID:' . $ids));
             parent::_delete(new AdminGroup(), $ids, array('group'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 12
0
 public function actionLogger()
 {
     //所有账号
     $users = Admin::model()->findAll(array('select' => 'id,username'));
     //        ppr($users);
     $uid = reqGetNum('uid');
     $model = new AdminLogger();
     $condition = '1';
     $uid && ($condition = "t.`user_id`='{$uid}'");
     $criteria = new CDbCriteria();
     $criteria->condition = $condition;
     $criteria->order = 't.create_time DESC';
     $criteria->with = array('user');
     $count = $model->count($criteria);
     $pages = new CPagination($count);
     $pages->pageSize = 10;
     $pageParams = XUtils::buildCondition($_GET, array('user_id', 'r'));
     $pages->params = is_array($pageParams) ? $pageParams : array();
     $criteria->limit = $pages->pageSize;
     $criteria->offset = $pages->currentPage * $pages->pageSize;
     $datalist = $model->findAll($criteria);
     $this->render('logger', array('datalist' => $datalist, 'pagebar' => $pages, 'pagecount' => $count, 'users' => $users, 'uid' => $uid));
 }
Exemplo n.º 13
0
 /**
  * 后台日志记录
  * @param  $intro
  */
 protected function _backendLogger(array $arr = array())
 {
     if (Config::get('admin_logger') == '1') {
         $model = new AdminLogger();
         $model->attributes = $arr;
         $model->user_id = intval(Yii::app()->user->id);
         $model->url = Yii::app()->request->getRequestUri();
         $model->ip = XUtils::getClientIP();
         $model->create_time = time();
         $model->save();
     }
 }
Exemplo n.º 14
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     $command = trim($this->_gets->getParam('command'));
     switch ($command) {
         case 'deleteFile':
             parent::_acl('template_delete');
             $fileName = trim($this->_gets->getParam('fileName'));
             empty($fileName) && XUtils::message('error', '未选择记录');
             $filePath = $this->_themePath . DS . 'views' . DS . XUtils::b64decode($fileName);
             @unlink($filePath);
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除模板:' . XUtils::b64decode($fileName)));
             $this->redirect(array('index'));
             break;
         case 'deleteFolder':
             parent::_acl('template_folder_delete');
             $folderName = trim($this->_gets->getParam('folderName'));
             empty($folderName) && XUtils::message('error', '未选择记录');
             $folderPath = $this->_themePath . DS . 'views' . DS . $folderName;
             if (is_dir($folderPath)) {
                 $fileList = XUtils::getFile($folderPath);
                 foreach ((array) $fileList as $row) {
                     @unlink($folderPath . DS . $row);
                 }
             }
             if (rmdir($folderPath)) {
                 AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除文件夹:' . $folderName));
                 XUtils::message('success', '目录 ' . $folderName . ' 删除完成', $this->createUrl('index'));
             } else {
                 XUtils::message('errorBack', '目录删除失败,请删除此目录下所有文件再删除此目录');
             }
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 15
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } else {
         if (XUtils::method() == 'POST') {
             $command = trim($_POST['command']);
             $ids = $_POST['id'];
             is_array($ids) && ($ids = implode(',', $ids));
         } else {
             XUtils::message('errorBack', '只支持POST,GET数据');
         }
     }
     switch ($command) {
         case 'delete':
             parent::_acl('catalog_delete');
             empty($ids) && XUtils::message('error', '未选择记录');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除全局分类,ID:' . $ids));
             parent::_delete(new Catalog(), $ids, array('index'));
             break;
         case 'sortOrder':
             parent::_acl('catalog_sort_order');
             $sortOrder = $this->_gets->getParam('sortOrder');
             foreach ((array) $sortOrder as $id => $val) {
                 $catalogModel = Catalog::model()->findByPk($id);
                 if ($catalogModel) {
                     $catalogModel->sort_order = $val;
                     $catalogModel->save();
                 }
             }
             $this->redirect(array('index'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 16
0
 /**
  * 自定义字段
  */
 public function actionCustom()
 {
     parent::_acl();
     if (XUtils::method() == 'POST') {
         foreach ((array) $_POST['attr'] as $key => $row) {
             $val = is_array($row['val']) ? implode(',', $row['val']) : $row['val'];
             $var = $row["name"];
             $config = Config::model()->find('scope=:scope AND variable=:variable', array('scope' => 'custom', 'variable' => $var));
             if ($config) {
                 Config::model()->updateAll(array('value' => $val), 'scope=:scope AND variable=:variable', array('scope' => 'custom', 'variable' => $var));
             } else {
                 $config = new Config();
                 $config->scope = 'custom';
                 $config->variable = $var;
                 $config->value = $val;
                 $config->save();
             }
         }
         XXcache::refresh('_config', 3600);
         AdminLogger::_create(array('catalog' => 'update', 'intro' => '更新系统配置,模块:' . $this->action->id));
         XUtils::message('success', '更新完成', $this->createUrl($this->action->id));
     }
     $attrModel = Attr::lists(0, 'config');
     $this->render('custom', array('attrData' => self::loadData(), 'attrModel' => $attrModel));
 }
Exemplo n.º 17
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } elseif (XUtils::method() == 'POST') {
         $command = trim($_POST['command']);
         $ids = $_POST['id'];
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         XUtils::message('errorBack', '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'delete':
             parent::_acl('house_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除房源,ID:' . $ids));
             parent::_delete(new House(), $ids, array('index'));
             break;
         case 'commend':
             parent::_acl('house_recommend');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量推荐房源,ID:' . $ids));
             parent::_recommend(new House(), 'recommend', $ids, array('index'));
             break;
         case 'unCommend':
             parent::_acl('house_recommend');
             AdminLogger::_create(array('catalog' => 'update', 'intro' => '批量取消房源推荐,ID:' . $ids));
             parent::_recommend(new House(), 'unRecommend', $ids, array('index'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Exemplo n.º 18
0
 private function addCustomTexts()
 {
     self::$texts = CMap::mergeArray(parent::$texts, array());
 }
Exemplo n.º 19
0
 /**
  * 批量操作
  *
  */
 public function actionBatch()
 {
     if (XUtils::method() == 'GET') {
         $command = trim($_GET['command']);
         $ids = intval($_GET['id']);
     } elseif (XUtils::method() == 'POST') {
         $command = trim($_POST['command']);
         $ids = $_POST['id'];
         is_array($ids) && ($ids = implode(',', $ids));
     } else {
         XUtils::message('errorBack', '只支持POST,GET数据');
     }
     empty($ids) && XUtils::message('error', '未选择记录');
     switch ($command) {
         case 'delete':
             parent::_acl('attr_delete');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '属性删除,ID:' . $ids));
             $attrModel = Attr::model()->findByPk($ids);
             Attr::clear(array('attrId' => $attrModel->id, 'attrName' => $attrModel->attr_name_alias, 'oldScope' => 'all'));
             parent::_delete(new Attr(), $ids, array('index'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }