Beispiel #1
0
 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);
 }