From 43543f8b0c75a65ef448e4976ccf1b4ae8d3ac63 Mon Sep 17 00:00:00 2001 From: Chris Black Date: Tue, 24 May 2016 11:57:46 -0700 Subject: [PATCH] remove SMS (#1612) --- app/sms/app_config.php | 138 ----------- app/sms/app_defaults.php | 47 ---- app/sms/app_languages.php | 146 ------------ app/sms/app_menu.php | 24 -- app/sms/root.php | 90 -------- app/sms/sms.php | 229 ------------------ app/sms/sms_api.php | 130 ----------- app/sms/sms_edit.php | 242 -------------------- app/sms/sms_mdr.php | 141 ------------ resources/install/scripts/app/sms/index.lua | 208 ----------------- 10 files changed, 1395 deletions(-) delete mode 100644 app/sms/app_config.php delete mode 100644 app/sms/app_defaults.php delete mode 100644 app/sms/app_languages.php delete mode 100644 app/sms/app_menu.php delete mode 100644 app/sms/root.php delete mode 100644 app/sms/sms.php delete mode 100644 app/sms/sms_api.php delete mode 100644 app/sms/sms_edit.php delete mode 100644 app/sms/sms_mdr.php delete mode 100644 resources/install/scripts/app/sms/index.lua diff --git a/app/sms/app_config.php b/app/sms/app_config.php deleted file mode 100644 index f9c1ded9fd..0000000000 --- a/app/sms/app_config.php +++ /dev/null @@ -1,138 +0,0 @@ - diff --git a/app/sms/app_defaults.php b/app/sms/app_defaults.php deleted file mode 100644 index 7618a3c6ee..0000000000 --- a/app/sms/app_defaults.php +++ /dev/null @@ -1,47 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -if ($domains_processed == 1) { - - $x = 0; - $array[$x]['default_setting_category'] = 'sms'; - $array[$x]['default_setting_subcategory'] = 'carriers'; - $array[$x]['default_setting_name'] = 'array'; - $array[$x]['default_setting_value'] = 'flowroute'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - $x++; - $array[$x]['default_setting_category'] = 'sms'; - $array[$x]['default_setting_subcategory'] = 'carriers'; - $array[$x]['default_setting_name'] = 'array'; - $array[$x]['default_setting_value'] = 'twilio'; - $array[$x]['default_setting_enabled'] = 'true'; - $array[$x]['default_setting_description'] = ''; - $x++; - -} - -?> \ No newline at end of file diff --git a/app/sms/app_languages.php b/app/sms/app_languages.php deleted file mode 100644 index 93cf2efb89..0000000000 --- a/app/sms/app_languages.php +++ /dev/null @@ -1,146 +0,0 @@ - \ No newline at end of file diff --git a/app/sms/app_menu.php b/app/sms/app_menu.php deleted file mode 100644 index 3af01191d8..0000000000 --- a/app/sms/app_menu.php +++ /dev/null @@ -1,24 +0,0 @@ - \ No newline at end of file diff --git a/app/sms/root.php b/app/sms/root.php deleted file mode 100644 index 6fdf32f37b..0000000000 --- a/app/sms/root.php +++ /dev/null @@ -1,90 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2012 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ - -// make sure the PATH_SEPARATOR is defined - umask(2); - if (!defined("PATH_SEPARATOR")) { - if (strpos($_ENV["OS"], "Win") !== false) { - define("PATH_SEPARATOR", ";"); - } else { - define("PATH_SEPARATOR", ":"); - } - } - - if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html'; - - // make sure the document_root is set - $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - if(PHP_SAPI == 'cli'){ - chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME)); - $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); - $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); - if (file_exists('/project_root.php')) { - $path = '/'; - } else { - $i = 1; - $path = ''; - while ($i < count($dirs)) { - $path .= '/' . $dirs[$i]; - if (file_exists($path. '/project_root.php')) { - break; - } - $i++; - } - } - $_SERVER["DOCUMENT_ROOT"] = $path; - }else{ - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); - } - $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); -// try to detect if a project path is being used - if (!defined('PROJECT_PATH')) { - if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { - define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) { - define('PROJECT_PATH', ''); - } else { - $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); - $i = 1; - $path = $_SERVER["DOCUMENT_ROOT"]; - while ($i < count($dirs)) { - $path .= '/' . $dirs[$i]; - if (file_exists($path. '/project_root.php')) { - break; - } - $i++; - } - if(!file_exists($path. '/project_root.php')){ - die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance"); - } - $project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path); - define('PROJECT_PATH', $project_path); - } - $_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH); - set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]); - } - -?> \ No newline at end of file diff --git a/app/sms/sms.php b/app/sms/sms.php deleted file mode 100644 index 9da7d3819a..0000000000 --- a/app/sms/sms.php +++ /dev/null @@ -1,229 +0,0 @@ - - Portions created by the Initial Developer are Copyright (C) 2008-2016 - the Initial Developer. All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('sms_view')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//get the http values and set them as variables - $search = check_str($_GET["search"]); - $order_by = check_str($_GET["order_by"]); - $order = check_str($_GET["order"]); - -require_once "resources/header.php"; -$document['title'] = $text['title-sms']; - -require_once "resources/paging.php"; - -//get total extension count from the database - $sql = "select "; - $sql .= "(select count(*) from v_sms_destinations where domain_uuid = '".$_SESSION['domain_uuid']."' ".$sql_mod.") as num_rows "; - if ($db_type == "pgsql") { - $sql .= ",(select count(*) as count from v_sms_destinations "; - $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; - $sql .= ") as numeric_sms "; - } - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - $total_sms_destinations = $row['num_rows']; - if (($db_type == "pgsql") or ($db_type == "mysql")) { - $numeric_sms = $row['numeric_sms']; - } - } - unset($prep_statement, $row); - -//prepare to page the results - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = "&search=".$search; - if (!isset($_GET['page'])) { $_GET['page'] = 0; } - $_GET['page'] = check_str($_GET['page']); - list($paging_controls_mini, $rows_per_page, $var_3) = paging($total_sms_destinations, $param, $rows_per_page, true); //top - list($paging_controls, $rows_per_page, $var_3) = paging($total_sms_destinations, $param, $rows_per_page); //bottom - $offset = $rows_per_page * $_GET['page']; - -//to cast or not to cast - if ($db_type == "pgsql") { - $order_text = ($total_sms_destinations == $numeric_sms) ? "cast(destination as bigint)" : "destination asc"; - } - else { - $order_text = "extension asc"; - } - -//get the extensions - $sql = "select * from v_sms_destinations "; - $sql .= "where domain_uuid = '$domain_uuid' "; - $sql .= $sql_mod; //add search mod from above - if (strlen($order_by) > 0) { - $sql .= ($order_by == 'destination') ? "order by $order_text ".$order." " : "order by ".$order_by." ".$order." "; - } - else { - $sql .= "order by $order_text "; - } - $sql .= "limit $rows_per_page offset $offset "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $sms_destinations = $prep_statement->fetchAll(PDO::FETCH_NAMED); - unset ($prep_statement, $sql); - -//show the content - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "
".$text['header-sms']." (".$total_sms_destinations.")
\n"; - echo " ".$text['description-sms']."\n"; - echo "
\n"; - if (if_group("superadmin")) { - echo " \n"; - } - echo " "; - echo " "; - if ($paging_controls_mini != '') { - echo "".$paging_controls_mini."\n"; - } - echo "
\n"; - echo "
"; - - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - - echo "
\n"; - echo "\n"; - echo "\n"; - if (permission_exists('sms_delete') && is_array($sms_destinations)) { - echo ""; - } - echo th_order_by('destination', $text['label-destination'], $order_by, $order); - echo th_order_by('carrier', $text['label-carrier'], $order_by, $order); - echo th_order_by('enabled', $text['label-enabled'], $order_by, $order); - echo th_order_by('description', $text['label-description'], $order_by, $order); - echo "\n"; - echo "\n"; - - if (is_array($sms_destinations)) { - - foreach($sms_destinations as $row) { - $tr_link = (permission_exists('sms_edit')) ? " href='sms_edit.php?id=".$row['sms_destination_uuid']."'" : null; - echo "\n"; - if (permission_exists('sms_delete')) { - echo " "; - $ext_ids[] = 'checkbox_'.$row['sms_destination_uuid']; - } - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - $c = ($c) ? 0 : 1; - } - unset($sms_destinations, $row); - } - - if (is_array($sms_destinations)) { - echo "\n"; - echo " \n"; - echo "\n"; - } - - echo "
\n"; - if (permission_exists('sms_add')) { - echo "".$v_link_label_add.""; - } - if (permission_exists('sms_delete') && is_array($sms_destinations)) { - echo "".$v_link_label_delete.""; - } - echo "
"; - if (permission_exists('sms_edit')) { - echo "".$row['destination'].""; - } - else { - echo $row['destination']; - } - echo "".$row['carrier']."".ucwords($row['enabled'])."".$row['description']." "; - if (permission_exists('sms_edit')) { - echo "$v_link_label_edit"; - } - if (permission_exists('sms_delete')) { - echo "$v_link_label_delete"; - } - echo "
\n"; - if (permission_exists('sms_add')) { - echo "".$v_link_label_add.""; - } - if (permission_exists('sms_delete')) { - echo "".$v_link_label_delete.""; - } - echo "
"; - echo "
"; - - if (strlen($paging_controls) > 0) { - echo "
".$paging_controls."
\n"; - } - - echo "

".((is_array($sms_destinations)) ? "

" : null); - - // check or uncheck all checkboxes - if (sizeof($ext_ids) > 0) { - echo "\n"; - } - - if (is_array($sms_destinations)) { - // check all checkboxes - key_press('ctrl+a', 'down', 'document', null, null, "check('all');", true); - - // delete checked - key_press('delete', 'up', 'document', array('#search'), $text['confirm-delete'], 'document.forms.frm.submit();', true); - } - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/app/sms/sms_api.php b/app/sms/sms_api.php deleted file mode 100644 index 346b86046e..0000000000 --- a/app/sms/sms_api.php +++ /dev/null @@ -1,130 +0,0 @@ - - James Rose - -*/ -include "root.php"; - -//luarun /var/www/fusionpbx/app/sms/sms.lua TO FROM 'BODY' - -$debug = false; - -require_once "resources/require.php"; - -if ($_SERVER['REQUEST_METHOD'] == 'POST') { - if ($_SERVER['CONTENT_TYPE'] == 'application/json') { - $data = json_decode(file_get_contents("php://input")); - } else { - error_log('REQUEST: ' . print_r($_REQUEST, true)); - $data = (object) ['body' => $_REQUEST['Body'], - 'to' => str_replace("+", "", $_REQUEST['To']), - 'from' => str_replace("+", "", $_REQUEST['From']) - ]; - } - - if ($debug) { - error_log('DATA: ' . print_r($data, true)); - } - - //create the even socket connection and send the event socket command - $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); - if (!$fp) { - //error message - echo "
Connection to Event Socket failed.
"; - } - else { - - $to = preg_replace('/(^[1])/','', $data->to); - if ($debug) { - error_log("TO: " . print_r($to,true)); - } - - $sql = "select domain_name, "; - $sql .= "dialplan_detail_data, "; - $sql .= "v_domains.domain_uuid as domain_uuid "; - $sql .= "from v_destinations, "; - $sql .= "v_dialplan_details, "; - $sql .= "v_domains "; - $sql .= "where v_destinations.dialplan_uuid = v_dialplan_details.dialplan_uuid "; - $sql .= "and v_destinations.domain_uuid = v_domains.domain_uuid"; - $sql .= " and destination_number like '" . $to . "' and dialplan_detail_type = 'transfer'"; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $domain_name = $row["domain_name"]; - preg_match('/(\d{2,7})/',$row["dialplan_detail_data"],$match); - $domain_uuid = $row["domain_uuid"]; - break; //limit to 1 row - } - unset ($prep_statement); - - if ($debug) { - error_log("MATCH: " . print_r($match,true)); - error_log("DOMAIN_NAME: " . print_r($domain_name,true)); - } - - $sql = "select destination_number "; - $sql .= "from v_ring_groups, v_ring_group_destinations "; - $sql .= "where v_ring_groups.ring_group_uuid = v_ring_group_destinations.ring_group_uuid "; - $sql .= "and ring_group_extension = '" . $match[0] . "' "; - $sql .= "and v_ring_groups.domain_uuid = '" . $domain_uuid . "'"; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - if (count($result)) { - foreach ($result as &$row) { - $switch_cmd = "api luarun app.lua sms inbound "; - $switch_cmd .= $row['destination_number'] . "@" . $domain_name; - $switch_cmd .= " " . $data->from . " '" . $data->body . "'"; - if ($debug) { - error_log(print_r($switch_cmd,true)); - } - $result2 = trim(event_socket_request($fp, $switch_cmd)); - } - } else { - $switch_cmd = "api luarun app.lua sms inbound " . $match[0] . "@" . $domain_name . " " . $data->from . " '" . $data->body . "'"; - if ($debug) { - error_log(print_r($switch_cmd,true)); - } - $result2 = trim(event_socket_request($fp, $switch_cmd)); - } - if ($debug) { - error_log("RESULT: " . print_r($result2,true)); - } - - unset ($prep_statement); - - } - -} -die(); - -?> \ No newline at end of file diff --git a/app/sms/sms_edit.php b/app/sms/sms_edit.php deleted file mode 100644 index ac0493e2d8..0000000000 --- a/app/sms/sms_edit.php +++ /dev/null @@ -1,242 +0,0 @@ - - James Rose - -*/ - -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('sms_add') || permission_exists('sms_edit')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//set the action as an add or an update - if (isset($_REQUEST["id"])) { - $action = "update"; - $sms_uuid = check_str($_REQUEST["id"]); - $sql = "select * from v_sms_destinations "; - $sql .= "where sms_destination_uuid = '" . $_REQUEST["id"] . "' "; - $sql .= "and domain_uuid = '" . $_SESSION['domain_uuid'] . "' LIMIT 1"; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $sms_destinations = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($sms_destinations as $row) { - $destination = check_str($row["destination"]); - $carrier = check_str($row["carrier"]); - $description = check_str($row["description"]); - $enabled = check_str($row["enabled"]); - $sms_destination_uuid = $row['sms_destination_uuid']; - } - } - else { - $action = "add"; - } - -//get the http values and set them as php variables - if (count($_POST) > 0 && $action != "update") { - //get the values from the HTTP POST and save them as PHP variables - $destination = str_replace(' ','-',check_str($_POST["destination"])); - $carrier = check_str($_POST["carrier"]); - $description = check_str($_POST["description"]); - $enabled = check_str($_POST["enabled"]); - $sms_destination_uuid = uuid(); - if ($action == "add") { - $sql_insert = "insert into v_sms_destinations "; - $sql_insert .= "("; - $sql_insert .= "sms_destination_uuid, "; - $sql_insert .= "carrier, "; - $sql_insert .= "domain_uuid, "; - $sql_insert .= "destination, "; - $sql_insert .= "enabled, "; - $sql_insert .= "description "; - $sql_insert .= ")"; - $sql_insert .= "values "; - $sql_insert .= "("; - $sql_insert .= "'".$sms_destination_uuid."', "; - $sql_insert .= "'".$carrier."', "; - $sql_insert .= "'".$_SESSION['domain_uuid']."', "; - $sql_insert .= "'".$destination."', "; - $sql_insert .= "'".$enabled."', "; - $sql_insert .= "'".$description."' "; - $sql_insert .= ")"; - $db->exec($sql_insert); - header( 'Location: sms.php') ; - - } - } elseif (count($_POST) > 0 && $action == "update") { - $destination = str_replace(' ','-',check_str($_POST["destination"])); - $carrier = check_str($_POST["carrier"]); - $description = check_str($_POST["description"]); - $enabled = check_str($_POST["enabled"]); - - $sql_insert = "update v_sms_destinations set"; - $sql_insert .= "("; - $sql_insert .= "carrier, "; - $sql_insert .= "destination, "; - $sql_insert .= "enabled, "; - $sql_insert .= "description "; - $sql_insert .= ")"; - $sql_insert .= "= "; - $sql_insert .= "("; - $sql_insert .= "'".$carrier."', "; - $sql_insert .= "'".$destination."', "; - $sql_insert .= "'".$enabled."', "; - $sql_insert .= "'".$description."' "; - $sql_insert .= ")"; - $sql_insert .= "where sms_destination_uuid = '" . $sms_destination_uuid . "' and domain_uuid = '" . $_SESSION['domain_uuid'] . "'"; - $db->exec($sql_insert); - header( 'Location: sms.php') ; - } - -//include the header - require_once "resources/header.php"; - require_once "resources/paging.php"; - - echo "
\n"; - echo "\n"; - echo "\n"; - if ($action == "add") { - echo "\n"; - } - if ($action == "update") { - 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('sms_enabled')) { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - if ($action == "update") { - echo " \n"; - echo " "; - } - - echo "
".$text['header-sms-add']."".$text['header-sms-edit']."\n"; - echo " \n"; - echo " \n"; - echo "

\n"; - echo "
\n"; - echo " ".$text['label-destination']."\n"; - echo "\n"; - echo " \n"; - echo "
\n"; - echo $text['description-destination']."\n"; - echo "
\n"; - echo " ".$text['label-carrier']."\n"; - echo "\n"; - if (count($_SESSION['sms']['carriers']) > 0) { - echo "
\n"; - } - echo $text['description-carrier']."\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"; - echo "
\n"; - - - echo "\n"; - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/app/sms/sms_mdr.php b/app/sms/sms_mdr.php deleted file mode 100644 index 2f96a63210..0000000000 --- a/app/sms/sms_mdr.php +++ /dev/null @@ -1,141 +0,0 @@ - - James Rose - -*/ - -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('sms_view')) { - //access granted -} -else { - echo "access denied"; - exit; -} - -//add multi-lingual support - $language = new text; - $text = $language->get(); - -//include the header - require_once "resources/header.php"; - require_once "resources/paging.php"; - - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - - $sql = "select domain_name, extension, sms_message_uuid,start_stamp,from_numer,to_number,message,direction from v_sms_messages, v_domains, v_extensions where v_sms_messages.domain_uuid = v_domains.domain_uuid and v_sms_messages.extension_uuid = v_extensions.extension_uuid and v_domains.domain_uuid = '" . $domain_uuid . "' order by start_stamp"; - error_log("SQL: " . print_r($sql,true)); - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $result_count = count($result); - unset ($prep_statement, $sql); - - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - -//mod paging parameters for inclusion in column sort heading links - $param = substr($param, 1); //remove leading '&' - $param = substr($param, 0, strrpos($param, '&order_by=')); //remove trailing order by - -//show the results - $col_count = 6; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - if ($_REQUEST['showall'] && permission_exists('xml_cdr_all')) { - echo th_order_by('domain_name', $text['label-domain'], $order_by, $order, null, null, $param); - $col_count++; - } - echo th_order_by('extension', $text['label-extension'], $order_by, $order, null, null, $param); - echo th_order_by('start_stamp', $text['label-start'], $order_by, $order, null, "style='text-align: center;'", $param); - echo th_order_by('caller_id_number', $text['label-source'], $order_by, $order, null, null, $param); - echo th_order_by('destination_number', $text['label-destination'], $order_by, $order, null, null, $param); - echo th_order_by('message', $text['label-message'], $order_by, $order, null, null, $param); - echo "\n"; - - if ($result_count > 0) { - echo "\n"; - - //determine if theme images exist - $theme_image_path = $_SERVER["DOCUMENT_ROOT"]."/themes/".$_SESSION['domain']['template']['name']."/images/"; - $theme_cdr_images_exist = ( - file_exists($theme_image_path."icon_cdr_inbound_answered.png") && - file_exists($theme_image_path."icon_cdr_inbound_voicemail.png") && - file_exists($theme_image_path."icon_cdr_inbound_cancelled.png") && - file_exists($theme_image_path."icon_cdr_inbound_failed.png") && - file_exists($theme_image_path."icon_cdr_outbound_answered.png") && - file_exists($theme_image_path."icon_cdr_outbound_cancelled.png") && - file_exists($theme_image_path."icon_cdr_outbound_failed.png") && - file_exists($theme_image_path."icon_cdr_local_answered.png") && - file_exists($theme_image_path."icon_cdr_local_voicemail.png") && - file_exists($theme_image_path."icon_cdr_local_cancelled.png") && - file_exists($theme_image_path."icon_cdr_local_failed.png") - ) ? true : false; - - foreach($result as $index => $row) { - - $tmp_start_epoch = ($_SESSION['domain']['time_format']['text'] == '12h') ? date("j M Y g:i:sa", $row['start_stamp']) : date("j M Y H:i:s", $row['start_epoch']); - - //determine call result and appropriate icon - echo "\n"; - //domain name - if ($_REQUEST['showall'] && permission_exists('xml_cdr_all')) { - echo " \n"; - } - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - $c = ($c) ? 0 : 1; - } // end foreach - unset($sql, $result, $row_count); - } // end if - - echo "
 
\n"; - if ($theme_cdr_images_exist) { - $call_result = 'answered'; - echo "\n"; - } - else { echo " "; } - echo ""; - echo $row['domain_name'].' '; - echo " ".$row['extension']." ".$row['start_stamp']." ".$row['from_numer']." ".$row['to_number']." ".$row['message']." 
\n"; - echo "
\n"; - -//show the footer - require_once "resources/footer.php"; -?> \ No newline at end of file diff --git a/resources/install/scripts/app/sms/index.lua b/resources/install/scripts/app/sms/index.lua deleted file mode 100644 index fce32a8918..0000000000 --- a/resources/install/scripts/app/sms/index.lua +++ /dev/null @@ -1,208 +0,0 @@ --- sms.lua --- Part of FusionPBX --- Copyright (C) 2010 Mark J Crane --- All rights reserved. --- --- Redistribution and use in source and binary forms, with or without --- modification, are permitted provided that the following conditions are met: --- --- 1. Redistributions of source code must retain the above copyright notice, --- this list of conditions and the following disclaimer. --- --- 2. Redistributions in binary form must reproduce the above copyright --- notice, this list of conditions and the following disclaimer in the --- documentation and/or other materials provided with the distribution. --- --- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, --- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY --- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE --- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, --- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF --- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS --- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN --- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) --- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --- POSSIBILITY OF SUCH DAMAGE. - ---connect to the database - require "resources.functions.database_handle"; - dbh = database_handle('system'); - ---debug - debug["info"] = false; - debug["sql"] = false; - ---set the api - api = freeswitch.API(); - ---define uuid function - local random = math.random; - local function uuid() - local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'; - return string.gsub(template, '[xy]', function (c) - local v = (c == 'x') and random(0, 0xf) or random(8, 0xb); - return string.format('%x', v); - end) - end - ---get the argv values - script_name = argv[0]; - direction = argv[2]; - - if (debug["info"]) then - freeswitch.consoleLog("notice", "[sms] DIRECTION: " .. direction .. "\n"); - freeswitch.consoleLog("info", "chat console\n"); - end - - if direction == "inbound" then - to = argv[3]; - from = argv[4]; - body = argv[5]; - domain_name = string.match(to,'%@+(.+)'); - extension = string.match(to,'%d+'); - - if (debug["info"]) then - freeswitch.consoleLog("notice", "[sms] TO: " .. to .. "\n"); - freeswitch.consoleLog("notice", "[sms] Extension: " .. extension .. "\n"); - freeswitch.consoleLog("notice", "[sms] FROM: " .. from .. "\n"); - freeswitch.consoleLog("notice", "[sms] BODY: " .. body .. "\n"); - freeswitch.consoleLog("notice", "[sms] DOMAIN_NAME: " .. domain_name .. "\n"); - end - - local event = freeswitch.Event("CUSTOM", "SMS::SEND_MESSAGE"); - event:addHeader("proto", "sip"); - event:addHeader("dest_proto", "sip"); - event:addHeader("from", "sip:" .. from); - event:addHeader("from_full", "sip:" .. from); - event:addHeader("sip_profile","internal"); - event:addHeader("to", to); - event:addHeader("subject", "sip:" .. to); - event:addHeader("type", "text/html"); - event:addHeader("hint", "the hint"); - event:addHeader("replying", "true"); - event:addBody(body); - - if (debug["info"]) then - freeswitch.consoleLog("info", event:serialize()); - end - event:fire(); - to = extension; - elseif direction == "outbound" then - to = message:getHeader("to_user"); - domain_name = message:getHeader("from_host"); - from = message:getHeader("from_user"); - body = message:getBody(); - - if (debug["info"]) then - freeswitch.consoleLog("info", message:serialize()); - freeswitch.consoleLog("notice", "[sms] TO: " .. to .. "\n"); - freeswitch.consoleLog("notice", "[sms] FROM: " .. from .. "\n"); - freeswitch.consoleLog("notice", "[sms] BODY: " .. body .. "\n"); - freeswitch.consoleLog("notice", "[sms] DOMAIN_NAME: " .. domain_name .. "\n"); - end - - if (domain_uuid == nil) then - --get the domain_uuid using the domain name required for multi-tenant - if (domain_name ~= nil) then - sql = "SELECT domain_uuid FROM v_domains "; - sql = sql .. "WHERE domain_name = '" .. domain_name .. "' "; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - domain_uuid = rows["domain_uuid"]; - end); - end - end - freeswitch.consoleLog("notice", "[sms] DOMAIN_UUID: " .. domain_uuid .. "\n"); - if (outbound_caller_id_number == nil) then - --get the outbound_caller_id_number using the domain_uuid and the extension number - if (domain_uuid ~= nil) then - sql = "SELECT outbound_caller_id_number, extension_uuid, carrier FROM v_extensions "; - sql = sql .. ", v_sms_destinations "; - sql = sql .. "WHERE outbound_caller_id_number = destination and "; - sql = sql .. "v_extensions.domain_uuid = '" .. domain_uuid .. "' and extension = '" .. from .."' "; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - outbound_caller_id_number = rows["outbound_caller_id_number"]; - extension_uuid = rows["extension_uuid"]; - carrier = rows["carrier"]; - end); - end - end - - sql = "SELECT default_setting_value FROM v_default_settings "; - sql = sql .. "where default_setting_category = 'sms' and default_setting_subcategory = '" .. carrier .. "_access_key'"; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - access_key = rows["default_setting_value"]; - end); - - sql = "SELECT default_setting_value FROM v_default_settings "; - sql = sql .. "where default_setting_category = 'sms' and default_setting_subcategory = '" .. carrier .. "_secret_key'"; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - secret_key = rows["default_setting_value"]; - end); - - sql = "SELECT default_setting_value FROM v_default_settings "; - sql = sql .. "where default_setting_category = 'sms' and default_setting_subcategory = '" .. carrier .. "_api_url'"; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - api_url = rows["default_setting_value"]; - end); - - if (carrier == "flowroute") then - cmd = "curl -u ".. access_key ..":" .. secret_key .. " -H \"Content-Type: application/json\" -X POST -d '{\"to\":\"" .. to .. "\",\"from\":\"" .. outbound_caller_id_number .."\",\"body\":\"" .. body .. "\"}' " .. api_url; - elseif (carrier == "twilio") then - cmd ="curl -X POST '" .. api_url .."' --data-urlencode 'To=+" .. to .."' --data-urlencode 'From=+" .. outbound_caller_id_number .. "' --data-urlencode 'Body=" .. body .. "' -u ".. access_key ..":" .. secret_key .. " --insecure"; - end - if (debug["info"]) then - freeswitch.consoleLog("notice", "[sms] CMD: " .. cmd .. "\n"); - end - os.execute(cmd) - - end - ---write message to DB - if (domain_uuid == nil) then - --get the domain_uuid using the domain name required for multi-tenant - if (domain_name ~= nil) then - sql = "SELECT domain_uuid FROM v_domains "; - sql = sql .. "WHERE domain_name = '" .. domain_name .. "' "; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[voicemail] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - domain_uuid = rows["domain_uuid"]; - end); - end - end - if (extension_uuid == nil) then - --get the extension_uuid using the domain_uuid and the extension number - if (domain_uuid ~= nil) then - sql = "SELECT extension_uuid FROM v_extensions "; - sql = sql .. "WHERE domain_uuid = '" .. domain_uuid .. "' and extension = '" .. extension .."' "; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] SQL: " .. sql .. "\n"); - end - status = dbh:query(sql, function(rows) - extension_uuid = rows["extension_uuid"]; - end); - end - end - sql = "insert into v_sms_messages"; - sql = sql .. "(sms_message_uuid,extension_uuid,domain_uuid,start_stamp,from_numer,to_number,message,direction,response,carrier)"; - sql = sql .. " values ('" .. uuid() .. "','" .. extension_uuid .. "','" .. domain_uuid .."',now(),'" .. from .. "','" .. to .. "','" .. body .. "','" .. direction .. "','','" .. carrier .."')"; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[sms] "..sql.."\n"); - end - dbh:query(sql); \ No newline at end of file