Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('voicemail_add') || permission_exists('voicemail_edit')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //action add or update if (isset($_REQUEST["id"])) { $action = "update"; $voicemail_uuid = check_str($_REQUEST["id"]); } else { $action = "add"; } //get http variables and set them to php variables $referer_path = check_str($_REQUEST["referer_path"]); $referer_query = check_str($_REQUEST["referer_query"]); if (count($_POST)>0) { //set the variables from the HTTP values $voicemail_id = check_str($_POST["voicemail_id"]); $voicemail_password = check_str($_POST["voicemail_password"]); $greeting_id = check_str($_POST["greeting_id"]); $voicemail_options = $_POST["voicemail_options"]; $voicemail_mail_to = check_str($_POST["voicemail_mail_to"]); $voicemail_file = check_str($_POST["voicemail_file"]); $voicemail_local_after_email = check_str($_POST["voicemail_local_after_email"]); $voicemail_enabled = check_str($_POST["voicemail_enabled"]); $voicemail_description = check_str($_POST["voicemail_description"]); //remove the space $voicemail_mail_to = str_replace(" ", "", $voicemail_mail_to); echo "
"; print_r($voicemail_options); echo "
"; } //unassign the voicemail id copy from the voicemail id if ($_GET["a"] == "delete" && strlen($voicemail_uuid) > 0 && strlen($_REQUEST["voicemail_destination_uuid"]) > 0) { //set the variables $voicemail_destination_uuid = check_str($_REQUEST["voicemail_destination_uuid"]); //delete the voicemail from the destionations $sqld = " delete from v_voicemail_destinations as d where d.voicemail_destination_uuid = '".$voicemail_destination_uuid."' and d.voicemail_uuid = '".$voicemail_uuid."'"; $db->exec(check_sql($sqld)); //redirect the browser $_SESSION["message"] = $text['message-delete']; header("Location: voicemail_edit.php?id=".$voicemail_uuid); return; } //assign the voicemail id copy to the voicemail id if (strlen($voicemail_uuid) > 0 && strlen($_REQUEST["voicemail_uuid_copy"]) > 0) { //set the variables $voicemail_uuid_copy = check_str($_REQUEST["voicemail_uuid_copy"]); //assign the user to the extension $sqli = " insert into v_voicemail_destinations ( domain_uuid, voicemail_destination_uuid, voicemail_uuid, voicemail_uuid_copy ) values ( '".$domain_uuid."', '".uuid()."', '".$voicemail_uuid."', '".$voicemail_uuid_copy."' )"; $db->exec(check_sql($sqli)); //redirect the browser $_SESSION["message"] = $text['message-add']; } if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $msg = ''; if ($action == "update") { $voicemail_uuid = check_str($_POST["voicemail_uuid"]); } //check for all required data 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('voicemail_add')) { $sql = "insert into v_voicemails "; $sql .= "("; $sql .= "domain_uuid, "; $sql .= "voicemail_uuid, "; $sql .= "voicemail_id, "; $sql .= "voicemail_password, "; if (strlen($greeting_id) > 0) { $sql .= "greeting_id, "; } $sql .= "voicemail_mail_to, "; $sql .= "voicemail_file, "; $sql .= "voicemail_local_after_email, "; $sql .= "voicemail_enabled, "; $sql .= "voicemail_description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".$domain_uuid."', "; $sql .= "'".uuid()."', "; $sql .= "'".$voicemail_id."', "; $sql .= "'".$voicemail_password."', "; if (strlen($greeting_id) > 0) { $sql .= "'".$greeting_id."', "; } $sql .= "'".$voicemail_mail_to."', "; $sql .= "'".$voicemail_file."', "; $sql .= "'".$voicemail_local_after_email."', "; $sql .= "'".$voicemail_enabled."', "; $sql .= "'".$voicemail_description."' "; $sql .= ")"; $db->exec(check_sql($sql)); unset($sql); $_SESSION["message"] = $text['message-add']; } //if ($action == "add") if ($action == "update" && permission_exists('voicemail_edit')) { $sql = "update v_voicemails set "; $sql .= "voicemail_id = '".$voicemail_id."', "; $sql .= "voicemail_password = '".$voicemail_password."', "; if (strlen($greeting_id) > 0) { $sql .= "greeting_id = '".$greeting_id."', "; } else { $sql .= "greeting_id = null, "; } $sql .= "voicemail_mail_to = '".$voicemail_mail_to."', "; $sql .= "voicemail_file = '".$voicemail_file."', "; $sql .= "voicemail_local_after_email = '".$voicemail_local_after_email."', "; $sql .= "voicemail_enabled = '".$voicemail_enabled."', "; $sql .= "voicemail_description = '".$voicemail_description."' "; $sql .= "where domain_uuid = '".$domain_uuid."' "; $sql .= "and voicemail_uuid = '".$voicemail_uuid."'"; $db->exec(check_sql($sql)); unset($sql); $_SESSION["message"] = $text['message-update']; } //if ($action == "update") // add voicemail options if (sizeof($voicemail_options) > 0) { foreach ($voicemail_options as $index => $voicemail_option) { if ($voicemail_option['voicemail_option_digits'] == '' || $voicemail_option['voicemail_option_param'] == '') { unset($voicemail_options[$index]); } } } if (sizeof($voicemail_options) > 0) { $sql = "insert into v_voicemail_options "; $sql .= "( "; $sql .= "voicemail_option_uuid, "; $sql .= "voicemail_uuid, "; $sql .= "domain_uuid, "; $sql .= "voicemail_option_digits, "; $sql .= "voicemail_option_action, "; $sql .= "voicemail_option_param, "; $sql .= "voicemail_option_order, "; $sql .= "voicemail_option_description "; $sql .= ") "; $sql .= "values "; foreach ($voicemail_options as $index => $voicemail_option) { $voicemail_option_uuid = uuid(); //seperate the action and the param $option_array = explode(":", $voicemail_option["voicemail_option_param"]); $voicemail_option['voicemail_option_action'] = array_shift($option_array); $voicemail_option['voicemail_option_param'] = join(':', $option_array); //continue building insert query $sql_record[$index] = "( "; $sql_record[$index] .= "'".$voicemail_option_uuid."', "; $sql_record[$index] .= "'".$voicemail_uuid."', "; $sql_record[$index] .= "'".$domain_uuid."', "; $sql_record[$index] .= "'".trim($voicemail_option['voicemail_option_digits'])."', "; $sql_record[$index] .= "'".trim($voicemail_option['voicemail_option_action'])."', "; $sql_record[$index] .= "'".trim($voicemail_option['voicemail_option_param'])."', "; $sql_record[$index] .= $voicemail_option['voicemail_option_order'].", "; $sql_record[$index] .= "'".trim($voicemail_option['voicemail_option_description'])."' "; $sql_record[$index] .= ") "; } $sql .= implode(",", $sql_record); $db->exec(check_sql($sql)); unset($sql); } //redirect user if ($action == 'add') { header("Location: voicemails.php"); } else if ($action == "update") { header("Location: voicemail_edit.php?id=".$voicemail_uuid); } exit; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) //pre-populate the form if (count($_GET)>0 && $_POST["persistformvar"] != "true") { $voicemail_uuid = check_str($_GET["id"]); $sql = "select * from v_voicemails "; $sql .= "where domain_uuid = '".$domain_uuid."' "; $sql .= "and voicemail_uuid = '".$voicemail_uuid."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); foreach ($result as &$row) { $voicemail_id = $row["voicemail_id"]; $voicemail_password = $row["voicemail_password"]; $greeting_id = $row["greeting_id"]; $voicemail_mail_to = $row["voicemail_mail_to"]; $voicemail_file = $row["voicemail_file"]; $voicemail_local_after_email = $row["voicemail_local_after_email"]; $voicemail_enabled = $row["voicemail_enabled"]; $voicemail_description = $row["voicemail_description"]; break; //limit to 1 row } unset ($prep_statement); } else { $voicemail_file = $_SESSION['voicemail']['voicemail_file']['text']; $voicemail_local_after_email = $_SESSION['voicemail']['keep_local']['boolean']; } //remove the spaces $voicemail_mail_to = str_replace(" ", "", $voicemail_mail_to); //set defaults if (strlen($voicemail_local_after_email) == 0) { $voicemail_local_after_email = "true"; } if (strlen($voicemail_enabled) == 0) { $voicemail_enabled = "true"; } //show the header require_once "resources/header.php"; $document['title'] = $text['title-voicemail']; //show the content 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 " "; echo " "; echo " "; echo " "; 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 ($action == "update") { echo " "; echo " "; echo " "; echo " "; } echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo " "; echo "
"; echo " ".$text['title-voicemail'].""; echo "

"; echo "
\n"; echo " \n"; echo " \n"; echo "
\n"; echo " ".$text['label-voicemail_id']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_id']."\n"; echo "
\n"; echo " ".$text['label-voicemail_password']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_password']."\n"; echo "
\n"; echo " ".$text['label-greeting_id']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-greeting_id']."\n"; echo "
".$text['label-options'].""; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; if (strlen($voicemail_uuid) > 0) { $sql = "select * from v_voicemail_options "; $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and voicemail_uuid = '".$voicemail_uuid."' "; $sql .= "order by voicemail_option_digits, voicemail_option_order asc "; $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) { $voicemail_option_param = $field['voicemail_option_param']; if (strlen(trim($voicemail_option_param)) == 0) { $voicemail_option_param = $field['voicemail_option_action']; } $voicemail_option_param = str_replace("menu-", "", $voicemail_option_param); $voicemail_option_param = str_replace("XML", "", $voicemail_option_param); $voicemail_option_param = str_replace("transfer", "", $voicemail_option_param); $voicemail_option_param = str_replace("bridge", "", $voicemail_option_param); $voicemail_option_param = str_replace($_SESSION['domain_name'], "", $voicemail_option_param); $voicemail_option_param = str_replace("\${domain_name}", "", $voicemail_option_param); $voicemail_option_param = str_replace("\${domain}", "", $voicemail_option_param); $voicemail_option_param = ucfirst(trim($voicemail_option_param)); echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; } } unset($sql, $result); for ($c = 0; $c < 1; $c++) { echo " \n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo " \n"; } echo "
".$text['label-option']."".$text['label-destination']."".$text['label-order']."".$text['label-description']."
\n"; echo " ".$field['voicemail_option_digits']; echo " \n"; echo " ".$voicemail_option_param." \n"; echo " \n"; echo " ".$field['voicemail_option_order']." \n"; echo " \n"; echo " ".$field['voicemail_option_description']." \n"; echo " "; echo "".$v_link_label_edit.""; echo "".$v_link_label_delete.""; echo "
\n"; echo " \n"; echo "\n"; $tmp_select_value = ''; switch_select_destination("ivr", $voicemail_options_label, 'voicemail_options['.$c.'][voicemail_option_param]', $tmp_select_value, "width:175px", $voicemail_option_action); unset($tmp_select_value); echo "\n"; echo " \n"; echo "\n"; echo " \n"; echo "\n"; echo " \n"; echo "
\n"; echo " ".$text['description-options']."\n"; echo "
\n"; echo "
\n"; echo " ".$text['label-voicemail_mail_to']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_mail_to']."\n"; echo "
\n"; echo " ".$text['label-voicemail_file']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_file']."\n"; echo "
\n"; echo " ".$text['label-voicemail_local_after_email']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_local_after_email']."\n"; echo "
".$text['label-forward_destinations'].""; $sql = " select v.voicemail_id, d.voicemail_destination_uuid, d.voicemail_uuid_copy from v_voicemails as v, v_voicemail_destinations as d where d.voicemail_uuid_copy = v.voicemail_uuid and v.domain_uuid = '".$_SESSION['domain_uuid']."' and v.voicemail_enabled = 'true' and d.voicemail_uuid = '".$voicemail_uuid."' order by v.voicemail_id asc"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $result_count = count($result); if ($result_count > 0) { echo " \n"; foreach($result as $field) { echo " \n"; echo " \n"; echo " \n"; echo " \n"; $voicemail_uuid_copied[] = $field['voicemail_uuid_copy']; } echo "
".$field['voicemail_id']."\n"; echo " $v_link_label_delete\n"; echo "
\n"; echo "
\n"; } if (sizeof($voicemail_uuid_copied) > 0) { // modify sql to remove already copied voicemail uuids from the list $sql_mod = " and v.voicemail_uuid not in ('".implode("','", $voicemail_uuid_copied)."') "; } $sql = " select v.voicemail_id, v.voicemail_uuid from v_voicemails as v where v.domain_uuid = '".$_SESSION['domain_uuid']."' and v.voicemail_enabled = 'true' and v.voicemail_uuid <> '".$voicemail_uuid."' ".$sql_mod." order by v.voicemail_id asc"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); echo " "; echo " \n"; unset($sql, $result); echo "
\n"; echo " ".$text['description-forward_destinations']."\n"; echo "
\n"; echo "
\n"; echo " ".$text['label-voicemail_enabled']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_enabled']."\n"; echo "
\n"; echo " ".$text['label-voicemail_description']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-voicemail_description']."\n"; echo "
\n"; if ($action == "update") { echo " \n"; } $http_referer = parse_url($_SERVER["HTTP_REFERER"]); echo " \n"; echo " \n"; echo "
"; echo " \n"; echo "
"; echo "

"; echo "
"; //include the footer require_once "resources/footer.php"; ?>