diff --git a/app/domain_limits/resources/dashboard/domain_limits.php b/app/domain_limits/resources/dashboard/domain_limits.php index acf01eea2f..5537dc166f 100644 --- a/app/domain_limits/resources/dashboard/domain_limits.php +++ b/app/domain_limits/resources/dashboard/domain_limits.php @@ -1,4 +1,28 @@ + Portions created by the Initial Developer are Copyright (C) 2017-2023 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ //set the include path $conf = glob("{/usr/local/etc,/etc}/fusionpbx/config.conf", GLOB_BRACE); @@ -6,9 +30,9 @@ //includes files require_once "resources/require.php"; + require_once "resources/check_auth.php"; //check permisions - require_once "resources/check_auth.php"; if (permission_exists('xml_cdr_view')) { //access granted } @@ -26,146 +50,186 @@ $database = new database; } +//clear initial stat + unset($hud_stat); + //domain limits if (is_array($_SESSION['limit']) && sizeof($_SESSION['limit']) > 0) { - echo "
\n"; - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - $show_stat = true; - if (permission_exists('extension_view')) { - $sql = "select count(extension_uuid) from v_extensions "; - $sql .= "where domain_uuid = :domain_uuid "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $extension_total = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); + //set the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; - $onclick = "onclick=\"document.location.href='".PROJECT_PATH."/app/extensions/extensions.php'\""; - $hud_stat = $extension_total; - $hud_stat_title = $text['label-total_extensions']; - } - else if (permission_exists('destination_view')) { - $sql = "select count(destination_uuid) from v_destinations "; - $sql .= "where domain_uuid = :domain_uuid "; - $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $destination_total = $database->select($sql, $parameters, 'column'); - unset($sql, $parameters); + //caller id + echo "
\n"; - $onclick = "onclick=\"document.location.href='".PROJECT_PATH."/app/destinations/destinations.php'\""; - $hud_stat = $destination_total; - $hud_stat_title = $text['label-total_destinations']; - } - else { - $show_stat = false; - } - - if ($show_stat) { - //add doughnut chart - ?> -
-
- -
-
-
- - - "; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - foreach ($_SESSION['limit'] as $category => $value) { - $limit = $value['numeric']; - switch ($category) { - case 'users': - if (!permission_exists('user_view')) { continue 2; } - $url = '/core/users/users.php'; - break; - case 'call_center_queues': - if (!permission_exists('call_center_active_view')) { continue 2; } - $url = '/app/call_centers/call_center_queues.php'; - break; - case 'destinations': - if (!permission_exists('destination_view')) { continue 2; } - $url = '/app/destinations/destinations.php'; - break; - case 'devices': - if (!permission_exists('device_view')) { continue 2; } - $url = '/app/devices/devices.php'; - break; - case 'extensions': - if (!permission_exists('extension_view')) { continue 2; } - $url = '/app/extensions/extensions.php'; - break; - case 'gateways': - if (!permission_exists('gateway_view')) { continue 2; } - $url = '/app/gateways/gateways.php'; - break; - case 'ivr_menus': - if (!permission_exists('ivr_menu_view')) { continue 2; } - $url = '/app/ivr_menus/ivr_menus.php'; - break; - case 'ring_groups': - if (!permission_exists('ring_group_view')) { continue 2; } - $url = '/app/ring_groups/ring_groups.php'; - break; + //determine stats + if (permission_exists('user_view')) { + $sql_select[] = "(select count(user_uuid) from v_users where domain_uuid = :domain_uuid) as users"; } - $tr_link = "href='".PROJECT_PATH.$url."'"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + if (permission_exists('call_center_active_view')) { + $sql_select[] = "(select count(call_center_queue_uuid) from v_call_center_queues where domain_uuid = :domain_uuid) as call_center_queues"; + } + if (permission_exists('destination_view')) { + $sql_select[] = "(select count(destination_uuid) from v_destinations where domain_uuid = :domain_uuid) as destinations"; + } + if (permission_exists('device_view')) { + $sql_select[] = "(select count(device_uuid) from v_devices where domain_uuid = :domain_uuid) as devices"; + } + if (permission_exists('extension_view')) { + $sql_select[] = "(select count(extension_uuid) from v_extensions where domain_uuid = :domain_uuid) as extensions"; + } + if (permission_exists('gateway_view')) { + $sql_select[] = "(select count(gateway_uuid) from v_gateways where domain_uuid = :domain_uuid) as gateways"; + } + if (permission_exists('ivr_menu_view')) { + $sql_select[] = "(select count(ivr_menu_uuid) from v_ivr_menus where domain_uuid = :domain_uuid) as ivr_menus"; + } + if (permission_exists('ring_group_view')) { + $sql_select[] = "(select count(ring_group_uuid) from v_ring_groups where domain_uuid = :domain_uuid) as ring_groups"; + } + if (is_array($sql_select) && @sizeof($sql_select) != 0) { + $sql = "select ".implode(', ', $sql_select)." limit 1"; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + $usage = $database->select($sql, $parameters, 'row'); + unset($sql, $parameters); + } + + //determine chart data + if (permission_exists('extension_view')) { + $onclick = "onclick=\"document.location.href='".PROJECT_PATH."/app/extensions/extensions.php'\""; + $hud_stat_used = $usage['extensions']; + $hud_stat_remaining = $_SESSION['limit']['extensions']['numeric'] - $usage['extensions']; + $hud_stat_title = $text['label-extensions']; + } + else if (permission_exists('destination_view')) { + $onclick = "onclick=\"document.location.href='".PROJECT_PATH."/app/destinations/destinations.php'\""; + $hud_stat_used = $usage['destinations']; + $hud_stat_remaining = $_SESSION['limit']['destinations']['numeric'] - $usage['destinations']; + $hud_stat_title = $text['label-destinations']; + } + + //doughnut chart + echo "
\n"; + echo "
\n"; + echo "
\n"; + + echo "\n"; + + //details + echo "
"; + + echo "
".$text['label-feature']."".$text['label-used']."".$text['label-total']."
".$text['label-'.$category]."".$stats['domain'][$category]['total']."".$limit."
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; echo "\n"; - $c = ($c) ? 0 : 1; - } - echo "
".$text['label-feature']."".$text['label-used']."".$text['label-total']."
\n"; - echo "
"; - $n++; + //data + foreach ($_SESSION['limit'] as $category => $value) { + $used = $usage[$category]; + $limit = $value['numeric']; + switch ($category) { + case 'users': + if (!permission_exists('user_view')) { continue 2; } + $url = '/core/users/users.php'; + break; + case 'call_center_queues': + if (!permission_exists('call_center_active_view')) { continue 2; } + $url = '/app/call_centers/call_center_queues.php'; + break; + case 'destinations': + if (!permission_exists('destination_view')) { continue 2; } + $url = '/app/destinations/destinations.php'; + break; + case 'devices': + if (!permission_exists('device_view')) { continue 2; } + $url = '/app/devices/devices.php'; + break; + case 'extensions': + if (!permission_exists('extension_view')) { continue 2; } + $url = '/app/extensions/extensions.php'; + break; + case 'gateways': + if (!permission_exists('gateway_view')) { continue 2; } + $url = '/app/gateways/gateways.php'; + break; + case 'ivr_menus': + if (!permission_exists('ivr_menu_view')) { continue 2; } + $url = '/app/ivr_menus/ivr_menus.php'; + break; + case 'ring_groups': + if (!permission_exists('ring_group_view')) { continue 2; } + $url = '/app/ring_groups/ring_groups.php'; + break; + } + $tr_link = "href='".PROJECT_PATH.$url."'"; + echo "\n"; + echo "".$text['label-'.$category]."\n"; + echo "".$used."\n"; + echo "".$limit."\n"; + echo "\n"; + $c = ($c) ? 0 : 1; + } - echo ""; - echo "
\n"; + echo "\n"; + echo ""; + $n++; + + echo ""; + echo "\n"; } -?> +?> \ No newline at end of file diff --git a/resources/app_languages.php b/resources/app_languages.php index 3555010a1d..9808b4e360 100644 --- a/resources/app_languages.php +++ b/resources/app_languages.php @@ -2731,6 +2731,27 @@ $text['label-type']['sv-se'] = "Typ"; $text['label-type']['uk-ua'] = "Тип"; $text['label-type']['tr-tr'] = "Tür"; +$text['label-remaining']['en-us'] = "Remaining"; +$text['label-remaining']['en-gb'] = "Remaining"; +$text['label-remaining']['ar-eg'] = "Remaining"; +$text['label-remaining']['de-at'] = "Remaining"; +$text['label-remaining']['de-ch'] = "Remaining"; +$text['label-remaining']['de-de'] = "Remaining"; +$text['label-remaining']['es-cl'] = "Remaining"; +$text['label-remaining']['es-mx'] = "Remaining"; +$text['label-remaining']['fr-ca'] = "Remaining"; +$text['label-remaining']['fr-fr'] = "Remaining"; +$text['label-remaining']['he-il'] = "Remaining"; +$text['label-remaining']['it-it'] = "Remaining"; +$text['label-remaining']['nl-nl'] = "Remaining"; +$text['label-remaining']['pl-pl'] = "Remaining"; +$text['label-remaining']['pt-br'] = "Remaining"; +$text['label-remaining']['pt-pt'] = "Remaining"; +$text['label-remaining']['ro-ro'] = "Remaining"; +$text['label-remaining']['ru-ru'] = "Remaining"; +$text['label-remaining']['sv-se'] = "Remaining"; +$text['label-remaining']['uk-ua'] = "Remaining"; + $text['label-category']['en-us'] = "Category"; $text['label-category']['en-gb'] = "Category"; $text['label-category']['ar-eg'] = "";