update menu language automatically when loggin in using the user@domain notation

This commit is contained in:
Nuno Miguel Reis
2012-10-11 00:08:51 +00:00
parent 5d7d6a2282
commit dd81791315
3 changed files with 141 additions and 113 deletions

View File

@@ -254,119 +254,17 @@ if ($db_type == "pgsql") {
$_SESSION['domains'][$row['domain_uuid']]['domain_uuid'] = $row['domain_uuid'];
$_SESSION['domains'][$row['domain_uuid']]['domain_name'] = $row['domain_name'];
}
unset($result, $prep_statement);
}
unset($result, $prep_statement);
}
if (!isset($_SESSION['domain']['menu'])){
//domains set()
require "includes/classes/domains.php";
//get the session settings
if (!isset($_SESSION['domain']['menu'])) {
//get the default settings
$sql = "select * from v_default_settings ";
$sql .= "where default_setting_enabled = 'true' ";
$prep_statement = $db->prepare($sql);
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach($result as $row) {
$name = $row['default_setting_name'];
$category = $row['default_setting_category'];
$subcategory = $row['default_setting_subcategory'];
if (strlen($subcategory) == 0) {
$_SESSION[$category][$name] = $row['default_setting_value'];
}
else {
$_SESSION[$category][$subcategory][$name] = $row['default_setting_value'];
}
}
//get the domains settings
$sql = "select * from v_domain_settings ";
$sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' ";
$sql .= "and domain_setting_enabled = 'true' ";
$prep_statement = $db->prepare($sql);
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach($result as $row) {
$name = $row['domain_setting_name'];
$category = $row['domain_setting_category'];
$subcategory = $row['domain_setting_subcategory'];
if (strlen($subcategory) == 0) {
//$$category[$name] = $row['domain_setting_value'];
$_SESSION[$category][$name] = $row['domain_setting_value'];
}
else {
//$$category[$subcategory][$name] = $row['domain_setting_value'];
$_SESSION[$category][$subcategory][$name] = $row['domain_setting_value'];
}
}
//get the user settings
$sql = "select * from v_user_settings ";
$sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' ";
$sql .= "and user_uuid = '".$_SESSION["user_uuid"]."' ";
$sql .= "and user_setting_enabled = 'true' ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach($result as $row) {
$name = $row['user_setting_name'];
$category = $row['user_setting_category'];
$subcategory = $row['user_setting_subcategory'];
if (strlen($subcategory) == 0) {
//$$category[$name] = $row['domain_setting_value'];
$_SESSION[$category][$name] = $row['user_setting_value'];
}
else {
//$$category[$subcategory][$name] = $row['domain_setting_value'];
$_SESSION[$category][$subcategory][$name] = $row['user_setting_value'];
}
}
}
//set the values from the session variables
if (strlen($_SESSION['domain']['time_zone']['name']) > 0) {
//server time zone
$_SESSION['time_zone']['system'] = date_default_timezone_get();
//domain time zone set in system settings
$_SESSION['time_zone']['domain'] = $_SESSION['domain']['time_zone']['name'];
//set the domain time zone as the default time zone
date_default_timezone_set($_SESSION['domain']['time_zone']['name']);
}
//set the context
if (strlen($_SESSION["context"]) == 0) {
if (count($_SESSION["domains"]) > 1) {
$_SESSION["context"] = $_SESSION["domain_name"];
}
else {
$_SESSION["context"] = 'default';
}
}
}
//recordings add the domain to the path if there is more than one domains
if (count($_SESSION["domains"]) > 1) {
if (strlen($_SESSION['switch']['recordings']['dir']) > 0) {
if (substr($_SESSION['switch']['recordings']['dir'], -strlen($_SESSION["domain_name"])) != $_SESSION["domain_name"]) {
//get the default recordings directory
$sql = "select * from v_default_settings ";
$sql .= "where default_setting_enabled = 'true' ";
$sql .= "and default_setting_category = 'switch' ";
$sql .= "and default_setting_subcategory = 'recordings' ";
$sql .= "and default_setting_name = 'dir' ";
$prep_statement = $db->prepare($sql);
$prep_statement->execute();
$result_default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach($result_default_settings as $row) {
$name = $row['default_setting_name'];
$category = $row['default_setting_category'];
$subcategory = $row['default_setting_subcategory'];
$switch_recordings_dir = $row['default_setting_value'];
}
//add the domain
$_SESSION['switch']['recordings']['dir'] = $switch_recordings_dir.'/'.$_SESSION["domain_name"];
}
}
}
$domain = new domains();
$domain->db = $db;
$domain->set();
}
//set the domain_uuid variable from the session
if (strlen($_SESSION["domain_uuid"]) > 0) {