if (!is_array($UserStats)) { $DB->query("\n\t\t\tSELECT Uploaded AS BytesUploaded, Downloaded AS BytesDownloaded, RequiredRatio\n\t\t\tFROM users_main\n\t\t\tWHERE ID = '{$LoggedUser['ID']}'"); $UserStats = $DB->next_record(MYSQLI_ASSOC); $Cache->cache_value('user_stats_' . $LoggedUser['ID'], $UserStats, 3600); } // Get info such as username $LightInfo = Users::user_info($LoggedUser['ID']); $HeavyInfo = Users::user_heavy_info($LoggedUser['ID']); // Create LoggedUser array $LoggedUser = array_merge($HeavyInfo, $LightInfo, $UserStats); $LoggedUser['RSS_Auth'] = md5($LoggedUser['ID'] . RSS_HASH . $LoggedUser['torrent_pass']); // $LoggedUser['RatioWatch'] as a bool to disable things for users on Ratio Watch $LoggedUser['RatioWatch'] = $LoggedUser['RatioWatchEnds'] != '0000-00-00 00:00:00' && time() < strtotime($LoggedUser['RatioWatchEnds']) && $LoggedUser['BytesDownloaded'] * $LoggedUser['RequiredRatio'] > $LoggedUser['BytesUploaded']; // Load in the permissions $LoggedUser['Permissions'] = Permissions::get_permissions_for_user($LoggedUser['ID'], $LoggedUser['CustomPermissions']); $LoggedUser['Permissions']['MaxCollages'] += Donations::get_personal_collages($LoggedUser['ID']); // Change necessary triggers in external components $Cache->CanClear = check_perms('admin_clear_cache'); // Because we <3 our staff if (check_perms('site_disable_ip_history')) { $_SERVER['REMOTE_ADDR'] = '127.0.0.1'; } // Update LastUpdate every 10 minutes if (strtotime($UserSessions[$SessionID]['LastUpdate']) + 600 < time()) { $DB->query("\n\t\t\tUPDATE users_main\n\t\t\tSET LastAccess = '" . sqltime() . "'\n\t\t\tWHERE ID = '{$LoggedUser['ID']}'"); $DB->query("\n\t\t\tUPDATE users_sessions\n\t\t\tSET\n\t\t\t\tIP = '" . $_SERVER['REMOTE_ADDR'] . "',\n\t\t\t\tBrowser = '{$Browser}',\n\t\t\t\tOperatingSystem = '{$OperatingSystem}',\n\t\t\t\tLastUpdate = '" . sqltime() . "'\n\t\t\tWHERE UserID = '{$LoggedUser['ID']}'\n\t\t\t\tAND SessionID = '" . db_string($SessionID) . "'"); $Cache->begin_transaction("users_sessions_{$UserID}"); $Cache->delete_row($SessionID); $Cache->insert_front($SessionID, array('SessionID' => $SessionID, 'Browser' => $Browser, 'OperatingSystem' => $OperatingSystem, 'IP' => $_SERVER['REMOTE_ADDR'], 'LastUpdate' => sqltime())); $Cache->commit_transaction(0); }