Make sure the user extension arrray exists on the initial login.

This commit is contained in:
markjcrane
2016-05-06 17:47:03 -06:00
parent f1c31e0935
commit f64e41301e
2 changed files with 56 additions and 70 deletions

View File

@@ -46,76 +46,6 @@ require_once "resources/require.php";
}
}
//get the extensions that are assigned to this user
function load_extensions() {
//get the database connection
require_once "resources/classes/database.php";
$database = new database;
$database->connect();
$db = $database->db;
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/extensions/app_config.php")) {
if (isset($_SESSION["user"]) && isset($_SESSION["user_uuid"]) && $db && strlen($_SESSION["domain_uuid"]) > 0 && strlen($_SESSION["user_uuid"]) > 0 && count($_SESSION['user']['extension']) == 0) {
//get the user extension list
unset($_SESSION['user']['extension']);
$sql = "select ";
$sql .= " e.extension, ";
$sql .= " e.number_alias, ";
$sql .= " e.user_context, ";
$sql .= " e.extension_uuid, ";
$sql .= " e.outbound_caller_id_name, ";
$sql .= " e.outbound_caller_id_number, ";
$sql .= " v.voicemail_uuid ";
$sql .= "from ";
$sql .= " v_extension_users as u, ";
$sql .= " v_extensions as e ";
$sql .= " left outer join v_voicemails as v on ( ";
$sql .= " e.domain_uuid = v.domain_uuid ";
$sql .= " and v.voicemail_enabled = 'true' ";
$sql .= " and ( ";
$sql .= " e.extension = v.voicemail_id ";
$sql .= " or e.number_alias = v.voicemail_id ";
$sql .= " ) ";
$sql .= " ) ";
$sql .= "where ";
$sql .= " e.domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= " and e.extension_uuid = u.extension_uuid ";
$sql .= " and u.user_uuid = '".$_SESSION['user_uuid']."' ";
$sql .= " and e.enabled = 'true' ";
$sql .= "order by ";
$sql .= " e.extension asc ";
$query = $db->query($sql);
if($query !== false) {
$result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
$x = 0;
foreach($result as $row) {
$destination = $row['extension'];
if (strlen($row['number_alias']) > 0) {
$destination = $row['number_alias'];
}
$_SESSION['user']['extension'][$x]['user'] = $row['extension'];
$_SESSION['user']['extension'][$x]['number_alias'] = $row['number_alias'];
$_SESSION['user']['extension'][$x]['destination'] = $destination;
$_SESSION['user']['extension'][$x]['extension_uuid'] = $row['extension_uuid'];
$_SESSION['user']['extension'][$x]['outbound_caller_id_name'] = $row['outbound_caller_id_name'];
$_SESSION['user']['extension'][$x]['outbound_caller_id_number'] = $row['outbound_caller_id_number'];
if ($row['voicemail_uuid'] != '') {
$_SESSION['user']['voicemail'][]['voicemail_uuid'] = $row['voicemail_uuid'];
}
$_SESSION['user_context'] = $row["user_context"];
$x++;
}
}
//if no extension has been assigned then setting the user_context will still need to be set
if (strlen($_SESSION['user_context']) == 0) {
$_SESSION['user_context'] = $_SESSION['domain_name'];
}
}
}
}
load_extensions();
function event_socket_create($host, $port, $password) {
$esl = new event_socket;
if ($esl->connect($host, $port, $password)) {