Voicemail Greetings: Revert to default message if greeting deleted.
This commit is contained in:
parent
17309eefff
commit
f7fb173a46
|
|
@ -109,13 +109,14 @@ if (!class_exists('voicemail_greetings')) {
|
||||||
|
|
||||||
//get necessary greeting details
|
//get necessary greeting details
|
||||||
if (is_array($uuids) && @sizeof($uuids) != 0) {
|
if (is_array($uuids) && @sizeof($uuids) != 0) {
|
||||||
$sql = "select ".$this->uuid_prefix."uuid as uuid, greeting_filename from v_".$this->table." ";
|
$sql = "select ".$this->uuid_prefix."uuid as uuid, greeting_filename, greeting_id from v_".$this->table." ";
|
||||||
$sql .= "where ".$this->uuid_prefix."uuid in (".implode(', ', $uuids).") ";
|
$sql .= "where ".$this->uuid_prefix."uuid in (".implode(', ', $uuids).") ";
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$rows = $database->select($sql, $parameters, 'all');
|
$rows = $database->select($sql, $parameters, 'all');
|
||||||
if (is_array($rows) && @sizeof($rows) != 0) {
|
if (is_array($rows) && @sizeof($rows) != 0) {
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$greeting_filenames[$row['uuid']] = $row['greeting_filename'];
|
$greeting_filenames[$row['uuid']] = $row['greeting_filename'];
|
||||||
|
$greeting_ids[$this->voicemail_id] = $row['greeting_id'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unset($sql, $parameters, $rows, $row);
|
unset($sql, $parameters, $rows, $row);
|
||||||
|
|
@ -128,11 +129,8 @@ if (!class_exists('voicemail_greetings')) {
|
||||||
if (is_array($greeting_filenames) && @sizeof($greeting_filenames) != 0) {
|
if (is_array($greeting_filenames) && @sizeof($greeting_filenames) != 0) {
|
||||||
$x = 0;
|
$x = 0;
|
||||||
foreach ($greeting_filenames as $voicemail_greeting_uuid => $greeting_filename) {
|
foreach ($greeting_filenames as $voicemail_greeting_uuid => $greeting_filename) {
|
||||||
|
|
||||||
//delete the recording file
|
//delete the recording file
|
||||||
@unlink($greeting_directory.'/'.$greeting_filename);
|
@unlink($greeting_directory.'/'.$greeting_filename);
|
||||||
|
|
||||||
|
|
||||||
//build the delete array
|
//build the delete array
|
||||||
$array[$this->table][$x][$this->uuid_prefix.'uuid'] = $voicemail_greeting_uuid;
|
$array[$this->table][$x][$this->uuid_prefix.'uuid'] = $voicemail_greeting_uuid;
|
||||||
$array[$this->table][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
|
$array[$this->table][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
|
|
@ -140,20 +138,39 @@ if (!class_exists('voicemail_greetings')) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//reset voicemail box(es) to default (null) if deleted greeting(s) were assigned
|
||||||
|
if (is_array($array) && @sizeof($array) != 0 && is_array($greeting_ids) && @sizeof($greeting_ids)) {
|
||||||
|
foreach ($greeting_ids as $voicemail_id => $greeting_id) {
|
||||||
|
if (is_numeric($voicemail_id) && is_numeric($greeting_id)) {
|
||||||
|
$sql = "update v_voicemails set greeting_id = null ";
|
||||||
|
$sql .= "where domain_uuid = :domain_uuid ";
|
||||||
|
$sql .= "and voicemail_id = :voicemail_id ";
|
||||||
|
$sql .= "and greeting_id = :greeting_id ";
|
||||||
|
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||||
|
$parameters['voicemail_id'] = $voicemail_id;
|
||||||
|
$parameters['greeting_id'] = $greeting_id;
|
||||||
|
$database = new database;
|
||||||
|
$database->app_name = $this->app_name;
|
||||||
|
$database->app_uuid = $this->app_uuid;
|
||||||
|
$database->execute($sql, $parameters);
|
||||||
|
unset($sql, $parameters);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//delete the checked rows
|
//delete the checked rows
|
||||||
if (is_array($array) && @sizeof($array) != 0) {
|
if (is_array($array) && @sizeof($array) != 0) {
|
||||||
|
|
||||||
//execute delete
|
//execute delete
|
||||||
$database = new database;
|
$database = new database;
|
||||||
$database->app_name = $this->app_name;
|
$database->app_name = $this->app_name;
|
||||||
$database->app_uuid = $this->app_uuid;
|
$database->app_uuid = $this->app_uuid;
|
||||||
$database->delete($array);
|
$database->delete($array);
|
||||||
unset($array);
|
unset($array);
|
||||||
|
|
||||||
//set message
|
//set message
|
||||||
message::add($text['message-delete']);
|
message::add($text['message-delete']);
|
||||||
}
|
}
|
||||||
unset($records);
|
unset($records);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //method
|
} //method
|
||||||
|
|
|
||||||
|
|
@ -504,7 +504,7 @@
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
echo "<td class='vtable' align='left'>\n";
|
echo "<td class='vtable' align='left'>\n";
|
||||||
echo " <select class='formfld' name='greeting_id'>\n";
|
echo " <select class='formfld' name='greeting_id'>\n";
|
||||||
echo " <option value=''></option>\n";
|
echo " <option value=''>".$text['label-default']."</option>\n";
|
||||||
if (is_array($greetings) && @sizeof($greetings) != 0) {
|
if (is_array($greetings) && @sizeof($greetings) != 0) {
|
||||||
foreach ($greetings as $greeting) {
|
foreach ($greetings as $greeting) {
|
||||||
$selected = ($greeting['greeting_id'] == $greeting_id) ? 'selected' : null;
|
$selected = ($greeting['greeting_id'] == $greeting_id) ? 'selected' : null;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue