Dashboard - Add chart type setting (#6951)

* Dashboard - Add chart type setting
This commit is contained in:
Alex 2024-04-18 15:57:45 -07:00 committed by GitHub
parent 07ff90f97c
commit 808e2cbe66
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 765 additions and 611 deletions

View File

@ -102,96 +102,99 @@
//begin widget //begin widget
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
//doughnut chart echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_call_forward_details').slideToggle('fast');\">\n";
echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_call_forward_details').slideToggle('fast');\">\n"; echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";'>".$text['header-call_forward']."</span>\n";
echo " <div style='width: 275px; height: 175px;'><canvas id='call_forward_chart'></canvas></div>\n";
echo "</div>\n";
echo "<script>\n"; //doughnut chart
echo " const call_forward_chart = new Chart(\n"; if ($dashboard_chart_type == "doughnut") {
echo " document.getElementById('call_forward_chart').getContext('2d'),\n"; echo "<div style='width: 275px; height: 143px;'><canvas id='call_forward_chart'></canvas></div>\n";
echo " {\n";
echo " type: 'doughnut',\n"; echo "<script>\n";
echo " data: {\n"; echo " const call_forward_chart = new Chart(\n";
echo " labels: [\n"; echo " document.getElementById('call_forward_chart').getContext('2d'),\n";
if (permission_exists('do_not_disturb')) { echo " {\n";
echo " '".$text['label-dnd'].": ".$stats['dnd']."',\n"; echo " type: 'doughnut',\n";
echo " data: {\n";
echo " labels: [\n";
if (permission_exists('do_not_disturb')) {
echo " '".$text['label-dnd'].": ".$stats['dnd']."',\n";
}
if (permission_exists('follow_me')) {
echo " '".$text['label-follow_me'].": ".$stats['follow_me']."',\n";
}
if (permission_exists('call_forward')) {
echo " '".$text['label-call_forward'].": ".$stats['call_forward']."',\n";
}
echo " '".$text['label-active'].": ".$stats['active']."',\n";
echo " ],\n";
echo " datasets: [{\n";
echo " data: [\n";
if (permission_exists('do_not_disturb')) {
echo " '".$stats['dnd']."',\n";
}
if (permission_exists('follow_me')) {
echo " '".$stats['follow_me']."',\n";
}
if (permission_exists('call_forward')) {
echo " '".$stats['call_forward']."',\n";
}
echo " '".$stats['active']."',\n";
echo " 0.00001,\n";
echo " ],\n";
echo " backgroundColor: [\n";
if (permission_exists('do_not_disturb')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_do_not_disturb']['text']."',\n";
}
if (permission_exists('follow_me')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_follow_me']['text']."',\n";
}
if (permission_exists('call_forward')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_call_forward']['text']."',\n";
}
echo " '".$_SESSION['dashboard']['call_forward_chart_color_active']['text']."',\n";
echo " '".$_SESSION['dashboard']['call_forward_chart_color_active']['text']."',\n";
echo " ],\n";
echo " borderColor: '".$_SESSION['dashboard']['call_forward_chart_border_color']['text']."',\n";
echo " borderWidth: '".$_SESSION['dashboard']['call_forward_chart_border_width']['text']."',\n";
echo " }]\n";
echo " },\n";
echo " options: {\n";
echo " plugins: {\n";
echo " chart_number: {\n";
echo " text: '".$stats['call_forward']."'\n";
echo " },\n";
echo " legend: {\n";
echo " display: true,\n";
echo " position: 'right',\n";
echo " reverse: true,\n";
echo " labels: {\n";
echo " usePointStyle: true,\n";
echo " pointStyle: 'rect',\n";
echo " color: '".$dashboard_heading_text_color."'\n";
echo " }\n";
echo " }\n";
echo " }\n";
echo " },\n";
echo " plugins: [{\n";
echo " id: 'chart_number',\n";
echo " beforeDraw(chart, args, options){\n";
echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n";
echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n";
echo " ctx.textBaseline = 'middle';\n";
echo " ctx.textAlign = 'center';\n";
echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n";
echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n";
echo " ctx.save();\n";
echo " }\n";
echo " }]\n";
echo " }\n";
echo " );\n";
echo "</script>\n";
} }
if (permission_exists('follow_me')) { if ($dashboard_chart_type == "none") {
echo " '".$text['label-follow_me'].": ".$stats['follow_me']."',\n"; echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$stats['call_forward']."</span>";
} }
if (permission_exists('call_forward')) { echo " </div>\n";
echo " '".$text['label-call_forward'].": ".$stats['call_forward']."',\n";
}
echo " '".$text['label-active'].": ".$stats['active']."',\n";
echo " ],\n";
echo " datasets: [{\n";
echo " data: [\n";
if (permission_exists('do_not_disturb')) {
echo " '".$stats['dnd']."',\n";
}
if (permission_exists('follow_me')) {
echo " '".$stats['follow_me']."',\n";
}
if (permission_exists('call_forward')) {
echo " '".$stats['call_forward']."',\n";
}
echo " '".$stats['active']."',\n";
echo " 0.00001,\n";
echo " ],\n";
echo " backgroundColor: [\n";
if (permission_exists('do_not_disturb')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_do_not_disturb']['text']."',\n";
}
if (permission_exists('follow_me')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_follow_me']['text']."',\n";
}
if (permission_exists('call_forward')) {
echo " '".$_SESSION['dashboard']['call_forward_chart_color_call_forward']['text']."',\n";
}
echo " '".$_SESSION['dashboard']['call_forward_chart_color_active']['text']."',\n";
echo " '".$_SESSION['dashboard']['call_forward_chart_color_active']['text']."',\n";
echo " ],\n";
echo " borderColor: '".$_SESSION['dashboard']['call_forward_chart_border_color']['text']."',\n";
echo " borderWidth: '".$_SESSION['dashboard']['call_forward_chart_border_width']['text']."',\n";
echo " }]\n";
echo " },\n";
echo " options: {\n";
echo " plugins: {\n";
echo " chart_number: {\n";
echo " text: '".$stats['call_forward']."'\n";
echo " },\n";
echo " legend: {\n";
echo " display: true,\n";
echo " position: 'right',\n";
echo " reverse: true,\n";
echo " labels: {\n";
echo " usePointStyle: true,\n";
echo " pointStyle: 'rect',\n";
echo " color: '".$dashboard_heading_text_color."'\n";
echo " }\n";
echo " },\n";
echo " title: {\n";
echo " text: '".$text['header-call_forward']."',\n";
echo " color: '".$dashboard_heading_text_color."'\n";
echo " }\n";
echo " }\n";
echo " },\n";
echo " plugins: [{\n";
echo " id: 'chart_number',\n";
echo " beforeDraw(chart, args, options){\n";
echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n";
echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n";
echo " ctx.textBaseline = 'middle';\n";
echo " ctx.textAlign = 'center';\n";
echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n";
echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n";
echo " ctx.save();\n";
echo " }\n";
echo " }]\n";
echo " }\n";
echo " );\n";
echo "</script>\n";
//details //details
echo "<div class='hud_details hud_box' id='hud_call_forward_details'>"; echo "<div class='hud_details hud_box' id='hud_call_forward_details'>";

View File

@ -110,70 +110,73 @@
$hud_stat_title = $text['label-destinations']; $hud_stat_title = $text['label-destinations'];
} }
//doughnut chart echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_domain_limits_details').slideToggle('fast');\">\n";
echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_domain_limits_details').slideToggle('fast');\">\n"; echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";'>".$text['label-domain_limits']."</span>\n";
echo " <div style='width: 275px; height: 175px;'><canvas id='domain_limits_chart'></canvas></div>\n";
echo "</div>\n";
echo "<script>\n"; //doughnut chart
echo " const domain_limits_chart = new Chart(\n"; if ($dashboard_chart_type == "doughnut") {
echo " document.getElementById('domain_limits_chart').getContext('2d'),\n"; echo "<div style='width: 275px; height: 143px;'><canvas id='domain_limits_chart'></canvas></div>\n";
echo " {\n";
echo " type: 'doughnut',\n"; echo "<script>\n";
echo " data: {\n"; echo " const domain_limits_chart = new Chart(\n";
echo " labels: [\n"; echo " document.getElementById('domain_limits_chart').getContext('2d'),\n";
echo " '".$hud_stat_title.": ".$hud_stat_used."',\n"; echo " {\n";
echo " '".$text['label-remaining'].": ".$hud_stat_remaining."',\n"; echo " type: 'doughnut',\n";
echo " ],\n"; echo " data: {\n";
echo " datasets: [{\n"; echo " labels: [\n";
echo " data: [\n"; echo " '".$hud_stat_title.": ".$hud_stat_used."',\n";
echo " '".$hud_stat_used."',\n"; echo " '".$text['label-remaining'].": ".$hud_stat_remaining."',\n";
echo " '".$hud_stat_remaining."',\n"; echo " ],\n";
echo " 0.00001,\n"; echo " datasets: [{\n";
echo " ],\n"; echo " data: [\n";
echo " backgroundColor: [\n"; echo " '".$hud_stat_used."',\n";
echo " '".$_SESSION['dashboard']['domain_limits_chart_color_used']['text']."',\n"; echo " '".$hud_stat_remaining."',\n";
echo " '".$_SESSION['dashboard']['domain_limits_chart_color_remaining']['text']."',\n"; echo " 0.00001,\n";
echo " ],\n"; echo " ],\n";
echo " borderColor: '".$_SESSION['dashboard']['domain_limits_chart_border_color']['text']."',\n"; echo " backgroundColor: [\n";
echo " borderWidth: '".$_SESSION['dashboard']['domain_limits_chart_border_width']['text']."',\n"; echo " '".$_SESSION['dashboard']['domain_limits_chart_color_used']['text']."',\n";
echo " }]\n"; echo " '".$_SESSION['dashboard']['domain_limits_chart_color_remaining']['text']."',\n";
echo " },\n"; echo " ],\n";
echo " options: {\n"; echo " borderColor: '".$_SESSION['dashboard']['domain_limits_chart_border_color']['text']."',\n";
echo " plugins: {\n"; echo " borderWidth: '".$_SESSION['dashboard']['domain_limits_chart_border_width']['text']."',\n";
echo " chart_number: {\n"; echo " }]\n";
echo " text: '".$hud_stat_used."'\n"; echo " },\n";
echo " },\n"; echo " options: {\n";
echo " legend: {\n"; echo " plugins: {\n";
echo " display: true,\n"; echo " chart_number: {\n";
echo " position: 'right',\n"; echo " text: '".$hud_stat_used."'\n";
echo " reverse: false,\n"; echo " },\n";
echo " labels: {\n"; echo " legend: {\n";
echo " usePointStyle: true,\n"; echo " display: true,\n";
echo " pointStyle: 'rect'\n"; echo " position: 'right',\n";
echo " }\n"; echo " reverse: false,\n";
echo " },\n"; echo " labels: {\n";
echo " title: {\n"; echo " usePointStyle: true,\n";
echo " text: '".$text['label-domain_limits']."',\n"; echo " pointStyle: 'rect'\n";
echo " color: '".$dashboard_heading_text_color."'\n"; echo " }\n";
echo " }\n"; echo " }\n";
echo " }\n"; echo " }\n";
echo " },\n"; echo " },\n";
echo " plugins: [{\n"; echo " plugins: [{\n";
echo " id: 'chart_number',\n"; echo " id: 'chart_number',\n";
echo " beforeDraw(chart, args, options){\n"; echo " beforeDraw(chart, args, options){\n";
echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n"; echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n";
echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n"; echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n";
echo " ctx.textBaseline = 'middle';\n"; echo " ctx.textBaseline = 'middle';\n";
echo " ctx.textAlign = 'center';\n"; echo " ctx.textAlign = 'center';\n";
echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n"; echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n";
echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n"; echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n";
echo " ctx.save();\n"; echo " ctx.save();\n";
echo " }\n"; echo " }\n";
echo " }]\n"; echo " }]\n";
echo " }\n"; echo " }\n";
echo " );\n"; echo " );\n";
echo "</script>\n"; echo "</script>\n";
}
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$hud_stat_used."</span>";
}
echo " </div>\n";
//details //details
echo "<div class='hud_details hud_box' id='hud_domain_limits_details'>"; echo "<div class='hud_details hud_box' id='hud_domain_limits_details'>";

View File

@ -173,71 +173,74 @@
//caller id //caller id
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
//doughnut chart echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_caller_id_details').slideToggle('fast');\">\n";
echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_caller_id_details').slideToggle('fast');\">\n"; echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";'>".$text['label-caller_id_number']."</span>\n";
echo " <div style='width: 275px; height: 175px;'><canvas id='caller_id_chart'></canvas></div>\n";
echo "</div>\n";
echo "<script>\n"; //doughnut chart
echo " const caller_id_chart = new Chart(\n"; if ($dashboard_chart_type == "doughnut") {
echo " document.getElementById('caller_id_chart').getContext('2d'),\n"; echo "<div style='width: 275px; height: 143px;'><canvas id='caller_id_chart'></canvas></div>\n";
echo " {\n";
echo " type: 'doughnut',\n"; echo "<script>\n";
echo " data: {\n"; echo " const caller_id_chart = new Chart(\n";
echo " labels: [\n"; echo " document.getElementById('caller_id_chart').getContext('2d'),\n";
echo " '".$text['label-defined'].": ".$stats['defined']."',\n"; echo " {\n";
echo " '".$text['label-undefined'].": ".$stats['undefined']."',\n"; echo " type: 'doughnut',\n";
echo " ],\n"; echo " data: {\n";
echo " datasets: [{\n"; echo " labels: [\n";
echo " data: [\n"; echo " '".$text['label-defined'].": ".$stats['defined']."',\n";
echo " '".$stats['defined']."',\n"; echo " '".$text['label-undefined'].": ".$stats['undefined']."',\n";
echo " '".$stats['undefined']."',\n"; echo " ],\n";
echo " 0.00001,\n"; echo " datasets: [{\n";
echo " ],\n"; echo " data: [\n";
echo " backgroundColor: [\n"; echo " '".$stats['defined']."',\n";
echo " '".$_SESSION['dashboard']['caller_id_chart_color_defined']['text']."',\n"; echo " '".$stats['undefined']."',\n";
echo " '".$_SESSION['dashboard']['caller_id_chart_color_undefined']['text']."',\n"; echo " 0.00001,\n";
echo " ],\n"; echo " ],\n";
echo " borderColor: '".$_SESSION['dashboard']['caller_id_chart_border_color']['text']."',\n"; echo " backgroundColor: [\n";
echo " borderWidth: '".$_SESSION['dashboard']['caller_id_chart_border_width']['text']."'\n"; echo " '".$_SESSION['dashboard']['caller_id_chart_color_defined']['text']."',\n";
echo " }]\n"; echo " '".$_SESSION['dashboard']['caller_id_chart_color_undefined']['text']."',\n";
echo " },\n"; echo " ],\n";
echo " options: {\n"; echo " borderColor: '".$_SESSION['dashboard']['caller_id_chart_border_color']['text']."',\n";
echo " plugins: {\n"; echo " borderWidth: '".$_SESSION['dashboard']['caller_id_chart_border_width']['text']."'\n";
echo " chart_number: {\n"; echo " }]\n";
echo " text: '".$stats['undefined']."'\n"; echo " },\n";
echo " },\n"; echo " options: {\n";
echo " legend: {\n"; echo " plugins: {\n";
echo " display: true,\n"; echo " chart_number: {\n";
echo " position: 'right',\n"; echo " text: '".$stats['undefined']."'\n";
echo " reverse: true,\n"; echo " },\n";
echo " labels: {\n"; echo " legend: {\n";
echo " usePointStyle: true,\n"; echo " display: true,\n";
echo " pointStyle: 'rect',\n"; echo " position: 'right',\n";
echo " color: '".$dashboard_heading_text_color."'\n"; echo " reverse: true,\n";
echo " }\n"; echo " labels: {\n";
echo " },\n"; echo " usePointStyle: true,\n";
echo " title: {\n"; echo " pointStyle: 'rect',\n";
echo " text: '".$text['label-caller_id_number']."',\n"; echo " color: '".$dashboard_heading_text_color."'\n";
echo " color: '".$dashboard_heading_text_color."'\n"; echo " }\n";
echo " }\n"; echo " }\n";
echo " }\n"; echo " }\n";
echo " },\n"; echo " },\n";
echo " plugins: [{\n"; echo " plugins: [{\n";
echo " id: 'chart_number',\n"; echo " id: 'chart_number',\n";
echo " beforeDraw(chart, args, options){\n"; echo " beforeDraw(chart, args, options){\n";
echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n"; echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n";
echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n"; echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n";
echo " ctx.textBaseline = 'middle';\n"; echo " ctx.textBaseline = 'middle';\n";
echo " ctx.textAlign = 'center';\n"; echo " ctx.textAlign = 'center';\n";
echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n"; echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n";
echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n"; echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n";
echo " ctx.save();\n"; echo " ctx.save();\n";
echo " }\n"; echo " }\n";
echo " }]\n"; echo " }]\n";
echo " }\n"; echo " }\n";
echo " );\n"; echo " );\n";
echo "</script>\n"; echo "</script>\n";
}
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$stats['undefined']."</span>";
}
echo " </div>\n";
//details //details
echo "<form id='form_list_caller_id' method='post' action='".PROJECT_PATH."/app/extensions/resources/dashboard/caller_id.php'>\n"; echo "<form id='form_list_caller_id' method='post' action='".PROJECT_PATH."/app/extensions/resources/dashboard/caller_id.php'>\n";

View File

@ -152,72 +152,80 @@
//ring group forward //ring group forward
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_ring_group_forward_details').slideToggle('fast');\">\n";
echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";'>".$text['header-ring-group-forward']."</span>\n";
//doughnut chart //doughnut chart
echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_ring_group_forward_details').slideToggle('fast');\">\n"; if ($dashboard_chart_type == "doughnut") {
echo " <div style='width: 275px; height: 175px;'><canvas id='ring_group_forward_chart'></canvas></div>\n"; echo " <div style='width: 275px; height: 143px;'><canvas id='ring_group_forward_chart'></canvas></div>\n";
echo "</div>\n";
echo "<script>\n";
echo "<script>\n"; echo " const ring_group_forward_chart = new Chart(\n";
echo " const ring_group_forward_chart = new Chart(\n"; echo " document.getElementById('ring_group_forward_chart').getContext('2d'),\n";
echo " document.getElementById('ring_group_forward_chart').getContext('2d'),\n"; echo " {\n";
echo " {\n"; echo " type: 'doughnut',\n";
echo " type: 'doughnut',\n"; echo " data: {\n";
echo " data: {\n"; echo " labels: [\n";
echo " labels: [\n"; echo " '".$text['label-active'].": ".$stats['active']."',\n";
echo " '".$text['label-active'].": ".$stats['active']."',\n"; echo " '".$text['label-forwarding'].": ".$stats['forwarding']."',\n";
echo " '".$text['label-forwarding'].": ".$stats['forwarding']."',\n"; echo " ],\n";
echo " ],\n"; echo " datasets: [{\n";
echo " datasets: [{\n"; echo " data: [\n";
echo " data: [\n"; echo " '".$stats['active']."',\n";
echo " '".$stats['active']."',\n"; echo " '".$stats['forwarding']."',\n";
echo " '".$stats['forwarding']."',\n"; echo " 0.00001,\n";
echo " 0.00001,\n"; echo " ],\n";
echo " ],\n"; echo " backgroundColor: [\n";
echo " backgroundColor: [\n"; echo " '".$_SESSION['dashboard']['ring_group_forward_chart_color_active']['text']."',\n";
echo " '".$_SESSION['dashboard']['ring_group_forward_chart_color_active']['text']."',\n"; echo " '".$_SESSION['dashboard']['ring_group_forward_chart_color_forwarding']['text']."',\n";
echo " '".$_SESSION['dashboard']['ring_group_forward_chart_color_forwarding']['text']."',\n"; echo " ],\n";
echo " ],\n"; echo " borderColor: '".$_SESSION['dashboard']['ring_group_forward_chart_border_color']['text']."',\n";
echo " borderColor: '".$_SESSION['dashboard']['ring_group_forward_chart_border_color']['text']."',\n"; echo " borderWidth: '".$_SESSION['dashboard']['ring_group_forward_chart_border_width']['text']."',\n";
echo " borderWidth: '".$_SESSION['dashboard']['ring_group_forward_chart_border_width']['text']."',\n"; echo " }]\n";
echo " }]\n"; echo " },\n";
echo " },\n"; echo " options: {\n";
echo " options: {\n"; echo " plugins: {\n";
echo " plugins: {\n"; echo " chart_number: {\n";
echo " chart_number: {\n"; echo " text: '".$stats['forwarding']."'\n";
echo " text: '".$stats['forwarding']."'\n"; echo " },\n";
echo " },\n"; echo " legend: {\n";
echo " legend: {\n"; echo " display: true,\n";
echo " display: true,\n"; echo " position: 'right',\n";
echo " position: 'right',\n"; echo " reverse: true,\n";
echo " reverse: true,\n"; echo " labels: {\n";
echo " labels: {\n"; echo " usePointStyle: true,\n";
echo " usePointStyle: true,\n"; echo " pointStyle: 'rect',\n";
echo " pointStyle: 'rect',\n"; echo " color: '".$dashboard_heading_text_color."'\n";
echo " color: '".$dashboard_heading_text_color."'\n"; echo " }\n";
echo " }\n"; echo " },\n";
echo " },\n"; echo " title: {\n";
echo " title: {\n"; echo " text: '".$text['header-ring-group-forward']."',\n";
echo " text: '".$text['header-ring-group-forward']."',\n"; echo " color: '".$dashboard_heading_text_color."'\n";
echo " color: '".$dashboard_heading_text_color."'\n"; echo " }\n";
echo " }\n"; echo " }\n";
echo " }\n"; echo " },\n";
echo " },\n"; echo " plugins: [{\n";
echo " plugins: [{\n"; echo " id: 'chart_number',\n";
echo " id: 'chart_number',\n"; echo " beforeDraw(chart, args, options){\n";
echo " beforeDraw(chart, args, options){\n"; echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n";
echo " const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;\n"; echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n";
echo " ctx.font = chart_text_size + 'px ' + chart_text_font;\n"; echo " ctx.textBaseline = 'middle';\n";
echo " ctx.textBaseline = 'middle';\n"; echo " ctx.textAlign = 'center';\n";
echo " ctx.textAlign = 'center';\n"; echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n";
echo " ctx.fillStyle = '".$dashboard_number_text_color."';\n"; echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n";
echo " ctx.fillText(options.text, width / 2, top + (height / 2));\n"; echo " ctx.save();\n";
echo " ctx.save();\n"; echo " }\n";
echo " }\n"; echo " }]\n";
echo " }]\n"; echo " }\n";
echo " }\n"; echo " );\n";
echo " );\n"; echo "</script>\n";
echo "</script>\n"; }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$stats['forwarding']."</span>";
}
echo " </div>\n";
//details //details
if (permission_exists('ring_group_forward')) { if (permission_exists('ring_group_forward')) {

View File

@ -76,53 +76,56 @@
$registrations = $registration->count(); $registrations = $registration->count();
} }
//add doughnut chart echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_switch_status_details').slideToggle('fast');\">\n";
?> echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";'>".$text['label-switch_status']."</span>\n";
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_switch_status_details').slideToggle('fast');">
<canvas id='switch_status_chart' width='175px' height='175px'></canvas>
</div>
<script> if ($dashboard_chart_type == "doughnut") {
const switch_status_chart = new Chart( //add doughnut chart
document.getElementById('switch_status_chart').getContext('2d'), ?>
{ <div style='height: 143px;'><canvas id='switch_status_chart'></canvas></div>
type: 'doughnut',
data: { <script>
datasets: [{ const switch_status_chart = new Chart(
data: ['<?php echo $registrations; ?>', 0.00001], document.getElementById('switch_status_chart').getContext('2d'),
backgroundColor: ['<?php echo $_SESSION['dashboard']['switch_status_chart_main_background_color']['text']; ?>', {
'<?php echo $_SESSION['dashboard']['switch_status_chart_sub_background_color']['text']; ?>'], type: 'doughnut',
borderColor: '<?php echo $_SESSION['dashboard']['switch_status_chart_border_color']['text']; ?>', data: {
borderWidth: '<?php echo $_SESSION['dashboard']['switch_status_chart_border_width']['text']; ?>' datasets: [{
}] data: ['<?php echo $registrations; ?>', 0.00001],
}, backgroundColor: ['<?php echo $_SESSION['dashboard']['switch_status_chart_main_background_color']['text']; ?>',
options: { '<?php echo $_SESSION['dashboard']['switch_status_chart_sub_background_color']['text']; ?>'],
plugins: { borderColor: '<?php echo $_SESSION['dashboard']['switch_status_chart_border_color']['text']; ?>',
chart_number: { borderWidth: '<?php echo $_SESSION['dashboard']['switch_status_chart_border_width']['text']; ?>'
text: '<?php echo $registrations; ?>' }]
}, },
title: { options: {
text: '<?php echo $text['label-switch_status']; ?>', plugins: {
color: '<?php echo $dashboard_heading_text_color; ?>' chart_number: {
text: '<?php echo $registrations; ?>'
}
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number',
id: 'chart_number', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = chart_text_size + 'px ' + chart_text_font;
ctx.font = chart_text_size + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text, width / 2, top + (height / 2));
ctx.fillText(options.text, width / 2, top + (height / 2)); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
<?php }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$registrations."</span>";
}
echo " </div>\n";
//show the content //show the content
echo "<div class='hud_details hud_box' id='hud_switch_status_details'>"; echo "<div class='hud_details hud_box' id='hud_switch_status_details'>";

View File

@ -294,66 +294,70 @@
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
if ($show_stat) { if ($show_stat) {
//add doughnut chart
?>
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_system_counts_details').slideToggle('fast');">
<div style='width: 250px; height: 175px;'><canvas id='system_counts_chart'></canvas></div>
</div>
<script> echo "<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_system_counts_details').slideToggle('fast');\">\n";
const system_counts_chart = new Chart( echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";' onclick=\"document.location.href='".PROJECT_PATH."/app/system/system.php'\">".$text['label-system_counts']."</span>\n";
document.getElementById('system_counts_chart').getContext('2d'),
{ if ($dashboard_chart_type == "doughnut") {
type: 'doughnut', //add doughnut chart
data: { ?>
labels: ['<?php echo $text['label-active']; ?>: <?php echo $domain_active; ?>', '<?php echo $text['label-inactive']; ?>: <?php echo $domain_inactive; ?>'], <div style='height: 143px;'><canvas id='system_counts_chart'></canvas></div>
datasets: [{
data: ['<?php echo $domain_active; ?>', '<?php echo $domain_inactive; ?>'], <script>
backgroundColor: [ const system_counts_chart = new Chart(
'<?php echo $_SESSION['dashboard']['system_counts_chart_main_background_color']['text']; ?>', document.getElementById('system_counts_chart').getContext('2d'),
'<?php echo $_SESSION['dashboard']['system_counts_chart_sub_background_color']['text']; ?>' {
], type: 'doughnut',
borderColor: '<?php echo $_SESSION['dashboard']['system_counts_chart_border_color']['text']; ?>', data: {
borderWidth: '<?php echo $_SESSION['dashboard']['system_counts_chart_border_width']['text']; ?>', labels: ['<?php echo $text['label-active']; ?>: <?php echo $domain_active; ?>', '<?php echo $text['label-inactive']; ?>: <?php echo $domain_inactive; ?>'],
}] datasets: [{
}, data: ['<?php echo $domain_active; ?>', '<?php echo $domain_inactive; ?>'],
options: { backgroundColor: [
plugins: { '<?php echo $_SESSION['dashboard']['system_counts_chart_main_background_color']['text']; ?>',
chart_number: { '<?php echo $_SESSION['dashboard']['system_counts_chart_sub_background_color']['text']; ?>'
text: '<?php echo $domain_total; ?>' ],
}, borderColor: '<?php echo $_SESSION['dashboard']['system_counts_chart_border_color']['text']; ?>',
legend: { borderWidth: '<?php echo $_SESSION['dashboard']['system_counts_chart_border_width']['text']; ?>',
display: true, }]
position: 'right', },
reverse: true, options: {
labels: { plugins: {
usePointStyle: true, chart_number: {
pointStyle: 'rect', text: '<?php echo $domain_total; ?>'
color: '<?php echo $dashboard_heading_text_color; ?>' },
legend: {
display: true,
position: 'right',
reverse: true,
labels: {
usePointStyle: true,
pointStyle: 'rect',
color: '<?php echo $dashboard_heading_text_color; ?>'
}
} }
},
title: {
text: '<?php echo $text['label-system_counts']; ?>',
color: '<?php echo $dashboard_heading_text_color; ?>'
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number',
id: 'chart_number', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = chart_text_size + 'px ' + chart_text_font;
ctx.font = chart_text_size + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text, width / 2, top + (height / 2));
ctx.fillText(options.text, width / 2, top + (height / 2)); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
<?php }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".$domain_total."</span>";
}
echo " </div>\n";
} }
echo "<div class='hud_details hud_box' id='hud_system_counts_details'>"; echo "<div class='hud_details hud_box' id='hud_system_counts_details'>";

View File

@ -51,69 +51,71 @@
} }
//add half doughnut chart //add half doughnut chart
?> echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_system_cpu_status_details').slideToggle('fast');\">\n";
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_system_cpu_status_details').slideToggle('fast');"> echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";' onclick=\"document.location.href='".PROJECT_PATH."/app/system/system.php'\">".$text['label-cpu_usage']."</span>\n";
<div><canvas id='system_cpu_status_chart' width='175px' height='175px' ></canvas></div>
</div>
<script> if ($dashboard_chart_type == "doughnut") {
const system_cpu_status_chart = new Chart( ?>
document.getElementById('system_cpu_status_chart').getContext('2d'), <div style='width: 175px; height: 143px;'><canvas id='system_cpu_status_chart'></canvas></div>
{
type: 'doughnut', <script>
data: { const system_cpu_status_chart = new Chart(
datasets: [{ document.getElementById('system_cpu_status_chart').getContext('2d'),
data: ['<?php echo $percent_cpu; ?>', 100 - '<?php echo $percent_cpu; ?>'], {
backgroundColor: [ type: 'doughnut',
<?php data: {
if ($percent_cpu <= 60) { datasets: [{
echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][0]."',\n"; data: ['<?php echo $percent_cpu; ?>', 100 - '<?php echo $percent_cpu; ?>'],
} else if ($percent_cpu <= 80) { backgroundColor: [
echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][1]."',\n"; <?php
} else if ($percent_cpu > 80) { if ($percent_cpu <= 60) {
echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][2]."',\n"; echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][0]."',\n";
} else if ($percent_cpu <= 80) {
echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][1]."',\n";
} else if ($percent_cpu > 80) {
echo "'".$_SESSION['dashboard']['cpu_usage_chart_main_background_color'][2]."',\n";
}
?>
'<?php echo $_SESSION['dashboard']['cpu_usage_chart_sub_background_color']['text']; ?>'
],
borderColor: '<?php echo $_SESSION['dashboard']['cpu_usage_chart_border_color']['text']; ?>',
borderWidth: '<?php echo $_SESSION['dashboard']['cpu_usage_chart_border_width']['text']; ?>'
}]
},
options: {
circumference: 180,
rotation: 270,
plugins: {
chart_number_2: {
text: '<?php echo round($percent_cpu); ?>'
},
tooltip: {
yAlign: 'bottom',
displayColors: false,
} }
?>
'<?php echo $_SESSION['dashboard']['cpu_usage_chart_sub_background_color']['text']; ?>'
],
borderColor: '<?php echo $_SESSION['dashboard']['cpu_usage_chart_border_color']['text']; ?>',
borderWidth: '<?php echo $_SESSION['dashboard']['cpu_usage_chart_border_width']['text']; ?>'
}]
},
options: {
circumference: 180,
rotation: 270,
plugins: {
chart_number_2: {
text: '<?php echo $percent_cpu; ?>'
},
tooltip: {
yAlign: 'bottom',
displayColors: false,
},
title: {
text: '<?php echo $text['label-cpu_usage']; ?>',
color: '<?php echo $dashboard_heading_text_color; ?>'
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number_2',
id: 'chart_number_2', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = (chart_text_size - 7) + 'px ' + chart_text_font;
ctx.font = (chart_text_size - 7) + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text + '%', width / 2, top + (height / 2) + 35);
ctx.fillText(options.text + '%', width / 2, top + (height / 2) + 35); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
}
<?php if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".round($percent_cpu)."%</span>";
}
echo " </div>\n";
//show the content //show the content
echo "<div class='hud_details hud_box' id='hud_system_cpu_status_details'>"; echo "<div class='hud_details hud_box' id='hud_system_cpu_status_details'>";

View File

@ -35,65 +35,69 @@
} }
if (!empty($percent_disk_usage)) { if (!empty($percent_disk_usage)) {
//add half doughnut chart
?>
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_system_status_details').slideToggle('fast');">
<div><canvas id='system_status_chart' width='175px' height='175px'></canvas></div>
</div>
<script> //add half doughnut chart
const system_status_chart = new Chart( echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_system_status_details').slideToggle('fast');\">\n";
document.getElementById('system_status_chart').getContext('2d'), echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";' onclick=\"document.location.href='".PROJECT_PATH."/app/system/system.php'\">".$text['label-disk_usage']."</span>\n";
{
type: 'doughnut', if ($dashboard_chart_type == "doughnut") {
data: { ?>
datasets: [{ <div style='width: 175px; height: 143px;'><canvas id='system_status_chart'></canvas></div>
data: ['<?php echo $percent_disk_usage; ?>', 100 - '<?php echo $percent_disk_usage; ?>'],
backgroundColor: [ <script>
<?php const system_status_chart = new Chart(
if ($percent_disk_usage <= 80) { document.getElementById('system_status_chart').getContext('2d'),
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][0]."',\n"; {
} else if ($percent_disk_usage <= 90) { type: 'doughnut',
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][1]."',\n"; data: {
} else if ($percent_disk_usage > 90) { datasets: [{
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][2]."',\n"; data: ['<?php echo $percent_disk_usage; ?>', 100 - '<?php echo $percent_disk_usage; ?>'],
backgroundColor: [
<?php
if ($percent_disk_usage <= 80) {
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][0]."',\n";
} else if ($percent_disk_usage <= 90) {
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][1]."',\n";
} else if ($percent_disk_usage > 90) {
echo "'".$_SESSION['dashboard']['disk_usage_chart_main_background_color'][2]."',\n";
}
?>
'<?php echo $_SESSION['dashboard']['disk_usage_chart_sub_background_color']['text']; ?>'
],
borderColor: '<?php echo $_SESSION['dashboard']['disk_usage_chart_border_color']['text']; ?>',
borderWidth: '<?php echo $_SESSION['dashboard']['disk_usage_chart_border_width']['text']; ?>'
}]
},
options: {
circumference: 180,
rotation: 270,
plugins: {
chart_number_2: {
text: '<?php echo round($percent_disk_usage); ?>'
} }
?>
'<?php echo $_SESSION['dashboard']['disk_usage_chart_sub_background_color']['text']; ?>'
],
borderColor: '<?php echo $_SESSION['dashboard']['disk_usage_chart_border_color']['text']; ?>',
borderWidth: '<?php echo $_SESSION['dashboard']['disk_usage_chart_border_width']['text']; ?>'
}]
},
options: {
circumference: 180,
rotation: 270,
plugins: {
chart_number_2: {
text: '<?php echo $percent_disk_usage; ?>'
},
title: {
text: '<?php echo $text['label-disk_usage']; ?>',
color: '<?php echo $dashboard_heading_text_color; ?>'
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number_2',
id: 'chart_number_2', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = (chart_text_size - 7) + 'px ' + chart_text_font;
ctx.font = (chart_text_size - 7) + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text + '%', width / 2, top + (height / 2) + 35);
ctx.fillText(options.text + '%', width / 2, top + (height / 2) + 35); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
<?php }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";'>".round($percent_disk_usage)."%</span>";
}
echo " </div>\n";
} }
} }

View File

@ -90,55 +90,58 @@
//missed calls //missed calls
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
//add doughnut chart echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_missed_calls_details').slideToggle('fast');\">\n";
?> echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";' onclick=\"document.location.href='".PROJECT_PATH."/app/xml_cdr/xml_cdr.php?call_result=missed'\">".$text['label-missed_calls']."</span>";
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_missed_calls_details').slideToggle('fast');">
<canvas id='missed_calls_chart' width='175px' height='175px'></canvas>
</div>
<script> if ($dashboard_chart_type == "doughnut") {
const missed_calls_chart = new Chart( //add doughnut chart
document.getElementById('missed_calls_chart').getContext('2d'), ?>
{ <div style='height: 143px;'><canvas id='missed_calls_chart'></canvas></div>
type: 'doughnut',
data: { <script>
datasets: [{ const missed_calls_chart = new Chart(
data: ['<?php echo $num_rows; ?>', 0.00001], document.getElementById('missed_calls_chart').getContext('2d'),
backgroundColor: [ {
'<?php echo $_SESSION['dashboard']['missed_calls_chart_main_background_color']['text']; ?>', type: 'doughnut',
'<?php echo $_SESSION['dashboard']['missed_calls_chart_sub_background_color']['text']; ?>' data: {
], datasets: [{
borderColor: '<?php echo $_SESSION['dashboard']['missed_calls_chart_border_color']['text']; ?>', data: ['<?php echo $num_rows; ?>', 0.00001],
borderWidth: '<?php echo $_SESSION['dashboard']['missed_calls_chart_border_width']['text']; ?>', backgroundColor: [
}] '<?php echo $_SESSION['dashboard']['missed_calls_chart_main_background_color']['text']; ?>',
}, '<?php echo $_SESSION['dashboard']['missed_calls_chart_sub_background_color']['text']; ?>'
options: { ],
plugins: { borderColor: '<?php echo $_SESSION['dashboard']['missed_calls_chart_border_color']['text']; ?>',
chart_number: { borderWidth: '<?php echo $_SESSION['dashboard']['missed_calls_chart_border_width']['text']; ?>',
text: '<?php echo $num_rows; ?>' }]
}, },
title: { options: {
text: '<?php echo $text['label-missed_calls']; ?>', plugins: {
color: '<?php echo $dashboard_heading_text_color; ?>' chart_number: {
text: '<?php echo $num_rows; ?>'
}
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number',
id: 'chart_number', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = chart_text_size + 'px ' + chart_text_font;
ctx.font = chart_text_size + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text, width / 2, top + (height / 2));
ctx.fillText(options.text, width / 2, top + (height / 2)); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
<?php }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";' onclick=\"$('#hud_missed_calls_details').slideToggle('fast');\">".$num_rows."</span>";
}
echo " </div>\n";
echo "<div class='hud_details hud_box' id='hud_missed_calls_details'>"; echo "<div class='hud_details hud_box' id='hud_missed_calls_details'>";
echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n";

View File

@ -86,55 +86,57 @@
//recent calls //recent calls
echo "<div class='hud_box'>\n"; echo "<div class='hud_box'>\n";
//add doughnut chart echo " <div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick=\"$('#hud_recent_calls_details').slideToggle('fast');\">\n";
?> echo " <span class='hud_title' style='color: ".$dashboard_heading_text_color.";' onclick=\"document.location.href='".PROJECT_PATH."/app/xml_cdr/xml_cdr.php';\">".$text['label-recent_calls']."</span>\n";
<div style='display: flex; flex-wrap: wrap; justify-content: center; padding-bottom: 20px;' onclick="$('#hud_recent_calls_details').slideToggle('fast');">
<canvas id='recent_calls_chart' width='175px' height='175px'></canvas>
</div>
<script> if ($dashboard_chart_type == "doughnut") {
const recent_calls_chart = new Chart( //add doughnut chart
document.getElementById('recent_calls_chart').getContext('2d'), ?>
{ <div style='height: 143px;'><canvas id='recent_calls_chart'></canvas></div>
type: 'doughnut', <script>
data: { const recent_calls_chart = new Chart(
datasets: [{ document.getElementById('recent_calls_chart').getContext('2d'),
data: ['<?php echo $num_rows; ?>', 0.00001], {
backgroundColor: [ type: 'doughnut',
'<?php echo $_SESSION['dashboard']['recent_calls_chart_main_background_color']['text']; ?>', data: {
'<?php echo $_SESSION['dashboard']['recent_calls_chart_sub_background_color']['text']; ?>' datasets: [{
], data: ['<?php echo $num_rows; ?>', 0.00001],
borderColor: '<?php echo $_SESSION['dashboard']['recent_calls_chart_border_color']['text']; ?>', backgroundColor: [
borderWidth: '<?php echo $_SESSION['dashboard']['recent_calls_chart_border_width']['text']; ?>' '<?php echo $_SESSION['dashboard']['recent_calls_chart_main_background_color']['text']; ?>',
}] '<?php echo $_SESSION['dashboard']['recent_calls_chart_sub_background_color']['text']; ?>'
}, ],
options: { borderColor: '<?php echo $_SESSION['dashboard']['recent_calls_chart_border_color']['text']; ?>',
plugins: { borderWidth: '<?php echo $_SESSION['dashboard']['recent_calls_chart_border_width']['text']; ?>'
chart_number: { }]
text: '<?php echo $num_rows; ?>' },
}, options: {
title: { plugins: {
text: '<?php echo $text['label-recent_calls']; ?>', chart_number: {
color: '<?php echo $dashboard_heading_text_color; ?>' text: '<?php echo $num_rows; ?>'
}
} }
} },
}, plugins: [{
plugins: [{ id: 'chart_number',
id: 'chart_number', beforeDraw(chart, args, options){
beforeDraw(chart, args, options){ const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart;
const {ctx, chartArea: {top, right, bottom, left, width, height} } = chart; ctx.font = chart_text_size + 'px ' + chart_text_font;
ctx.font = chart_text_size + 'px ' + chart_text_font; ctx.textBaseline = 'middle';
ctx.textBaseline = 'middle'; ctx.textAlign = 'center';
ctx.textAlign = 'center'; ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>';
ctx.fillStyle = '<?php echo $dashboard_number_text_color; ?>'; ctx.fillText(options.text, width / 2, top + (height / 2));
ctx.fillText(options.text, width / 2, top + (height / 2)); ctx.save();
ctx.save(); }
} }]
}] }
} );
); </script>
</script> <?php
<?php }
if ($dashboard_chart_type == "none") {
echo " <span class='hud_stat' style='color: ".$dashboard_number_text_color.";' onclick=\"$('#hud_recent_calls_details').slideToggle('fast');\">".$num_rows."</span>";
}
echo " </div>\n";
echo "<div class='hud_details hud_box' id='hud_recent_calls_details'>"; echo "<div class='hud_details hud_box' id='hud_recent_calls_details'>";
echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0' border='0'>\n";

View File

@ -72,6 +72,11 @@
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; $apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the dashboard path.'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the dashboard path.';
$z++; $z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'dashboard_chart_type';
$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'] = 'Enter the chart type.';
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'dashboard_heading_text_color'; $apps[$x]['db'][$y]['fields'][$z]['name'] = 'dashboard_heading_text_color';
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text'; $apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = ''; $apps[$x]['db'][$y]['fields'][$z]['search_by'] = '';

View File

@ -260,6 +260,84 @@ $text['description-dashboard_groups']['zh-cn'] = "添加有权访问此小部件
$text['description-dashboard_groups']['ja-jp'] = "このウィジェットに対する権限を持つグループを追加します。"; $text['description-dashboard_groups']['ja-jp'] = "このウィジェットに対する権限を持つグループを追加します。";
$text['description-dashboard_groups']['ko-kr'] = "이 위젯에 대한 권한이 있는 그룹을 추가하십시오."; $text['description-dashboard_groups']['ko-kr'] = "이 위젯에 대한 권한이 있는 그룹을 추가하십시오.";
$text['label-dashboard_chart_type']['en-us'] = "Chart Type";
$text['label-dashboard_chart_type']['en-gb'] = "Chart Type";
$text['label-dashboard_chart_type']['ar-eg'] = "نوع التخطيط";
$text['label-dashboard_chart_type']['de-at'] = "Diagramm Typ";
$text['label-dashboard_chart_type']['de-ch'] = "Diagramm Typ";
$text['label-dashboard_chart_type']['de-de'] = "Diagramm Typ";
$text['label-dashboard_chart_type']['el-gr'] = "Τύπος γραφήματος";
$text['label-dashboard_chart_type']['es-cl'] = "Tipo de gráfico";
$text['label-dashboard_chart_type']['es-mx'] = "Tipo de gráfico";
$text['label-dashboard_chart_type']['fr-ca'] = "Type de graphiqueType de graphique";
$text['label-dashboard_chart_type']['fr-fr'] = "Type de graphique";
$text['label-dashboard_chart_type']['he-il'] = "סוג תרשים";
$text['label-dashboard_chart_type']['it-it'] = "Tipo di grafico";
$text['label-dashboard_chart_type']['nl-nl'] = "Grafiektype";
$text['label-dashboard_chart_type']['pl-pl'] = "Typ wykresu";
$text['label-dashboard_chart_type']['pt-br'] = "Tipo de Gráfico";
$text['label-dashboard_chart_type']['pt-pt'] = "Tipo de Gráfico";
$text['label-dashboard_chart_type']['ro-ro'] = "Tip diagramă";
$text['label-dashboard_chart_type']['ru-ru'] = "Тип диаграммы";
$text['label-dashboard_chart_type']['sv-se'] = "Diagramtyp";
$text['label-dashboard_chart_type']['uk-ua'] = "Тип діаграми";
$text['label-dashboard_chart_type']['tr-tr'] = "Grafik tipi";
$text['label-dashboard_chart_type']['zh-cn'] = "图表类型";
$text['label-dashboard_chart_type']['ja-jp'] = "グラフの種類";
$text['label-dashboard_chart_type']['ko-kr'] = "차트 종류";
$text['description-dashboard_chart_type']['en-us'] = "Enter the dashboard widget chart type.";
$text['description-dashboard_chart_type']['en-gb'] = "Enter the dashboard widget chart type.";
$text['description-dashboard_chart_type']['ar-eg'] = "أدخل نوع مخطط عنصر واجهة المستخدم للوحة المعلومات.";
$text['description-dashboard_chart_type']['de-at'] = "Geben Sie den Diagrammtyp des Dashboard-Widgets ein.";
$text['description-dashboard_chart_type']['de-ch'] = "Geben Sie den Diagrammtyp des Dashboard-Widgets ein.";
$text['description-dashboard_chart_type']['de-de'] = "Geben Sie den Diagrammtyp des Dashboard-Widgets ein.";
$text['description-dashboard_chart_type']['el-gr'] = "Εισαγάγετε τον τύπο γραφήματος του γραφικού στοιχείου πίνακα εργαλείων.";
$text['description-dashboard_chart_type']['es-cl'] = "Ingrese el tipo de gráfico del widget del panel.";
$text['description-dashboard_chart_type']['es-mx'] = "Ingrese el tipo de gráfico del widget del panel.";
$text['description-dashboard_chart_type']['fr-ca'] = "Entrez le type de graphique du widget de tableau de bord.";
$text['description-dashboard_chart_type']['fr-fr'] = "Entrez le type de graphique du widget de tableau de bord.";
$text['description-dashboard_chart_type']['he-il'] = "הזן את סוג תרשים הווידג'ט של לוח המחוונים.";
$text['description-dashboard_chart_type']['it-it'] = "Inserisci il tipo di grafico del widget del dashboard.";
$text['description-dashboard_chart_type']['nl-nl'] = "Voer het diagramtype van de dashboardwidget in.";
$text['description-dashboard_chart_type']['pl-pl'] = "Wprowadź typ wykresu widżetu panelu kontrolnego.";
$text['description-dashboard_chart_type']['pt-br'] = "Insira o tipo de gráfico do widget do painel.";
$text['description-dashboard_chart_type']['pt-pt'] = "Insira o tipo de gráfico do widget do painel.";
$text['description-dashboard_chart_type']['ro-ro'] = "Introduceți tipul de diagramă widget din tabloul de bord.";
$text['description-dashboard_chart_type']['ru-ru'] = "Введите тип диаграммы виджета информационной панели.";
$text['description-dashboard_chart_type']['sv-se'] = "Ange diagramtypen för instrumentpanelens widget.";
$text['description-dashboard_chart_type']['uk-ua'] = "Введіть тип діаграми віджета інформаційної панелі.";
$text['description-dashboard_chart_type']['tr-tr'] = "Kontrol paneli widget'ı grafik türünü girin.";
$text['description-dashboard_chart_type']['zh-cn'] = "输入仪表板小部件图表类型。";
$text['description-dashboard_chart_type']['ja-jp'] = "ダッシュボード ウィジェットのグラフ タイプを入力します。";
$text['description-dashboard_chart_type']['ko-kr'] = "대시보드 위젯 차트 유형을 입력합니다.";
$text['label-doughnut']['en-us'] = "Doughnut";
$text['label-doughnut']['en-gb'] = "Doughnut";
$text['label-doughnut']['ar-eg'] = "كعكة محلاة";
$text['label-doughnut']['de-at'] = "Krapfen";
$text['label-doughnut']['de-ch'] = "Krapfen";
$text['label-doughnut']['de-de'] = "Krapfen";
$text['label-doughnut']['el-gr'] = "Ντόνατ";
$text['label-doughnut']['es-cl'] = "Rosquilla";
$text['label-doughnut']['es-mx'] = "Rosquilla";
$text['label-doughnut']['fr-ca'] = "Donut";
$text['label-doughnut']['fr-fr'] = "Donut";
$text['label-doughnut']['he-il'] = "סופגניה";
$text['label-doughnut']['it-it'] = "Ciambella";
$text['label-doughnut']['nl-nl'] = "Donut";
$text['label-doughnut']['pl-pl'] = "Pączek";
$text['label-doughnut']['pt-br'] = "Rosquinha";
$text['label-doughnut']['pt-pt'] = "Rosquinha";
$text['label-doughnut']['ro-ro'] = "Gogoașă";
$text['label-doughnut']['ru-ru'] = "Пончик";
$text['label-doughnut']['sv-se'] = "Munk";
$text['label-doughnut']['uk-ua'] = "Пончик";
$text['label-doughnut']['tr-tr'] = "Tatlı çörek";
$text['label-doughnut']['zh-cn'] = "油炸圈饼";
$text['label-doughnut']['ja-jp'] = "ドーナツ";
$text['label-doughnut']['ko-kr'] = "도넛";
$text['label-dashboard_heading_text_color']['en-us'] = "Heading Text Color"; $text['label-dashboard_heading_text_color']['en-us'] = "Heading Text Color";
$text['label-dashboard_heading_text_color']['en-gb'] = "Heading Text Color"; $text['label-dashboard_heading_text_color']['en-gb'] = "Heading Text Color";
$text['label-dashboard_heading_text_color']['ar-eg'] = "لون نص العنوان"; $text['label-dashboard_heading_text_color']['ar-eg'] = "لون نص العنوان";
@ -728,4 +806,4 @@ $text['login-message_dismiss']['zh-cn'] = "Dismiss Message";
$text['login-message_dismiss']['ja-jp'] = "Dismiss Message"; $text['login-message_dismiss']['ja-jp'] = "Dismiss Message";
$text['login-message_dismiss']['ko-kr'] = "Dismiss Message"; $text['login-message_dismiss']['ko-kr'] = "Dismiss Message";
?> ?>

View File

@ -65,6 +65,7 @@
$dashboard_name = $_POST["dashboard_name"] ?? ''; $dashboard_name = $_POST["dashboard_name"] ?? '';
$dashboard_path = $_POST["dashboard_path"] ?? ''; $dashboard_path = $_POST["dashboard_path"] ?? '';
$dashboard_groups = $_POST["dashboard_groups"] ?? ''; $dashboard_groups = $_POST["dashboard_groups"] ?? '';
$dashboard_chart_type = $_POST["dashboard_chart_type"] ?? '';
$dashboard_heading_text_color = $_POST["dashboard_heading_text_color"] ?? ''; $dashboard_heading_text_color = $_POST["dashboard_heading_text_color"] ?? '';
$dashboard_number_text_color = $_POST["dashboard_number_text_color"] ?? ''; $dashboard_number_text_color = $_POST["dashboard_number_text_color"] ?? '';
$dashboard_column_span = $_POST["dashboard_column_span"] ?? ''; $dashboard_column_span = $_POST["dashboard_column_span"] ?? '';
@ -165,6 +166,7 @@
$array['dashboard'][0]['dashboard_uuid'] = $dashboard_uuid; $array['dashboard'][0]['dashboard_uuid'] = $dashboard_uuid;
$array['dashboard'][0]['dashboard_name'] = $dashboard_name; $array['dashboard'][0]['dashboard_name'] = $dashboard_name;
$array['dashboard'][0]['dashboard_path'] = $dashboard_path; $array['dashboard'][0]['dashboard_path'] = $dashboard_path;
$array['dashboard'][0]['dashboard_chart_type'] = $dashboard_chart_type;
$array['dashboard'][0]['dashboard_heading_text_color'] = $dashboard_heading_text_color; $array['dashboard'][0]['dashboard_heading_text_color'] = $dashboard_heading_text_color;
$array['dashboard'][0]['dashboard_number_text_color'] = $dashboard_number_text_color; $array['dashboard'][0]['dashboard_number_text_color'] = $dashboard_number_text_color;
$array['dashboard'][0]['dashboard_column_span'] = $dashboard_column_span; $array['dashboard'][0]['dashboard_column_span'] = $dashboard_column_span;
@ -212,6 +214,7 @@
$sql .= " dashboard_uuid, "; $sql .= " dashboard_uuid, ";
$sql .= " dashboard_name, "; $sql .= " dashboard_name, ";
$sql .= " dashboard_path, "; $sql .= " dashboard_path, ";
$sql .= " dashboard_chart_type, ";
$sql .= " dashboard_heading_text_color, "; $sql .= " dashboard_heading_text_color, ";
$sql .= " dashboard_number_text_color, "; $sql .= " dashboard_number_text_color, ";
$sql .= " dashboard_column_span, "; $sql .= " dashboard_column_span, ";
@ -227,6 +230,7 @@
if (is_array($row) && @sizeof($row) != 0) { if (is_array($row) && @sizeof($row) != 0) {
$dashboard_name = $row["dashboard_name"]; $dashboard_name = $row["dashboard_name"];
$dashboard_path = $row["dashboard_path"]; $dashboard_path = $row["dashboard_path"];
$dashboard_chart_type = $row["dashboard_chart_type"];
$dashboard_heading_text_color = $row["dashboard_heading_text_color"]; $dashboard_heading_text_color = $row["dashboard_heading_text_color"];
$dashboard_number_text_color = $row["dashboard_number_text_color"]; $dashboard_number_text_color = $row["dashboard_number_text_color"];
$dashboard_column_span = $row["dashboard_column_span"]; $dashboard_column_span = $row["dashboard_column_span"];
@ -404,6 +408,30 @@
echo "</td>\n"; echo "</td>\n";
echo "</tr>\n"; echo "</tr>\n";
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo $text['label-dashboard_chart_type']."\n";
echo "</td>\n";
echo "<td class='vtable' style='position: relative;' align='left'>\n";
echo " <select name='dashboard_chart_type' class='formfld'>\n";
if ($dashboard_chart_type == "doughnut") {
echo " <option value='doughnut' selected='selected'>".$text['label-doughnut']."</option>\n";
}
else {
echo " <option value='doughnut'>".$text['label-doughnut']."</option>\n";
}
if ($dashboard_chart_type == "none") {
echo " <option value='none' selected='selected'>".$text['label-none']."</option>\n";
}
else {
echo " <option value='none'>".$text['label-none']."</option>\n";
}
echo " </select>\n";
echo "<br />\n";
echo $text['description-dashboard_chart_type']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n"; echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n"; echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo $text['label-dashboard_heading_text_color']."\n"; echo $text['label-dashboard_heading_text_color']."\n";
@ -543,4 +571,4 @@
//include the footer //include the footer
require_once "resources/footer.php"; require_once "resources/footer.php";
?> ?>

View File

@ -72,6 +72,7 @@
$sql .= "dashboard_uuid, \n"; $sql .= "dashboard_uuid, \n";
$sql .= "dashboard_name, \n"; $sql .= "dashboard_name, \n";
$sql .= "dashboard_path, \n"; $sql .= "dashboard_path, \n";
$sql .= "dashboard_chart_type, \n";
$sql .= "dashboard_heading_text_color, \n"; $sql .= "dashboard_heading_text_color, \n";
$sql .= "dashboard_number_text_color, \n"; $sql .= "dashboard_number_text_color, \n";
$sql .= "dashboard_column_span, \n"; $sql .= "dashboard_column_span, \n";
@ -149,7 +150,6 @@
echo " Chart.defaults.responsive = true;\n"; echo " Chart.defaults.responsive = true;\n";
echo " Chart.defaults.maintainAspectRatio = false;\n"; echo " Chart.defaults.maintainAspectRatio = false;\n";
echo " Chart.defaults.plugins.legend.display = false;\n"; echo " Chart.defaults.plugins.legend.display = false;\n";
echo " Chart.defaults.plugins.title.display = true;\n";
echo " Chart.overrides.doughnut.cutout = '75%';\n"; echo " Chart.overrides.doughnut.cutout = '75%';\n";
echo "</script>\n"; echo "</script>\n";
@ -303,6 +303,7 @@
foreach($dashboard as $row) { foreach($dashboard as $row) {
$dashboard_name = strtolower($row['dashboard_name']); $dashboard_name = strtolower($row['dashboard_name']);
$dashboard_name = str_replace(" ", "_", $dashboard_name); $dashboard_name = str_replace(" ", "_", $dashboard_name);
$dashboard_chart_type = $row['dashboard_chart_type'] ?? 'doughnut';
$dashboard_heading_text_color = $row['dashboard_heading_text_color'] ?? $settings->get('theme', 'dashboard_heading_text_color'); $dashboard_heading_text_color = $row['dashboard_heading_text_color'] ?? $settings->get('theme', 'dashboard_heading_text_color');
$dashboard_number_text_color = $row['dashboard_heading_text_color'] ?? $settings->get('theme', 'dashboard_number_text_color'); $dashboard_number_text_color = $row['dashboard_heading_text_color'] ?? $settings->get('theme', 'dashboard_number_text_color');
echo "<div class='widget' id='".$dashboard_name."' draggable='false'>\n"; echo "<div class='widget' id='".$dashboard_name."' draggable='false'>\n";

View File

@ -899,8 +899,8 @@
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "dashboard_heading_text_color"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "dashboard_heading_text_color";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "#444444"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "#ffffff";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color (and opacity) of the Dashboard block heading text."; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color (and opacity) of the Dashboard block heading text.";
$y++; $y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b09126da-c68b-473c-83f8-8e9a7523ce37"; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b09126da-c68b-473c-83f8-8e9a7523ce37";
@ -963,8 +963,8 @@
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "dashboard_number_text_color"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "dashboard_number_text_color";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "#444444"; $apps[$x]['default_settings'][$y]['default_setting_value'] = "#ffffff";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color (and opacity) of the Dashboard block number."; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the color (and opacity) of the Dashboard block number.";
$y++; $y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "1d829bf8-6b4e-44e8-8cb5-962f8b91d64e"; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "1d829bf8-6b4e-44e8-8cb5-962f8b91d64e";

View File

@ -213,20 +213,20 @@ $dashboard_detail_background_color_center = $_SESSION['theme']['dashboard_detail
$dashboard_border_radius = $_SESSION['theme']['dashboard_border_radius']['text'] ?? '5px'; $dashboard_border_radius = $_SESSION['theme']['dashboard_border_radius']['text'] ?? '5px';
$dashboard_border_color = $_SESSION['theme']['dashboard_border_color']['text'] ?? '#dbe0ea'; $dashboard_border_color = $_SESSION['theme']['dashboard_border_color']['text'] ?? '#dbe0ea';
$dashboard_border_color_hover = $_SESSION['theme']['dashboard_border_color_hover']['text'] ?? '#cbd3e1'; $dashboard_border_color_hover = $_SESSION['theme']['dashboard_border_color_hover']['text'] ?? '#cbd3e1';
$dashboard_heading_text_color = $_SESSION['theme']['dashboard_heading_text_color']['text'] ?? '#fff'; $dashboard_heading_text_color = $_SESSION['theme']['dashboard_heading_text_color']['text'] ?? '#444';
$dashboard_heading_text_color_hover = $_SESSION['theme']['dashboard_heading_text_color_hover']['text'] ?? '#fff'; $dashboard_heading_text_color_hover = $_SESSION['theme']['dashboard_heading_text_color_hover']['text'] ?? '';
$dashboard_heading_text_size = $_SESSION['theme']['dashboard_heading_text_size']['text'] ?? '12pt'; $dashboard_heading_text_size = $_SESSION['theme']['dashboard_heading_text_size']['text'] ?? '13px';
$dashboard_heading_text_font = $_SESSION['theme']['dashboard_heading_text_font']['text'] ?? 'Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif'; $dashboard_heading_text_font = $_SESSION['theme']['dashboard_heading_text_font']['text'] ?? 'Arial, Calibri, Candara, Segoe, "Segoe UI", Optima, sans-serif';
$dashboard_heading_text_shadow_color = $_SESSION['theme']['dashboard_heading_text_shadow_color']['text'] ?? '#000'; $dashboard_heading_text_shadow_color = $_SESSION['theme']['dashboard_heading_text_shadow_color']['text'] ?? 'rgba(0,0,0,0)';
$dashboard_heading_background_color = $_SESSION['theme']['dashboard_heading_background_color']['text'] ?? '#8e96a5'; $dashboard_heading_background_color = $_SESSION['theme']['dashboard_heading_background_color']['text'] ?? '';
$dashboard_heading_background_color_hover = $_SESSION['theme']['dashboard_heading_background_color_hover']['text'] ?? color_adjust($dashboard_heading_background_color, 0.03); $dashboard_heading_background_color_hover = $_SESSION['theme']['dashboard_heading_background_color_hover']['text'] ?? color_adjust($dashboard_heading_background_color, 0.03);
$dashboard_number_text_color = $_SESSION['theme']['dashboard_number_text_color']['text'] ?? '#fff'; $dashboard_number_text_color = $_SESSION['theme']['dashboard_number_text_color']['text'] ?? '#444';
$dashboard_number_text_color_hover = $_SESSION['theme']['dashboard_number_text_color_hover']['text'] ?? '#fff'; $dashboard_number_text_color_hover = $_SESSION['theme']['dashboard_number_text_color_hover']['text'] ?? '';
$dashboard_number_text_font = $_SESSION['theme']['dashboard_number_text_font']['text'] ?? 'Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif'; $dashboard_number_text_font = $_SESSION['theme']['dashboard_number_text_font']['text'] ?? 'Arial, Calibri, Candara, Segoe, "Segoe UI", Optima, sans-serif';
$dashboard_number_text_size = $_SESSION['theme']['dashboard_number_text_size']['text'] ?? '60pt'; $dashboard_number_text_size = $_SESSION['theme']['dashboard_number_text_size']['text'] ?? '100px';
$dashboard_number_text_shadow_color = $_SESSION['theme']['dashboard_number_text_shadow_color']['text'] ?? '#737983'; $dashboard_number_text_shadow_color = $_SESSION['theme']['dashboard_number_text_shadow_color']['text'] ?? 'rgba(0,0,0,0)';
$dashboard_number_text_shadow_color_hover = $_SESSION['theme']['dashboard_number_text_shadow_color_hover']['text'] ?? '#737983'; $dashboard_number_text_shadow_color_hover = $_SESSION['theme']['dashboard_number_text_shadow_color_hover']['text'] ?? 'rgba(0,0,0,0)';
$dashboard_number_background_color = $_SESSION['theme']['dashboard_number_background_color']['text'] ?? '#a4aebf'; $dashboard_number_background_color = $_SESSION['theme']['dashboard_number_background_color']['text'] ?? '';
$dashboard_number_background_color_hover = $_SESSION['theme']['dashboard_number_background_color_hover']['text'] ?? color_adjust($dashboard_number_background_color, 0.03); $dashboard_number_background_color_hover = $_SESSION['theme']['dashboard_number_background_color_hover']['text'] ?? color_adjust($dashboard_number_background_color, 0.03);
$dashboard_number_title_text_color = $_SESSION['theme']['dashboard_number_title_text_color']['text'] ?? '#fff'; $dashboard_number_title_text_color = $_SESSION['theme']['dashboard_number_title_text_color']['text'] ?? '#fff';
$dashboard_number_title_text_size = $_SESSION['theme']['dashboard_number_title_text_size']['text'] ?? '14px'; $dashboard_number_title_text_size = $_SESSION['theme']['dashboard_number_title_text_size']['text'] ?? '14px';
@ -2358,7 +2358,7 @@ else { //default: white
cursor: not-allowed; cursor: not-allowed;
opacity: 0.5; opacity: 0.5;
} }
div.ur_ext:after { div.ur_ext:after {
position: absolute; position: absolute;
content: ""; content: "";
@ -2568,6 +2568,7 @@ else { //default: white
letter-spacing: -0.02em; letter-spacing: -0.02em;
color: <?=$dashboard_heading_text_color?>; color: <?=$dashboard_heading_text_color?>;
font-size: <?=$dashboard_heading_text_size?>; font-size: <?=$dashboard_heading_text_size?>;
font-weight: bold;
<?php <?php
//calculate line height based on font size //calculate line height based on font size
$font_size = strtolower($dashboard_heading_text_size); $font_size = strtolower($dashboard_heading_text_size);
@ -2619,6 +2620,7 @@ else { //default: white
border-top: 1px solid <?php echo color_adjust($dashboard_number_background_color, 0.2); ?>; border-top: 1px solid <?php echo color_adjust($dashboard_number_background_color, 0.2); ?>;
overflow: hidden; overflow: hidden;
<?php <?php
/*
//calculate font padding //calculate font padding
$font_size = strtolower($dashboard_heading_text_size); $font_size = strtolower($dashboard_heading_text_size);
$tmp = str_replace(' ', '', $font_size); $tmp = str_replace(' ', '', $font_size);
@ -2628,9 +2630,14 @@ else { //default: white
$tmp = str_replace('%', '', $tmp); $tmp = str_replace('%', '', $tmp);
$font_size_number = $tmp; $font_size_number = $tmp;
$padding_top_bottom = (int) floor((100-$tmp) * 0.25); $padding_top_bottom = (int) floor((100-$tmp) * 0.25);
*/
?> ?>
<!--
padding-top: <?php echo $padding_top_bottom.'px' ?>; padding-top: <?php echo $padding_top_bottom.'px' ?>;
padding-bottom: <?php echo $padding_top_bottom.'px' ?>; padding-bottom: <?php echo $padding_top_bottom.'px' ?>;
-->
padding-top: 5px;
padding-bottom: 10px;
} }
span.hud_stat:hover { span.hud_stat:hover {