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..2cb1bbd38d 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,14 @@ $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'] = ""; + ?> \ 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..a70bcc8eb6 --- /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 "\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_inc.php b/app/fax/fax_active_inc.php new file mode 100644 index 0000000000..17bac8604b --- /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['confirm-socket']."
"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "
".$text['label-message']."
$msg
\n"; + echo "
\n"; + } + else { + //define js function call var + $onhover_pause_refresh = " onmouseover='refresh_stop();' onmouseout='refresh_start();'"; + + //show buttons + echo ""; + echo " "; + echo " "; + echo " "; + echo " "; + echo "
"; + echo " \"".$text['label-refresh_pause']."\""; + echo " "; + if (permission_exists('fax_active_all')) { + if ($show == "all") { + echo " \n"; + } + else { + echo " \n"; + } + } + echo "
"; + + // show title + echo "".'Fax queue'.""; + echo "

\n"; + echo 'Current status of fax queue' . "\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 "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\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 = 'Wait'; + $task_next_time = $row['next_time']; + + if($row['status'] > 0){ + if($row['status'] <= 3){ + $task_status = 'Execute'; + } + else if($row['status'] == 10){ + $task_status = 'Success'; + } + else{ + $task_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 "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + $c = ($c) ? 0 : 1; + } + + echo "\n"; + echo "\n"; + echo "
". 'Fax' . "". 'Enabled' . "". 'Status' . "". 'Next time' . "". 'Files' . "". 'URI' . "
" . $fax_server . " " . $task_enabled . " " . $task_status . " " . $task_next_time . " " . $task_files . " " . $fax_uri . " ".$v_link_label_delete."
\n"; + } +?> \ No newline at end of file