diff --git a/app/destinations/destination_download.php b/app/destinations/destination_download.php index 630133a961..0032ae459c 100644 --- a/app/destinations/destination_download.php +++ b/app/destinations/destination_download.php @@ -64,6 +64,8 @@ $available_columns[] = 'destination_type_voice'; $available_columns[] = 'destination_type_fax'; $available_columns[] = 'destination_type_text'; + $available_columns[] = 'destination_conditions'; + $available_columns[] = 'destination_actions'; $available_columns[] = 'destination_app'; $available_columns[] = 'destination_data'; $available_columns[] = 'destination_alternate_app'; diff --git a/app/destinations/destination_imports.php b/app/destinations/destination_imports.php index f6d50c348e..468a6d3f89 100644 --- a/app/destinations/destination_imports.php +++ b/app/destinations/destination_imports.php @@ -217,9 +217,19 @@ foreach ($array['destinations'] as $row) { //build the array - $actions[0]['destination_app'] = $row['destination_app']; - $actions[0]['destination_data'] = $row['destination_data']; - $destination_actions = json_encode($actions); + if (!empty($row['destination_actions']) && is_json($row['destination_actions'])) { + $destination_actions = $row['destination_actions']; // use json actions + $temp = json_decode($row['destination_actions'], true); + $row['destination_app'] = $temp[array_key_last($temp)]['destination_app']; + $row['destination_data'] = $temp[array_key_last($temp)]['destination_data']; + unset($temp); + } + else if (!empty($row['destination_app']) && !empty($row['destination_data'])) { + $actions[0]['destination_app'] = $row['destination_app']; + $actions[0]['destination_data'] = $row['destination_data']; + $destination_actions = json_encode($actions); + unset($actions); + } //get the values $destination_number = $row['destination_number']; @@ -241,6 +251,8 @@ //add the additional fields $dialplan_uuid = uuid(); $array["destinations"][$row_id]['destination_actions'] = $destination_actions; + $array["destinations"][$row_id]['destination_app'] = $destination_app; + $array["destinations"][$row_id]['destination_data'] = $destination_data; $array["destinations"][$row_id]['destination_type'] = $destination_type; $array["destinations"][$row_id]['destination_record'] = $destination_record; $array["destinations"][$row_id]['destination_context'] = $destination_context; @@ -274,14 +286,14 @@ //authorized specific dialplan_detail_type that are safe, sanitize all other values switch ($dialplan_detail_type) { - case 'destination_number': - break; - case '${sip_to_user}': - break; - case '${sip_req_user}': - break; - default: - $dialplan_detail_type = xml::sanitize($dialplan_detail_type); + case 'destination_number': + break; + case '${sip_to_user}': + break; + case '${sip_req_user}': + break; + default: + $dialplan_detail_type = xml::sanitize($dialplan_detail_type); } //build the xml dialplan