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 "