www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/require/plan/team.php
<?php !function_exists('readover') && exit('Forbidden'); require_once(R_P.'require/credit.php'); @include_once(D_P.'data/bbscache/tm_config.php'); $creditType = GetCreditType(); $gids = 0; if (!empty($_tmconf['group'])) { $gids = implode(',',$_tmconf['group']); } $admindb = array(); $query = $db->query("SELECT m.uid,m.username,m.groupid,md.monthpost,md.monoltime,md.lastvisit,md.lastpost FROM pw_members m LEFT JOIN pw_memberdata md USING(uid) WHERE groupid IN($gids) ORDER BY groupid"); while ($rs = $db->fetch_array($query)) { $rs['lastvisit'] < $montime && $rs['monoltime'] = 0; $rs['lastpost'] < $montime && $rs['monthpost'] = 0; $admindb[$rs['username']] = array( 'uid' => $rs['uid'], 'groupid' => $rs['groupid'], 'monoltime' => round($rs['monoltime']/3600), 'monthpost' => $rs['monthpost'], 'total' => 0, 'arouse' => 0, ); } $query = $db->query("SELECT COUNT(*) AS count,username2 AS manager FROM pw_adminlog WHERE timestamp>'$montime' GROUP BY username2"); while ($rs = $db->fetch_array($query)) { if (isset($admindb[$rs['manager']])) { $admindb[$rs['manager']]['total'] = $rs['count']; } } foreach ($admindb as $key=>$value) { $gid = $value['groupid']; $admindb[$key]['assess'] = $value['total'] * $_tmconf['param']['opr'] + $value['monoltime'] * $_tmconf['param']['oltime'] + $value['monthpost'] * $_tmconf['param']['post']; $admindb[$key]['wages'] = $_tmconf['wages'][$gid]; foreach ($admindb[$key]['wages'] as $k=>$v) { $admindb[$key]['wages'][$k] += round($admindb[$key]['assess'] * $_tmconf['bonus'][$k]); } $admindb[$key]['assess'] < $_tmconf['eligibility'] && $admindb[$key]['arouse'] = 1; } $msg_a = array(); $msgdata = Char_cv($_tmconf['msgdata']); $arousemsg = Char_cv($_tmconf['arousemsg']); foreach ($admindb as $username => $value) { $uid = $value['uid']; $a_sql = $addcredit = ''; foreach ($value['wages'] as $k => $v) { if (empty($v) || !is_numeric($v)) continue; $addcredit .= ($addcredit ? ',' : '')."[color=#0000ff]{$v}[/color]".$creditType[$k]; if (is_numeric($k)) { $db->pw_update( "SELECT value FROM pw_membercredit WHERE uid='$uid' AND cid='$k'", "UPDATE pw_membercredit SET value=value+'$v' WHERE uid='$uid' AND cid='$k'", "INSERT INTO pw_membercredit (uid,cid,value) VALUES ('$uid','$k','$value')" ); } else { $k == 'rvrc' && $v *= 10; $a_sql .= ($a_sql ? ',' : '')."$k=$k+'$v'"; } } if (!empty($a_sql)) { $db->update("UPDATE pw_memberdata SET $a_sql WHERE uid='$uid'"); if ($_tmconf['arouse'] && $value['arouse'] || $_tmconf['ifmsg']) { $msg_a[] = array($uid,'0','SYSTEM','rebox','1',$timestamp,$_tmconf['msgtitle'], str_replace(array('$username','$db_bbsname','$credit','$time'),array($username,$db_bbsname,$addcredit, get_date($timestamp)),($_tmconf['arouse'] && $value['arouse']) ? $arousemsg : $msgdata)); } } } if ($msg_a) { require_once(R_P.'require/msg.php'); send_msgc($msg_a); } ?>