Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane Luis Daniel Lucio Quiroz */ require_once "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; if (permission_exists('sip_profile_add') || permission_exists('sip_profile_edit')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //toggle enabled state if ($_REQUEST['spid'] != '' && $_REQUEST['spsid'] != '' && $_REQUEST['enabled'] != '') { $sql = "update v_sip_profile_settings set "; $sql .= "sip_profile_setting_enabled = '".check_str($_REQUEST['enabled'])."' "; $sql .= "where sip_profile_setting_uuid = '".check_str($_REQUEST['spsid'])."' "; $sql .= "and sip_profile_uuid = '".check_str($_REQUEST['spid'])."' "; $db->exec(check_sql($sql)); unset($sql); //save the sip profile xml save_sip_profile_xml(); //apply settings reminder $_SESSION["reload_xml"] = true; $_SESSION["message"] = $text['message-update']; header("Location: sip_profile_edit.php?id=".$_REQUEST['spid']); exit; } //action add or update if (isset($_REQUEST["id"])) { $action = "update"; $sip_profile_uuid = check_str($_REQUEST["id"]); } else { $action = "add"; } //get http post variables and set them to php variables if (count($_POST) > 0) { $sip_profile_name = check_str($_POST["sip_profile_name"]); $sip_profile_hostname = check_str($_POST["sip_profile_hostname"]); $sip_profile_description = check_str($_POST["sip_profile_description"]); $sip_profile_enabled = check_str($_POST["sip_profile_enabled"]); } if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $msg = ''; if ($action == "update") { $sip_profile_uuid = check_str($_POST["sip_profile_uuid"]); } //check for all required data //if (strlen($sip_profile_name) == 0) { $msg .= $text['message-required'].$text['label-name']."
\n"; } //if (strlen($sip_profile_description) == 0) { $msg .= $text['message-required'].$text['label-description']."
\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") { //add the sip profile if ($action == "add") { $sql = "insert into v_sip_profiles "; $sql .= "("; $sql .= "sip_profile_uuid, "; $sql .= "sip_profile_name, "; $sql .= "sip_profile_hostname, "; $sql .= "sip_profile_description, "; $sql .= "sip_profile_enabled "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'$sip_profile_name', "; if (strlen($sip_profile_hostname) > 0) { $sql .= "'$sip_profile_hostname', "; } else { $sql .= "null, "; } $sql .= "'$sip_profile_description', "; $sql .= "'$sip_profile_enabled' "; $sql .= ")"; $db->exec(check_sql($sql)); unset($sql); } //if ($action == "add") //update the sip profile if ($action == "update") { $sql = "update v_sip_profiles set "; $sql .= "sip_profile_name = '$sip_profile_name', "; if (strlen($sip_profile_hostname) > 0) { $sql .= "sip_profile_hostname = '$sip_profile_hostname', "; } else { $sql .= "sip_profile_hostname = null, "; } $sql .= "sip_profile_description = '$sip_profile_description', "; $sql .= "sip_profile_enabled = '$sip_profile_enabled' "; $sql .= "where sip_profile_uuid = '$sip_profile_uuid'"; $db->exec(check_sql($sql)); unset($sql); } //if ($action == "update") //get the hostname if ($sip_profile_name == nul) { $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if ($fp) { $switch_cmd = "hostname"; $sip_profile_hostname = event_socket_request($fp, 'api '.$switch_cmd); } } //clear the cache $cache = new cache; $cache->delete("configuration:sofia.conf:".$sip_profile_hostname); //redirect the browser $_SESSION["message"] = $text['message-update']; header("Location: sip_profiles.php"); return; } //if ($_POST["persistformvar"] != "true") } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) //pre-populate the form if (count($_GET) > 0 && $_POST["persistformvar"] != "true") { $sip_profile_uuid = $_GET["id"]; $sql = "select * from v_sip_profiles "; $sql .= "where sip_profile_uuid = '$sip_profile_uuid' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(); foreach ($result as &$row) { $sip_profile_name = $row["sip_profile_name"]; $sip_profile_hostname = $row["sip_profile_hostname"]; $sip_profile_description = $row["sip_profile_description"]; $sip_profile_enabled = $row["sip_profile_enabled"]; break; //limit to 1 row } unset ($prep_statement); } //show the header require_once "resources/header.php"; $document['title'] = $text['title-sip_profile']; //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 "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo " "; echo "
".$text['header-sip_profile']."\n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo $text['description-sip_profiles']."

\n"; echo "
\n"; echo " ".$text['label-name']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-name']."\n"; echo "
\n"; echo " ".$text['label-hostname']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-hostname']."\n"; echo "
\n"; echo " ".$text['label-enabled']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-enabled']."\n"; echo "
\n"; echo " ".$text['label-description']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-description']."\n"; echo "
\n"; if ($action == "update") { echo " \n"; } echo "
"; echo " \n"; echo "
"; echo "

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