Portions created by the Initial Developer are Copyright (C) 2016-2020 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (permission_exists('music_on_hold_add') || permission_exists('music_on_hold_edit')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //action add or update if (is_uuid($_REQUEST["id"])) { $action = "update"; $music_on_hold_uuid = $_REQUEST["id"]; } else { $action = "add"; } //get http post variables and set them to php variables if (count($_POST) > 0) { if (permission_exists('music_on_hold_domain')) { $domain_uuid = $_POST["domain_uuid"]; } $music_on_hold_name = $_POST["music_on_hold_name"]; $music_on_hold_path = $_POST["music_on_hold_path"]; $music_on_hold_rate = $_POST["music_on_hold_rate"]; $music_on_hold_shuffle = $_POST["music_on_hold_shuffle"]; $music_on_hold_channels = $_POST["music_on_hold_channels"]; $music_on_hold_interval = $_POST["music_on_hold_interval"]; $music_on_hold_timer_name = $_POST["music_on_hold_timer_name"]; $music_on_hold_chime_list = $_POST["music_on_hold_chime_list"]; $music_on_hold_chime_freq = $_POST["music_on_hold_chime_freq"]; $music_on_hold_chime_max = $_POST["music_on_hold_chime_max"]; } //add or update the data if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //get the uuid if ($action == "update") { $music_on_hold_uuid = $_POST["music_on_hold_uuid"]; } //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); header('Location: music_on_hold.php'); exit; } //check for all required data $msg = ''; if (strlen($music_on_hold_name) == 0) { $msg .= $text['message-required']." ".$text['label-name']."
\n"; } if (strlen($music_on_hold_path) == 0) { $msg .= $text['message-required']." ".$text['label-path']."
\n"; } //if (strlen($music_on_hold_rate) == 0) { $msg .= $text['message-required']." ".$text['label-rate']."
\n"; } if (strlen($music_on_hold_shuffle) == 0) { $msg .= $text['message-required']." ".$text['label-shuffle']."
\n"; } if (strlen($music_on_hold_channels) == 0) { $msg .= $text['message-required']." ".$text['label-channels']."
\n"; } //if (strlen($music_on_hold_interval) == 0) { $msg .= $text['message-required']." ".$text['label-interval']."
\n"; } //if (strlen($music_on_hold_timer_name) == 0) { $msg .= $text['message-required']." ".$text['label-timer_name']."
\n"; } //if (strlen($music_on_hold_chime_list) == 0) { $msg .= $text['message-required']." ".$text['label-chime_list']."
\n"; } //if (strlen($music_on_hold_chime_freq) == 0) { $msg .= $text['message-required']." ".$text['label-chime_freq']."
\n"; } //if (strlen($music_on_hold_chime_max) == 0) { $msg .= $text['message-required']." ".$text['label-chime_max']."
\n"; } if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { require_once "resources/header.php"; require_once "resources/persist_form_var.php"; echo "
\n"; echo "
\n"; echo $msg."
"; echo "
\n"; persistformvar($_POST); echo "
\n"; require_once "resources/footer.php"; return; } //add or update the database if ($_POST["persistformvar"] != "true") { if ($action == "add" && permission_exists('music_on_hold_add')) { //begin insert array $array['music_on_hold'][0]['music_on_hold_uuid'] = uuid(); //set message message::add($text['message-add']); } if ($action == "update" && permission_exists('music_on_hold_edit')) { //begin update array $array['music_on_hold'][0]['music_on_hold_uuid'] = $music_on_hold_uuid; //set message message::add($text['message-update']); } if (is_array($array) && @sizeof($array) != 0) { //add common array elements if (permission_exists('music_on_hold_domain')) { $array['music_on_hold'][0]['domain_uuid'] = is_uuid($domain_uuid) ? $domain_uuid : null; } else { $array['music_on_hold'][0]['domain_uuid'] = $_SESSION['domain_uuid']; } $array['music_on_hold'][0]['music_on_hold_name'] = $music_on_hold_name; $array['music_on_hold'][0]['music_on_hold_path'] = $music_on_hold_path; $array['music_on_hold'][0]['music_on_hold_rate'] = strlen($music_on_hold_rate) != 0 ? $music_on_hold_rate : null; $array['music_on_hold'][0]['music_on_hold_shuffle'] = $music_on_hold_shuffle; $array['music_on_hold'][0]['music_on_hold_channels'] = strlen($music_on_hold_channels) != 0 ? $music_on_hold_channels : null; $array['music_on_hold'][0]['music_on_hold_interval'] = strlen($music_on_hold_interval) != 0 ? $music_on_hold_interval : null; $array['music_on_hold'][0]['music_on_hold_timer_name'] = $music_on_hold_timer_name; $array['music_on_hold'][0]['music_on_hold_chime_list'] = $music_on_hold_chime_list; $array['music_on_hold'][0]['music_on_hold_chime_freq'] = strlen($music_on_hold_chime_freq) != 0 ? $music_on_hold_chime_freq : null; $array['music_on_hold'][0]['music_on_hold_chime_max'] = strlen($music_on_hold_chime_max) != 0 ? $music_on_hold_chime_max : null; //execute $database = new database; $database->app_name = 'music_on_hold'; $database->app_uuid = '1dafe0f8-c08a-289b-0312-15baf4f20f81'; $database->save($array); unset($array); //clear the cache $cache = new cache; $cache->delete("configuration:local_stream.conf"); //reload mod local stream $music = new switch_music_on_hold; $music->reload(); //redirect the user header("Location: music_on_hold.php"); exit; } } } //pre-populate the form if (count($_GET) > 0 && is_uuid($_GET["id"]) && $_POST["persistformvar"] != "true") { $music_on_hold_uuid = $_GET["id"]; $sql = "select * from v_music_on_hold "; $sql .= "where ( "; $sql .= " domain_uuid = :domain_uuid "; $sql .= " or domain_uuid is null "; $sql .= ") "; $sql .= "and music_on_hold_uuid = :music_on_hold_uuid "; $parameters['domain_uuid'] = $domain_uuid; $parameters['music_on_hold_uuid'] = $music_on_hold_uuid; $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $domain_uuid = $row["domain_uuid"]; $music_on_hold_name = $row["music_on_hold_name"]; $music_on_hold_path = $row["music_on_hold_path"]; $music_on_hold_rate = $row["music_on_hold_rate"]; $music_on_hold_shuffle = $row["music_on_hold_shuffle"]; $music_on_hold_channels = $row["music_on_hold_channels"]; $music_on_hold_interval = $row["music_on_hold_interval"]; $music_on_hold_timer_name = $row["music_on_hold_timer_name"]; $music_on_hold_chime_list = $row["music_on_hold_chime_list"]; $music_on_hold_chime_freq = $row["music_on_hold_chime_freq"]; $music_on_hold_chime_max = $row["music_on_hold_chime_max"]; } unset($sql, $parameters, $row); } //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //include the header $document['title'] = $text['title-music_on_hold']; require_once "resources/header.php"; //show the content echo "
\n"; echo "
\n"; echo "
".$text['title-music_on_hold']."
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'music_on_hold.php']); echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','name'=>'action','value'=>'save']); echo "
\n"; echo "
\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if (permission_exists('music_on_hold_domain')) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
\n"; echo " ".$text['label-name']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_name']."\n"; echo "
\n"; echo " ".$text['label-path']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_path']."\n"; echo "
\n"; echo " ".$text['label-rate']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_rate']."\n"; echo "
\n"; echo " ".$text['label-shuffle']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_shuffle']."\n"; echo "
\n"; echo " ".$text['label-channels']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_channels']."\n"; echo "
\n"; echo " ".$text['label-interval']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_interval']."\n"; echo "
\n"; echo " ".$text['label-timer_name']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_timer_name']."\n"; echo "
\n"; echo " ".$text['label-chime_list']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo " ".$text['label-chime_frequency']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_chime_freq']."\n"; echo "
\n"; echo " ".$text['label-chime_maximum']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-music_on_hold_chime_max']."\n"; echo "
\n"; echo " ".$text['label-domain']."\n"; echo "\n"; echo " \n"; echo "
"; echo "

"; if ($action == "update") { echo "\n"; } echo "\n"; echo "
"; //include the footer require_once "resources/footer.php"; ?>