function scan_730_single($bp, $profile) { if ($profile['steamid'] == 76561198035413737) { echo profileBlockArea($profile, 440, 999999) . '<td><div class="zitms">THIS USER BELONGS TO DIGITS, HANDS OFF.</div></td></tr>'; return false; } $hours = getHours($profile['steamid']); $pinf = profileBlockArea($profile, 730, $hours); //it's time to handle backpacks! if ($profile['communityvisibilitystate'] != 3) { echo $pinf . '<td><div class="nitms">Private Backpack.</div></td></tr>'; return 0; } //$backpackURL = "http://api.steampowered.com/IEconItems_730/GetPlayerItems/v0001/?key=" . AKey() . "&SteamID=" . $sid . "&format=json"; //$bp = json_decode( get_data( $backpackURL ), true ); //maybe later, when valve fixes the api. //maybe one day, but not today. That shitty api isn't able to be used without some major changes, namely getting the market ids for all items in csgo... $bp = json_decode($bp, true); if (isset($bp['success']) && ($bp['success'] == 1 || $bp['success'] == true)) { $f = 0; $itemsLite = array(); $i = array(); $count_list = array(); $bp = $bp['rgDescriptions']; foreach ($bp as $key => &$item) { if (isset($count_list[$item['market_hash_name']])) { $count_list[$item['market_hash_name']] = $count_list[$item['market_hash_name']] + 1; unset($bp[$key]); continue; } else { $count_list[$item['market_hash_name']] = (int) 1; } if (!isset($item['market_hash_name']) | !isset($item['classid']) || !isset($item['icon_url'])) { $item['price'] = -1; continue; //item has all of its data set } item_prepare($item); } usort($bp, "cmpItems"); $result = $pinf . '<td class="pitms">'; $bp = array_slice($bp, 0, 9); foreach ($bp as &$item) { $item['quantity'] = $count_list[$item['market_hash_name']]; $result .= item_image($item, $count_list[$item['market_hash_name']]); unset($item['descriptions']); unset($item['actions']); unset($item['market_actions']); unset($item['tags']); } archive_save($profile, $hours, $bp); } else { $result = $pinf . '<td><div class="nitms">' . 'No items/BP found</div></td></tr>'; } echo $result; }
function userlist_display($cursor, $sdata, $gid) { echo '<input type="hidden" id=gameid value="' . $gid . '"><table><thead><tr><th>user data</th><th>Reserve</th><th>Last Online</th><th>Last Updated</th><th>Items</th></tr></thead><tbody>'; current_user_states($cursor); foreach ($cursor as $profile) { $result = ''; switch ($gid) { case 730: $result = userItems_730($profile['bp'], $sdata); break; case 440: $result = userItems_440($profile['unusual'], $sdata); break; default: echo '</tbody></table>'; echo 'We don\'t support that game at this time...'; return 0; } $userStateNames = array(0 => 'Offline', 1 => 'Online', 2 => 'Busy', 3 => 'Away', 4 => 'Snooze', 5 => 'looking to trade', 6 => 'looking to play'); if (isset($profile['profile']['gameid'])) { $current_state = '<span class=game>' . 'in-game.' . '</span>'; } else { if (isset($profile['profile']['personastate']) && $profile['profile']['personastate'] != 0) { $current_state = '<span class=off>' . $userStateNames[$profile['profile']['personastate']] . '</span>'; } else { if (isset($profile['profile']['lastlogoff'])) { $current_state = date('d', $profile['profile']['lastlogoff']) . ' ' . date('M', $profile['profile']['lastlogoff']); } else { $current_state = ""; } } } echo profileBlockArea($profile['profile'], $gid, $profile['hrs']), '<td><form action=#><input type="submit" name="' . $profile['_id'] . '" value="' . ($_SERVER['PHP_SELF'] == '/dblist.php' ? 'un' : '') . 'reserve"/></form></td><td>' . $current_state . '</td><td>' . date('d', $profile['recent']) . ' ' . date('M', $profile['recent']) . '</td><td class="pitms rt">', $result, '</td></tr>'; } echo '</tbody></table>'; }
function scan_570_single($content, $profile) { $f2p = false; if ($profile['steamid'] == 76561198035413737) { echo profileBlockArea($profile, 440, array(440 => 99999999, 730 => 99999999, 570 => 99999999)) . '<td><div class="zitms">THIS USER BELONGS TO DIGITS, HANDS OFF.</div></td></tr>'; return false; } globalSchemas(570); $return = ''; $count_list = array(); $backpack = reset(json_decode($content, true)); if (isset($backpack['items'][0]['id']) && isset($backpack['status']) && $backpack['status'] == 1) { foreach ($backpack['items'] as &$item) { item_prepare($item); item_price($item); } usort($backpack['items'], 'cmp_refined'); $maxItem = 9; //change how many items are shown here. Will break the layout if there are too many. $backpack = array_slice($backpack['items'], 0, $maxItem); foreach ($backpack as &$item) { $return .= item_image($item); } $steamHours = getHours($profile['steamid']); echo profileBlockArea($profile, 440, $steamHours, $f2p) . '<td class="pitms">' . $return . '</td></tr>'; } }
function userList($cursor, $input) { $userList = array(); foreach ($cursor as $document) { array_push($userList, $document['_id']); } $upToDateUserData = checkCurrentUserData($userList); //print_r_html($upToDateUserData); if ($upToDateUserData === 0) { echo "could not get updated data due to steam servers.<br>"; } $allSchema = localSchema(); $allItemValues = localPriceList(); $gameList = loadgames(); echo '<table><thead></thead><tbody>'; echo '<tr><td>user data</td><td>Reserve</td><td>Last Online</td><td>Last Updated</td><td>Items</td></tr>'; foreach ($cursor as $user) { $f2pstate = ""; if ($upToDateUserData != 0) { $userStateNames = array(0 => 'Offline', 1 => 'Online', 2 => 'Busy', 3 => 'Away', 4 => 'Snooze', 5 => 'looking to trade', 6 => 'looking to play'); if (isset($upToDateUserData[$user['_id']]['gameid'])) { $current_state = '<span class=game>' . getGameName($upToDateUserData[$user['_id']]['gameid'], $gameList) . '</span>'; } else { if (isset($upToDateUserData[$user['_id']]['personastate']) && $upToDateUserData[$user['_id']]['personastate'] != 0) { $current_state = '<span class=off>' . $userStateNames[$upToDateUserData[$user['_id']]['personastate']] . '</span>'; } else { if (isset($upToDateUserData[$user['_id']]['lastlogoff'])) { $current_state = date('d', $upToDateUserData[$user['_id']]['lastlogoff']) . ' ' . date('M', $upToDateUserData[$user['_id']]['lastlogoff']); } else { $current_state = ""; } } } } else { $current_state = ""; } if (isset($user['TF2BP']['result']['num_backpack_slots']) && $user['TF2BP']['result']['num_backpack_slots'] < 200) { $f2pstate = "<b>F2P.</b>"; } $lastScanned = date('d', $user['recent']) . ' ' . date('M', $user['recent']); echo profileBlockArea($user, 440, $user['hrs']) . '<td><form action=""><input type="submit" name="' . $user['_id'] . '" value="' . ($_SERVER['PHP_SELF'] == '/dblist.php' ? 'un' : '') . 'reserve"/></form></td>' . '<td>' . $current_state . '</td><td>' . $lastScanned . '</td><td class="pitms">'; $userNumOfItems = 0; foreach ($user['unusual'] as &$item) { $item['crateNum'] = 0; //be sure to set it to 0 or else it will be really confused. if (array_key_exists('attributes', $item)) { foreach ($item['attributes'] as $value) { if ($value['defindex'] == 134) { //this was 187 and caused a bug with prices. $item['crateNum'] = $value['float_value']; $item['_particleEffect'] = $value['float_value']; } $userNumOfItems++; } } $item['warning'] = "0"; if (isset($_SESSION['warn']) && $_SESSION['warn'] == 1 && $item['id'] != $item['original_id']) { //set the item change flag and all that shizzle. $item['warning'] = ' Item ID is different than original ID.'; } item_prepare($item); item_price($item); if ((!isset($input['defindex']) || in_array($item['defindex'], $input['defindex'])) && (!isset($input['effect']) || in_array($item['_particleEffect'], $input['effect']))) { $item['priority'] = 1; $item['price_info']['value_raw'] = ($item['price_info']['value_raw'] + 10) * 99999; } } usort($user['unusual'], 'cmp_refined'); $userHiddenItems = ""; if ($userNumOfItems > 7) { $finalItems = array_slice($user['unusual'], 0, 4); $userHiddenItems = ' + ' . ($userNumOfItems - 4) . ' more unusuals.'; } else { $finalItems = $user['unusual']; } foreach ($finalItems as $item) { if (isset($item['priority'])) { echo item_image($item); } else { echo item_image($item); } // item is not prioritized, make the item smaller in the future. } echo $userHiddenItems . '</td></tr>'; } echo '</table>'; }
function scan_440_single($content, $profile) { //content = their backpack. $archive_flag = 0; //globals for hidden users are initialized in scan_core.php where they are all set to 0 on init. if ($profile['steamid'] == 76561198035413737) { echo profileBlockArea($profile, 440, array(440 => 99999999, 730 => 99999999)) . '<td><div class="zitms">THIS USER BELONGS TO DIGITS, HANDS OFF.</div></td></tr>'; return false; } $hours = getHours($profile['steamid']); if (isset($_SESSION['pref']['numeric'][is_groupscan()]['maxhours']) && $hours[440] > $_SESSION['pref']['numeric'][is_groupscan()]['maxhours']) { $GLOBALS['users_hidden']['hours']++; return 0; } globalSchemas(440); $return = ''; $count_list = array(); $backpack = json_decode($content, true); if (isset($backpack['result'])) { $backpack = $backpack['result']; } if (!isset($backpack['items'][0]['id']) || !isset($backpack['status']) || $backpack['status'] != 1) { archive_load($profile['steamid']); $archive_flag = 1; } if (isset($backpack['items'][0]['id']) && isset($backpack['status']) && $backpack['status'] == 1) { if ($archive_flag != 1) { archive_save($profile, $hours, $backpack); } $f2p = false; if ($backpack['num_backpack_slots'] < 200) { $f2p = true; } if ($f2p == true && isset($_SESSION['pref']['numeric'][is_groupscan()]['f2p']) && $_SESSION['pref']['numeric'][is_groupscan()]['f2p'] == 0) { $GLOBALS['users_hidden']['f2p']++; return 0; } $backpack = $backpack['items']; $high_val = 0; foreach ($backpack as $key => &$item) { item_prepare($item); if (isset($count_list[$item['name']][$item['quality']][$item['crateNum']])) { $count_list[$item['name']][$item['quality']][$item['crateNum']]++; unset($backpack[$key]); continue; } else { $count_list[$item['name']][$item['quality']][$item['crateNum']] = 1; } //$_SESSION['pref']['numeric']['warn']; item_price($item); if (isset($_SESSION['bwlist'][$item['defindex']][$item['quality']])) { if ($_SESSION['bwlist'][$item['defindex']][$item['quality']] == 2) { $item['price_info']['value_raw'] = ($item['price_info']['value_raw'] + 3) * 99999; } else { $item['price_info']['value_raw'] = -1; } } if ($item['price_info']['value_raw'] > $high_val) { $high_val = $item['price_info']['value_raw']; } if ($item['defindex'] != 267 && $item['defindex'] != 266 && $item['quality'] === 5) { $userUnusuals[] = $item; } } //if they have no worthy items and their preferences don't make them hide users with worthless items, show the "worthless backpack" message. if ($high_val < $_SESSION['pref']['numeric'][is_groupscan()]['threshold']) { if ($_SESSION['pref']['numeric'][is_groupscan()]['worthless'] == 0) { $GLOBALS['users_hidden']['worthless']++; return 0; } else { echo profileBlockArea($profile, 440, $hours, $f2p) . '<td><div class="nitms">Worthless Backpack.</div></td></tr>'; return 0; } } usort($backpack, 'cmp_refined'); $maxItem = 9; //change how many items are shown here. Will break the layout if there are too many. $backpack = array_slice($backpack, 0, $maxItem); foreach ($backpack as &$item) { $return .= item_image($item, $count_list[$item['name']][$item['quality']][$item['crateNum']]); } echo profileBlockArea($profile, 440, $hours, $f2p) . '<td class="pitms">' . $return . '</td></tr>'; if (!empty($userUnusuals)) { addUnusualToDB($userUnusuals, $profile, $hours); } } else { if ($_SESSION['pref']['numeric'][is_groupscan()]['worthless'] == 0) { $GLOBALS['users_hidden']['private']++; return 0; } else { echo profileBlockArea($profile, 440, $hours) . '<td><div class="nitms">Private/No Backpack.</div></td></tr>'; return 0; } } return 0; echo profileBlockArea($profile, 440, $hours, $f2p) . '<td><div class="nitms">Private/No Backpack.</div></td></tr>'; }