Fix uploaded greetings to use next id for wav,mp3,ogg (#7464)
* Fix uploaded greetings to use the next ID for wav,mp3,ogg * Update voicemail_greetings.php
This commit is contained in:
@@ -104,6 +104,9 @@
|
|||||||
if (file_exists(voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id..".mp3")) then
|
if (file_exists(voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id..".mp3")) then
|
||||||
greeting_ext = "mp3";
|
greeting_ext = "mp3";
|
||||||
end
|
end
|
||||||
|
if (file_exists(voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id..".ogg")) then
|
||||||
|
greeting_ext = "ogg";
|
||||||
|
end
|
||||||
dtmf_digits = session:playAndGetDigits(0, max_digits, tries, timeout, "#", voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id.."."..greeting_ext, "",".*", max_timeout);
|
dtmf_digits = session:playAndGetDigits(0, max_digits, tries, timeout, "#", voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id.."."..greeting_ext, "",".*", max_timeout);
|
||||||
--session:execute("playback",voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id..".wav");
|
--session:execute("playback",voicemail_dir.."/"..voicemail_id.."/greeting_"..greeting_id..".wav");
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -41,8 +41,7 @@
|
|||||||
$language = new text;
|
$language = new text;
|
||||||
$text = $language->get();
|
$text = $language->get();
|
||||||
|
|
||||||
//add the settings object
|
//check for speech app
|
||||||
$settings = new settings(["domain_uuid" => $_SESSION['domain_uuid'], "user_uuid" => $_SESSION['user_uuid']]);
|
|
||||||
$speech_enabled = $settings->get('speech', 'enabled');
|
$speech_enabled = $settings->get('speech', 'enabled');
|
||||||
|
|
||||||
//set the defaults
|
//set the defaults
|
||||||
@@ -76,9 +75,9 @@
|
|||||||
$sql = "select greeting_id from v_voicemails ";
|
$sql = "select greeting_id from v_voicemails ";
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and voicemail_id = :voicemail_id ";
|
$sql .= "and voicemail_id = :voicemail_id ";
|
||||||
|
$parameters = [];
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
$parameters['voicemail_id'] = $voicemail_id;
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
$database = new database;
|
|
||||||
$selected_greeting_id = $database->select($sql, $parameters, 'column');
|
$selected_greeting_id = $database->select($sql, $parameters, 'column');
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
@@ -96,9 +95,9 @@
|
|||||||
$sql .= "from v_voicemail_greetings ";
|
$sql .= "from v_voicemail_greetings ";
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and voicemail_greeting_uuid = :voicemail_greeting_uuid ";
|
$sql .= "and voicemail_greeting_uuid = :voicemail_greeting_uuid ";
|
||||||
|
$parameters = [];
|
||||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
$parameters['voicemail_greeting_uuid'] = $voicemail_greeting_uuid;
|
$parameters['voicemail_greeting_uuid'] = $voicemail_greeting_uuid;
|
||||||
$database = new database;
|
|
||||||
$row = $database->select($sql, $parameters, 'row');
|
$row = $database->select($sql, $parameters, 'row');
|
||||||
if (is_array($row) && @sizeof($row) != 0) {
|
if (is_array($row) && @sizeof($row) != 0) {
|
||||||
$greeting_filename = $row['greeting_filename'];
|
$greeting_filename = $row['greeting_filename'];
|
||||||
@@ -165,44 +164,33 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
//get the file extension
|
//get the file extension
|
||||||
$file_ext = $file_ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
$file_ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||||
$file_name = $_FILES['file']['name'];
|
$file_name = $_FILES['file']['name'];
|
||||||
|
|
||||||
//check file extension
|
//check file extension
|
||||||
if ($file_ext == 'wav' || $file_ext == 'mp3') {
|
if ($file_ext == 'wav' || $file_ext == 'mp3' || $file_ext == 'ogg') {
|
||||||
|
|
||||||
//find the next available
|
//get the next greeting id starting at 1
|
||||||
for ($i = 1; $i < 10; $i++) {
|
$greeting_id = count(glob($greeting_dir . '/greeting_*.*')) + 1;
|
||||||
//set the file name
|
|
||||||
$file_name = 'greeting_'.$i.'.'.$file_ext;
|
|
||||||
|
|
||||||
//set the greeting id
|
//set the greeting file name
|
||||||
if (!file_exists($greeting_dir.'/'.$file_name)) {
|
$greeting_file_name = "greeting_{$greeting_id}.{$file_ext}";
|
||||||
//set the greeting id
|
|
||||||
$greeting_id = $i;
|
|
||||||
|
|
||||||
//end the loop
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//move the uploaded greeting
|
//move the uploaded greeting
|
||||||
if (!empty($greeting_dir) && !file_exists($greeting_dir)) {
|
if (!empty($greeting_dir) && !file_exists($greeting_dir)) {
|
||||||
mkdir($greeting_dir, 0770, false);
|
mkdir($greeting_dir, 0770, false);
|
||||||
}
|
}
|
||||||
if ($file_ext == 'wav' || $file_ext == 'mp3') {
|
move_uploaded_file($_FILES['file']['tmp_name'], $greeting_dir.'/'.$greeting_file_name);
|
||||||
move_uploaded_file($_FILES['file']['tmp_name'], $greeting_dir.'/'.$file_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
//set newly uploaded greeting as active greeting for voicemail box
|
//set newly uploaded greeting as active greeting for voicemail box
|
||||||
$sql = "update v_voicemails ";
|
$sql = "update v_voicemails ";
|
||||||
$sql .= "set greeting_id = :greeting_id ";
|
$sql .= "set greeting_id = :greeting_id ";
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and voicemail_id = :voicemail_id ";
|
$sql .= "and voicemail_id = :voicemail_id ";
|
||||||
|
$parameters = [];
|
||||||
$parameters['greeting_id'] = $greeting_id;
|
$parameters['greeting_id'] = $greeting_id;
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
$parameters['voicemail_id'] = $voicemail_id;
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
$database = new database;
|
|
||||||
$database->execute($sql, $parameters);
|
$database->execute($sql, $parameters);
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
@@ -213,7 +201,7 @@
|
|||||||
$array['voicemail_greetings'][$x]['voicemail_id'] = $voicemail_id;
|
$array['voicemail_greetings'][$x]['voicemail_id'] = $voicemail_id;
|
||||||
$array['voicemail_greetings'][$x]['greeting_id'] = $greeting_id;
|
$array['voicemail_greetings'][$x]['greeting_id'] = $greeting_id;
|
||||||
$array['voicemail_greetings'][$x]['greeting_name'] = $text['label-greeting'].' '.$greeting_id;
|
$array['voicemail_greetings'][$x]['greeting_name'] = $text['label-greeting'].' '.$greeting_id;
|
||||||
$array['voicemail_greetings'][$x]['greeting_filename'] = $file_name;
|
$array['voicemail_greetings'][$x]['greeting_filename'] = $greeting_file_name;
|
||||||
$array['voicemail_greetings'][$x]['greeting_description'] = '';
|
$array['voicemail_greetings'][$x]['greeting_description'] = '';
|
||||||
if (!empty($_SESSION['voicemail']['storage_type']['text']) && $_SESSION['voicemail']['storage_type']['text'] == 'base64') {
|
if (!empty($_SESSION['voicemail']['storage_type']['text']) && $_SESSION['voicemail']['storage_type']['text'] == 'base64') {
|
||||||
$array['voicemail_greetings'][$x]['greeting_base64'] = base64_encode(file_get_contents($greeting_dir.'/'.$file_name));
|
$array['voicemail_greetings'][$x]['greeting_base64'] = base64_encode(file_get_contents($greeting_dir.'/'.$file_name));
|
||||||
@@ -228,7 +216,6 @@
|
|||||||
$p->add('voicemail_greeting_edit', 'temp');
|
$p->add('voicemail_greeting_edit', 'temp');
|
||||||
|
|
||||||
//execute inserts/updates
|
//execute inserts/updates
|
||||||
$database = new database;
|
|
||||||
$database->app_name = 'voicemail_greetings';
|
$database->app_name = 'voicemail_greetings';
|
||||||
$database->app_uuid = 'e4b4fbee-9e4d-8e46-3810-91ba663db0c2';
|
$database->app_uuid = 'e4b4fbee-9e4d-8e46-3810-91ba663db0c2';
|
||||||
$database->save($array);
|
$database->save($array);
|
||||||
@@ -272,10 +259,10 @@
|
|||||||
$sql .= "set greeting_id = :greeting_id ";
|
$sql .= "set greeting_id = :greeting_id ";
|
||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and voicemail_id = :voicemail_id ";
|
$sql .= "and voicemail_id = :voicemail_id ";
|
||||||
|
$parameters = [];
|
||||||
$parameters['greeting_id'] = $greeting_id;
|
$parameters['greeting_id'] = $greeting_id;
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
$parameters['voicemail_id'] = $voicemail_id;
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
$database = new database;
|
|
||||||
$database->execute($sql, $parameters);
|
$database->execute($sql, $parameters);
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
|
|
||||||
@@ -321,9 +308,9 @@
|
|||||||
$sql .= "where domain_uuid = :domain_uuid ";
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
$sql .= "and voicemail_id = :voicemail_id ";
|
$sql .= "and voicemail_id = :voicemail_id ";
|
||||||
$sql .= order_by($order_by, $order);
|
$sql .= order_by($order_by, $order);
|
||||||
|
$parameters = [];
|
||||||
$parameters['domain_uuid'] = $domain_uuid;
|
$parameters['domain_uuid'] = $domain_uuid;
|
||||||
$parameters['voicemail_id'] = $voicemail_id;
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
$database = new database;
|
|
||||||
$greetings = $database->select($sql, $parameters, 'all');
|
$greetings = $database->select($sql, $parameters, 'all');
|
||||||
$num_rows = is_array($greetings) ? @sizeof($greetings) : 0;
|
$num_rows = is_array($greetings) ? @sizeof($greetings) : 0;
|
||||||
unset($sql, $parameters);
|
unset($sql, $parameters);
|
||||||
@@ -607,6 +594,3 @@
|
|||||||
|
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user