Only include the elements that are installed.

This commit is contained in:
Mark Crane
2013-09-15 05:06:34 +00:00
parent 4dd45b61b0
commit 1df6d68c31

View File

@@ -31,44 +31,46 @@ require_once "resources/require.php";
$v_path_show = true;
//get user defined variables
if (strlen($_SESSION['user_defined_variables']) == 0) {
$sql = "select * from v_vars ";
$sql .= "where var_cat = 'Defaults' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
switch ($row["var_name"]) {
case "username":
//not allowed to override this value
break;
case "groups":
//not allowed to override this value
break;
case "menu":
//not allowed to override this value
break;
case "template_name":
//not allowed to override this value
break;
case "template_content":
//not allowed to override this value
break;
case "extension_array":
//not allowed to override this value
break;
case "user_extension_array":
//not allowed to override this value
break;
case "user_array":
//not allowed to override this value
break;
default:
$_SESSION[$row["var_name"]] = $row["var_value"];
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/vars/app_config.php")) {
if (strlen($_SESSION['user_defined_variables']) == 0) {
$sql = "select * from v_vars ";
$sql .= "where var_cat = 'Defaults' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
switch ($row["var_name"]) {
case "username":
//not allowed to override this value
break;
case "groups":
//not allowed to override this value
break;
case "menu":
//not allowed to override this value
break;
case "template_name":
//not allowed to override this value
break;
case "template_content":
//not allowed to override this value
break;
case "extension_array":
//not allowed to override this value
break;
case "user_extension_array":
//not allowed to override this value
break;
case "user_array":
//not allowed to override this value
break;
default:
$_SESSION[$row["var_name"]] = $row["var_value"];
}
}
//when this value is cleared it will re-read the user defined variables
$_SESSION["user_defined_variables"] = "set";
}
//when this value is cleared it will re-read the user defined variables
$_SESSION["user_defined_variables"] = "set";
}
/*
@@ -130,61 +132,65 @@ foreach($settings_array as $name => $value) {
*/
//create the recordings/archive/year/month/day directory structure
$v_recording_archive_dir = $_SESSION['switch']['recordings']['dir']."/archive/".date("Y")."/".date("M")."/".date("d");
if(!is_dir($v_recording_archive_dir)) {
mkdir($v_recording_archive_dir, 0764, true);
$recording_archive_dir = $_SESSION['switch']['recordings']['dir']."/archive/".date("Y")."/".date("M")."/".date("d");
if(!is_dir($recording_archive_dir)) {
mkdir($recording_archive_dir, 0764, true);
chmod($_SESSION['switch']['recordings']['dir']."/archive/".date("Y"), 0764);
chmod($_SESSION['switch']['recordings']['dir']."/archive/".date("Y")."/".date("M"), 0764);
chmod($v_recording_archive_dir, 0764);
chmod($recording_archive_dir, 0764);
}
//get the event socket information
if (strlen($_SESSION['event_socket_ip_address']) == 0) {
$sql = "select * from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
if ($prep_statement) {
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
$_SESSION['event_socket_ip_address'] = $row["event_socket_ip_address"];
$_SESSION['event_socket_port'] = $row["event_socket_port"];
$_SESSION['event_socket_password'] = $row["event_socket_password"];
break; //limit to 1 row
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/settings/app_config.php")) {
if (strlen($_SESSION['event_socket_ip_address']) == 0) {
$sql = "select * from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
if ($prep_statement) {
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
$_SESSION['event_socket_ip_address'] = $row["event_socket_ip_address"];
$_SESSION['event_socket_port'] = $row["event_socket_port"];
$_SESSION['event_socket_password'] = $row["event_socket_password"];
break; //limit to 1 row
}
}
}
}
//get the extensions that are assigned to this user
if (strlen($_SESSION["user_uuid"]) > 0 && count($_SESSION['user']['extension']) == 0) {
//get the user extension list
unset($_SESSION['user']['extension']);
$sql = "select e.extension, e.user_context, e.extension_uuid, e.outbound_caller_id_name, e.outbound_caller_id_number from v_extensions as e, v_extension_users as u ";
$sql .= "where 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 e.extension asc ";
$result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$x = 0;
foreach($result as $row) {
$_SESSION['user']['extension'][$x]['user'] = $row['extension'];
$_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'];
$_SESSION['user_context'] = $row["user_context"];
$x++;
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/extensions/app_config.php")) {
if (strlen($_SESSION["user_uuid"]) > 0 && count($_SESSION['user']['extension']) == 0) {
//get the user extension list
unset($_SESSION['user']['extension']);
$sql = "select e.extension, e.user_context, e.extension_uuid, e.outbound_caller_id_name, e.outbound_caller_id_number from v_extensions as e, v_extension_users as u ";
$sql .= "where 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 e.extension asc ";
$result = $db->query($sql)->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$x = 0;
foreach($result as $row) {
$_SESSION['user']['extension'][$x]['user'] = $row['extension'];
$_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'];
$_SESSION['user_context'] = $row["user_context"];
$x++;
}
}
}
//if no extension has been assigned then setting user_context will still need to be set
if (strlen($_SESSION['user_context']) == 0) {
if (count($_SESSION['domains']) == 1) {
$_SESSION['user_context'] = "default";
//if no extension has been assigned then setting user_context will still need to be set
if (strlen($_SESSION['user_context']) == 0) {
if (count($_SESSION['domains']) == 1) {
$_SESSION['user_context'] = "default";
}
else {
$_SESSION['user_context'] = $_SESSION['domain_name'];
}
}
else {
$_SESSION['user_context'] = $_SESSION['domain_name'];
}
}
}
}
function build_menu() {
@@ -326,17 +332,19 @@ function event_socket_request($fp, $cmd) {
function event_socket_request_cmd($cmd) {
global $db, $domain_uuid, $host;
$sql = "select * from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
$event_socket_ip_address = $row["event_socket_ip_address"];
$event_socket_port = $row["event_socket_port"];
$event_socket_password = $row["event_socket_password"];
break; //limit to 1 row
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/settings/app_config.php")) {
$sql = "select * from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
$event_socket_ip_address = $row["event_socket_ip_address"];
$event_socket_port = $row["event_socket_port"];
$event_socket_password = $row["event_socket_password"];
break; //limit to 1 row
}
unset ($prep_statement);
}
unset ($prep_statement);
$fp = event_socket_create($event_socket_ip_address, $event_socket_port, $event_socket_password);
$response = event_socket_request($fp, $cmd);
@@ -3035,13 +3043,27 @@ if (!function_exists('save_switch_xml')) {
$extension->xml();
}
if (is_readable($_SESSION['switch']['conf']['dir'])) {
save_setting_xml();
save_module_xml();
save_var_xml();
save_call_center_xml();
save_gateway_xml();
//save_ivr_menu_xml();
save_sip_profile_xml();
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/settings/app_config.php")) {
save_setting_xml();
}
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/modules/app_config.php")) {
save_module_xml();
}
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/vars/app_config.php")) {
save_var_xml();
}
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_center/app_config.php")) {
save_call_center_xml();
}
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/gateways/app_config.php")) {
save_gateway_xml();
}
//if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ivr_menu/app_config.php")) {
// save_ivr_menu_xml();
//}
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/sip_profiles/app_config.php")) {
save_sip_profile_xml();
}
}
}
}