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 @@
+
+
|