diff --git a/app/conference_centers/app_config.php b/app/conference_centers/app_config.php
index e4a11170d5..3ade4d1c94 100644
--- a/app/conference_centers/app_config.php
+++ b/app/conference_centers/app_config.php
@@ -82,6 +82,41 @@
$apps[$x]['permissions'][$y]['groups'][] = 'admin';
$apps[$x]['permissions'][$y]['groups'][] = 'user';
$y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_profile';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_record';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_max_members';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_wait_mod';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_announce';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_mute';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_room_enabled';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'user';
+ $y++;
//schema details
$y = 0; //table array index
diff --git a/app/conference_centers/app_languages.php b/app/conference_centers/app_languages.php
index b360ff0fc5..2deeede7d4 100644
--- a/app/conference_centers/app_languages.php
+++ b/app/conference_centers/app_languages.php
@@ -114,7 +114,7 @@
$text['label-users']['en-us'] = 'Users';
$text['label-users']['pt-pt'] = '';
- $text['description-users']['en-us'] = 'Assign the user to the conference room.';
+ $text['description-users']['en-us'] = 'Assign additional users to the conference room.';
$text['description-users']['pt-pt'] = '';
$text['button-add']['en-us'] = 'Add';
@@ -129,10 +129,10 @@
$text['label-member-pin']['en-us'] = 'PIN Numbers';
$text['label-member-pin']['pt-pt'] = '';
- $text['description-moderator-pin']['en-us'] = 'Pin numbers for the moderators.';
+ $text['description-moderator-pin']['en-us'] = 'Pin number for the moderators.';
$text['description-moderator-pin']['pt-pt'] = '';
- $text['description-participant-pin']['en-us'] = 'Pin numbers for the participants.';
+ $text['description-participant-pin']['en-us'] = 'Pin number for the participants.';
$text['description-participant-pin']['pt-pt'] = '';
$text['label-member-type-moderator']['en-us'] = 'moderator';
diff --git a/app/conference_centers/conference_room_edit.php b/app/conference_centers/conference_room_edit.php
index ffa1418b2d..3891a440f4 100644
--- a/app/conference_centers/conference_room_edit.php
+++ b/app/conference_centers/conference_room_edit.php
@@ -73,6 +73,37 @@ else {
$participant_pin = preg_replace('{\D}', '', $participant_pin);
}
+function get_meeting_pin($length, $meeting_uuid) {
+ global $db;
+ $pin = generate_password($length,1);
+ $sql = "select count(*) as num_rows from v_meeting_pins ";
+ $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
+ $sql .= "and meeting_uuid <> '".$meeting_uuid."' ";
+ $sql .= "and member_pin = '".$pin."' ";
+ $prep_statement = $db->prepare(check_sql($sql));
+ if ($prep_statement) {
+ $prep_statement->execute();
+ $row = $prep_statement->fetch(PDO::FETCH_ASSOC);
+ if ($row['num_rows'] == 0) {
+ return $pin;
+ }
+ else {
+ get_meeting_pin($length, $uuid);
+ }
+ }
+}
+
+//generate the pins
+ if ($action == "add") {
+ $length = 9;
+ if (strlen($moderator_pin) > 0) {
+ $moderator_pin = get_meeting_pin($length, $meeting_uuid);
+ }
+ if (strlen($moderator_pin) > 0) {
+ $participant_pin = get_meeting_pin($length, $meeting_uuid);
+ }
+ }
+
//delete the user
if ($_GET["a"] == "delete" && permission_exists('conference_room_add') && permission_exists('conference_room_edit')) {
if (strlen($_REQUEST["meeting_user_uuid"]) > 0) {
@@ -105,6 +136,18 @@ else {
return;
}
+//get the conference centers
+ $sql = "select * from v_conference_centers ";
+ $sql .= "where domain_uuid = '$domain_uuid' ";
+ $sql .= "order by conference_center_name asc ";
+ $prep_statement = $db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $conference_centers = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
+ $conference_center_count = count($conference_centers);
+ if ($conference_center_count == 1) {
+ $conference_center_uuid = $conference_centers[0]["conference_center_uuid"];
+ }
+
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$msg = '';
@@ -158,13 +201,13 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
//if (strlen($conference_center_uuid) == 0) { $msg .= "Please provide: Conference UUID
\n"; }
//if (strlen($max_members) == 0) { $msg .= "Please provide: Max Members
\n"; }
//if (strlen($wait_mod) == 0) { $msg .= "Please provide: Wait for the Moderator
\n"; }
- if (strlen($profile) == 0) { $msg .= "Please provide: Conference Profile
\n"; }
- if (strlen($announce) == 0) { $msg .= "Please provide: Announce
\n"; }
+ //if (strlen($profile) == 0) { $msg .= "Please provide: Conference Profile
\n"; }
+ //if (strlen($announce) == 0) { $msg .= "Please provide: Announce
\n"; }
//if (strlen($enter_sound) == 0) { $msg .= "Please provide: Enter Sound
\n"; }
- if (strlen($mute) == 0) { $msg .= "Please provide: Mute
\n"; }
+ //if (strlen($mute) == 0) { $msg .= "Please provide: Mute
\n"; }
//if (strlen($created) == 0) { $msg .= "Please provide: Created
\n"; }
//if (strlen($created_by) == 0) { $msg .= "Please provide: Created By
\n"; }
- if (strlen($enabled) == 0) { $msg .= "Please provide: Enabled
\n"; }
+ //if (strlen($enabled) == 0) { $msg .= "Please provide: Enabled
\n"; }
//if (strlen($description) == 0) { $msg .= "Please provide: Description
\n"; }
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
require_once "includes/header.php";
@@ -183,6 +226,15 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if ($_POST["persistformvar"] != "true") {
if ($action == "add" && permission_exists('conference_room_add')) {
+ //set default values
+ if (strlen($profile) == 0) { $profile = 'default'; }
+ if (strlen($record) == 0) { $record = 'false'; }
+ if (strlen($max_members) == 0) { $max_members = 0; }
+ if (strlen($wait_mod) == 0) { $wait_mod = 'true'; }
+ if (strlen($announce) == 0) { $announce = 'true'; }
+ if (strlen($mute) == 0) { $mute = 'false'; }
+ if (strlen($enabled) == 0) { $enabled = 'true'; }
+
//add a meeting
$meeting_uuid = uuid();
$sql = "insert into v_meetings ";
@@ -298,18 +350,31 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$sql = "update v_conference_rooms set ";
$sql .= "conference_center_uuid = '$conference_center_uuid', ";
//$sql .= "meeting_uuid = '$meeting_uuid', ";
- $sql .= "profile = '$profile', ";
- $sql .= "record = '$record', ";
- $sql .= "max_members = '$max_members', ";
- $sql .= "wait_mod = '$wait_mod', ";
- $sql .= "announce = '$announce', ";
+ if (strlen($profile) > 0) {
+ $sql .= "profile = '$profile', ";
+ }
+ if (strlen($record) > 0) {
+ $sql .= "record = '$record', ";
+ }
+ if (strlen($max_members) > 0) {
+ $sql .= "max_members = '$max_members', ";
+ }
+ if (strlen($wait_mod) > 0) {
+ $sql .= "wait_mod = '$wait_mod', ";
+ }
+ if (strlen($announce) > 0) {
+ $sql .= "announce = '$announce', ";
+ }
//$sql .= "enter_sound = '$enter_sound', ";
- $sql .= "mute = '$mute', ";
- $sql .= "enabled = '$enabled', ";
+ if (strlen($mute) > 0) {
+ $sql .= "mute = '$mute', ";
+ }
+ if (strlen($enabled) > 0) {
+ $sql .= "enabled = '$enabled', ";
+ }
$sql .= "description = '$description' ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and conference_room_uuid = '$conference_room_uuid' ";
- //echo $sql; //exit;
$db->exec(check_sql($sql));
unset($sql);
} //if ($action == "update")
@@ -475,9 +540,6 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$result_count = count($result);
foreach($result as $field) {
$member_pin = $field['member_pin'];
- if (strlen($member_pin) == 9) {
- $member_pin = substr($member_pin, 0, 3) ."-". substr($member_pin, 3, 3) ."-". substr($member_pin, -3)."\n";
- }
if ($field['member_type'] == "moderator") {
$moderator_pin = $member_pin;
}
@@ -487,6 +549,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
}
}
+//format the pins
+ if (strlen($moderator_pin) == 9) {
+ $moderator_pin = substr($moderator_pin, 0, 3) ."-". substr($moderator_pin, 3, 3) ."-". substr($moderator_pin, -3)."\n";
+ }
+ if (strlen($participant_pin) == 9) {
+ $participant_pin = substr($participant_pin, 0, 3) ."-". substr($participant_pin, 3, 3) ."-". substr($participant_pin, -3)."\n";
+ }
+
//set default values
if (strlen($record) == 0) { $record = 'false'; }
if (strlen($max_members) == 0) { $max_members = 0; }
@@ -522,34 +592,48 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo "\n";
echo "\n";
- echo "