祝您生活愉快!
双十一买买买
步骤1) 添加一种新的红包类型4 ,
文件 admin/templates/bonus_type_info.htm
找到 <input type="radio" name="send_type" value="0" {if $bonus_arr.send_type eq 0} checked="true" {/if} onClick="showunit(0)" />{$lang.send_by[0]}
<input type="radio" name="send_type" value="1" {if $bonus_arr.send_type eq 1} checked="true" {/if} onClick="showunit(1)" />{$lang.send_by[1]}
<input type="radio" name="send_type" value="2" {if $bonus_arr.send_type eq 2} checked="true" {/if} onClick="showunit(2)" />{$lang.send_by[2]}
<input type="radio" name="send_type" value="3" {if $bonus_arr.send_type eq 3} checked="true" {/if} onClick="showunit(3)" />{$lang.send_by[3]}
再其后面添加
<input type="radio" name="send_type" value="4" {if $bonus_arr.send_type eq 4} checked="true" {/if} onClick="showunit(4)" />通用红包 多次使用
2) 生成这类红包字符串
增加文件 admin/templates/bonus_by_print_phpsir.htm
修改文件 admin/bonus.php 找到
elseif ($_REQUEST['send_by'] == SEND_BY_PRINT)
{
$smarty->assign('type_list',get_bonus_type())
$smarty->display('bonus_by_print.htm')
}
再其后添加
elseif ($_REQUEST['send_by'] == 4)
{
$smarty->assign('type_list',get_bonus_type_phpsir())
$smarty->display('bonus_by_print_phpsir.htm')
}
3) 增加 get_bonus_type_phpsir 函数
文件 admin/includes/lib_main.php
function get_bonus_type_phpsir()
{
$bonus = array()
$sql = 'SELECT type_id, type_name, type_money FROM ' . $GLOBALS['败碧ecs']->table('bonus_type') .
' WHERE send_type = 4'
$res = $GLOBALS['db']->query($sql)
while ($row = $GLOBALS['db']->fetchRow($res))
{
$bonus[$row['type_id']] = $row['type_name'].' [' .sprintf($GLOBALS['_CFG']['currency_format'], $row['type_money']).']'
}
return $bonus
}
4) 在 bonus.php 里面 找到
if ($_REQUEST['拆轿act'] == 'send_by_print')
{
...........................
}
再其后面添加,处理增加这类红包时候生成方法
if ($_REQUEST['act'] == 'send_by_print_phpsir')
{
@set_time_limit(0)
/* 红下红包的类型ID和生成的旅枯肆数量的处理 */
$bonus_typeid = !empty($_POST['bonus_type_id']) ? $_POST['bonus_type_id'] : 0
$bonus_sum= !empty($_POST['bonus_sum']) ? $_POST['bonus_sum'] : 1
/* 生成红包序列号 */
for ($i = 0, $j = 0$i <$bonus_sum$i++)
{
$bonus_sn = $_POST['bonus_txt']
$db->query("INSERT INTO ".$ecs->table('user_bonus')." (bonus_type_id, bonus_sn) VALUES('$bonus_typeid', '$bonus_sn')")
$j++
}
/* 记录管理员 *** 作 */
admin_log($bonus_sn, 'add', 'userbonus')
/* 清除缓存 */
clear_cache_files()
/* 提示信息 */
$link[0]['text'] = $_LANG['back_bonus_list']
$link[0]['href'] = 'bonus.php?act=bonus_list&bonus_type=' . $bonus_typeid
sys_msg($_LANG['creat_bonus'] . $j . $_LANG['creat_bonus_num'], 0, $link)
}
5) 修改 bonus.php 让后台显示红包内容
if ($_REQUEST['act'] == 'bonus_list')
{
...........................
}
和
if ($_REQUEST['act'] == 'query_bonus')
{
...........................
}
里面增加
if ($bonus_type['send_type'] == 4)
{
$smarty->assign('show_bonus_sn', 1)
}
至此 后台部分完成
前台部分 修改
includes/lib_order.php
function bonus_info($bonus_id, $bonus_sn = '')
{
$sql = "SELECT t.*, b.* " .
"FROM " . $GLOBALS['ecs']->table('bonus_type') . " AS t," .
$GLOBALS['ecs']->table('user_bonus') . " AS b " .
"WHERE t.type_id = b.bonus_type_id"
if ($bonus_id >0)
{
$sql .= " AND b.bonus_id = '$bonus_id'"
$row = $GLOBALS['db']->getRow($sql)
return $row
}
else
{
$sql .= " AND b.bonus_sn = '$bonus_sn'"
$row = $GLOBALS['db']->getRow($sql)
}
if($row['send_type'] == 4) // phpsir 如果是第4类型红包,那么就找一个未使用的红包,这种红包可被多次使用,不限制每人使用次数
{
$sess_userid = $_SESSION["user_id"]
$sql = "SELECT t.*, b.* " .
"FROM " . $GLOBALS['ecs']->table('bonus_type') . " AS t," .
$GLOBALS['ecs']->table('user_bonus') . " AS b " .
"WHERE t.type_id = b.bonus_type_id and b.used_time = 0 "
if ($bonus_id >0)
{
$sql .= "AND b.bonus_id = '$bonus_id'"
}
else
{
$sql .= "AND b.bonus_sn = '$bonus_sn'"
}
//print $sql
$row = $GLOBALS['db']->getRow($sql)
//var_dump($row)
return $row
}
// 如果想每人只使用N次,请用下面的部分
/*
if($row['send_type'] == 4) // phpsir 如果是第4类型红包,那么就找一个未使用的红包,这种红包可被多次使用,不限制每人使用次数
{
$sess_userid = $_SESSION["user_id"]
$sql = "SELECT t.*, b.* " .
"FROM " . $GLOBALS['ecs']->table('bonus_type') . " AS t," .
$GLOBALS['ecs']->table('user_bonus') . " AS b " .
"WHERE t.type_id = b.bonus_type_id and b.user_id = '$sess_userid' and b.bonus_sn = '$bonus_sn' "
$rows = $GLOBALS['db']->getAll($sql)
$allow_used_bonus_num = 2// 最大允许使用次数
if(count($rows) >= $allow_used_bonus_num )
{
return false
}else{
$sql = "SELECT t.*, b.* " .
"FROM " . $GLOBALS['ecs']->table('bonus_type') . " AS t," .
$GLOBALS['ecs']->table('user_bonus') . " AS b " .
"WHERE t.type_id = b.bonus_type_id and b.used_time = 0 and b.bonus_sn = '$bonus_sn' "
$row = $GLOBALS['db']->getRow($sql)
return $row
}
}
*/
return $row
}
注意不要用记事本修改php文件,建议下载dreamweaver
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)