diff --git a/app/conference_centers/app_config.php b/app/conference_centers/app_config.php
index 9297b7016c..27cb139736 100644
--- a/app/conference_centers/app_config.php
+++ b/app/conference_centers/app_config.php
@@ -85,6 +85,10 @@
$apps[$x]['permissions'][$y]['groups'][] = 'admin';
$apps[$x]['permissions'][$y]['groups'][] = 'user';
$y++;
+ $apps[$x]['permissions'][$y]['name'] = 'conference_session_details';
+ $apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
+ $apps[$x]['permissions'][$y]['groups'][] = 'admin';
+ $y++;
$apps[$x]['permissions'][$y]['name'] = 'conference_room_profile';
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
$apps[$x]['permissions'][$y]['groups'][] = 'admin';
diff --git a/app/conference_centers/conference_room_edit.php b/app/conference_centers/conference_room_edit.php
index 523f208972..ca84410cae 100644
--- a/app/conference_centers/conference_room_edit.php
+++ b/app/conference_centers/conference_room_edit.php
@@ -179,7 +179,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($moderator_pin) > 0) {
$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 meeting_uuid = '".$meeting_uuid."' ";
$sql .= "and member_pin = '".$moderator_pin."' ";
$prep_statement = $db->prepare(check_sql($sql));
if ($prep_statement) {
@@ -191,7 +191,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
}
$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 meeting_uuid = '".$meeting_uuid."' ";
$sql .= "and member_pin = '".$participant_pin."' ";
$prep_statement = $db->prepare(check_sql($sql));
if ($prep_statement) {
@@ -201,11 +201,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$msg .= "Please provide a unique participant pin number.
\n";
}
}
+ if ($moderator_pin == $participant_pin) {
+ $msg .= "Moderator and Participant PIN number must be unique.\n";
+ }
if (strlen($moderator_pin) != $pin_length) {
- $msg .= "Please provide a moderator PIN number that is the required length\n";
+ $msg .= "Please provide a moderator PIN number that is the required length.\n";
}
if (strlen($participant_pin) != $pin_length) {
- $msg .= "Please provide a participant PIN number that is the required length\n";
+ $msg .= "Please provide a participant PIN number that is the required length.\n";
}
}
diff --git a/app/conference_centers/conference_session_details.php b/app/conference_centers/conference_session_details.php
index af6322046a..7e307dd89e 100644
--- a/app/conference_centers/conference_session_details.php
+++ b/app/conference_centers/conference_session_details.php
@@ -177,7 +177,9 @@ else {
echo "
".$text['label-time']." | \n";
echo th_order_by('start_epoch', $text['label-start'], $order_by, $order);
echo th_order_by('end_epoch', $text['label-end'], $order_by, $order);
- echo "".$text['label-details']." | \n";
+ if (permission_exists('conference_session_details')) {
+ echo "".$text['label-details']." | \n";
+ }
echo "\n";
if ($result_count > 0) {
@@ -204,7 +206,9 @@ else {
echo " | ".$time_difference." | \n";
echo " ".$start_date." | \n";
echo " ".$end_date." | \n";
- echo " ".$text['label-cdr']." | \n";
+ if (permission_exists('conference_session_details')) {
+ echo " ".$text['label-cdr']." | \n";
+ }
echo "
\n";
if ($c==0) { $c=1; } else { $c=0; }
} //end foreach
diff --git a/app/conference_centers/conference_sessions.php b/app/conference_centers/conference_sessions.php
index 0776eb497f..2f46b7dd9a 100644
--- a/app/conference_centers/conference_sessions.php
+++ b/app/conference_centers/conference_sessions.php
@@ -147,35 +147,37 @@ else {
$time_difference = gmdate("G:i:s", $time_difference);
}
- echo "\n";
- echo " | ".$time_difference." | \n";
- echo " ".$start_date." | \n";
- echo " ".$end_date." | \n";
- echo " ".$row['profile']." | \n";
- $tmp_dir = $_SESSION['switch']['recordings']['dir'].'/archive/'.$tmp_year.'/'.$tmp_month.'/'.$tmp_day;
- $tmp_name = '';
- if (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.mp3')) {
- $tmp_name = $row['conference_session_uuid'].".mp3";
- }
- elseif (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.wav')) {
- $tmp_name = $row['conference_session_uuid'].".wav";
- }
- echo " \n";
- echo " ".$text['label-details']." \n";
- if (strlen($tmp_name) > 0 && file_exists($tmp_dir.'/'.$tmp_name)) {
- if (permission_exists('conference_session_play')) {
- echo " \n";
- echo " ".$text['label-play']."\n";
+ if (strlen( $row['start_epoch']) > 0) {
+ echo "\n";
+ echo " | ".$time_difference." | \n";
+ echo " ".$start_date." | \n";
+ echo " ".$end_date." | \n";
+ echo " ".$row['profile']." | \n";
+ $tmp_dir = $_SESSION['switch']['recordings']['dir'].'/archive/'.$tmp_year.'/'.$tmp_month.'/'.$tmp_day;
+ $tmp_name = '';
+ if (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.mp3')) {
+ $tmp_name = $row['conference_session_uuid'].".mp3";
+ }
+ elseif (file_exists($tmp_dir.'/'.$row['conference_session_uuid'].'.wav')) {
+ $tmp_name = $row['conference_session_uuid'].".wav";
+ }
+ echo " \n";
+ echo " ".$text['label-details']." \n";
+ if (strlen($tmp_name) > 0 && file_exists($tmp_dir.'/'.$tmp_name)) {
+ if (permission_exists('conference_session_play')) {
+ echo " \n";
+ echo " ".$text['label-play']."\n";
+ echo " \n";
+ echo " \n";
+ }
+ echo " \n";
+ echo " ".$text['label-download']."\n";
echo " \n";
echo " \n";
}
- echo " \n";
- echo " ".$text['label-download']."\n";
- echo " \n";
- echo " \n";
+ echo " | \n";
+ echo " \n";
}
- echo " | \n";
- echo "
\n";
if ($c==0) { $c=1; } else { $c=0; }
} //end foreach
unset($sql, $result, $row_count);
diff --git a/app/conferences_active/conference_exec.php b/app/conferences_active/conference_exec.php
index a2d3d155e3..00c493f3ee 100644
--- a/app/conferences_active/conference_exec.php
+++ b/app/conferences_active/conference_exec.php
@@ -74,6 +74,30 @@ else {
exit;
}
+//define an alternative kick all
+ function conference_end($fp, $name) {
+ $switch_cmd = "conference '".$name."' xml_list";
+ $xml_str = trim(event_socket_request($fp, 'api '.$switch_cmd));
+ try {
+ $xml = new SimpleXMLElement($xml_str);
+ }
+ catch(Exception $e) {
+ //echo $e->getMessage();
+ }
+ $session_uuid = $xml->conference['uuid'];
+ $x = 0;
+ foreach ($xml->conference->members->member as $row) {
+ $switch_result = event_socket_request($fp, 'api uuid_kill '.$row->uuid);
+ if ($x < 1) {
+ usleep(500000); //500000 = 0.5 seconds
+ }
+ else {
+ usleep(10000); //1000000 = 0.01 seconds
+ }
+ $x++;
+ }
+ }
+
//execute the command
if (count($_GET) > 0) {
if (strlen($cmd) > 0) {
@@ -129,8 +153,12 @@ else {
$switch_cmd .= $recording_dir."/".$uuid.".wav";
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
}
- elseif ($data == "kick" || $data == "kick all") {
- $switch_result = event_socket_request($fp, 'api '.$switch_cmd);
+ elseif ($data == "kick") {
+ $switch_result = event_socket_request($fp, 'api uuid_kill '.$uuid);
+ }
+ elseif ($data == "kick all") {
+ //$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
+ conference_end($fp, $name);
}
elseif ($data == "mute" || $data == "unmute" || $data == "mute non_moderator" || $data == "unmute non_moderator") {
$switch_result = event_socket_request($fp, 'api '.$switch_cmd);
diff --git a/app/conferences_active/conference_interactive_inc.php b/app/conferences_active/conference_interactive_inc.php
index f34f4206be..d852341543 100644
--- a/app/conferences_active/conference_interactive_inc.php
+++ b/app/conferences_active/conference_interactive_inc.php
@@ -268,7 +268,7 @@ else {
}
//kick someone from the conference
if (permission_exists('conferences_active_kick')) {
- echo " ".$text['label-kick']." \n";
+ echo " ".$text['label-kick']." \n";
}
echo " ";
echo "\n";
diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php
index 5778b91152..798655d746 100644
--- a/app/extensions/extension_edit.php
+++ b/app/extensions/extension_edit.php
@@ -779,6 +779,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$sql .= "and u.user_enabled = 'true' ";
$sql .= "and e.domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and e.extension_uuid = '".$extension_uuid."' ";
+ $sql .= "order by u.username asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
@@ -797,6 +798,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
$sql = "SELECT * FROM v_users ";
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
$sql .= "and user_enabled = 'true' ";
+ $sql .= "order by username asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
echo "