惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
博客园_首页
IT之家
IT之家
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
Jina AI
Jina AI
月光博客
月光博客
小众软件
小众软件
S
SegmentFault 最新的问题
量子位
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 乐军

./upload/source/class/class_core.php ./upload/index.php 仅个人兴趣,自己通过搜索他人的成果,结合自己的理解,来分析discuz的代码。 Windows 系统的进程中, svchost.exe是做什么的? 如何切断已有的网络连接 Excel 得出字符串最后一个符号的位置 - 乐军 - 博客园 双击文件夹或某个分区,打开时会弹出新的对话窗口,解决办法! [原创] 如何在xp下安装DNS? System Volume Information文件夹是什么? windows下的一些隐藏文件 pagefile.sys文件是什么? MSOCache文件夹是什么? java与Excel (3) java与Excel (2) java与Excel (1) DOS 命令 批处理文件常用命令及其用法(2) 批处理文件常用命令及其用法 QTP测试脚本的大致层次结构
./upload/forum.php
乐军 · 2016-03-03 · via 博客园 - 乐军

这是forum.php的全部代码,然后试着读一读,自己做做笔记。

define('APPTYPEID', 2);
define('CURSCRIPT', 'forum');

define(); 定义常量的函数,结果为  apptypeid = 2, curscript = 'forum'。

为何这么设定,还不知道。

require './source/class/class_core.php';
require './source/function/function_forum.php';

导入2个文件

class_core.php  - 论坛的主要类文件,core类和c类,都是在这个文件中定义的

function_forum.php - 论坛forum模块使用的函数,都放在这个文件中。

$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, 否则 模块为 。

$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';