Initial project files: BESCMS full source
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
<?php namespace Phpcmf\Control;
|
||||
/**
|
||||
* https://www.besyun.com
|
||||
* BESCMS
|
||||
* 本代码基于MIT开源协议,协议规定此处版权信息不可去除
|
||||
* 本文件是框架系统文件,二次开发时不可以修改本文件
|
||||
**/
|
||||
|
||||
class Category extends \Phpcmf\Home\Module {
|
||||
|
||||
public function index() {
|
||||
|
||||
if (IS_POST) {
|
||||
$this->_json(0, '禁止提交,请检查提交地址是否有误');
|
||||
}
|
||||
|
||||
$id = (int)\Phpcmf\Service::L('input')->get('id');
|
||||
$dir = trim(dr_safe_replace(\Phpcmf\Service::L('input')->get('dir')), '/');
|
||||
$page = max(1, (int)\Phpcmf\Service::L('input')->get('page'));
|
||||
|
||||
$module = \Phpcmf\Service::L('cache')->get('module-'.SITE_ID.'-share');
|
||||
if (!$module) {
|
||||
$module = \Phpcmf\Service::L('cache')->get_file('module-'.SITE_ID.'-share');
|
||||
if (!$module) {
|
||||
$this->_msg(0, dr_lang('共享栏目缓存不存在'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 挂钩点
|
||||
$rt2 = \Phpcmf\Hooks::trigger_callback('module_category_share');
|
||||
if ($rt2 && isset($rt2['code']) && $rt2['code']) {
|
||||
$id = $rt2['data'];
|
||||
}
|
||||
|
||||
if ($id) {
|
||||
$cat = $module['category'][$id];
|
||||
if (!$cat) {
|
||||
$this->goto_404_page(dr_lang('栏目(%s)不存在', $id));
|
||||
}
|
||||
} elseif ($dir) {
|
||||
$id = intval($module['category_dir'][$dir]);
|
||||
$cat = $module['category'][$id];
|
||||
if (!$cat) {
|
||||
if (isset($module['category_dir'][$dir])) {
|
||||
$id = (int)$module['category_dir'][$dir];
|
||||
$cat = $module['category'][$id];
|
||||
} else {
|
||||
// 无法通过目录找到栏目时,尝试多及目录
|
||||
foreach ($module['category'] as $t) {
|
||||
if ($t['setting']['urlrule']) {
|
||||
$rule = \Phpcmf\Service::L('cache')->get('urlrule', $t['setting']['urlrule']);
|
||||
$rule['value']['catjoin'] = '/';
|
||||
if ($rule['value']['catjoin'] && strpos($dir, $rule['value']['catjoin'])) {
|
||||
$dir = trim(strchr($dir, $rule['value']['catjoin']), $rule['value']['catjoin']);
|
||||
if (isset($module['category_dir'][$dir])) {
|
||||
$id = (int)$module['category_dir'][$dir];
|
||||
$cat = $module['category'][$id];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 返回无法找到栏目
|
||||
if (!$id) {
|
||||
$this->goto_404_page(dr_lang('栏目(%s)不存在', $dir));
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->goto_404_page(dr_lang('栏目参数不存在'));
|
||||
}
|
||||
|
||||
// 初始化模块
|
||||
if ($cat['tid'] == 1) {
|
||||
if ($cat['mid']) {
|
||||
$this->_module_init($cat['mid']);
|
||||
} else {
|
||||
$this->goto_404_page(dr_lang('栏目所属模块不存在'));
|
||||
}
|
||||
} else {
|
||||
$this->_module_init('share');
|
||||
}
|
||||
|
||||
// 调用栏目方法
|
||||
$this->_Category($id, $dir, $page);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user