mirror of
https://github.com/WhatCD/Gazelle.git
synced 2025-01-07 14:51:38 +00:00
60 lines
2.2 KiB
PHP
60 lines
2.2 KiB
PHP
<?
|
|
|
|
/**
|
|
* Class to manage locked accounts
|
|
*/
|
|
class LockedAccounts
|
|
{
|
|
|
|
/**
|
|
* Lock an account
|
|
*
|
|
* @param int $UserID The ID of the user to lock
|
|
* @param int $Type The lock type, should be a constant value
|
|
* @param string $Message The message to write to user notes
|
|
* @param string $Reason The reason for the lock
|
|
* @param int $LockedByUserID The ID of the staff member that locked $UserID's account. 0 for system
|
|
*/
|
|
public static function lock_account($UserID, $Type, $Message, $Reason, $LockedByUserID)
|
|
{
|
|
|
|
if ($LockedByUserID == 0) {
|
|
$Username = "System";
|
|
} else {
|
|
G::$DB->query("SELECT Username FROM users_main WHERE ID = '" . $UserID . "'");
|
|
list($Username) = G::$DB->next_record();
|
|
}
|
|
|
|
G::$DB->query("
|
|
INSERT INTO locked_accounts (UserID, Type)
|
|
VALUES ('" . $UserID . "', " . $Type . ")");
|
|
Tools::update_user_notes($UserID, sqltime() . " - " . db_string($Message) . " by $Username\nReason: " . db_string($Reason) . "\n\n");
|
|
G::$Cache->delete_value('user_info_' . $UserID);
|
|
}
|
|
|
|
/**
|
|
* Unlock an account
|
|
*
|
|
* @param int $UserID The ID of the user to unlock
|
|
* @param int $Type The lock type, should be a constant value. Used for database verification
|
|
* to avoid deleting the wrong lock type
|
|
* @param string $Reason The reason for unlock
|
|
* @param int $UnlockedByUserID The ID of the staff member unlocking $UserID's account. 0 for system
|
|
*/
|
|
public static function unlock_account($UserID, $Type, $Message, $Reason, $UnlockedByUserID)
|
|
{
|
|
if ($UnlockedByUserID == 0) {
|
|
$Username = "System";
|
|
} else {
|
|
G::$DB->query("SELECT Username FROM users_main WHERE ID = '" . $UserID . "'");
|
|
list($Username) = G::$DB->next_record();
|
|
}
|
|
|
|
G::$DB->query("DELETE FROM locked_accounts WHERE UserID = '$UserID' AND Type = '". $Type ."'");
|
|
|
|
if (G::$DB->affected_rows() == 1) {
|
|
G::$Cache->delete_value("user_info_" . $UserID);
|
|
Tools::update_user_notes($UserID, sqltime() . " - " . db_string($Message) . " by $Username\nReason: " . db_string($Reason) . "\n\n");
|
|
}
|
|
}
|
|
} |