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 ...
随机推荐
- C#删除图片问题
public Image GetImage(string path) { FileStream fs = new FileStream(path, FileMode.Open, FileAccess. ...
- 【Matplotlib】概要总览第一讲
之前一直使用 matplotlib, 但都是随用随查,现在特开此系列帖子已记录其学习过程. Matplotlib可能是Python 扩展包中仅有的最流行的 2D 绘图库.她不仅提供了快速的方式可视化P ...
- phpstudy2017版本的nginx 支持laravel 5.X配置
之前做开发和学习一直用phpstudy的mysql服务,确实很方便,开箱即用.QQ群交流:697028234 现在分享一下最新版本的phpstudy2017 laravel环境配置. 最新版的phps ...
- 动态更新ViewPager中的Fragment(替换Fragment)
1.最近做需求,遇到一个问题,一个Fragment中包含了一个ViewPager,viewPager中包含一adapter ,adapter中包含了4个Fragment.想要动态替换第3个Fragme ...
- 关于CMD中延迟环境变量嵌套的实现方法
在我昨天做的一个bat中(自动按日期重命名文件名)涉及到这方面的问题 以前涉及到这里时就想别的办法替代过去,今天好好扒出来说说: 实现变量嵌套的2种方法: 1,使用call实现变量嵌套 变量嵌套:即在 ...
- idea如何热部署(转)
IntelliJ IDEA 怎么热部署,每次修改java文件就得重启tomcat 原文链接:http://blog.csdn.net/dandandeshangni/article/details/ ...
- L181 The microscopic structure of a cat’s tongue helps keep its fur clean
T.S. eliot's mystery cat, Macavity, besides being a criminal mastermind able to evade the combined r ...
- L175 Endorestiform Nucleus: Scientist Just Discovered a New Part of the Human Brain
The newly named Endorestiform Nucleus sits in the inferior cerebellar小脑 peduncle, at the junction be ...
- react native遇到的坑
1.模拟器报错no bundle url present https://github.com/facebook/react-native/issues/12754 http://www.cnblog ...
- cousera 吴恩达 深度学习 第一课 第二周 作业 过拟合的表现
上图是课上的编程作业运行10000次迭代后,输出每一百次迭代 训练准确度和测试准确度的走势图,可以看到在600代左右测试准确度为最大的,74%左右, 然后掉到70%左右,再掉到68%左右,然后升到70 ...