Documentation Index
Fetch the complete documentation index at: https://discuz.p.cafe/llms.txt
Use this file to discover all available pages before exploring further.
广告类
脚本位置: source/class/adv/adv_name.php
语言包位置: source/language/adv/lang_name.php
[Discuz! X3.0 新增]
脚本位置: source/plugin/插件目录/adv/adv_name.php
缩略图: source/plugin/插件目录/adv/adv_name.gif
<?php
class adv_name {
var $version = '1.0'; //脚本版本号
var $name = 'name'; //广告类型名称 (可填写语言包项目)
var $description = 'desc'; //广告类型说明 (可填写语言包项目)
var $copyright = 'Comsenz Inc.'; //版权 (可填写语言包项目)
var $targets = array('portal', 'home', 'member', 'forum', 'group', 'userapp', 'plugin', 'custom'); //广告类型适用的投放范围
var $imagesizes = array('120x60', '120x240'); //图片广告推荐大小
function getsetting() { //返回设置项目
$settings = array(
'text' => array(
'title' => 'text_title', //设置项目名称 (可填写语言项目)
'type' => 'mradio', //项目类型
'value' => array(), //项目选项
'default' => 0, //项目默认值
)
);
return $settings;
}
function setsetting(&$advnew, &$parameters) { //保存设置项目
}
function evalcode() { //广告显示时的运行代码
return array(
//检测广告是否投放时的代码
'check' => '
if(condition) {
$checked = false;
}',
//广告显示时的代码 (随机调用投放的广告)
'create' => '$adcode = $codes[$adids[array_rand($adids)]];',
);
}
}
?>
道具类
脚本位置: source/class/magic/magic_name.php
语言包位置: source/language/magic/lang_name.php
[Discuz! X3.0 新增]
脚本位置: source/plugin/插件目录/magic/magic_name.php
图标: source/plugin/插件目录/magic/magic_name.small.gif、source/plugin/插件目录/magic/magic_name.gif
<?php
class magic_name {
var $version = '1.0'; //脚本版本号
var $name = 'name'; //道具名称 (可填写语言包项目)
var $description = 'desc'; //道具说明 (可填写语言包项目)
var $price = '10'; //道具默认价格
var $weight = '10'; //道具默认重量
var $copyright = 'Comsenz Inc.'; //版权 (可填写语言包项目)
function getsetting() { //返回设置项目
$settings = array(
'text' => array(
'title' => 'text_title', //设置项目名称 (可填写语言项目)
'type' => 'mradio', //项目类型
'value' => array(), //项目选项
'default' => 0, //项目默认值
)
);
return $settings;
}
function setsetting(&$advnew, &$parameters) { //保存设置项目
}
function usesubmit($magic, $parameters) { //道具使用
}
function show($magic) { //道具显示
}
}
?>
任务类
脚本位置: source/class/task/task_name.php
语言包位置: source/language/task/lang_name.php
[Discuz! X3.0 新增]
脚本位置: source/plugin/插件目录/task/task_name.php
图标: source/plugin/插件目录/task/task_name.gif
<?php
class task_name {
var $version = '1.0'; //脚本版本号
var $name = 'name'; //任务名称 (可填写语言包项目)
var $description = 'desc'; //任务说明 (可填写语言包项目)
var $copyright = 'Comsenz Inc.'; //版权 (可填写语言包项目)
var $icon = ''; //默认图标
var $period = ''; //默认任务间隔周期
var $periodtype = 0; //默认任务间隔周期单位
var $conditions = array( //任务附加条件
'text' => array(
'title' => 'text_title', //设置项目名称 (可填写语言项目)
'type' => 'mradio', //项目类型
'value' => array(), //项目选项
'default' => 0, //项目默认值
'sort' => 'complete', //条件类型 (apply:申请任务条件 complete:完成任务条件)
),
);
function preprocess($task) { //申请任务成功后的附加处理
}
function csc($task = array()) { //判断任务是否完成
}
function sufprocess($task) { //完成任务后的附加处理
}
function view($task, $taskvars) { //任务显示
}
function install() { //任务安装的附加处理
}
function uninstall() { //任务卸载的附加处理
}
function upgrade() { //任务升级的附加处理
}
}
?>
验证问答类
脚本位置: source/class/secqaa/secqaa_name.php
语言包位置: source/language/secqaa/lang_name.php
[Discuz! X3.0 新增]
脚本位置: source/plugin/插件目录/secqaa/secqaa_name.php
<?php
class secqaa_name {
var $version = '1.0'; //脚本版本号
var $name = 'name'; //验证问答名称 (可填写语言包项目)
var $description = 'desc'; //验证问答说明 (可填写语言包项目)
var $copyright = 'Comsenz Inc.'; //版权 (可填写语言包项目)
function make(&$question) { //返回安全问答的答案和问题
}
}
?>
验证码类
[Discuz! X2.5 新增]
脚本位置: source/class/seccode/seccode_name.php
语言包位置: source/language/seccode/lang_name.php
[Discuz! X3.0 新增]
脚本位置: source/plugin/插件目录/seccode/seccode_name.php
<?php
class seccode_name {
var $version = '1.0'; //脚本版本号
var $name = 'name'; //验证码类型名称 (可填写语言包项目)
var $copyright = 'Comsenz Inc.'; //版权 (可填写语言包项目)
var $setting = array(); //后台设置后的变量
function check() { //检查输入的验证码,返回 true 表示通过
}
function make() { //输出验证码,echo 输出内容将显示在页面中
}
function image() { //纯图片验证码 URL,用于移动端显示(Discuz! X3.1 新增)
}
}
?>
DIY模块类
[Discuz! X3.5 新增]
脚本位置: source/plugin/插件目录/block
- blockclass.php 模块名称定义
- blockstyle.php 模块样式
- block_*.php 模块脚本
<?php
class block_sample_test extends discuz_block {
function __construct() {}
// 数据来源名称
function name() {
return 'test';
}
// 模块设置项
// title: 显示的名称
// type: 为类型,text, password, number, textarea, radio, select, mselect, mradio, mcheckbox, calendar
function getsetting() {
return array(
'content' => array(
'title' => 'blank_content',
'type' => 'mtextarea'
)
);
}
// 模块字段
// name: 字段名称
// formtype: 类型,text, textarea, date, title, summary, pic
// datatype 数据格式,string, int, date, title, summary, pic
function fields() {
return array(
'field' => array('name' => '示例字段', 'formtype' => 'text', 'datatype' => 'string')
);
}
// 模块参数
// 第一个值: 类所在的模块分类,通常为类名,_real 结尾时表示为实时模块,不缓存
// 第二个值: 模块分类显示的名称
function blockclass() {
return array('sample_test_real', 'test');
}
// 模块数据的返回脚本
// html 为返回的 HTML 内容,data 为返回的数组
function getdata($style, $parameter) {
return array('html' => $parameter['content'].time(), 'data' => null);
}
}
?>