This commit is contained in:
FusionPBX 2017-01-10 00:59:37 -07:00 committed by GitHub
parent 884290378d
commit 2bfbce7ec8
1 changed files with 87 additions and 81 deletions

View File

@ -27,93 +27,99 @@
if ($domains_processed == 1) {
//set the directory
$xml_dir = $_SESSION["switch"]["conf"]["dir"].'/autoload_configs';
$xml_file = $xml_dir."/local_stream.conf";
if (is_array($_SESSION["switch"]["conf"])) {
$xml_dir = $_SESSION["switch"]["conf"]["dir"].'/autoload_configs';
$xml_file = $xml_dir."/local_stream.conf";
}
//rename the file
if (file_exists($xml_dir.'/local_stream.conf.xml')) {
rename($xml_dir.'/local_stream.conf', $xml_dir.'/'.$xml_file);
}
if (file_exists($xml_dir.'/local_stream.conf.xml.noload')) {
rename($xml_dir.'/local_stream.conf', $xml_dir.'/'.$xml_file);
if (is_array($_SESSION["switch"]["conf"])) {
if (file_exists($xml_dir.'/local_stream.conf.xml')) {
rename($xml_dir.'/local_stream.conf', $xml_dir.'/'.$xml_file);
}
if (file_exists($xml_dir.'/local_stream.conf.xml.noload')) {
rename($xml_dir.'/local_stream.conf', $xml_dir.'/'.$xml_file);
}
}
//add the music_on_hold list to the database
$sql = "select count(*) as num_rows from v_music_on_hold; ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
if ($row['num_rows'] == 0) {
//set the alternate directory
$xml_file_alt = $_SERVER["DOCUMENT_ROOT"].'/'.PROJECT_PATH.'/resources/templates/conf/autoload_configs/local_stream.conf';
//load the xml and save it into an array
if (file_exists($xml_file)) {
$xml_string = file_get_contents($xml_file);
}
elseif (file_exists($xml_file_alt)) {
$xml_string = file_get_contents($xml_file_alt);
}
$xml_object = simplexml_load_string($xml_string);
$json = json_encode($xml_object);
$conf_array = json_decode($json, true);
//process the array
foreach ($conf_array['directory'] as $row) {
//get the data from the array
$stream_name = $row['@attributes']['name'];
$stream_path = $row['@attributes']['path'];
foreach ($row['param'] as $p) {
$name = $p['@attributes']['name'];
$name = str_replace("-", "_", $name);
$$name = $p['@attributes']['value'];
$attributes[] = $name;
}
//strip the domain name and rate from the name
$array = explode('/', $stream_name);
if (count($array) == 3) { $stream_name = $array[1]; }
if (count($array) == 2) { $stream_name = $array[0]; }
//insert the data into the database
$music_on_hold_uuid = uuid();
$sql = "insert into v_music_on_hold ";
$sql .= "(";
$sql .= "music_on_hold_uuid, ";
$sql .= "music_on_hold_name, ";
if (isset($rate)) $sql .= "music_on_hold_rate, ";
if (isset($shuffle)) $sql .= "music_on_hold_shuffle, ";
if (isset($timer_name)) $sql .= "music_on_hold_timer_name, ";
if (isset($chime_list)) $sql .= "music_on_hold_chime_list, ";
if (isset($chime_freq)) $sql .= "music_on_hold_chime_freq, ";
if (isset($chime_max)) $sql .= "music_on_hold_chime_max, ";
$sql .= "music_on_hold_path ";
$sql .= ") ";
$sql .= "values ";
$sql .= "( ";
$sql .= "'".$music_on_hold_uuid."', ";
$sql .= "'".check_str($stream_name)."', ";
if (isset($rate)) $sql .= "'".check_str($rate)."', ";
if (isset($shuffle)) $sql .= "'".check_str($shuffle)."', ";
if (isset($timer_name)) $sql .= "'".check_str($timer_name)."', ";
if (isset($chime_list)) $sql .= "'".check_str($chime_list)."', ";
if (isset($chime_max)) $sql .= "'".check_str($chime_max)."', ";
$sql .= "'".check_str($stream_path)."' ";
$sql .= ");";
//echo $sql."\n";
$db->exec(check_sql($sql));
unset($sql);
//unset the attribute variables
foreach ($attributes as $value) {
unset($$value);
}
}
if (is_array($_SESSION["switch"]["conf"])) {
$sql = "select count(music_on_hold_uuid) as num_rows from v_music_on_hold; ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
if ($row['num_rows'] == 0) {
} //if num_rows
} //if prep_statement
//set the alternate directory
$xml_file_alt = $_SERVER["DOCUMENT_ROOT"].'/'.PROJECT_PATH.'/resources/templates/conf/autoload_configs/local_stream.conf';
//load the xml and save it into an array
if (file_exists($xml_file)) {
$xml_string = file_get_contents($xml_file);
}
elseif (file_exists($xml_file_alt)) {
$xml_string = file_get_contents($xml_file_alt);
}
$xml_object = simplexml_load_string($xml_string);
$json = json_encode($xml_object);
$conf_array = json_decode($json, true);
//process the array
foreach ($conf_array['directory'] as $row) {
//get the data from the array
$stream_name = $row['@attributes']['name'];
$stream_path = $row['@attributes']['path'];
foreach ($row['param'] as $p) {
$name = $p['@attributes']['name'];
$name = str_replace("-", "_", $name);
$$name = $p['@attributes']['value'];
$attributes[] = $name;
}
//strip the domain name and rate from the name
$array = explode('/', $stream_name);
if (count($array) == 3) { $stream_name = $array[1]; }
if (count($array) == 2) { $stream_name = $array[0]; }
//insert the data into the database
$music_on_hold_uuid = uuid();
$sql = "insert into v_music_on_hold ";
$sql .= "(";
$sql .= "music_on_hold_uuid, ";
$sql .= "music_on_hold_name, ";
if (isset($rate)) $sql .= "music_on_hold_rate, ";
if (isset($shuffle)) $sql .= "music_on_hold_shuffle, ";
if (isset($timer_name)) $sql .= "music_on_hold_timer_name, ";
if (isset($chime_list)) $sql .= "music_on_hold_chime_list, ";
if (isset($chime_freq)) $sql .= "music_on_hold_chime_freq, ";
if (isset($chime_max)) $sql .= "music_on_hold_chime_max, ";
$sql .= "music_on_hold_path ";
$sql .= ") ";
$sql .= "values ";
$sql .= "( ";
$sql .= "'".$music_on_hold_uuid."', ";
$sql .= "'".check_str($stream_name)."', ";
if (isset($rate)) $sql .= "'".check_str($rate)."', ";
if (isset($shuffle)) $sql .= "'".check_str($shuffle)."', ";
if (isset($timer_name)) $sql .= "'".check_str($timer_name)."', ";
if (isset($chime_list)) $sql .= "'".check_str($chime_list)."', ";
if (isset($chime_max)) $sql .= "'".check_str($chime_max)."', ";
$sql .= "'".check_str($stream_path)."' ";
$sql .= ");";
//echo $sql."\n";
$db->exec(check_sql($sql));
unset($sql);
//unset the attribute variables
foreach ($attributes as $value) {
unset($$value);
}
}
} //if num_rows
} //if prep_statement
} //if is_array
}
?>