/** * 获取个人空间左侧栏信息 */ function getAppleftinfo($u, $type = false) { global $db, $db_plist, $winduid, $db_upgrade, $credit; $userdb = array(); $userdb = $db->get_one("SELECT m.uid,m.username,m.email,m.groupid,m.icon,md.rvrc,md.money,md.credit,md.currency,md.digests,md.postnum,md.lastpost,md.onlinetime,ud.diarynum,ud.photonum,ud.owritenum,ud.groupnum,ud.sharenum,ud.diary_lastpost,ud.photo_lastpost,ud.owrite_lastpost,ud.group_lastpost,ud.share_lastpost FROM pw_members m LEFT JOIN pw_memberdata md ON m.uid=md.uid LEFT JOIN pw_ouserdata ud ON m.uid=ud.uid WHERE m.uid=" . pwEscape($u)); $ismyfriend = isFriend($winduid, $u); $friendcheck = getstatus($userdb['userstatus'], 3, 3); // $usericon = showfacedesign($userdb['icon'],true); list($usericon) = showfacedesign($userdb['icon'], 1, 'm'); $usercredit = array('postnum' => $userdb['postnum'], 'digests' => $userdb['digests'], 'rvrc' => $userdb['rvrc'], 'money' => $userdb['money'], 'credit' => $userdb['credit'], 'currency' => $userdb['currency'], 'onlinetime' => $userdb['onlinetime']); foreach ($credit->get($userdb['uid'], 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } $totalcredit = CalculateCredit($usercredit, unserialize($db_upgrade)); $userdb['rvrc'] /= 10; $app_with_count = array('topic', 'diary', 'photo', 'owrite', 'group', 'share'); foreach ($app_with_count as $key => $value) { $postnum = $posttime = ''; $appcount[$value] = getPostnumByType($value, $userdb, true); } $p_list = $db_plist && count($db_plist) > 1 ? $db_plist : array(); return array($userdb, $ismyfriend, $friendcheck, $usericon, $usercredit, $totalcredit, $appcount, $p_list); }
function _setMemberid() { /* $lneed = L::config('lneed', 'level'); @asort($lneed); $this->data['memberid'] = key($lneed); */ global $db_upgrade; is_array($upgradeset = unserialize($db_upgrade)) || ($upgradeset = array()); $usercredit = L::reg('rg_regcredit'); isset($usercredit['rvrc']) && ($usercredit['rvrc'] *= 10); require_once R_P . 'require/functions.php'; $this->data['memberid'] = getmemberid(CalculateCredit($usercredit, $upgradeset)); }
function updateUserInfo($type, $add, $content = '') { global $db_creditset, $credit, $db_upgrade, $timestamp, $db_tcheck; if ($this->groupid != 'guest') { require_once R_P . 'require/credit.php'; $this->user['todaypost']++; $this->user['monthpost']++; $this->user['postnum']++; $this->user['lastpost'] = $timestamp; $credit->addLog('topic_' . $type, $add, array('uid' => $this->uid, 'username' => $this->username, 'ip' => $GLOBALS['onlineip'], 'fname' => $this->forum->name)); $credit->sets($this->uid, $add, false); $this->user['rvrc'] += $add['rvrc']; $this->user['money'] += $add['money']; $this->user['credit'] += $add['credit']; $this->user['currency'] += $add['currency']; $usercredit = array('postnum' => $this->user['postnum'], 'digests' => $this->user['digests'], 'rvrc' => $this->user['rvrc'], 'money' => $this->user['money'], 'credit' => $this->user['credit'], 'currency' => $this->user['currency'], 'onlinetime' => $this->user['onlinetime']); $upgradeset = unserialize($db_upgrade); foreach ($upgradeset as $key => $val) { if (is_numeric($key) && $val) { foreach ($credit->get($this->user['uid'], 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } break; } } require_once R_P . 'require/functions.php'; $memberid = getmemberid(CalculateCredit($usercredit, $upgradeset)); $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ if ($this->user['memberid'] != $memberid) { $userService->update($this->user['uid'], array('memberid' => $memberid)); $membername = getMembername($memberid); $upmemberid = getNextMemberid($memberid); $upmembername = getMembername($upmemberid); $upneedcredit = getmemberNeed($upmemberid); $userneed = $upneedcredit - CalculateCredit($usercredit, $upgradeset); M::sendNotice(array($this->user['username']), array('title' => getLangInfo('writemsg', 'user_update_title', array('username' => $windid)), 'content' => getLangInfo('writemsg', 'user_update_content', array('membername' => $membername, 'upmembername' => $upmembername, 'username' => $this->user['username'], 'userneed' => $userneed)))); //$data=array('uid'=>$this->user['uid'],'behavior'=>5,'lastday'=>$GLOBALS['tdtime'],'num'=>$memberid); //$data=array('uid'=>1,'behavior'=>5,'lastday'=>123,'num'=>1); $this->elementUpdate($this->user['uid']); /*升级记录排行*/ } $pwSQL = array('postnum' => $this->user['postnum'], 'todaypost' => $this->user['todaypost'], 'monthpost' => $this->user['monthpost'], 'lastpost' => $this->user['lastpost'], 'uploadtime' => $this->user['uploadtime'], 'uploadnum' => $this->user['uploadnum']); if ($db_tcheck) { $postcheck = unserialize($this->user['postcheck']); $this->fromGroup ? $postcheck['group'] = PwPost::tcheck($content) : ($postcheck['post'] = PwPost::tcheck($content)); $pwSQL['postcheck'] = serialize($postcheck); } $userService->update($this->uid, array(), $pwSQL); $credit->runsql(); /** if (!array_sum($add)) { $_cache = getDatastore(); $_cache->delete('UID_'.$this->uid); } **/ } else { Cookie('userlastptime', $timestamp); } }
function updateGroupLevel($cyid, $gdb = array()) { require_once R_P . 'require/functions.php'; global $o_groups_upgrade, $o_groups_levelneed; //* isset($o_groups_upgrade) || include pwCache::getPath(D_P . 'data/bbscache/o_config.php'); isset($o_groups_upgrade) || extract(pwCache::getData(D_P . 'data/bbscache/o_config.php', false)); $nums = CalculateCredit($gdb, $o_groups_upgrade); arsort($o_groups_levelneed); reset($o_groups_levelneed); $lid = 0; foreach ($o_groups_levelneed as $key => $lowneed) { $lid = $key; if ($nums >= $lowneed) { break; } } if ($lid != $gdb['commonlevel']) { //* $GLOBALS['db']->update("UPDATE pw_colonys SET commonlevel=" . S::sqlEscape($lid) . ' WHERE id=' . S::sqlEscape($cyid)); pwQuery::update('pw_colonys', 'id=:id', array($cyid), array('commonlevel' => $lid)); } }
$db->update("UPDATE pw_medalslogs SET state='1' WHERE id IN(" . pwImplode($ids) . ")"); $userdb['medals'] = explode(',', $userdb['medals']); $userdb['medals'] = array_diff($userdb['medals'], $medals); $userdb['medals'] = implode(',', $userdb['medals']); $db->update("UPDATE pw_members SET medals=" . pwEscape($userdb['medals'], false) . " WHERE uid=" . pwEscape($userdb['uid'], false)); $db->update('DELETE FROM pw_medaluser WHERE uid=' . pwEscape($userdb['uid'], false) . ' AND mid IN(' . pwImplode($medals) . ')'); updatemedal_list(); } } $userdb['medals'] = explode(',', $userdb['medals']); } $usercredit = array('postnum' => $userdb['postnum'], 'digests' => $userdb['digests'], 'rvrc' => $userdb['rvrc'], 'money' => $userdb['money'], 'credit' => $userdb['credit'], 'currency' => $userdb['currency'], 'onlinetime' => $userdb['onlinetime']); foreach ($credit->get($userdb['uid'], 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } $totalcredit = CalculateCredit($usercredit, unserialize($db_upgrade)); $newmemberid = getmemberid($totalcredit); if ($userdb['memberid'] != $newmemberid) { $userdb['memberid'] = $newmemberid; $db->update("UPDATE pw_members SET memberid=" . pwEscape($newmemberid, false) . "WHERE uid=" . pwEscape($userdb['uid'])); } if ($db_autoban) { require_once R_P . 'require/autoban.php'; autoban($userdb['uid']); } if ($userdb['groupid'] == '6' || getstatus($userdb['userstatus'], 1)) { $pwSQL = ''; $isBan = false; $bandb = $delban = array(); $query = $db->query("SELECT * FROM pw_banuser WHERE uid=" . pwEscape($userdb['uid'])); while ($rt = $db->fetch_array($query)) {
/** * 注意关联函数 apps/groups/lib/colony.class.php * @param $info */ function _calculateCredit($info) { require_once R_P . 'require/functions.php'; $info['pnum'] -= $info['tnum']; return CalculateCredit($info, L::config('o_groups_upgrade', 'o_config')); }
$query = $db->query("SELECT uid,postnum,digests,rvrc,money,credit as credits,currency,onlinetime FROM pw_memberdata LIMIT {$start},{$percount}"); while (@extract($db->fetch_array($query))) { $goon = 1; $usercredit = array('postnum' => $postnum, 'digests' => $digests, 'rvrc' => $rvrc, 'money' => $money, 'credit' => $credits, 'currency' => $currency, 'onlinetime' => $onlinetime); $upgradeset = unserialize($db_upgrade); foreach ($upgradeset as $key => $val) { if (is_numeric($key)) { require_once R_P . 'require/credit.php'; foreach ($credit->get($uid, 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } break; } } require_once R_P . 'require/functions.php'; $memberid = getmemberid(CalculateCredit($usercredit, $upgradeset)); $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ $userService->update($uid, array('memberid' => $memberid)); //* $_cache->delete('UID_'.$uid); } if ($goon) { adminmsg('updatecache_step', EncodeUrl($j_url)); } else { adminmsg('operate_success'); } } elseif ($_POST['action'] == 'usergroup') { /* * 更新系统组成员头衔 */ //* $_cache = getDatastore();
<?php !function_exists('readover') && exit('Forbidden'); InitGP(array('job'), 'G'); InitGP(array('gid', 'fid'), 'G', 2); require_once R_P . 'require/credit.php'; if (!$fid) { InitGP(array('gid'), 'G', 2); include_once D_P . 'data/bbscache/level.php'; $usercredit = array('postnum' => $winddb['postnum'], 'digests' => $winddb['digests'], 'rvrc' => $winddb['rvrc'], 'money' => $winddb['money'], 'credit' => $winddb['credit'], 'currency' => $winddb['currency'], 'onlinetime' => $winddb['onlinetime']); $creditdb = $credit->get($winduid, 'CUSTOM'); foreach ($creditdb as $key => $value) { $usercredit[$key] = $value; } $upgradeset = unserialize($db_upgrade); $totalcredit = CalculateCredit($usercredit, $upgradeset); $cNames = $credit->cType; $per = $gRight = $mygpdb = $_gmember = $_gspecial = $_gsystem = array(); $winddb['groupid'] != '-1' && ($mygpdb[$winddb['groupid']] = $ltitle[$winddb['groupid']]); $mygpdb[$winddb['memberid']] = $ltitle[$winddb['memberid']]; if ($winddb['groups']) { $groups = explode(',', $winddb['groups']); foreach ($groups as $value) { $value = (int) $value; $value && array_key_exists($value, $ltitle) && ($mygpdb[$value] = $ltitle[$value]); } } !$gid && ($gid = $groupid); $query = $db->query("SELECT gid,gptype FROM pw_usergroups WHERE gptype!='default' ORDER BY grouppost,gid"); while ($rt = $db->fetch_array($query)) { if (strpos(',' . $_G['pergroup'] . ',', ',' . $rt['gptype'] . ',') !== false) {
function bbspostguide($type = 'Post') { global $db, $creditset, $db_creditset, $db_upgrade, $db_hour, $groupid, $windid, $winduid, $winddb, $timestamp, $fid, $tid, $tdtime, $db_autochange, $db_tcheck, $atc_content, $_G, $credit; if ($db_autochange) { if (file_exists(D_P . "data/bbscache/set_cache.php")) { list(, $set_control) = explode("|", readover(D_P . "data/bbscache/set_cache.php")); } else { $set_control = 0; } if ($timestamp - $set_control > $db_hour * 3600) { require_once R_P . 'require/postconcle.php'; } } if ($groupid != 'guest') { require_once R_P . 'require/credit.php'; $creditset = $credit->creditset($creditset, $db_creditset); $winddb['todaypost']++; $winddb['monthpost']++; $winddb['lastpost'] = $timestamp; $winddb['postnum']++; $winddb['rvrc'] += $creditset[$type]['rvrc']; $winddb['money'] += $creditset[$type]['money']; $winddb['credit'] += $creditset[$type]['credit']; $winddb['currency'] += $creditset[$type]['currency']; $usercredit = array('postnum' => $winddb['postnum'], 'digests' => $winddb['digests'], 'rvrc' => $winddb['rvrc'], 'money' => $winddb['money'], 'credit' => $winddb['credit'], 'currency' => $winddb['currency'], 'onlinetime' => $winddb['onlinetime']); $upgradeset = unserialize($db_upgrade); foreach ($upgradeset as $key => $val) { if (is_numeric($key) && $val) { foreach ($credit->get($winduid, 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } break; } } require_once R_P . 'require/functions.php'; $userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */ $memberid = getmemberid(CalculateCredit($usercredit, $upgradeset)); if ($winddb['memberid'] != $memberid) { $userService->update($winduid, array('memberid' => $memberid)); } $credit->addLog('topic_' . $type, $creditset[$type], array('uid' => $winduid, 'username' => $windid, 'ip' => $GLOBALS['onlineip'], 'fname' => $GLOBALS['forum'][$fid]['name'])); $credit->sets($winduid, $creditset[$type], false); $credit->runsql(); $updateMemberData = array('postnum' => $winddb['postnum'], 'todaypost' => $winddb['todaypost'], 'monthpost' => $winddb['monthpost'], 'lastpost' => $winddb['lastpost'], 'uploadtime' => $winddb['uploadtime'], 'uploadnum' => $winddb['uploadnum']); if ($db_tcheck) { $updateMemberData['postcheck'] = tcheck($atc_content); } $userService->update($winduid, array(), $updateMemberData); } else { Cookie('userlastptime', $timestamp); } }
/** * 热门群组 * return array */ function getLikeGroup() { global $o_groups_upgrade; $array = array(); $query = $this->_db->query("SELECT id,cname,cnimg,createtime,members,tnum,pnum,albumnum,photonum,writenum,activitynum FROM pw_colonys WHERE styleid=" . S::sqlEscape($this->info['styleid']) . " AND id!=" . S::sqlEscape($this->cyid) . " ORDER BY visit DESC LIMIT 4"); while ($rt = $this->_db->fetch_array($query)) { list($rt['cnimg']) = PwColony::getColonyCnimg($rt['cnimg']); $rt['colonyNums'] = CalculateCredit($rt, $o_groups_upgrade); $rt['createtime'] = get_date($rt['createtime'], 'Y-m-d'); $array[$rt['id']] = $rt; } return $array; }
/** * 取得个人空间用户的综合积分 * @return int $result 个人空间的综合积分 */ function _getUserTotalCredit() { global $db_upgrade, $credit; require_once R_P . 'require/credit.php'; require_once R_P . 'require/functions.php'; $_usercredit = array('postnum' => $this->spaceinfo['postnum'], 'digests' => $this->spaceinfo['digests'], 'rvrc' => $this->spaceinfo['rvrc'], 'money' => $this->spaceinfo['money'], 'credit' => $this->spaceinfo['credit'], 'currency' => $this->spaceinfo['currency'], 'onlinetime' => $this->spaceinfo['onlinetime']); foreach ($credit->get($this->spaceinfo['uid'], 'CUSTOM') as $key => $value) { $_usercredit[$key] = $value; } $result = CalculateCredit($_usercredit, unserialize($db_upgrade)); return $result; }
function bbspostguide($type = 'Post') { global $db, $creditset, $db_creditset, $db_upgrade, $db_hour, $groupid, $windid, $winduid, $winddb, $timestamp, $fid, $tid, $tdtime, $db_autochange, $db_tcheck, $atc_content, $_G, $credit; if ($db_autochange) { if (file_exists(D_P . "data/bbscache/set_cache.php")) { list(, $set_control) = explode("|", readover(D_P . "data/bbscache/set_cache.php")); } else { $set_control = 0; } if ($timestamp - $set_control > $db_hour * 3600) { require_once R_P . 'require/postconcle.php'; } } if ($groupid != 'guest') { require_once R_P . 'require/credit.php'; $creditset = $credit->creditset($creditset, $db_creditset); $winddb['todaypost']++; $winddb['monthpost']++; $winddb['lastpost'] = $timestamp; $winddb['postnum']++; $winddb['rvrc'] += $creditset[$type]['rvrc']; $winddb['money'] += $creditset[$type]['money']; $winddb['credit'] += $creditset[$type]['credit']; $winddb['currency'] += $creditset[$type]['currency']; $usercredit = array('postnum' => $winddb['postnum'], 'digests' => $winddb['digests'], 'rvrc' => $winddb['rvrc'], 'money' => $winddb['money'], 'credit' => $winddb['credit'], 'currency' => $winddb['currency'], 'onlinetime' => $winddb['onlinetime']); $upgradeset = unserialize($db_upgrade); foreach ($upgradeset as $key => $val) { if (is_numeric($key) && $val) { foreach ($credit->get($winduid, 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } break; } } $memberid = getmemberid(CalculateCredit($usercredit, $upgradeset)); if ($winddb['memberid'] != $memberid) { $db->update("UPDATE pw_members SET memberid=" . pwEscape($memberid) . " WHERE uid=" . pwEscape($winduid)); } $credit->addLog('topic_' . $type, $creditset[$type], array('uid' => $winduid, 'username' => $windid, 'ip' => $GLOBALS['onlineip'], 'fname' => $GLOBALS['forum'][$fid]['name'])); $credit->sets($winduid, $creditset[$type], false); $credit->runsql(); $sqladd = ''; $db_tcheck && ($sqladd .= "postcheck='" . tcheck($atc_content) . "',"); $pwSQL = $sqladd . pwSqlSingle(array('postnum' => $winddb['postnum'], 'todaypost' => $winddb['todaypost'], 'monthpost' => $winddb['monthpost'], 'lastpost' => $winddb['lastpost'], 'uploadtime' => $winddb['uploadtime'], 'uploadnum' => $winddb['uploadnum'])); $db->update("UPDATE pw_memberdata SET {$pwSQL} WHERE uid=" . pwEscape($winduid)); } else { Cookie('userlastptime', $timestamp); } }
!function_exists('readover') && exit('Forbidden'); require_once R_P . 'require/functions.php'; //* include_once pwCache::getPath(D_P . 'data/bbscache/level.php'); pwCache::getData(D_P . 'data/bbscache/level.php'); list($m_faceurl) = showfacedesign($winddb['icon'], 1, 'm'); $uinfo = $db->get_one("SELECT m.bday,m.location,m.site,m.introduce,o.index_privacy FROM pw_members m LEFT JOIN pw_ouserdata o ON m.uid=o.uid WHERE m.uid=" . S::sqlEscape($winduid)); $winddb += $uinfo; $regdate = get_date($winddb['regdate'], 'Y-m-d'); $lastvisit = get_date($winddb['lastvisit'], 'Y-m-d'); $onlinetime = floor($winddb['onlinetime'] / 3600); $winddb['lastpost'] < $tdtime && ($winddb['todaypost'] = 0); $averagepost = round($winddb['postnum'] / ceil(($timestamp - $winddb['regdate']) / (3600 * 24))); $friendcheck = getstatus($winddb['userstatus'], PW_USERSTATUS_CFGFRIEND, 3); $messageServer = L::loadClass("message", 'message'); list($messageNumber, $noticeNumber, $requestNumber, $groupsmsNumber) = $messageServer->getUserStatistics($winduid); require_once R_P . 'require/credit.php'; $usercredit = $credit->get($winduid); $creditdb = $usercredit + array('postnum' => $winddb['postnum'], 'digests' => $winddb['digests'], 'onlinetime' => $winddb['onlinetime']); $creditdb['rvrc'] *= 10; $upgradeset = unserialize($db_upgrade); $totalcredit = CalculateCredit($creditdb, $upgradeset); require_once PrintEot('profile_index'); footer(); function sort_cmp($a, $b) { if ($a['mdate'] == $b['mdate']) { return 0; } return $a['mdate'] > $b['mdate'] ? -1 : 1; }
function updateUserInfo($type, $add, $content = '') { global $db_creditset, $credit, $db_upgrade, $timestamp, $db_tcheck; if ($this->groupid != 'guest') { require_once R_P . 'require/credit.php'; $this->user['todaypost']++; $this->user['monthpost']++; $this->user['postnum']++; $this->user['lastpost'] = $timestamp; $credit->addLog('topic_' . $type, $add, array('uid' => $this->uid, 'username' => $this->username, 'ip' => $GLOBALS['onlineip'], 'fname' => $this->forum->name)); $credit->sets($this->uid, $add, false); $this->user['rvrc'] += $add['rvrc']; $this->user['money'] += $add['money']; $this->user['credit'] += $add['credit']; $this->user['currency'] += $add['currency']; $usercredit = array('postnum' => $this->user['postnum'], 'digests' => $this->user['digests'], 'rvrc' => $this->user['rvrc'], 'money' => $this->user['money'], 'credit' => $this->user['credit'], 'currency' => $this->user['currency'], 'onlinetime' => $this->user['onlinetime']); $upgradeset = unserialize($db_upgrade); foreach ($upgradeset as $key => $val) { if (is_numeric($key) && $val) { foreach ($credit->get($this->user['uid'], 'CUSTOM') as $key => $value) { $usercredit[$key] = $value; } break; } } $memberid = getmemberid(CalculateCredit($usercredit, $upgradeset)); if ($this->user['memberid'] != $memberid) { $this->db->update("UPDATE pw_members SET memberid=" . pwEscape($memberid) . " WHERE uid=" . pwEscape($this->user['uid'])); } $credit->runsql(); $pwSQL = array('postnum' => $this->user['postnum'], 'todaypost' => $this->user['todaypost'], 'monthpost' => $this->user['monthpost'], 'lastpost' => $this->user['lastpost'], 'uploadtime' => $this->user['uploadtime'], 'uploadnum' => $this->user['uploadnum']); $db_tcheck && ($pwSQL['postcheck'] = PwPost::tcheck($content)); $this->db->update("UPDATE pw_memberdata SET " . pwSqlSingle($pwSQL) . " WHERE uid=" . pwEscape($this->uid)); } else { Cookie('userlastptime', $timestamp); } }