fix voicemail message count when viewing all domains (#7186)
This commit is contained in:
parent
58cfa404b7
commit
bb76878156
|
|
@ -45,6 +45,12 @@
|
||||||
$language = new text;
|
$language = new text;
|
||||||
$text = $language->get();
|
$text = $language->get();
|
||||||
|
|
||||||
|
//set up database object
|
||||||
|
$database = database::new();
|
||||||
|
|
||||||
|
//get the settings
|
||||||
|
$settings = new settings(['database' => $database, 'domain_uuid' => $_SESSION['domain_uuid'] ?? '', 'user_uuid' => $_SESSION['user_uuid'] ?? '']);
|
||||||
|
|
||||||
//get the http post data
|
//get the http post data
|
||||||
if (!empty($_POST['voicemails'])) {
|
if (!empty($_POST['voicemails'])) {
|
||||||
$action = $_POST['action'];
|
$action = $_POST['action'];
|
||||||
|
|
@ -119,18 +125,19 @@
|
||||||
//prepare to page the results
|
//prepare to page the results
|
||||||
$sql = "select count(voicemail_uuid) from v_voicemails ";
|
$sql = "select count(voicemail_uuid) from v_voicemails ";
|
||||||
$sql .= "where true ";
|
$sql .= "where true ";
|
||||||
|
$parameters = null;
|
||||||
if ($show != "all" || !permission_exists('voicemail_all')) {
|
if ($show != "all" || !permission_exists('voicemail_all')) {
|
||||||
$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
|
$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
}
|
}
|
||||||
if (!permission_exists('voicemail_domain')) {
|
if (!permission_exists('voicemail_domain')) {
|
||||||
if (is_array($voicemail_uuids) && @sizeof($voicemail_uuids) != 0) {
|
if (is_array($voicemail_uuids) && sizeof($voicemail_uuids) != 0) {
|
||||||
$sql .= "and (";
|
$sql .= "and (";
|
||||||
foreach ($voicemail_uuids as $x => $row) {
|
foreach ($voicemail_uuids as $x => $row) {
|
||||||
$sql_where_or[] = 'voicemail_uuid = :voicemail_uuid_'.$x;
|
$sql_where_or[] = 'voicemail_uuid = :voicemail_uuid_'.$x;
|
||||||
$parameters['voicemail_uuid_'.$x] = $row['voicemail_uuid'];
|
$parameters['voicemail_uuid_'.$x] = $row['voicemail_uuid'];
|
||||||
}
|
}
|
||||||
if (is_array($sql_where_or) && @sizeof($sql_where_or) != 0) {
|
if (is_array($sql_where_or) && sizeof($sql_where_or) != 0) {
|
||||||
$sql .= implode(' or ', $sql_where_or);
|
$sql .= implode(' or ', $sql_where_or);
|
||||||
}
|
}
|
||||||
$sql .= ")";
|
$sql .= ")";
|
||||||
|
|
@ -140,8 +147,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$sql .= $sql_search ?? '';
|
$sql .= $sql_search ?? '';
|
||||||
$database = new database;
|
$num_rows = $database->select($sql, $parameters, 'column');
|
||||||
$num_rows = $database->select($sql, $parameters ?? null, 'column');
|
|
||||||
|
|
||||||
//prepare to page the results
|
//prepare to page the results
|
||||||
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
|
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
|
||||||
|
|
@ -158,17 +164,19 @@
|
||||||
$sql = str_replace('count(voicemail_uuid)', '*', $sql);
|
$sql = str_replace('count(voicemail_uuid)', '*', $sql);
|
||||||
$sql .= order_by($order_by, $order, null, null, $sort);
|
$sql .= order_by($order_by, $order, null, null, $sort);
|
||||||
$sql .= limit_offset($rows_per_page, $offset);
|
$sql .= limit_offset($rows_per_page, $offset);
|
||||||
$database = new database;
|
$voicemails = $database->select($sql, $parameters, 'all');
|
||||||
$voicemails = $database->select($sql, $parameters ?? null, 'all');
|
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
//get vm count for each mailbox
|
//get vm count for each mailbox
|
||||||
if (permission_exists('voicemail_message_view')) {
|
if (permission_exists('voicemail_message_view')) {
|
||||||
$sql = "select voicemail_uuid, count(*) as voicemail_count ";
|
$parameters = null;
|
||||||
$sql .= "from v_voicemail_messages where domain_uuid = :domain_uuid";
|
$sql = "select voicemail_uuid, count(voicemail_uuid) as voicemail_count ";
|
||||||
$sql .= " group by voicemail_uuid";
|
$sql .= "from v_voicemail_messages where true ";
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
if ($show !== 'all' || !permission_exists('voicemail_all')) {
|
||||||
$database = new database;
|
$sql .= "and domain_uuid = :domain_uuid ";
|
||||||
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
}
|
||||||
|
$sql .= "group by voicemail_uuid";
|
||||||
$voicemails_count_tmp = $database->select($sql, $parameters, 'all');
|
$voicemails_count_tmp = $database->select($sql, $parameters, 'all');
|
||||||
|
|
||||||
$voicemails_count = array();
|
$voicemails_count = array();
|
||||||
|
|
@ -180,11 +188,14 @@
|
||||||
|
|
||||||
//get vm greeting count for each mailbox
|
//get vm greeting count for each mailbox
|
||||||
if (permission_exists('voicemail_greeting_view')) {
|
if (permission_exists('voicemail_greeting_view')) {
|
||||||
|
$parameters = null;
|
||||||
$sql = "select voicemail_id, count(greeting_id) as greeting_count ";
|
$sql = "select voicemail_id, count(greeting_id) as greeting_count ";
|
||||||
$sql .= "from v_voicemail_greetings where domain_uuid = :domain_uuid";
|
$sql .= "from v_voicemail_greetings where true ";
|
||||||
$sql .= " group by voicemail_id";
|
if ($show !== 'all' || !permission_exists('voicemail_all')) {
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
$sql .= "and domain_uuid = :domain_uuid ";
|
||||||
$database = new database;
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
|
}
|
||||||
|
$sql .= "group by voicemail_id";
|
||||||
$voicemail_greetings_count_tmp = $database->select($sql, $parameters, 'all');
|
$voicemail_greetings_count_tmp = $database->select($sql, $parameters, 'all');
|
||||||
|
|
||||||
$voicemail_greetings_count = array();
|
$voicemail_greetings_count = array();
|
||||||
|
|
@ -283,7 +294,7 @@
|
||||||
}
|
}
|
||||||
echo "</tr>\n";
|
echo "</tr>\n";
|
||||||
|
|
||||||
if (is_array($voicemails) && @sizeof($voicemails) != 0) {
|
if (is_array($voicemails) && sizeof($voicemails) != 0) {
|
||||||
$x = 0;
|
$x = 0;
|
||||||
foreach ($voicemails as $row) {
|
foreach ($voicemails as $row) {
|
||||||
if (permission_exists('voicemail_edit')) {
|
if (permission_exists('voicemail_edit')) {
|
||||||
|
|
@ -362,4 +373,3 @@
|
||||||
//include the footer
|
//include the footer
|
||||||
require_once "resources/footer.php";
|
require_once "resources/footer.php";
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue