dzx2上有个兑换商城插件,可惜不支持多次兑换,修改如下:
invole.inc.php是控制任务流程的文件,在其中 if($operation == 'join') { 下添加
//----------------------------限购限制和优惠政策--------------------------------------
$total_youhui = 0;
$no_limit = false;
$buycount = DB::result_first("SELECT COUNT(*) FROM ".DB::table('plugin_auctionapply')." WHERE tid='$tid' AND uid='{$_G[uid]}'");
$ppnum = DB::result_first("SELECT ppnum FROM ".DB::table('plugin_auction')." WHERE tid='$tid' ");
$ppnum = ceil($ppnum);
$youhui_meadl = array( 26=>5 , 21=>3 , 16=>2 , 14=>2);
$youhui_names = array( 26=>'摩信卡' , 21=>'龙猫' , 16=>'百周猫' ,14=>'晶灵猫');
$nolimit_meadl = array(26);
$cur_user_medal = DB::result_first("SELECT medals FROM ".DB::table('common_member_field_forum')." WHERE uid='{$_G[uid]}'");
$cur_user_medals = explode("\t" , $cur_user_medal);
foreach ($cur_user_medals as $medalid)
{
if(key_exists($medalid, $youhui_meadl))
{
$total_youhui += $youhui_meadl[$medalid];
$tips_youhui .= $youhui_names[$medalid]."抵扣".$youhui_meadl[$medalid]."% ";
}
if(in_array($medalid, $nolimit_meadl))
$no_limit = true;
}
$total_youhui = (100 - ceil($total_youhui))/100;
if($total_youhui != 1)
{
$tips_youhui = " ( ".$tips_youhui.") ";
}
//--------------------------------end-------------------------------------------------
$youhui_meadl 是 勋章id=>抵扣的百分比
$youhui_names是 勋章id=>勋章名字
$total_youhui 是计算后总共的优惠百分比的值
$nolimit_medal 没有购买限制的勋章id
在把这条数据插入到数据库之前,即DB::insert('plugin_auctionapply', $data);之前也需添加,但此时不需要购买限制的代码
//----------------------------限购限制和优惠政策--------------------------------------
$uid = $list_1['uid'];
$total_youhui = 0;
$youhui_meadl = array( 26=>5 , 21=>3 , 16=>2 , 14=>2);
$youhui_names = array( 26=>'摩信卡' , 21=>'龙猫' , 16=>'百周猫' ,14=>'晶灵猫');
$nolimit_meadl = array(26);
$cur_user_medal = DB::result_first("SELECT medals FROM ".DB::table('common_member_field_forum')." WHERE uid='{$_G['uid']}'");
$cur_user_medals = explode("\t" , $cur_user_medal);
foreach ($cur_user_medals as $medalid)
{
if(key_exists($medalid, $youhui_meadl))
$total_youhui += $youhui_meadl[$medalid];
}
$total_youhui = (100 - ceil($total_youhui))/100;
//--------------------------------end-------------------------------------------------
在数据库plugin_auctionapply中需添加一个字段ppnum,以便在发起活动事设置每人限制购买的次数,applyid是唯一属性的,需去除。
在thread.class.php中接受表单数据时,插入到数据库,分别在getauc_gpc方法和newthread_submit_end方法中添加代码。