diff --git a/app/conferences_active/app_languages.php b/app/conferences_active/app_languages.php index 28c7bb6dd2..546cfa86fc 100644 --- a/app/conferences_active/app_languages.php +++ b/app/conferences_active/app_languages.php @@ -526,6 +526,26 @@ $text['label-mute']['ru-ru'] = "Отключить микрофон"; $text['label-mute']['sv-se'] = "Stäng av mikrofon"; $text['label-mute']['uk-ua'] = ""; +$text['label-hand_raised']['en-us'] = "Hand Raised"; +$text['label-hand_raised']['ar-eg'] = ""; +$text['label-hand_raised']['de-at'] = ""; +$text['label-hand_raised']['de-ch'] = ""; +$text['label-hand_raised']['de-de'] = ""; +$text['label-hand_raised']['es-cl'] = ""; +$text['label-hand_raised']['es-mx'] = ""; +$text['label-hand_raised']['fr-ca'] = ""; +$text['label-hand_raised']['fr-fr'] = ""; +$text['label-hand_raised']['he-il'] = ""; +$text['label-hand_raised']['it-it'] = ""; +$text['label-hand_raised']['nl-nl'] = ""; +$text['label-hand_raised']['pl-pl'] = ""; +$text['label-hand_raised']['pt-br'] = ""; +$text['label-hand_raised']['pt-pt'] = ""; +$text['label-hand_raised']['ro-ro'] = ""; +$text['label-hand_raised']['ru-ru'] = ""; +$text['label-hand_raised']['sv-se'] = ""; +$text['label-hand_raised']['uk-ua'] = ""; + $text['label-moderator']['en-us'] = "Moderator"; $text['label-moderator']['en-gb'] = "Moderator"; $text['label-moderator']['ar-eg'] = ""; diff --git a/app/conferences_active/conference_exec.php b/app/conferences_active/conference_exec.php index bd30b5209d..b102bfb2db 100644 --- a/app/conferences_active/conference_exec.php +++ b/app/conferences_active/conference_exec.php @@ -240,6 +240,8 @@ } elseif ($data == "mute" || $data == "unmute" || $data == "mute non_moderator" || $data == "unmute non_moderator") { $switch_result = event_socket_request($fp, 'api '.$switch_cmd); + $switch_cmd = "uuid_setvar ".$uuid. " hand_raised false"; + event_socket_request($fp, 'api '.$switch_cmd); } elseif ($data == "deaf" || $data == "undeaf" ) { $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 c3cfffcc51..56d744b6be 100644 --- a/app/conferences_active/conference_interactive_inc.php +++ b/app/conferences_active/conference_interactive_inc.php @@ -150,6 +150,7 @@ echo "".$text['label-joined']."\n"; echo "".$text['label-quiet']."\n"; echo "".$text['label-floor']."\n"; + echo "".$text['label-hand_raised']."\n"; echo "".$text['label-capabilities']."\n"; if (permission_exists('conference_interactive_energy')) { echo "".$text['label-energy']."\n"; @@ -162,7 +163,6 @@ } echo " \n"; echo "\n"; - if ($valid_xml && isset($xml->conference->members->member)) { foreach ($xml->conference->members->member as $row) { $id = $row->id; @@ -179,7 +179,8 @@ $caller_id_name = $row->caller_id_name; $caller_id_name = urldecode($caller_id_name); $caller_id_number = $row->caller_id_number; - + $switch_cmd = "uuid_getvar ".$uuid. " hand_raised"; + $hand_raised = (trim(event_socket_request($fp, 'api '.$switch_cmd)) == "true") ? "true" : "false"; //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); @@ -206,6 +207,7 @@ echo "".escape($join_time_formatted)."\n"; echo "".escape($last_talking_formatted)."\n"; echo "".$text['label-'.(($flag_has_floor == "true") ? 'yes' : 'no')]."\n"; + echo "".$text['label-'.(($hand_raised == "true") ? 'yes' : 'no')]."\n"; echo ""; echo ($flag_can_speak == "true") ? "" : ""; echo ($flag_can_hear == "true") ? "" : ""; @@ -241,7 +243,7 @@ echo button::create(['type'=>'button','label'=>$text['label-mute'],'icon'=>'microphone-slash','onclick'=>"send_cmd('conference_exec.php?cmd=conference&name=".urlencode($conference_name)."&data=mute&id=".urlencode($id)."');"]); } else { //unmute - echo button::create(['type'=>'button','label'=>$text['label-unmute'],'icon'=>'microphone','onclick'=>"send_cmd('conference_exec.php?cmd=conference&name=".urlencode($conference_name)."&data=unmute&id=".urlencode($id)."');"]); + echo button::create(['type'=>'button','label'=>$text['label-unmute'],'icon'=>'microphone','onclick'=>"send_cmd('conference_exec.php?cmd=conference&name=".urlencode($conference_name)."&data=unmute&id=".urlencode($id)."&uuid=".escape($uuid)."');"]); } } //deaf and undeaf @@ -266,4 +268,4 @@ echo "

"; } -?> \ No newline at end of file +?> diff --git a/app/scripts/resources/scripts/app/conference_center/resources/scripts/raise_hand.lua b/app/scripts/resources/scripts/app/conference_center/resources/scripts/raise_hand.lua new file mode 100644 index 0000000000..ab48e2d343 --- /dev/null +++ b/app/scripts/resources/scripts/app/conference_center/resources/scripts/raise_hand.lua @@ -0,0 +1,15 @@ +--options are true and false and toggle + data = argv[1]; + if (data == "toggle") then + data = session:getVariable("hand_raised") + if(data == "true")then + session:setVariable("hand_raised","false") + else + session:setVariable("hand_raised","true") + end + elseif(data == "true")then + session:setVariable("hand_raised","true") + elseif(data == "false")then + session:setVariable("hand_raised","false") + end + diff --git a/resources/templates/conf/autoload_configs/conference.conf b/resources/templates/conf/autoload_configs/conference.conf index d7d54807d0..6e646a5631 100644 --- a/resources/templates/conf/autoload_configs/conference.conf +++ b/resources/templates/conf/autoload_configs/conference.conf @@ -22,6 +22,8 @@ + +