/** * 会员登录 */ 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)); }
/** * 后台日志记录 * @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(); }
/** * 批量操作 */ 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; } }
/** * 批量操作 * */ 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); } }
/** * 更新 * * @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)); }
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' => '当前角色组无权限进行此操作,请联系管理员授权')); } }
/** * 批量操作 * */ 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; } }
/** * 批量操作 * */ 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; } }
/** * 批量操作 * */ 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; } }
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)); }
/** * 后台日志记录 * @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(); } }
/** * 批量操作 * */ 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; } }
/** * 批量操作 * */ 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; } }
/** * 自定义字段 */ 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)); }
/** * 批量操作 * */ 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; } }
private function addCustomTexts() { self::$texts = CMap::mergeArray(parent::$texts, array()); }
/** * 批量操作 * */ 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; } }