www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/require/plan/medal.php

    <?php
!function_exists('readover') && exit('Forbidden');
$query = $db->query("SELECT id,awardee,level FROM pw_medalslogs WHERE action='1' AND state='0' AND timelimit>0 AND $timestamp-awardtime>timelimit*2592000");
$medaldb = $namedb = array();
while ($rt = $db->fetch_array($query)) {
	Add_S($rt);
	$medaldb[$rt['awardee']][] = array($rt['id'],$rt['level']);
	$namedb[] = $rt['awardee'];
}
if ($namedb) {
	include_once(R_P.'require/msg.php');
	include_once(D_P.'data/bbscache/medaldb.php');
	$namedb = array_unique($namedb);
	$usernames = "'".implode("','",$namedb)."'";
	include(GetLang('msg'));
	$lang['medal_reason'] && $reason = Char_cv($lang['medal_reason']);
	$query = $db->query("SELECT uid,username,medals FROM pw_members WHERE username IN($usernames)");
	$ids = '';
	while ($rt = $db->fetch_array($query)) {
		Add_S($rt);
		$medals = ",".$rt['medals'].",";
		$medalname = '';
		foreach ($medaldb[$rt['username']] as $key => $value) {
			$ids .= $ids ? ','.$value[0] : $value[0];
			$medal = $value[1];
			$db->update("INSERT INTO pw_medalslogs(awardee,awarder,awardtime,level,action,why) VALUES('$rt[username]','SYSTEM','$timestamp','$medal','2','$reason')");
			$medals = str_replace(",$medal,",',',$medals);
			$medalname .= $medalname ? ','.$_MEDALDB[$medal]['name'] : $_MEDALDB[$medal]['name'];
		}
		$message = array(
			$rt['username'],
			0,
			'metal_cancel',
			$timestamp,
			"metal_cancel_text",
			'N',
			''
		);
		writenewmsg($message,1);
		$medals = substr($medals,1,-1);
		$db->update("UPDATE pw_members SET medals='$medals' WHERE uid='$rt[uid]'");
	}
	$ids && $db->update("UPDATE pw_medalslogs SET state='1' WHERE id IN($ids)");
	updatemedal_list();
}
function updatemedal_list(){
	global $db;
	$query   = $db->query("SELECT uid,medals FROM pw_members WHERE medals!=''");
	$medaldb = '<?php die;?>0';
	while ($rt = $db->fetch_array($query)) {
		if (str_replace(',','',$rt['medals'])) {
			$medaldb .= ','.$rt['uid'];
		}
	}
	writeover(D_P.'data/bbscache/medals_list.php',$medaldb);
}
?>