Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane James Rose */ include "root.php"; require_once "includes/require.php"; require_once "includes/checkauth.php"; if (permission_exists('conferences_active_view')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support require_once "app_languages.php"; foreach($text as $key => $value) { $text[$key] = $value[$_SESSION['domain']['language']['code']]; } //get the http get or post and set it as php variables $conference_name = check_str($_REQUEST["c"]); //determine if the user should have access to the conference room if (if_group("superadmin") || if_group("admin")) { //access granted } else { //get the conference_uuid from the coference_name $sql = "select conference_uuid from v_conferences "; $sql .= "where conference_name = '".$conference_name."' "; $sql .= "and domain_uuid = '".$_SESSION['domain_uuid']."' "; $prep_statement = $db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); $conference_uuid = $row['conference_uuid']; } //show only assigned extensions $sql = "select count(*) as num_rows from v_conferences as c, v_conference_users as u "; $sql .= "where c.conference_uuid = u.conference_uuid "; $sql .= "and c.conference_uuid = '".$conference_uuid."' "; $sql .= "and c.domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and u.user_uuid = '".$_SESSION['user_uuid']."' "; if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } $prep_statement = $db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { echo $text['message-denied']; exit; } } } //replace the space with underscore $conference_name = $conference_name.'-'.$_SESSION['domain_name']; //create the conference list command $switch_cmd = "conference '".$conference_name."' xml_list"; //connect to event socket, send the command and process the results $fp = event_socket_create($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); if (!$fp) { $msg = "
".$text['message-connection']."
"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
".$text['label-message']."
$msg
\n"; echo "
\n"; } else { //show the content $xml_str = trim(event_socket_request($fp, 'api '.$switch_cmd)); try { $xml = new SimpleXMLElement($xml_str); } catch(Exception $e) { //echo $e->getMessage(); } //$name = $xml->conference['name']; $session_uuid = $xml->conference['uuid']; $member_count = $xml->conference['member-count']; $locked = $xml->conference['locked']; $recording = $xml->conference['recording']; $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; echo "
\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; foreach ($xml->conference->members->member as $row) { $id = $row->id; $record_path = $row->record_path; $flag_can_hear = $row->flags->can_hear; $flag_can_speak = $row->flags->can_speak; $flag_talking = $row->flags->talking; $last_talking = $row->last_talking; $join_time = $row->join_time; $flag_has_video = $row->flags->has_video; $flag_has_floor = $row->flags->has_floor; $uuid = $row->uuid; $caller_id_name = $row->caller_id_name; $caller_id_name = str_replace("%20", " ", $caller_id_name); $caller_id_number = $row->caller_id_number; //format the seconds $join_time_formatted = floor($join_time/60)."' ".($join_time - (floor($join_time/60))*60)."\""; $last_talking_formatted = floor($last_talking/60)."' ".($last_talking - (floor($last_talking/60))*60)."\""; if (strlen($record_path) == 0) { echo "\n"; echo "\n"; //echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($flag_can_hear == "true") { echo "\n"; } else { echo "\n"; } if ($flag_can_speak == "true") { echo "\n"; } else { echo "\n"; } if ($flag_talking == "true") { echo "\n"; } else { echo "\n"; } echo "\n"; if ($flag_has_video == "true") { echo "\n"; } else { echo "\n"; } if ($flag_has_floor == "true") { echo "\n"; } else { echo "\n"; } echo "\n"; echo "\n"; } if ($c==0) { $c=1; } else { $c=0; } } echo "
\n"; echo " Count: $member_count\n"; echo "\n"; echo "  \n"; echo "\n"; if (permission_exists('conferences_active_record') || permission_exists('conferences_active_lock')) { echo " ".$text['label-tools'].": \n"; } $recording_dir = $_SESSION['switch']['recordings']['dir'].'/archive/'.date("Y").'/'.date("M").'/'.date("d"); $recording_name = ''; if (file_exists($recording_dir.'/'.$row['uuid'].'.wav')) { $recording_name = $session_uuid.".wav"; } elseif (file_exists($recording_dir.'/'.$row['uuid'].'.mp3')) { $recording_name = $session_uuid.".mp3"; } if (permission_exists('conferences_active_record')) { if ($recording == "true") { echo " ".$text['button-stop-rec']." \n"; } else { echo " ".$text['button-start-rec']." \n"; } } else { if ($recording == "true") { echo " ".$text['label-recording']."  "; } else { echo " ".$text['label-not-recording']."  "; } } if (permission_exists('conferences_active_lock')) { if ($locked == "true") { echo " ".$text['label-unlock']." \n"; } else { echo " ".$text['label-lock']." \n"; } } echo "
".$text['label-id']."UUID".$text['label-cid-name']."".$text['label-cid-num']."".$text['label-joined']."".$text['label-hear']."".$text['label-speak']."".$text['label-talking']."".$text['label-last-talk']."".$text['label-video']."".$text['label-floor']."".$text['label-tool']."
$id$uuid$caller_id_name$caller_id_number".$join_time_formatted."".$text['label-yes']."".$text['label-no']."".$text['label-yes']."".$text['label-no']."".$text['label-yes']."".$text['label-no']."$last_talking_formatted".$text['label-yes']."".$text['label-no']."".$text['label-yes']."".$text['label-no']."\n"; //energy if (permission_exists('conferences_active_energy')) { echo " +".$text['label-energy']." \n"; echo " -".$text['label-energy']." \n"; } //volume if (permission_exists('conferences_active_volume')) { echo " +".$text['label-volume']." \n"; echo " -".$text['label-volume']." \n"; } if (permission_exists('conferences_active_gain')) { echo " +".$text['label-gain']." \n"; echo " -".$text['label-gain']." \n"; } //mute and unmute if (permission_exists('conferences_active_mute')) { if ($flag_can_speak == "true"){ echo " ".$text['label-mute']." \n"; } else { echo " ".$text['label-unmute']." \n"; } } //deaf and undeaf if (permission_exists('conferences_active_deaf')) { if ($flag_can_hear == "true"){ echo " ".$text['label-deaf']." \n"; } else { echo " ".$text['label-undeaf']." \n"; } } //kick someone from the conference if (permission_exists('conferences_active_kick')) { echo " ".$text['label-kick']." \n"; } echo "  "; echo "
\n"; } ?>