這是forum.php的所有代碼,而後試着讀一讀,本身作作筆記。php
define('APPTYPEID', 2); define('CURSCRIPT', 'forum');
define(); 定義常量的函數,結果爲 apptypeid = 2, curscript = 'forum'。ajax
爲什麼這麼設定,還不知道。緩存
require './source/class/class_core.php'; require './source/function/function_forum.php';
導入2個文件app
class_core.php - 論壇的主要類文件,core類和c類,都是在這個文件中定義的dom
function_forum.php - 論壇forum模塊使用的函數,都放在這個文件中。ide
$modarray = array('ajax','announcement','attachment','forumdisplay', 'group','image','index','medal','misc','modcp','notice','post','redirect', 'relatekw','relatethread','rss','topicadmin','trade','viewthread','tag','collection','guide' ); $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'), );
定義了2個變量函數
$modarray 模型的種類, 'ajax','announcement','attachment'...
$modcachelist 模型的緩存列表 index 包含'announcements', 'onlinelist', 'forumlinks' //還不太理解爲什麼這樣。
$mod = !in_array(C::app()->var['mod'], $modarray) ? 'index' : C::app()->var['mod'];
語法沒問題, in_arrary(), $mod爲 首頁,index, 不然 模塊爲 。post
$mod = !in_array(C::app()->var['mod'], $modarray) ? 'index' : C::app()->var['mod']; define('CURMODULE', $mod); $cachelist = array(); if(isset($modcachelist[CURMODULE])) { $cachelist = $modcachelist[CURMODULE]; $cachelist[] = 'plugin'; $cachelist[] = 'pluginlanguage_system'; } if(C::app()->var['mod'] == 'group') { $_G['basescript'] = 'group'; } C::app()->cachelist = $cachelist; C::app()->init(); loadforum(); set_rssauth(); runhooks(); $navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['forum']); $_G['setting']['threadhidethreshold'] = 1; require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php';