From 290af88516c48c594ab198127530b2ddb7b06dbe Mon Sep 17 00:00:00 2001 From: Nate Date: Sat, 30 Nov 2019 12:33:00 -0700 Subject: [PATCH] Update conferences.php --- .../resources/classes/conferences.php | 84 ++++++++++--------- 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/app/conferences/resources/classes/conferences.php b/app/conferences/resources/classes/conferences.php index b6765f603a..666a0bcf08 100644 --- a/app/conferences/resources/classes/conferences.php +++ b/app/conferences/resources/classes/conferences.php @@ -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 = "\n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= " \n"; - $dialplan_xml .= "\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);