Update voicemail.php

This commit is contained in:
FusionPBX 2024-07-30 20:32:47 -06:00 committed by GitHub
parent 24a398f98f
commit 8c7e2044fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 35 additions and 7 deletions

View File

@ -58,7 +58,7 @@
* @var array Array of settings loaded from Default Settings * @var array Array of settings loaded from Default Settings
*/ */
private $settings; private $settings;
/** /**
* Set in the constructor. Must be a database object and cannot be null. * Set in the constructor. Must be a database object and cannot be null.
* @var database Database Object * @var database Database Object
@ -132,14 +132,42 @@
return false; return false;
} }
//set the voicemail id and voicemail uuid arrays //get the assigned extensions
if (isset($_SESSION['user']['extension'])) { $sql = "select e.extension_uuid, e.extension, e.number_alias, e.enabled, e.description ";
foreach ($_SESSION['user']['extension'] as $index => $row) { $sql .= "from v_extensions e, v_extension_users eu ";
$voicemail_ids[$index] = is_numeric($row['number_alias']) ? $row['number_alias'] : $row['user']; $sql .= "where e.extension_uuid = eu.extension_uuid ";
$sql .= "and eu.user_uuid = :user_uuid ";
$sql .= "and e.domain_uuid = :domain_uuid ";
$sql .= "order by e.extension asc ";
$parameters['domain_uuid'] = $this->domain_uuid;
$parameters['user_uuid'] = $this->user_uuid;
$assigned_extensions = $this->database->select($sql, $parameters, 'all');
unset($sql, $parameters);
//set the voicemail id arrays
if (isset($assigned_extensions)) {
foreach ($assigned_extensions as $index => $row) {
$voicemail_ids[] = (is_numeric($row['number_alias'])) ? $row['number_alias'] : $row['extension'];
} }
} }
if (isset($_SESSION['user']['voicemail'])) {
foreach ($_SESSION['user']['voicemail'] as $row) { //get the assigned voicemails
$sql = "select * from v_voicemails ";
$sql .= "where voicemail_id in (";
foreach($voicemail_ids as $i => $voicemail_id) {
if ($i > 0) { $sql .= ","; }
$sql .= ":voicemail_id_".$i;
$parameters['voicemail_id_'.$i] = $voicemail_id;
}
$sql .= ") ";
$sql .= "and domain_uuid = :domain_uuid ";
$parameters['domain_uuid'] = $this->domain_uuid;
$assigned_voicemails = $this->database->select($sql, $parameters, 'all');
unset($sql, $parameters);
//set the voicemail uuid arrays
if (isset($assigned_voicemails)) {
foreach ($assigned_voicemails as $row) {
if (!empty($row['voicemail_uuid'])) { if (!empty($row['voicemail_uuid'])) {
$voicemail_uuids[]['voicemail_uuid'] = $row['voicemail_uuid']; $voicemail_uuids[]['voicemail_uuid'] = $row['voicemail_uuid'];
} }