This commit is contained in:
parent
9cdedd63aa
commit
f32e5f7017
|
@ -1,297 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class CommentController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
private $belong_to = ['报道媒体', '报道类型'];
|
||||
private $news_index = "qs_news_id";
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$get_data = I('get.');
|
||||
if (isset($get_data['key']) && $get_data['word']) {
|
||||
$map[$get_data['key']] = array('like', '%' . $get_data['word'] . '%');
|
||||
}
|
||||
|
||||
$model = D('CommentsInfo');
|
||||
$count = $model->getListForCount($map);
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
foreach ($data_list as &$data) {
|
||||
// dd($data);
|
||||
$data['news_name'] = $model->getNewsName($data[$this->news_index]);
|
||||
$data['from_user_name'] = $model->getUserName($data['from_id']);
|
||||
if (strlen($data['from_user_name']) == 0) $data['from_user_name'] = $data['from_name'] . " (已删除)";
|
||||
}
|
||||
// 使用Builder快速建立列表页面。
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('评论管理'); // 设置页面标题
|
||||
$builder->addTopButton('addnew');
|
||||
// $builder->addTopButton('save', array('title' => '保存排序'));
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('news_name', '名称')
|
||||
->addTableColumn('from_user_name', '发表者')
|
||||
->addTableColumn('like_num', '点赞数')
|
||||
->addTableColumn('content', '评论内容')
|
||||
->addTableColumn('create_time', '创建时间', 'time')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->addRightButton('forbid') // 添加禁用按钮
|
||||
// ->addRightButton('self', ['title' => '查看相关文章', 'href' => U('News/index', ['key' => 'keyword', 'word' => '__name__']), 'class' => 'label label-success'])
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$data['name'] = trim($data['name']);
|
||||
$data['belong_to'] = $this->belong_to[$data['belong_to']];
|
||||
$model = D('SecondaryTitle');
|
||||
$n_model = D('SecondaryNews');
|
||||
$keyword_ids = D('Keywords')->checkKeywords($data['keywords_id'] ? $data['keywords_id'] : []);
|
||||
if ($keyword_ids === false) {
|
||||
$this->error(D('Keywords')->getError());
|
||||
}
|
||||
$data['keywords_id'] = implode(',', $keyword_ids ? $keyword_ids : []);
|
||||
$data['news_id'] = implode(',', $data['news_id'] ? $data['news_id'] : []);
|
||||
$data['cate_id'] = implode(',', $data['cate_id'] ? $data['cate_id'] : []);
|
||||
$r = $model->createAdd($data);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$data['secondary_id'] = $r;
|
||||
$n_r = $n_model->createAdd($data);
|
||||
if ($n_r === false) {
|
||||
$this->error($n_model->getError());
|
||||
}
|
||||
sysLogs('新增关键词id:' . $r);
|
||||
$this->success(l('add') . l('success'), U(CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
} else {
|
||||
// 使用FormBuilder快速建立表单页面。
|
||||
$builder = new FormBuilder();
|
||||
$data_list = array(
|
||||
"status" => 1,
|
||||
"sort" => 0,
|
||||
);
|
||||
if ($data_list) {
|
||||
$builder->setFormData($data_list);
|
||||
}
|
||||
|
||||
$keywordBuilder = new \Qscmf\Builder\SubTableBuilder();
|
||||
$keywordBuilder->addTableHeader('关键词', '30%', '输入关键词可以搜索添加现有关键词,输入@+关键词可以新增');
|
||||
$keywordBuilder->addFormItem('keywords_id', 'select2', [
|
||||
'tags' => true,
|
||||
'options' => D('Keywords')->order('id desc')->getField('id, name', true)
|
||||
]);
|
||||
|
||||
$newsBuilder = new \Qscmf\Builder\SubTableBuilder();
|
||||
$newsBuilder->addTableHeader('新闻列表', '30%', '输入新闻可以搜索添加现有新闻');
|
||||
$newsBuilder->addFormItem('news_id', 'select2', [
|
||||
'tags' => true,
|
||||
'options' => D('News')->order('id desc')->getField('id, title', true)
|
||||
]);
|
||||
|
||||
$cates = D('NewsCate')->order('id asc')->getField('id, name', true);
|
||||
|
||||
$builder->setMetaTitle('添加关键词') //设置页面标题
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->setPostUrl(U('add'))
|
||||
->addFormItem('belong_to', 'radio', '选项', '', $this->belong_to)
|
||||
->addFormItem('name', 'text', '名称*')
|
||||
->addFormItem('news_id', 'self', '新闻列表', '', $newsBuilder->makeHtml())
|
||||
->addFormItem('keywords_id', 'self', '关键词', '', $keywordBuilder->makeHtml())
|
||||
->addFormItem('cate_id', 'checkbox', '分类', '', $cates)
|
||||
->addFormItem('sort', 'num', '排序')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function save()
|
||||
{
|
||||
if (IS_POST) {
|
||||
$data = I('post.');
|
||||
foreach ($data['id'] as $k => $v) {
|
||||
$save_data['sort'] = $data['sort'][$k];
|
||||
D('Keywords')->where('id=' . $v)->save($save_data);
|
||||
}
|
||||
$this->success('保存成功', U('index'));
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$data['name'] = trim($data['name']);
|
||||
$data['belong_to'] = $this->belong_to[$data['belong_to']];
|
||||
$model = D('SecondaryTitle');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
|
||||
$keyword_ids = D('Keywords')->checkKeywords($data['keywords_id'] ? $data['keywords_id'] : []);
|
||||
if ($keyword_ids === false) {
|
||||
$this->error(D('Keywords')->getError());
|
||||
}
|
||||
$data['keywords_id'] = implode(',', $keyword_ids ? $keyword_ids : []);
|
||||
$data['news_id'] = implode(',', $data['news_id'] ? $data['news_id'] : []);
|
||||
$data['cate_id'] = implode(',', $data['cate_id'] ? $data['cate_id'] : []);
|
||||
|
||||
$n_model = D('SecondaryNews');
|
||||
$news_ent = $n_model->where(['secondary_id' => $data['id']])->find();
|
||||
// todo 保存关联表
|
||||
// dd($data, $data['id'], $ent['id'], $news_ent);
|
||||
|
||||
if ($data['keywords_id']) {
|
||||
$news_ent['keywords_id'] = $data['keywords_id'];
|
||||
}
|
||||
if ($data['news_id']) {
|
||||
$news_ent['news_id'] = $data['news_id'];
|
||||
}
|
||||
if ($data['cate_id']) {
|
||||
$news_ent['cate_id'] = $data['cate_id'];
|
||||
}
|
||||
$ent['name'] = $data['name'];
|
||||
$ent['sort'] = $data['sort'];
|
||||
$ent['belong_to'] = $data['belong_to'];
|
||||
$ent['status'] = $data['status'];
|
||||
if ($model->createSave($ent) === false || $n_model->createSave($news_ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('SecondaryTitle');
|
||||
$info = $model->getOne($id);
|
||||
$is_belong_to_in_list = in_array($info['belong_to'], $this->belong_to);
|
||||
$info['belong_to'] = array_search($info['belong_to'], $this->belong_to);
|
||||
|
||||
$s_news = $model->getConditionList($info['id']);
|
||||
if ($s_news) {
|
||||
$info['news_id'] = $s_news['news_id'];
|
||||
$info['keywords_id'] = $s_news['keywords_id'];
|
||||
$info['cate_id'] = $s_news['cate_id'];
|
||||
}
|
||||
|
||||
$keywordBuilder = new \Qscmf\Builder\SubTableBuilder();
|
||||
$keywordBuilder->setData(D('Keywords')->genKeywordId($info['keywords_id']));
|
||||
$keywordBuilder->addTableHeader('关键词', '30%', '输入关键词可以搜索添加现有关键词,输入@+关键词可以新增');
|
||||
$keywordBuilder->addFormItem('keywords_id', 'select2', [
|
||||
'tags' => true,
|
||||
'options' => D('Keywords')->order('id desc')->getField('id, name', true)
|
||||
]);
|
||||
|
||||
$newsBuilder = new \Qscmf\Builder\SubTableBuilder();
|
||||
$newsBuilder->setData(D('News')->genNewsId($info['news_id']));
|
||||
$newsBuilder->addTableHeader('新闻列表', '30%', '输入新闻可以搜索添加现有新闻');
|
||||
$newsBuilder->addFormItem('news_id', 'select2', [
|
||||
'tags' => true,
|
||||
'options' => D('News')->order('id desc')->getField('id, title', true)
|
||||
]);
|
||||
|
||||
$cates = D('NewsCate')->order('id asc')->getField('id, name', true);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('编辑关键词')
|
||||
->setPostUrl(U('edit'))
|
||||
// ->setExtraHtml($this->fetch('Keywords/detail'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID');
|
||||
if ($is_belong_to_in_list) {
|
||||
$builder
|
||||
->addFormItem('belong_to', 'radio', '选项', '', $this->belong_to)
|
||||
->addFormItem('name', 'text', '名称')
|
||||
->addFormItem('news_id', 'self', '新闻列表', '', $newsBuilder->makeHtml())
|
||||
->addFormItem('keywords_id', 'self', '关键词', '', $keywordBuilder->makeHtml())
|
||||
->addFormItem('cate_id', 'checkbox', '分类', '', $cates);
|
||||
}
|
||||
$builder
|
||||
->addFormItem('sort', 'num', '排序', '', $info['sort'])
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,194 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class CommentsInfoController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
private $news_index = "tz_news_id";
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$get_data = I('get.');
|
||||
// if (isset($get_data['key']) && $get_data['word']) {
|
||||
// $map[$get_data['key']] = array('like', '%' . $get_data['word'] . '%');
|
||||
// }
|
||||
|
||||
$model = D('CommentsInfo');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
foreach ($data_list as &$data) {
|
||||
// dd($data);
|
||||
$data['news_name'] = $model->getNewsName($data[$this->news_index]);
|
||||
$data['from_user_name'] = $model->getUserName($data['from_id']);
|
||||
if (strlen($data['from_user_name']) == 0) $data['from_user_name'] = $data['from_name'] . " (已删除)";
|
||||
}
|
||||
// 使用Builder快速建立列表页面。
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('评论管理'); // 设置页面标题
|
||||
$builder->addTopButton('addnew');
|
||||
// $builder->addTopButton('save', array('title' => '保存排序'));
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('news_name', '名称')
|
||||
->addTableColumn('from_user_name', '发表者')
|
||||
->addTableColumn('like_num', '点赞数')
|
||||
->addTableColumn('content', '评论内容')
|
||||
->addTableColumn('create_time', '创建时间', 'time')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->addRightButton('forbid') // 添加禁用按钮
|
||||
// ->addRightButton('self', ['title' => '查看相关文章', 'href' => U('News/index', ['key' => 'keyword', 'word' => '__name__']), 'class' => 'label label-success'])
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('CommentsInfo');
|
||||
if ($data['like_num'] == '') $data['like_num'] = 0;
|
||||
$data['from_name'] = $model->getUserName($data['from_id']);
|
||||
$data['from_avatar'] = $model->getUserAvatar($data['from_id']);
|
||||
$r = $model->createAdd($data);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
sysLogs('新增评论d:' . $r);
|
||||
$this->success(l('add') . l('success'), U(CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
} else {
|
||||
// 使用FormBuilder快速建立表单页面。
|
||||
$builder = new FormBuilder();
|
||||
|
||||
$builder->setMetaTitle('添加评论') //设置页面标题
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->setPostUrl(U('add'))
|
||||
->addFormItem($this->news_index, 'select', '文章', '', D('News')->order('id desc')->getField('id, title', true))
|
||||
->addFormItem('from_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('like_num', 'num', '点赞数', '', 0)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('CommentsInfo');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
|
||||
$ent[$this->news_index] = $data[$this->news_index];
|
||||
$ent['from_id'] = $data['from_id'];
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['like_num'] = $data['like_num'];
|
||||
if ($data['like_num'] == '') $data['like_num'] = 0;
|
||||
|
||||
$ent['from_name'] = $model->getUserName($data['from_id']);
|
||||
$ent['from_avatar'] = $model->getUserAvatar($data['from_id']);
|
||||
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('CommentsInfo');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改评论')
|
||||
->setPostUrl(U('edit'))
|
||||
// ->setExtraHtml($this->fetch('Keywords/detail'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID')
|
||||
->addFormItem($this->news_index, 'select', '文章', '', D('News')->order('id desc')->getField('id, title', true))
|
||||
->addFormItem('from_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('like_num', 'num', '点赞数', '', 0)
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,229 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class CommentsReplyController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
private $belong_to = ['报道媒体', '报道类型'];
|
||||
private $news_index = "tz_news_id";
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$get_data = I('get.');
|
||||
// if (isset($get_data['key']) && $get_data['word']) {
|
||||
// $map[$get_data['key']] = array('like', '%' . $get_data['word'] . '%');
|
||||
// }
|
||||
|
||||
$model = D('CommentsReply');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
foreach ($data_list as &$data) {
|
||||
// dd($data);
|
||||
$c_model = D('CommentsInfo');
|
||||
$c_info = $c_model->getOne($data['comment_id']);
|
||||
$data['news_name'] = $c_model->getNewsName($c_info[$this->news_index]);
|
||||
$data['comment_content'] = $c_info['content'];
|
||||
$data['to_user_name'] = $model->getUserName($data['to_id']);
|
||||
$data['from_user_name'] = $model->getUserName($data['from_id']);
|
||||
if (strlen($data['from_user_name']) == 0) $data['from_user_name'] = $data['from_name'] . " (已删除)";
|
||||
}
|
||||
// 使用Builder快速建立列表页面。
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('二级评论管理'); // 设置页面标题
|
||||
$builder->addTopButton('addnew');
|
||||
// $builder->addTopButton('save', array('title' => '保存排序'));
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('news_name', '文章名')
|
||||
->addTableColumn('comment_content', '被回复评论')
|
||||
->addTableColumn('to_user_name', '原评论发表者')
|
||||
->addTableColumn('from_user_name', '发表者')
|
||||
->addTableColumn('like_num', '点赞数')
|
||||
->addTableColumn('content', '评论内容')
|
||||
->addTableColumn('create_time', '创建时间', 'time')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->addRightButton('forbid') // 添加禁用按钮
|
||||
// ->addRightButton('self', ['title' => '查看相关文章', 'href' => U('News/index', ['key' => 'keyword', 'word' => '__name__']), 'class' => 'label label-success'])
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('CommentsReply');
|
||||
$data['content'] = $data['content'];
|
||||
$data['like_num'] = $data['like_num'];
|
||||
if ($data['like_num'] == '') $data['like_num'] = 0;
|
||||
$data['from_name'] = $model->getUserName($data['from_id']);
|
||||
$data['from_avatar'] = $model->getUserAvatar($data['from_id']);
|
||||
$c_model = D('CommentsInfo');
|
||||
$c_info = $c_model->getOne($data['comment_id']);
|
||||
$data['to_id'] = $c_info['from_id'];
|
||||
$data['to_name'] = $c_info['from_name'];
|
||||
$data['to_avatar'] = $c_info['from_avatar'];
|
||||
// dd($data);
|
||||
$r = $model->createAdd($data);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
sysLogs('新增二级评论d:' . $r);
|
||||
$this->success(l('add') . l('success'), U(CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
} else {
|
||||
$comments = D('Comments_info')->order('id desc')->getField('id, content, from_id, from_name, ' . $this->news_index, true);
|
||||
foreach ($comments as &$comment) {
|
||||
$str = $comment['content'] . " ";
|
||||
$from_name = D('User')->where(['id' => $comment['from_id']])->getField('nick_name');
|
||||
if ($from_name == null) $from_name = $comment['from_name'] . " (已删除)";
|
||||
$news_title = D('News')->where(['id' => $comment[$this->news_index]])->getField('title');
|
||||
$str = $str . ' | ' . $from_name . " | " . $news_title;
|
||||
$comment = $str;
|
||||
}
|
||||
|
||||
// 使用FormBuilder快速建立表单页面。
|
||||
$builder = new FormBuilder();
|
||||
|
||||
$builder->setMetaTitle('添加二级评论') //设置页面标题
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->setPostUrl(U('add'))
|
||||
->addFormItem('comment_id', 'select', '评论', '', $comments)
|
||||
->addFormItem('from_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('like_num', 'num', '点赞数', '', 0)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('SecondaryTitle');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
$model = D('CommentsReply');
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['like_num'] = $data['like_num'];
|
||||
if ($data['like_num'] == '') $data['like_num'] = 0;
|
||||
$ent['from_id'] = $data['from_id'];
|
||||
$ent['from_name'] = $model->getUserName($data['from_id']);
|
||||
$ent['from_avatar'] = $model->getUserAvatar($data['from_id']);
|
||||
$c_model = D('CommentsInfo');
|
||||
$c_info = $c_model->getOne($data['comment_id']);
|
||||
$ent['to_id'] = $c_info['from_id'];
|
||||
$ent['to_name'] = $c_info['from_name'];
|
||||
$ent['to_avatar'] = $c_info['from_avatar'];
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('CommentsReply');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$comments = D('Comments_info')->order('id desc')->getField('id, content, from_id, from_name, ' . $this->news_index, true);
|
||||
foreach ($comments as &$comment) {
|
||||
$str = $comment['content'] . " ";
|
||||
$from_name = D('User')->where(['id' => $comment['from_id']])->getField('nick_name');
|
||||
if ($from_name == null) $from_name = $comment['from_name'] . " (已删除)";
|
||||
$news_title = D('News')->where(['id' => $comment[$this->news_index]])->getField('title');
|
||||
$str = $str . ' | ' . $from_name . " | " . $news_title;
|
||||
$comment = $str;
|
||||
}
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('编辑关键词')
|
||||
->setPostUrl(U('edit'))
|
||||
// ->setExtraHtml($this->fetch('Keywords/detail'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID')
|
||||
->addFormItem('comment_id', 'select', '评论', '', $comments)
|
||||
->addFormItem('from_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('like_num', 'num', '点赞数', '', 0)
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,192 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class ContentResController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
private $types = [1 => '“解困”播客', 2 => '解困资源库', 3 => '解困者说'];
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('ContentRes');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
foreach ($data_list as &$data) {
|
||||
$type = $data['type'];
|
||||
$data['type_name'] = $this->types[$type];
|
||||
$data['res_num'] = empty(trim($data['res_id'])) ? "" : "共 " . count(explode(',', $data['res_id'])) . " 个文件";
|
||||
if ($data['cate'] > 0) $data['cate_name'] = $data['cate'] == 1 ? "中国" : "世界";
|
||||
}
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('资源管理');
|
||||
$builder->addTopButton('addnew');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('type_name', '模块')
|
||||
->addTableColumn('content', '内容')
|
||||
->addTableColumn('res_num', '文件个数')
|
||||
->addTableColumn('url', '跳转链接')
|
||||
->addTableColumn('cate_name', '分类名')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('ContentRes');
|
||||
$data['cate'] = $data['cate'] ?? 0;
|
||||
|
||||
if ($model->createAdd($data) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('增加成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('ContentRes');
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('增加资源')
|
||||
->setPostUrl(U('add'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID')
|
||||
->addFormItem('type', 'radio', '类型', '', $this->types)
|
||||
->addFormItem('content', 'textarea', '文字内容')
|
||||
->addFormItem('res_id', 'files', '相关资源')
|
||||
->addFormItem('url', 'text', '跳转链接')
|
||||
->addFormItem('cate', 'radio', '分类', '如果类型不是解困资源库则将此项留空,否则应选择正确的分类', [
|
||||
1 => "解困在中国",
|
||||
2 => "解困在世界",
|
||||
])->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('ContentRes');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['res_id'] = $data['res_id'];
|
||||
$ent['url'] = $data['url'];
|
||||
$ent['type'] = $data['type'];
|
||||
$ent['cate'] = $data['cate'] ?? 0;
|
||||
$ent['sort'] = $data['sort'];
|
||||
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('ContentRes');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$is_res = $info['type'] == 2;
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改资源')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID')
|
||||
->addFormItem('type', 'radio', '类型', '', $this->types)
|
||||
->addFormItem('content', 'textarea', '文字内容')
|
||||
->addFormItem('res_id', 'files', '相关资源')
|
||||
->addFormItem('url', 'text', '跳转链接');
|
||||
// ->addFormItem('url', 'text', '跳转链接', '请填写 http:// 或者 https:// 开头的完整链接');
|
||||
if ($is_res) {
|
||||
$builder->addFormItem('cate', 'radio', '分类', '', [
|
||||
1 => "解困在中国",
|
||||
2 => "解困在世界",
|
||||
]);
|
||||
}
|
||||
$builder->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,170 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class DiscussionCateController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('DiscussionCate');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
|
||||
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('议题管理');
|
||||
$builder->addTopButton('addnew');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('topic', '标题')
|
||||
->addTableColumn('content', '内容')
|
||||
->addTableColumn('create_at', '创建时间', 'time')
|
||||
->addTableColumn('sort', '排序', '', '', false)
|
||||
->addTableColumn('status', '状态', 'status', '', false)
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('forbid')
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('DiscussionCate');
|
||||
$data['sort'] = $data['sort'] ?? 0;
|
||||
$data['status'] = 1;
|
||||
|
||||
if ($model->createAdd($data) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('增加成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('添加议题')
|
||||
->setPostUrl(U('add'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('topic', 'text', '标题')
|
||||
->addFormItem('content', 'text', '内容')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('DiscussionCate');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
$ent['topic'] = $data['topic'];
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['type'] = $data['type'];
|
||||
$ent['sort'] = $data['sort'];
|
||||
$ent['status'] = $data['status'];
|
||||
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('DiscussionCate');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改议题')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID', 'ID')
|
||||
->addFormItem('topic', 'text', '标题')
|
||||
->addFormItem('content', 'text', '内容')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class DiscussionController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('Discussion');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
|
||||
foreach ($data_list as &$data) {
|
||||
$data['d_name'] = $model->getDiscussionName($data['discussion_cate_id']);
|
||||
$data['u_name'] = $model->getUserName($data['user_id']);
|
||||
}
|
||||
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('议题管理');
|
||||
$builder->addTopButton('addnew');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('d_name', '议题名')
|
||||
->addTableColumn('u_name', '发表者')
|
||||
->addTableColumn('content', '内容')
|
||||
->addTableColumn('create_at', '创建时间', 'time')
|
||||
->addTableColumn('sort', '排序', '', '', false)
|
||||
->addTableColumn('status', '状态', 'status', '', false)
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('forbid')
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('Discussion');
|
||||
$data['click_time'] = $data['click_time'] ?? 0;
|
||||
$data['status'] = $data['status'] ?? DBCont::NORMAL_STATUS;
|
||||
if ($model->createAdd($data) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('增加成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('添加议题')
|
||||
->setPostUrl(U('add'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('discussion_cate_id', 'select', '议题名', '', D('DiscussionCate')->order('id desc')->getField('id, topic', true))
|
||||
->addFormItem('user_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'text', '内容')
|
||||
->addFormItem('click_time', 'num', '点击量')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('Discussion');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
$ent['user_id'] = $data['user_id'];
|
||||
$ent['discussion_cate_id'] = $data['discussion_cate_id'];
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['click_time'] = $data['click_time'] ?? 0;
|
||||
$ent['sort'] = $data['sort'] ?? 0;
|
||||
$ent['status'] = $data['status'] ?? DBCont::NORMAL_STATUS;
|
||||
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('Discussion');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改议题')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID', 'ID')
|
||||
->addFormItem('discussion_cate_id', 'select', '议题名', '', D('DiscussionCate')->order('id desc')->getField('id, topic', true))
|
||||
->addFormItem('user_id', 'select', '发表者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('content', 'text', '内容')
|
||||
->addFormItem('click_time', 'num', '点击量')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class IntroduceController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
private $news_index = "tz_news_id";
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('Introduce');
|
||||
$count = $model->getListForCount();
|
||||
// }
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, 1, 3, $order);
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('简介管理');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('belong_to', '模块')
|
||||
->addTableColumn('content', '内容')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('Introduce');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
|
||||
$ent['content'] = $data['content'];
|
||||
|
||||
if ($model->createSave($ent) === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('Introduce');
|
||||
$info = $model->getOne($id);
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改简介')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID')
|
||||
// belong_to 不允许修改
|
||||
->addFormItem('belong_to', 'text', '模块', '请勿修改此字段')
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,200 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class NoticeUserController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('NoticeUser');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
|
||||
foreach ($data_list as &$data) {
|
||||
$data['r_name'] = $model->getRecruitmenName($data['notice_id']);
|
||||
$data['r_name'] = $data['r_name'] ?? '(已删除的圆桌 ' . $data['notice_id'] . ')';
|
||||
$data['u_name'] = $model->getUserName($data['user_id']);
|
||||
}
|
||||
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('圆桌招募管理');
|
||||
$builder->addTopButton('addnew');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('r_name', '圆桌主题')
|
||||
->addTableColumn('u_name', '参与者')
|
||||
->addTableColumn('contact_way', '联系方式')
|
||||
->addTableColumn('topic', '主题')
|
||||
->addTableColumn('reason', '参与原因')
|
||||
->addTableColumn('more', '更多信息')
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('NoticeUser');
|
||||
|
||||
// 判断是否已经参与
|
||||
$is_exist = $model->where(['user_id' => $data['user_id'], 'notice_id' => $data['notice_id']])->find();
|
||||
if ($is_exist) {
|
||||
$this->error('该用户已经参与');
|
||||
}
|
||||
|
||||
$data['nickname'] = D('User')->where(['id' => $data['user_id']])->getField('nick_name');
|
||||
$data['contact_way'] = D('User')->where(['id' => $data['user_id']])->getField('telephone');
|
||||
|
||||
$r = $model->createAdd($data);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->updateNoticeCurPeople($data['notice_id']);
|
||||
$this->success('增加成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('添加圆桌参与')
|
||||
->setPostUrl(U('add'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('notice_id', 'select', '圆桌主题', '', D('RecruitmenNotice')->order('id desc')->getField('id, title', true))
|
||||
->addFormItem('user_id', 'radio', '参与者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('topic', 'text', '主题')
|
||||
->addFormItem('reason', 'textarea', '原因')
|
||||
->addFormItem('more', 'textarea', '更多')
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('NoticeUser');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
|
||||
$ent['user_id'] = $data['user_id'];
|
||||
$ent['notice_id'] = $data['notice_id'];
|
||||
$ent['nickname'] = $data['nickname'];
|
||||
$ent['contact_way'] = $data['contact_way'];
|
||||
$ent['topic'] = $data['topic'];
|
||||
$ent['reason'] = $data['reason'];
|
||||
$ent['more'] = $data['more'];
|
||||
|
||||
$r = $model->createSave($ent);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('NoticeUser');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改圆桌参与')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID', 'ID')
|
||||
->addFormItem('notice_id', 'select', '圆桌主题', '', D('RecruitmenNotice')->order('id desc')->getField('id, title', true))
|
||||
->addFormItem('user_id', 'radio', '参与者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('nickname', 'text', '用户名')
|
||||
->addFormItem('contact_way', 'text', '联系方式')
|
||||
->addFormItem('topic', 'text', '主题')
|
||||
->addFormItem('reason', 'textarea', '原因')
|
||||
->addFormItem('more', 'textarea', '更多')
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function updateNoticeCurPeople($notice_id)
|
||||
{
|
||||
$model = D('RecruitmenNotice');
|
||||
$info = $model->getOne($notice_id);
|
||||
$info['cur_people'] = D('NoticeUser')->where(['notice_id' => $notice_id])->count();
|
||||
$model->createSave($info);
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,221 @@
|
|||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
|
||||
use Gy_Library\GyListController;
|
||||
use Gy_Library\DBCont;
|
||||
|
||||
use Qscmf\Builder\FormBuilder;
|
||||
use Qscmf\Builder\ListBuilder;
|
||||
|
||||
use Qscmf\Builder\TSubBuilder;
|
||||
|
||||
/*
|
||||
* 关键词
|
||||
*/
|
||||
|
||||
class RecruitmenNoticeController extends GyListController
|
||||
{
|
||||
use TSubBuilder;
|
||||
|
||||
public function index()
|
||||
{
|
||||
$map = [];
|
||||
$model = D('RecruitmenNotice');
|
||||
$count = $model->getListForCount();
|
||||
$per_page = C('ADMIN_PER_PAGE_NUM', null, false);
|
||||
if ($per_page === false) {
|
||||
$page = new \Gy_Library\GyPage($count);
|
||||
} else {
|
||||
$page = new \Gy_Library\GyPage($count, $per_page);
|
||||
}
|
||||
$order = 'id desc';
|
||||
$data_list = $model->getListForPage($map, $page->nowPage, $page->listRows, $order);
|
||||
|
||||
foreach ($data_list as &$data) {
|
||||
$data['people'] = $data['cur_people'] . ' / ' . $data['max_people'];
|
||||
}
|
||||
|
||||
$builder = new ListBuilder();
|
||||
|
||||
$builder = $builder->setMetaTitle('圆桌招募管理');
|
||||
$builder->addTopButton('addnew');
|
||||
$builder
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
// ->addSearchItem('news_name', 'select_text', '单行输入', array('name' => '名称'))
|
||||
->addTableColumn('title', '主题')
|
||||
->addTableColumn('content', '内容')
|
||||
->addTableColumn('people', '人数')
|
||||
->addTableColumn('holding_at', '举办时间', 'time')
|
||||
->addTableColumn('sort', '排序', '', '', false)
|
||||
->addTableColumn('status', '状态', 'status', '', false)
|
||||
->addTableColumn('right_button', '操作', 'btn')
|
||||
->setTableDataList($data_list) // 数据列表
|
||||
->setTableDataPage($page->show()) // 数据列表分页
|
||||
->addRightButton('edit') // 添加编辑按钮
|
||||
->addRightButton('forbid')
|
||||
->addRightButton('delete') // 添加删除按钮
|
||||
->display();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$data = I('post.');
|
||||
$model = D('RecruitmenNotice');
|
||||
$data['status'] = $data['status'] ?? DBCont::NORMAL_STATUS;
|
||||
$data['cur_people'] = count($data['cur_peoples']);
|
||||
$r = $model->createAdd($data);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
if ($data['cur_people'] > 0) {
|
||||
$datas = $data['cur_peoples'];
|
||||
foreach ($datas as $id) {
|
||||
$rmodel = D('NoticeUser');
|
||||
$data['user_id'] = $id;
|
||||
$data['notice_id'] = $r;
|
||||
$data['nickname'] = D('User')->where(['id' => $id])->getField('nick_name');
|
||||
$data['contact_way'] = D('User')->where(['id' => $id])->getField('telephone');
|
||||
$rr = $rmodel->createAdd($data);
|
||||
if ($rr === false) {
|
||||
$this->error($rmodel->getError());
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->success('增加成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('添加议题')
|
||||
->setPostUrl(U('add'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('title', 'text', '主题')
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('cur_peoples', 'checkbox', '报名者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('max_people', 'num', '最大人数')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
if (IS_POST) {
|
||||
parent::autoCheckToken();
|
||||
$m_id = I('post.id');
|
||||
$data = I('post.');
|
||||
$model = D('RecruitmenNotice');
|
||||
if (!$m_id) {
|
||||
E('缺少内容ID');
|
||||
}
|
||||
$ent = $model->getOne($m_id);
|
||||
if (!$ent) {
|
||||
E('不存在内容');
|
||||
}
|
||||
$ent['title'] = $data['title'];
|
||||
$ent['content'] = $data['content'];
|
||||
$ent['max_people'] = $data['max_people'];
|
||||
$ent['sort'] = $data['sort'] ?? 0;
|
||||
$ent['holding_at'] = $data['holding_at'];
|
||||
$ent['status'] = $data['status'] ?? DBCont::NORMAL_STATUS;
|
||||
$ent['cur_people'] = count($data['cur_peoples']);
|
||||
|
||||
$r = $model->createSave($ent);
|
||||
if ($r === false) {
|
||||
$this->error($model->getError());
|
||||
} else {
|
||||
if ($ent['cur_people'] > 0) {
|
||||
$datas = $data['cur_peoples'];
|
||||
$select_users = D('NoticeUser')->where(['notice_id' => $m_id])->getField('user_id', true);
|
||||
$to_delete_users = array_diff($select_users, $datas);
|
||||
$rmodel = D('NoticeUser');
|
||||
foreach ($datas as $uid) {
|
||||
$is_exist = $rmodel->where(['user_id' => $id, 'notice_id' => $m_id])->find();
|
||||
if ($is_exist) {
|
||||
continue;
|
||||
} else {
|
||||
$rdata['user_id'] = $uid;
|
||||
$rdata['notice_id'] = $id;
|
||||
$rdata['nickname'] = D('User')->where(['id' => $uid])->getField('nick_name');
|
||||
$rdata['contact_way'] = D('User')->where(['id' => $uid])->getField('telephone');
|
||||
$rr = $rmodel->createAdd($rdata);
|
||||
if ($rr === false) {
|
||||
$this->error($rmodel->getError());
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($to_delete_users) {
|
||||
$rmodel->where(['user_id' => ['in', $to_delete_users], 'notice_id' => $m_id])->delete();
|
||||
}
|
||||
}
|
||||
$this->success('修改成功', U('index'));
|
||||
}
|
||||
} else {
|
||||
$model = D('RecruitmenNotice');
|
||||
$info = $model->getOne($id);
|
||||
|
||||
$info['cur_peoples'] = D('NoticeUser')->where(['notice_id' => $id])->getField('user_id', true);
|
||||
|
||||
$builder = new FormBuilder();
|
||||
$builder->setMetaTitle('修改议题')
|
||||
->setPostUrl(U('edit'))
|
||||
->setNIDByNode(MODULE_NAME, CONTROLLER_NAME, 'index')
|
||||
->addFormItem('id', 'hidden', 'ID', 'ID')
|
||||
->addFormItem('title', 'text', '主题')
|
||||
->addFormItem('content', 'textarea', '内容')
|
||||
->addFormItem('cur_peoples', 'checkbox', '报名者', '', D('User')->order('id desc')->getField('id, nick_name', true))
|
||||
->addFormItem('max_people', 'num', '最大人数')
|
||||
->addFormItem('sort', 'num', '排序', '数字越小越靠前')
|
||||
->addFormItem('status', 'select', '状态', '', DBCont::getStatusList())
|
||||
->setFormData($info)
|
||||
->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function forbid()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要禁用的数据');
|
||||
}
|
||||
$r = parent::_forbid($ids);
|
||||
if ($r !== false) {
|
||||
// sysLogs('新闻分类id: ' . $ids . ' 禁用');
|
||||
$this->success('禁用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function resume()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要启用的数据');
|
||||
}
|
||||
$r = parent::_resume($ids);
|
||||
if ($r !== false) {
|
||||
$this->success('启用成功', U(CONTROLLER_NAME . '/index'));
|
||||
} else {
|
||||
$this->error($this->_getError());
|
||||
}
|
||||
}
|
||||
|
||||
public function delete()
|
||||
{
|
||||
$ids = I('ids');
|
||||
if (!$ids) {
|
||||
$this->error('请选择要删除的数据');
|
||||
}
|
||||
|
||||
$r = parent::_del($ids);
|
||||
if ($r === false) {
|
||||
$this->error($this->_getError());
|
||||
} else {
|
||||
$this->success('删除成功', U(MODULE_NAME . '/' . CONTROLLER_NAME . '/index'));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,17 +7,22 @@ use \Gy_Library\DBCont;
|
|||
class CommentsInfoModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '评论列表';
|
||||
protected $table_name = 'comments_info';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
array('from_name', 'getUserName', parent::MODEL_INSERT, 'callback'),
|
||||
array('from_avatar', 'getUserAvatar', parent::MODEL_INSERT, 'callback'),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_time', 'time', parent::MODEL_INSERT, 'function'),
|
||||
array('update_time', 'time', parent::MODEL_BOTH, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('name', 'require', '请填写名称'),
|
||||
array('tz_news_id', 'require', '请选择文章'),
|
||||
array('from_id', 'require', '请选择发表者'),
|
||||
array('content', 'require', '请填写内容'),
|
||||
// 检验是否为整数
|
||||
array('like_num', 'number', '点赞数必须为整数'),
|
||||
);
|
||||
|
||||
|
||||
|
@ -38,6 +43,13 @@ class CommentsInfoModel extends \Gy_Library\GyListModel
|
|||
return $k_data['nick_name'];
|
||||
}
|
||||
|
||||
public function getUserAvatar($id)
|
||||
{
|
||||
$k_model = D('UserAvatar');
|
||||
$k_data = $k_model->where(array('user_id' => $id))->find();
|
||||
return $k_data['avatar'];
|
||||
}
|
||||
|
||||
public function getNewsName($id)
|
||||
{
|
||||
$k_model = D('News');
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class CommentsReplyModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '评论回复列表';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('from_name', 'getUserName', parent::MODEL_INSERT, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_INSERT, 'callback'),
|
||||
array('create_time', 'time', parent::MODEL_INSERT, 'function'),
|
||||
array('update_time', 'time', parent::MODEL_BOTH, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('comment_id', 'require', '请选择文章'),
|
||||
array('from_id', 'require', '请选择发表者'),
|
||||
array('content', 'require', '请填写内容'),
|
||||
// 检验是否为整数
|
||||
array('like_num', 'number', '点赞数必须为整数'),
|
||||
);
|
||||
|
||||
|
||||
public function newTitle($data)
|
||||
{
|
||||
return $this->createAdd($data);
|
||||
}
|
||||
|
||||
public function updateTitle($data)
|
||||
{
|
||||
return $this->createSave($data);
|
||||
}
|
||||
|
||||
public function getComment($id)
|
||||
{
|
||||
$k_model = D('CommentsInfo');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data;
|
||||
}
|
||||
|
||||
public function getUserName($id)
|
||||
{
|
||||
$k_model = D('User');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['nick_name'];
|
||||
}
|
||||
|
||||
public function getUserAvatar($id)
|
||||
{
|
||||
$k_model = D('UserAvatar');
|
||||
$k_data = $k_model->where(array('user_id' => $id))->find();
|
||||
return $k_data['avatar'];
|
||||
}
|
||||
|
||||
public function getNewsName($id)
|
||||
{
|
||||
$k_model = D('News');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['title'];
|
||||
}
|
||||
|
||||
public function getKeywordName($id)
|
||||
{
|
||||
$k_model = D('Keywords');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function getCateName($id)
|
||||
{
|
||||
$k_model = D('NewsCate');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function extraKeyword($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getKeywordName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
|
||||
public function extraCate($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getCateName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class ContentResModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '副页面简介';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_time', 'time', parent::MODEL_INSERT, 'function'),
|
||||
array('update_time', 'time', parent::MODEL_BOTH, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('type', 'require', '请选择类型'),
|
||||
array('content', 'require', '请填写资源简介'),
|
||||
);
|
||||
|
||||
|
||||
public function updateTitle($data)
|
||||
{
|
||||
return $this->createSave($data);
|
||||
}
|
||||
|
||||
public function getUserName($id)
|
||||
{
|
||||
$k_model = D('User');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['nick_name'];
|
||||
}
|
||||
|
||||
public function getUserAvatar($id)
|
||||
{
|
||||
$k_model = D('UserAvatar');
|
||||
$k_data = $k_model->where(array('user_id' => $id))->find();
|
||||
return $k_data['avatar'];
|
||||
}
|
||||
|
||||
public function getNewsName($id)
|
||||
{
|
||||
$k_model = D('News');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['title'];
|
||||
}
|
||||
|
||||
public function getKeywordName($id)
|
||||
{
|
||||
$k_model = D('Keywords');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function getCateName($id)
|
||||
{
|
||||
$k_model = D('NewsCate');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function extraKeyword($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getKeywordName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
|
||||
public function extraCate($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getCateName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class DiscussionCateModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '议题管理';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_at', 'time', parent::MODEL_INSERT, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('topic', 'require', '请选择主题'),
|
||||
array('content', 'require', '请填写内容'),
|
||||
);
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class DiscussionModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '议题讨论';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_at', 'time', parent::MODEL_INSERT, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('discussion_cate_id', 'require', '主题为空'),
|
||||
array('user_id', 'require', '用户为空'),
|
||||
array('content', 'require', '内容为空'),
|
||||
array('user_id', '/^[0-9]+$/', '{%MUST_BE_INTEGER}', parent::VALUE_VALIDATE, 'regex'),
|
||||
array('discussion_cate_id', '/^[0-9]+$/', '{%MUST_BE_INTEGER}', parent::VALUE_VALIDATE, 'regex'),
|
||||
);
|
||||
|
||||
public function getDiscussionName($id)
|
||||
{
|
||||
$model = M('DiscussionCate');
|
||||
$data = $model->where(['id' => $id])->find();
|
||||
return $data['topic'];
|
||||
}
|
||||
|
||||
public function getUserName($id)
|
||||
{
|
||||
$model = M('User');
|
||||
$data = $model->where(['id' => $id])->find();
|
||||
return $data['nick_name'];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class IntroduceModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '副页面简介';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_time', 'time', parent::MODEL_INSERT, 'function'),
|
||||
array('update_time', 'time', parent::MODEL_BOTH, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('belong_to', 'require', '请选择模块'),
|
||||
array('content', 'require', '请填写简介'),
|
||||
);
|
||||
|
||||
|
||||
public function updateTitle($data)
|
||||
{
|
||||
return $this->createSave($data);
|
||||
}
|
||||
|
||||
public function getUserName($id)
|
||||
{
|
||||
$k_model = D('User');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['nick_name'];
|
||||
}
|
||||
|
||||
public function getUserAvatar($id)
|
||||
{
|
||||
$k_model = D('UserAvatar');
|
||||
$k_data = $k_model->where(array('user_id' => $id))->find();
|
||||
return $k_data['avatar'];
|
||||
}
|
||||
|
||||
public function getNewsName($id)
|
||||
{
|
||||
$k_model = D('News');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['title'];
|
||||
}
|
||||
|
||||
public function getKeywordName($id)
|
||||
{
|
||||
$k_model = D('Keywords');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function getCateName($id)
|
||||
{
|
||||
$k_model = D('NewsCate');
|
||||
$k_data = $k_model->where(array('id' => $id))->find();
|
||||
return $k_data['name'];
|
||||
}
|
||||
|
||||
public function extraKeyword($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getKeywordName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
|
||||
public function extraCate($str)
|
||||
{
|
||||
$str = trim($str);
|
||||
if ($str == '') {
|
||||
return '';
|
||||
}
|
||||
$arr = explode(',', $str);
|
||||
foreach ($arr as &$a) {
|
||||
$a = $this->getCateName($a);
|
||||
}
|
||||
$re = join(',', $arr);
|
||||
return $re;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class NoticeUserModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '圆桌招募参与情况';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_at', 'time', parent::MODEL_INSERT, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('user_id', 'require', '请选择用户'),
|
||||
array('notice_id', 'require', '请选择圆桌招募'),
|
||||
);
|
||||
|
||||
public function getRecruitmenName($id)
|
||||
{
|
||||
$model = M('RecruitmenNotice');
|
||||
$data = $model->where(['id' => $id])->find();
|
||||
return $data['title'];
|
||||
}
|
||||
|
||||
public function getUserName($id)
|
||||
{
|
||||
$model = M('User');
|
||||
$data = $model->where(['id' => $id])->find();
|
||||
return $data['nick_name'];
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
namespace Common\Model;
|
||||
|
||||
use \Gy_Library\DBCont;
|
||||
|
||||
class RecruitmenNoticeModel extends \Gy_Library\GyListModel
|
||||
{
|
||||
protected $model_name = '圆桌招募';
|
||||
|
||||
protected $_auto = array(
|
||||
// array('created_at', "date", parent::MODEL_INSERT, 'function', array('Y-m-d H:i:s')),
|
||||
// array('from_name', 'getUserName', parent::MODEL_BOTH, 'callback'),
|
||||
// array('from_avatar', 'getUserAvatar', parent::MODEL_BOTH, 'callback'),
|
||||
array('create_at', 'time', parent::MODEL_INSERT, 'function')
|
||||
);
|
||||
|
||||
protected $_validate = array(
|
||||
array('title', 'require', '请选择主题'),
|
||||
array('content', 'require', '请填写内容'),
|
||||
array('max_people', 'require', '请填写总人数'),
|
||||
array('max_people', 'number', '总人数必须为数字'),
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue