Update destination_app and destination_data

Keep destination_app, and destination_data, destination_alternate_app, and destination_alternate_data synchronized.
This commit is contained in:
FusionPBX
2025-07-13 10:25:44 -06:00
committed by GitHub
parent f7f2404f88
commit 696f8d6891

View File

@@ -1131,7 +1131,7 @@
$array['destinations'][$x]["destination_type_emergency"] = $destination_type_emergency ? 1 : null; $array['destinations'][$x]["destination_type_emergency"] = $destination_type_emergency ? 1 : null;
} }
//prepare the destination_conditions json //prepare the destination_conditions json
if (!empty($conditions)) { if (!empty($conditions)) {
$array['destinations'][$x]["destination_conditions"] = json_encode($conditions); $array['destinations'][$x]["destination_conditions"] = json_encode($conditions);
unset($conditions); unset($conditions);
@@ -1140,22 +1140,51 @@
$array['destinations'][$x]["destination_conditions"] = ''; $array['destinations'][$x]["destination_conditions"] = '';
} }
//prepare the $actions array //prepare the $actions array
$y=0; $y=0;
if (!empty($destination_actions)) { if (!empty($destination_actions)) {
$i = 0;
foreach($destination_actions as $destination_action) { foreach($destination_actions as $destination_action) {
//prepare the values
$action_array = explode(":", $destination_action, 2); $action_array = explode(":", $destination_action, 2);
$action_app = $action_array[0] ?? null; $action_app = $action_array[0] ?? null;
$action_data = $action_array[1] ?? null; $action_data = $action_array[1] ?? null;
if (isset($action_array[0]) && !empty($action_array[0])) {
//build the actions array
if (isset($action_data) && !empty($action_data)) {
if ($destination->valid($action_app.':'.$action_data)) { if ($destination->valid($action_app.':'.$action_data)) {
$actions[$y]['destination_app'] = $action_app; $actions[$y]['destination_app'] = $action_app;
$actions[$y]['destination_data'] = $action_data; $actions[$y]['destination_data'] = $action_data;
$y++; $y++;
} }
} }
//get the $destination_app and destination_data
if ($i == 0) {
$destination_app = $action_app;
$destination_data = $action_data;
}
if ($i == 1) {
$destination_alternate_app = $action_app;
$destination_alternate_data = $action_data;
}
//increment the id
$i++;
} }
} }
//add the destination app and data to the array
if (!empty($destination_app) && !empty($destination_data)) {
$array['destinations'][$x]["destination_app"] = $destination_app;
$array['destinations'][$x]["destination_data"] = $destination_data;
}
if (!empty($destination_alternate_app) && !empty($destination_alternate_data)) {
$array['destinations'][$x]["destination_alternate_app"] = $destination_alternate_app;
$array['destinations'][$x]["destination_alternate_data"] = $destination_alternate_data;
}
//add additional destination data to the array
$array['destinations'][$x]["destination_actions"] = json_encode($actions ?? null); $array['destinations'][$x]["destination_actions"] = json_encode($actions ?? null);
$array['destinations'][$x]["destination_order"] = $destination_order; $array['destinations'][$x]["destination_order"] = $destination_order;
$array['destinations'][$x]["destination_enabled"] = $destination_enabled; $array['destinations'][$x]["destination_enabled"] = $destination_enabled;
@@ -1178,8 +1207,7 @@
//save the dialplan //save the dialplan
$database->app_name = 'destinations'; $database->app_name = 'destinations';
$database->app_uuid = '5ec89622-b19c-3559-64f0-afde802ab139'; $database->app_uuid = '5ec89622-b19c-3559-64f0-afde802ab139';
$database->save($array); $response = $database->save($array);
//$response = $database->message;
//remove the temporary permission //remove the temporary permission
$p->delete("dialplan_add", 'temp'); $p->delete("dialplan_add", 'temp');