最全的discuz二次开发讲解教程
- 格式:doc
- 大小:31.00 KB
- 文档页数:5
-----------------------直接部署Discuz论坛---------------------------------------------------------------- 第一步:在E盘新建一个文件夹命名为:Discuz。
注意:我这里就随便放在E盘了,你们自己看着。
第二步:将dnt_3.1.0_sqlserver文件夹下的upload_files文件复制的Discuz文件夹下,并把upload_files文件重新命名为BBS。
第三步:更改Web.Config配置文件的信息<httpModules><add type="Discuz.Forum.HttpModule, Discuz.Forum" name="HttpModule" /></httpModules>改成<httpModules><!--<add type="Discuz.Forum.HttpModule, Discuz.Forum" name="HttpModule" />--> </httpModules>第四步:将BBS文件夹下的bin文件,DNT.config,Web.Config复制到Discuz根目录下(与BBS文件在同一级目录下),注意:是复制不是剪切和粘贴。
第五步:在IIS中部署,别名:bbs;物理路径:E:\Discuz\BBS,这里IIS部署别名和物理路径根据自己的来设置哦。
(*^__^*) 嘻嘻……在IIS部署中步骤如:1.Internet信息服务(IIS)管理器=>网站=>添加网站第六步:在浏览器运行:http://127.0.0.1/install/index.aspx第七步:勾选接受,点击下一步。
环境检测全部通过。
相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。
我只是整理,不是自己原创编辑的,所有权归原创作者所有哦。
Tips:Q:针对说明的文件是?A:我只基于原版文件对upload目录中基本的程序文件(php,htm,js,除了极少数无关紧要的)进行解释,其余文件(如图片文件),一般不做说明Q:某些目录下空白的index.htm是用来做什么的?A:用来防止列目录的Q:文件名颜色和标识的意义是?A:粗体表示这个文件比较重要,除非你非常了解其功能,否则修改错误会导致全站瘫痪;斜体表示这个文件已被加密,一般情况下修改没有意义;下划线表示这个文件一般99.99%的修改是用不上的,了解即可绿色的是函数库文件,蓝色的是常量调用文件,红色的是系统全局核心文件Q:文件名命名有什么特别规律吗?A:有的,一般inc的是调用文件,func是函数库文件,class是库文件,lng的是语言包文件,了解这些后缀能快速掌握文件功能。
Q:我看了你的帖子,可是我还是看不懂文件内是什么意思啊?A:这个嘛,还是要有一定基础了,一般掌握SQL,PHP和Htm你就可以去改文件做你要的功能了,这个不是我的任务了哦。
一般来说,如果随便指个地方,你能在1分钟内说出大概位置及所在的文件,那么你基本就算合格了。
不过我个人认为最重要的还是多改多读,在实践中提高自己的能力下面开始了,请看你的upload目录里面的文件,表述的格式依次为文件名,功能描述等等先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中admin.php 系统站点管理入口文件api.php Discuz!合作应用入口文件(例如漫游、支付宝什么的都走这里)connect.php QQ互联入口文件cp.php 应用入口文件crossdomain.xml 数据交互文件,如果在里面定义其它站点的地址,那么这两个不同站点就可以交互数据favicon.ico图标文件,显示在浏览器的标题栏forum.php 论坛入口文件group.php 群组入口文件home.php 家园入口文件index.php 功能与portal.php基本相同member.php 用户信息入口文件misc.php 网站用户常用操作入口文件,例如像评分、收藏等功能都是走这个文件的plugin.php 插件入口文件portal.php 门户入口文件robots.txt在这个文件中加上具体的地址,可以防止被搜索蜘蛛检索到search.php 搜索功能入口程序userapp.php 用户应用入口程序API目录中的文件主要是和Discuz!进行合作的商家的应用程序,一般不要也无需修改,这里不多说明。
一、软件准备。
在进行论坛搭建之前,首先要准备好一些软件,以便进行文件的上传和安装。
主要需要以下几个文件:1.discuz安装包。
下载地址:/downloads/install/discuz由于我们是在中国大陆。
所以这里为了方便,我们选择使用discuz 7.0 完整版进行安装:/Discuz/7.0.0/Discuz_7.0.0_FULL_SC_GBK.zip这里简要说明一下,FULL版的安装包已经集成了Ucenter,无需再次安装。
下载完成后解压。
2.FlashFXP。
下载地址:/myfile/syxf/dpin/qyd1ti55nygm1dv2003/1218098677/b59ffe3c05b7 a0af0e429f34228def6b/HA-FlashFXP3_SC.exe这个软件用于将sicuz安装包里的文件上传至虚拟主机。
二、虚拟主机准备。
搭建论坛首先需要一个“仓库”来储存数据,这里我们选择申请虚拟主机来作为这样一个平台。
1.注册会员。
登录到,会员登录->注册(按钮),如图所示填写相关信息,这里的信息一定要记住,这个账号将用于申请虚拟主机。
进入下一步之后将会提示完善信息,按照提示输入即可。
2.申请虚拟主机。
登陆刚才注册的账号,然后选择下图中任意一个主机,点击立即订购。
出现下面的界面,注意按照提示操作。
完成之后按照提示进入购物车,结算并确认订单,此时,虚拟主机就申请好了。
三、开通MYSQL数据库。
建立好虚拟主机之后,我们需要在虚拟主机上创建一个数据库,用于存放数据。
具体做法如下。
返回网站首页。
/store/index.php点击,进入会员中心选择“我的MySQL”,出现以下画面,操作见图。
单击之后出现数据库详情这里要注意,数据库名和密码一定要记住,最好弄个记事本记下来。
输入完毕后点击添加。
这时可以看见表格左上角出现“MySQL数据库已经成功创建”字样。
进入下一步。
修改完之后可以看到左上角出现“MySQL数据库已经成功修改”字样。
【必看】微擎应⽤模块⼆次开发⽂档和初级教程⼿册01.微擎的应⽤模块⽂件夹是addons,所有微擎应⽤模块都在这个⽂件夹⾥⾯。
02.运⾏环境推荐PHP版本5.6以上,mysql5.6,操作系统最好是Linux(centos)。
03.微擎允许对外公开访问的⽂件,就三个,分别是根⽬录api.php(微信开发者URL地址),/web/index.php(电脑端),/app/index.php(⼿机端)。
04.微擎的数据库等配置信息,放置在:/data/config.php⽂件中。
05.在微擎的manifest.xml配置⽂件中,direct的属性值要设置为0,⽐如:<entry * direct="0">,如果设置成1,有可能出现不经过⾝份权限验证,就可以直接访问。
06.微信开发者URL地址那⾥接收到微信推送过来的数据,主要⽤processor.php⽂件来响应。
07.addons/zhiwu55com/template/*,这个⽂件夹下⾯都是电脑端的模块⽂件。
08.addons/zhiwu55com/template/mobile/*,这个⽂件夹下⾯都是⼿机端的模块⽂件,⽐如:链接应⽤⼊⼝的那些页⾯模块⽂件,都在这个⽂件夹下⾯。
09.微擎的数据表,默认以ims_开头。
10.常量:IA_ROOT,微擎程序安装⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn,注意:返回的值最后没有斜杠。
11.常量:ATTACHMENT_ROOT,微擎程序附件⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn/attachment12.常量:MODULE_ROOT,当前模块⽬录,⽰例值:D:/wwwroot/wwwzhiwu55cn/addons/hzw_zhiwu13.当需要引⼊include⽂件的时候,尽量以IA_ROOT为基准路径引⼊,⽐如:include_once IA_ROOT .'/addons/wwwzhiwu55cn/inc/hzw.class.php'14.$_W(⼤写W),是系统中最为重要的全局变量,微擎系统中很多常⽤的数据都存储在这个变量之中15.$_GPC,全局请求变量,获取 $_GET,$_POST,$_COOKIES 中的变量,即$_GPC=array_merge($_GET,$_POST,$_COOKIES);16.$_W[‘siteroot’],⽹站URL根⽬录,⽰例值:/17.$_W[‘siteurl’],原始链接,⽰例值:/web/index.php?m=xxx&c=yyyy&do=hzw,即当前浏览器地址栏那⾥的地址。
手把手教你架设Discuz!论坛前些天,有朋友要小强帮忙架一个论坛。
可是刚开学一直很忙(11门课啊~~还不说七七八八的杂事),都没顾上弄,这次国庆假期正好很无聊,于是决定动手试一下,毕竟没玩过类似的东西。
经过了一天的安装调试之后,偶的实验论坛终于动起来了,兴奋之后觉得“独乐乐不如众乐乐”,于是就有个这篇东东。
开始之前呢,还是要说一些“废话”:虽然本文中用到的软件都是free的,但是,应当遵重原作者的权利及相关授权文档。
还有就是偶对这个东西也是第一次玩,又说的不对的地方欢迎大家拍砖(人身攻击除外,呵呵)。
好了,闲言少叙,进入正题。
本文中涉及到三种开源软件的Win32版本:n Apache HTTP Server 2.0.46n MySQL Servers and Clients 4.0.13n PHP 5.0.3此外就是同为开源的Discuz! 2.5 简体中文免费版(还是开源的东西好啊,功能又强,效率又高,又稳定,而且最重要的是:大多数情况下免费!)。
以上这些软件在网上都很容易找到,下面只对这三种软件作简单介绍,更为详细的资料请参阅该软件的文档;对于该软件的下载方法就不说了,一个字:搜。
如果比我还笨或还懒得话给我发邮件好了(不过mail的主题里要写明原因:P)。
Apache HTTP Server是一种高效率的可在多种平台下的网页服务器(我尽量说的简单,但如果你连网页是啥都不知道那就没办法了)。
它由Apache开源组织()开发和维护。
记得去年同学找工作时候听过一种说法,如果你能有一个Apache的邮箱(如starsnow@),那找什么工作也就都不愁了(可是我没有,所以还是要愁啊~~)。
Apache HTTP Server在本次架设过程中主要提供基于HTTP (超文本链接)协议的网页服务。
MySQL是大名鼎鼎的高性能跨平台的数据库服务器(/),我挺喜欢它的那个海豚图标的,呵呵。
提供基于GPL(free)的数据库服务,即将建立好的论坛的各种数据(如帖子、回复、会员管理等)都会存在这个数据库里面。
ecshop二次开发手册【基本结构】【基本熟悉】前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示、购物流程和强大易用的后台管理。
由于ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2C站点都选择了使用ECShop网上商店系统,但是有时候我们需要做一些ecshop本来没有的功能或者前端展示,这时候就需要我们自己去进行对ecshop的二次开发了。
一、ecshop系统功能二次开发ecshop的代码结构非常易懂,只有有一点php基础都可以在原有的程序基础上进行修改,或功能插件的开发。
ecshop中的一些公用函数都会放在includes文件夹里,而这些公用函数几乎我们都可以用来参照一下就能轻松做出我们想要的其他功能了。
我们要对ecshop进行二次开发,简单来说其实就是对数据库的读写操作,所以只要我们读懂ecshop的数据库操作类,接下来的实现就很轻松了。
ecshop的数据库操作类是很强大的,一些常用的函数如下:1.获取单条记录$GLOBALS['db']->getRow($sql);2.获取单一字段$GLOBALS['db']->getOne($sql);例如查询产品总数:echo $GLOBALS['db']->getOne(…SELECT COUNT(*) FROM … .$GLOBALS['ecs']->table(…goods‟) ;3.获取所有记录$GLOBALS['db']->getAll($sql);4.执行sql语句$GLOBALS['db']->query($sql);//执行删除(DELETE),插入(INSERT),更新(UPDATE)等操作可用此方法5.把数组元素插入数据库$parent['goods_number'] = ‟1′;$parent['parent_id'] = 0;$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table(…cart‟), $parent, …INSERT‟);基于此基础上就能轻松进行ecshop二次开发了。
第10章UG 二次开发入门本章导读需要说明的是,界面二次开发的过程所实现的功能基本上软件本身已实现了,开发者所要做的就是对这些功能重新组合实现特殊需求以提高效率,而对于软件本身未涉及的功能突破的可能性是不大的。
本章中主要介绍UG Open/API的开发过程方法及过程,包括.men文件的制作、UIStyler对话框的设计、以及用户必须清楚的关键函数的讲解和几种调试方法的介绍,最后结合实例进行详细说明。
图10.1 二次开发实例图10.2 UIStyler编辑器参数化技术UG二次开发知识储备UG二次开发介绍实例详解10.1 参数化技术UG参数化设计技术以其强有力的草图设计、尺寸驱动修改图形功能,成为初始设计、产品建模及修改系列设计、多方案比较和动态设计的有效手段,是提高三维模型设计效率的最好方法之一。
10.1.1 技术简介参数化设计是通过修改尺寸而实现对图纸的修改的设计方法。
在参数化设计的过程中,用户无需进行干预,由CAD系统对整个图形的约束集进行分析和求解。
参数化设计的驱动机制为参数,提供修改参数,可以对图形对几何数据进行修改。
参数化设计过程中,修改参数必须满足产品的约束条件。
由用户控制的,即能够独立变化的参数一般只有几个,称之主参数或主约束,其它约束可由产品结构特征确定或与主约束有确定关系,称为次要约束。
10.1.2 技术分类及其实现方法参数化技术的基本方法,从基于约束的参数化技术的实施机理来看,目前主要有两大类型:(1)编程参数化。
这种方法通过分析模型的特点,确定样板各尺寸之间的数字关系。
给定输入参数,然后确定其它参数的值,并用高级语言在CAD系统中加以实现。
这种方法主要适用于结构较稳定,仅尺寸数值发生变化或仅有局部结构变化的场合,常见于在通用商品CAD软件上进行二次开发,如进行标准件和常用件的建库工作等,其优点是三维模型完全实现了程序驱动,但不足之处是编程工作量大、开发效率低、适用面窄。
(2)人工交互参数化基于几何约束的变量几何法。
1. 全方位立体式讲解DIY技巧集锦今天为大家讲解一下在使用DIY过程中的一些技巧与方法仔细阅读,受益匪浅一、如何在模块中增加“标题”及“更多”的链接如下图样式方法:通过框架或模块都可以实现上述样式,我们以框架为例,我们在DIY的时候选中要编辑的框架点击编辑如下图所示之后点击标题在弹出的层中可以添加标题及链接,位置选择居左如下图所示同时可以设置标题的颜色及大小接下来增加“更多”的链接点击弹出层的添加新标题按扭如下图所示,会“复制”出一份新的标题你只需修改就可以了把其中的“精彩教程” 改成“更多” ,链接以及字体、颜色都进行修改就可以了,这里的位置一定要选择“居右”完成,这样框架就有了标题及更多,模块的方法同上二、DIY的模块中如何调整链接的颜色如下图样式方法:选中要修改的模块,点击编辑,选择数据如下图所示在弹出层中选择编辑如下图所示在弹出的层中可以对标题进行加粗、斜体、加下划线、修改颜色等操作完成三、如何在现有的模块中添加新的数据选中要添加数据的模块点击编辑--数据如下图所示在弹出的层中选择任意一条数据点击编辑如下图所示点击编辑后在弹出的层中选择从数据源获取此处可以添写帖子ID、文章ID、日志ID、图片ID 来获取数据如下图所示点击获取会填充模块内相应的数据字段(此处的数据字段会根据模块样式的不同有所变化,请注意)完成四、DIY时如何调用外部程序的数据当我们与第三方程序整合后如何在门户、频道、论坛、或可以DIY的区域调用这些第三方程序的数据首先我们可以在需要调用的地方拖一个展示类中的静态模块如下图所示如上图所示选择数据来源为“自定义HTML”一般第三方系统的数据调用都会有输出JS格式的我们把第三方程序提供的JS代码粘贴进HTML代码框就可以了如下图所示完成五、首页多格或首页四格如何DIY出来我们以论坛首页为例(在任何页面都可以)来制作一个首页四格首先在论坛首页拖一个 1:1的框架如下图所示接下来向已拖好的1-1框架的框架里左侧的1 里面拖入一个1:1的框架如下图所示接下来向右侧的1里面也拖入一个1:1的框架如下图所示接下来我们就可以通过拖拽模块到框架中去了此时我们可以去掉框架的标题,同时为每一个模块增加一个标题如下图所示你可以通过不同的模块样式或者CSS来美化这里完成六、如何修改整个模块的链接样式比如下图方法:选中要编辑的模块,点击编辑--样式进行修改如下图所示以上修改针对整个模块完成七、如何修改两个模块或两个框架之间的距离如下图样式选择要编辑的框架或者模块,点击编辑--样式选择外边距,勾选分别设置,在右边距中写入合适的数字就可以了例如10如下图所示完成后的效果如下图样式完成全方位立体式讲解DIY技巧集锦第二弹一、DIY中TAB框架如果切换点击方式(鼠标点击与鼠标滑过)如下图中的效果如何实现实现方法:拖一个TAB框架到页面中,点编辑,选择标题如下图所示在弹出的窗口中选择切换类型如下图所示。
ecshop二次开发手册基础教程【基本熟悉】前言:ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示、购物流程和强大易用的后台管理。
由于ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2C站点都选择了使用ECShop网上商店系统,但是有时候我们需要做一些ecshop本来没有的功能或者前端展示,这时候就需要我们自己去进行对ecshop的二次开发了。
一、ecshop系统功能二次开发ecshop的代码结构非常易懂,只有有一点php基础都可以在原有的程序基础上进行修改,或功能插件的开发。
ecshop中的一些公用函数都会放在includes文件夹里,而这些公用函数几乎我们都可以用来参照一下就能轻松做出我们想要的其他功能了。
我们要对ecshop进行二次开发,简单来说其实就是对数据库的读写操作,所以只要我们读懂ecshop的数据库操作类,接下来的实现就很轻松了。
ecshop的数据库操作类是很强大的,一些常用的函数如下:1.获取单条记录$GLOBALS['db']->getRow($sql);2.获取单一字段$GLOBALS['db']->getOne($sql);例如查询产品总数:echo $GLOBALS['db']->getOne(‘SELECT COUNT(*) FROM ‘ .$GLOBALS['ecs']->table(‘goods’) ;3.获取所有记录$GLOBALS['db']->getAll($sql);4.执行sql语句$GLOBALS['db']->query($sql);//执行删除(DELETE),插入(INSERT),更新(UPDATE)等操作可用此方法5.把数组元素插入数据库$parent['goods_number'] = ’1′;$parent['parent_id'] = 0;$GLOBALS['db']->autoExecute($GLOBALS['ecs']->table(‘cart’), $parent, ‘INSERT’);基于此基础上就能轻松进行ecshop二次开发了。
PHPCMS V9 二次开发文档文件目录结构根目录| - api接口文件目录| - caches缓存文件目录| -configs系统配置文件目录| - caches_*系统缓存目录| - phpcms phpcms 框架主目录| - languages 框架语言包目录| - libs 框架主类库、主函数库目录| - model 框架数据库模型目录| - modules 框架模块目录| - templates 框架系统模板目录| - phpsso_server phpsso 主目录| - statics 系统附件包| -css系统css包| - images 系统图片包| - js 系统js 包| - uploadfile 网站附件目录| - admin.php 后台管理入口| - index.php 程序主入口| - crossdomain.xml FLASH 跨域传输文件| - robots.txt 搜索引擎蜘蛛限制配置文件| - favicon.ico 系统icon 图标PC标签使用说明在PHPCMS V9中我们正式开始需要PC标签做为数据的获取的方式。
PC标签是以下面的方式进行声明{pc:content action="lists" cache="3600" num ="20" page="$page"}{/pc}PC标签必须以{pc}开头,并以{/pc}结尾的代码片段。
当然不以{/pc}结尾并不会引起程序致命性的错误,导致程序无法继续运行。
以下为两种已知可能会出现的问题:1.当网页中出现两个PC标签时,可能会使得没有闭合的PC标签之后的PC标签数据和其混乱。
2.在后台可视化编辑时,可能出现网页结构错乱的问题。
PC标签分析:PC标签中{pc:}冒号之后跟随的为模块名。
如上面的例子中调用的是内容模型的PC标签。
actio n="list"这个形式所代表的是参数。
DedeCMS整合Discuz图文教程详解Linux环境下DedeCMS5.7整合DiscuzX3.1图文教程可视教程网站是搭建在linux+nginx+mysql的环境下,可视教程网的前端是由DedecmsV5.7UTF8版本搭建的主程序,而其论坛是由DiscuzX3.1 UTF8版本搭建的。
现在我以可视教程网为例来详细讲解如何通过使用dedecms整合discuz 论坛,并通过详细的图文教程方式和大家讲解下,希望能帮助到有需要的朋友,如果大家有兴趣的话可以和我一起交流,请加QQ群:4508510所用版本:Linux环境下DedeCMS5.7整合DiscuzX3.1图文教程网站环境:linux+nignx+mysqldedecms5.7 UTF8版本Discuz X3.1 UTF8版本说明:第一步:安装织梦dedecms5.7 UTF8版本第二步:安装Discuz! X3.1 UTF8版本第三步:在dedecms安装UCenter并进行整合教程详细步骤和操作说明如下:第一步:安装织梦dedecms5.7 UTF8版本安装在可视教程网的根目录下,这个大家应该都知道操作,此处不做详讲解;第二步:安装Discuz! X3.1 UTF8版本1、在根目录下建一个BBS文件夹,如/bbs2、将Discuz_X3.1解压目录下面的upload文件夹下所有文件上传到已安装好的dedecms5.7网站根/BBS目录中。
使用SecureCRT登陆到linux的网站主机上如图:使用如下命令解压Discuz安装包到/alidata/www//bbs/ 目录:cd /alidata/www//bbs/drmeng/unzip -o -d /alidata/www//bbs/ Discuz_X3.1_SC_UTF8.zip将上传的目录更改其所属用户和组,并修改其目录权限chown -R www:www bbs/chmod -R 755 bbs/3、Discuz安装文件上传并解压完后,请输入/bbs/install/进行安装。
wordpress网站二级目录新建discuz论坛设置方法
最近在原来的论坛修改为域名前面是wordpress创建的根目录网站,而在域名根目录也就是二级目录新建一个discuz论坛做为用户互动。
以以往的经验是可以创建成功的,绝对对百度搜索引擎可以抓取到。
但在网站建设中遇到了棘手的问题,打开discuz论坛内容全部报404页面,怎么回事?急啊!在百度一下搜索也没有搜索到更加具体的方法,那么经过自己是细心测试终于成功了,现在把具体解决wordpress网站的二级根目录下创建discuz论坛设置方法如下:
1.网站的wordpress建站程序正常安装。
2.在确保网站wordpress创建的网站正常访问。
3.在网站也就是域名的根目录下创建一个bb文件夹,(域名/bbs).
4.把discuz建站程序上传到这个根目录(域名/bbs)文件夹里面。
5.数据库填写时候要注意,wordpress网站和discuz论坛数据库最好分开,如果空间不能支持二个数据库,可以在原来的数据库把前缀名修改不要相同,这样以后备份数据库就可以分清楚。
6.discuz论坛在设置伪静态页面时候,注意他的规则,下面的是在LINUX系统下的全部规则:具体写法如下:。
dolphinscheduler前端二次开发-回复DolphinScheduler前端二次开发:打造定制化的智能调度平台引言:在当前的大数据时代,数据处理和分析已经成为企业和组织的日常工作之一。
为了更高效地管理和调度这些任务,DolphinScheduler作为一款开源的分布式调度任务平台应运而生。
与其他调度工具相比,DolphinScheduler具有功能强大、易于使用和高度可扩展的特点。
然而,作为一种开源软件,DolphinScheduler同样迎来了不少挑战和问题。
其中之一就是界面的定制化问题。
DolphinScheduler默认的UI界面可能无法满足企业的特定需求,因此进行前端二次开发就变得非常必要。
本文将从头开始,一步一步地回答如何进行DolphinScheduler前端二次开发。
第一步:准备工作在开始前端二次开发之前,我们首先需要准备好开发环境。
具体而言,主要包括以下几个步骤:1. 安装Node.js:Node.js是一种基于Chrome V8引擎的JavaScript运行环境,我们可以使用其来构建高性能的网络应用程序。
在官网上下载适合自己操作系统的版本,并按照向导进行安装。
2. 安装Git:Git是一种分布式版本控制系统,通过它我们可以方便地进行版本控制和代码协作。
同样地,去官网下载并按照向导安装。
3. 克隆DolphinScheduler前端代码:在准备好Node.js和Git之后,我们可以使用Git来克隆DolphinScheduler前端代码。
使用如下命令:git clone这样,就将DolphinScheduler前端代码成功地克隆到本地。
第二步:熟悉前端项目结构在开始具体的二次开发之前,我们需要对前端项目的结构进行熟悉。
DolphinScheduler前端项目采用了Vue.js作为主要的开发框架。
Vue.js 是一种渐进式JavaScript框架,可以帮助我们构建高效、灵活和易于维护的Web应用。
浅述如何为程序提供二次开发功能-1(原创)-wisenowa的专栏-CSDNBlog什么是二次开发?我自己理解为:用户可以利用提供者提供的接口使用已有系统中的资源、功能为已有系统提供新的功能;而所提供的新功能可以无缝集成到已有系统中,已有系统无需重新编译。
为系统提供二次开发功能,以前觉得是比较神秘的东西,但是自从去年仔细捉摸一番后,发现事实没有那么难,我就把曾经的经历写出来给大家看看.提到二次开发,我不知道大家首先想的是什么软件,我想到的是AutoCAD,比较熟悉它的VBA二次开发,不过拿起ObjectArx也玩得转.我所说的这套二次开发的思路与ObjectArx比较相像,都是用动态链接库实现;现在跟我一步一步的探索吧,不过还要多动脑筋,免得陷入我的思维定势;那样我的抛砖引玉的想法就泡汤啦,会比较失望:(,Now let's begin.1.1 动态链接库动态链接库的简单例子library mydll;usesSysUtils,Classes,Dialogs;procedure test(str: pchar); export; stdcall;beginShowMessage(str);end;exports test;{$R *.res}begin上面是一个完整的动态链接库代码,下面是调用方法typeTDllFunc = procedure(str: pchar); stdcall;varDllHandle: THandle;DllFunc: TDllFunc;...DllHandle := LoadLibrary('mydll.dll');...DllFunc := GetProcAddress(DllHandle, 'test');DllFunc('测试我的动态链接库');...FreeLibrary(DllHanle);关于动态链接库就到这,不再赘述了1.2 动态链接库的统一接口有了动态链接库,我们的程序可以实现扩充了;但是问题又来了,我们的程序怎么知道动态链接库中的函数名字、参数等?不知道怎么调用?其实解决这个问题有一个很简单地做法---那就是统一函数名称和参数;这样,我们的程序只需要找到动态链接库文件就可以调用它们了;现在我们把编译好的动态链接库放到指定的目录,这样我们的Exe可以到这个目录中遍历所有的.dll文件,从而调用它们提工的功能函数。
2010/9/1 By Monkey插件设计您在开始进行社区插件的设计之前,有必要了解一下我们所推荐的插件设计方式,更好的规范性和兼容性,将使得您设计的插件受到更多使用者的欢迎,对于程序员而言,也有助于形成良好的编码习惯,实现自身能力的提升。
如果您有意编写 Discuz! 社区插件,请按照先后顺序仔细阅读本文档。
准备工作插件实现流程开始编写社区插件,您应当首先对插件实现的流程有一个大致的了解,以下是我们推荐的插件编写流程:熟练使用 Discuz! 社区系统后,对希望完善或补充的个性化功能进行评估,进而提出插件的功能需求。
对插件做一个概括性的设计,例如:需要使用什么菜单、什么参数,配置哪些选项、数据结构如何设计、前后台实现哪些功能等等。
阅读本文档并在系统设置中实际体验 Discuz! 插件接口所实现的功用,例如:您的插件应当如何设计才能良好的挂接到社区系统中来。
插件接口能够实现哪些功能、不能实现哪些功能,插件为此而需要做的优化、改造和取舍。
编写相应程序代码和模板语句,实现所需的功能并进行代码测试、兼容性测试和代码改进。
如果需要公开您的插件,可以用插件导出的方式,将插件配置信息导出到一个 XML 文件中,连同相应的程序和模板文件一同打包。
同时,编写一个适合新手的插件的说明书也是必不可少的,其中包括:插件适用的 Discuz! 版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等等。
将插件提供给他人,或自己使用,根据使用者反馈,对插件进行完善。
插件实现流程至此结束。
文件命名规范Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范:可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名。
被普通程序文件引用的程序文件,以 .inc.php 后缀命名。
被普通程序文件,或引用程序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
ecshop二次开发经验讲座ecshop程序的基本结构和介绍-讲座1ecshop程序的基本结构, ecshop其实算是结构化的程序设计。
不算是三层结构.ecshop 主要采用的是ecshop自写的非标准化smarty 模板引擎来实现的。
ecshop模板的核心程序在includes/cls_template.php.将来我们将会详细讲述eshop模板结构的原理.有关模板制作的教程,可以参考以下路径/doc/ff55575a312b3169a451a48d.html /html/dianzishangwujiaocheng/ecshoptemplate/inde x.html ecshop有一个安装的过程,除了配置一些模板信息,测试数据外。
最重要的是规划好了模板的引用,以及数据库相关的配置信息。
ecshop的模板位置于themes目录.ecshop 系统的配置文件信息位置于data/config.php文件。
ecshop处理整站程序的文件在includes目录里面.既然谈到了ecshop的模板引擎。
那么一定要说说ecshop 的缓存目录。
位于temp目录.ecshop可以有不同的语言版本,他是靠语言包languages目录来控制的。
ecshop默认的后台路径位置与admin目录,他是整个后台管理的核心.有朋友问我,如果修改ecshop浏览器里面显示的小推车图标.很简单,他就是根目录下的favicon.ico文件。
你将他喜欢修改就可以.大家都知道ecshop最大的特点是支持wap访问,所以mobile 目录理所当然的就是wap程序所在的目录。
如果要让ecshop支持wap访问,很简单。
我们必须在ecshop后台的系统设置里面,wap 设置里面开启wap功能就可以了。
ecshop初始化文件init.php组成和工作原理-讲座2ecshop初始化文件组成和工作原理,大家都知道,ecshop核心处理文件是在includes目录里面,包括ecshop支付插件,ecshop功能函数公共函数文件,ecshop配送方式插件等.甚至包括ecshop模板解析文件cls_template.php文件.ecshop中各个文件的初始化,引用。
二次开发资料整理转载来的 自己看着方便在模板文件中实现页面跳转<!--{eval echo '<li><a href="cp.php?ac=upload">文档上传演示</a> ';}-->摘要:写在前边,由于看不惯网上卖资料的,用自己的百度辛苦币买到的东西然后根据手头上有的资料做了一个稍微系统的整理,希望大家有自己开发经验的,我会持续更新的,永久免费,好好学习,多多益善,同时感谢做过开发的【枫芸志】其中有些资料版本是1.5的,在这一版本中给予改正。
版面约定:1.上下2.54cm ;左右1.91cm2.文字:宋体五号,代码注释小五courier new 代码为蓝色,注释为淡黄色当前版本v0.2V0.2 :2010-7-1更改布局,可以容纳更多信息,部分注释可以不用换行增加文件调用及功能介绍增加文本约定格式修改模板页面说明为2.0,但资料有待于完善目录【UCHome二次开发】uchome文件体系介绍 (4)站点结构图 (4)UCHOME安装后的主要目录与文件介绍 (4)文件入口参数列表及详细介绍 (5)数据调用图示 (8)do.php入口文件分析 (8)【UCHome二次开发】基础 (10)数据调用 (10)eval的使用 (10)直接外部文件do.php的扩展 (11)【UCHome二次开发】common.php文件解析 (12)common.php文件解析: (12)Common.php文件调用图示: (15)【UCHome二次开发】数据字典|数据库结构 (15)【UCHome二次开发】模板解析 (16)【UCHome二次开发】缓存机制解析 (18)【UCHome二次开发】模板语法说明 (21)【UCHome二次开发】模板页面说明 (23)【UCHome二次开发】主要文件说明 (26)【UCHome二次开发】模板修改 (29)【UCHome二次开发】功能修改 (29)【UCHome二次开发】全局变量 (34)$_SC:系统全局配置 (34)$_SCONFIG:个人空间配置 (35)$_SCOOKIE:Cookie信息 (39)$_COOKIE: Cookie信息 (39)$_SGLOBAL:各类全局信息 (39)$_SN:昵称信息 (56)$_TPL:未知 (56)$_SBLOCK:未知 (56)举例说明: (56)【UCHome二次开发】与UCenter的交互解析 (58)【UCHome二次开发】研究uchome通用方法 (59)【UCHome插件二次开发】不同于Manyou的开发模式 (65)基本原则 (66)【UCHome应用】增加sns人气的客服秘籍 (68)【UCHome二次开发】uchome文件体系介绍站点结构图UCHOME安装后的主要目录与文件介绍目录文件介绍admin/ 管理后台api/ API函数[插件开发与模板等的修改不需要动此文件]attachment/ 附件目录data/ 缓存目录,此目录要有777权限,系统相关缓存基本上都在这里了data/tpl_cache/ 模板缓存目录,注意,如果你的UCH白屏了,无法进入后台跟新缓存,通过FTP手工删除此目录下的所有文件即可相当于模板缓存的更新image/ 图片目录language/ 语言目录,跳转提示语言等source/ PHP源程序目录,类文件,分步处理文件template/ 模板目录theme/ 个人主页目录uc_client/ucenter 客户端 [插件开发与模板等的修改不需要动此文件]Install/ 安装时用到,安装完毕建议删除common.php 通用文件,所有的文件都要包含这个文件config.php 基本配置文件定义了$_SC数组和ucenter通讯的常量editor.php 编辑器的入口文件,强烈建议您不用动他network.php 随便看看等入口文件调用source文件夹下的 network.php文件文件入口参数列表及详细介绍文件入口文件详细动作admincp.php?ac=*后台管理入口文件调用admin文件夹下的php文件│ ├─admincp_ad.php广告设置│ ├─admincp_album.php相册│ ├─a dmincp_app.php UCenter应用│ ├─admincp_backup.php数据备份│ ├─admincp_block.php数据调用│ ├─admincp_blog.php日志│ ├─admincp_cache.php缓存更新│ ├─admincp_censor.php词语屏蔽│ ├─admincp_click.php表态动作│ ├─admi ncp_comment.php 评论/留言│ ├─admincp_config.php站点设置│ ├─admincp_credit.php积分规则│ ├─admincp_cron.php系统计划任务│ ├─admincp_doing.php记录│ ├─admincp_event.php活动│ ├─admincp_eventclass.php活动分类│ ├─a dmincp_feed.php 动态(feed)│ ├─admincp_hotuser.php推荐成员设置默认好友设置│ ├─admincp_index.php管理首页│ ├─admincp_ip.php访问IP设置│ ├─admincp_log.php系统log记录│ ├─admincp_magic.php道具设置│ ├─admincp_magiclog.php道具记录│ ├─admincp_mtag.php群组│ ├─admincp_network.php随便看看│ ├─admincp_pic.php图片│ ├─admincp_poll.php投票│ ├─admincp_post.php回帖│ ├─admincp_privacy.php隐私设置│ ├─admincp_profield.php群组栏目│ ├─admincp_prof ilefield.php 用户栏目│ ├─admincp_report.php举报│ ├─admincp_share.php分享│ ├─admincp_space.php用户管理│ ├─admincp_spam.php防灌水设置│ ├─admincp_stat.php统计更新│ ├─admincp_tag.php标签│ ├─admincp_task.php有奖任务│ ├─admincp_thread.php话题│ ├─admincp_userapp.php MYOP应用│ ├─admincp_usergroup.php用户组cp.php?ac=*编辑日志、相册、活动等等相关编辑操作基本上都从这个文件入口调用source文件夹下的操作文件│ ├─cp_advance.php高级管理│ ├─cp_album.php相册管理│ ├─cp_avatar.p hp 我的头像│ ├─cp_blog.php日志管理包含日志的编辑删除等信息│ ├─cp_class.php日志分类管理│ ├─cp_click.php表态动作的处理│ ├─cp_comment.php评论的操作│ ├─cp_common.php举报违规,在好友的面板上,还有屏蔽通知│ ├─cp_credit.php我的积分│ ├─cp_doing.php删除记录,回复spacenote│ ├─cp_domain.php│ ├─cp_event.php事件管理,活动管理│ ├─cp_feed.php│ ├─cp_friend.php好友管理│ ├─cp_import.php日志导入│ ├─cp_invite.php邀请好友│ ├─cp_magic.php道具的赠送购买│ ├─cp_mtag.php群组│ ├─cp_password.p hp 修改密码│ ├─cp_pm.php短消息操作│ ├─cp_poke.php打招呼│ ├─cp_poll.php投票│ ├─cp_privacy.php隐私筛选│ ├─cp_profile.php个人资料│ ├─cp_relatekw.php│ ├─cp_sendmail.php发送邮件│ ├─cp_share.php分享│ ├─cp_space.ph p 应用隐藏│ ├─cp_task.php任务│ ├─cp_theme.php个性化设置│ ├─cp_thread.php群组处理│ ├─cp_top.php│ ├─cp_topic.php│ ├─cp_upload.php│ ├─cp_userapp.php│ ├─cp_videophoto.phpdo.php?ac=* 登录、注册、找回密码、相册批量上传、在需要密码的情况下才能查看日志相册、验证码、发送邮件、统计、邮件验证等行为的入口文件 调用source 文件夹下的操作文件│ ├─do_ajax.php │ ├─do_emailcheck.php │ ├─do_inputpwd.php │ ├─do_login.php 登陆 │ ├─do_lostpasswd.php找回密码 │ ├─do_register.php注册│ ├─do_seccode.php │ ├─do_sendmail.php │ ├─do_stat.php │ ├─do_swfupload.php magic.php?mid=* 道具入口文件调用source 文件夹下的操作文件│ ├─magic_anonymous.php │ ├─magic_attachsize.php │ ├─magic_bgimage.php │ ├─magic_call.php │ ├─magic_color.php │ ├─magic_detector.php │ ├─magic_doodle.php │ ├─magic_downdateline.php │ ├─magic_flicker.php │ ├─magic_frame.php │ ├─magic_friendnum.php │ ├─magic_gift.php │ ├─magic_hot.php │ ├─magic_icon.php │ ├─magic_i nvisible.php │ ├─magic_reveal.php │ ├─magic_superstar.php │ ├─magic_thunder.php │ ├─magic_updateline.php │ ├─magic_viewmagic.php │ ├─magic_viewmagiclog.php │ ├─magic_viewvisitor.php │ ├─magic_visit.phpspace.php?do=*个人空间、日志、相册、活动等入口文件调用source 文件夹下的相关文件│ ├─space_album.php │ ├─space_blog.php│ ├─space_doing.php│ ├─space_event.php │ ├─space_feed.php │ ├─space_friend.php │ ├─space_index.php │ ├─space_info.php │ ├─space_mood.php │ ├─space_mtag.php │ ├─space_notice.php│ ├─space_pm.php│ ├─space_poll.php│ ├─space_share.php│ ├─space_tag.php│ ├─space_thread.php│ ├─space_top.php│ ├─space_topic.php│ ├─space_videophoto.php│ ├─space_wall.php数据调用图示我们一般修改UCH主要涉及的入口文件有space.php network.php do.php cp.php 这四个,那么我们如何根据你访问的URL判断涉及到那些PHP文件和模板文件,方便您的进一步修改!do.php入口文件分析举个例子,如果我们使用找回密码功能,通常链接如下:do.php?ac=lostpasswd,而注册的链接一般分两种,一种是do.php?ac=后台自定义登录识别名另一种是do.php?ac=随机好了,我们进入do.php文件中继续看看://这个是公用文件,在上篇已详细解释了内容include_once(‘./common.php‘);//获取方法获取do.php?ac中ac的值$ac = empty($_GET['ac'])?‖:$_GET['ac'];//自定义登录if($ac == $_SCONFIG['login_action']) {//这里的全局变量$_SCONFIG['login_action']就是ac=自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=login$ac = ‗login‘;} elseif($ac == ‗login‘) {ac = ‗‘;}if($ac == $_SCONFIG['register_action']) {//这里的全局变量$_SCONFIG['register_action']//就是ac=就是后面的自定义标示名或那个随机串,如果相同则把原来的do.php?ac=XXXX抓换成类似效果do.php?ac=register$ac = ‗register‘;} elseif($ac == ‗register‘) {$ac = ‖;}//允许的方法//这里很重要,login对应的是登录,register定义的是注册,lostpasswd定义的是找回密码,与上面访问的URL是否是对应上了//对应上面的do.php?ac=login,do.php?ac=register,do.php?ac=lostpasswd,其他类似!如果ac后的参数不在下面的数组中,则为非法。
最全的discuz二次开发讲解教程以下教程希望对各位读者有所帮助前言:为方便互联网数万Discuz!爱好者,更加深入了解Discuz!软件,本人在熟悉Discuz!过程中,顺便将个人经验写给大家。
本贴内容由本人定期更新。
本贴只介绍Discuz!中部分技术点,本贴紧属个人观点,不足之处,请各位多多指教,在下先此谢过!。
“Discuz!”在下文中简称“DZ”。
要弄DZ二次开发,必须至少具备如下技能:1)能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)2)扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳4)熟悉使用Discuz!的各项功能一)Discuz!的文件系统目录注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块b) Api:DZ系统与其它系统之间接口程序c) Archiver:DZ中,用以搜索引擎优化的无图版d) Attachments:DZ中,用户上传附件的存放目录e) Customavatars:DZ中,用户自定义头像的目录f) Forumdata:DZ缓存数据的存放目录g) Images:DZ模板中的图片存放目录h) Include:DZ常用函数库,基本功能模块目录i) Ipdata:DZ统计IP来路用的数据j) Plugins:DZ插件信息的存放目录k) Templates:DZ模板文件的存放目录l) Wap:DZ无线,Wap程序处理目录二)必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目文档(请从本贴附件中下载)三)Discuz!的流程控制a) 后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 || admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=dodo,相当于执行admin目录下的dodo.inc.php文件b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:首页:index.php会员注册:register.php;会员登录:logging.php发贴程序:post.php会员信息:member.php论坛内容:forumdisplay.php查看贴子:viewthread.php…大部分功能,此处不一一列出…c) DZ根目下的config.inc.php属于整个DZ系统的配置文件四)Discuz!的数据处理过程a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysql.class.php)类中b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理五)Discuz!的显示控制(网站多样式风格输出)a) 显示层就是大家通常所看到的网站风格了。
DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。
网站风格的制作,请参阅详细的DZ风格制作文档b) DZ网站风格文件处理的原理:其实很简单,DZ使用template.func.php中的parse_template()以PHP正则运算把htm模文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六)DZ中的语言处理a) DZ前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的*.lang.php文件中,DZ在生成网站风格时就加载了这相应的语言包。
七)DZ如何处理用户信息(存取、计算、更新过程)新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:a). $_DCACHEb). $_COOKIEc). $_DCOOKIEd). $_DSESSIONe). $_DPLUGINb) 可以通过print_r($GLOBALS),打印全部变量八)DZ中缓存处理机制a) DZ中缓存处理过程都放在“cache.func.php”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。
b) 使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:1)定义并注册缓存名字。
2)从数据读取相应的数据。
3)数据在写入缓存前作相应处理。
4)最后写入缓存。
具体操作,可以看文件中的代码,做相应的修改即可九)DZ中模板处理机制a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty 是一种重型模板引擎方案。
其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JA V A中的一次编译,多处运行。
十)DZ中权限处理机制a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。
至于后台的权限权验证,则更简单了,依据“admin==1”来确定的十一)DZ中如何实现URL静态化a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。
十二)DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。
实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。
这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码本贴声明:由于时间有限,本贴只有关于DZ部分功能的简短分析。
若各位网友,对本文感兴趣并想更为深入了解DZ,请在本贴后回贴!我将尽可能多的DZ技术分析写在本文,不断更新本贴内容。
部分文件说明:admincp.php 管理ajax.php ajax功能announcement.php 公告attachment 附件board.php 真正的首页config.inc.php 这个是配置文件corpus.php 论坛文集digest.php 精华帖子discuz_version.php 论坛版本号faq.php 问题列表forumdisplay.php 论坛列表index.php 跳转页面loggin.php 认证页面(登录退出)mail_config.inc.php 邮件配置member.php 用户操作memcp.php 个人控制面版misc.php 零碎功能my.php 我的帖子plugin.php 插件pm.php 短信post.php 发送帖子redirect.php 页面重定向register.php 注册robots.txt 限制搜索rss.php rss信息发布search.php 论坛查询secode.php 验证码stats.php 统计topic.php 首页论坛专题topicadmin 主题管理viewpro.php 显示个人信息viewthread.php 主题显示文件夹admin 管理api 接口archiver 文档attachments 附件customavatars 自定义表情forumdata 论坛数据包含缓冲数据images 图片include 公共文件install 安装包ipdata ip地址plugins 插件readme 帮助文档templates 模板utilities 工具包wap 手机网站文件夹include advertisements.inc.php 广告管理ajax.js ajax相关attachment.func.php 附件函数集bbscode.js 论坛表情cache.fun.php 缓存函数集category.inc.php 栏目chinese.class.phpcommon.inc.php 最主要的头文件common.js 最主要的js文件corpus.func.php 论坛文集函数counter.inc.php 论坛计数cron.func.php 计划任务db_mysql.class.php 数据库db_mysql_error.inc.php 数据库错误debug.php 调试信息discuzcode.func.php 论坛代码editor.func.php 编辑器editor.js 编辑器editpost.inc.php 编辑帖子floatadv.js 浮动广告forum.func.php 论坛函数集global.func.php 全局函数menu.js 菜单misc.func.php 其它newreply.inc.php 新回复newthread.inc.php 新主题*pmprompt.inc.phppost.fun.php 发表主题printable.inc.php 论坛打印qihoo.js qihoo relatethreads.inc.php 相关主题security.inc.php 安全sendmail.inc.php 邮件serverbusy.htm 系统繁忙template.func.php 模板threadpay.inc.php 购买帖子。