From bd5002ca32a8aefb76d69c0cfef4a2507fa244c1 Mon Sep 17 00:00:00 2001 From: fusionate Date: Thu, 13 Feb 2025 15:02:53 -0700 Subject: [PATCH] Voicemail: Rename voicemail filesystem folder if Voicemail ID changes. --- app/voicemails/voicemail_edit.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/voicemails/voicemail_edit.php b/app/voicemails/voicemail_edit.php index 4785ad81da..a5aaec41da 100644 --- a/app/voicemails/voicemail_edit.php +++ b/app/voicemails/voicemail_edit.php @@ -89,6 +89,7 @@ //set the variables from the HTTP values $voicemail_id = $_POST["voicemail_id"]; + $voicemail_id_previous = $_POST["voicemail_id_previous"]; $voicemail_password = $_POST["voicemail_password"]; $greeting_id = $_POST["greeting_id"]; $voicemail_options = $_POST["voicemail_options"]; @@ -261,9 +262,21 @@ $p->delete('voicemail_option_add', 'temp'); $p->delete('voicemail_destination_add', 'temp'); - //make sure the voicemail directory exists + //create or rename voicemail directory as needed if (is_numeric($voicemail_id)) { - if (!file_exists($_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id)) { + // old and new voicemail ids differ, old directory exists and new doesn't, rename directory + if ( + !empty($voicemail_id_previous) && is_numeric($voicemail_id_previous) && $voicemail_id_previous != $voicemail_id && + file_exists($_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id_previous) && + !file_exists($_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id) + ) { + rename( + $_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id_previous, // previous + $_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id // new + ); + } + // new directory doesn't exist, create + else if (!file_exists($_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id)) { mkdir($_SESSION['switch']['voicemail']['dir']."/default/".$_SESSION['domain_name']."/".$voicemail_id, 0770); } } @@ -560,6 +573,7 @@ echo "\n"; echo "\n"; echo " \n"; + echo " \n"; echo " \n"; //help defeat browser auto-fill echo "
\n"; echo $text['description-voicemail_id']."\n";