diff --git a/app/conferences_active/conference_interactive_inc.php b/app/conferences_active/conference_interactive_inc.php
index 0b9fbcf0ad..30f217b325 100644
--- a/app/conferences_active/conference_interactive_inc.php
+++ b/app/conferences_active/conference_interactive_inc.php
@@ -66,31 +66,38 @@ else {
else {
//show the content
$xml_str = trim(event_socket_request($fp, 'api '.$switch_cmd));
- try {
- $xml = new SimpleXMLElement($xml_str);
+ if (substr($xml_str, -9) == "not found") {
+ $valid_xml = false;
}
- catch(Exception $e) {
- //echo $e->getMessage();
+ else {
+ $valid_xml = true;
}
- //$name = $xml->conference['name'];
- $session_uuid = $xml->conference['uuid'];
- $member_count = $xml->conference['member-count'];
- $locked = $xml->conference['locked'];
- $recording = $xml->conference['recording'];
- if (strlen($member_count) == 0) {
- $member_count = 0;
- }
-
- //get mute_all
- $mute_all = "true";
- foreach ($xml->conference->members->member as $row) {
- if ($row->flags->is_moderator == "false") {
- if ($row->flags->can_speak == "true") {
- $mute_all = "false";
+ if ($valid_xml) {
+ 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'];
+ if (strlen($member_count) == 0) {
+ $member_count = 0;
+ }
+
+ //get mute_all
+ $mute_all = "true";
+ foreach ($xml->conference->members->member as $row) {
+ if ($row->flags->is_moderator == "false") {
+ if ($row->flags->can_speak == "true") {
+ $mute_all = "false";
+ }
}
}
}
-
$c = 0;
$row_style["0"] = "row_style0";
$row_style["1"] = "row_style1";
@@ -142,80 +149,81 @@ else {
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;
- $is_moderator = $row->flags->is_moderator;
- $uuid = $row->uuid;
- $caller_id_name = $row->caller_id_name;
- $caller_id_name = urldecode($caller_id_name);
- $caller_id_number = $row->caller_id_number;
-
- //format seconds
- $join_time_formatted = sprintf('%02d:%02d:%02d', ($join_time/3600), ($join_time/60%60), $join_time%60);
- $last_talking_formatted = sprintf('%02d:%02d:%02d', ($last_talking/3600), ($last_talking/60%60), $last_talking%60);
-
- if (strlen($record_path) == 0) {
- if (permission_exists('conference_interactive_mute')) {
- $action_mute = ($flag_can_speak == "true") ? 'mute' : 'unmute';
- $td_onclick = "onclick=\"send_cmd('conference_exec.php?cmd=conference&name=".$conference_name."&data=".$action_mute."&id=".$id."');\"";
- $td_title = "title=\"".$text['message-click_to_'.$action_mute]."\"";
- }
- echo "\n";
- echo " ? ) | \n";
- $talking_icon = ($flag_talking == "true") ? "
" : null;
- echo "".$caller_id_name.$talking_icon." | \n";
- echo "".$caller_id_number." | \n";
- echo "";
- echo ($flag_can_hear == "true") ? " " : null;
- echo ($flag_can_speak == "true") ? " " : null;
- if (permission_exists('conference_interactive_video')) {
- echo ($flag_has_video == "true") ? " " : null;
- }
- echo " | \n";
- echo "".$join_time_formatted." | \n";
- echo "".$last_talking_formatted." | \n";
- echo "".$text['label-'.(($flag_has_floor == "true") ? 'yes' : 'no')]." | \n";
- echo "\n";
- //energy
- if (permission_exists('conference_interactive_energy')) {
- echo " \n";
- echo " \n";
- }
- //volume
- if (permission_exists('conference_interactive_volume')) {
- echo " \n";
- echo " \n";
- }
- if (permission_exists('conference_interactive_gain')) {
- echo " \n";
- echo " \n";
- }
- //mute and unmute
+ if ($valid_xml) {
+ if (isset($xml->conference->members->member)) 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;
+ $is_moderator = $row->flags->is_moderator;
+ $uuid = $row->uuid;
+ $caller_id_name = $row->caller_id_name;
+ $caller_id_name = urldecode($caller_id_name);
+ $caller_id_number = $row->caller_id_number;
+
+ //format seconds
+ $join_time_formatted = sprintf('%02d:%02d:%02d', ($join_time/3600), ($join_time/60%60), $join_time%60);
+ $last_talking_formatted = sprintf('%02d:%02d:%02d', ($last_talking/3600), ($last_talking/60%60), $last_talking%60);
+
+ if (strlen($record_path) == 0) {
if (permission_exists('conference_interactive_mute')) {
- echo " \n";
+ $action_mute = ($flag_can_speak == "true") ? 'mute' : 'unmute';
+ $td_onclick = "onclick=\"send_cmd('conference_exec.php?cmd=conference&name=".$conference_name."&data=".$action_mute."&id=".$id."');\"";
+ $td_title = "title=\"".$text['message-click_to_'.$action_mute]."\"";
}
- //deaf and undeaf
- if (permission_exists('conference_interactive_deaf')) {
- $action_deaf = ($flag_can_hear == "true") ? 'deaf' : 'undeaf';
- echo " \n";
+ echo " |
\n";
+ echo " ? ) | \n";
+ $talking_icon = ($flag_talking == "true") ? "
" : null;
+ echo "".$caller_id_name.$talking_icon." | \n";
+ echo "".$caller_id_number." | \n";
+ echo "";
+ echo ($flag_can_hear == "true") ? " " : null;
+ echo ($flag_can_speak == "true") ? " " : null;
+ if (permission_exists('conference_interactive_video')) {
+ echo ($flag_has_video == "true") ? " " : null;
}
- //kick someone from the conference
- if (permission_exists('conference_interactive_kick')) {
- echo " \n";
- }
- echo " | \n";
- echo "
\n";
+ echo "\n";
+ echo "".$join_time_formatted." | \n";
+ echo "".$last_talking_formatted." | \n";
+ echo "".$text['label-'.(($flag_has_floor == "true") ? 'yes' : 'no')]." | \n";
+ echo "\n";
+ //energy
+ if (permission_exists('conference_interactive_energy')) {
+ echo " \n";
+ echo " \n";
+ }
+ //volume
+ if (permission_exists('conference_interactive_volume')) {
+ echo " \n";
+ echo " \n";
+ }
+ if (permission_exists('conference_interactive_gain')) {
+ echo " \n";
+ echo " \n";
+ }
+ //mute and unmute
+ if (permission_exists('conference_interactive_mute')) {
+ echo " \n";
+ }
+ //deaf and undeaf
+ if (permission_exists('conference_interactive_deaf')) {
+ $action_deaf = ($flag_can_hear == "true") ? 'deaf' : 'undeaf';
+ echo " \n";
+ }
+ //kick someone from the conference
+ if (permission_exists('conference_interactive_kick')) {
+ echo " \n";
+ }
+ echo " | \n";
+ echo "\n";
+ }
+ $c = ($c == 0) ? 1 : 0;
}
- $c = ($c == 0) ? 1 : 0;
}
echo "\n";
echo "
";