插件名称: 节日红包 V2.1
适用版本: Discuz 5.5
语言编码: GBK
插件作者: [DST - Plugin Group] kelystor(小龙虾)
更新历史:
6月27日更新:
增加“指定发放红包”,可以给指定的几个会员发放红包(应一位客户要求做的,现在也提供给大家)
修正可领取红包数显示错误的问题(论坛之星红包和每日红包)
修正一处刷分漏洞(不严重,大家不必担心,担心的话,赶紧更新)
版本升级至2.1
6月19日更新:
删除领取记录(鉴于领取记录的重要性及站长对此插件的熟悉程度,分出了三种等级的删除方式)
查看领取记录时,增加像查看版块贴子一样的排序功能
增加红包显示排序功能(彻底解决红包的显示顺序问题)
增加“克隆红包”功能
增加“发贴之星”这样的特殊红包,奖励活跃参与发贴的会员
增加“每时红包”,红包在每个小时自动更新,在一天内,会员不能重复领取每时红包
增加“自主发放红包”功能,会员向管理员提交发放红包的申请(在某个贴子中回复的会员,可以领取该红包),管理员通过审核后,在会员领取红包时,逐一扣除用户的积分来发放红包
修复了1.5版的几个小bug,另外也增加了一些便捷操作选项。
版本升级至2.0
4月16日更新:
修正若干个小bug
4月11日更新:
领取红包首页,活动和投票红包对应的贴子链接无效
不管原先的“允许的用户组”如何设置,对红包进行编辑的时候,都会默认选中“全部”用户组
领取红包的页面,没有正常显示用户组限制信息(但不影响正常使用)
领取红包首页,允许的用户组信息显示有bug,如果设置了允许用户组,除了设置成“全部”外,只会正常显示第一个其他用户限制的信息(但不影响正常使用)
请大家及时下载更新程序,重新覆盖即可
4月10日更新
去掉了调试代码,去除冗余代码
感谢网友寂寞吧台发现这个bug,由于我没有将一些调试用的代码删除,所以才出现这个问题。如果使用活动红包出现问题(白屏)的朋友,可以下载本压缩包,重新覆盖文件即可解决。
或者直接打开plugins\getmoney下的money.inc.php,找到var_dump($hsubject);一行,将:
var_dump($hsubject);
dexit();
去掉就OK了。
很抱歉我的疏忽给大家造成麻烦。
4月9日更新
改进时间判断方式,解决时区问题(当然,时区问题是不是真的解决了还得靠大家测试一下)
改进时间范围,精确到时分
使用DZ系统自带的计划任务来重置每日红包数,更准确且适用面更广。
增加用户组限制,只有指定的用户组才能领取红包(这个可以用来给版主发放工资^-^)
增加“删除红包”功能
增加“删除记录”功能
增加已领取数量清零的功能。同时,改进编辑更改红包可领取总数目与已领取红包数量相挂钩的一些问题
将领取红包功能与活动和投票贴整合在一起,可以为这两种贴子设置具体的红包奖励,有参加活动和投票的会员才可以领取
其他细致调整,如分页数目和排序方式等
版本升级到1.5
3月30日9:30更新
修正安装程序找不到discuz_plugin_get_money.txt的bug
3月29日23:00更新
修正没有领取记录时,出现红包首页排行榜轮换的js错误
修正在编辑红包的时候,漏掉了像添加红包时所拥有的即时显示对应积分标题的功能
修正编辑红包页面的一处提示错误
修正轮换排行榜js的兼容性及小错误
修正安装程序和主程序中没有正确判定非cdb_表前缀的问题
修正安装程序中SQL语句的一个小bug
修正添加红包自动发送公告功能的一个小bug
其他若干小修正
增加一个特殊红包“每日红包”,可以每天发放固定数量的红包给会员
安装使用方法:
如果先前没有安装过该插件的朋友,请下载程序压缩包解压后,将所有文件(文件夹)按目录结构拷贝至论坛根目录,运行money_install.php按照提示进行安装。安装完成后,进入系统后台更新缓存,即可使用。如果想卸载插件,只要再次money_install.php,按照提示即可完成卸载。
如何从1.5版本升级至2.1版本?
直接使用2.1版本,按照1.5升级到2.0的方法升级即可
如何从2.0版本升级至2.1版本?
非常简单,按目录结构上传include、plugins、templates这三个文件夹中的文件到论坛中一样的位置覆盖原来的文件即可完成升级。升级完成后,请进入系统后台,更新缓存。
如何从1.5版本升级至2.0版本?
升级有风险,请先备份论坛数据(如果您不想备份整个论坛的数据,请至少备份cdb_plugins_money_info和cdb_plugins_money_log这两个表的数据),并严格按照下面的升级步骤进行升级。
一、进入系统后台,将红包插件置为不可用
二、运行下列的SQL语句升级数据库(表前缀请根据自己论坛的情况进行修改)- ALTER TABLE cdb_plugins_money_info ADD hdisplayorder tinyint(1) NOT NULL default '0';
- ALTER TABLE cdb_plugins_money_info ADD huid mediumint(8) unsigned NOT NULL default '0';
- ALTER TABLE cdb_plugins_money_info ADD husername char(15) NOT NULL default '';
- ALTER TABLE cdb_plugins_money_log ADD INDEX ( hcredits );
- ALTER TABLE cdb_plugins_money_log ADD INDEX ( hname );
- ALTER TABLE cdb_plugins_money_log ADD INDEX ( username );
- INSERT INTO cdb_crons (available,type,name,filename,weekday,
- day,hour,minute) VALUES (1, 'user', '重置每时红包', 'getmoney_reset_hourly.inc.php', -1, -1, -1, '0');
- INSERT INTO cdb_plugins_money_info (hname,hexplain,hstart,hend,hcredits,hspecial,htid,htype,hnummin,hnummax,hrand,hgender,hregdeny,hpostsdeny,hcreditsdeny,htimesdeny,hgroups,hgettimes,hgetnumcount,hishide,hdisplayorder,huid,husername) VALUES ('论坛之星红包','',0,0,'extcredits2',5,0,0,10,50,1,3,0,0,0,3,'',-1,0,0,5,0,'');
- INSERT INTO cdb_plugins_money_info (hname,hexplain,hstart,hend,hcredits,hspecial,htid,htype,hnummin,hnummax,hrand,hgender,hregdeny,hpostsdeny,hcreditsdeny,htimesdeny,hgroups,hgettimes,hgetnumcount,hishide,hdisplayorder,huid,husername) VALUES ('每时红包','每个小时都有红包可以领,会员领完自己的红包后,一天内就不能再领。',0,0,'extcredits2',6,0,0,20,30,1,3,0,0,0,3,'',10,0,0,8,0,'');
复制代码 三、将压缩包中的文件解压后,按目录结构上传include、plugins、templates这三个文件夹中的文件到论坛中一样的位置
四、在系统后台删除红包插件信息,并重新导入discuz_plugin_get_money.txt中的插件配置信息
五、由于新版本新增了一些插件配置信息,请务必根据自己的实际情况进行相应的设置
六、更新系统缓存
七、由于新版本增加了一些功能,所以请根据自己的实际情况在前台调整各个红包的设置
八、一切完成,反馈使用情况或bug
如何升级到最新的1.5版本?
如果已经安装过(3月29日23:00之前安装过的)该插件的朋友,请下载压缩包解压后,将plugins和templates目录下的所有文件覆盖论坛相同位置的文件。
覆盖完成后,运行下列的SQL语句,即可增加特殊红包“每日红包”功能:- INSERT INTO cdb_plugins_money_info
- (hname, hexplain, hstart, hend, hcredits, hspecial, htype,
- hnummin, hnummax, hrand, hgender, hregdeny, hpostsdeny,
- hcreditsdeny, htimesdeny, hgettimes, hgetnumcount, hishide)
- VALUES
- ('每日红包', '每天发放固定数量的红包', 0, 0, 'extcredits2',
- 2, 0, 100, 200, 2, 3, 0, 0, 0, 2, 100, 0, 0);
复制代码 如果表前缀不是默认的cdb_,请自行修改,再运行这个SQL语句
接着再按照3月30日版本的方法进行升级。(参看下面)
如果是升级到(安装)3月30日版本的朋友,请下载压缩包解压后,将include、plugins和templates目录下的所有文件覆盖论坛相同位置的文件。
覆盖完成后,运行下列的SQL语句:- ALTER TABLE cdb_plugins_money_info ADD htid mediumint(8) unsigned NOT NULL default '0' AFTER hspecial;
- ALTER TABLE cdb_plugins_money_info ADD hgroups text NOT NULL AFTER htimesdeny;
- ALTER TABLE cdb_plugins_money_log ADD htid mediumint(8) unsigned NOT NULL default '0' AFTER hlnum;
- ALTER TABLE cdb_plugins_money_log ADD hsubject varchar(80) NOT NULL default '' AFTER htid;
- ALTER TABLE cdb_plugins_money_log ADD hisdel tinyint NOT NULL default 0;
- INSERT INTO cdb_crons (available,type,name,filename,weekday,day,hour,minute) VALUES (1, 'user', '清空每日红包', 'getmoney_reset.inc.php', -1, -1, 0, '0');
复制代码 如果表前缀不是默认的cdb_,请自行修改,再运行这个SQL语句
进入系统后台,将红包插件的删除,重新导入以下插件信息:- # Discuz! Plugin Dump
- # Version: Discuz! 5.5.0
- # Time: 2007-4-9 11:00
- # From: Discuz! Board ([url]http://www.xmulife.cn[/url])
- #
- # Discuz! Community: [url]http://www.Discuz.net[/url]
- # Please visit our website for latest news about Discuz!
- # --------------------------------------------------------
- YTozOntzOjY6InBsdWdpbiI7YTo5OntzOjk6ImF2YWlsYWJsZSI7czoxOiIx
- IjtzOjc6ImFkbWluaWQiO3M6MToiMSI7czo0OiJuYW1lIjtzOjg6IsHsyKG6
- 7LD8IjtzOjEwOiJpZGVudGlmaWVyIjtzOjk6ImdldF9tb25leSI7czoxMToi
- ZGVzY3JpcHRpb24iO3M6MzE6IrDmsb6jujEuNQ0Kv8nS1Mnotqi92sjVt6K3
- xbrssPwiO3M6MTA6ImRhdGF0YWJsZXMiO3M6MDoiIjtzOjk6ImRpcmVjdG9y
- eSI7czo5OiJnZXRtb25leS8iO3M6OToiY29weXJpZ2h0IjtzOjIwOiJEZXNp
- Z25lZCBieSBrZWx5c3RvciI7czo3OiJtb2R1bGVzIjtzOjEzMDoiYToxOntp
- OjA7YTo1OntzOjQ6Im5hbWUiO3M6NToibW9uZXkiO3M6NDoibWVudSI7czo4
- OiLB7Mihuuyw/CI7czo0OiJ0eXBlIjtzOjE6IjIiO3M6NzoiYWRtaW5pZCI7
- czoxOiIwIjtzOjEyOiJkaXNwbGF5b3JkZXIiO2k6MDt9fSI7fXM6NzoidmVy
- c2lvbiI7czo1OiI1LjUuMCI7czo0OiJ2YXJzIjthOjE6e2k6MDthOjc6e3M6
- MTI6ImRpc3BsYXlvcmRlciI7czoxOiIwIjtzOjU6InRpdGxlIjtzOjE2OiK/
- qsb0w7/I1brssPzKsbbOIjtzOjExOiJkZXNjcmlwdGlvbiI7czoxMjI6IrG+
- uabE3L+qxvTU8sO/yNW67LD8v8nS1NPQw7/I1cHsyKG1xMqxvOS2zqGjDQq/
- qsb0uvOjrMfrseC8rcO/yNW67LD8o6y9q7rssPy3orfFtcTG8Mq8yrG85LrN
- 1tXWucqxvOTJ6NbDzqq98czstcTSu7j2yrG85LbOIjtzOjg6InZhcmlhYmxl
- IjtzOjEyOiJldmVyeWRheXRpbWUiO3M6NDoidHlwZSI7czo1OiJyYWRpbyI7
- czo1OiJ2YWx1ZSI7czoxOiIwIjtzOjU6ImV4dHJhIjtzOjA6IiI7fX19
复制代码 完成后,更新系统缓存,即可开始使用。
另外,最好也删除forumdata\cache下的getmoney_moneynum_rank.php,以便更新红包插件的缓存信息(否则排行榜上可能会出现lastget的字样)。不删除关系也不大,因为缓存会在会员领红包的时候自动更新。但我还是建议大家删除getmoney_moneynum_rank.php。
节日红包插件简介:
节日红包插件主要是用来活跃论坛会员的积分,由管理员添加特定日期(特定日期可以是春节,五一,十一,情人节,圣诞节等)的节日红包,给予论坛会员发放论坛扩展积分作为奖励。相对于过去使用银行的发放节日奖励方式,本插件要求会员在特定的日期内登录社区,才能领取奖励。一旦错过时间,就无法领取。可以提高会员参与关注论坛的积极性。
插件功能创意:
1.可定制用来作为奖励积分的扩展积分项
2.可定制红包内钱数(可选择固定值或随机值)
3.可设置管理层(版主,超级版主,管理员)领取的红包钱数为普通会员的N倍
4.可以限定红包的总数量,先到先得,后到没有
5.可以限定每个人最多可以领取的红包数目
6.可以进行条件限定(如注册天数限制,性别限制,发贴数限制,用户组等),只有满足条件的会员才能领取红包
7.红包与论坛公告相结合,在添加新红包的同时,可以同时添加公告,方便大家知道红包的发放情况
8.每一次领取红包都有记录,会员可以查看自己的红包领取记录,管理员可以查看全部的领取记录
9.轮换的排行榜,在节日红包首页,会定时轮换显示领取红包各项信息的排行榜
10.自带特殊红包——生日红包(以后还可以增加其他的特殊红包),只有会员在生日的那一天登录论坛才能领取。插件会记录领取操作,防止更改生日时间重复领取的行为
11.自带特殊红包——投票红包和活动红包。将领取红包功能与活动和投票贴整合在一起,可以为这两种贴子设置具体的红包奖励,有参加活动和投票的会员才可以领取,可以调动会员参与投票和活动的积极性
12.自带特殊红包——每时红包,每小时都可以领取红包,但在超过领取数目的时候,会员在同一天将不能再领取
13.自带特殊红包——论坛之星红包,用来奖励发贴勤奋的会员,调动大家发贴的积极性
14.更多功能不再列举
FAQ
Q1:生日红包会不会造成会员更改生日后重复领取?
A1:这个程序对生日的控制力度不是很严。比如,现在的设定是总共可以领取两个生日红包。但你今天领了一包,到明天改一下生日也还是可以领剩下的一包(当然两包都领完了就不能再领了,只能等到明年)。因为我个人觉得本来这就是虚拟的东西,没必要太严格(如果有会员热衷这个,似乎也不是坏事)。如果你怕别人领多了,就把金额和领取包数设小了就OK了。
我对生日的控制不想太严(严格的也可以实现,只是逻辑稍烦一点),就像游戏中留了一个小后门,也就变成了密技,倒可以使游戏者多点乐趣,呵。
Q2:可以设置成一年只能领取一次生日红包吗?
A2:这个有变相的解决方法。你可以这样设置:把领取包数设置成1,然后领取红包值适当设大一点就一样了,呵。而且这样子,也可以达到锁定生日的目的。一旦会员用一个生日领取红包后,即使在控制面板中再次修改生日日期也无法再次领取了(只能等到下一年)。
Q3:每日红包具体是怎么样的?
A3:每日红包是每天可以向会员发放固定数量的红包,可以说是先到先得,后到没有,而且每日红包会每天自动补充红包数目,即每天都会有设定好的数量的红包可以领取,相信这个红包可以活跃会员的参与行为。
Q4:我在使用安装程序进行安装的时候看到执行的SQL里头表前缀是cdb_,可是我的表前缀不是cdb_的,请问我需要更改里头的SQL语句吗?
A4:没有必要修改。安装程序只是按默认设置给出SQL语句,真正执行的时候,会把表前缀替换成你论坛所用的表前缀,只要继续执行安装程序即可。
Q5:每日红包能够设置领取时间段吗?比如我想设置成每天早上8点到晚上12点这段时间才能领取?
A5:可以的,该插件已经做了这个考虑。不过,要具体使用该功能,还得费一番周折。
设置方法:
一、在后台的红包插件设置中将“开启每日红包时段”选择为“是”
二、编辑生日红包,将红包发放的起始时间和终止时间设置为今天的一个时间段。比如今天日期是2007-4-6,那么可以设置为【起始时间】 2007-4-6 08:00【终止时间】 2007-4-6 23:59,那么每日红包将会在第二天自动更新领取时间,并重新填满可领取的红包数目。
这个功能目前可以说还处于试验期,所以不敢十分保证其效果。当然,我很希望大家能够把该功能的使用情况反馈给我,让我能够更好的了解具体的运行状况。如果该功能无效,可以把设置改为原来的样子。
Q6:时区问题在1.5版本中解决了吗?是否会出现判断不准确的情况?
A6:这个版本对时区问题进行了改进,所有时间对比都采用论坛设置的时区偏差,并参照DZ计划任务中的方法来生成时间戳,相信时区问题会有所改善,但具体是不是解决了,还得看实际使用的效果,这里很希望大家能够把使用情况反馈给我。
Q7:为什么安装(升级)完成后,论坛之星红包的说明是空的?
A7:论坛之星是发放给昨日论坛之星的,请等到第二天,论坛之星红包会自动更新,它的说明也会变成论坛之星的信息。
Q8:为什么安装(升级)完成后,每时红包没有每小时都更新?
A8:由于程序只是往计划任务表中插入相关的记录,所以可能存在一些不理想的情况。可以静待第二天再观察,问题依旧的话,请进入系统后台,在“其它设置”的“计划任务”中查看“重置每时红包”一项,点击“立即执行”,再静待观察变化。
有关“删除红包领取记录”的说明:
在领取记录的操作中,会员跟管理员的差别在于,会员仅能看到(操作)自己的领取记录,而管理员能够看到(操作)全部的。
会员删除自己的记录时,并不是真正的删除,仅仅是给该记录打上删除标记。而管理员则可以选择打上删除标记还是真正的删除(取决于所选择的删除模式)。
由于数据来源于同一张表,一旦管理员删除了记录(或者是给记录打上删除标记)就等于把会员的领取记录也删了(或者是也打上删除标记了),所以删除记录的时候请慎重考虑。
这里建议大家最多用到“高级模式”,不要随便使用“专家模式”,除非你很清楚记录的来龙去脉。
演示及技术支持网站:http://bbs.xmulife.cn/plugin.php ... _money&module=money
插件截图:
DZ6.0版的红包插件,请到这里下载:https://discuz.dismall.com/viewthread.php?tid=724128
另外,如果大家要使用这个版本,请下载最下面的money0627.rar(其他版本仅作存档,所以设置了高的阅读权限,这个给大家造成了一些困扰,导致有些人没有注意,没有下载没有阅读权限的最新版本,所以特此说明一下)
[ 本帖最后由 kelystor 于 2007-8-30 10:23 编辑 ] |