Пример #1
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;
     }
 }
 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);
     }
 }
Пример #3
0
 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', '用户不存在');
                 parent::_backendLogger(array('catalog' => 'login', 'intro' => '登录失败,用户不存在:' . CHtml::encode($model->username), 'user_id' => 0));
             } elseif (!$model->validatePassword($data->password)) {
                 $model->addError('password', '密码不正确');
                 parent::_backendLogger(array('catalog' => 'login', 'intro' => '登录失败,密码不正确:' . CHtml::encode($model->username) . ',使用密码:' . CHtml::encode($model->password), 'user_id' => 0));
             } elseif ($data->group_id == 2) {
                 $model->addError('username', '用户已经锁定,请联系管理');
             } else {
                 $this->_sessionSet('_backendGroupId', $data->group_id);
                 if (isset($data->group_id) && $data->group_id == 1) {
                     $this->_sessionSet('_backendPermission', 'backendstrator');
                 }
                 $data->last_login_ip = XUtils::getClientIP();
                 $data->last_login_time = time();
                 $data->login_count = $data->login_count + 1;
                 $data->save();
                 parent::_sessionSet('uid', $data->id);
                 parent::_sessionSet('uname', $data->username);
                 parent::_backendLogger(array('catalog' => 'login', 'intro' => '用户登录成功:' . $data->username));
                 $this->redirect(array('default/index'));
                 XUtils::message('success', '登录成功', $this->createUrl('default/index'), 2);
             }
         }
     }
     $this->render('login', array('model' => $model));
 }
Пример #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('position_delete');
             $cityModel = new Position();
             $cityModel->deleteAll('id IN(' . $ids . ')');
             AdminLogger::_create(array('catalog' => 'delete', 'intro' => '删除内容,ID:' . $ids));
             parent::_delete(new Position(), $ids, array('index'));
             break;
         default:
             throw new CHttpException(404, '错误的操作类型:' . $command);
             break;
     }
 }
Пример #5
0
 /**
  * 更新基类
  *
  * @param $model 模块
  * @param $field 字段
  * @param $redirect 跳转
  * @param $tpl 模板
  * @param $pkField 主键id
  */
 protected function _update($model, $redirect = 'index', $tpl = '', $id = 0, $pkField = 'id', $field = '')
 {
     $modelName = !$field ? get_class($model) : $field;
     $data = $model->findByPk($id);
     $data === null && XUtils::message('error', '记录不存在');
     if (isset($_POST[$modelName])) {
         $data->attributes = $_POST[$modelName];
         if ($data->save()) {
             self::_adminiLogger(array('catalog' => 'update', 'intro' => '调用基类更新数据,来自模块:' . $this->id . ',方法:' . $this->action->id));
             //日志
             $this->redirect($redirect);
         }
     }
     $this->render($tpl, array('model' => $data));
 }
Пример #6
0
 /**
  * 更新数据表数据
  */
 private function _updateData($data)
 {
     if (XUtils::method() == 'POST') {
         if (!empty($_FILES['site_logo']['name'])) {
             $this->_getLogo('site_logo', SITE_PATH . 'static/', $data['site_logo']);
         } else {
             unset($data['site_logo']);
         }
         foreach ((array) $data as $key => $row) {
             $row = XUtils::addslashes($row);
             Yii::app()->db->createCommand("REPLACE INTO {{config}}(`variable`, `value`) VALUES('{$key}', '{$row}') ")->execute();
         }
         XXcache::refresh('_config', 3600);
         parent::_backendLogger(array('catalog' => 'update', 'intro' => '更新系统配置,模块:' . $this->action->id));
         XUtils::message('success', '更新完成', $this->createUrl($this->action->id));
     }
 }
Пример #7
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;
     }
 }
Пример #8
0
 /**
  * 根据cacheId取数据
  *
  */
 public static function loadData($cacheId, $time = 3600)
 {
     $config = self::get($cacheId);
     if (empty($config)) {
         //无则刷新
         self::refresh($cacheId, $time);
         $config = self::get($cacheId);
         //刷新后无则报错
         if (empty($config)) {
             XUtils::message('error', 'no cacheId : ' . $cacheId);
         }
     }
     return $config;
 }
Пример #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('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;
     }
 }
Пример #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;
     }
 }
Пример #11
0
 public function actionTbAll()
 {
     $make = reqPost('make');
     $re = $crondArr = array();
     $crond_json_file = SITE_BACKEND_PATH . 'protected/data/crond/crond.json';
     if (!empty($make) && is_array($make)) {
         if (!empty($make['crond'])) {
             //这里生成crond地址
             $check = reqPost('check');
             $check['old'] = reqPost('old');
             file_put_contents($crond_json_file, json_encode($check));
             XUtils::message('success', '操作完成', $this->createUrl('links/tbAll'));
         } else {
             $type = array_keys($make);
             //         ppr($type[0],1);
             switch ($type[0]) {
                 case 'header':
                     $min = 1000;
                     $max = 1999;
                     break;
                 case 'left':
                     $min = 2000;
                     $max = 2999;
                     break;
                 case 'main':
                     $min = 3000;
                     $max = 3999;
                     break;
                 case 'shop':
                     $min = 4000;
                     $max = 4999;
                     break;
                 case 'fun':
                     $min = 5000;
                     $max = 5999;
                     break;
                 case 'tools':
                     $min = 6000;
                     $max = 6999;
                     break;
                 case 'games':
                     $min = 7000;
                     $max = 7999;
                     break;
             }
             if (!empty($max) && !empty($min)) {
                 $catalog_arr = Catalog::model()->findAll(array('select' => 'id,tb_id', 'condition' => "t.tb_id>:min AND t.tb_id<:max", 'params' => array(':min' => $min, ':max' => $max)));
             }
             if (!empty($catalog_arr)) {
                 foreach ($catalog_arr as $info) {
                     $re[$info->id] = $this->doTb($info->tb_id, $info->id);
                 }
             }
         }
         //            XUtils::message('success', '操作完成', $this->createUrl('links/tbAll'));
         //            $this->redirect(array('links/tbAll'));
     }
     if (is_file($crond_json_file)) {
         $arr = json_decode(file_get_contents($crond_json_file), TRUE);
         if (empty($arr['old'])) {
             unset($arr['old']);
         }
         $crondArr = array_keys($arr);
         //            ppr($arr);
     }
     $this->render('tb_all', array('catalog' => $re, 'crondArr' => $crondArr));
 }
Пример #12
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;
     }
 }
Пример #13
0
 private function groupEdite($data = null)
 {
     if (XUtils::method() == 'POST') {
         if (!empty($_POST['gname']) && !empty($_POST['auth'])) {
             $gid = reqPost('gid', null);
             $auth = '|' . implode('|', array_keys($_POST['auth'])) . '|';
             $sis = !empty($_POST['sis']) && $_POST['sis'] == 'Y' ? 'Y' : 'N';
             $attr = array('group_name' => $_POST['gname'], 'acl' => $auth, 'status_is' => $_POST['sis']);
             if (!empty($gid)) {
                 $attr['id'] = $gid;
             } else {
                 $attr['create_time'] = time();
             }
             empty($data) && ($data = new AdminGroup());
             $data->attributes = $attr;
             //            ppr($data);
             //            ppr($attr);
             //            ppr($_POST,1);
             if ($data->save()) {
                 //更新权限缓存
                 !empty($gid) && cacheDelete('_backendAcl' . $gid, '');
                 parent::_backendLogger(array('catalog' => 'create', 'intro' => '编辑管理员组及权限' . $data->group_name));
                 XXcache::refresh('_adminGroup');
                 $this->redirect(array('group'));
             }
         } else {
             $gid = reqPostNum('gid');
             if ($gid > 0) {
                 XUtils::message('error', '发生错误,请正确填写各项', $this->createUrl('admin/groupCreate', array('id' => $gid)));
             } else {
                 XUtils::message('error', '发生错误,请正确填写各项', $this->createUrl('admin/group'));
             }
         }
     }
 }
Пример #14
0
 /**
  * 批处理
  */
 public function actionOperate()
 {
     $command = trim($this->_gets->getParam('command'));
     switch ($command) {
         case 'deleteFile':
             parent::_acl('database_delete');
             $filenames = $this->_gets->getParam('sqlfile');
             if ($filenames) {
                 if (is_array($filenames)) {
                     foreach ($filenames as $filename) {
                         if (CFileHelper::getExtension($filename) == 'sql') {
                             @unlink($this->_bakupPath . $filename);
                         }
                     }
                     XUtils::message('success', '删除完成', $this->createUrl('database/import'));
                 } else {
                     if (CFileHelper::getExtension($filenames) == 'sql') {
                         @unlink($this->_bakupPath . $filename);
                         XUtils::message('success', '删除完成', $this->createUrl('database/import'));
                     }
                 }
             } else {
                 XUtils::message('error', '请选择要删除的文件', $this->createUrl('database/import'));
             }
             break;
         case 'downloadFile':
             parent::_acl('database_download');
             $sqlfile = $this->_gets->getParam('sqlfile');
             XHttp::download($this->_bakupPath . $sqlfile, '', '', 3600);
             break;
         default:
             throw new CHttpException(404, '未找到操作');
             break;
     }
 }
Пример #15
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;
     }
 }
Пример #16
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;
     }
 }
 public function actionApply($classTimeId)
 {
     $model = parent::_dataLoad(new StAdmin(), $this->_admini['userId']);
     $stuId = $model->id;
     // echo var_dump($model);
     try {
         $sql = "SELECT * FROM st_course,st_class_time WHERE st_class_time.classTimeId ='{$classTimeId}' AND st_course.courseId=st_class_time.courseId";
         if (XUtils::method() == 'POST') {
             // 提交按钮
             $data = StApply::model()->findAllByAttributes(array('stuId' => $stuId, 'classTimeId' => $classTimeId));
             // echo empty($data);
             if (empty($data)) {
                 $model = new StApply();
                 $model->stuId = $stuId;
                 $model->classTimeId = $classTimeId;
                 $model->reason = $_POST['reason'];
                 $model->state = 0;
                 if ($model->save() > 0) {
                     XUtils::message('success', '提交成功', $this->createUrl('studentLogin/courseQuery'));
                 } else {
                     XUtils::message('fail', '申请失败', $this->createUrl('studentLogin/apply'));
                 }
             } else {
                 XUtils::message('fail', '申请已存在', $this->createUrl('studentLogin/courseQuery'));
             }
         }
         // echo var_dump($sql);
         //分页获取
         $data = Yii::app()->db->createCommand($sql)->queryAll();
         $data = json_decode(CJSON::encode($data), TRUE);
         is_array($data) ? null : ($data = array());
         // 防止空数组
         // echo var_dump($data);
         $this->render('apply', array('data' => $data[0], 'stuId' => $stuId));
     } catch (Exception $e) {
         echo var_dump($e);
     }
 }
Пример #18
0
 /**
  * 检测上级分类是否合法
  *
  * @param  $item
  * @param  $parentId
  */
 protected function parentTrue($item = 0, $parentId = 0)
 {
     $subCategory = Catalog::get($item, $this->_catalog);
     if (empty($subCategory)) {
         $getCategory[] = $item;
     } else {
         foreach ((array) $subCategory as $row) {
             $getCategory[] = $row['id'];
         }
         //将本身ID加入检测对象
         array_push($getCategory, $item);
     }
     if (in_array($parentId, $getCategory)) {
         XUtils::message('error', '所选择的上级分类不能是当前分类或者当前分类的下级分类');
     }
 }
Пример #19
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));
 }
 public function actionAccess($applyId)
 {
     $model = parent::_dataLoad(new StAdmin(), $this->_admini['userId']);
     $teacherId = $model->id;
     // echo var_dump($model);
     try {
         $sql = "SELECT * FROM st_course,st_class_time,st_apply WHERE st_class_time.classTimeId = st_apply.classTimeId AND st_course.courseId=st_class_time.courseId AND st_apply.applyId='{$applyId}'";
         if (XUtils::method() == 'POST') {
             if ($_POST['approve'] == "同意") {
                 $state = 1;
             }
             if ($_POST['approve'] == "不同意") {
                 $state = 2;
             }
             $count = StApply::model()->updateByPk($applyId, array('state' => $state));
             if ($count > 0) {
                 XUtils::message('success', '审批成功', $this->createUrl('exeTeacherLogin/applyQuery'));
             } else {
                 XUtils::message('fail', '修改失败', $this->createUrl('exeTeacherLogin/access'));
             }
         }
         $data = Yii::app()->db->createCommand($sql)->queryAll();
         $data = json_decode(CJSON::encode($data), TRUE);
         is_array($data) ? null : ($data = array());
         // 防止空数组
         // echo var_dump($data);
         $this->render('access', array('data' => $data));
     } catch (Exception $e) {
         echo var_dump($e);
     }
 }
Пример #21
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;
     }
 }