论坛入口forum.php

发布时间:2025-12-09 16:22:50 浏览次数:6

//定义两个常量,定义当前应用ID define('APPTYPEID', 2); //定义当前应用脚本名称 define('CURSCRIPT', 'forum'); //引入两个核心库文件 require './source/class/class_core.php'; //Discuz! 的通用初始化模块程序,其几乎被 所有的外部代码所引用 require './source/function/function_forum.php'; //论坛全局功能处理函数 //模块定义,模块数组 $modarray = array('ajax','announcement','attachment','forumdisplay', 'group','image','index','medal','misc','modcp','notice','post','redirect', 'relatekw','relatethread','rss','topicadmin','trade','viewthread','tag','collection','guide' ); //模块缓存定义,模块缓存hash表 $modcachelist = array( 'index' => array('announcements', 'onlinelist', 'forumlinks', 'heats', 'historyposts', 'onlinerecord', 'userstats', 'diytemplatenameforum'), 'forumdisplay' => array('smilies', 'announcements_forum', 'globalstick', 'forums', 'onlinelist', 'forumstick', 'threadtable_info', 'threadtableids', 'stamps', 'diytemplatenameforum'), 'viewthread' => array('smilies', 'smileytypes', 'forums', 'usergroups', 'stamps', 'bbcodes', 'smilies', 'custominfo', 'groupicon', 'stamps', 'threadtableids', 'threadtable_info', 'posttable_info', 'diytemplatenameforum'), 'redirect' => array('threadtableids', 'threadtable_info', 'posttable_info'), 'post' => array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist', 'albumcategory'), 'space' => array('fields_required', 'fields_optional', 'custominfo'), 'group' => array('grouptype', 'diytemplatenamegroup'), ); //判断app()指向的对象中的成员数组var中下标为mod的数组元素是否在定义的模块中, //不在的话,赋值index字串给$mod,在的话就赋值下标为mod的数组元素。 //这里的C是class_core.php中的类core。 //第一次进入$mod='index'; $mod = !in_array(C::app()->var['mod'], $modarray) ? 'index' : C::app()->var['mod']; //将$mod的值定义给常量CURMODULE,论坛以及模板解析时候需要 define('CURMODULE', $mod); //依据 CURMODULE设定需要加载的缓存 $cachelist = array(); //判断变量$modcachelist['index']是否设置,如果设置则返回true,否则返回false,null也返回false,这里是true if(isset($modcachelist[CURMODULE])) { //将$modcachelist['index']数组赋值给数组$cachelist $cachelist = $modcachelist[CURMODULE]; } //判断core中app方法返回的对象中的var数组中键位mod的元素值是否等于group //第一次var['mod']的值应该为null if(C::app()->var['mod'] == 'group') { $_G['basescript'] = 'group'; } //将core中app方法返回的对象$_app中的成员数组变量cachelist设置值为数组$cachelist的值 C::app()->cachelist = $cachelist; //调用$_app对象的初始化方法,初始化db,setting,user,session,mobile,cron,misc C::app()->init(); //针对论坛功能的公共过程 loadforum(); //猜测是加载论坛 set_rssauth(); //还没研究明白 RSS验证? runhooks(); //还没研究明白 钩子? //搜索全局$_G中的setting->seotitle->forum中搜索{bbname}的,替换为$_G['setting']['bbname']。用来设置主页标题 $navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['forum']); //根据mod值引入source/module/forum/下的php文件,即论坛主页 require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php';

转载于:https://www.cnblogs.com/wuhaonihao/p/4939563.html

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477