Update conferences.php

This commit is contained in:
Nate
2019-11-30 12:33:00 -07:00
parent 858a0c2022
commit 290af88516

View File

@@ -107,10 +107,10 @@ if (!class_exists('conferences')) {
$array[$this->table][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['conference_users'][$x]['conference_uuid'] = $record['uuid'];
$array['conference_users'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['dialplan_details'][$x]['dialplan_uuid'] = $dialplan_uuid;
$array['dialplan_details'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['dialplans'][$x]['dialplan_uuid'] = $dialplan_uuid;
$array['dialplans'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['dialplan_details'][$x]['dialplan_uuid'] = $dialplan_uuid;
$array['dialplan_details'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
}
}
@@ -283,58 +283,62 @@ if (!class_exists('conferences')) {
if (is_array($rows) && @sizeof($rows) != 0) {
$y = 0;
foreach ($rows as $x => $row) {
$new_conference_uuid = uuid();
$new_dialplan_uuid = uuid();
//copy data
$array[$this->table][$x] = $row;
//overwrite
$conference_uuid = uuid();
$dialplan_uuid = uuid();
$array[$this->table][$x][$this->uuid_prefix.'uuid'] = $conference_uuid;
$array[$this->table][$x]['dialplan_uuid'] = $dialplan_uuid;
$array[$this->table][$x][$this->uuid_prefix.'uuid'] = $new_conference_uuid;
$array[$this->table][$x]['dialplan_uuid'] = $new_dialplan_uuid;
$array[$this->table][$x]['conference_description'] = trim($row['conference_description'].' ('.$text['label-copy'].')');
//get conference conference users
$sql = "select * from v_conference_users ";
$sql .= "where conference_uuid = :conference_uuid ";
$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
$parameters['conference_uuid'] = $row['conference_uuid'];
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
//conference users sub table
$sql_2 = "select * from v_conference_users ";
$sql_2 .= "where conference_uuid = :conference_uuid ";
$sql_2 .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
$parameters_2['conference_uuid'] = $row['conference_uuid'];
$parameters_2['domain_uuid'] = $_SESSION['domain_uuid'];
$database = new database;
$conference_users = $database->select($sql, $parameters, 'all');
unset($sql, $parameters);
//insert the conference users in array
$conference_users = $database->select($sql_2, $parameters_2, 'all');
if (is_array($conference_users) && @sizeof($conference_users) != 0) {
foreach ($conference_users as $user) {
$array['conference_users'][$y]['conference_user_uuid'] = uuid();
$array['conference_users'][$y]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['conference_users'][$y]['conference_uuid'] = $conference_uuid;
$array['conference_users'][$y]['user_uuid'] = $user['user_uuid'];
$y++;
foreach ($conference_users as $conference_user) {
//copy data
$array['conference_users'][$y] = $conference_user;
//overwrite
$array['conference_users'][$y]['conference_user_uuid'] = uuid();
$array['conference_users'][$y]['conference_uuid'] = $new_conference_uuid;
//increment
$y++;
}
}
unset($sql_2, $parameters_2, $conference_users, $conference_user);
//build the dialplan xml
$dialplan_xml = "<extension name=\"".$row['conference_name']."\" continue=\"\" uuid=\"".$dialplan_uuid."\">\n";
$dialplan_xml .= " <condition field=\"destination_number\" expression=\"^".$row['conference_extension']."\">\n";
$dialplan_xml .= " <action application=\"answer\" data=\"\"/>\n";
$dialplan_xml .= " <action application=\"conference\" data=\"".$conference_uuid."@".$_SESSION['domain_name']."@default+flags{'".$row['conference_flags']."}\"/>\n";
$dialplan_xml .= " </condition>\n";
$dialplan_xml .= "</extension>\n";
//conference dialplan record
$sql_3 = "select * from v_dialplans where dialplan_uuid = :dialplan_uuid";
$parameters_3['dialplan_uuid'] = $row['dialplan_uuid'];
$database = new database;
$dialplan = $database->select($sql_3, $parameters_3, 'row');
if (is_array($dialplan) && @sizeof($dialplan) != 0) {
//insert the conference dialplan in array
$array['dialplans'][$x]['dialplan_uuid'] = $dialplan_uuid;
$array['dialplans'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
$array['dialplans'][$x]['dialplan_name'] = $row['conference_name'];
$array['dialplans'][$x]['dialplan_number'] = $row['conference_extension'];
$array['dialplans'][$x]['app_uuid'] = 'b81412e8-7253-91f4-e48e-42fc2c9a38d9';
$array['dialplans'][$x]['dialplan_xml'] = $dialplan_xml;
$array['dialplans'][$x]['dialplan_order'] = '333';
$array['dialplans'][$x]['dialplan_context'] = $_SESSION['context'];
$array['dialplans'][$x]['dialplan_enabled'] = $row['conference_enabled'];
$array['dialplans'][$x]['dialplan_description'] = $row['conference_description'].' ('.$text['label-copy'].')';
//copy data
$array['dialplans'][$x] = $dialplan;
//overwrite
$array['dialplans'][$x]['dialplan_uuid'] = $new_dialplan_uuid;
$dialplan_xml = $dialplan['dialplan_xml'];
$dialplan_xml = str_replace($row['conference_uuid'], $new_conference_uuid, $dialplan_xml); //replace source conference_uuid with new
$dialplan_xml = str_replace($dialplan['dialplan_uuid'], $new_dialplan_uuid, $dialplan_xml); //replace source dialplan_uuid with new
$array['dialplans'][$x]['dialplan_xml'] = $dialplan_xml;
$array['dialplans'][$x]['dialplan_description'] = trim($dialplan['dialplan_description'].' ('.$text['label-copy'].')');
}
unset($sql_3, $parameters_3, $dialplan);
}
}
unset($sql, $parameters, $rows, $row);