logout(); } // Get info such as username $LightInfo = user_info($LoggedUser['ID']); $HeavyInfo = user_heavy_info($LoggedUser['ID']); // Get user permissions $Permissions = get_permissions($LightInfo['PermissionID']); // Create LoggedUser array $LoggedUser = array_merge($HeavyInfo, $LightInfo, $Permissions); if (!isset($LoggedUser['ID'])) { $Debug->log_var($LightInfo, 'LightInfo'); $Debug->log_var($HeavyInfo, 'HeavyInfo'); $Debug->log_var($Permissions, 'Permissions'); } //Load in the permissions $LoggedUser['Permissions'] = get_permissions_for_user($LoggedUser['ID'], $LoggedUser['CustomPermissions']); //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("UPDATE users_main SET LastAccess='" . sqltime() . "' WHERE ID='{$LoggedUser['ID']}'"); $DB->query("UPDATE users_sessions SET IP='" . $_SERVER['REMOTE_ADDR'] . "', Browser='" . $Browser . "', OperatingSystem='" . $OperatingSystem . "', LastUpdate='" . sqltime() . "' WHERE UserID='{$LoggedUser['ID']}' AND 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); }
<?php //TODO: Redo html if (!check_perms('admin_manage_permissions')) { error(403); } if (!isset($_REQUEST['userid']) || !is_number($_REQUEST['userid'])) { error(404); } include SERVER_ROOT . "/classes/permissions_form.php"; list($UserID, $Username, $PermissionID) = array_values(user_info($_REQUEST['userid'])); $DB->query("SELECT \n\t\tu.CustomPermissions \n\tFROM users_main AS u \n\tWHERE u.ID='{$UserID}'"); list($Customs) = $DB->next_record(MYSQLI_NUM, false); $Defaults = get_permissions_for_user($UserID, array()); $Delta = array(); if (isset($_POST['action'])) { authorize(); foreach ($PermissionsArray as $Perm => $Explaination) { $Setting = isset($_POST['perm_' . $Perm]) ? 1 : 0; $Default = isset($Defaults[$Perm]) ? 1 : 0; if ($Setting != $Default) { $Delta[$Perm] = $Setting; } } if (!is_number($_POST['maxcollages']) && !empty($_POST['maxcollages'])) { error("Please enter a valid number of extra personal collages"); } $Delta['MaxCollages'] = $_POST['maxcollages']; $Cache->begin_transaction('user_info_heavy_' . $UserID); $Cache->update_row(false, array('CustomPermissions' => $Delta)); $Cache->commit_transaction(0);