From c1f47f31daf065391187b06f6627b1065d1e776b Mon Sep 17 00:00:00 2001 From: hershyheilpern Date: Thu, 26 Mar 2020 23:22:44 -0400 Subject: [PATCH] Conference center raise hand feature (#5212) * Update app_languages.php * Update conference_interactive_inc.php * Update conference_exec.php * Create raise_hand.lua * Update conference.conf * Update app_languages.php --- app/conferences_active/app_languages.php | 20 +++++++++++++++++++ app/conferences_active/conference_exec.php | 2 ++ .../conference_interactive_inc.php | 10 ++++++---- .../resources/scripts/raise_hand.lua | 15 ++++++++++++++ .../conf/autoload_configs/conference.conf | 2 ++ 5 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 app/scripts/resources/scripts/app/conference_center/resources/scripts/raise_hand.lua 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 @@ + +