Add a voicemail deletion queue (#7221)

* Add a deleted messages option to voicemail.
Messages are only deleted after a certain amount of time instead of immediately.
The queue can be turned off or on with the default setting "use_deletion_queue" in the "voicemail" category.
Changed deleted phrase and added a deleted messages count phrase
Added a program to delete messages that are due for deletion. Also small changes to phrases.

* Added a remove_deleted_messages function that runs on voicemail main menu log in. With this method, the deletion queue is handled per mailbox vs system-wide as in the cron-triggered script. It also allows us to adjust the retention hours on a per-domain basis.
This commit is contained in:
simplecoder732
2025-01-28 18:57:50 -05:00
committed by GitHub
parent b2349060b5
commit 77f9161408
10 changed files with 356 additions and 10 deletions

View File

@@ -401,6 +401,22 @@
$apps[$x]['default_settings'][$y]['default_setting_value'] = "90";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Number of days maintenance application will retain files.";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "79d05433-a7ab-4641-ae5d-6eb7810eb560";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "voicemail";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "use_deletion_queue";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "boolean";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Instead of deleting voicemails right away when pressing 7; queue them for deletion";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "b06cc9df-379e-4b45-8bda-d2d431506317";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "voicemail";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "deletion_queue_retention_hours";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "numeric";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "24";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Number of hours the voicemail deletion queue will retain deleted voicemails";
//schema details
$y=0;
$apps[$x]['db'][$y]['table']['name'] = "v_voicemails";
@@ -735,4 +751,4 @@
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)";
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
?>
?>