Files
BESCMS/dayrui/App/Cms/Controllers/Admin/Module_search.php
T

116 lines
4.0 KiB
PHP

<?php namespace Phpcmf\Controllers\Admin;
class Module_search extends \Phpcmf\Common
{
public function index() {
$mid = \Phpcmf\Service::L('input')->get('dir');
$all = \Phpcmf\Service::M('Module')->get_module_info();
$module = \Phpcmf\Service::L('cache')->get('module-'.SITE_ID.'-content');
// 设置url
if ($module) {
foreach ($module as $dir => $t) {
if ($t['hlist'] == 1) {
unset($module[$dir]);
continue;
}
if (!$all[$dir]) {
unset($module[$dir]);
continue;
}
if ($mid && $mid != $dir) {
unset($module[$dir]);
continue;
}
$data = $all[$dir];
// 搜索字段
$data['search_field'] = [
'catid' => dr_lang('栏目'),
'keyword' => dr_lang('搜索词'),
'order' => dr_lang('排序'),
'page' => dr_lang('分页'),
];
if (!$data['setting']['search']['field']) {
$data['setting']['search']['field'] = 'title,keywords';
}
$field = \Phpcmf\Service::M()->db->table('field')
->where('disabled', 0)
->where('ismain', 1)
->where('relatedname', 'module')
->where('relatedid', $data['id'])
->orderBy('displayorder ASC,id ASC')
->get()->getResultArray();
foreach ($field as $f) {
$data['search_field'][$f['fieldname']] = $f['name'];
}
$module[$dir] = $data;
$module[$dir]['field'] = $field;
$module[$dir]['save_url'] = dr_url(APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/edit', ['dir' => $dir]);
}
} else {
$this->_admin_msg(0, dr_lang('系统没有安装内容模块'));
}
$one = reset($module);
$page = \Phpcmf\Service::L('input')->get('page');
if (!$page) {
$page = $one['dirname'];
}
\Phpcmf\Service::V()->assign([
'page' => $page,
'form' => dr_form_hidden(),
'menu' => \Phpcmf\Service::M('auth')->_admin_menu(
[
'模块搜索设置' => [APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/index', 'fa fa-search'],
'help' => [1041],
]
),
'module' => $module,
'site_name' => $this->site_info[SITE_ID]['SITE_NAME'],
]);
\Phpcmf\Service::V()->display('module_search.html');
}
public function edit() {
$dir = \Phpcmf\Service::L('input')->get('dir');
$cache = \Phpcmf\Service::L('cache')->get('module-'.SITE_ID.'-content');
if (!$cache[$dir]) {
$this->_json(0, dr_lang('模块#%s不存在', $dir));
}
$all = \Phpcmf\Service::M('Module')->get_module_info();
if (!$all[$dir]) {
$this->_json(0, dr_lang('模块#%s不存在', $dir));
}
if (IS_POST) {
$post = \Phpcmf\Service::L('input')->post('data');
foreach ($post as $dir => $t) {
$all[$dir]['setting']['search'] = $t;
$all[$dir]['setting']['search']['field'] = implode(',', $_POST['search_field'][$dir]);
\Phpcmf\Service::M()->db->table('module')->where('dirname', $dir)->update([
'setting' => dr_array2string($all[$dir]['setting']),
]);
}
// 自动更新缓存
\Phpcmf\Service::M('cache')->sync_cache();
$this->_json(1, dr_lang('操作成功'), [
'url' => dr_url(APP_DIR.'/'.\Phpcmf\Service::L('Router')->class.'/index', ['page' => $dir])
]);
}
$this->_json(0, dr_lang('请求错误'));
}
}