示例#1
0
/**
* Takes valid data and sets it as part of the data to be saved
*
* @param	array		List of infraction groups
* @param integer  Userid of user
* @param	integer	Infraction Points
* @param interger Usergroupid
*
* @return array	User's final infraction groups
*/
function fetch_infraction_groups(&$infractiongroups, $userid, $ipoints, $usergroupid)
{
    static $cache;
    if (!is_array($data)) {
        $data = array();
    }
    $infractiongroupids = array();
    if (!empty($infractiongroups["{$usergroupid}"])) {
        foreach ($infractiongroups["{$usergroupid}"] as $pointlevel => $orusergroupids) {
            if ($pointlevel <= $ipoints) {
                foreach ($orusergroupids as $infinfo) {
                    $data['infractiongroupids']["{$infinfo['orusergroupid']}"] = $infinfo['orusergroupid'];
                    if ($infinfo['override'] and $cache["{$userid}"]['pointlevel'] <= $pointlevel) {
                        $cache["{$userid}"]['pointlevel'] = $pointlevel;
                        $cache["{$userid}"]['infractiongroupid'] = $infinfo['orusergroupid'];
                    }
                }
            } else {
                break;
            }
        }
    }
    if (!is_array($data['infractiongroupids'])) {
        $data['infractiongroupids'] = array();
    }
    if ($usergroupid != -1) {
        $temp = fetch_infraction_groups($infractiongroups, $userid, $ipoints, -1);
        $data['infractiongroupids'] = array_merge($data['infractiongroupids'], $temp['infractiongroupids']);
    }
    if (!is_array($data['infractiongroupids'])) {
        $data['infractiongroupids'] = array();
    }
    $data['infractiongroupid'] = intval($cache["{$userid}"]['infractiongroupid']);
    return $data;
}
示例#2
0
文件: misc.php 项目: hungnv0789/vhtm
			false,
			$vbulletin->usergroupcache["$user[displaygroupid]"],
			($user['customtitle'] == 1 OR $user['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canusecustomtitle']) ? true : false,
			($user['customtitle'] == 1) ? true : false
		);

		if ($lastpost = $db->query_first("SELECT MAX(dateline) AS dateline FROM " . TABLE_PREFIX . "post WHERE userid = $user[userid]"))
		{
			$lastpost['dateline'] = intval($lastpost['dateline']);
		}
		else
		{
			$lastpost['dateline'] = 0;
		}

		$infractioninfo = fetch_infraction_groups($infractiongroups, $user['userid'], $user['ipoints'], $user['usergroupid']);
		$userdm->set('infractiongroupids', $infractioninfo['infractiongroupids']);
		$userdm->set('infractiongroupid', $infractioninfo['infractiongroupid']);

		$userdm->set('posts', $user['posts']); // This will activate the rank update
		$userdm->set('lastpost', $lastpost['dateline']);
		$userdm->save();
		unset($userdm);

		echo construct_phrase($vbphrase['processing_x'], $user['userid']) . "<br />\n";
		vbflush();

		$finishat = ($user['userid'] > $finishat ? $user['userid'] : $finishat);
	}

	$finishat++;