Merge branch 'master' into destinations_use_javascript_for_javascript
This commit is contained in:
commit
490e7cc3c5
|
|
@ -211,8 +211,12 @@
|
|||
if (!empty($access_controls) && count($access_controls) > 0) {
|
||||
$x = 0;
|
||||
foreach ($access_controls as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('access_control_edit')) {
|
||||
$list_row_url = "access_control_edit.php?id=".urlencode($row['access_control_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('access_control_add') || permission_exists('access_control_edit') || permission_exists('access_control_delete')) {
|
||||
|
|
@ -254,3 +258,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,7 @@
|
|||
|
||||
/**
|
||||
* access controls class
|
||||
*
|
||||
* @method null download
|
||||
*/
|
||||
if (!class_exists('access_controls')) {
|
||||
|
||||
class access_controls {
|
||||
|
||||
/**
|
||||
|
|
@ -264,6 +260,3 @@ if (!class_exists('access_controls')) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
/**
|
||||
* Define the operator_panel class
|
||||
*/
|
||||
if (!class_exists('basic_operator_panel')) {
|
||||
class basic_operator_panel {
|
||||
|
||||
/**
|
||||
|
|
@ -245,6 +244,3 @@ if (!class_exists('basic_operator_panel')) {
|
|||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -353,7 +353,7 @@ if (is_array($activity)) {
|
|||
}
|
||||
else {
|
||||
//unregistered extension
|
||||
if (!empty($_SESSION['operator_panel']['show_unregistered']['boolean']) && $_SESSION['operator_panel']['show_unregistered']['boolean'] == 'true') {
|
||||
if (filter_var($_SESSION['operator_panel']['show_unregistered']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
$css_class = "ur_ext";
|
||||
}
|
||||
else {
|
||||
|
|
@ -551,7 +551,7 @@ if (is_array($activity)) {
|
|||
|
||||
if (in_array($extension, $_SESSION['user']['extensions'])) {
|
||||
$user_extensions[] = $block;
|
||||
} elseif (!empty($ext['call_group']) && filter_var($_SESSION['operator_panel']['group_extensions']['boolean'], FILTER_VALIDATE_BOOLEAN)) {
|
||||
} elseif (!empty($ext['call_group']) && filter_var($_SESSION['operator_panel']['group_extensions']['boolean'] ?? false, FILTER_VALIDATE_BOOLEAN)) {
|
||||
$grouped_extensions[$ext['call_group']][] = $block;
|
||||
} else {
|
||||
$other_extensions[] = $block;
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['bridges'])) {
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
$offset = $rows_per_page * $page;
|
||||
|
||||
//get the list
|
||||
$sql = "select b.bridge_uuid, d.domain_name, b.bridge_name, b.bridge_destination, bridge_enabled, bridge_description ";
|
||||
$sql = "select d.domain_uuid, b.bridge_uuid, d.domain_name, b.bridge_name, b.bridge_destination, bridge_enabled, bridge_description ";
|
||||
$sql .= "from v_bridges as b, v_domains as d ";
|
||||
$sql .= "where b.domain_uuid = d.domain_uuid ";
|
||||
if (!empty($show) && $show == "all" && permission_exists('bridge_all')) {
|
||||
|
|
@ -226,7 +226,7 @@
|
|||
echo th_order_by('bridge_destination', $text['label-bridge_destination'], $order_by, $order);
|
||||
echo th_order_by('bridge_enabled', $text['label-bridge_enabled'], $order_by, $order, null, "class='center'");
|
||||
echo " <th class='hide-sm-dn'>".$text['label-bridge_description']."</th>\n";
|
||||
if (permission_exists('bridge_edit') && !empty($list_row_edit_button) && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('bridge_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -234,8 +234,12 @@
|
|||
if (!empty($bridges)) {
|
||||
$x = 0;
|
||||
foreach ($bridges as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('bridge_edit')) {
|
||||
$list_row_url = "bridge_edit.php?id=".urlencode($row['bridge_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('bridge_add') || permission_exists('bridge_edit') || permission_exists('bridge_delete')) {
|
||||
|
|
@ -266,7 +270,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['bridge_description'])."</td>\n";
|
||||
if (permission_exists('bridge_edit') && !empty($list_row_edit_button) && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('bridge_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the bridges class
|
||||
if (!class_exists('bridges')) {
|
||||
class bridges {
|
||||
|
||||
/**
|
||||
|
|
@ -255,6 +254,3 @@ if (!class_exists('bridges')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['call_blocks'])) {
|
||||
|
|
@ -301,7 +301,7 @@
|
|||
echo th_order_by('call_block_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('insert_date', $text['label-date-added'], $order_by, $order, null, "class='shrink no-wrap'");
|
||||
echo "<th class='hide-md-dn pct-20'>".$text['label-description']."</th>\n";
|
||||
if (permission_exists('call_block_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_block_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -309,8 +309,12 @@
|
|||
if (!empty($result)) {
|
||||
$x = 0;
|
||||
foreach ($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('call_block_edit')) {
|
||||
$list_row_url = "call_block_edit.php?id=".urlencode($row['call_block_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('call_block_add') || permission_exists('call_block_edit') || permission_exists('call_block_delete')) {
|
||||
|
|
@ -381,7 +385,7 @@
|
|||
echo " </td>\n";
|
||||
echo " <td class='no-wrap'>".$row['date_formatted']." <span class='hide-sm-dn'>".$row['time_formatted']."</span></td>\n";
|
||||
echo " <td class='description overflow hide-md-dn'>".escape($row['call_block_description'])."</td>\n";
|
||||
if (permission_exists('call_block_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_block_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -405,3 +409,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
|
@ -557,7 +557,7 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
}
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-enabled']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
|
|
@ -674,6 +674,8 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
echo modal::create(['id'=>'modal-block','type'=>'general','message'=>$text['confirm-block'],'actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_block','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_form_submit('form_list');"])]);
|
||||
}
|
||||
|
||||
echo "<div class='card'>\n";
|
||||
|
||||
foreach (['inbound','outbound'] as $direction) {
|
||||
echo "<table class='list' id='list_".$direction."' ".($direction == 'outbound' ? "style='display: none;'" : null).">\n";
|
||||
echo "<tr class='list-header'>\n";
|
||||
|
|
@ -754,6 +756,8 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
echo "</table>\n";
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
|
||||
echo "<br />\n";
|
||||
echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
|
||||
echo "</form>\n";
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@
|
|||
|
||||
/**
|
||||
* call block class
|
||||
*
|
||||
* @method null download
|
||||
*/
|
||||
if (!class_exists('call_block')) {
|
||||
class call_block {
|
||||
|
||||
/**
|
||||
|
|
@ -459,6 +456,3 @@ if (!class_exists('call_block')) {
|
|||
} //method
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['call_broadcasts'])) {
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
echo th_order_by('broadcast_concurrent_limit', $text['label-concurrent-limit'], $order_by, $order);
|
||||
echo th_order_by('broadcast_start_time', $text['label-start_time'], $order_by, $order);
|
||||
echo th_order_by('broadcast_description', $text['label-description'], $order_by, $order);
|
||||
if (permission_exists('call_broadcast_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_broadcast_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -227,8 +227,12 @@
|
|||
if (!empty($result)) {
|
||||
$x = 0;
|
||||
foreach($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('call_broadcast_edit')) {
|
||||
$list_row_url = "call_broadcast_edit.php?id=".urlencode($row['call_broadcast_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('call_broadcast_add') || permission_exists('call_broadcast_delete')) {
|
||||
|
|
@ -262,7 +266,7 @@
|
|||
}
|
||||
echo " <td>".escape($broadcast_start_time ?? '')."</td>\n";
|
||||
echo " <td class='description overflow hide-xs'>".escape($row['broadcast_description'])."</td>\n";
|
||||
if (permission_exists('call_broadcast_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_broadcast_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -286,3 +290,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -27,10 +27,7 @@
|
|||
|
||||
/**
|
||||
* call broadcast class
|
||||
*
|
||||
* @method null download
|
||||
*/
|
||||
if (!class_exists('call_broadcast')) {
|
||||
class call_broadcast {
|
||||
|
||||
/**
|
||||
|
|
@ -177,6 +174,3 @@ if (!class_exists('call_broadcast')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -128,6 +128,9 @@
|
|||
$x = 0;
|
||||
foreach($call_center_queues as $row) {
|
||||
$list_row_url = PROJECT_PATH."/app/call_center_active/call_center_active.php?queue_name=".escape($row['call_center_queue_uuid'])."&name=".urlencode(escape($row['queue_name']));
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
echo " <td><a href='".$list_row_url."'>".escape($row['queue_name'])."</a></td>\n";
|
||||
echo " <td>".escape($row['queue_extension'])."</td>\n";
|
||||
|
|
@ -159,3 +162,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['call_center_agents'])) {
|
||||
|
|
@ -206,7 +206,7 @@
|
|||
//echo th_order_by('agent_wrap_up_time', $text['label-wrap_up_time'], $order_by, $order);
|
||||
//echo th_order_by('agent_reject_delay_time', $text['label-reject_delay_time'], $order_by, $order);
|
||||
//echo th_order_by('agent_busy_delay_time', $text['label-busy_delay_time'], $order_by, $order);
|
||||
if (permission_exists('call_center_agent_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_center_agent_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -214,8 +214,12 @@
|
|||
if (!empty($result)) {
|
||||
$x = 0;
|
||||
foreach($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('call_center_agent_edit')) {
|
||||
$list_row_url = "call_center_agent_edit.php?id=".urlencode($row['call_center_agent_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('call_center_agent_delete')) {
|
||||
|
|
@ -266,7 +270,7 @@
|
|||
//echo " <td>".$row[agent_wrap_up_time]."</td>\n";
|
||||
//echo " <td>".$row[agent_reject_delay_time]."</td>\n";
|
||||
//echo " <td>".$row[agent_busy_delay_time]."</td>\n";
|
||||
if (permission_exists('call_center_agent_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_center_agent_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -290,3 +294,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['call_center_queues']) && is_array($_POST['call_center_queues'])) {
|
||||
|
|
@ -219,7 +219,7 @@
|
|||
//echo th_order_by('queue_abandoned_resume_allowed', $text['label-abandoned_resume_allowed'], $order_by, $order);
|
||||
//echo th_order_by('queue_tier_rule_wait_multiply_level', $text['label-tier_rule_wait_multiply_level'], $order_by, $order);
|
||||
echo th_order_by('queue_description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('call_center_queue_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_center_queue_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -227,8 +227,12 @@
|
|||
if (!empty($result)) {
|
||||
$x = 0;
|
||||
foreach($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('call_center_queue_edit')) {
|
||||
$list_row_url = "call_center_queue_edit.php?id=".urlencode($row['call_center_queue_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('call_center_queue_add') || permission_exists('call_center_queue_delete')) {
|
||||
|
|
@ -269,7 +273,7 @@
|
|||
//echo " <td>".escape($row[queue_abandoned_resume_allowed])." </td>\n";
|
||||
//echo " <td>".escape($row[queue_tier_rule_wait_multiply_level])." </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['queue_description'])."</td>\n";
|
||||
if (permission_exists('call_center_queue_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_center_queue_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -293,3 +297,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,11 +26,8 @@
|
|||
|
||||
/**
|
||||
* cache class provides an abstracted cache
|
||||
*
|
||||
* @method string dialplan - builds the dialplan for call center
|
||||
*/
|
||||
//define the call center class
|
||||
if (!class_exists('call_center')) {
|
||||
class call_center {
|
||||
/**
|
||||
* define the variables
|
||||
|
|
@ -611,7 +608,6 @@
|
|||
} //method
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
/*
|
||||
$o = new call_center;
|
||||
|
|
@ -625,5 +621,3 @@ $c->destination_number = "";
|
|||
$c->queue_cc_exit_keys = "";
|
||||
$c->dialplan();
|
||||
*/
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/waveform.php";
|
||||
|
||||
|
||||
use maximal\audio\Waveform;
|
||||
|
||||
//check permisions
|
||||
|
|
@ -96,8 +95,8 @@
|
|||
Waveform::$colorB = !empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) : [0,125,232,0.6]; // array rgba, right (b-leg) wave color
|
||||
Waveform::$backgroundColor = !empty($_SESSION['theme']['audio_player_waveform_color_background']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_background']['text']) : [0,0,0,0]; // array rgba, default: transparent
|
||||
Waveform::$axisColor = !empty($_SESSION['theme']['audio_player_waveform_color_axis']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_axis']['text']) : [0,0,0,0.3]; // array rgba
|
||||
Waveform::$singlePhase = empty($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] !== 'true' ? false : true; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = empty($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] !== 'false' ? true : false; // combine channels into single axis
|
||||
Waveform::$singlePhase = filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] ?? false, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] ?? true, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // combine channels into single axis
|
||||
$height = !empty($_SESSION['theme']['audio_player_waveform_height']['text']) && is_numeric(str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text'])) ? 2.2 * (int) str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text']) : null;
|
||||
$wf = $waveform->getWaveform($temp_filename, 1600, $height ?? 180); // input: png filename returns boolean true/false, or 'base64' returns base64 string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get search
|
||||
$search = $_REQUEST['search'] ?? null;
|
||||
|
|
@ -235,7 +235,7 @@
|
|||
}
|
||||
echo th_order_by('call_flow_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('call_flow_description', $text['label-call_flow_description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('call_flow_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_flow_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -243,8 +243,12 @@
|
|||
if (!empty($call_flows)) {
|
||||
$x = 0;
|
||||
foreach ($call_flows as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('call_flow_edit')) {
|
||||
$list_row_url = "call_flow_edit.php?id=".urlencode($row['call_flow_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('call_flow_add') || permission_exists('call_flow_edit') || permission_exists('call_flow_delete')) {
|
||||
|
|
@ -287,7 +291,7 @@
|
|||
echo escape($row['call_flow_enabled']);
|
||||
}
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['call_flow_description'])." </td>\n";
|
||||
if (permission_exists('call_flow_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('call_flow_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -311,3 +315,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the call_flows class
|
||||
if (!class_exists('call_flows')) {
|
||||
class call_flows {
|
||||
|
||||
/**
|
||||
|
|
@ -410,6 +409,3 @@ if (!class_exists('call_flows')) {
|
|||
} //method
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/waveform.php";
|
||||
|
||||
use maximal\audio\Waveform;
|
||||
|
||||
|
|
@ -96,8 +95,8 @@
|
|||
Waveform::$colorB = !empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) : [0,125,232,0.6]; // array rgba, right (b-leg) wave color
|
||||
Waveform::$backgroundColor = !empty($_SESSION['theme']['audio_player_waveform_color_background']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_background']['text']) : [0,0,0,0]; // array rgba, default: transparent
|
||||
Waveform::$axisColor = !empty($_SESSION['theme']['audio_player_waveform_color_axis']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_axis']['text']) : [0,0,0,0.3]; // array rgba
|
||||
Waveform::$singlePhase = empty($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] !== 'true' ? false : true; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = empty($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] !== 'false' ? true : false; // combine channels into single axis
|
||||
Waveform::$singlePhase = filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] ?? false, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] ?? true, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // combine channels into single axis
|
||||
$height = !empty($_SESSION['theme']['audio_player_waveform_height']['text']) && is_numeric(str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text'])) ? 2.2 * (int) str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text']) : null;
|
||||
$wf = $waveform->getWaveform($temp_filename, 1600, $height ?? 180); // input: png filename returns boolean true/false, or 'base64' returns base64 string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@
|
|||
}
|
||||
}
|
||||
if ($show !== 'all' && permission_exists('call_forward_all')) {
|
||||
echo button::create(['type' => 'button', 'label' => $text['button-show_all'], 'icon' => $_SESSION['theme']['button_icon_all'], 'link' => '?show=all' . $param]);
|
||||
echo button::create(['type' => 'button', 'label' => $text['button-show_all'], 'icon' => $_SESSION['theme']['button_icon_all'], 'link' => '?show=all' . (!empty($params) ? '&'.implode('&', $params) : null)]);
|
||||
}
|
||||
echo "<form id='form_search' class='inline' method='get'>\n";
|
||||
if ($show == 'all' && permission_exists('call_forward_all')) {
|
||||
|
|
@ -296,8 +296,8 @@
|
|||
echo " <th>" . $text['label-dnd'] . "</th>\n";
|
||||
}
|
||||
echo " <th class='" . ($is_included ? 'hide-md-dn' : 'hide-sm-dn') . "'>" . $text['label-description'] . "</th>\n";
|
||||
$list_row_edit_button = $_SESSION['theme']['list_row_edit_button']['boolean'] ?? 'false';
|
||||
if ( $list_row_edit_button === 'true') {
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
if ($list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -306,6 +306,9 @@
|
|||
$x = 0;
|
||||
foreach ($extensions as $row) {
|
||||
$list_row_url = PROJECT_PATH . "/app/call_forward/call_forward_edit.php?id=" . $row['extension_uuid'] . "&return_url=" . urlencode($_SERVER['REQUEST_URI']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
echo "<tr class='list-row' href='" . $list_row_url . "'>\n";
|
||||
if (!$is_included && $extensions) {
|
||||
echo " <td class='checkbox'>\n";
|
||||
|
|
@ -399,7 +402,7 @@
|
|||
echo " </td>\n";
|
||||
}
|
||||
echo " <td class='description overflow " . ($is_included ? 'hide-md-dn' : 'hide-sm-dn') . "'>" . escape($row['description']) . " </td>\n";
|
||||
if ($list_row_edit_button === 'true') {
|
||||
if ($list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type' => 'button', 'title' => $text['button-edit'], 'icon' => $_SESSION['theme']['button_icon_edit'], 'link' => $list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@
|
|||
*/
|
||||
|
||||
//send feature event notify to the phone
|
||||
if (!empty($_SESSION['device']['feature_sync']['boolean']) && $_SESSION['device']['feature_sync']['boolean'] == "true") {
|
||||
if (filter_var($_SESSION['device']['feature_sync']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
$ring_count = ceil($call_timeout / 6);
|
||||
$feature_event_notify = new feature_event_notify;
|
||||
$feature_event_notify->domain_name = $_SESSION['domain_name'];
|
||||
|
|
@ -358,7 +358,7 @@
|
|||
else {
|
||||
$feature_event_notify->forward_all_destination = $forward_all_destination;
|
||||
}
|
||||
|
||||
|
||||
if ($forward_busy_destination == "") {
|
||||
$feature_event_notify->forward_busy_destination = "0";
|
||||
}
|
||||
|
|
@ -421,7 +421,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (!empty($_SESSION['switch']['extensions']['dir']) && is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
@ -504,7 +503,7 @@
|
|||
}
|
||||
|
||||
//prepare the autocomplete
|
||||
if(!empty($_SESSION['follow_me']['follow_me_autocomplete']['boolean']) && $_SESSION['follow_me']['follow_me_autocomplete']['boolean'] == 'true') {
|
||||
if(filter_var($_SESSION['follow_me']['follow_me_autocomplete']['boolean'] ?? false, FILTER_VALIDATE_BOOLEAN)) {
|
||||
echo "<link rel=\"stylesheet\" href=\"".PROJECT_PATH."/resources/jquery/jquery-ui.min.css\" />\n";
|
||||
echo "<script src=\"".PROJECT_PATH."/resources/jquery/jquery-ui.min.js\"></script>\n";
|
||||
echo "<script type=\"text/javascript\">\n";
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@
|
|||
$p->delete('extension_edit', 'temp');
|
||||
|
||||
//send feature event notify to the phone
|
||||
if (!empty($_SESSION['device']['feature_sync']['boolean']) && $_SESSION['device']['feature_sync']['boolean'] == "true") {
|
||||
if (filter_var($_SESSION['device']['feature_sync']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
foreach ($extensions as $uuid => $extension) {
|
||||
$feature_event_notify = new feature_event_notify;
|
||||
$feature_event_notify->domain_name = $_SESSION['domain_name'];
|
||||
|
|
@ -248,7 +248,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (!empty($_SESSION['switch']['extensions']['dir']) && is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@
|
|||
$p->delete('extension_edit', 'temp');
|
||||
|
||||
//send feature event notify to the phone
|
||||
if (!empty($_SESSION['device']['feature_sync']['boolean']) && $_SESSION['device']['feature_sync']['boolean'] == "true") {
|
||||
if (filter_var($_SESSION['device']['feature_sync']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
foreach ($extensions as $uuid => $extension) {
|
||||
$feature_event_notify = new feature_event_notify;
|
||||
$feature_event_notify->domain_name = $_SESSION['domain_name'];
|
||||
|
|
@ -261,7 +261,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (!empty($_SESSION['switch']['extensions']['dir']) && is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
|
|||
|
|
@ -405,7 +405,7 @@
|
|||
$p->delete('follow_me_edit', 'temp');
|
||||
|
||||
//send feature event notify to the phone
|
||||
if (!empty($_SESSION['device']['feature_sync']['boolean']) && $_SESSION['device']['feature_sync']['boolean'] == "true") {
|
||||
if (filter_var($_SESSION['device']['feature_sync']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
foreach ($extensions as $uuid => $extension) {
|
||||
$feature_event_notify = new feature_event_notify;
|
||||
$feature_event_notify->domain_name = $_SESSION['domain_name'];
|
||||
|
|
@ -426,7 +426,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (!empty($_SESSION['switch']['extensions']['dir']) && is_readable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
|
|||
|
|
@ -26,10 +26,7 @@
|
|||
|
||||
/**
|
||||
* call_recordings class
|
||||
*
|
||||
* @method null download
|
||||
*/
|
||||
if (!class_exists('call_recordings')) {
|
||||
class call_recordings {
|
||||
|
||||
/**
|
||||
|
|
@ -525,6 +522,3 @@ if (!class_exists('call_recordings')) {
|
|||
}
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/waveform.php";
|
||||
|
||||
use maximal\audio\Waveform;
|
||||
|
||||
|
|
@ -84,8 +83,8 @@
|
|||
Waveform::$colorB = !empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) : [0,125,232,0.6]; // array rgba, right (b-leg) wave color
|
||||
Waveform::$backgroundColor = !empty($_SESSION['theme']['audio_player_waveform_color_background']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_background']['text']) : [0,0,0,0]; // array rgba, default: transparent
|
||||
Waveform::$axisColor = !empty($_SESSION['theme']['audio_player_waveform_color_axis']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_axis']['text']) : [0,0,0,0.3]; // array rgba
|
||||
Waveform::$singlePhase = empty($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] !== 'true' ? false : true; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = empty($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] !== 'false' ? true : false; // combine channels into single axis
|
||||
Waveform::$singlePhase = filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] ?? false, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] ?? true, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // combine channels into single axis
|
||||
$height = !empty($_SESSION['theme']['audio_player_waveform_height']['text']) && is_numeric(str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text'])) ? 2.2 * (int) str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text']) : null;
|
||||
$wf = $waveform->getWaveform($temp_filename, 1600, $height ?? 180); // input: png filename returns boolean true/false, or 'base64' returns base64 string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,5 +56,16 @@
|
|||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_active_all";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_active_profile";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_active_application";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_active_codec";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_active_secure";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -198,19 +198,25 @@
|
|||
echo " <input type='checkbox' id='checkbox_all' name='checkbox_all' onclick='if (this.checked) { refresh_stop(); } else { refresh_start(); } list_all_toggle();' ".(empty($rows) ? "style='visibility: hidden;'" : null).">\n";
|
||||
echo " </th>\n";
|
||||
}
|
||||
echo " <th class='hide-small'>".$text['label-profile']."</th>\n";
|
||||
//echo" <th>".$text['label-created']."</th>\n";
|
||||
if (permission_exists('call_active_profile')) {
|
||||
echo " <th class='hide-small'>".$text['label-profile']."</th>\n";
|
||||
}
|
||||
echo " <th>".$text['label-duration']."</th>\n";
|
||||
if ($show == 'all') {
|
||||
echo " <th>".$text['label-domain']."</th>\n";
|
||||
}
|
||||
//echo " <th>".$text['label-number']."</th>\n";
|
||||
echo " <th class='hide-small'>".$text['label-cid-name']."</th>\n";
|
||||
echo " <th>".$text['label-cid-number']."</th>\n";
|
||||
echo " <th>".$text['label-destination']."</th>\n";
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-app']."</th>\n";
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-codec']."</th>\n";
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-secure']."</th>\n";
|
||||
if (permission_exists('call_active_application')) {
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-app']."</th>\n";
|
||||
}
|
||||
if (permission_exists('call_active_codec')) {
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-codec']."</th>\n";
|
||||
}
|
||||
if (permission_exists('call_active_secure')) {
|
||||
echo " <th class='hide-small hide-medium'>".$text['label-secure']."</th>\n";
|
||||
}
|
||||
if (permission_exists('call_active_eavesdrop') || permission_exists('call_active_hangup')) {
|
||||
echo " <th> </th>\n";
|
||||
}
|
||||
|
|
@ -269,7 +275,9 @@
|
|||
echo " <input type='hidden' name='calls[$x][uuid]' value='".escape($uuid)."' />\n";
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo " <td class='hide-small'>".escape($sip_profile)." </td>\n";
|
||||
if (permission_exists('call_active_profile')) {
|
||||
echo " <td class='hide-small'>".escape($sip_profile)." </td>\n";
|
||||
}
|
||||
//echo " <td>".escape($created)." </td>\n";
|
||||
echo " <td>".escape($elapsed_time)."</td>\n";
|
||||
if ($show == 'all') {
|
||||
|
|
@ -279,9 +287,15 @@
|
|||
echo " <td class='hide-small'>".escape($cid_name)." </td>\n";
|
||||
echo " <td>".escape($cid_num)." </td>\n";
|
||||
echo " <td>".escape($dest)." </td>\n";
|
||||
echo " <td class='hide-small hide-medium' style='max-width: 200px; word-wrap: break-word;'>".(!empty($application) ? escape($application).":".escape($application_data) : null)." </td>\n";
|
||||
echo " <td class='hide-small hide-medium'>".escape($read_codec).":".escape($read_rate)." / ".escape($write_codec).":".escape($write_rate)." </td>\n";
|
||||
echo " <td class='hide-small hide-medium'>".escape($secure)." </td>\n";
|
||||
if (permission_exists('call_active_application')) {
|
||||
echo " <td class='hide-small hide-medium' style='max-width: 200px; word-wrap: break-word;'>".(!empty($application) ? escape($application).":".escape($application_data) : null)." </td>\n";
|
||||
}
|
||||
if (permission_exists('call_active_codec')) {
|
||||
echo " <td class='hide-small hide-medium'>".escape($read_codec).":".escape($read_rate)." / ".escape($write_codec).":".escape($write_rate)." </td>\n";
|
||||
}
|
||||
if (permission_exists('call_active_secure')) {
|
||||
echo " <td class='hide-small hide-medium'>".escape($secure)." </td>\n";
|
||||
}
|
||||
if (permission_exists('call_active_eavesdrop') || permission_exists('call_active_hangup')) {
|
||||
echo " <td class='button right' style='padding-right: 0;'>\n";
|
||||
//eavesdrop
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['conference_centers'])) {
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
echo th_order_by('conference_center_pin_length', $text['label-conference_center_pin_length'], $order_by, $order, null, "class='center shrink'");
|
||||
echo th_order_by('conference_center_enabled', $text['label-conference_center_enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('conference_center_description', $text['label-conference_center_description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('conference_center_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_center_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -229,8 +229,12 @@
|
|||
if (!empty($conference_centers)) {
|
||||
$x = 0;
|
||||
foreach ($conference_centers as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('conference_center_edit')) {
|
||||
$list_row_url = "conference_center_edit.php?id=".$row['conference_center_uuid'];
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('conference_center_edit') || permission_exists('conference_center_delete')) {
|
||||
|
|
@ -262,7 +266,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['conference_center_description'])." </td>\n";
|
||||
if (permission_exists('conference_center_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_center_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -285,3 +289,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
$search = $_GET["search"] ?? null;
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_rooms'])) {
|
||||
|
|
@ -300,7 +300,7 @@
|
|||
echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
}
|
||||
echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('conference_room_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_room_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -319,8 +319,12 @@
|
|||
$participant_pin = substr($participant_pin, 0, 3) ."-". substr($participant_pin, 3, 3) ."-". substr($participant_pin, -3)."\n";
|
||||
}
|
||||
|
||||
$list_row_url = '';
|
||||
if (permission_exists('conference_room_edit')) {
|
||||
$list_row_url = "conference_room_edit.php?id=".urlencode($row['conference_room_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('conference_room_add') || permission_exists('conference_room_edit') || permission_exists('conference_room_delete')) {
|
||||
|
|
@ -486,7 +490,7 @@
|
|||
}
|
||||
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['description'])."</td>\n";
|
||||
if (permission_exists('conference_room_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_room_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -508,3 +512,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//set variables from the http values
|
||||
$order_by = $_GET["order_by"] ?? '' ? $_GET["order_by"] : 'start_epoch';
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
echo "<th>".$text['label-time']."</th>\n";
|
||||
echo th_order_by('start_epoch', $text['label-start'], $order_by, $order);
|
||||
echo th_order_by('end_epoch', $text['label-end'], $order_by, $order);
|
||||
if (permission_exists('conference_session_details') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_session_details') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -191,7 +191,7 @@
|
|||
echo " <td>".$time_difference." </td>\n";
|
||||
echo " <td>".$start_date." </td>\n";
|
||||
echo " <td>".$end_date." </td>\n";
|
||||
if (permission_exists('conference_session_details') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_session_details') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-view'],'icon'=>$_SESSION['theme']['button_icon_view'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_sessions'])) {
|
||||
|
|
@ -172,7 +172,7 @@
|
|||
echo th_order_by('profile', $text['label-profile'], $order_by, $order);
|
||||
//echo th_order_by('recording', $text['label-recording'], $order_by, $order);
|
||||
echo "<th>".$text['label-tools']."</th>\n";
|
||||
if ($list_row_edit_button == 'true') {
|
||||
if ($list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -232,7 +232,7 @@
|
|||
echo "</table>\n";
|
||||
}
|
||||
echo " </td>\n";
|
||||
if ($list_row_edit_button == 'true') {
|
||||
if ($list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-view'],'icon'=>$_SESSION['theme']['button_icon_view'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ Luis Daniel Lucio Quiroz <dlucio@okay.com.mx>
|
|||
*/
|
||||
|
||||
//define the conference centers class
|
||||
if (!class_exists('conference_centers')) {
|
||||
class conference_centers {
|
||||
|
||||
/**
|
||||
|
|
@ -800,7 +799,7 @@ if (!class_exists('conference_centers')) {
|
|||
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
|
||||
//example conference center
|
||||
/*
|
||||
|
|
@ -814,5 +813,3 @@ if (!class_exists('conference_centers')) {
|
|||
$result = $conference_center->rooms();
|
||||
print_r($result);
|
||||
*/
|
||||
|
||||
?>
|
||||
|
|
@ -27,7 +27,6 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/waveform.php";
|
||||
|
||||
use maximal\audio\Waveform;
|
||||
|
||||
|
|
@ -96,8 +95,8 @@
|
|||
Waveform::$colorB = !empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) : [0,125,232,0.6]; // array rgba, right (b-leg) wave color
|
||||
Waveform::$backgroundColor = !empty($_SESSION['theme']['audio_player_waveform_color_background']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_background']['text']) : [0,0,0,0]; // array rgba, default: transparent
|
||||
Waveform::$axisColor = !empty($_SESSION['theme']['audio_player_waveform_color_axis']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_axis']['text']) : [0,0,0,0.3]; // array rgba
|
||||
Waveform::$singlePhase = empty($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] !== 'true' ? false : true; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = empty($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] !== 'false' ? true : false; // combine channels into single axis
|
||||
Waveform::$singlePhase = filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] ?? false, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] ?? true, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // combine channels into single axis
|
||||
$height = !empty($_SESSION['theme']['audio_player_waveform_height']['text']) && is_numeric(str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text'])) ? 2.2 * (int) str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text']) : null;
|
||||
$wf = $waveform->getWaveform($temp_filename, 1600, $height ?? 180); // input: png filename returns boolean true/false, or 'base64' returns base64 string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_control_details'])) {
|
||||
|
|
@ -163,7 +163,7 @@
|
|||
echo th_order_by('control_action', $text['label-control_action'], $order_by, $order, null, null, $param);
|
||||
echo th_order_by('control_data', $text['label-control_data'], $order_by, $order, null, "class='pct-50 hide-xs'", $param);
|
||||
echo th_order_by('control_enabled', $text['label-control_enabled'], $order_by, $order, null, "class='center'", $param);
|
||||
if (permission_exists('conference_control_detail_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_control_detail_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -200,7 +200,7 @@
|
|||
echo $text['label-'.$row['control_enabled']];
|
||||
}
|
||||
echo " </td>\n";
|
||||
if (permission_exists('conference_control_detail_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_control_detail_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_controls'])) {
|
||||
|
|
@ -179,7 +179,7 @@
|
|||
echo th_order_by('control_name', $text['label-control_name'], $order_by, $order);
|
||||
echo th_order_by('control_enabled', $text['label-control_enabled'], $order_by, $order, null, "class='center shrink'");
|
||||
echo " <th class='hide-sm-dn'>".$text['label-control_description']."</th>\n";
|
||||
if (permission_exists('conference_control_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_control_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['control_description'])."</td>\n";
|
||||
if (permission_exists('conference_control_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_control_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -26,12 +26,7 @@
|
|||
|
||||
/**
|
||||
* conference_controls class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('conference_controls')) {
|
||||
class conference_controls {
|
||||
|
||||
/**
|
||||
|
|
@ -426,6 +421,3 @@ if (!class_exists('conference_controls')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
$text = $language->get();
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_profile_params'])) {
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
echo th_order_by('profile_param_value', $text['label-profile_param_value'], $order_by, $order, null, "class='pct-40'", $param);
|
||||
echo th_order_by('profile_param_enabled', $text['label-profile_param_enabled'], $order_by, $order, null, "class='center'", $param);
|
||||
echo th_order_by('profile_param_description', $text['label-profile_param_description'], $order_by, $order, null, "class='hide-sm-dn'", $param);
|
||||
if (permission_exists('conference_profile_param_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_profile_param_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['profile_param_description'])." </td>\n";
|
||||
if (permission_exists('conference_profile_param_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_profile_param_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
$search = $_GET["search"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['conference_profiles'])) {
|
||||
|
|
@ -175,7 +175,7 @@
|
|||
echo th_order_by('profile_name', $text['label-profile_name'], $order_by, $order);
|
||||
echo th_order_by('profile_enabled', $text['label-profile_enabled'], $order_by, $order, null, "class='center'");
|
||||
echo " <th class='hide-sm-dn'>".$text['label-profile_description']."</th>\n";
|
||||
if (permission_exists('conference_profile_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_profile_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -211,7 +211,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['profile_description'])."</td>\n";
|
||||
if (permission_exists('conference_profile_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_profile_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -26,12 +26,7 @@
|
|||
|
||||
/**
|
||||
* conference_profiles class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('conference_profiles')) {
|
||||
class conference_profiles {
|
||||
|
||||
/**
|
||||
|
|
@ -432,6 +427,3 @@ if (!class_exists('conference_profiles')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get posted data
|
||||
if (!empty($_POST['conferences'])) {
|
||||
|
|
@ -223,7 +223,7 @@
|
|||
echo "<th style='text-align: center;'>".$text['label-tools']."</th>\n";
|
||||
echo th_order_by('conference_enabled', $text['table-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('conference_description', $text['table-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('conference_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -231,8 +231,12 @@
|
|||
if (!empty($conferences)) {
|
||||
$x = 0;
|
||||
foreach($conferences as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('conference_edit')) {
|
||||
$list_row_url = "conference_edit.php?id=".urlencode($row['conference_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('conference_add') || permission_exists('conference_edit') || permission_exists('conference_delete')) {
|
||||
|
|
@ -277,7 +281,7 @@
|
|||
echo $text['label-'.$row['conference_enabled']];
|
||||
}
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['conference_description'])." </td>\n";
|
||||
if (permission_exists('conference_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('conference_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -301,3 +305,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the conferences class
|
||||
if (!class_exists('conferences')) {
|
||||
class conferences {
|
||||
|
||||
/**
|
||||
|
|
@ -374,6 +373,3 @@ if (!class_exists('conferences')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
echo " <td>".escape($conference_extension)."</td>\n";
|
||||
echo " <td>".escape($participant_pin)."</td>\n";
|
||||
echo " <td class='center'>".escape($member_count)."</td>\n";
|
||||
if (permission_exists('conference_interactive_view') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('conference_interactive_view') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-view'],'icon'=>$_SESSION['theme']['button_icon_view'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
$order = $_GET["order"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
$button_icon_view = !empty($_SESSION['theme']['button_icon_view']) ? $_SESSION['theme']['button_icon_view'] : '';
|
||||
|
||||
//add the user filter and search term
|
||||
|
|
@ -187,7 +187,7 @@
|
|||
echo th_order_by('transaction_address', $text['label-transaction_address'], $order_by, $order);
|
||||
echo th_order_by('transaction_type', $text['label-transaction_type'], $order_by, $order);
|
||||
echo th_order_by('transaction_date', $text['label-transaction_date'], $order_by, $order);
|
||||
if (permission_exists('database_transaction_edit') && !empty($list_row_edit_button) && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('database_transaction_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -195,8 +195,12 @@
|
|||
$x = 0;
|
||||
foreach($transactions as $row) {
|
||||
if (empty($row['domain_name'])) { $row['domain_name'] = $text['label-global']; }
|
||||
$list_row_url = '';
|
||||
if (permission_exists('database_transaction_edit')) {
|
||||
$list_row_url = "database_transaction_edit.php?id=".urlencode($row['database_transaction_uuid']).(!empty($page) ? "&page=".urlencode($page) : null).(!empty($search) ? "&search=".urlencode($search) : null);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
echo " <td>".escape($row['domain_name'])." </td>\n";
|
||||
|
|
@ -206,7 +210,7 @@
|
|||
echo " <td>".escape($row['transaction_address'])." </td>\n";
|
||||
echo " <td>".escape($row['transaction_type'])." </td>\n";
|
||||
echo " <td>".escape($row['transaction_date'])." </td>\n";
|
||||
if (permission_exists('database_transaction_edit') && !empty($list_row_edit_button) && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('database_transaction_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-view'],'icon'=>$_SESSION['theme']['button_icon_view'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -225,3 +229,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
|
@ -1964,7 +1964,6 @@
|
|||
echo " ".$text['label-destination_hold_music']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td width=\"70%\" class='vtable' align='left'>\n";
|
||||
require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
||||
$music_on_hold = new switch_music_on_hold;
|
||||
echo $music_on_hold->select('destination_hold_music', $destination_hold_music, null);
|
||||
echo " <br />\n";
|
||||
|
|
@ -2097,7 +2096,7 @@
|
|||
|
||||
//enabled
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-destination_enabled']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@
|
|||
$array["dialplans"][$row_id]["dialplan_xml"] .= "</extension>\n";
|
||||
|
||||
//dialplan details
|
||||
if ($_SESSION['destinations']['dialplan_details']['boolean'] == "true") {
|
||||
if (filter_var($_SESSION['destinations']['dialplan_details']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
|
||||
//check the destination number
|
||||
$array["dialplans"][$row_id]["dialplan_details"][$y]["domain_uuid"] = $domain_uuid;
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@
|
|||
$order = $_GET["order"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//prepare to page the results
|
||||
$sql = "select count(*) from v_destinations ";
|
||||
|
|
@ -365,7 +365,7 @@
|
|||
}
|
||||
echo th_order_by('destination_enabled', $text['label-destination_enabled'], $order_by, $order, $param);
|
||||
echo th_order_by('destination_description', $text['label-destination_description'], $order_by, $order, $param, "class='hide-sm-dn'");
|
||||
if (permission_exists('destination_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('destination_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -375,8 +375,12 @@
|
|||
foreach ($destinations as $row) {
|
||||
|
||||
//create the row link
|
||||
$list_row_url = '';
|
||||
if (permission_exists('destination_edit')) {
|
||||
$list_row_url = "destination_edit.php?id=".urlencode($row['destination_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
|
||||
//show the data
|
||||
|
|
@ -430,9 +434,9 @@
|
|||
}
|
||||
echo " <td>".escape($text['label-'.$row['destination_enabled']])." </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['destination_description'])." </td>\n";
|
||||
if (permission_exists('destination_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('destination_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$list_row_edit_button,'link'=>$list_row_url]);
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -459,3 +463,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,9 +26,6 @@
|
|||
|
||||
/**
|
||||
* destinations
|
||||
*
|
||||
* @method get_array get the destinations
|
||||
* @method select build the html select
|
||||
*/
|
||||
class destinations {
|
||||
|
||||
|
|
@ -446,10 +443,24 @@
|
|||
$destination_id = str_replace("[", "_", $destination_id);
|
||||
//$destination_id = preg_replace('/[^a-zA-Z_,.]/', '', $destination_name);
|
||||
|
||||
//include the javascript contents in the reponse
|
||||
$response .= "<script type='text/javascript'>\n";
|
||||
$response .= file_get_contents(dirname(__DIR__) . '/javascript/destinations.js');
|
||||
$response .= "</script>\n";
|
||||
//send request for destinations
|
||||
echo "<script type=\"text/javascript\">\n";
|
||||
echo " function get_destinations(id, destination_type, action, search) {\n";
|
||||
echo " var xhttp = new XMLHttpRequest();\n";
|
||||
echo " xhttp.onreadystatechange = function() {\n";
|
||||
echo " if (this.readyState == 4 && this.status == 200) {\n";
|
||||
echo " document.getElementById(id).innerHTML = this.responseText;\n";
|
||||
echo " }\n";
|
||||
echo " };\n";
|
||||
echo " if (action) {\n";
|
||||
echo " xhttp.open(\"GET\", \"/app/destinations/resources/destinations.php?destination_type=\"+destination_type+\"&action=\"+action, true);\n";
|
||||
echo " }\n";
|
||||
echo " else {\n";
|
||||
echo " xhttp.open(\"GET\", \"/app/destinations/resources/destinations.php?destination_type=\"+destination_type, true);\n";
|
||||
echo " }\n";
|
||||
echo " xhttp.send();\n";
|
||||
echo " }\n";
|
||||
echo "</script>\n";
|
||||
|
||||
//get the destinations
|
||||
$destinations = $this->get($destination_type);
|
||||
|
|
@ -1280,6 +1291,7 @@
|
|||
} //method
|
||||
|
||||
} //class
|
||||
|
||||
/*
|
||||
$obj = new destinations;
|
||||
//$destinations = $obj->destinations;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2023
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
|
@ -252,6 +252,7 @@
|
|||
$x = 0;
|
||||
foreach ($available_columns as $table_name => $columns) {
|
||||
$table_name_label = ucwords(str_replace(['-','_',],' ', $table_name));
|
||||
echo "<div class='card'>\n";
|
||||
echo "<div class='category'>\n";
|
||||
echo "<b>".$table_name_label."</b>\n";
|
||||
echo "<br>\n";
|
||||
|
|
@ -284,6 +285,7 @@
|
|||
echo "</table>\n";
|
||||
echo "<br>\n";
|
||||
echo "</div>\n";
|
||||
echo "</div>\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
*/
|
||||
|
|
@ -1101,7 +1101,7 @@
|
|||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' width='30%' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo "<td class='vncellreq' width='30%' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-device_address']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' width='70%' align='left'>\n";
|
||||
|
|
@ -1992,7 +1992,7 @@
|
|||
|
||||
if (permission_exists('device_enable')) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-device_enabled']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@
|
|||
echo th_order_by('device_profile_name', $text['label-device_profile_name'], $order_by, $order);
|
||||
echo th_order_by('device_profile_enabled', $text['label-device_profile_enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('device_profile_description', $text['label-device_profile_description'], $order_by, $order, null, "class='hide-xs'");
|
||||
if (permission_exists('device_profile_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_profile_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -237,8 +237,12 @@
|
|||
if (is_array($device_profiles) && @sizeof($device_profiles) != 0) {
|
||||
$x = 0;
|
||||
foreach($device_profiles as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('device_profile_edit')) {
|
||||
$list_row_url = "device_profile_edit.php?id=".urlencode($row['device_profile_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('device_profile_add') || permission_exists('device_profile_edit') || permission_exists('device_profile_delete')) {
|
||||
|
|
@ -274,7 +278,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-xs'>".escape($row['device_profile_description'])." </td>\n";
|
||||
if (permission_exists('device_profile_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_profile_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -298,3 +302,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@
|
|||
echo "<th class='hide-sm-dn'>".$text['label-groups']."</th>\n";
|
||||
echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('device_vendor_function_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_vendor_function_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -211,8 +211,12 @@
|
|||
unset ($vendor_function_groups);
|
||||
|
||||
//show the row of data
|
||||
$list_row_url = '';
|
||||
if (permission_exists('device_vendor_function_edit')) {
|
||||
$list_row_url = "device_vendor_function_edit.php?device_vendor_uuid=".urlencode($row['device_vendor_uuid'])."&id=".urlencode($row['device_vendor_function_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('device_vendor_function_add') || permission_exists('device_vendor_function_edit') || permission_exists('device_vendor_function_delete')) {
|
||||
|
|
@ -252,7 +256,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['description'])."</td>\n";
|
||||
if (permission_exists('device_vendor_function_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_vendor_function_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -289,3 +293,4 @@
|
|||
echo "</script>\n";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@
|
|||
echo th_order_by('name', $text['label-name'], $order_by, $order);
|
||||
echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-xs'");
|
||||
if (permission_exists('device_vendor_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_vendor_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -178,8 +178,12 @@
|
|||
if (is_array($result) && @sizeof($result) != 0) {
|
||||
$x = 0;
|
||||
foreach($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('device_vendor_edit')) {
|
||||
$list_row_url = "device_vendor_edit.php?id=".urlencode($row['device_vendor_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('device_vendor_edit') || permission_exists('device_vendor_delete')) {
|
||||
|
|
@ -198,7 +202,7 @@
|
|||
echo $text['label-'.$row['enabled']];
|
||||
}
|
||||
echo " <td class='description overflow hide-xs'>".escape($row['description'])." </td>\n";
|
||||
if (permission_exists('device_vendor_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('device_vendor_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -222,3 +226,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -397,8 +397,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
$list_row_url = '';
|
||||
if (permission_exists('device_edit')) {
|
||||
$list_row_url = "device_edit.php?id=".urlencode($row['device_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
|
||||
$device_provisioned_method = '';
|
||||
|
|
@ -473,3 +477,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -1382,7 +1382,7 @@
|
|||
|
||||
//save the array
|
||||
$this->database->app_name = $this->app_name;
|
||||
$this->databasee->app_uuid = $this->app_uuid;
|
||||
$this->database->app_uuid = $this->app_uuid;
|
||||
$this->database->save($array);
|
||||
unset($array);
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2024
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2025
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
|
|
@ -318,7 +318,7 @@
|
|||
$tmp_prefix == $dialplan_expression
|
||||
? $outbound_prefix = ""
|
||||
: $outbound_prefix = $tmp_prefix;
|
||||
|
||||
|
||||
if ($gateway_type == "gateway") {
|
||||
$dialplan_name = $gateway_name.".".$abbrv;
|
||||
if ($abbrv == "988") {
|
||||
|
|
@ -863,7 +863,7 @@
|
|||
}
|
||||
else {
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
|
||||
|
||||
}
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
|
|
@ -939,6 +939,7 @@ function type_onchange(dialplan_detail_type) {
|
|||
echo $text['description-outbound-routes']."\n";
|
||||
echo "<br /><br />\n";
|
||||
|
||||
echo "<div class='card'>\n";
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap>\n";
|
||||
|
|
@ -1346,17 +1347,18 @@ function type_onchange(dialplan_detail_type) {
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "</table>";
|
||||
echo "<br><br>";
|
||||
echo "</table>\n";
|
||||
echo "</div>\n";
|
||||
echo "<br><br>\n";
|
||||
|
||||
if (!empty($action) && $action == "update") {
|
||||
echo "<input type='hidden' name='dialplan_uuid' value='".escape($dialplan_uuid)."'>\n";
|
||||
}
|
||||
echo "<input type='hidden' name='".$token['name']."' value='".$token['hash']."'>\n";
|
||||
|
||||
echo "</form>";
|
||||
echo "</form>\n";
|
||||
|
||||
//show the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -181,9 +181,9 @@
|
|||
// load editor preferences/defaults
|
||||
$setting_size = !empty($_SESSION["editor"]["font_size"]["text"]) ? $_SESSION["editor"]["font_size"]["text"] : '12px';
|
||||
$setting_theme = !empty($_SESSION["editor"]["theme"]["text"]) ? $_SESSION["editor"]["theme"]["text"] : 'cobalt';
|
||||
$setting_invisibles = isset($_SESSION["editor"]["invisibles"]["boolean"]) && $_SESSION["editor"]["invisibles"]["boolean"] != '' ? $_SESSION["editor"]["invisibles"]["boolean"] : 'false';
|
||||
$setting_indenting = isset($_SESSION["editor"]["indent_guides"]["boolean"]) && $_SESSION["editor"]["indent_guides"]["boolean"] != '' ? $_SESSION["editor"]["indent_guides"]["boolean"] : 'false';
|
||||
$setting_numbering = isset($_SESSION["editor"]["line_numbers"]["boolean"]) && $_SESSION["editor"]["line_numbers"]["boolean"] != '' ? $_SESSION["editor"]["line_numbers"]["boolean"] : 'true';
|
||||
$setting_invisibles = isset($_SESSION['editor']['invisibles']['text']) ? $_SESSION['editor']['invisibles']["text"] : 'false';
|
||||
$setting_indenting = isset($_SESSION['editor']['indent_guides']['text']) ? $_SESSION['editor']['indent_guides']["text"]: 'false';
|
||||
$setting_numbering = isset($_SESSION['editor']['line_numbers']['text']) ? $_SESSION['editor']['line_numbers']["text"] : 'true';
|
||||
|
||||
//create token
|
||||
$object = new token;
|
||||
|
|
|
|||
|
|
@ -134,15 +134,15 @@
|
|||
$show = !empty($_GET["show"]) ? $_GET["show"] : '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$button_icon_add = !empty($_SESSION['theme']['button_icon_add']) ? $_SESSION['theme']['button_icon_add'] : '';
|
||||
$button_icon_copy = !empty($_SESSION['theme']['button_icon_copy']) ? $_SESSION['theme']['button_icon_copy'] : '';
|
||||
$button_icon_toggle = !empty($_SESSION['theme']['button_icon_toggle']) ? $_SESSION['theme']['button_icon_toggle'] : '';
|
||||
$button_icon_all = !empty($_SESSION['theme']['button_icon_all']) ? $_SESSION['theme']['button_icon_all'] : '';
|
||||
$button_icon_delete = !empty($_SESSION['theme']['button_icon_delete']) ? $_SESSION['theme']['button_icon_delete'] : '';
|
||||
$button_icon_search = !empty($_SESSION['theme']['button_icon_search']) ? $_SESSION['theme']['button_icon_search'] : '';
|
||||
$button_icon_edit = !empty($_SESSION['theme']['button_icon_edit']) ? $_SESSION['theme']['button_icon_edit'] : '';
|
||||
$button_icon_reset = !empty($_SESSION['theme']['button_icon_reset']) ? $_SESSION['theme']['button_icon_reset'] : '';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
$button_icon_add = $_SESSION['theme']['button_icon_add'] ?? '';
|
||||
$button_icon_copy = $_SESSION['theme']['button_icon_copy'] ?? '';
|
||||
$button_icon_toggle = $_SESSION['theme']['button_icon_toggle'] ?? '';
|
||||
$button_icon_all = $_SESSION['theme']['button_icon_all'] ?? '';
|
||||
$button_icon_delete = $_SESSION['theme']['button_icon_delete'] ?? '';
|
||||
$button_icon_search = $_SESSION['theme']['button_icon_search'] ?? '';
|
||||
$button_icon_edit = $_SESSION['theme']['button_icon_edit'] ?? '';
|
||||
$button_icon_reset = $_SESSION['theme']['button_icon_reset'] ?? '';
|
||||
|
||||
//get the number of rows in the dialplan
|
||||
$sql = "select count(*) from v_dialplans ";
|
||||
|
|
@ -541,7 +541,7 @@
|
|||
($app_uuid == "8c914ec3-9fc0-8ab5-4cda-6c9288bdc9a3" && permission_exists('outbound_route_edit')) ||
|
||||
($app_uuid == "16589224-c876-aeb3-f59f-523a1c0801f7" && permission_exists('fifo_edit')) ||
|
||||
($app_uuid == "4b821450-926b-175a-af93-a03c441818b1" && permission_exists('time_condition_edit')) ||
|
||||
permission_exists('dialplan_edit')) && $list_row_edit_button == 'true'
|
||||
permission_exists('dialplan_edit')) && $list_row_edit_button
|
||||
) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
|
|
@ -551,9 +551,13 @@
|
|||
$x = 0;
|
||||
foreach ($dialplans as $row) {
|
||||
|
||||
$list_row_url = '';
|
||||
if ($row['app_uuid'] == "4b821450-926b-175a-af93-a03c441818b1") {
|
||||
if (permission_exists('time_condition_edit') || permission_exists('dialplan_edit')) {
|
||||
$list_row_url = PROJECT_PATH."/app/time_conditions/time_condition_edit.php?id=".urlencode($row['dialplan_uuid']).(is_uuid($app_uuid) ? "&app_uuid=".urlencode($app_uuid) : null);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (
|
||||
|
|
@ -563,6 +567,9 @@
|
|||
permission_exists('dialplan_edit')
|
||||
) {
|
||||
$list_row_url = "dialplan_edit.php?id=".urlencode($row['dialplan_uuid']).(is_uuid($app_uuid) ? "&app_uuid=".urlencode($app_uuid) : null);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
else {
|
||||
unset($list_row_url);
|
||||
|
|
@ -618,7 +625,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['dialplan_description'])." </td>\n";
|
||||
if ($list_row_edit_button == 'true' && (
|
||||
if ($list_row_edit_button && (
|
||||
(!is_uuid($app_uuid) && permission_exists('dialplan_edit')) ||
|
||||
($row['app_uuid'] == "c03b422e-13a8-bd1b-e42b-b6b9b4d27ce4" && permission_exists('inbound_route_edit')) ||
|
||||
($row['app_uuid'] == "8c914ec3-9fc0-8ab5-4cda-6c9288bdc9a3" && permission_exists('outbound_route_edit')) ||
|
||||
|
|
@ -648,3 +655,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the dialplan class
|
||||
if (!class_exists('dialplan')) {
|
||||
class dialplan {
|
||||
|
||||
//variables
|
||||
|
|
@ -1580,6 +1579,3 @@
|
|||
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@
|
|||
echo th_order_by('email_retry_count', $text['label-email_retry_count'], $order_by, $order);
|
||||
//echo th_order_by('email_action_before', $text['label-email_action_before'], $order_by, $order);
|
||||
echo "<th class='hide-md-dn'>".$text['label-email_action_after']."</th>\n";
|
||||
if (permission_exists('email_queue_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('email_queue_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -337,8 +337,12 @@
|
|||
if (is_array($email_queue) && @sizeof($email_queue) != 0) {
|
||||
$x = 0;
|
||||
foreach ($email_queue as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('email_queue_edit')) {
|
||||
$list_row_url = "email_queue_edit.php?id=".urlencode($row['email_queue_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('email_queue_add') || permission_exists('email_queue_edit') || permission_exists('email_queue_delete')) {
|
||||
|
|
@ -369,7 +373,7 @@
|
|||
echo " <td>".escape($row['email_retry_count'])."</td>\n";
|
||||
//echo " <td>".escape($row['email_action_before'])."</td>\n";
|
||||
echo " <td class='hide-md-dn'>".escape($row['email_action_after'])."</td>\n";
|
||||
if (permission_exists('email_queue_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('email_queue_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -236,9 +236,9 @@
|
|||
//load editor preferences/defaults
|
||||
$setting_size = !empty($_SESSION["editor"]["font_size"]["text"]) ? $_SESSION["editor"]["font_size"]["text"] : '12px';
|
||||
$setting_theme = !empty($_SESSION["editor"]["theme"]["text"]) ? $_SESSION["editor"]["theme"]["text"] : 'cobalt';
|
||||
$setting_invisibles = !empty($_SESSION["editor"]["invisibles"]["boolean"]) ? $_SESSION["editor"]["invisibles"]["boolean"] : 'false';
|
||||
$setting_indenting = !empty($_SESSION["editor"]["indent_guides"]["boolean"]) ? $_SESSION["editor"]["indent_guides"]["boolean"] : 'false';
|
||||
$setting_numbering = !empty($_SESSION["editor"]["line_numbers"]["boolean"]) ? $_SESSION["editor"]["line_numbers"]["boolean"] : 'true';
|
||||
$setting_invisibles = isset($_SESSION['editor']['invisibles']['text']) ? $_SESSION['editor']['invisibles']["text"] : 'false';
|
||||
$setting_indenting = isset($_SESSION['editor']['indent_guides']['text']) ? $_SESSION['editor']['indent_guides']["text"]: 'false';
|
||||
$setting_numbering = isset($_SESSION['editor']['line_numbers']['text']) ? $_SESSION['editor']['line_numbers']["text"] : 'true';
|
||||
|
||||
//create token
|
||||
$object = new token;
|
||||
|
|
@ -518,7 +518,7 @@
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
if ($_SESSION['email_queue']['save_response']['boolean'] == 'true') {
|
||||
if (filter_var($_SESSION['email_queue']['save_response']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-email_response']."\n";
|
||||
|
|
|
|||
|
|
@ -2,12 +2,7 @@
|
|||
|
||||
/**
|
||||
* email_queue class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('email_queue')) {
|
||||
class email_queue {
|
||||
|
||||
/**
|
||||
|
|
@ -225,6 +220,3 @@ if (!class_exists('email_queue')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
|
||||
//includes files
|
||||
require_once "resources/pdo.php";
|
||||
include "resources/classes/permissions.php";
|
||||
require $_SERVER['DOCUMENT_ROOT']."/app/email_queue/resources/functions/transcribe.php";
|
||||
|
||||
//increase limits
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
}
|
||||
|
||||
//include files
|
||||
include "resources/classes/permissions.php";
|
||||
include_once "resources/phpmailer/class.phpmailer.php";
|
||||
include_once "resources/phpmailer/class.smtp.php";
|
||||
|
||||
|
|
@ -298,7 +297,7 @@
|
|||
//echo "Body: ".$email_body."\n";
|
||||
|
||||
//update the message transcription
|
||||
if (isset($voicemail_transcription_enabled) && $voicemail_transcription_enabled == 'true' && isset($transcribe_message)) {
|
||||
if (isset($voicemail_transcription_enabled) && $voicemail_transcription_enabled && isset($transcribe_message)) {
|
||||
$sql = "update v_voicemail_messages ";
|
||||
$sql .= "set message_transcription = :message_transcription ";
|
||||
$sql .= "where voicemail_message_uuid = :voicemail_message_uuid; ";
|
||||
|
|
|
|||
|
|
@ -9,9 +9,6 @@
|
|||
exit;
|
||||
}
|
||||
|
||||
//include files
|
||||
include "resources/classes/permissions.php";
|
||||
|
||||
//increase limits
|
||||
set_time_limit(0);
|
||||
ini_set('max_execution_time', 0);
|
||||
|
|
|
|||
|
|
@ -162,4 +162,58 @@ $text['label-emergency_event']['zh-cn'] = "事件";
|
|||
$text['label-emergency_event']['ja-jp'] = "イベント";
|
||||
$text['label-emergency_event']['ko-kr'] = "이벤트";
|
||||
|
||||
$text['label-emergency_call_status']['en-us'] = "Call Status";
|
||||
$text['label-emergency_call_status']['en-gb'] = "Call Status";
|
||||
$text['label-emergency_call_status']['ar-eg'] = "";
|
||||
$text['label-emergency_call_status']['de-at'] = "";
|
||||
$text['label-emergency_call_status']['de-ch'] = "";
|
||||
$text['label-emergency_call_status']['de-de'] = "";
|
||||
$text['label-emergency_call_status']['el-gr'] = "";
|
||||
$text['label-emergency_call_status']['es-cl'] = "";
|
||||
$text['label-emergency_call_status']['es-mx'] = "";
|
||||
$text['label-emergency_call_status']['fr-ca'] = "";
|
||||
$text['label-emergency_call_status']['fr-fr'] = "";
|
||||
$text['label-emergency_call_status']['he-il'] = "";
|
||||
$text['label-emergency_call_status']['it-it'] = "";
|
||||
$text['label-emergency_call_status']['ka-ge'] = "";
|
||||
$text['label-emergency_call_status']['nl-nl'] = "";
|
||||
$text['label-emergency_call_status']['pl-pl'] = "";
|
||||
$text['label-emergency_call_status']['pt-br'] = "";
|
||||
$text['label-emergency_call_status']['pt-pt'] = "";
|
||||
$text['label-emergency_call_status']['ro-ro'] = "";
|
||||
$text['label-emergency_call_status']['ru-ru'] = "";
|
||||
$text['label-emergency_call_status']['sv-se'] = "";
|
||||
$text['label-emergency_call_status']['uk-ua'] = "";
|
||||
$text['label-emergency_call_status']['tr-tr'] = "";
|
||||
$text['label-emergency_call_status']['zh-cn'] = "";
|
||||
$text['label-emergency_call_status']['ja-jp'] = "";
|
||||
$text['label-emergency_call_status']['ko-kr'] = "";
|
||||
|
||||
$text['label-recording']['en-us'] = "Recording";
|
||||
$text['label-recording']['en-gb'] = "Recording";
|
||||
$text['label-recording']['ar-eg'] = "تسجيل";
|
||||
$text['label-recording']['de-at'] = "Aufnahme";
|
||||
$text['label-recording']['de-ch'] = "Aufnahme";
|
||||
$text['label-recording']['de-de'] = "Aufnahme";
|
||||
$text['label-recording']['el-gr'] = "Εγγραφή";
|
||||
$text['label-recording']['es-cl'] = "Grabación";
|
||||
$text['label-recording']['es-mx'] = "Grabación";
|
||||
$text['label-recording']['fr-ca'] = "Enregistrement";
|
||||
$text['label-recording']['fr-fr'] = "Enregistrement";
|
||||
$text['label-recording']['he-il'] = "הקלטה";
|
||||
$text['label-recording']['it-it'] = "Registrazione";
|
||||
$text['label-recording']['ka-ge'] = "ჩანაწერი";
|
||||
$text['label-recording']['nl-nl'] = "Opname";
|
||||
$text['label-recording']['pl-pl'] = "Nagranie";
|
||||
$text['label-recording']['pt-br'] = "Gravação";
|
||||
$text['label-recording']['pt-pt'] = "Gravação";
|
||||
$text['label-recording']['ro-ro'] = "Înregistrare";
|
||||
$text['label-recording']['ru-ru'] = "Запись";
|
||||
$text['label-recording']['sv-se'] = "Inspelning";
|
||||
$text['label-recording']['uk-ua'] = "Запис";
|
||||
$text['label-recording']['tr-tr'] = "Kayıt";
|
||||
$text['label-recording']['zh-cn'] = "记录";
|
||||
$text['label-recording']['ja-jp'] = "録音";
|
||||
$text['label-recording']['ko-kr'] = "녹음";
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2016-2020
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
|
||||
//check permisions
|
||||
if (permission_exists('call_recording_play') || permission_exists('call_recording_download')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//download
|
||||
if (is_uuid($_GET['id'])) {
|
||||
$obj = new call_recordings;
|
||||
$obj->recording_uuid = $_GET['id'];
|
||||
$obj->binary = isset($_GET['binary']) ? true : false;
|
||||
$obj->download();
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -30,6 +30,14 @@ $database = new database;
|
|||
$database->app_name = 'emergency_logs';
|
||||
$database->app_uuid = 'de63b1ae-7750-11ee-b3a5-005056a27559';
|
||||
|
||||
//set permissions for CDR details and call recordings
|
||||
$permission = array();
|
||||
$permission['xml_cdr_hangup_cause'] = permission_exists('xml_cdr_hangup_cause');
|
||||
$permission['xml_cdr_status'] = permission_exists('xml_cdr_status');
|
||||
$permission['xml_cdr_recording'] = permission_exists('xml_cdr_recording');
|
||||
$permission['xml_cdr_recording_play'] = permission_exists('xml_cdr_recording_play');
|
||||
$permission['xml_cdr_recording_download'] = permission_exists('xml_cdr_recording_download');
|
||||
|
||||
//process the http post data by action
|
||||
if (!empty($action) && !empty($emergency_logs) && is_array($emergency_logs) && @sizeof($emergency_logs) != 0) {
|
||||
|
||||
|
|
@ -115,31 +123,38 @@ else {
|
|||
}
|
||||
|
||||
//get the list
|
||||
$sql = "select emergency_log_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "extension, ";
|
||||
$sql .= "event, ";
|
||||
$sql .= "to_char(timezone(:time_zone, insert_date), 'DD Mon YYYY') as date_formatted, ";
|
||||
$sql .= "to_char(timezone(:time_zone, insert_date), 'HH12:MI:SS am') as time_formatted, ";
|
||||
$sql .= "insert_date ";
|
||||
$sql .= "from v_emergency_logs ";
|
||||
$sql = "select e.emergency_log_uuid, ";
|
||||
$sql .= "e.domain_uuid, ";
|
||||
$sql .= "e.extension, ";
|
||||
$sql .= "e.event, ";
|
||||
$sql .= "to_char(timezone(:time_zone, e.insert_date), 'DD Mon YYYY') as date_formatted, ";
|
||||
$sql .= "to_char(timezone(:time_zone, e.insert_date), 'HH12:MI:SS am') as time_formatted, ";
|
||||
$sql .= "e.insert_date, ";
|
||||
$sql .= "c.status as status, ";
|
||||
$sql .= "concat(c.record_path, '/', c.record_name) as recording, "; //temp
|
||||
$sql .= "c.record_path as call_recording_path, ";
|
||||
$sql .= "c.record_name as call_recording_name ";
|
||||
$sql .= "from v_emergency_logs e ";
|
||||
$sql .= "left join v_xml_cdr c ";
|
||||
$sql .= "on e.emergency_log_uuid = c.xml_cdr_uuid ";
|
||||
if ($show == 'all') {
|
||||
$sql .= "where true ";
|
||||
}
|
||||
else {
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "where e.domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
}
|
||||
if (!empty($search)) {
|
||||
$sql .= "and ( ";
|
||||
$sql .= " lower(event) like :search ";
|
||||
$sql .= " lower(e.event) like :search ";
|
||||
$sql .= ") ";
|
||||
$parameters['search'] = '%'.$search.'%';
|
||||
}
|
||||
$sql .= "order by insert_date desc ";
|
||||
$sql .= "order by e.insert_date desc ";
|
||||
$sql .= limit_offset($rows_per_page, $offset);
|
||||
$parameters['time_zone'] = $time_zone;
|
||||
$emergency_logs = $database->select($sql, $parameters ?? null, 'all');
|
||||
|
||||
unset($sql, $parameters);
|
||||
|
||||
//create token
|
||||
|
|
@ -189,10 +204,16 @@ echo "<tr class='list-header'>\n";
|
|||
if (!empty($show) && $show == 'all' && permission_exists('emergency_logs_view_all')) {
|
||||
echo th_order_by('domain_name', $text['label-domain'], $order_by, $order);
|
||||
}
|
||||
echo "<th class='left'>".$text['label-emergency_time']."</th>\n";
|
||||
echo "<th class='left'>".$text['label-emergency_date']."</th>\n";
|
||||
echo "<th class='left'>".$text['label-emergency_time']."</th>\n";
|
||||
echo "<th class='left'>".$text['label-emergency_extension']."</th>\n";
|
||||
echo "<th class='left'>".$text['label-emergency_event']."</th>\n";
|
||||
if ($permission['xml_cdr_recording'] && ($permission['xml_cdr_recording_play'] || $permission['xml_cdr_recording_download'])) {
|
||||
echo "<th class='center'>".$text['label-recording']."</th>\n";
|
||||
}
|
||||
if ($permission['xml_cdr_status'] || $permission['xml_cdr_hangup_cause']) {
|
||||
echo "<th class='left'>".$text['label-emergency_call_status']."</th>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
||||
if (!empty($emergency_logs) && is_array($emergency_logs) && @sizeof($emergency_logs) != 0) {
|
||||
|
|
@ -202,10 +223,47 @@ if (!empty($emergency_logs) && is_array($emergency_logs) && @sizeof($emergency_l
|
|||
if (!empty($_GET['show']) && $_GET['show'] == 'all' && permission_exists('emergency_logs_view_all')) {
|
||||
echo " <td>".escape($_SESSION['domains'][$row['domain_uuid']]['domain_name'])."</td>\n";
|
||||
}
|
||||
echo " <td>".escape($row['time_formatted'])."</td>\n";
|
||||
echo " <td>".escape($row['date_formatted'])."</td>\n";
|
||||
echo " <td>".escape($row['time_formatted'])."</td>\n";
|
||||
echo " <td>".escape($row['extension'])."</td>\n";
|
||||
echo " <td>".escape($row['event'])."</td>\n";
|
||||
if (permission_exists('call_recording_play') || permission_exists('call_recording_download')) {
|
||||
echo " <td class='middle button center no-link no-wrap'>";
|
||||
if ($row['recording'] !== '/') {
|
||||
if (permission_exists('call_recording_play')) {
|
||||
$recording_file_ext = pathinfo($row['call_recording_name'], PATHINFO_EXTENSION);
|
||||
switch ($recording_file_ext) {
|
||||
case "wav" : $recording_type = "audio/wav"; break;
|
||||
case "mp3" : $recording_type = "audio/mpeg"; break;
|
||||
case "ogg" : $recording_type = "audio/ogg"; break;
|
||||
}
|
||||
echo "<audio id='recording_audio_".escape($row['emergency_log_uuid'])."' style='display: none;' preload='none' ontimeupdate=\"update_progress('".escape($row['emergency_log_uuid'])."')\" onended=\"recording_reset('".escape($row['emergency_log_uuid'])."');\" src='download.php?id=".urlencode($row['emergency_log_uuid'])."' type='".$recording_type."'></audio>";
|
||||
echo button::create(['type'=>'button','title'=>$text['label-play'].' / '.$text['label-pause'],'icon'=>$_SESSION['theme']['button_icon_play'],'id'=>'recording_button_'.escape($row['emergency_log_uuid']),'onclick'=>"recording_play('".escape($row['emergency_log_uuid'])."')"]);
|
||||
}
|
||||
if (permission_exists('call_recording_download')) {
|
||||
echo button::create(['type'=>'button','title'=>$text['label-download'],'icon'=>$_SESSION['theme']['button_icon_download'],'link'=>'download.php?id='.urlencode($row['emergency_log_uuid']).'&binary']);
|
||||
}
|
||||
}
|
||||
echo " </td>\n";
|
||||
}
|
||||
// debug: display file directory and filename of the call recording
|
||||
/*
|
||||
if ($permission['xml_cdr_recording'] && ($permission['xml_cdr_recording_play'] || $permission['xml_cdr_recording_download'])) {
|
||||
if ($row['recording'] !== '/') {
|
||||
echo "<td>" . escape($row['recording']) . "</td>\n";
|
||||
}
|
||||
}
|
||||
*/
|
||||
$domain_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name'];
|
||||
if ($permission['xml_cdr_status'] || $permission['xml_cdr_hangup_cause']) {
|
||||
if (!empty($_GET['show']) && $_GET['show'] == 'all' && permission_exists('emergency_logs_view_all')) {
|
||||
echo " <td>" . (isset($row['status']) && $row['status'] !== '' ? "<a href='https://{$domain_name}/app/xml_cdr/xml_cdr_details.php?id=".urlencode($row['emergency_log_uuid'])."&show=all' target='_blank'>".escape($row['status'])."</a>" : ' ') . "</td>\n";
|
||||
}
|
||||
else {
|
||||
//echo " <td>" . (isset($row['status']) && $row['status'] !== '' ? escape($row['status']) : '') . "</td>\n";
|
||||
echo " <td>" . (isset($row['status']) && $row['status'] !== '' ? "<a href='https://{$domain_name}/app/xml_cdr/xml_cdr_details.php?id=".urlencode($row['emergency_log_uuid'])."' target='_blank'>".escape($row['status'])."</a>" : ' ') . "</td>\n";
|
||||
}
|
||||
}
|
||||
echo "</tr>\n";
|
||||
$x++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@
|
|||
echo th_order_by('extension', $text['label-extension'], $order_by, $order);
|
||||
echo "<th class='hide-md-dn'>".$text['label-user_agent']."</th>\n";
|
||||
echo th_order_by('log_status', $text['label-log_status'], $order_by, $order);
|
||||
if (permission_exists('event_guard_log_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('event_guard_log_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -244,8 +244,12 @@
|
|||
if (is_array($event_guard_logs) && @sizeof($event_guard_logs) != 0) {
|
||||
$x = 0;
|
||||
foreach ($event_guard_logs as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('event_guard_log_edit')) {
|
||||
$list_row_url = "event_guard_log_edit.php?id=".urlencode($row['event_guard_log_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row'>\n";
|
||||
if (permission_exists('event_guard_log_add') || permission_exists('event_guard_log_edit') || permission_exists('event_guard_log_delete')) {
|
||||
|
|
@ -273,7 +277,7 @@
|
|||
echo " <td>".escape($row['extension'])."</td>\n";
|
||||
echo " <td class='hide-md-dn'>".escape($row['user_agent'])."</td>\n";
|
||||
echo " <td>".escape($text['label-'.$row['log_status']])."</td>\n";
|
||||
if (permission_exists('event_guard_log_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('event_guard_log_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -26,12 +26,7 @@
|
|||
|
||||
/**
|
||||
* event_guard_logs class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('event_guard')) {
|
||||
class event_guard {
|
||||
|
||||
/**
|
||||
|
|
@ -303,6 +298,3 @@ if (!class_exists('event_guard')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
$id = '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get the http post data
|
||||
if (!empty($_POST['extension_settings'])) {
|
||||
|
|
@ -272,7 +272,7 @@
|
|||
echo " <th class='center'>".$text['label-extension_setting_enabled']."</th>\n";
|
||||
|
||||
echo " <th class='hide-sm-dn'>".$text['label-extension_setting_description']."</th>\n";
|
||||
if (permission_exists('extension_setting_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('extension_setting_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -305,7 +305,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['extension_setting_description'])."</td>\n";
|
||||
if (permission_exists('extension_setting_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('extension_setting_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -26,12 +26,7 @@
|
|||
|
||||
/**
|
||||
* extension_settings class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('extension_settings')) {
|
||||
class extension_settings {
|
||||
|
||||
/**
|
||||
|
|
@ -272,6 +267,3 @@ if (!class_exists('extension_settings')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -2698,32 +2698,32 @@ $text['description-voicemail_password']['zh-cn'] = "在此处输入数字语音
|
|||
$text['description-voicemail_password']['ja-jp'] = "ここに数値のボイスメール パスワードを入力します。";
|
||||
$text['description-voicemail_password']['ko-kr'] = "여기에 숫자 음성사서함 암호를 입력합니다.";
|
||||
|
||||
$text['description-voicemail_mail_to']['en-us'] = "Enter the email address to send voicemail to (optional).";
|
||||
$text['description-voicemail_mail_to']['en-gb'] = "Enter the email address to send voicemail to (optional).";
|
||||
$text['description-voicemail_mail_to']['ar-eg'] = "أدخل العنوان الإلكتروني لإرسال البريد الصوتي إلى (اختياري).";
|
||||
$text['description-voicemail_mail_to']['de-at'] = "Geben Sie die Email Adresse an, an die Ihre Mailbox Nachricht gesendet werden soll (optional).";
|
||||
$text['description-voicemail_mail_to']['de-ch'] = "Geben Sie die Email Adresse an, an die Ihre Mailbox Nachricht gesendet werden soll (optional).";
|
||||
$text['description-voicemail_mail_to']['de-de'] = "Geben Sie die Email Adresse an, an die Ihre Mailbox Nachricht gesendet werden soll (optional).";
|
||||
$text['description-voicemail_mail_to']['el-gr'] = "Εισαγάγετε τη διεύθυνση email στην οποία θα στείλετε αυτόματο τηλεφωνητή (προαιρετικό).";
|
||||
$text['description-voicemail_mail_to']['es-cl'] = "Ingrese una dirección de correo electrónico para enviar el correo de voz (opcional).";
|
||||
$text['description-voicemail_mail_to']['es-mx'] = "Ingrese una dirección de correo electrónico para enviar el correo de voz (opcional).";
|
||||
$text['description-voicemail_mail_to']['fr-ca'] = "Insérer le courriel où sera envoyé le message de notification (optionnel).";
|
||||
$text['description-voicemail_mail_to']['fr-fr'] = "Insérer le courriel où sera envoyé le message de notification (optionnel).";
|
||||
$text['description-voicemail_mail_to']['he-il'] = "היכנס לכתובת הדואר האלקטרוני כדי לשלוח הודעות קוליות (אופציונלי).";
|
||||
$text['description-voicemail_mail_to']['it-it'] = "Inserire l'indirizzo email a cui recapitare i messaggi vocali (opzionale).";
|
||||
$text['description-voicemail_mail_to']['ka-ge'] = "შეიყვანეთ ელფოსტის მისამართი, რომელზეც ხმოვანი ფოსტა გამოიგზავნება (არასავალდებულო).";
|
||||
$text['description-voicemail_mail_to']['nl-nl'] = "Voer het E-mail adres om de voicemail naar te sturen (optioneel).";
|
||||
$text['description-voicemail_mail_to']['pl-pl'] = "Dodaj adres email na który będą wysyłane pliki poczty głosowej";
|
||||
$text['description-voicemail_mail_to']['pt-br'] = "Insira o endereço de email para enviar o correio de voz (opcional).";
|
||||
$text['description-voicemail_mail_to']['pt-pt'] = "Introduza o endereço de email para enviar o correio de voz (opcional).";
|
||||
$text['description-voicemail_mail_to']['ro-ro'] = "Introduceți adresa de e-mail la care trimiteți mesajul vocal (opțional).";
|
||||
$text['description-voicemail_mail_to']['ru-ru'] = "Введите адрес электронной почты, чтобы отправить голосовую почту (опционально).";
|
||||
$text['description-voicemail_mail_to']['sv-se'] = "Ange E-post adressen för röstbrevlådan (valfritt).";
|
||||
$text['description-voicemail_mail_to']['uk-ua'] = "Введіть адресу електронної пошти для відправки голосового повідомлення (за бажанням).";
|
||||
$text['description-voicemail_mail_to']['tr-tr'] = "Sesli mesajın gönderileceği e-posta adresini girin (isteğe bağlı).";
|
||||
$text['description-voicemail_mail_to']['zh-cn'] = "输入要向其发送语音邮件的电子邮件地址(可选)。";
|
||||
$text['description-voicemail_mail_to']['ja-jp'] = "ボイスメールの送信先の電子メール アドレスを入力します (オプション)。";
|
||||
$text['description-voicemail_mail_to']['ko-kr'] = "음성 메일을 보낼 이메일 주소를 입력합니다(선택 사항).";
|
||||
$text['description-voicemail_mail_to']['en-us'] = "Enter the email address to send voicemail to (optional). Multiple addresses may be separated by commas.";
|
||||
$text['description-voicemail_mail_to']['en-gb'] = "Enter the email address to send voicemail to (optional). Multiple addresses may be separated by commas.";
|
||||
$text['description-voicemail_mail_to']['ar-eg'] = "أدخل عنوان البريد الإلكتروني لإرسال البريد الصوتي إليه (اختياري). يمكن فصل العناوين المتعددة بفواصل.";
|
||||
$text['description-voicemail_mail_to']['de-at'] = "Geben Sie die E-Mail-Adresse ein, an die die Voicemail gesendet werden soll (optional). Mehrere Adressen können durch Kommas getrennt werden.";
|
||||
$text['description-voicemail_mail_to']['de-ch'] = "Geben Sie die E-Mail-Adresse ein, an die die Voicemail gesendet werden soll (optional). Mehrere Adressen können durch Kommas getrennt werden.";
|
||||
$text['description-voicemail_mail_to']['de-de'] = "Geben Sie die E-Mail-Adresse ein, an die die Voicemail gesendet werden soll (optional). Mehrere Adressen können durch Kommas getrennt werden.";
|
||||
$text['description-voicemail_mail_to']['el-gr'] = "Εισαγάγετε τη διεύθυνση email για αποστολή του φωνητικού μηνύματος (προαιρετικό). Πολλαπλές διευθύνσεις μπορούν να διαχωριστούν με κόμματα.";
|
||||
$text['description-voicemail_mail_to']['es-cl'] = "Ingrese la dirección de correo electrónico para enviar el correo de voz (opcional). Se pueden separar múltiples direcciones con comas.";
|
||||
$text['description-voicemail_mail_to']['es-mx'] = "Ingrese la dirección de correo electrónico para enviar el correo de voz (opcional). Se pueden separar múltiples direcciones con comas.";
|
||||
$text['description-voicemail_mail_to']['fr-ca'] = "Entrez l'adresse e-mail à laquelle envoyer la messagerie vocale (facultatif). Plusieurs adresses peuvent être séparées par des virgules.";
|
||||
$text['description-voicemail_mail_to']['fr-fr'] = "Entrez l'adresse e-mail à laquelle envoyer la messagerie vocale (facultatif). Plusieurs adresses peuvent être séparées par des virgules.";
|
||||
$text['description-voicemail_mail_to']['he-il'] = "הזן את כתובת האימייל לשליחת הדואר הקולי (אופציונלי). ניתן להפריד בין כתובות מרובות באמצעות פסיקים.";
|
||||
$text['description-voicemail_mail_to']['it-it'] = "Inserisci l'indirizzo email a cui inviare la segreteria telefonica (opzionale). Più indirizzi possono essere separati da virgole.";
|
||||
$text['description-voicemail_mail_to']['ka-ge'] = "შეიყვანეთ ელ.ფოსტის მისამართი, რომელზეც გაიგზავნება ხმოვანი ფოსტა (არასავალდებულო). შესაძლებელია მრავალი მისამართის მძიმით გამოყოფა.";
|
||||
$text['description-voicemail_mail_to']['nl-nl'] = "Voer het e-mailadres in om de voicemail naartoe te sturen (optioneel). Meerdere adressen kunnen worden gescheiden door komma's.";
|
||||
$text['description-voicemail_mail_to']['pl-pl'] = "Wprowadź adres e-mail, na który ma zostać wysłana poczta głosowa (opcjonalnie). Wiele adresów można oddzielić przecinkami.";
|
||||
$text['description-voicemail_mail_to']['pt-br'] = "Digite o endereço de e-mail para enviar o correio de voz (opcional). Vários endereços podem ser separados por vírgulas.";
|
||||
$text['description-voicemail_mail_to']['pt-pt'] = "Digite o endereço de e-mail para enviar o correio de voz (opcional). Vários endereços podem ser separados por vírgulas.";
|
||||
$text['description-voicemail_mail_to']['ro-ro'] = "Introduceți adresa de e-mail la care se va trimite mesageria vocală (opțional). Mai multe adrese pot fi separate prin virgule.";
|
||||
$text['description-voicemail_mail_to']['ru-ru'] = "Введите адрес электронной почты для отправки голосовой почты (необязательно). Несколько адресов можно разделять запятыми.";
|
||||
$text['description-voicemail_mail_to']['sv-se'] = "Ange e-postadressen som röstbrevet ska skickas till (valfritt). Flera adresser kan separeras med kommatecken.";
|
||||
$text['description-voicemail_mail_to']['uk-ua'] = "Введіть адресу електронної пошти для надсилання голосової пошти (необов’язково). Декілька адрес можна розділити комами.";
|
||||
$text['description-voicemail_mail_to']['tr-tr'] = "Sesli mesajın gönderileceği e-posta adresini girin (isteğe bağlı). Birden fazla adres virgülle ayrılabilir.";
|
||||
$text['description-voicemail_mail_to']['zh-cn'] = "输入要发送语音邮件的电子邮件地址(可选)。多个地址可用逗号分隔。";
|
||||
$text['description-voicemail_mail_to']['ja-jp'] = "ボイスメールを送信するメールアドレスを入力してください(オプション)。複数のアドレスはコンマで区切ることができます。";
|
||||
$text['description-voicemail_mail_to']['ko-kr'] = "보이스메일을 보낼 이메일 주소를 입력하세요(선택 사항). 여러 개의 주소는 쉼표로 구분할 수 있습니다.";
|
||||
|
||||
$text['description-voicemail_local_after_email']['en-us'] = "Choose whether to keep the voicemail in the system after sending the email notification.";
|
||||
$text['description-voicemail_local_after_email']['en-gb'] = "Choose whether to keep the voicemail in the system after sending the email notification.";
|
||||
|
|
|
|||
|
|
@ -186,7 +186,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (is_writable($_SESSION['switch']['extensions']['dir'])) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
|
|||
|
|
@ -850,7 +850,6 @@
|
|||
|
||||
//synchronize configuration
|
||||
if (is_writable($switch_extensions)) {
|
||||
require_once "app/extensions/resources/classes/extension.php";
|
||||
$ext = new extension;
|
||||
$ext->xml();
|
||||
unset($ext);
|
||||
|
|
@ -2037,7 +2036,6 @@
|
|||
echo " ".$text['label-hold_music']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td width=\"70%\" class='vtable' align='left'>\n";
|
||||
require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
||||
$options = '';
|
||||
$moh = new switch_music_on_hold;
|
||||
echo $moh->select('hold_music', $hold_music ?? '', $options);
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@
|
|||
}
|
||||
echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('extension_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('extension_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -339,8 +339,12 @@
|
|||
if (is_array($extensions) && @sizeof($extensions) != 0) {
|
||||
$x = 0;
|
||||
foreach($extensions as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('extension_edit')) {
|
||||
$list_row_url = "extension_edit.php?id=".urlencode($row['extension_uuid']).(is_numeric($page) ? '&page='.urlencode($page) : null);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('extension_enabled') || permission_exists('extension_delete')) {
|
||||
|
|
@ -421,7 +425,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['description'])."</td>\n";
|
||||
if (permission_exists('extension_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('extension_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -447,3 +451,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the directory class
|
||||
if (!class_exists('extension')) {
|
||||
class extension {
|
||||
|
||||
/**
|
||||
|
|
@ -795,6 +794,3 @@ if (!class_exists('extension')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@
|
|||
echo th_order_by('fax_email', $text['label-email'], $order_by, $order);
|
||||
echo " <th>".$text['label-tools']."</th>";
|
||||
echo th_order_by('fax_description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('fax_extension_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('fax_extension_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -247,8 +247,12 @@
|
|||
if (is_array($result) && @sizeof($result) != 0) {
|
||||
$x = 0;
|
||||
foreach ($result as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('fax_extension_edit')) {
|
||||
$list_row_url = "fax_edit.php?id=".urlencode($row['fax_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('fax_extension_add') || permission_exists('fax_extension_delete')) {
|
||||
|
|
@ -301,7 +305,7 @@
|
|||
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['fax_description'])." </td>\n";
|
||||
if (permission_exists('fax_extension_edit') && !empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (permission_exists('fax_extension_edit') && filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -325,3 +329,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@
|
|||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/functions/object_to_array.php";
|
||||
require_once "resources/functions/parse_message.php";
|
||||
require_once "resources/classes/text.php";
|
||||
|
||||
//get accounts to monitor
|
||||
$sql = "select d.domain_name, f.* ";
|
||||
|
|
|
|||
|
|
@ -179,7 +179,7 @@
|
|||
//echo th_order_by('fax_retry_sleep', $text['label-fax_retry_sleep'], $order_by, $order);
|
||||
echo th_order_by('fax_uri', $text['label-fax_destination'], $order_by, $order, null, null, "&id=".$fax_uuid);
|
||||
//echo th_order_by('fax_epoch', $text['label-fax_epoch'], $order_by, $order);
|
||||
if (!empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
//echo " <td>".$row['fax_retry_sleep']." </td>\n";
|
||||
echo " <td>".basename($row['fax_uri'])." </td>\n";
|
||||
//echo " <td>".$row['fax_epoch']." </td>\n";
|
||||
if (!empty($_SESSION['theme']['list_row_edit_button']['boolean']) && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') {
|
||||
if (filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
echo " <td class='action-button'>\n";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-view'],'icon'=>$_SESSION['theme']['button_icon_view'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the fax class
|
||||
if (!class_exists('fax')) {
|
||||
class fax {
|
||||
|
||||
/**
|
||||
|
|
@ -725,7 +724,6 @@ if (!class_exists('fax')) {
|
|||
}
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
/*
|
||||
$o = new fax;
|
||||
|
|
@ -738,5 +736,3 @@ $c->destination_number = $fax_destination_number;
|
|||
$c->fax_description = $fax_description;
|
||||
$c->dialplan();
|
||||
*/
|
||||
|
||||
?>
|
||||
|
|
@ -332,8 +332,12 @@
|
|||
if (!empty($fax_queue)) {
|
||||
$x = 0;
|
||||
foreach ($fax_queue as $row) {
|
||||
$list_row_url = '';
|
||||
if ($permission['fax_queue_edit']) {
|
||||
$list_row_url = "fax_queue_edit.php?id=".urlencode($row['fax_queue_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if ($permission['fax_queue_add'] || $permission['fax_queue_edit'] || $permission['fax_queue_delete']) {
|
||||
|
|
|
|||
|
|
@ -26,12 +26,7 @@
|
|||
|
||||
/**
|
||||
* fax_queue class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('fax_queue')) {
|
||||
class fax_queue {
|
||||
|
||||
/**
|
||||
|
|
@ -274,6 +269,3 @@ if (!class_exists('fax_queue')) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 4) . "/resources/require.php";
|
||||
require_once "resources/pdo.php";
|
||||
include "resources/classes/permissions.php";
|
||||
|
||||
//increase limits
|
||||
set_time_limit(0);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
$apps[$x]['uuid'] = '16589224-c876-aeb3-f59f-523a1c0801f7';
|
||||
$apps[$x]['category'] = 'Switch';
|
||||
$apps[$x]['subcategory'] = '';
|
||||
$apps[$x]['version'] = '2.0';
|
||||
$apps[$x]['version'] = '2.1';
|
||||
$apps[$x]['license'] = 'Mozilla Public License 1.1';
|
||||
$apps[$x]['url'] = 'http://www.fusionpbx.com';
|
||||
$apps[$x]['description']['en-us'] = "Queues are used to setup waiting lines for callers. Also known as FIFO Queues.";
|
||||
|
|
@ -140,11 +140,31 @@
|
|||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'A feature code for the agent to login or logout of the Queue.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "fifo_strategy";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search'] = 'true';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "Select the strategy.";
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_members';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = '';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_timeout_seconds';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = '';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_exit_key';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'numeric';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = '';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_exit_action';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = '';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'fifo_music';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
|
||||
|
|
@ -268,4 +288,4 @@
|
|||
//cache details
|
||||
$apps[$x]['cache']['key'] = "dialplan.\${domain_name}";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -324,6 +324,87 @@ $text['description-fifo_agent_queue']['zh-cn'] = "代理等待呼叫者或接听
|
|||
$text['description-fifo_agent_queue']['ja-jp'] = "エージェントが発信者を待機したり、キューで待機中の通話に応答したりするためのキュー。";
|
||||
$text['description-fifo_agent_queue']['ko-kr'] = "상담원이 발신자를 기다리거나 대기열에 대기 중인 전화를 받기 위한 대기열입니다.";
|
||||
|
||||
$text['label-strategy']['en-us'] = "Strategy";
|
||||
$text['label-strategy']['en-gb'] = "Strategy";
|
||||
$text['label-strategy']['ar-eg'] = "الاستراتيجية";
|
||||
$text['label-strategy']['de-at'] = "Strategie";
|
||||
$text['label-strategy']['de-ch'] = "Strategie";
|
||||
$text['label-strategy']['de-de'] = "Strategie";
|
||||
$text['label-strategy']['el-gr'] = "Στρατηγική";
|
||||
$text['label-strategy']['es-cl'] = "Estrategia";
|
||||
$text['label-strategy']['es-mx'] = "Estrategia";
|
||||
$text['label-strategy']['fr-ca'] = "Stratégie";
|
||||
$text['label-strategy']['fr-fr'] = "Stratégie";
|
||||
$text['label-strategy']['he-il'] = "אסטרטגיה";
|
||||
$text['label-strategy']['it-it'] = "Strategia";
|
||||
$text['label-strategy']['ka-ge'] = "სტრატეგია";
|
||||
$text['label-strategy']['nl-nl'] = "Strategie";
|
||||
$text['label-strategy']['pl-pl'] = "Strategia";
|
||||
$text['label-strategy']['pt-br'] = "Estratégia";
|
||||
$text['label-strategy']['pt-pt'] = "Estratégia";
|
||||
$text['label-strategy']['ro-ro'] = "Strategie";
|
||||
$text['label-strategy']['ru-ru'] = "Стратегия";
|
||||
$text['label-strategy']['sv-se'] = "Strategi";
|
||||
$text['label-strategy']['uk-ua'] = "Стратегія";
|
||||
$text['label-strategy']['tr-tr'] = "Strateji";
|
||||
$text['label-strategy']['zh-cn'] = "战略";
|
||||
$text['label-strategy']['ja-jp'] = "ストラテジー";
|
||||
$text['label-strategy']['ko-kr'] = "전략";
|
||||
|
||||
$text['description-strategy']['en-us'] = "Select the ring strategy.";
|
||||
$text['description-strategy']['en-gb'] = "Select the ring strategy.";
|
||||
$text['description-strategy']['ar-eg'] = "اختيار استراتيجية الخاتم.";
|
||||
$text['description-strategy']['de-at'] = "Wählen Sie eine Strategie.";
|
||||
$text['description-strategy']['de-ch'] = "Wählen Sie eine Strategie.";
|
||||
$text['description-strategy']['de-de'] = "Wählen Sie eine Strategie.";
|
||||
$text['description-strategy']['el-gr'] = "Επιλέξτε τη στρατηγική του δακτυλίου.";
|
||||
$text['description-strategy']['es-cl'] = "Ingrese la estrategia de llamado.";
|
||||
$text['description-strategy']['es-mx'] = "Ingrese la estrategia de llamado.";
|
||||
$text['description-strategy']['fr-ca'] = "Choisir la statégie de sonnerie.";
|
||||
$text['description-strategy']['fr-fr'] = "Choisir la statégie de sonnerie.";
|
||||
$text['description-strategy']['he-il'] = "בחר את אסטרטגיית החיוג";
|
||||
$text['description-strategy']['it-it'] = "Selezionare la strategia di squillo.";
|
||||
$text['description-strategy']['ka-ge'] = "აირჩიეთ ზარის სტრატეგია.";
|
||||
$text['description-strategy']['nl-nl'] = "Kies de bel strategie.";
|
||||
$text['description-strategy']['pl-pl'] = "Wybierz strategię";
|
||||
$text['description-strategy']['pt-br'] = "Selecione a estraétia da fila";
|
||||
$text['description-strategy']['pt-pt'] = "Escolha o tipo de estratégia de toque.";
|
||||
$text['description-strategy']['ro-ro'] = "Selectați strategia de inel.";
|
||||
$text['description-strategy']['ru-ru'] = "Выберите стратегию вызовов.";
|
||||
$text['description-strategy']['sv-se'] = "Välj strategi för ringflöde.";
|
||||
$text['description-strategy']['uk-ua'] = "Виберіть стратегію кільця.";
|
||||
$text['description-strategy']['tr-tr'] = "Zil stratejisini seçin.";
|
||||
$text['description-strategy']['zh-cn'] = "选择响铃策略。";
|
||||
$text['description-strategy']['ja-jp'] = "リング戦略を選択します。";
|
||||
$text['description-strategy']['ko-kr'] = "링 전략을 선택합니다.";
|
||||
|
||||
$text['message-strategy']['en-us'] = "Please provide: Strategy";
|
||||
$text['message-strategy']['en-gb'] = "Please provide: Strategy";
|
||||
$text['message-strategy']['ar-eg'] = "يرجى تقديم ما يلي: الاستراتيجية";
|
||||
$text['message-strategy']['de-at'] = "Bitte geben Sie folgendes an: Strategie";
|
||||
$text['message-strategy']['de-ch'] = "Bitte geben Sie folgendes an: Strategie";
|
||||
$text['message-strategy']['de-de'] = "Bitte geben Sie folgendes an: Strategie";
|
||||
$text['message-strategy']['el-gr'] = "Παρέχετε: Στρατηγική";
|
||||
$text['message-strategy']['es-cl'] = "Por favor indique: Estrategia";
|
||||
$text['message-strategy']['es-mx'] = "Por favor indique: Estrategia";
|
||||
$text['message-strategy']['fr-ca'] = "Merci d'indiquer: Stratégie";
|
||||
$text['message-strategy']['fr-fr'] = "Merci d'indiquer: Stratégie";
|
||||
$text['message-strategy']['he-il'] = "נא לספק: אסטרטגיה";
|
||||
$text['message-strategy']['it-it'] = "Prego fornire: Strategia";
|
||||
$text['message-strategy']['ka-ge'] = "შეიყვანეთ: სტრატეგია";
|
||||
$text['message-strategy']['nl-nl'] = "Geef aub.: Strategie";
|
||||
$text['message-strategy']['pl-pl'] = "Wprowadź strategię";
|
||||
$text['message-strategy']['pt-br'] = "Por favor indique: Estratégia";
|
||||
$text['message-strategy']['pt-pt'] = "Por favor indique: Estratégia";
|
||||
$text['message-strategy']['ro-ro'] = "Vă rugăm să furnizați: Strategie";
|
||||
$text['message-strategy']['ru-ru'] = "Пожалуйста укажите: Стратегию";
|
||||
$text['message-strategy']['sv-se'] = "Ange: Strategi";
|
||||
$text['message-strategy']['uk-ua'] = "Будь ласка, заповніть: Стратегія";
|
||||
$text['message-strategy']['tr-tr'] = "Lütfen sağlayın: Strateji";
|
||||
$text['message-strategy']['zh-cn'] = "请提供:策略";
|
||||
$text['message-strategy']['ja-jp'] = "提供してください: 戦略";
|
||||
$text['message-strategy']['ko-kr'] = "제공하십시오: 전략";
|
||||
|
||||
$text['label-fifo_members']['en-us'] = "Agents";
|
||||
$text['label-fifo_members']['en-gb'] = "Agents";
|
||||
$text['label-fifo_members']['ar-eg'] = "عملاء";
|
||||
|
|
@ -377,6 +458,7 @@ $text['description-fifo_members']['zh-cn'] = "代理是队列的成员。队列
|
|||
$text['description-fifo_members']['ja-jp'] = "エージェントはキューのメンバーです。キュー内の通話は、対応可能なエージェントに分配されます。";
|
||||
$text['description-fifo_members']['ko-kr'] = "에이전트는 대기열의 멤버입니다. 대기열의 통화는 사용 가능한 에이전트에게 분배됩니다.";
|
||||
|
||||
|
||||
$text['label-fifo_music']['en-us'] = "Music";
|
||||
$text['label-fifo_music']['en-gb'] = "Music";
|
||||
$text['label-fifo_music']['ar-eg'] = "موسيقى";
|
||||
|
|
@ -431,6 +513,162 @@ $text['description-fifo_music']['zh-cn'] = "选择排队等候时可以听到的
|
|||
$text['description-fifo_music']['ja-jp'] = "キューで待機中に聞く保留音を選択します。";
|
||||
$text['description-fifo_music']['ko-kr'] = "대기열에서 기다리는 동안 들을 수 있는 대기 음악을 선택하세요.";
|
||||
|
||||
$text['label-fifo_timeout_seconds']['en-us'] = 'Timeout';
|
||||
$text['label-fifo_timeout_seconds']['en-gb'] = 'Timeout';
|
||||
$text['label-fifo_timeout_seconds']['ar-eg'] = '';
|
||||
$text['label-fifo_timeout_seconds']['de-at'] = '';
|
||||
$text['label-fifo_timeout_seconds']['de-ch'] = '';
|
||||
$text['label-fifo_timeout_seconds']['de-de'] = '';
|
||||
$text['label-fifo_timeout_seconds']['el-gr'] = '';
|
||||
$text['label-fifo_timeout_seconds']['es-cl'] = '';
|
||||
$text['label-fifo_timeout_seconds']['es-mx'] = '';
|
||||
$text['label-fifo_timeout_seconds']['fr-ca'] = '';
|
||||
$text['label-fifo_timeout_seconds']['fr-fr'] = '';
|
||||
$text['label-fifo_timeout_seconds']['he-il'] = '';
|
||||
$text['label-fifo_timeout_seconds']['it-it'] = '';
|
||||
$text['label-fifo_timeout_seconds']['nl-nl'] = '';
|
||||
$text['label-fifo_timeout_seconds']['pl-pl'] = '';
|
||||
$text['label-fifo_timeout_seconds']['pt-br'] = '';
|
||||
$text['label-fifo_timeout_seconds']['pt-pt'] = '';
|
||||
$text['label-fifo_timeout_seconds']['ro-ro'] = '';
|
||||
$text['label-fifo_timeout_seconds']['ru-ru'] = '';
|
||||
$text['label-fifo_timeout_seconds']['sv-se'] = '';
|
||||
$text['label-fifo_timeout_seconds']['uk-ua'] = '';
|
||||
$text['label-fifo_timeout_seconds']['tr-tr'] = '';
|
||||
$text['label-fifo_timeout_seconds']['zh-cn'] = '';
|
||||
$text['label-fifo_timeout_seconds']['ja-jp'] = '';
|
||||
$text['label-fifo_timeout_seconds']['ko-kr'] = '';
|
||||
|
||||
$text['description-fifo_timeout_seconds']['en-us'] = 'Enter the queue timeout seconds. 0 means no queue timeout.';
|
||||
$text['description-fifo_timeout_seconds']['en-gb'] = 'Enter the queue timeout seconds. 0 means no queue timeout.';
|
||||
$text['description-fifo_timeout_seconds']['ar-eg'] = '';
|
||||
$text['description-fifo_timeout_seconds']['de-at'] = '';
|
||||
$text['description-fifo_timeout_seconds']['de-ch'] = '';
|
||||
$text['description-fifo_timeout_seconds']['de-de'] = '';
|
||||
$text['description-fifo_timeout_seconds']['el-gr'] = '';
|
||||
$text['description-fifo_timeout_seconds']['es-cl'] = '';
|
||||
$text['description-fifo_timeout_seconds']['es-mx'] = '';
|
||||
$text['description-fifo_timeout_seconds']['fr-ca'] = '';
|
||||
$text['description-fifo_timeout_seconds']['fr-fr'] = '';
|
||||
$text['description-fifo_timeout_seconds']['he-il'] = '';
|
||||
$text['description-fifo_timeout_seconds']['it-it'] = '';
|
||||
$text['description-fifo_timeout_seconds']['nl-nl'] = '';
|
||||
$text['description-fifo_timeout_seconds']['pl-pl'] = '';
|
||||
$text['description-fifo_timeout_seconds']['pt-br'] = '';
|
||||
$text['description-fifo_timeout_seconds']['pt-pt'] = '';
|
||||
$text['description-fifo_timeout_seconds']['ro-ro'] = '';
|
||||
$text['description-fifo_timeout_seconds']['ru-ru'] = '';
|
||||
$text['description-fifo_timeout_seconds']['sv-se'] = '';
|
||||
$text['description-fifo_timeout_seconds']['uk-ua'] = '';
|
||||
$text['description-fifo_timeout_seconds']['tr-tr'] = '';
|
||||
$text['description-fifo_timeout_seconds']['zh-cn'] = '';
|
||||
$text['description-fifo_timeout_seconds']['ja-jp'] = '';
|
||||
$text['description-fifo_timeout_seconds']['ko-kr'] = '';
|
||||
|
||||
$text['label-fifo_exit_key']['en-us'] = 'Exit Key';
|
||||
$text['label-fifo_exit_key']['en-gb'] = 'Exit Key';
|
||||
$text['label-fifo_exit_key']['ar-eg'] = '';
|
||||
$text['label-fifo_exit_key']['de-at'] = '';
|
||||
$text['label-fifo_exit_key']['de-ch'] = '';
|
||||
$text['label-fifo_exit_key']['de-de'] = '';
|
||||
$text['label-fifo_exit_key']['el-gr'] = '';
|
||||
$text['label-fifo_exit_key']['es-cl'] = '';
|
||||
$text['label-fifo_exit_key']['es-mx'] = '';
|
||||
$text['label-fifo_exit_key']['fr-ca'] = '';
|
||||
$text['label-fifo_exit_key']['fr-fr'] = '';
|
||||
$text['label-fifo_exit_key']['he-il'] = '';
|
||||
$text['label-fifo_exit_key']['it-it'] = '';
|
||||
$text['label-fifo_exit_key']['nl-nl'] = '';
|
||||
$text['label-fifo_exit_key']['pl-pl'] = '';
|
||||
$text['label-fifo_exit_key']['pt-br'] = '';
|
||||
$text['label-fifo_exit_key']['pt-pt'] = '';
|
||||
$text['label-fifo_exit_key']['ro-ro'] = '';
|
||||
$text['label-fifo_exit_key']['ru-ru'] = '';
|
||||
$text['label-fifo_exit_key']['sv-se'] = '';
|
||||
$text['label-fifo_exit_key']['uk-ua'] = '';
|
||||
$text['label-fifo_exit_key']['tr-tr'] = '';
|
||||
$text['label-fifo_exit_key']['zh-cn'] = '';
|
||||
$text['label-fifo_exit_key']['ja-jp'] = '';
|
||||
$text['label-fifo_exit_key']['ko-kr'] = '';
|
||||
|
||||
$text['description-fifo_exit_key']['en-us'] = 'Enter the number to exit the queue.';
|
||||
$text['description-fifo_exit_key']['en-gb'] = 'Enter the number to exit the queue.';
|
||||
$text['description-fifo_exit_key']['ar-eg'] = '';
|
||||
$text['description-fifo_exit_key']['de-at'] = '';
|
||||
$text['description-fifo_exit_key']['de-ch'] = '';
|
||||
$text['description-fifo_exit_key']['de-de'] = '';
|
||||
$text['description-fifo_exit_key']['el-gr'] = '';
|
||||
$text['description-fifo_exit_key']['es-cl'] = '';
|
||||
$text['description-fifo_exit_key']['es-mx'] = '';
|
||||
$text['description-fifo_exit_key']['fr-ca'] = '';
|
||||
$text['description-fifo_exit_key']['fr-fr'] = '';
|
||||
$text['description-fifo_exit_key']['he-il'] = '';
|
||||
$text['description-fifo_exit_key']['it-it'] = '';
|
||||
$text['description-fifo_exit_key']['nl-nl'] = '';
|
||||
$text['description-fifo_exit_key']['pl-pl'] = '';
|
||||
$text['description-fifo_exit_key']['pt-br'] = '';
|
||||
$text['description-fifo_exit_key']['pt-pt'] = '';
|
||||
$text['description-fifo_exit_key']['ro-ro'] = '';
|
||||
$text['description-fifo_exit_key']['ru-ru'] = '';
|
||||
$text['description-fifo_exit_key']['sv-se'] = '';
|
||||
$text['description-fifo_exit_key']['uk-ua'] = '';
|
||||
$text['description-fifo_exit_key']['tr-tr'] = '';
|
||||
$text['description-fifo_exit_key']['zh-cn'] = '';
|
||||
$text['description-fifo_exit_key']['ja-jp'] = '';
|
||||
$text['description-fifo_exit_key']['ko-kr'] = '';
|
||||
|
||||
$text['label-fifo_exit_action']['en-us'] = 'Exit Action';
|
||||
$text['label-fifo_exit_action']['en-gb'] = 'Exit Action';
|
||||
$text['label-fifo_exit_action']['ar-eg'] = '';
|
||||
$text['label-fifo_exit_action']['de-at'] = '';
|
||||
$text['label-fifo_exit_action']['de-ch'] = '';
|
||||
$text['label-fifo_exit_action']['de-de'] = '';
|
||||
$text['label-fifo_exit_action']['el-gr'] = '';
|
||||
$text['label-fifo_exit_action']['es-cl'] = '';
|
||||
$text['label-fifo_exit_action']['es-mx'] = '';
|
||||
$text['label-fifo_exit_action']['fr-ca'] = '';
|
||||
$text['label-fifo_exit_action']['fr-fr'] = '';
|
||||
$text['label-fifo_exit_action']['he-il'] = '';
|
||||
$text['label-fifo_exit_action']['it-it'] = '';
|
||||
$text['label-fifo_exit_action']['nl-nl'] = '';
|
||||
$text['label-fifo_exit_action']['pl-pl'] = '';
|
||||
$text['label-fifo_exit_action']['pt-br'] = '';
|
||||
$text['label-fifo_exit_action']['pt-pt'] = '';
|
||||
$text['label-fifo_exit_action']['ro-ro'] = '';
|
||||
$text['label-fifo_exit_action']['ru-ru'] = '';
|
||||
$text['label-fifo_exit_action']['sv-se'] = '';
|
||||
$text['label-fifo_exit_action']['uk-ua'] = '';
|
||||
$text['label-fifo_exit_action']['tr-tr'] = '';
|
||||
$text['label-fifo_exit_action']['zh-cn'] = '';
|
||||
$text['label-fifo_exit_action']['ja-jp'] = '';
|
||||
$text['label-fifo_exit_action']['ko-kr'] = '';
|
||||
|
||||
$text['description-fifo_exit_action']['en-us'] = 'Select where to route the caller when exiting the queue.';
|
||||
$text['description-fifo_exit_action']['en-gb'] = 'Select where to route the caller when exiting the queue.';
|
||||
$text['description-fifo_exit_action']['ar-eg'] = '';
|
||||
$text['description-fifo_exit_action']['de-at'] = '';
|
||||
$text['description-fifo_exit_action']['de-ch'] = '';
|
||||
$text['description-fifo_exit_action']['de-de'] = '';
|
||||
$text['description-fifo_exit_action']['el-gr'] = '';
|
||||
$text['description-fifo_exit_action']['es-cl'] = '';
|
||||
$text['description-fifo_exit_action']['es-mx'] = '';
|
||||
$text['description-fifo_exit_action']['fr-ca'] = '';
|
||||
$text['description-fifo_exit_action']['fr-fr'] = '';
|
||||
$text['description-fifo_exit_action']['he-il'] = '';
|
||||
$text['description-fifo_exit_action']['it-it'] = '';
|
||||
$text['description-fifo_exit_action']['nl-nl'] = '';
|
||||
$text['description-fifo_exit_action']['pl-pl'] = '';
|
||||
$text['description-fifo_exit_action']['pt-br'] = '';
|
||||
$text['description-fifo_exit_action']['pt-pt'] = '';
|
||||
$text['description-fifo_exit_action']['ro-ro'] = '';
|
||||
$text['description-fifo_exit_action']['ru-ru'] = '';
|
||||
$text['description-fifo_exit_action']['sv-se'] = '';
|
||||
$text['description-fifo_exit_action']['uk-ua'] = '';
|
||||
$text['description-fifo_exit_action']['tr-tr'] = '';
|
||||
$text['description-fifo_exit_action']['zh-cn'] = '';
|
||||
$text['description-fifo_exit_action']['ja-jp'] = '';
|
||||
$text['description-fifo_exit_action']['ko-kr'] = '';
|
||||
|
||||
$text['label-fifo_order']['en-us'] = "Order";
|
||||
$text['label-fifo_order']['en-gb'] = "Order";
|
||||
$text['label-fifo_order']['ar-eg'] = "طلب";
|
||||
|
|
@ -755,6 +993,59 @@ $text['description-member_simultaneous']['zh-cn'] = "同时输入成员。";
|
|||
$text['description-member_simultaneous']['ja-jp'] = "メンバー同時入力。";
|
||||
$text['description-member_simultaneous']['ko-kr'] = "회원을 동시 입력하세요.";
|
||||
|
||||
$text['option-longest_idle_agent']['en-us'] = "Longest Idle Agent";
|
||||
$text['option-longest_idle_agent']['en-gb'] = "Longest Idle Agent";
|
||||
$text['option-longest_idle_agent']['ar-eg'] = "أطول عامل خامل";
|
||||
$text['option-longest_idle_agent']['de-at'] = "Agent mit der höchsten Wartezeit";
|
||||
$text['option-longest_idle_agent']['de-ch'] = "Agent mit der höchsten Wartezeit";
|
||||
$text['option-longest_idle_agent']['de-de'] = "Agent mit der höchsten Wartezeit";
|
||||
$text['option-longest_idle_agent']['el-gr'] = "Ο μακρύτερος πράκτορας σε αδράνεια";
|
||||
$text['option-longest_idle_agent']['es-cl'] = "Agente desocupado por más tiempo";
|
||||
$text['option-longest_idle_agent']['es-mx'] = "Agente desocupado por más tiempo";
|
||||
$text['option-longest_idle_agent']['fr-ca'] = "Agent inactif le plus longtemps";
|
||||
$text['option-longest_idle_agent']['fr-fr'] = "Agent inactif le plus longtemps";
|
||||
$text['option-longest_idle_agent']['he-il'] = "סוכן הסרק הארוך ביותר";
|
||||
$text['option-longest_idle_agent']['it-it'] = "Da più tempo libero";
|
||||
$text['option-longest_idle_agent']['ka-ge'] = "ოპერატორი, რომელიც ყველაზე დიდხანს იყო უქმად";
|
||||
$text['option-longest_idle_agent']['nl-nl'] = "Langst wachtende agent";
|
||||
$text['option-longest_idle_agent']['pl-pl'] = "Najdlużej bezczynny agent";
|
||||
$text['option-longest_idle_agent']['pt-br'] = "Agente desocupado há mais tempo";
|
||||
$text['option-longest_idle_agent']['pt-pt'] = "Agente desocupado há mais tempo";
|
||||
$text['option-longest_idle_agent']['ro-ro'] = "Cel mai lung agent inactiv";
|
||||
$text['option-longest_idle_agent']['ru-ru'] = "Максимально незанятый оператор";
|
||||
$text['option-longest_idle_agent']['sv-se'] = "Agent Längst Ledig";
|
||||
$text['option-longest_idle_agent']['uk-ua'] = "Найдовше бездіяльний агент";
|
||||
$text['option-longest_idle_agent']['zh-cn'] = "最长空闲代理";
|
||||
$text['option-longest_idle_agent']['ja-jp'] = "最長アイドル エージェント";
|
||||
$text['option-longest_idle_agent']['ko-kr'] = "가장 긴 유휴 에이전트";
|
||||
|
||||
$text['option-simultaneous']['en-us'] = "Simultaneous";
|
||||
$text['option-simultaneous']['en-gb'] = "Simultaneous";
|
||||
$text['option-simultaneous']['ar-eg'] = "بسيطة";
|
||||
$text['option-simultaneous']['de-at'] = "gleichzeitig";
|
||||
$text['option-simultaneous']['de-ch'] = "gleichzeitig";
|
||||
$text['option-simultaneous']['de-de'] = "gleichzeitig";
|
||||
$text['option-simultaneous']['el-gr'] = "Ταυτόχρονος";
|
||||
$text['option-simultaneous']['es-cl'] = "Simultaneos";
|
||||
$text['option-simultaneous']['es-mx'] = "Simultaneos";
|
||||
$text['option-simultaneous']['fr-ca'] = "Simultané";
|
||||
$text['option-simultaneous']['fr-fr'] = "Simultané";
|
||||
$text['option-simultaneous']['he-il'] = "באותו הזמן";
|
||||
$text['option-simultaneous']['it-it'] = "Parallelo";
|
||||
$text['option-simultaneous']['ka-ge'] = "ერთდროული";
|
||||
$text['option-simultaneous']['nl-nl'] = "Gelijktijdig";
|
||||
$text['option-simultaneous']['pl-pl'] = "Jednoczesne";
|
||||
$text['option-simultaneous']['pt-br'] = "Simultâneo";
|
||||
$text['option-simultaneous']['pt-pt'] = "Simultâneo";
|
||||
$text['option-simultaneous']['ro-ro'] = "Simultan";
|
||||
$text['option-simultaneous']['ru-ru'] = "Одновременное";
|
||||
$text['option-simultaneous']['sv-se'] = "Samtidig";
|
||||
$text['option-simultaneous']['uk-ua'] = "Симулятор";
|
||||
$text['option-simultaneous']['tr-tr'] = "Eş zamanlı";
|
||||
$text['option-simultaneous']['zh-cn'] = "同时";
|
||||
$text['option-simultaneous']['ja-jp'] = "同時に";
|
||||
$text['option-simultaneous']['ko-kr'] = "동시";
|
||||
|
||||
$text['label-member_wrap_up_time']['en-us'] = "Wrap Up Time";
|
||||
$text['label-member_wrap_up_time']['en-gb'] = "Wrap Up Time";
|
||||
$text['label-member_wrap_up_time']['ar-eg'] = "وقت الختام";
|
||||
|
|
@ -836,4 +1127,4 @@ $text['label-member_enabled']['zh-cn'] = "已启用";
|
|||
$text['label-member_enabled']['ja-jp'] = "有効";
|
||||
$text['label-member_enabled']['ko-kr'] = "활성화됨";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -145,8 +145,8 @@
|
|||
$sql .= "fifo_uuid, ";
|
||||
$sql .= "fifo_name, ";
|
||||
$sql .= "fifo_extension, ";
|
||||
$sql .= "fifo_agent_queue, ";
|
||||
$sql .= "fifo_agent_status, ";
|
||||
$sql .= "fifo_agent_queue, ";
|
||||
$sql .= "fifo_music, ";
|
||||
$sql .= "u.domain_uuid, ";
|
||||
$sql .= "d.domain_name, ";
|
||||
|
|
@ -249,8 +249,8 @@
|
|||
}
|
||||
echo th_order_by('fifo_name', $text['label-fifo_name'], $order_by, $order);
|
||||
echo th_order_by('fifo_extension', $text['label-fifo_extension'], $order_by, $order);
|
||||
echo th_order_by('fifo_agent_queue', $text['label-fifo_agent_queue'], $order_by, $order);
|
||||
echo th_order_by('fifo_agent_status', $text['label-fifo_agent_status'], $order_by, $order);
|
||||
echo th_order_by('fifo_agent_queue', $text['label-fifo_agent_queue'], $order_by, $order);
|
||||
echo th_order_by('fifo_order', $text['label-fifo_order'], $order_by, $order);
|
||||
echo th_order_by('fifo_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo " <th class='hide-sm-dn'>".$text['label-fifo_description']."</th>\n";
|
||||
|
|
@ -264,6 +264,9 @@
|
|||
foreach ($fifo as $row) {
|
||||
if (permission_exists('fifo_edit')) {
|
||||
$list_row_url = "fifo_edit.php?id=".urlencode($row['fifo_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('fifo_add') || permission_exists('fifo_edit') || permission_exists('fifo_delete')) {
|
||||
|
|
@ -284,8 +287,8 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td>".escape($row['fifo_extension'])."</td>\n";
|
||||
echo " <td>".escape($row['fifo_agent_queue'])."</td>\n";
|
||||
echo " <td>".escape($row['fifo_agent_status'])."</td>\n";
|
||||
echo " <td>".escape($row['fifo_agent_queue'])."</td>\n";
|
||||
echo " <td>".escape($row['fifo_order'])."</td>\n";
|
||||
if (permission_exists('fifo_edit')) {
|
||||
echo " <td class='no-link center'>\n";
|
||||
|
|
@ -319,4 +322,4 @@
|
|||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -39,9 +39,15 @@
|
|||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//connect to the database
|
||||
$database = database::new();
|
||||
|
||||
//add the settings object
|
||||
$settings = new settings(["domain_uuid" => $_SESSION['domain_uuid'], "user_uuid" => $_SESSION['user_uuid']]);
|
||||
|
||||
//setup the event socket connection
|
||||
$event_socket = event_socket::create();
|
||||
|
||||
//set from session variables
|
||||
$button_icon_back = $settings->get('theme', 'button_icon_back', '');
|
||||
$button_icon_copy = $settings->get('theme', 'button_icon_copy', '');
|
||||
|
|
@ -66,7 +72,11 @@
|
|||
$fifo_extension = $_POST["fifo_extension"];
|
||||
$fifo_agent_status = $_POST["fifo_agent_status"];
|
||||
$fifo_agent_queue = $_POST["fifo_agent_queue"];
|
||||
$fifo_strategy = $_POST["fifo_strategy"];
|
||||
$fifo_members = $_POST["fifo_members"];
|
||||
$fifo_timeout_seconds = $_POST["fifo_timeout_seconds"];
|
||||
$fifo_exit_key = $_POST["fifo_exit_key"];
|
||||
$fifo_exit_action = $_POST["fifo_exit_action"];
|
||||
$fifo_music = $_POST["fifo_music"];
|
||||
$domain_uuid = $_POST["domain_uuid"];
|
||||
$fifo_order = $_POST["fifo_order"];
|
||||
|
|
@ -104,20 +114,17 @@
|
|||
switch ($_POST['action']) {
|
||||
case 'copy':
|
||||
if (permission_exists('fifo_add')) {
|
||||
$obj = new database;
|
||||
$obj->copy($array);
|
||||
$database->copy($array);
|
||||
}
|
||||
break;
|
||||
case 'delete':
|
||||
if (permission_exists('fifo_delete')) {
|
||||
$obj = new database;
|
||||
$obj->delete($array);
|
||||
$database->delete($array);
|
||||
}
|
||||
break;
|
||||
case 'toggle':
|
||||
if (permission_exists('fifo_update')) {
|
||||
$obj = new database;
|
||||
$obj->toggle($array);
|
||||
$database->toggle($array);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -129,13 +136,38 @@
|
|||
}
|
||||
}
|
||||
|
||||
//validate the data
|
||||
$fifo_extension = preg_replace('#[^a-zA-Z0-9.\-\*]#', '', $fifo_extension ?? '');
|
||||
$fifo_order = preg_replace('#[^0-9]#', '', $fifo_order ?? '');
|
||||
$fifo_exit_key = preg_replace('#[^0-9]#', '', $fifo_exit_key ?? '');
|
||||
$fifo_timeout_seconds = preg_replace('#[^0-9]#', '', $fifo_timeout_seconds ?? '');
|
||||
$fifo_agent_status = preg_replace('#[^a-zA-Z0-9.\-\*]#', '', $fifo_agent_status ?? '');
|
||||
$fifo_agent_queue = preg_replace('#[^a-zA-Z0-9.\-\*]#', '', $fifo_agent_queue ?? '');
|
||||
if (!empty($fifo_uuid) && !is_uuid($fifo_uuid)) { throw new Exception("invalid uuid"); }
|
||||
if (!empty($dialplan_uuid) && !is_uuid($dialplan_uuid)) { throw new Exception("invalid uuid"); }
|
||||
|
||||
if (is_array($fifo_members)) {
|
||||
$i = 0;
|
||||
foreach ($fifo_members as $row) {
|
||||
$fifo_members[$i]['member_contact'] = preg_replace('#[^a-zA-Z0-9/@.\-\*]#', '', $row["member_contact"] ?? '');
|
||||
$fifo_members[$i]['member_call_timeout'] = preg_replace('#[^0-9]#', '', $row["member_call_timeout"] ?? '20');
|
||||
$fifo_members[$i]['member_wrap_up_time'] = preg_replace('#[^0-9]#', '', $row["member_wrap_up_time"] ?? '10');
|
||||
$fifo_members[$i]['member_enabled'] = $row["member_enabled"] ?? 'false';
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
//check for all required data
|
||||
$msg = '';
|
||||
if (strlen($fifo_name) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_name']."<br>\n"; }
|
||||
if (strlen($fifo_extension) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_extension']."<br>\n"; }
|
||||
//if (strlen($fifo_agent_status) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_agent_status']."<br>\n"; }
|
||||
//if (strlen($fifo_agent_queue) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_agent_queue']."<br>\n"; }
|
||||
if (strlen($fifo_strategy) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_strategy']."<br>\n"; }
|
||||
//if (strlen($fifo_members) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_members']."<br>\n"; }
|
||||
//if (strlen($fifo_timeout_seconds) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_timeout_seconds']."<br>\n"; }
|
||||
//if (strlen($fifo_exit_key) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_exit_key']."<br>\n"; }
|
||||
//if (strlen($fifo_exit_action) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_exit_action']."<br>\n"; }
|
||||
//if (strlen($fifo_music) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_music']."<br>\n"; }
|
||||
if (strlen($domain_uuid) == 0) { $msg .= $text['message-required']." ".$text['label-domain_uuid']."<br>\n"; }
|
||||
if (strlen($fifo_order) == 0) { $msg .= $text['message-required']." ".$text['label-fifo_order']."<br>\n"; }
|
||||
|
|
@ -177,52 +209,115 @@
|
|||
$array['fifo'][0]['fifo_extension'] = $fifo_extension;
|
||||
$array['fifo'][0]['fifo_agent_status'] = $fifo_agent_status;
|
||||
$array['fifo'][0]['fifo_agent_queue'] = $fifo_agent_queue;
|
||||
$array['fifo'][0]['fifo_strategy'] = $fifo_strategy;
|
||||
$array['fifo'][0]['fifo_timeout_seconds'] = $fifo_timeout_seconds;
|
||||
$array['fifo'][0]['fifo_exit_key'] = $fifo_exit_key;
|
||||
$array['fifo'][0]['fifo_exit_action'] = $fifo_exit_action;
|
||||
$array['fifo'][0]['fifo_music'] = $fifo_music;
|
||||
$array['fifo'][0]['fifo_order'] = $fifo_order;
|
||||
$array['fifo'][0]['fifo_enabled'] = $fifo_enabled;
|
||||
$array['fifo'][0]['fifo_description'] = $fifo_description;
|
||||
$y = 0;
|
||||
if (is_array($fifo_members)) {
|
||||
$y = 0;
|
||||
foreach ($fifo_members as $row) {
|
||||
if (!empty($row['member_contact']) && strlen($row['member_contact']) > 0) {
|
||||
$array['fifo'][0]['fifo_members'][$y]['fifo_member_uuid'] = $row["fifo_member_uuid"];
|
||||
$array['fifo'][0]['fifo_members'][$y]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_contact'] = $row["member_contact"];
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_call_timeout'] = $row["member_call_timeout"];
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_call_timeout'] = $row["member_call_timeout"] ?? '20';
|
||||
//$array['fifo'][0]['fifo_members'][$y]['member_simultaneous'] = $row["member_simultaneous"];
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_wrap_up_time'] = $row["member_wrap_up_time"];
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_wrap_up_time'] = $row["member_wrap_up_time"] ?? '10';
|
||||
$array['fifo'][0]['fifo_members'][$y]['member_enabled'] = $row["member_enabled"] ?? 'false';
|
||||
$y++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//send commands for agent login or agent logout
|
||||
if (is_array($fifo_members)) {
|
||||
foreach ($fifo_members as $row) {
|
||||
//empty row skip iteration
|
||||
if (empty($row["member_contact"])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//build the command to add or remove the agent from the FIFO queue
|
||||
if ($row["member_enabled"] == 'true') {
|
||||
$command = "fifo_member add ".$fifo_extension."@".$_SESSION['domain_name']." {fifo_member_wait=nowait}".$row["member_contact"]." 5 ".$row['member_call_timeout']." ".$row['member_wrap_up_time'];
|
||||
}
|
||||
else {
|
||||
$command = "fifo_member del ".$fifo_extension."@".$_SESSION['domain_name']." {fifo_member_wait=nowait}".$row["member_contact"];
|
||||
}
|
||||
|
||||
if ($event_socket->is_connected()) {
|
||||
$response = $event_socket->command('api '.$command);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//get the action destination number
|
||||
if (!empty($fifo_exit_action)) {
|
||||
$fifo_exit_destination = explode(':', $fifo_exit_action)[1];
|
||||
$fifo_exit_destination = explode(' ', $fifo_exit_destination)[0];
|
||||
}
|
||||
|
||||
//add the fifo dialplan
|
||||
if (!empty($fifo_extension)) {
|
||||
//escape the * symbol
|
||||
$fifo_agent_status_xml = str_replace("*", "\*", $fifo_agent_status);
|
||||
$fifo_agent_queue_xml = str_replace("*", "\*", $fifo_agent_queue);
|
||||
|
||||
//prepare the fifo orbit extension
|
||||
if (!empty($fifo_exit_destination) && $fifo_timeout_seconds == 0) {
|
||||
$fifo_orbit_exten = $fifo_exit_destination;
|
||||
}
|
||||
else {
|
||||
$fifo_orbit_exten = $fifo_exit_destination.":".$fifo_timeout_seconds;
|
||||
}
|
||||
|
||||
//build the xml dialplan
|
||||
$dialplan_xml = "<extension name=\"".xml::sanitize($fifo_name)."\" continue=\"false\" uuid=\"".xml::sanitize($dialplan_uuid)."\">\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".xml::sanitize($fifo_extension)."\$\" break=\"on-true\">\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".$fifo_uuid."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_music=".$fifo_music."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".xml::sanitize($fifo_uuid)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_music=".xml::sanitize($fifo_music)."\" inline=\"true\"/>\n";
|
||||
if ($fifo_strategy == 'longest_idle_agent') {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_strategy=waiting_longer\" inline=\"true\"/>\n";
|
||||
}
|
||||
if ($fifo_strategy == 'simultaneous') {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_strategy=more_ppl\" inline=\"true\"/>\n";
|
||||
}
|
||||
/*
|
||||
<action application="set" data="fifo_orbit_dialplan=XML"/>
|
||||
<action application="set" data="fifo_orbit_context=default"/>
|
||||
<action application="set" data="fifo_orbit_announce=digits/6.wav"/>
|
||||
<action application="set" data="fifo_caller_exit_key=2"/>
|
||||
<action application="set" data="fifo_caller_exit_to_orbit=true"/>
|
||||
*/
|
||||
if (!empty($fifo_exit_key)) {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_caller_exit_key=".xml::sanitize($fifo_exit_key)."\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_orbit_dialplan=XML\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_orbit_context=".xml::sanitize($_SESSION['domain_name'])."\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_caller_exit_to_orbit=true\"/>\n";
|
||||
|
||||
}
|
||||
if (!empty($fifo_orbit_exten)) {
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_orbit_exten=".xml::sanitize($fifo_orbit_exten)."\"/>\n";
|
||||
}
|
||||
$dialplan_xml .= " <action application=\"answer\" data=\"\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"fifo\" data=\"$queue_name in\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"fifo\" data=\"".xml::sanitize($queue_name)." in\"/>\n";
|
||||
$dialplan_xml .= " </condition>\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".$fifo_agent_status_xml."\$\" break=\"on-true\">\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".$fifo_uuid."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_name=$queue_name\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".xml::sanitize($fifo_agent_status_xml)."\$\" break=\"on-true\">\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".xml::sanitize($fifo_uuid)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_name=".xml::sanitize($queue_name)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"user_name=\${caller_id_number}@\${domain_name}\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"pin_number=\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"lua\" data=\"app/fifo/resources/scripts/member.lua\"/>\n";
|
||||
$dialplan_xml .= " </condition>\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".$fifo_agent_queue_xml."\$\" break=\"on-true\">\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".$fifo_uuid."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_music=".$fifo_music."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".xml::sanitize($fifo_agent_queue_xml)."\$\" break=\"on-true\">\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_uuid=".xml::sanitize($fifo_uuid)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"set\" data=\"fifo_music=".xml::sanitize($fifo_music)."\" inline=\"true\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"answer\" data=\"\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"fifo\" data=\"$queue_name out wait\"/>\n";
|
||||
$dialplan_xml .= " <action application=\"fifo\" data=\"".xml::sanitize($queue_name)." out wait\"/>\n";
|
||||
$dialplan_xml .= " </condition>\n";
|
||||
$dialplan_xml .= "</extension>\n";
|
||||
|
||||
|
|
@ -247,7 +342,6 @@
|
|||
$p->add("dialplan_edit", "temp");
|
||||
|
||||
//save the data
|
||||
$database = new database;
|
||||
$database->app_name = 'fifo';
|
||||
$database->app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7';
|
||||
$result = $database->save($array);
|
||||
|
|
@ -296,6 +390,10 @@
|
|||
$sql .= " fifo_extension, ";
|
||||
$sql .= " fifo_agent_status, ";
|
||||
$sql .= " fifo_agent_queue, ";
|
||||
$sql .= " fifo_strategy, ";
|
||||
$sql .= " fifo_timeout_seconds, ";
|
||||
$sql .= " fifo_exit_key, ";
|
||||
$sql .= " fifo_exit_action, ";
|
||||
$sql .= " fifo_music, ";
|
||||
$sql .= " domain_uuid, ";
|
||||
$sql .= " fifo_order, ";
|
||||
|
|
@ -306,7 +404,6 @@
|
|||
//$sql .= "and domain_uuid = :domain_uuid ";
|
||||
//$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['fifo_uuid'] = $fifo_uuid;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$dialplan_uuid = $row["dialplan_uuid"];
|
||||
|
|
@ -314,6 +411,10 @@
|
|||
$fifo_extension = $row["fifo_extension"];
|
||||
$fifo_agent_status = $row["fifo_agent_status"];
|
||||
$fifo_agent_queue = $row["fifo_agent_queue"];
|
||||
$fifo_strategy = $row["fifo_strategy"];
|
||||
$fifo_timeout_seconds = $row["fifo_timeout_seconds"];
|
||||
$fifo_exit_key = $row["fifo_exit_key"];
|
||||
$fifo_exit_action = $row["fifo_exit_action"];
|
||||
$fifo_music = $row["fifo_music"];
|
||||
$domain_uuid = $row["domain_uuid"];
|
||||
$fifo_order = $row["fifo_order"];
|
||||
|
|
@ -339,7 +440,6 @@
|
|||
//$sql .= "and domain_uuid = '".$domain_uuid."' ";
|
||||
//$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$parameters['fifo_uuid'] = $fifo_uuid;
|
||||
$database = new database;
|
||||
$fifo_members = $database->select($sql, $parameters, 'all');
|
||||
unset ($sql, $parameters);
|
||||
}
|
||||
|
|
@ -358,16 +458,28 @@
|
|||
$fifo_member_uuid = uuid();
|
||||
}
|
||||
|
||||
//add an empty row
|
||||
$x = isset($fifo_members) && is_array($fifo_members) ? sizeof($fifo_members) : 0;
|
||||
$fifo_members[$x]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$fifo_members[$x]['fifo_uuid'] = $fifo_uuid;
|
||||
$fifo_members[$x]['fifo_member_uuid'] = uuid();
|
||||
$fifo_members[$x]['member_contact'] = '';
|
||||
$fifo_members[$x]['member_call_timeout'] = '';
|
||||
//$fifo_members[$x]['member_simultaneous'] = '';
|
||||
$fifo_members[$x]['member_wrap_up_time'] = '';
|
||||
$fifo_members[$x]['member_enabled'] = '';
|
||||
//add an empty row to the members array
|
||||
if (count($fifo_members) == 0) {
|
||||
$rows = $settings->get('fifo', 'option_add_rows', '5');
|
||||
$id = 0;
|
||||
$show_option_delete = false;
|
||||
}
|
||||
if (count($fifo_members) > 0) {
|
||||
$rows = $settings->get('fifo', 'option_edit_rows', '1');
|
||||
$id = count($fifo_members)+1;
|
||||
$show_option_delete = true;
|
||||
}
|
||||
for ($x = 0; $x < $rows; $x++) {
|
||||
$fifo_members[$id]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$fifo_members[$id]['fifo_uuid'] = $fifo_uuid;
|
||||
$fifo_members[$id]['fifo_member_uuid'] = uuid();
|
||||
$fifo_members[$id]['member_contact'] = '';
|
||||
$fifo_members[$id]['member_call_timeout'] = '';
|
||||
//$fifo_members[$id]['member_simultaneous'] = '';
|
||||
$fifo_members[$id]['member_wrap_up_time'] = '';
|
||||
$fifo_members[$id]['member_enabled'] = '';
|
||||
$id++;
|
||||
}
|
||||
|
||||
//create token
|
||||
$object = new token;
|
||||
|
|
@ -377,11 +489,14 @@
|
|||
$destination = new destinations;
|
||||
|
||||
//set the defaults
|
||||
if (empty($fifo_timeout_seconds)) {
|
||||
$fifo_timeout_seconds = 0;
|
||||
}
|
||||
if (empty($fifo_order)) {
|
||||
$fifo_order = 50;
|
||||
}
|
||||
if (!isset($fifo_enabled)) {
|
||||
// $fifo_enabled = true;
|
||||
if (empty($fifo_enabled)) {
|
||||
$fifo_enabled = true;
|
||||
}
|
||||
|
||||
//show the header
|
||||
|
|
@ -422,7 +537,7 @@
|
|||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo "<td width='30%' class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_name']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' style='position: relative;' align='left'>\n";
|
||||
|
|
@ -465,6 +580,20 @@
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncellreq' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-strategy']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <select class='formfld' name='fifo_strategy' onchange=\"getElementById('destination_delayorder').innerHTML = (this.selectedIndex == 1 || this.selectedIndex == 3) ? '".$text['label-destination_order']."' : '".$text['label-destination_delay']."';\">\n";
|
||||
echo " <option value='longest_idle_agent' ".(($fifo_strategy == "'option-longest_idle_agent") ? "selected='selected'" : null).">".$text['option-longest_idle_agent']."</option>\n";
|
||||
echo " <option value='simultaneous' ".(($fifo_strategy == "simultaneous") ? "selected='selected'" : null).">".$text['option-simultaneous']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-strategy']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_members']."\n";
|
||||
|
|
@ -477,7 +606,7 @@
|
|||
//echo " <th class='vtablereq'>".$text['label-member_simultaneous']."</th>\n";
|
||||
echo " <th class='vtablereq'>".$text['label-member_wrap_up_time']."</th>\n";
|
||||
echo " <th class='vtablereq'>".$text['label-member_enabled']."</th>\n";
|
||||
if (is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) {
|
||||
if ($show_option_delete && is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) {
|
||||
echo " <td class='vtable edit_delete_checkbox_all' onmouseover=\"swap_display('delete_label_details', 'delete_toggle_details');\" onmouseout=\"swap_display('delete_label_details', 'delete_toggle_details');\">\n";
|
||||
echo " <span id='delete_label_details'>".$text['label-delete']."</span>\n";
|
||||
echo " <span id='delete_toggle_details'><input type='checkbox' id='checkbox_all_details' name='checkbox_all' onclick=\"edit_all_toggle('details'); checkbox_on_change(this);\"></span>\n";
|
||||
|
|
@ -523,7 +652,7 @@
|
|||
echo " </select>\n";
|
||||
}
|
||||
echo " </td>\n";
|
||||
if (is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) {
|
||||
if ($show_option_delete && is_array($fifo_members) && @sizeof($fifo_members) > 1 && permission_exists('fifo_member_delete')) {
|
||||
if (is_uuid($row['fifo_member_uuid'])) {
|
||||
echo " <td class='vtable' style='text-align: center; padding-bottom: 3px;'>\n";
|
||||
echo " <input type='checkbox' name='fifo_members[".$x."][checked]' value='true' class='chk_delete checkbox_details' onclick=\"checkbox_on_change(this);\">\n";
|
||||
|
|
@ -543,16 +672,47 @@
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_timeout_seconds']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' style='position: relative;' align='left'>\n";
|
||||
echo " <input class='formfld' type='text' name='fifo_timeout_seconds' maxlength='255' value='".escape($fifo_timeout_seconds)."'>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-fifo_timeout_seconds']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_exit_key']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' style='position: relative;' align='left'>\n";
|
||||
echo " <input class='formfld' type='text' name='fifo_exit_key' maxlength='255' value='".escape($fifo_exit_key)."'>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-fifo_exit_key']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_exit_action']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' style='position: relative;' align='left'>\n";
|
||||
$destination = new destinations;
|
||||
echo $destination->select('dialplan', 'fifo_exit_action', $fifo_exit_action);
|
||||
echo "<br />\n";
|
||||
echo $text['description-fifo_exit_action']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-fifo_music']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' style='position: relative;' align='left'>\n";
|
||||
//echo " <input class='formfld' type='text' name='fifo_music' maxlength='255' value='".escape($fifo_music)."'>\n";
|
||||
|
||||
$ringbacks = new ringbacks;
|
||||
echo $ringbacks->select('fifo_music', $fifo_music ?? null);
|
||||
|
||||
echo "<br />\n";
|
||||
echo $text['description-fifo_music']."\n";
|
||||
echo "</td>\n";
|
||||
|
|
|
|||
|
|
@ -2,12 +2,7 @@
|
|||
|
||||
/**
|
||||
* fifo class
|
||||
*
|
||||
* @method null delete
|
||||
* @method null toggle
|
||||
* @method null copy
|
||||
*/
|
||||
if (!class_exists('fifo')) {
|
||||
class fifo {
|
||||
|
||||
/**
|
||||
|
|
@ -283,6 +278,3 @@ if (!class_exists('fifo')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
$show = !empty($_GET["show"]) ? $_GET["show"] : '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//get total gateway count from the database
|
||||
$sql = "select count(*) from v_gateways where true ";
|
||||
|
|
@ -278,7 +278,7 @@
|
|||
echo th_order_by('hostname', $text['label-hostname'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('gateway_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('gateway_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -286,8 +286,12 @@
|
|||
if (!empty($gateways)) {
|
||||
$x = 0;
|
||||
foreach($gateways as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('gateway_edit')) {
|
||||
$list_row_url = "gateway_edit.php?id=".urlencode($row['gateway_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('gateway_add') || permission_exists('gateway_edit') || permission_exists('gateway_delete')) {
|
||||
|
|
@ -367,9 +371,9 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row["description"])." </td>\n";
|
||||
if (permission_exists('gateway_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('gateway_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$list_row_edit_button,'link'=>$list_row_url]);
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -391,3 +395,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the gateways class
|
||||
if (!class_exists('gateways')) {
|
||||
class gateways {
|
||||
|
||||
/**
|
||||
|
|
@ -583,6 +582,3 @@ if (!class_exists('gateways')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -349,7 +349,7 @@
|
|||
$dialplan_xml = "<extension name=\"".xml::sanitize($ivr_menu_name)."\" continue=\"false\" uuid=\"".xml::sanitize($dialplan_uuid)."\">\n";
|
||||
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".xml::sanitize($ivr_menu_extension)."\$\">\n";
|
||||
$dialplan_xml .= " <action application=\"ring_ready\" data=\"\"/>\n";
|
||||
if ($_SESSION['ivr_menu']['answer']['boolean'] == 'true') {
|
||||
if (filter_var($_SESSION['ivr_menu']['answer']['boolean'] ?? false, FILTER_VALIDATE_BOOL)) {
|
||||
$dialplan_xml .= " <action application=\"answer\" data=\"\"/>\n";
|
||||
}
|
||||
$dialplan_xml .= " <action application=\"sleep\" data=\"1000\"/>\n";
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
$show = $_GET["show"] ?? '';
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//prepare to page the results
|
||||
$sql = "select count(*) from v_ivr_menus ";
|
||||
|
|
@ -228,7 +228,7 @@
|
|||
echo th_order_by('ivr_menu_extension', $text['label-extension'], $order_by, $order);
|
||||
echo th_order_by('ivr_menu_enabled', $text['label-enabled'], $order_by, $order, null, "class='center'");
|
||||
echo th_order_by('ivr_menu_description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'");
|
||||
if (permission_exists('ivr_menu_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('ivr_menu_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -236,8 +236,12 @@
|
|||
if (!empty($ivr_menus)) {
|
||||
$x = 0;
|
||||
foreach($ivr_menus as $row) {
|
||||
$list_row_url = '';
|
||||
if (permission_exists('ivr_menu_edit')) {
|
||||
$list_row_url = "ivr_menu_edit.php?id=".urlencode($row['ivr_menu_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('ivr_menu_add') || permission_exists('ivr_menu_edit') || permission_exists('ivr_menu_delete')) {
|
||||
|
|
@ -274,7 +278,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row['ivr_menu_description'])." </td>\n";
|
||||
if (permission_exists('ivr_menu_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('ivr_menu_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -298,3 +302,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the ivr_menu class
|
||||
if (!class_exists('ivr_menu')) {
|
||||
class ivr_menu {
|
||||
|
||||
/**
|
||||
|
|
@ -489,6 +488,3 @@ if (!class_exists('ivr_menu')) {
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
//includes files
|
||||
require_once dirname(__DIR__, 2) . "/resources/require.php";
|
||||
require_once "resources/check_auth.php";
|
||||
require_once "resources/classes/waveform.php";
|
||||
|
||||
use maximal\audio\Waveform;
|
||||
|
||||
|
|
@ -96,8 +95,8 @@
|
|||
Waveform::$colorB = !empty($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_b_leg']['text']) : [0,125,232,0.6]; // array rgba, right (b-leg) wave color
|
||||
Waveform::$backgroundColor = !empty($_SESSION['theme']['audio_player_waveform_color_background']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_background']['text']) : [0,0,0,0]; // array rgba, default: transparent
|
||||
Waveform::$axisColor = !empty($_SESSION['theme']['audio_player_waveform_color_axis']['text']) ? color_to_rgba_array($_SESSION['theme']['audio_player_waveform_color_axis']['text']) : [0,0,0,0.3]; // array rgba
|
||||
Waveform::$singlePhase = empty($_SESSION['theme']['audio_player_waveform_single_phase']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] !== 'true' ? false : true; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = empty($_SESSION['theme']['audio_player_waveform_single_axis']['boolean']) || $_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] !== 'false' ? true : false; // combine channels into single axis
|
||||
Waveform::$singlePhase = filter_var($_SESSION['theme']['audio_player_waveform_single_phase']['boolean'] ?? false, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // positive phase only - left (a-leg) top, right (b-leg) bottom
|
||||
Waveform::$singleAxis = filter_var($_SESSION['theme']['audio_player_waveform_single_axis']['boolean'] ?? true, FILTER_VALIDATE_BOOL) ? 'true': 'false'; // combine channels into single axis
|
||||
$height = !empty($_SESSION['theme']['audio_player_waveform_height']['text']) && is_numeric(str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text'])) ? 2.2 * (int) str_replace('px','',$_SESSION['theme']['audio_player_waveform_height']['text']) : null;
|
||||
$wf = $waveform->getWaveform($temp_filename, 1600, $height ?? 180); // input: png filename returns boolean true/false, or 'base64' returns base64 string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -205,6 +205,7 @@
|
|||
echo " <div style='clear: both;'></div>\n";
|
||||
echo "</div>\n";
|
||||
|
||||
echo "<div class='card'>\n";
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
|
|
@ -297,6 +298,7 @@
|
|||
echo "</tr>\n";
|
||||
|
||||
echo "</table>";
|
||||
echo "</div>";
|
||||
echo "<br><br>";
|
||||
|
||||
if ($action == "update") {
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
}
|
||||
|
||||
//set from session variables
|
||||
$list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false';
|
||||
$list_row_edit_button = filter_var($_SESSION['theme']['list_row_edit_button']['boolean'] ?? false, FILTER_VALIDATE_BOOL);
|
||||
|
||||
//process the http post data by action
|
||||
if ($action != '' && is_array($modules) && @sizeof($modules) != 0) {
|
||||
|
|
@ -185,7 +185,7 @@
|
|||
}
|
||||
echo "<th class='center'>".$text['label-enabled']."</th>\n";
|
||||
echo "<th class='hide-sm-dn' style='min-width: 40%;'>".$text['label-description']."</th>\n";
|
||||
if (permission_exists('module_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('module_edit') && $list_row_edit_button) {
|
||||
echo "<td class='action-button'> </td>\n";
|
||||
}
|
||||
echo "</tr>\n";
|
||||
|
|
@ -202,8 +202,12 @@
|
|||
echo "</tr>\n";
|
||||
write_header($row["module_category"]);
|
||||
}
|
||||
$list_row_url = '';
|
||||
if (permission_exists('module_edit')) {
|
||||
$list_row_url = "module_edit.php?id=".urlencode($row['module_uuid']);
|
||||
if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) {
|
||||
$list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true';
|
||||
}
|
||||
}
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
if (permission_exists('module_edit') || permission_exists('module_delete')) {
|
||||
|
|
@ -257,7 +261,7 @@
|
|||
}
|
||||
echo " </td>\n";
|
||||
echo " <td class='description overflow hide-sm-dn'>".escape($row["module_description"])." </td>\n";
|
||||
if (permission_exists('module_edit') && $list_row_edit_button == 'true') {
|
||||
if (permission_exists('module_edit') && $list_row_edit_button) {
|
||||
echo " <td class='action-button'>";
|
||||
echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]);
|
||||
echo " </td>\n";
|
||||
|
|
@ -283,3 +287,4 @@
|
|||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
//define the modules class
|
||||
if (!class_exists('modules')) {
|
||||
class modules {
|
||||
|
||||
/**
|
||||
|
|
@ -1101,10 +1100,8 @@ if (!class_exists('modules')) {
|
|||
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
/*
|
||||
require_once "resources/classes/modules.php";
|
||||
$mod = new modules;
|
||||
$mod->dir = $_SESSION['switch']['mod']['dir'];
|
||||
echo $mod->dir."\n";
|
||||
|
|
@ -1138,5 +1135,3 @@ echo $mod->dir."\n";
|
|||
//print_r($result);
|
||||
//echo "</pre>\n";
|
||||
*/
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -308,7 +308,6 @@
|
|||
$cache = new cache;
|
||||
$cache->delete("configuration:local_stream.conf");
|
||||
|
||||
//require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
||||
$music = new switch_music_on_hold;
|
||||
$music->reload();
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
*/
|
||||
|
||||
//define the switch_music_on_hold class
|
||||
if (!class_exists('switch_music_on_hold')) {
|
||||
class switch_music_on_hold {
|
||||
|
||||
/**
|
||||
|
|
@ -85,7 +84,6 @@ if (!class_exists('switch_music_on_hold')) {
|
|||
}
|
||||
//recordings
|
||||
if (is_dir($_SERVER["PROJECT_ROOT"].'/app/recordings')) {
|
||||
require_once "app/recordings/resources/classes/switch_recordings.php";
|
||||
$recordings_c = new switch_recordings;
|
||||
$recordings = $recordings_c->list_recordings();
|
||||
if (is_array($recordings) && sizeof($recordings) > 0) {
|
||||
|
|
@ -447,12 +445,9 @@ if (!class_exists('switch_music_on_hold')) {
|
|||
} //method
|
||||
|
||||
} //class
|
||||
}
|
||||
|
||||
|
||||
//build and save the XML
|
||||
//require_once "app/music_on_hold/resources/classes/switch_music_on_hold.php";
|
||||
//$moh = new switch_music_on_hold;
|
||||
//$moh->xml();
|
||||
//$moh->save();
|
||||
|
||||
?>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue