You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/01/11 09:15:37 UTC

svn commit: r1778259 [2/2] - in /openmeetings/application: branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ branches/3.2.x/openmeetings-flash/src/main/swf/ branches/3.2.x/openmeetings-flash/src/main/swf/base/ bra...

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Wed Jan 11 09:15:37 2017
@@ -232,9 +232,11 @@ public class Application extends Authent
 			rcl.setIsSuperModerator(client.hasRight(Right.superModerator));
 			rcl.setIsMod(client.hasRight(Right.moderator));
 			rcl.setIsBroadcasting(client.hasRight(Right.audio));
-			rcl.setCanVideo(client.hasRight(Right.video) && client.hasActivity(Activity.broadcastV));
+			rcl.setCanVideo(client.hasRight(Right.video) && client.isCamEnabled() && client.hasActivity(Activity.broadcastV));
 			rcl.setCanDraw(client.hasRight(Right.whiteBoard));
 			if (client.hasActivity(Activity.broadcastA) || client.hasActivity(Activity.broadcastV)) {
+				rcl.setVWidth(client.getWidth());
+				rcl.setVHeight(client.getHeight());
 				if (client.getPod() != Pod.none) {
 					rcl.setInterviewPodId(client.getPod() == Pod.left ? 1 : 2);
 				}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Wed Jan 11 09:15:37 2017
@@ -38,6 +38,7 @@ import org.apache.openmeetings.web.room.
 import org.apache.openmeetings.web.room.RoomPanel.Action;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.json.JSONObject;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
 import org.apache.wicket.markup.head.IHeaderResponse;
@@ -50,6 +51,7 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -62,11 +64,13 @@ public class RoomSidebar extends Panel {
 	public static final String FUNC_TOGGLE_RIGHT = "toggleRight";
 	public static final String FUNC_TOGGLE_ACTIVITY = "toggleActivity";
 	public static final String FUNC_ACTION = "roomAction";
+	public static final String FUNC_SETTINGS = "avSettings";
 	public static final String PARAM_ACTION = "action";
 	public static final String PARAM_ACTIVITY = "activity";
 	public static final String PARAM_RIGHT = "right";
 	public static final String PARAM_UID = "uid";
 	public static final String PARAM_POD = "pod";
+	public static final String PARAM_SETTINGS = "s";
 	private final RoomPanel room;
 	private final TabbedPanel tabs;
 	private final ITab userTab;
@@ -91,12 +95,12 @@ public class RoomSidebar extends Panel {
 		@Override
 		protected void respond(AjaxRequestTarget target) {
 			try {
-				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString(); 
+				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
 				if (Strings.isEmpty(uid)) {
 					return;
 				}
 				if (room.getClient().hasRight(Right.moderator)) {
-					Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString()); 
+					Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString());
 					kickedClient = getOnlineClient(uid);
 					if (kickedClient == null) {
 						return;
@@ -121,11 +125,11 @@ public class RoomSidebar extends Panel {
 		@Override
 		protected void respond(AjaxRequestTarget target) {
 			try {
-				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString(); 
+				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
 				if (Strings.isEmpty(uid)) {
 					return;
 				}
-				Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString()); 
+				Right right = Right.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_RIGHT).toString());
 				if (room.getClient().hasRight(Right.moderator)) {
 					Client client = getOnlineClient(uid);
 					if (client == null) {
@@ -158,11 +162,11 @@ public class RoomSidebar extends Panel {
 		@Override
 		protected void respond(AjaxRequestTarget target) {
 			try {
-				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString(); 
+				String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
 				if (Strings.isEmpty(uid)) {
 					return;
 				}
-				Activity a = Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString()); 
+				Activity a = Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
 				Client c = getOnlineClient(uid);
 				if (c == null) {
 					return;
@@ -176,6 +180,15 @@ public class RoomSidebar extends Panel {
 					}
 				}
 				if (activityAllowed(c, a, room.getRoom())) {
+					if (a == Activity.broadcastA && !c.isMicEnabled()) {
+						return;
+					}
+					if (a == Activity.broadcastV && !c.isCamEnabled()) {
+						return;
+					}
+					if (a == Activity.broadcastAV && !c.isMicEnabled() && !c.isCamEnabled()) {
+						return;
+					}
 					Pod pod = c.getPod();
 					c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
 					if (pod != Pod.none && pod != c.getPod()) {
@@ -191,6 +204,23 @@ public class RoomSidebar extends Panel {
 			}
 		}
 	};
+	private final AbstractDefaultAjaxBehavior avSettings = new AbstractDefaultAjaxBehavior() {
+		private static final long serialVersionUID = 1L;
+
+		@Override
+		protected void respond(AjaxRequestTarget target) {
+			StringValue s = getRequest().getRequestParameters().getParameterValue(PARAM_SETTINGS);
+			if (!s.isEmpty()) {
+				JSONObject o = new JSONObject(s.toString());
+				room.getClient().setCam(o.getInt("cam"));
+				room.getClient().setMic(o.getInt("mic"));
+				boolean interview = Room.Type.interview == room.getRoom().getType();
+				room.getClient().setWidth(interview ? 320 : o.getInt("width"));
+				room.getClient().setHeight(interview ? 260 : o.getInt("height"));
+				room.broadcast(target, room.getClient());
+			}
+		}
+	};
 
 	public RoomSidebar(String id, final RoomPanel room) {
 		super(id);
@@ -204,12 +234,12 @@ public class RoomSidebar extends Panel {
 			public boolean isVisible() {
 				return true;
 			}
-			
+
 			@Override
 			public IModel<String> getTitle() {
 				return Model.of(getString("613"));
 			}
-			
+
 			@Override
 			public WebMarkupContainer getPanel(String containerId) {
 				return new UserFragment(containerId, "user-panel");
@@ -222,12 +252,12 @@ public class RoomSidebar extends Panel {
 			public boolean isVisible() {
 				return showFiles;
 			}
-			
+
 			@Override
 			public IModel<String> getTitle() {
 				return Model.of(getString("614"));
 			}
-			
+
 			@Override
 			public WebMarkupContainer getPanel(String containerId) {
 				return new FileFragment(containerId, "file-panel");
@@ -245,23 +275,24 @@ public class RoomSidebar extends Panel {
 				room.kickUser(target, kickedClient);
 			}
 		});
-		add(toggleRight, toggleActivity, roomAction);
+		add(toggleRight, toggleActivity, roomAction, avSettings);
 	}
-	
+
 	@Override
 	public void renderHead(IHeaderResponse response) {
 		super.renderHead(response);
 		response.render(new PriorityHeaderItem(getNamedFunction(FUNC_TOGGLE_RIGHT, toggleRight, explicit(PARAM_RIGHT), explicit(PARAM_UID))));
 		response.render(new PriorityHeaderItem(getNamedFunction(FUNC_TOGGLE_ACTIVITY, toggleActivity, explicit(PARAM_ACTIVITY), explicit(PARAM_UID), explicit(PARAM_POD))));
 		response.render(new PriorityHeaderItem(getNamedFunction(FUNC_ACTION, roomAction, explicit(PARAM_ACTION), explicit(PARAM_UID))));
+		response.render(new PriorityHeaderItem(getNamedFunction(FUNC_SETTINGS, avSettings, explicit(PARAM_SETTINGS))));
 	}
-	
+
 	private ListView<Client> updateUsers() {
 		//TODO do we need sort??
 		users.setList(getRoomClients(room.getRoom().getId()));
 		return users;
 	}
-	
+
 	public class UserFragment extends Fragment {
 		private static final long serialVersionUID = 1L;
 
@@ -271,7 +302,7 @@ public class RoomSidebar extends Panel {
 			add(updateUsers());
 		}
 	}
-	
+
 	public class FileFragment extends Fragment {
 		private static final long serialVersionUID = 1L;
 
@@ -300,7 +331,7 @@ public class RoomSidebar extends Panel {
 	public boolean isShowFiles() {
 		return showFiles;
 	}
-	
+
 	public void showUpload(IPartialPageRequestHandler handler) {
 		upload.open(handler);
 	}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/ClientIcon.java Wed Jan 11 09:15:37 2017
@@ -72,6 +72,8 @@ public abstract class ClientIcon extends
 			//request/remove
 			cls.append(CLS_CLICKABLE);
 			add(AttributeAppender.replace("onclick", getScript()));
+		} else {
+			add(AttributeAppender.replace("onclick", ""));
 		}
 		internalUpdate();
 		add(AttributeAppender.replace("title", getTitle()));

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/RefreshIcon.java Wed Jan 11 09:15:37 2017
@@ -18,15 +18,13 @@
  */
 package org.apache.openmeetings.web.room.sidebar.icon;
 
-import static org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_ACTION;
-
 import org.apache.openmeetings.web.app.Client;
+import org.apache.openmeetings.web.app.Client.Activity;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.RoomPanel.Action;
 
 public class RefreshIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
-	
+
 	public RefreshIcon(String id, Client client, RoomPanel room) {
 		super(id, client, room);
 		mainCssClass = "restart ";
@@ -36,20 +34,20 @@ public class RefreshIcon extends ClientI
 	protected String getTitle() {
 		return getString("610");
 	}
-	
+
 	@Override
 	protected String getAlign() {
 		return ALIGN_RIGHT;
 	}
-	
+
 	@Override
 	protected boolean isClickable() {
-		return false;//TODO broadcasting return self || room.getClient().hasRight(right) && !client.hasRight(Right.superModerator);
+		return client.hasActivity(Activity.broadcastA) || client.hasActivity(Activity.broadcastV);
 	}
-	
+
 	@Override
 	protected String getScript() {
-		return String.format("%s('%s', '%s');", FUNC_ACTION, Action.refresh.name(), client.getUid());
+		return String.format("document.getElementById('lzapp').refreshAv('%s');", client.getUid());
 	}
 
 	@Override

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/CamActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -37,7 +37,7 @@ public class CamActivityIcon extends Roo
 	}
 
 	@Override
-	protected boolean isClickable() {
-		return true;
+	public boolean isEnabled() {
+		return client.isCamEnabled();
 	}
 }

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/MicActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -37,7 +37,7 @@ public class MicActivityIcon extends Roo
 	}
 
 	@Override
-	protected boolean isClickable() {
-		return true;
+	public boolean isEnabled() {
+		return client.isMicEnabled();
 	}
 }

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java Wed Jan 11 09:15:37 2017
@@ -31,6 +31,7 @@ import org.apache.openmeetings.web.room.
 public abstract class RoomActivityIcon extends ClientIcon {
 	private static final long serialVersionUID = 1L;
 	private static final String CLS_ENABLED = "enabled ";
+	private static final String CLS_DISABLED = "disabled";
 	protected final Activity activity;
 	protected final Pod pod = Pod.none;
 
@@ -50,9 +51,16 @@ public abstract class RoomActivityIcon e
 	}
 
 	@Override
+	protected boolean isClickable() {
+		return isEnabled();
+	}
+
+	@Override
 	protected void internalUpdate() {
 		setVisible(visible());
-		if (client.hasActivity(activity)) {
+		if (!isEnabled()) {
+			cssClass.append(CLS_DISABLED);
+		} else if (client.hasActivity(activity)) {
 			cssClass.append(CLS_ENABLED);
 		}
 	}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css?rev=1778259&r1=1778258&r2=1778259&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css Wed Jan 11 09:15:37 2017
@@ -228,6 +228,10 @@
 .activity.mic.ui-icon {
 	background-image: url(images/microphone_enable.png);
 }
+.activity.ui-icon.disabled {
+	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
+	filter: grayscale(100%);
+}
 .activity.mic.enabled.ui-icon {
 	background-image: url(images/microphone_disable.png);
 }