Efficiency enhancement for upgrade and upgrade_schema by running global tasks one time rather than for each domain.
This commit is contained in:
parent
cc9fbb99a3
commit
17af99d5e5
|
|
@ -25,31 +25,35 @@
|
|||
*/
|
||||
|
||||
//if there are multiple domains then update the public dir path to include the domain
|
||||
if (count($_SESSION["domains"]) > 1) {
|
||||
if (is_dir($_SESSION['switch']['dialplan']['dir'].'/public')) {
|
||||
//clear out the old xml files
|
||||
$v_needle = '_v_';
|
||||
if($dh = opendir($_SESSION['switch']['dialplan']['dir'].'/public')) {
|
||||
$files = Array();
|
||||
while($file = readdir($dh)) {
|
||||
if($file != "." && $file != ".." && $file[0] != '.') {
|
||||
if(is_dir($dir . "/" . $file)) {
|
||||
//this is a directory
|
||||
} else {
|
||||
if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') {
|
||||
unlink($_SESSION['switch']['dialplan']['dir'].'/public/'.$file);
|
||||
if ($domains_processed == 1) {
|
||||
if (count($_SESSION["domains"]) > 1) {
|
||||
if (is_dir($_SESSION['switch']['dialplan']['dir'].'/public')) {
|
||||
//clear out the old xml files
|
||||
$v_needle = '_v_';
|
||||
if($dh = opendir($_SESSION['switch']['dialplan']['dir'].'/public')) {
|
||||
$files = Array();
|
||||
while($file = readdir($dh)) {
|
||||
if($file != "." && $file != ".." && $file[0] != '.') {
|
||||
if(is_dir($dir . "/" . $file)) {
|
||||
//this is a directory
|
||||
} else {
|
||||
if (strpos($file, $v_needle) !== false && substr($file,-4) == '.xml') {
|
||||
unlink($_SESSION['switch']['dialplan']['dir'].'/public/'.$file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
closedir($dh);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//if the public directory doesn't exist then create it
|
||||
if (strlen($_SESSION['switch']['dialplan']['dir']) > 0) {
|
||||
if (!is_dir($_SESSION['switch']['dialplan']['dir'].'/public')) { mkdir($_SESSION['switch']['dialplan']['dir'].'/public',0777,true); }
|
||||
if ($domains_processed == 1) {
|
||||
if (strlen($_SESSION['switch']['dialplan']['dir']) > 0) {
|
||||
if (!is_dir($_SESSION['switch']['dialplan']['dir'].'/public')) { mkdir($_SESSION['switch']['dialplan']['dir'].'/public',0777,true); }
|
||||
}
|
||||
}
|
||||
|
||||
//if multiple domains then make sure that the dialplan/public/domain_name.xml file exists
|
||||
|
|
@ -70,6 +74,6 @@
|
|||
unset($xml,$file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -25,14 +25,16 @@
|
|||
*/
|
||||
|
||||
//make sure that enum uses sofia internal in the enum.conf.xml file
|
||||
$file_contents = file_get_contents($switch_conf_dir."/autoload_configs/enum.conf.xml");
|
||||
$file_contents_new = str_replace("service=\"E2U+SIP\" regex=\"sip:(.*)\" replace=\"sofia/\${use_profile}/\$1", "service=\"E2U+SIP\" regex=\"sip:(.*)\" replace=\"sofia/internal/\$1", $file_contents);
|
||||
if ($file_contents != $file_contents_new) {
|
||||
$fout = fopen($switch_conf_dir."/autoload_configs/enum.conf.xml","w");
|
||||
fwrite($fout, $file_contents_new);
|
||||
fclose($fout);
|
||||
if ($display_type == "text") {
|
||||
echo " enum.conf.xml: updated\n";
|
||||
if ($domains_processed == 1) {
|
||||
$file_contents = file_get_contents($switch_conf_dir."/autoload_configs/enum.conf.xml");
|
||||
$file_contents_new = str_replace("service=\"E2U+SIP\" regex=\"sip:(.*)\" replace=\"sofia/\${use_profile}/\$1", "service=\"E2U+SIP\" regex=\"sip:(.*)\" replace=\"sofia/internal/\$1", $file_contents);
|
||||
if ($file_contents != $file_contents_new) {
|
||||
$fout = fopen($switch_conf_dir."/autoload_configs/enum.conf.xml","w");
|
||||
fwrite($fout, $file_contents_new);
|
||||
fclose($fout);
|
||||
if ($display_type == "text") {
|
||||
echo " enum.conf.xml: updated\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,8 +25,10 @@
|
|||
*/
|
||||
|
||||
//if the extensions dir doesn't exist then create it
|
||||
if (strlen($_SESSION['switch']['extensions']['dir']) > 0) {
|
||||
if (!is_dir($_SESSION['switch']['extensions']['dir'])) { mkdir($_SESSION['switch']['extensions']['dir'],0777,true); }
|
||||
if ($domains_processed == 1) {
|
||||
if (strlen($_SESSION['switch']['extensions']['dir']) > 0) {
|
||||
if (!is_dir($_SESSION['switch']['extensions']['dir'])) { mkdir($_SESSION['switch']['extensions']['dir'],0777,true); }
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -24,16 +24,19 @@
|
|||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//use the module class to get the list of modules from the db and add any missing modules
|
||||
require_once "includes/classes/switch_modules.php";
|
||||
$mod = new switch_modules;
|
||||
$mod->db = $db;
|
||||
$mod->dir = $_SESSION['switch']['mod']['dir'];
|
||||
$mod->get_modules();
|
||||
$mod->synch();
|
||||
$msg = $mod->msg;
|
||||
|
||||
// synchronize the modules
|
||||
save_module_xml();
|
||||
//use the module class to get the list of modules from the db and add any missing modules
|
||||
if ($domains_processed == 1) {
|
||||
require_once "includes/classes/switch_modules.php";
|
||||
$mod = new switch_modules;
|
||||
$mod->db = $db;
|
||||
$mod->dir = $_SESSION['switch']['mod']['dir'];
|
||||
$mod->get_modules();
|
||||
$mod->synch();
|
||||
$msg = $mod->msg;
|
||||
|
||||
//synchronize the modules
|
||||
save_module_xml();
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -25,41 +25,43 @@
|
|||
*/
|
||||
|
||||
//if the number of rows is 0 then add example clips
|
||||
$sql = "select count(*) as num_rows from v_clips ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$clip_name = "\$_POST";
|
||||
$clip_folder = "PHP";
|
||||
$clip_text_start = "\$zzz = \$_POST[\"";
|
||||
$clip_text_end = "\"];";
|
||||
$clip_desc = "Set HTTP POST value as a PHP variable.";
|
||||
$clip_order = 0;
|
||||
if ($domains_processed == 1) {
|
||||
$sql = "select count(*) as num_rows from v_clips ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$clip_name = "\$_POST";
|
||||
$clip_folder = "PHP";
|
||||
$clip_text_start = "\$zzz = \$_POST[\"";
|
||||
$clip_text_end = "\"];";
|
||||
$clip_desc = "Set HTTP POST value as a PHP variable.";
|
||||
$clip_order = 0;
|
||||
|
||||
$sql = "insert into v_clips ";
|
||||
$sql .= "(";
|
||||
$sql .= "clip_uuid, ";
|
||||
$sql .= "clip_name, ";
|
||||
$sql .= "clip_folder, ";
|
||||
$sql .= "clip_text_start, ";
|
||||
$sql .= "clip_text_end, ";
|
||||
$sql .= "clip_desc, ";
|
||||
$sql .= "clip_order ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$clip_name', ";
|
||||
$sql .= "'$clip_folder', ";
|
||||
$sql .= "'$clip_text_start', ";
|
||||
$sql .= "'$clip_text_end', ";
|
||||
$sql .= "'$clip_desc', ";
|
||||
$sql .= "'$clip_order' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$sql = "insert into v_clips ";
|
||||
$sql .= "(";
|
||||
$sql .= "clip_uuid, ";
|
||||
$sql .= "clip_name, ";
|
||||
$sql .= "clip_folder, ";
|
||||
$sql .= "clip_text_start, ";
|
||||
$sql .= "clip_text_end, ";
|
||||
$sql .= "clip_desc, ";
|
||||
$sql .= "clip_order ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$clip_name', ";
|
||||
$sql .= "'$clip_folder', ";
|
||||
$sql .= "'$clip_text_start', ";
|
||||
$sql .= "'$clip_text_end', ";
|
||||
$sql .= "'$clip_desc', ";
|
||||
$sql .= "'$clip_order' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2012
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//move the smtp settings from v_settings to the v_default_settings table
|
||||
if (count($_SESSION['email']) == 0 && $domains_processed == 1) {
|
||||
//get the data from the database
|
||||
$sql = "select * from v_settings ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_NAMED);
|
||||
//set the variable
|
||||
$smtp[]['smtp_host'] = check_str($row['smtp_host']);
|
||||
$smtp[]['smtp_secure'] = check_str($row['smtp_secure']);
|
||||
$smtp[]['smtp_auth'] = check_str($row['smtp_auth']);
|
||||
$smtp[]['smtp_username'] = check_str($row['smtp_username']);
|
||||
$smtp[]['smtp_password'] = check_str($row['smtp_password']);
|
||||
$smtp[]['smtp_from'] = check_str($row['smtp_from']);
|
||||
$smtp[]['smtp_from_name'] = check_str($row['smtp_from_name']);
|
||||
//build the sql inserts
|
||||
foreach ($smtp as $row) {
|
||||
foreach ($row as $key => $value) {
|
||||
//add the provision variable to the default settings table
|
||||
$sql = "insert into v_default_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "default_setting_uuid, ";
|
||||
$sql .= "default_setting_category, ";
|
||||
$sql .= "default_setting_subcategory, ";
|
||||
$sql .= "default_setting_name, ";
|
||||
$sql .= "default_setting_value, ";
|
||||
$sql .= "default_setting_enabled, ";
|
||||
$sql .= "default_setting_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'email', ";
|
||||
$sql .= "'".$key."', ";
|
||||
$sql .= "'var', ";
|
||||
$sql .= "'".check_str($value)."', ";
|
||||
$sql .= "'true', ";
|
||||
$sql .= "'' ";
|
||||
$sql .= ")";
|
||||
//echo $sql."\n";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -25,110 +25,114 @@
|
|||
*/
|
||||
|
||||
//if the number of rows is 0 then read the sip profile xml into the database
|
||||
$sql = "select count(*) as num_rows from v_sip_profiles ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$xml_list = glob($_SESSION['switch']['conf']['dir']."/sip_profiles/*.xml");
|
||||
foreach ($xml_list as &$xml_file) {
|
||||
//load the sip profile xml and save it into an array
|
||||
$sip_profile_xml = file_get_contents($xml_file);
|
||||
$xml = simplexml_load_string($sip_profile_xml);
|
||||
$json = json_encode($xml);
|
||||
$sip_profile = json_decode($json, true);
|
||||
$sip_profile_name = $sip_profile['@attributes']['name'];
|
||||
//echo "sip profile name: ".$sip_profile_name."\n";
|
||||
if ($domains_processed == 1) {
|
||||
$sql = "select count(*) as num_rows from v_sip_profiles ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$xml_list = glob($_SESSION['switch']['conf']['dir']."/sip_profiles/*.xml");
|
||||
foreach ($xml_list as &$xml_file) {
|
||||
//load the sip profile xml and save it into an array
|
||||
$sip_profile_xml = file_get_contents($xml_file);
|
||||
$xml = simplexml_load_string($sip_profile_xml);
|
||||
$json = json_encode($xml);
|
||||
$sip_profile = json_decode($json, true);
|
||||
$sip_profile_name = $sip_profile['@attributes']['name'];
|
||||
//echo "sip profile name: ".$sip_profile_name."\n";
|
||||
|
||||
if ($sip_profile_name != "{v_sip_profile_name}") {
|
||||
//prepare the description
|
||||
switch ($sip_profile_name) {
|
||||
case "internal":
|
||||
$sip_profile_description = "The Internal profile by default requires registration which is used by the endpoints. ";
|
||||
$sip_profile_description .= "By default the Internal profile binds to port 5060. ";
|
||||
break;
|
||||
case "internal-ipv6":
|
||||
$sip_profile_description = "The Internal IPV6 profile binds to the IP version 6 address and is similar to the Internal profile.\n";
|
||||
break;
|
||||
case "external":
|
||||
$sip_profile_description .= "The External profile external provides anonymous calling in the public context. ";
|
||||
$sip_profile_description .= "By default the External profile binds to port 5080. ";
|
||||
$sip_profile_description .= "Calls can be sent using a SIP URL \"voip.domain.com:5080\" ";
|
||||
break;
|
||||
case "lan":
|
||||
$sip_profile_description = "The LAN profile is the same as the Internal profile except that it is bound to the LAN IP.\n";
|
||||
break;
|
||||
default:
|
||||
$sip_profile_description .= '';
|
||||
}
|
||||
if ($sip_profile_name != "{v_sip_profile_name}") {
|
||||
//prepare the description
|
||||
switch ($sip_profile_name) {
|
||||
case "internal":
|
||||
$sip_profile_description = "The Internal profile by default requires registration which is used by the endpoints. ";
|
||||
$sip_profile_description .= "By default the Internal profile binds to port 5060. ";
|
||||
break;
|
||||
case "internal-ipv6":
|
||||
$sip_profile_description = "The Internal IPV6 profile binds to the IP version 6 address and is similar to the Internal profile.\n";
|
||||
break;
|
||||
case "external":
|
||||
$sip_profile_description .= "The External profile external provides anonymous calling in the public context. ";
|
||||
$sip_profile_description .= "By default the External profile binds to port 5080. ";
|
||||
$sip_profile_description .= "Calls can be sent using a SIP URL \"voip.domain.com:5080\" ";
|
||||
break;
|
||||
case "lan":
|
||||
$sip_profile_description = "The LAN profile is the same as the Internal profile except that it is bound to the LAN IP.\n";
|
||||
break;
|
||||
default:
|
||||
$sip_profile_description .= '';
|
||||
}
|
||||
|
||||
//add the sip profile
|
||||
$sip_profile_uuid = uuid();
|
||||
$sql = "insert into v_sip_profiles";
|
||||
$sql .= "(";
|
||||
$sql .= "sip_profile_uuid, ";
|
||||
$sql .= "sip_profile_name, ";
|
||||
$sql .= "sip_profile_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "( ";
|
||||
$sql .= "'".check_str($sip_profile_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_name)."', ";
|
||||
$sql .= "'".check_str($sip_profile_description)."' ";
|
||||
$sql .= ")";
|
||||
//echo $sql."\n\n";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
//add the sip profile
|
||||
$sip_profile_uuid = uuid();
|
||||
$sql = "insert into v_sip_profiles";
|
||||
$sql .= "(";
|
||||
$sql .= "sip_profile_uuid, ";
|
||||
$sql .= "sip_profile_name, ";
|
||||
$sql .= "sip_profile_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "( ";
|
||||
$sql .= "'".check_str($sip_profile_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_name)."', ";
|
||||
$sql .= "'".check_str($sip_profile_description)."' ";
|
||||
$sql .= ")";
|
||||
//echo $sql."\n\n";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
//add the sip profile settings
|
||||
foreach ($sip_profile['settings']['param'] as $row) {
|
||||
//get the name and value pair
|
||||
$sip_profile_setting_name = $row['@attributes']['name'];
|
||||
$sip_profile_setting_value = $row['@attributes']['value'];
|
||||
//echo "name: $name value: $value\n";
|
||||
//add the profile settings into the database
|
||||
$sip_profile_setting_uuid = uuid();
|
||||
$sql = "insert into v_sip_profile_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "sip_profile_setting_uuid, ";
|
||||
$sql .= "sip_profile_uuid, ";
|
||||
$sql .= "sip_profile_setting_name, ";
|
||||
$sql .= "sip_profile_setting_value, ";
|
||||
$sql .= "sip_profile_setting_enabled ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "( ";
|
||||
$sql .= "'".check_str($sip_profile_setting_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_setting_name)."', ";
|
||||
$sql .= "'".check_str($sip_profile_setting_value)."', ";
|
||||
$sql .= "'true' ";
|
||||
$sql .= ")";
|
||||
//echo $sql."\n\n";
|
||||
$db->exec(check_sql($sql));
|
||||
}
|
||||
//add the sip profile settings
|
||||
foreach ($sip_profile['settings']['param'] as $row) {
|
||||
//get the name and value pair
|
||||
$sip_profile_setting_name = $row['@attributes']['name'];
|
||||
$sip_profile_setting_value = $row['@attributes']['value'];
|
||||
//echo "name: $name value: $value\n";
|
||||
//add the profile settings into the database
|
||||
$sip_profile_setting_uuid = uuid();
|
||||
$sql = "insert into v_sip_profile_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "sip_profile_setting_uuid, ";
|
||||
$sql .= "sip_profile_uuid, ";
|
||||
$sql .= "sip_profile_setting_name, ";
|
||||
$sql .= "sip_profile_setting_value, ";
|
||||
$sql .= "sip_profile_setting_enabled ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "( ";
|
||||
$sql .= "'".check_str($sip_profile_setting_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_uuid)."', ";
|
||||
$sql .= "'".check_str($sip_profile_setting_name)."', ";
|
||||
$sql .= "'".check_str($sip_profile_setting_value)."', ";
|
||||
$sql .= "'true' ";
|
||||
$sql .= ")";
|
||||
//echo $sql."\n\n";
|
||||
$db->exec(check_sql($sql));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//if there is more than one domain then disable the force domains sip profile settings
|
||||
if (count($_SESSION['domains']) > 1) {
|
||||
//disable force domains
|
||||
$sql = "update v_sip_profile_settings set ";
|
||||
$sql .= "sip_profile_setting_enabled = 'false' ";
|
||||
$sql .= "where sip_profile_setting_name = 'force-register-domain'";
|
||||
$sql .= "or sip_profile_setting_name = 'force-subscription-domain'";
|
||||
$sql .= "or sip_profile_setting_name = 'force-register-db-domain'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
if ($domains_processed == 1) {
|
||||
if (count($_SESSION['domains']) > 1) {
|
||||
//disable force domains
|
||||
$sql = "update v_sip_profile_settings set ";
|
||||
$sql .= "sip_profile_setting_enabled = 'false' ";
|
||||
$sql .= "where sip_profile_setting_name = 'force-register-domain'";
|
||||
$sql .= "or sip_profile_setting_name = 'force-subscription-domain'";
|
||||
$sql .= "or sip_profile_setting_name = 'force-register-db-domain'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
//save the sip profile xml
|
||||
save_sip_profile_xml();
|
||||
//save the sip profile xml
|
||||
save_sip_profile_xml();
|
||||
|
||||
//apply settings reminder
|
||||
$_SESSION["reload_xml"] = true;
|
||||
//apply settings reminder
|
||||
$_SESSION["reload_xml"] = true;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -24,95 +24,99 @@
|
|||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
$vars_string = <<<EOD
|
||||
[
|
||||
{"var_name":"domain","var_value":"\$\${local_ip_v4}","var_cat":"Domain","var_enabled":"true","var_description":"U2V0cyB0aGUgZGVmYXVsdCBkb21haW4u"},
|
||||
{"var_name":"domain_name","var_value":"\$\${domain}","var_cat":"Domain","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sound_prefix","var_value":"\$\${base_dir}/sounds/en/us/callie","var_cat":"Sound","var_enabled":"true","var_description":"U2V0cyB0aGUgc291bmQgZGlyZWN0b3J5Lg=="},
|
||||
{"var_name":"hold_music","var_value":"local_stream://moh","var_cat":"Music on Hold","var_enabled":"true","var_description":""},
|
||||
{"var_name":"global_codec_prefs","var_value":"G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM","var_cat":"Codecs","var_enabled":"true","var_description":"RzcyMjFAMzIwMDBoLEc3MjIxQDE2MDAwaCxHNzIyLFBDTVUsUENNQSxpTEJDLEdTTSxIMjYzLEgyNjQ="},
|
||||
{"var_name":"outbound_codec_prefs","var_value":"PCMU,PCMA,GSM","var_cat":"Codecs","var_enabled":"true","var_description":"ZGVmYXVsdDogUENNVSxQQ01BLEdTTQ=="},
|
||||
{"var_name":"xmpp_client_profile","var_value":"xmppc","var_cat":"Dingaling","var_enabled":"true","var_description":"eG1wcF9jbGllbnRfcHJvZmlsZSBhbmQgeG1wcF9zZXJ2ZXJfcHJvZmlsZSB4bXBwX2NsaWVudF9wcm9maWxlIGNhbiBiZSBhbnkgc3RyaW5nLiB4bXBwX3NlcnZlcl9wcm9maWxlIGlzIGFwcGVuZGVkIHRvICJkaW5nYWxpbmdfIiB0byBmb3JtIHRoZSBkYXRhYmFzZSBuYW1lIGNvbnRhaW5pbmcgdGhlICJzdWJzY3JpcHRpb25zIiB0YWJsZS4gdXNlZCBieTogZGluZ2FsaW5nLmNvbmYueG1sIGVudW0uY29uZi54bWw="},
|
||||
{"var_name":"xmpp_server_profile","var_value":"xmpps","var_cat":"Dingaling","var_enabled":"true","var_description":""},
|
||||
{"var_name":"bind_server_ip","var_value":"auto","var_cat":"Dingaling","var_enabled":"true","var_description":"Q2FuIGJlIGFuIGlwIGFkZHJlc3MsIGEgZG5zIG5hbWUsIG9yICJhdXRvIi4gVGhpcyBkZXRlcm1pbmVzIGFuIGlwIGFkZHJlc3MgYXZhaWxhYmxlIG9uIHRoaXMgaG9zdCB0byBiaW5kLiBJZiB5b3UgYXJlIHNlcGFyYXRpbmcgUlRQIGFuZCBTSVAgdHJhZmZpYywgeW91IHdpbGwgd2FudCB0byBoYXZlIHVzZSBkaWZmZXJlbnQgYWRkcmVzc2VzIHdoZXJlIHRoaXMgdmFyaWFibGUgYXBwZWFycy4gVXNlZCBieTogZGluZ2FsaW5nLmNvbmYueG1s"},
|
||||
{"var_name":"external_rtp_ip","var_value":"auto-nat","var_cat":"IP Address","var_enabled":"true","var_description":"KElmIHlvdScncmUgZ29pbmcgdG8gbG9hZCB0ZXN0IHRoZW4gcGxlYXNlIGlucHV0IHJlYWwgSVAgYWRkcmVzc2VzIGZvciBleHRlcm5hbF9ydHBfaXAgYW5kIGV4dGVybmFsX3NpcF9pcCkNCg0KQ2FuIGJlIGFuIG9uZSBvZjoNCiAgIGlwIGFkZHJlc3M6ICIxMi4zNC41Ni43OCINCiAgIGEgc3R1biBzZXJ2ZXIgbG9va3VwOiAic3R1bjpzdHVuLnNlcnZlci5jb20iDQogICBhIEROUyBuYW1lOiAiaG9zdDpob3N0LnNlcnZlci5jb20iDQoNCndoZXJlIGZzLm15ZG9tYWluLmNvbSBpcyBhIEROUyBBIHJlY29yZC11c2VmdWwgd2hlbiBmcyBpcyBvbiBhIGR5bmFtaWMgSVAgYWRkcmVzcywgYW5kIHVzZXMgYSBkeW5hbWljIEROUyB1cGRhdGVyLiBJZiB1bnNwZWNpZmllZCwgdGhlIGJpbmRfc2VydmVyX2lwIHZhbHVlIGlzIHVzZWQuIFVzZWQgYnk6IHNvZmlhLmNvbmYueG1sIGRpbmdhbGluZy5jb25mLnhtbA=="},
|
||||
{"var_name":"external_sip_ip","var_value":"auto-nat","var_cat":"IP Address","var_enabled":"true","var_description":"VXNlZCBhcyB0aGUgcHVibGljIElQIGFkZHJlc3MgZm9yIFNEUC4NCg0KQ2FuIGJlIGFuIG9uZSBvZjoNCiAgIGlwIGFkZHJlc3M6ICIxMi4zNC41Ni43OCINCiAgIGEgc3R1biBzZXJ2ZXIgbG9va3VwOiAic3R1bjpzdHVuLnNlcnZlci5jb20iDQogICBhIEROUyBuYW1lOiAiaG9zdDpob3N0LnNlcnZlci5jb20iDQoNCndoZXJlIGZzLm15ZG9tYWluLmNvbSBpcyBhIEROUyBBIHJlY29yZC11c2VmdWwgd2hlbiBmcyBpcyBvbiBhIGR5bmFtaWMgSVAgYWRkcmVzcywgYW5kIHVzZXMgYSBkeW5hbWljIEROUyB1cGRhdGVyLiBJZiB1bnNwZWNpZmllZCwgdGhlIGJpbmRfc2VydmVyX2lwIHZhbHVlIGlzIHVzZWQuIFVzZWQgYnk6IHNvZmlhLmNvbmYueG1sIGRpbmdhbGluZy5jb25mLnhtbA=="},
|
||||
{"var_name":"unroll_loops","var_value":"true","var_cat":"SIP","var_enabled":"true","var_description":"VXNlZCB0byB0dXJuIG9uIHNpcCBsb29wYmFjayB1bnJvbGxpbmcu"},
|
||||
{"var_name":"call_debug","var_value":"false","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"console_loglevel","var_value":"info","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_areacode","var_value":"208","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"uk-ring","var_value":"%(400,200,400,450);%(400,2200,400,450)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"us-ring","var_value":"%(2000, 4000, 440.0, 480.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"fr-ring","var_value":"%(1500, 3500, 440.0, 0.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"rs-ring","var_value":"%(1000, 4000, 425.0, 0.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"bong-ring","var_value":"v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sit","var_value":"%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sip_tls_version","var_value":"tlsv1","var_cat":"SIP","var_enabled":"true","var_description":"U0lQIGFuZCBUTFMgc2V0dGluZ3Mu"},
|
||||
{"var_name":"internal_auth_calls","var_value":"true","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_sip_port","var_value":"5060","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_tls_port","var_value":"5061","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_ssl_enable","var_value":"false","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_auth_calls","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_sip_port","var_value":"5080","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_tls_port","var_value":"5081","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_ssl_enable","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"use_profile","var_value":"internal","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_language","var_value":"en","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_dialect","var_value":"us","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_voice","var_value":"callie","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"ajax_refresh_rate","var_value":"3000","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"format_phone","var_value":"Rxxx-xxx-xxxx","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"format_phone","var_value":"xxx-xxx-xxxx","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"xml_cdr_archive","var_value":"dir","var_cat":"Defaults","var_enabled":"true","var_description":""}
|
||||
]
|
||||
EOD;
|
||||
if ($domains_processed == 1) {
|
||||
$vars_string = <<<EOD
|
||||
[
|
||||
{"var_name":"domain","var_value":"\$\${local_ip_v4}","var_cat":"Domain","var_enabled":"true","var_description":"U2V0cyB0aGUgZGVmYXVsdCBkb21haW4u"},
|
||||
{"var_name":"domain_name","var_value":"\$\${domain}","var_cat":"Domain","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sound_prefix","var_value":"\$\${base_dir}/sounds/en/us/callie","var_cat":"Sound","var_enabled":"true","var_description":"U2V0cyB0aGUgc291bmQgZGlyZWN0b3J5Lg=="},
|
||||
{"var_name":"hold_music","var_value":"local_stream://moh","var_cat":"Music on Hold","var_enabled":"true","var_description":""},
|
||||
{"var_name":"global_codec_prefs","var_value":"G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM","var_cat":"Codecs","var_enabled":"true","var_description":"RzcyMjFAMzIwMDBoLEc3MjIxQDE2MDAwaCxHNzIyLFBDTVUsUENNQSxpTEJDLEdTTSxIMjYzLEgyNjQ="},
|
||||
{"var_name":"outbound_codec_prefs","var_value":"PCMU,PCMA,GSM","var_cat":"Codecs","var_enabled":"true","var_description":"ZGVmYXVsdDogUENNVSxQQ01BLEdTTQ=="},
|
||||
{"var_name":"xmpp_client_profile","var_value":"xmppc","var_cat":"Dingaling","var_enabled":"true","var_description":"eG1wcF9jbGllbnRfcHJvZmlsZSBhbmQgeG1wcF9zZXJ2ZXJfcHJvZmlsZSB4bXBwX2NsaWVudF9wcm9maWxlIGNhbiBiZSBhbnkgc3RyaW5nLiB4bXBwX3NlcnZlcl9wcm9maWxlIGlzIGFwcGVuZGVkIHRvICJkaW5nYWxpbmdfIiB0byBmb3JtIHRoZSBkYXRhYmFzZSBuYW1lIGNvbnRhaW5pbmcgdGhlICJzdWJzY3JpcHRpb25zIiB0YWJsZS4gdXNlZCBieTogZGluZ2FsaW5nLmNvbmYueG1sIGVudW0uY29uZi54bWw="},
|
||||
{"var_name":"xmpp_server_profile","var_value":"xmpps","var_cat":"Dingaling","var_enabled":"true","var_description":""},
|
||||
{"var_name":"bind_server_ip","var_value":"auto","var_cat":"Dingaling","var_enabled":"true","var_description":"Q2FuIGJlIGFuIGlwIGFkZHJlc3MsIGEgZG5zIG5hbWUsIG9yICJhdXRvIi4gVGhpcyBkZXRlcm1pbmVzIGFuIGlwIGFkZHJlc3MgYXZhaWxhYmxlIG9uIHRoaXMgaG9zdCB0byBiaW5kLiBJZiB5b3UgYXJlIHNlcGFyYXRpbmcgUlRQIGFuZCBTSVAgdHJhZmZpYywgeW91IHdpbGwgd2FudCB0byBoYXZlIHVzZSBkaWZmZXJlbnQgYWRkcmVzc2VzIHdoZXJlIHRoaXMgdmFyaWFibGUgYXBwZWFycy4gVXNlZCBieTogZGluZ2FsaW5nLmNvbmYueG1s"},
|
||||
{"var_name":"external_rtp_ip","var_value":"auto-nat","var_cat":"IP Address","var_enabled":"true","var_description":"KElmIHlvdScncmUgZ29pbmcgdG8gbG9hZCB0ZXN0IHRoZW4gcGxlYXNlIGlucHV0IHJlYWwgSVAgYWRkcmVzc2VzIGZvciBleHRlcm5hbF9ydHBfaXAgYW5kIGV4dGVybmFsX3NpcF9pcCkNCg0KQ2FuIGJlIGFuIG9uZSBvZjoNCiAgIGlwIGFkZHJlc3M6ICIxMi4zNC41Ni43OCINCiAgIGEgc3R1biBzZXJ2ZXIgbG9va3VwOiAic3R1bjpzdHVuLnNlcnZlci5jb20iDQogICBhIEROUyBuYW1lOiAiaG9zdDpob3N0LnNlcnZlci5jb20iDQoNCndoZXJlIGZzLm15ZG9tYWluLmNvbSBpcyBhIEROUyBBIHJlY29yZC11c2VmdWwgd2hlbiBmcyBpcyBvbiBhIGR5bmFtaWMgSVAgYWRkcmVzcywgYW5kIHVzZXMgYSBkeW5hbWljIEROUyB1cGRhdGVyLiBJZiB1bnNwZWNpZmllZCwgdGhlIGJpbmRfc2VydmVyX2lwIHZhbHVlIGlzIHVzZWQuIFVzZWQgYnk6IHNvZmlhLmNvbmYueG1sIGRpbmdhbGluZy5jb25mLnhtbA=="},
|
||||
{"var_name":"external_sip_ip","var_value":"auto-nat","var_cat":"IP Address","var_enabled":"true","var_description":"VXNlZCBhcyB0aGUgcHVibGljIElQIGFkZHJlc3MgZm9yIFNEUC4NCg0KQ2FuIGJlIGFuIG9uZSBvZjoNCiAgIGlwIGFkZHJlc3M6ICIxMi4zNC41Ni43OCINCiAgIGEgc3R1biBzZXJ2ZXIgbG9va3VwOiAic3R1bjpzdHVuLnNlcnZlci5jb20iDQogICBhIEROUyBuYW1lOiAiaG9zdDpob3N0LnNlcnZlci5jb20iDQoNCndoZXJlIGZzLm15ZG9tYWluLmNvbSBpcyBhIEROUyBBIHJlY29yZC11c2VmdWwgd2hlbiBmcyBpcyBvbiBhIGR5bmFtaWMgSVAgYWRkcmVzcywgYW5kIHVzZXMgYSBkeW5hbWljIEROUyB1cGRhdGVyLiBJZiB1bnNwZWNpZmllZCwgdGhlIGJpbmRfc2VydmVyX2lwIHZhbHVlIGlzIHVzZWQuIFVzZWQgYnk6IHNvZmlhLmNvbmYueG1sIGRpbmdhbGluZy5jb25mLnhtbA=="},
|
||||
{"var_name":"unroll_loops","var_value":"true","var_cat":"SIP","var_enabled":"true","var_description":"VXNlZCB0byB0dXJuIG9uIHNpcCBsb29wYmFjayB1bnJvbGxpbmcu"},
|
||||
{"var_name":"call_debug","var_value":"false","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"console_loglevel","var_value":"info","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_areacode","var_value":"208","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"uk-ring","var_value":"%(400,200,400,450);%(400,2200,400,450)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"us-ring","var_value":"%(2000, 4000, 440.0, 480.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"fr-ring","var_value":"%(1500, 3500, 440.0, 0.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"rs-ring","var_value":"%(1000, 4000, 425.0, 0.0)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"bong-ring","var_value":"v=-7;%(100,0,941.0,1477.0);v=-7;>=2;+=.1;%(1400,0,350,440)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sit","var_value":"%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"sip_tls_version","var_value":"tlsv1","var_cat":"SIP","var_enabled":"true","var_description":"U0lQIGFuZCBUTFMgc2V0dGluZ3Mu"},
|
||||
{"var_name":"internal_auth_calls","var_value":"true","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_sip_port","var_value":"5060","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_tls_port","var_value":"5061","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_ssl_enable","var_value":"false","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"internal_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_auth_calls","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_sip_port","var_value":"5080","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_tls_port","var_value":"5081","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_ssl_enable","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"external_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""},
|
||||
{"var_name":"use_profile","var_value":"internal","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_language","var_value":"en","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_dialect","var_value":"us","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"default_voice","var_value":"callie","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"ajax_refresh_rate","var_value":"3000","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"format_phone","var_value":"Rxxx-xxx-xxxx","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"format_phone","var_value":"xxx-xxx-xxxx","var_cat":"Defaults","var_enabled":"true","var_description":""},
|
||||
{"var_name":"xml_cdr_archive","var_value":"dir","var_cat":"Defaults","var_enabled":"true","var_description":""}
|
||||
]
|
||||
EOD;
|
||||
|
||||
//if there are no variables in the vars table then add them
|
||||
$sql = " select count(*) as num_rows from v_vars ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$result = json_decode($vars_string, true);
|
||||
$x = 1;
|
||||
foreach($result as $row) {
|
||||
$sql = "insert into v_vars ";
|
||||
$sql .= "(";
|
||||
$sql .= "var_uuid, ";
|
||||
$sql .= "var_name, ";
|
||||
$sql .= "var_value, ";
|
||||
$sql .= "var_cat, ";
|
||||
$sql .= "var_enabled, ";
|
||||
$sql .= "var_order, ";
|
||||
$sql .= "var_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".$row['var_name']."', ";
|
||||
$sql .= "'".$row['var_value']."', ";
|
||||
$sql .= "'".$row['var_cat']."', ";
|
||||
$sql .= "'".$row['var_enabled']."', ";
|
||||
$sql .= "'".$x."', ";
|
||||
$sql .= "'".$row['var_description']."' ";
|
||||
$sql .= ");";
|
||||
$db->exec($sql);
|
||||
unset($sql);
|
||||
$x++;
|
||||
//if there are no variables in the vars table then add them
|
||||
$sql = " select count(*) as num_rows from v_vars ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] == 0) {
|
||||
$result = json_decode($vars_string, true);
|
||||
$x = 1;
|
||||
foreach($result as $row) {
|
||||
$sql = "insert into v_vars ";
|
||||
$sql .= "(";
|
||||
$sql .= "var_uuid, ";
|
||||
$sql .= "var_name, ";
|
||||
$sql .= "var_value, ";
|
||||
$sql .= "var_cat, ";
|
||||
$sql .= "var_enabled, ";
|
||||
$sql .= "var_order, ";
|
||||
$sql .= "var_description ";
|
||||
$sql .= ") ";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".$row['var_name']."', ";
|
||||
$sql .= "'".$row['var_value']."', ";
|
||||
$sql .= "'".$row['var_cat']."', ";
|
||||
$sql .= "'".$row['var_enabled']."', ";
|
||||
$sql .= "'".$x."', ";
|
||||
$sql .= "'".$row['var_description']."' ";
|
||||
$sql .= ");";
|
||||
$db->exec($sql);
|
||||
unset($sql);
|
||||
$x++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($prep_statement, $result);
|
||||
unset($prep_statement, $result);
|
||||
}
|
||||
|
||||
//if there is more than one domain then disable the domain variable
|
||||
if (count($_SESSION['domains']) > 1) {
|
||||
$sql = "update v_vars set ";
|
||||
$sql .= "var_enabled = 'false' ";
|
||||
$sql .= "where var_name = 'domain'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
if ($domains_processed == 1) {
|
||||
if (count($_SESSION['domains']) > 1) {
|
||||
$sql = "update v_vars set ";
|
||||
$sql .= "var_enabled = 'false' ";
|
||||
$sql .= "where var_name = 'domain'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -25,14 +25,16 @@
|
|||
*/
|
||||
|
||||
//make sure that prefix-a-leg is set to true in the xml_cdr.conf.xml file
|
||||
$file_contents = file_get_contents($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml");
|
||||
$file_contents_new = str_replace("param name=\"prefix-a-leg\" value=\"false\"/", "param name=\"prefix-a-leg\" value=\"true\"/", $file_contents);
|
||||
if ($file_contents != $file_contents_new) {
|
||||
$fout = fopen($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml","w");
|
||||
fwrite($fout, $file_contents_new);
|
||||
fclose($fout);
|
||||
if ($display_type == "text") {
|
||||
echo " xml_cdr.conf.xml: updated\n";
|
||||
if ($domains_processed == 1) {
|
||||
$file_contents = file_get_contents($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml");
|
||||
$file_contents_new = str_replace("param name=\"prefix-a-leg\" value=\"false\"/", "param name=\"prefix-a-leg\" value=\"true\"/", $file_contents);
|
||||
if ($file_contents != $file_contents_new) {
|
||||
$fout = fopen($_SESSION['switch']['conf']['dir']."/autoload_configs/xml_cdr.conf.xml","w");
|
||||
fwrite($fout, $file_contents_new);
|
||||
fclose($fout);
|
||||
if ($display_type == "text") {
|
||||
echo " xml_cdr.conf.xml: updated\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,129 +24,131 @@
|
|||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//set the database driver
|
||||
$sql = "select * from v_databases ";
|
||||
$sql .= "where database_driver is null ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$database_uuid = $row["database_uuid"];
|
||||
$database_type = $row["database_type"];
|
||||
$database_type_array = explode(":", $database_type);
|
||||
if ($database_type_array[0] == "odbc") {
|
||||
$database_driver = $database_type_array[1];
|
||||
}
|
||||
else {
|
||||
$database_driver = $database_type_array[0];
|
||||
}
|
||||
$sql = "update v_databases set ";
|
||||
$sql .= "database_driver = '$database_driver' ";
|
||||
$sql .= "where database_uuid = '$database_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
|
||||
if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
|
||||
|
||||
//get the odbc information
|
||||
$sql = "select count(*) as num_rows from v_databases ";
|
||||
$sql .= "where database_driver = 'odbc' ";
|
||||
if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] > 0) {
|
||||
$odbc_num_rows = $row['num_rows'];
|
||||
|
||||
$sql = "select * from v_databases ";
|
||||
$sql .= "where database_driver = 'odbc' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$dsn_name = $row["database_name"];
|
||||
$dsn_username = $row["database_username"];
|
||||
$dsn_password = $row["database_password"];
|
||||
break; //limit to 1 row
|
||||
}
|
||||
unset ($prep_statement);
|
||||
//proccess this only one time
|
||||
if ($domains_processed == 1) {
|
||||
//set the database driver
|
||||
$sql = "select * from v_databases ";
|
||||
$sql .= "where database_driver is null ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$database_uuid = $row["database_uuid"];
|
||||
$database_type = $row["database_type"];
|
||||
$database_type_array = explode(":", $database_type);
|
||||
if ($database_type_array[0] == "odbc") {
|
||||
$database_driver = $database_type_array[1];
|
||||
}
|
||||
else {
|
||||
$odbc_num_rows = '0';
|
||||
$database_driver = $database_type_array[0];
|
||||
}
|
||||
$sql = "update v_databases set ";
|
||||
$sql .= "database_driver = '$database_driver' ";
|
||||
$sql .= "where database_uuid = '$database_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
}
|
||||
|
||||
//config.lua
|
||||
$fout = fopen($_SESSION['switch']['scripts']['dir']."/resources/config.lua","w");
|
||||
$tmp = "\n";
|
||||
$tmp .= "--switch directories\n";
|
||||
if (strlen($_SESSION['switch']['sounds']['dir']) > 0) {
|
||||
$tmp .= " sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n";
|
||||
}
|
||||
if (strlen($_SESSION['switch']['recordings']['dir']) > 0) {
|
||||
$tmp .= " recordings_dir = \"".$_SESSION['switch']['recordings']['dir']."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "--database connection info\n";
|
||||
if (strlen($db_type) > 0) {
|
||||
$tmp .= " db_type = \"".$db_type."\";\n";
|
||||
}
|
||||
if (strlen($db_name) > 0) {
|
||||
$tmp .= " db_name = \"".$db_name."\";\n";
|
||||
}
|
||||
if (strlen($db_path) > 0) {
|
||||
$tmp .= " db_path = \"".$db_path."\";\n";
|
||||
}
|
||||
if (strlen($dsn_name) > 0) {
|
||||
$tmp .= " dsn_name = \"".$dsn_name."\";\n";
|
||||
}
|
||||
if (strlen($dsn_username) > 0) {
|
||||
$tmp .= " dsn_username = \"".$dsn_username."\";\n";
|
||||
}
|
||||
if (strlen($dsn_password) > 0) {
|
||||
$tmp .= " dsn_password = \"".$dsn_password."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "--additional info\n";
|
||||
$tmp .= " tmp_dir = \"".$tmp_dir."\";\n";
|
||||
fwrite($fout, $tmp);
|
||||
unset($tmp);
|
||||
fclose($fout);
|
||||
if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
|
||||
//get the odbc information
|
||||
$sql = "select count(*) as num_rows from v_databases ";
|
||||
$sql .= "where database_driver = 'odbc' ";
|
||||
if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] > 0) {
|
||||
$odbc_num_rows = $row['num_rows'];
|
||||
|
||||
//config.js
|
||||
$fout = fopen($_SESSION['switch']['scripts']['dir']."/resources/config.js","w");
|
||||
$tmp = "\n";
|
||||
$tmp .= "//switch directories\n";
|
||||
$tmp .= " var admin_pin = \"".$row["admin_pin"]."\";\n";
|
||||
$tmp .= " var sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n";
|
||||
$tmp .= " var recordings_dir = \"".$_SESSION['switch']['recordings']['dir']."\";\n";
|
||||
$tmp .= "\n";
|
||||
$tmp = "//database connection info\n";
|
||||
if (strlen($db_type) > 0) {
|
||||
$tmp .= " var db_type = \"".$db_type."\";\n";
|
||||
}
|
||||
if (strlen($db_name) > 0) {
|
||||
$tmp .= " var db_name = \"".$db_name."\";\n";
|
||||
}
|
||||
if (strlen($db_path) > 0) {
|
||||
$tmp .= " var db_path = \"".$db_path."\";\n";
|
||||
}
|
||||
if (strlen($dsn_name) > 0) {
|
||||
$tmp .= " var dsn_name = \"".$dsn_name."\";\n";
|
||||
}
|
||||
if (strlen($dsn_username) > 0) {
|
||||
$tmp .= " var dsn_username = \"".$dsn_username."\";\n";
|
||||
}
|
||||
if (strlen($dsn_password) > 0) {
|
||||
$tmp .= " var dsn_password = \"".$dsn_password."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "//additional info\n";
|
||||
$tmp .= " var tmp_dir = \"".$tmp_dir."\";\n";
|
||||
fwrite($fout, $tmp);
|
||||
unset($tmp);
|
||||
fclose($fout);
|
||||
$sql = "select * from v_databases ";
|
||||
$sql .= "where database_driver = 'odbc' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$dsn_name = $row["database_name"];
|
||||
$dsn_username = $row["database_username"];
|
||||
$dsn_password = $row["database_password"];
|
||||
break; //limit to 1 row
|
||||
}
|
||||
unset ($prep_statement);
|
||||
}
|
||||
else {
|
||||
$odbc_num_rows = '0';
|
||||
}
|
||||
}
|
||||
|
||||
//config.lua
|
||||
$fout = fopen($_SESSION['switch']['scripts']['dir']."/resources/config.lua","w");
|
||||
$tmp = "\n";
|
||||
$tmp .= "--switch directories\n";
|
||||
if (strlen($_SESSION['switch']['sounds']['dir']) > 0) {
|
||||
$tmp .= " sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n";
|
||||
}
|
||||
if (strlen($_SESSION['switch']['recordings']['dir']) > 0) {
|
||||
$tmp .= " recordings_dir = \"".$_SESSION['switch']['recordings']['dir']."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "--database connection info\n";
|
||||
if (strlen($db_type) > 0) {
|
||||
$tmp .= " db_type = \"".$db_type."\";\n";
|
||||
}
|
||||
if (strlen($db_name) > 0) {
|
||||
$tmp .= " db_name = \"".$db_name."\";\n";
|
||||
}
|
||||
if (strlen($db_path) > 0) {
|
||||
$tmp .= " db_path = \"".$db_path."\";\n";
|
||||
}
|
||||
if (strlen($dsn_name) > 0) {
|
||||
$tmp .= " dsn_name = \"".$dsn_name."\";\n";
|
||||
}
|
||||
if (strlen($dsn_username) > 0) {
|
||||
$tmp .= " dsn_username = \"".$dsn_username."\";\n";
|
||||
}
|
||||
if (strlen($dsn_password) > 0) {
|
||||
$tmp .= " dsn_password = \"".$dsn_password."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "--additional info\n";
|
||||
$tmp .= " tmp_dir = \"".$tmp_dir."\";\n";
|
||||
fwrite($fout, $tmp);
|
||||
unset($tmp);
|
||||
fclose($fout);
|
||||
|
||||
//config.js
|
||||
$fout = fopen($_SESSION['switch']['scripts']['dir']."/resources/config.js","w");
|
||||
$tmp = "\n";
|
||||
$tmp .= "//switch directories\n";
|
||||
$tmp .= " var admin_pin = \"".$row["admin_pin"]."\";\n";
|
||||
$tmp .= " var sounds_dir = \"".$_SESSION['switch']['sounds']['dir']."\";\n";
|
||||
$tmp .= " var recordings_dir = \"".$_SESSION['switch']['recordings']['dir']."\";\n";
|
||||
$tmp .= "\n";
|
||||
$tmp = "//database connection info\n";
|
||||
if (strlen($db_type) > 0) {
|
||||
$tmp .= " var db_type = \"".$db_type."\";\n";
|
||||
}
|
||||
if (strlen($db_name) > 0) {
|
||||
$tmp .= " var db_name = \"".$db_name."\";\n";
|
||||
}
|
||||
if (strlen($db_path) > 0) {
|
||||
$tmp .= " var db_path = \"".$db_path."\";\n";
|
||||
}
|
||||
if (strlen($dsn_name) > 0) {
|
||||
$tmp .= " var dsn_name = \"".$dsn_name."\";\n";
|
||||
}
|
||||
if (strlen($dsn_username) > 0) {
|
||||
$tmp .= " var dsn_username = \"".$dsn_username."\";\n";
|
||||
}
|
||||
if (strlen($dsn_password) > 0) {
|
||||
$tmp .= " var dsn_password = \"".$dsn_password."\";\n";
|
||||
}
|
||||
$tmp .= "\n";
|
||||
$tmp .= "//additional info\n";
|
||||
$tmp .= " var tmp_dir = \"".$tmp_dir."\";\n";
|
||||
fwrite($fout, $tmp);
|
||||
unset($tmp);
|
||||
fclose($fout);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -163,6 +163,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
|
|||
unset($sql);
|
||||
|
||||
//set the defaults
|
||||
$domains_processed = 1;
|
||||
require_once "app_defaults.php";
|
||||
|
||||
//redirect the browser
|
||||
|
|
|
|||
|
|
@ -25,5 +25,4 @@
|
|||
*/
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
|
@ -25,94 +25,97 @@
|
|||
*/
|
||||
|
||||
//if there are no items in the menu then add the default menu
|
||||
$sql = "SELECT count(*) as count FROM v_menus ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
unset ($prep_statement);
|
||||
if ($sub_result['count'] > 0) {
|
||||
if ($display_type == "text") {
|
||||
echo " Menu: no change\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
//create the uuid
|
||||
$menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286';
|
||||
//set the defaults
|
||||
$menu_name = 'default';
|
||||
$menu_language = 'en';
|
||||
$menu_description = '';
|
||||
//add the menu
|
||||
$sql = "insert into v_menus ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_name, ";
|
||||
$sql .= "menu_language, ";
|
||||
$sql .= "menu_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".$menu_uuid."', ";
|
||||
$sql .= "'$menu_name', ";
|
||||
$sql .= "'$menu_language', ";
|
||||
$sql .= "'$menu_description' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
//add the menu items
|
||||
require_once "includes/classes/menu.php";
|
||||
$menu = new menu;
|
||||
$menu->db = $db;
|
||||
$menu->menu_uuid = $menu_uuid;
|
||||
$menu->restore();
|
||||
unset($menu);
|
||||
if ($domains_processed == 1) {
|
||||
$sql = "SELECT count(*) as count FROM v_menus ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
unset ($prep_statement);
|
||||
if ($sub_result['count'] > 0) {
|
||||
if ($display_type == "text") {
|
||||
echo " Menu: added\n";
|
||||
echo " Menu: no change\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
//create the uuid
|
||||
$menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286';
|
||||
//set the defaults
|
||||
$menu_name = 'default';
|
||||
$menu_language = 'en';
|
||||
$menu_description = '';
|
||||
//add the menu
|
||||
$sql = "insert into v_menus ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_name, ";
|
||||
$sql .= "menu_language, ";
|
||||
$sql .= "menu_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".$menu_uuid."', ";
|
||||
$sql .= "'$menu_name', ";
|
||||
$sql .= "'$menu_language', ";
|
||||
$sql .= "'$menu_description' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
//add the menu items
|
||||
require_once "includes/classes/menu.php";
|
||||
$menu = new menu;
|
||||
$menu->db = $db;
|
||||
$menu->menu_uuid = $menu_uuid;
|
||||
$menu->restore();
|
||||
unset($menu);
|
||||
if ($display_type == "text") {
|
||||
echo " Menu: added\n";
|
||||
}
|
||||
}
|
||||
unset($prep_statement, $sub_result);
|
||||
}
|
||||
unset($prep_statement, $sub_result);
|
||||
|
||||
//if there are no groups listed in v_menu_item_groups then add the default groups
|
||||
$sql = "SELECT * FROM v_menus ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$result_count = count($result);
|
||||
foreach($result as $field) {
|
||||
//get the menu_uuid
|
||||
$menu_uuid = $field['menu_uuid'];
|
||||
//check each menu to see if there are items in the menu assigned to it
|
||||
$sql = "";
|
||||
$sql .= "select count(*) as count from v_menu_item_groups ";
|
||||
$sql .= "where menu_uuid = '$menu_uuid' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
unset ($prep_statement);
|
||||
if ($sub_result['count'] == 0) {
|
||||
//no menu item groups found add the defaults
|
||||
foreach($apps as $app) {
|
||||
foreach ($app['menu'] as $sub_row) {
|
||||
foreach ($sub_row['groups'] as $group) {
|
||||
//add the record
|
||||
$sql = "insert into v_menu_item_groups ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_item_uuid, ";
|
||||
$sql .= "group_name ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'$menu_uuid', ";
|
||||
$sql .= "'".$sub_row['uuid']."', ";
|
||||
$sql .= "'".$group."' ";
|
||||
$sql .= ")";
|
||||
$db->exec($sql);
|
||||
unset($sql);
|
||||
if ($domains_processed == 1) {
|
||||
$sql = "SELECT * FROM v_menus ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$result_count = count($result);
|
||||
foreach($result as $field) {
|
||||
//get the menu_uuid
|
||||
$menu_uuid = $field['menu_uuid'];
|
||||
//check each menu to see if there are items in the menu assigned to it
|
||||
$sql .= "select count(*) as count from v_menu_item_groups ";
|
||||
$sql .= "where menu_uuid = '$menu_uuid' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$sub_result = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
unset ($prep_statement);
|
||||
if ($sub_result['count'] == 0) {
|
||||
//no menu item groups found add the defaults
|
||||
foreach($apps as $app) {
|
||||
foreach ($app['menu'] as $sub_row) {
|
||||
foreach ($sub_row['groups'] as $group) {
|
||||
//add the record
|
||||
$sql = "insert into v_menu_item_groups ";
|
||||
$sql .= "(";
|
||||
$sql .= "menu_uuid, ";
|
||||
$sql .= "menu_item_uuid, ";
|
||||
$sql .= "group_name ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'$menu_uuid', ";
|
||||
$sql .= "'".$sub_row['uuid']."', ";
|
||||
$sql .= "'".$group."' ";
|
||||
$sql .= ")";
|
||||
$db->exec($sql);
|
||||
unset($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -27,7 +27,9 @@
|
|||
if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
|
||||
|
||||
//if the resource scripts resource directory does not exist then create it
|
||||
if (!is_dir($_SESSION['switch']['scripts']['dir']."/resources")) { mkdir($_SESSION['switch']['scripts']['dir']."/resources",0755,true); }
|
||||
if ($domains_processed == 1) {
|
||||
if (!is_dir($_SESSION['switch']['scripts']['dir']."/resources")) { mkdir($_SESSION['switch']['scripts']['dir']."/resources",0755,true); }
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Loading…
Reference in New Issue