Discuz 任务、道具、任务和验证类插件制作
一、广告类
脚本位置:source/class/adv/adv_name.php
语言包位置:source/language/adv/lang_name.php
<?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
<?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
<?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()) {//判断任务是否完成 (返回 TRUE:成功 FALSE:失败 0:任务进行中进度未知或尚未开始 大于0的正数:任务进行中返回任务进度)
} 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
<?php class seccode_name { var $version = '1.0';//脚本版本号
var $name = 'name';//验证码类型名称 (可填写语言包项目)
var $copyright = 'Comsenz Inc.';//版权 (可填写语言包项目)
var $setting = array();//后台设置后的变量 function check($value, $idhash) {//检查输入的验证码,返回 true 表示通过
} function make() {//输出验证码,echo 输出内容将显示在页面中
} } ?>
Discuz 任务、道具、任务和验证类插件制作的更多相关文章
- JavaScript 数据验证类
JavaScript 数据验证类 /* JavaScript:验证类 author:杨波 date:20160323 1.用户名验证 2.密码验证 3.重复密码验证 4.邮箱验证 5.手机号验证 6. ...
- C# 通用验证类 支持 WPF,MVC,Winform
验证方式, 通过继承 IDataErrorInfo接口 和 DataAnnotations 解释标记语言而实现, 为了能在WPF上通用,所了也要继承属性更改通知接口INotifyPropertyC ...
- C# - DataValid数据验证类
从EasyCode 摘取下来的数据验证类 using System; using System.Collections.Generic; using System.Text; namespace Le ...
- jquery表单验证使用插件formValidator
JQuery表单验证使用插件formValidator 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-10我要评论 jquery表单验证使用插件formValidator,可供有需求 ...
- php表单数据验证类
非常好用方便的表单数据验证类 <?php //验证类 class Fun{ function isEmpty($val) { if (!is_string($val)) return false ...
- C# System.Attribute(验证类)
本文以一个项目中通用的验证类来举例说明如何使用自定义Attribute来扩展元数据. 在项目中,我们为了保证各个层次之间的松藕合,通常把在各个层次之间传递数据的封装在一个称为实体类的类中,比如Act ...
- JS表单验证类HTML代码实例
以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...
- 一个PHP常用表单验证类(基于正则)
一个基于正则表达式的PHP常用表单验证类,作者:欣然随风.这个表单判断类的功能有:验证是否为指定长度的字母/数字组合.验证是否为指定长度汉字.身 份证号码验证.是否是指定长度的数字.验证邮件地址.电话 ...
- PHP - 验证类
<?php /** * 验证类 * * @lastmodify 2014-5-16 * @author jy625 */ class VerifyAction{ /** * 是否为空值 */ p ...
随机推荐
- 【hive】时间段为五分钟的统计
问题内容 今天遇到了一个需求,需求就是时间段为5分钟的统计.有数据的时间戳.对成交单量进行统计. 想法思路 因为数据有时间戳,可以通过from_unixtime()来获取具体的时间. 有了具体的时间, ...
- Linux下各文件夹的含义和用途
Linux根目录”/“下各个系统文件夹的含义和用途 1./boot 该目录默认下存放的是Linux的启动文件和内核. 2./initrd 它的英文含义是boot loader initialized ...
- Python基础学习----参数和返回值
# 函数的参数和返回值 # 4种组合方式 # 1.无参无返 # def methodone(): # 2.无参有返 def methodtwo(): a=10 return a # 3.有参无返 # ...
- L3-014 周游世界 (30 分)
周游世界是件浪漫事,但规划旅行路线就不一定了…… 全世界有成千上万条航线.铁路线.大巴线,令人眼花缭乱.所以旅行社会选择部分运输公司组成联盟,每家公司提供一条线路,然后帮助客户规划由联盟内企业支持的旅 ...
- 升级到SQL Server 2012/2014时一些需要考虑的事项
1. 使用Upgrade Adviser评估升级前需要解决的事情. https://msdn.microsoft.com/zh-cn/library/ms144256(v=sql.110).aspx ...
- Android分类导航
新的一年,将在2017下半年所写的博文作了个总结,也是方便自己以后查阅,整理完也是发现在这半年而是学到了许多,新的一年,继续努力! 我的第一个Android开源库——CirclePointMove中文 ...
- Linux菜鸟入门级命令大全
1. man 对你熟悉或不熟悉的命令提供帮助解释eg:man ls 就可以查看ls相关的用法注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行.2. ls 查看目录或者 ...
- linux环境下git的安装配置
1.查看git的最新版本: 查看最新版git:访问https://www.kernel.org/pub/software/scm/git/或者https://github.com/git/git/re ...
- oracle之 关闭透明大页
方法一: 1.设置/etc/grub.conf文件,添加 transparent_hugepage=never ,在系统启动是禁用 [root@hbdw1 ~]# cat /etc/grub.conf ...
- bzoj 5020(洛谷4546) [THUWC 2017]在美妙的数学王国中畅游——LCT+泰勒展开
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5020 https://www.luogu.org/problemnew/show/P4546 ...