diff --git a/app/fax/app_config.php b/app/fax/app_config.php
index 83fe88019d..838ecf936f 100644
--- a/app/fax/app_config.php
+++ b/app/fax/app_config.php
@@ -146,6 +146,13 @@
$apps[$x]['permissions'][$y]['name'] = 'fax_file_delete';
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
$apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'fax_active_view';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'fax_active_all';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
//schema details
$y = 0; //table array index
diff --git a/app/fax/app_languages.php b/app/fax/app_languages.php
index 5ab3463d98..3531c78fec 100644
--- a/app/fax/app_languages.php
+++ b/app/fax/app_languages.php
@@ -330,6 +330,17 @@ $text['label-log']['de-at'] = "Log";
$text['label-log']['ro'] = "Log";
$text['label-log']['he'] = "";
+$text['label-active']['en-us'] = "Active";
+$text['label-active']['es-cl'] = "";
+$text['label-active']['pt-pt'] = "";
+$text['label-active']['fr-fr'] = "";
+$text['label-active']['pt-br'] = "";
+$text['label-active']['pl'] = "";
+$text['label-active']['sv-se'] = "";
+$text['label-active']['de-at'] = "";
+$text['label-active']['ro'] = "";
+$text['label-active']['he'] = "";
+
$text['label-location']['en-us'] = "Location";
$text['label-location']['es-cl'] = "Localización";
$text['label-location']['pt-pt'] = "Localização";
@@ -2068,4 +2079,38 @@ $text['button-add']['de-at'] = "Hinzufügen";
$text['button-add']['ro'] = "Adaugă";
$text['button-add']['he'] = "הוספה";
+$text['button-show_all']['en-us'] = "Show All";
+$text['button-show_all']['es-cl'] = "Mostrar Todos";
+$text['button-show_all']['pt-pt'] = "Mostrar Todos";
+$text['button-show_all']['fr-fr'] = "Montrer Tout";
+$text['button-show_all']['pt-br'] = "Mostrar Todos";
+$text['button-show_all']['pl'] = "Pokaż Wszystkie";
+$text['button-show_all']['uk'] = "Показати всі";
+$text['button-show_all']['de-at'] = "Alle anzeigen";
+$text['button-show_all']['he'] = "";
+
+$text['fax-active_title']['en-us'] = "Fax queue";
+
+$text['fax-active_description']['en-us'] = "Current status of fax queue";
+
+$text['fax-active_title_fax_server']['en-us'] = "Fax";
+
+$text['fax-active_title_enabled']['en-us'] = "Enabled";
+
+$text['fax-active_title_status']['en-us'] = "Status";
+
+$text['fax-active_title_next_time']['en-us'] = "Next time";
+
+$text['fax-active_title_files']['en-us'] = "Files";
+
+$text['fax-active_title_uri']['en-us'] = "URI";
+
+$text['fax-active_status_wait']['en-us'] = "Wait";
+
+$text['fax-active_status_execute']['en-us'] = "Execute";
+
+$text['fax-active_status_success']['en-us'] = "Success";
+
+$text['fax-active_status_fail']['en-us'] = "Fail";
+
?>
\ No newline at end of file
diff --git a/app/fax/fax.php b/app/fax/fax.php
index 81af0c8441..5fb50ed436 100644
--- a/app/fax/fax.php
+++ b/app/fax/fax.php
@@ -170,6 +170,9 @@ else {
if (permission_exists('fax_log_view')) {
echo " ".$text['label-log']."";
}
+ if (permission_exists('fax_active_view')) {
+ echo " ".$text['label-active']."";
+ }
echo " \n";
echo "
".$row['fax_description']." | \n";
echo " ";
diff --git a/app/fax/fax_active.php b/app/fax/fax_active.php
new file mode 100644
index 0000000000..4729e91ab8
--- /dev/null
+++ b/app/fax/fax_active.php
@@ -0,0 +1,136 @@
+
+ Portions created by the Initial Developer are Copyright (C) 2008-2012
+ 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('fax_active_view')) {
+ //access granted
+}
+else {
+ echo "access denied";
+ exit;
+}
+
+//add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
+//get the HTTP values and set as variables
+ $show = trim($_REQUEST["show"]);
+ if ($show != "all") { $show = ''; }
+
+//
+ $fax_uuid = false;
+ if(isset($_REQUEST['id'])) {
+ $fax_uuid = check_str($_REQUEST["id"]);
+ }
+
+//show the header
+ $document['title'] = $text['title'];
+ require_once "resources/header.php";
+
+//ajax for refresh
+ ?>
+
+\n";
+echo " ".date('Y-m-d-s')." \n";
+echo "
";
+
+require_once "resources/footer.php";
+
+/*
+// deprecated functions for this page
+
+ function get_park_cmd(uuid, context) {
+ cmd = \"uuid_transfer \"+uuid+\" -bleg *6000 xml \"+context;
+ return escape(cmd);
+ }
+
+ function get_record_cmd(uuid, prefix, name) {
+ cmd = \"uuid_record \"+uuid+\" start ".$_SESSION['switch']['recordings']['dir']."/".$_SESSION['domain_name']."/archive/".date("Y")."/".date("M")."/".date("d")."/\"+uuid+\".wav\";
+ return escape(cmd);
+ }
+*/
+?>
\ No newline at end of file
diff --git a/app/fax/fax_active_exec.php b/app/fax/fax_active_exec.php
new file mode 100644
index 0000000000..24b38ac2d0
--- /dev/null
+++ b/app/fax/fax_active_exec.php
@@ -0,0 +1,74 @@
+0) {
+ $cmd = trim(check_str($_GET['cmd']));
+ $fax_uuid = trim(check_str($_GET['id']));
+ }
+
+//authorized commands
+ if ($cmd == 'delete') {
+ //authorized;
+ } else {
+ //not found. this command is not authorized
+ echo "access denied";
+ exit;
+ }
+
+//Command
+ if ($cmd == 'delete') {
+ if($fax_uuid){
+ $sql = <<exec($sql);
+ // if($result === false){
+ // var_dump($db->errorInfo());
+ // }
+ }
+ }
+?>
\ No newline at end of file
diff --git a/app/fax/fax_active_inc.php b/app/fax/fax_active_inc.php
new file mode 100644
index 0000000000..9e13e1cc6a
--- /dev/null
+++ b/app/fax/fax_active_inc.php
@@ -0,0 +1,222 @@
+
+ Portions created by the Initial Developer are Copyright (C) 2008-2012
+ 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('fax_active_view')) {
+ //access granted
+}
+else {
+ echo "access denied";
+ exit;
+}
+
+if ((!permission_exists('fax_active_all')) && ($show == 'all')) {
+ echo "access denied";
+ exit;
+}
+
+$fax_uuid = false;
+if(isset($_REQUEST['id'])) {
+ $fax_uuid = check_str($_REQUEST["id"]);
+}
+
+//add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
+//get the HTTP values and set as variables
+ $show = trim($_REQUEST["show"]);
+ if ($show != "all") { $show = ''; }
+
+//include theme config for button images
+ include_once("themes/".$_SESSION['domain']['template']['name']."/config.php");
+
+$where = 'where (1 = 1)';
+
+if($show !== 'all'){
+ $where .= 'and (t3.domain_name = \'' . check_str($_SESSION['domain_name']) . '\')';
+}
+else if($fax_uuid){
+ if(!permission_exists('fax_active_all')){
+ $where .= 'and (t3.domain_name = \'' . check_str($_SESSION['domain_name']) . '\')';
+ }
+ $where .= 'and (t1.fax_uuid =\'' . check_str($fax_uuid) . '\')';
+}
+
+ $sql = <<prepare(check_sql($sql));
+ if ($prep_statement) {
+ if($prep_statement->execute()) {
+ $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
+ }
+ }
+ unset($prep_statement, $sql, $where);
+
+//if the connnection is available then run it and return the results
+ if ($result === false) {
+ var_dump($db->errorInfo());
+ $msg = "".$text['message-fail']."
";
+ echo "\n";
+ echo " \n";
+ echo "\n";
+ echo "| ".$text['label-message']." | \n";
+ echo " \n";
+ echo "\n";
+ echo "| $msg | \n";
+ echo " \n";
+ echo " \n";
+ echo " \n";
+ }
+ else {
+ //define js function call var
+ $onhover_pause_refresh = " onmouseover='refresh_stop();' onmouseout='refresh_start();'";
+
+ //show buttons
+ echo "";
+
+ // show title
+ echo "".$text['fax-active_title']."";
+ echo "
\n";
+ echo $text['fax-active_description']."\n";
+ echo "
\n";
+
+ //set the alternating color for each row
+ $c = 0;
+ $row_style["0"] = "row_style0";
+ $row_style["1"] = "row_style1";
+
+ //show the results
+ echo "\n";
+
+ //show headers
+ echo "\n";
+ echo "\n";
+ echo "| " . $text['fax-active_title_fax_server'] . " | \n";
+ echo "" . $text['fax-active_title_enabled'] . " | \n";
+ echo "" . $text['fax-active_title_status'] . " | \n";
+ echo "" . $text['fax-active_title_next_time'] . " | \n";
+ echo "" . $text['fax-active_title_files'] . " | \n";
+ echo "" . $text['fax-active_title_uri'] . " | \n";
+
+ echo " | \n";
+ echo " \n";
+
+ foreach ($result as &$row) {
+ $fax_uri = $row['uri'];
+ $domain_name = $row['domain_name'];
+ $task_enabled = ($row['interrupted'] == 'true') ? 'Disable': 'Enable';
+ $task_status = $text['fax-active_status_wait'];
+ $task_next_time = $row['next_time'];
+
+ if($row['status'] > 0){
+ if($row['status'] <= 3){
+ $task_status = $text['fax-active_status_execute'];
+ }
+ else if($row['status'] == 10){
+ $task_status = $text['fax-active_status_success'];
+ }
+ else{
+ $task_status = $text['fax-active_status_fail'];
+ }
+ }
+
+ $fax_server = $row['fax_server_name'];
+ if ($show == 'all') {
+ $fax_server .= '@' . $domain_name;
+ }
+
+ $task_files = '';
+ if(!empty($row['fax_file'])){
+ $task_files .= ' ' . basename($row['fax_file']);
+ }
+ if(!empty($row['wav_file'])){
+ $task_files .= ' ' . basename($row['wav_file']);
+ } else if(!empty($row['greeting'])){
+ $task_files .= ' ' . basename($row['greeting']);
+ }
+
+ echo "\n";
+ echo "| " . $fax_server . " | \n";
+ echo "" . $task_enabled . " | \n";
+ echo "" . $task_status . " | \n";
+ echo "" . $task_next_time . " | \n";
+ echo "" . $task_files . " | \n";
+ echo "" . $fax_uri . " | \n";
+
+ echo "".$v_link_label_delete." | \n";
+ echo " \n";
+ $c = ($c) ? 0 : 1;
+ }
+
+ echo "\n";
+ echo "\n";
+ echo " \n";
+ }
+?>
\ No newline at end of file
diff --git a/app/fax/fax_send.php b/app/fax/fax_send.php
index b016ba0bfd..35b17e5a2b 100644
--- a/app/fax/fax_send.php
+++ b/app/fax/fax_send.php
@@ -706,6 +706,7 @@ function fax_split_dtmf(&$fax_number, &$fax_dtmf){
foreach ($fax_numbers as $fax_number) {
$dial_string = $common_dial_string;
+
fax_split_dtmf($fax_number, $fax_dtmf);
//prepare the fax command
@@ -767,7 +768,12 @@ function fax_split_dtmf(&$fax_number, &$fax_dtmf){
if (!$included) {
//redirect the browser
$_SESSION["message"] = $response;
- header("Location: fax_files.php?id=".$fax_uuid."&box=sent");
+ if (permission_exists('fax_active_view')) {
+ header("Location: fax_active.php?id=".$fax_uuid);
+ }
+ else {
+ header("Location: fax_files.php?id=".$fax_uuid."&box=sent");
+ }
exit;
}
diff --git a/app/fax/resources/images/refresh_active.gif b/app/fax/resources/images/refresh_active.gif
new file mode 100644
index 0000000000..305457831c
Binary files /dev/null and b/app/fax/resources/images/refresh_active.gif differ
diff --git a/app/fax/resources/images/refresh_paused.png b/app/fax/resources/images/refresh_paused.png
new file mode 100644
index 0000000000..38937ec1f2
Binary files /dev/null and b/app/fax/resources/images/refresh_paused.png differ
|