mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Update logout.php
Session has been unset, and destroy this code is not used.
This commit is contained in:
67
logout.php
67
logout.php
@@ -39,73 +39,6 @@
|
|||||||
session_unset();
|
session_unset();
|
||||||
session_destroy();
|
session_destroy();
|
||||||
|
|
||||||
//check for login return preference
|
|
||||||
if (!empty($_SESSION["user_uuid"])) {
|
|
||||||
if (isset($_SESSION['login']['destination_last']) && filter_var($_SESSION['login']['destination_last']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
|
||||||
if ($_SERVER['HTTP_REFERER'] != '') {
|
|
||||||
//convert to relative path
|
|
||||||
$referrer = substr($_SERVER['HTTP_REFERER'], strpos($_SERVER['HTTP_REFERER'], $_SERVER["HTTP_HOST"]) + strlen($_SERVER["HTTP_HOST"]));
|
|
||||||
//check if destination url already exists
|
|
||||||
$sql = "select count(*) from v_user_settings ";
|
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
|
||||||
$sql .= "and user_uuid = :user_uuid ";
|
|
||||||
$sql .= "and user_setting_category = 'login' ";
|
|
||||||
$sql .= "and user_setting_subcategory = 'destination' ";
|
|
||||||
$sql .= "and user_setting_name = 'url' ";
|
|
||||||
$paramters['domain_uuid'] = $_SESSION['domain_uuid'];
|
|
||||||
$paramters['user_uuid'] = $_SESSION['user_uuid'];
|
|
||||||
$database = new database;
|
|
||||||
$num_rows = $database->select($sql, $parameters, 'column');
|
|
||||||
$exists = ($num_rows > 0) ? true : false;
|
|
||||||
unset($sql, $parameters, $num_rows);
|
|
||||||
|
|
||||||
//if exists, update
|
|
||||||
if ($exists) {
|
|
||||||
$sql = "update v_user_settings set ";
|
|
||||||
$sql .= "user_setting_value = :user_setting_value ";
|
|
||||||
$sql .= "user_setting_enabled = 'true' ";
|
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
|
||||||
$sql .= "and user_uuid = :user_uuid ";
|
|
||||||
$sql .= "and user_setting_category = 'login' ";
|
|
||||||
$sql .= "and user_setting_subcategory = 'destination' ";
|
|
||||||
$sql .= "and user_setting_name = 'url' ";
|
|
||||||
$parameters['user_setting_value'] = $referrer;
|
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
|
||||||
$parameters['user_uuid'] = $_SESSION["user_uuid"];
|
|
||||||
$database = new database;
|
|
||||||
$database->execute($sql, $parameters);
|
|
||||||
unset($sql, $parameters);
|
|
||||||
}
|
|
||||||
//otherwise, insert
|
|
||||||
else {
|
|
||||||
//build insert array
|
|
||||||
$user_setting_uuid = uuid();
|
|
||||||
$array['user_settings'][0]['user_setting_uuid'] = $user_setting_uuid;
|
|
||||||
$array['user_settings'][0]['domain_uuid'] = $_SESSION['domain_uuid'];
|
|
||||||
$array['user_settings'][0]['user_uuid'] = $_SESSION["user_uuid"];
|
|
||||||
$array['user_settings'][0]['user_setting_category'] = 'login';
|
|
||||||
$array['user_settings'][0]['user_setting_subcategory'] = 'destination';
|
|
||||||
$array['user_settings'][0]['user_setting_name'] = 'url';
|
|
||||||
$array['user_settings'][0]['user_setting_value'] = $referrer;
|
|
||||||
$array['user_settings'][0]['user_setting_enabled'] = 'true';
|
|
||||||
//grant temporary permissions
|
|
||||||
$p = permissions::new();
|
|
||||||
$p->add('user_setting_add', 'temp');
|
|
||||||
//execute insert
|
|
||||||
$database = new database;
|
|
||||||
$database->app_name = 'logout';
|
|
||||||
$database->app_uuid = 'e9f24006-5da2-417f-94fb-7458348bae29';
|
|
||||||
$database->save($array);
|
|
||||||
unset($array);
|
|
||||||
//revoke temporary permissions
|
|
||||||
$p->delete('user_setting_add', 'temp');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//redirect the user to the logout page
|
//redirect the user to the logout page
|
||||||
header("Location: ".$logout_destination);
|
header("Location: ".$logout_destination);
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
Reference in New Issue
Block a user