Exemplo n.º 1
0
     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);
 }
Exemplo n.º 2
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);