Author: solomax
Date: Tue Aug 23 03:36:31 2016
New Revision: 1757299
URL: http://svn.apache.org/viewvc?rev=1757299&view=rev
Log:
[OPENMEETINGS-1138] hashes should work as expected
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
Tue Aug 23 03:36:31 2016
@@ -20,7 +20,7 @@ package org.apache.openmeetings.web.app;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
+import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
import static
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
import static org.red5.logging.Red5LoggerFactory.getLogger;
@@ -143,12 +143,13 @@ public class Application extends Authent
getRootRequestMapperAsCompound().add(new
NoVersionMapper(getHomePage()));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("notinited", NotInitedPage.class));
getRootRequestMapperAsCompound().add(new NoVersionMapper("swf",
HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("recording/${hash}", HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("hash", HashPage.class));
+ //getRootRequestMapperAsCompound().add(new
NoVersionMapper("/hash", HashPage.class));
+ getRootRequestMapperAsCompound().add(new
NoVersionMapper("/recording/${hash}", HashPage.class));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("signin", getSignInPageClass()));
mountPage("install", InstallWizardPage.class);
mountPage("activate", ActivatePage.class);
mountPage("reset", ResetPage.class);
+ mountPage("/hash", HashPage.class);
mountResource("/recordings/avi/${id}", new
AviRecordingResourceReference());
mountResource("/recordings/flv/${id}", new
FlvRecordingResourceReference());
mountResource("/recordings/mp4/${id}", new
Mp4RecordingResourceReference());
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
Tue Aug 23 03:36:31 2016
@@ -1921,4 +1921,5 @@
<entry key="appointment.tab.general">General</entry>
<entry key="appointment.tab.advanced">Advanced</entry>
<entry key="button.label.share">Share</entry>
+ <entry key="invalid.hash">Invalid hash</entry>
</properties>
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
Tue Aug 23 03:36:31 2016
@@ -75,7 +75,6 @@ import org.apache.wicket.authentication.
import
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authorization.strategies.role.Roles;
import org.apache.wicket.request.Request;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.wicketstuff.dashboard.Dashboard;
@@ -90,8 +89,6 @@ public class WebSession extends Abstract
public static final List<String> AVAILABLE_TIMEZONES =
Arrays.asList(TimeZone.getAvailableIDs());
public static final Set<String> AVAILABLE_TIMEZONE_SET = new
LinkedHashSet<String>(AVAILABLE_TIMEZONES);
public static final String WICKET_ROOM_ID = "wicketroomid";
- static final String SECURE_HASH = "secureHash";
- static final String INVITATION_HASH = "invitationHash";
private Long userId = null;
private Set<Right> rights = new HashSet<User.Right>(); //TODO renew
somehow on user edit !!!!
private long languageId = -1; //TODO renew somehow on user edit !!!!
@@ -169,27 +166,25 @@ public class WebSession extends Abstract
return userId != null && userId.longValue() > 0;
}
- public void checkHashes(PageParameters params) {
- StringValue secureHash = params.get(SECURE_HASH);
- StringValue invitationHash = params.get(INVITATION_HASH);
+ public void checkHashes(StringValue secure, StringValue invitation) {
try {
- if (!secureHash.isEmpty()) {
+ if (!secure.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- if (signIn(secureHash.toString(), false)) {
+ if (signIn(secure.toString(), false)) {
//TODO markUsed
} else {
//TODO redirect to error
}
}
- if (!invitationHash.isEmpty()) {
+ if (!invitation.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- i =
getBean(InvitationDao.class).getByHash(invitationHash.toString(), false, false);
+ i =
getBean(InvitationDao.class).getByHash(invitation.toString(), false, false);
if (i.isAllowEntry()) {
- setUser(i.getInvitee());
+ setUser(i.getInvitee(), true);
//TODO markUsed
if (i.getRoom() != null) {
roomId = i.getRoom().getId();
@@ -245,7 +240,7 @@ public class WebSession extends Abstract
soapDao.update(soapLogin);
}
sessionDao.updateUser(SID,
user.getId());
- setUser(user);
+ setUser(user, true);
roomId = soapLogin.getRoomId();
recordingId =
soapLogin.getRecordingId();
return true;
@@ -255,9 +250,11 @@ public class WebSession extends Abstract
return false;
}
- private void setUser(User u) {
+ private void setUser(User u, boolean emptyRights) {
String _sid = SID;
Long _recordingId = recordingId;
+ Long _roomId = roomId;
+ Invitation _i = i;
replaceSession(); // required to prevent session fixation
if (_sid != null) {
SID = _sid;
@@ -265,8 +262,18 @@ public class WebSession extends Abstract
if (_recordingId != null) {
recordingId = _recordingId;
}
+ if (_roomId != null) {
+ roomId = _roomId;
+ }
+ if (i != null) {
+ i = _i;
+ }
userId = u.getId();
- rights = Collections.unmodifiableSet(u.getRights());
+ if (emptyRights) {
+ rights =
Collections.unmodifiableSet(Collections.<Right>emptySet());
+ } else {
+ rights = Collections.unmodifiableSet(u.getRights());
+ }
languageId = u.getLanguageId();
externalType = u.getExternalType();
tz = getBean(TimezoneUtil.class).getTimeZone(u);
@@ -311,7 +318,7 @@ public class WebSession extends Abstract
if (u == null) {
return false;
}
- setUser(u);
+ setUser(u, false);
return true;
}
@@ -372,6 +379,10 @@ public class WebSession extends Abstract
return get().recordingId;
}
+ public Long getRoomId() {
+ return get().roomId;
+ }
+
public Invitation getInvitation() {
return i;
}
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
Tue Aug 23 03:36:31 2016
@@ -20,11 +20,15 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="page recording">
- <div wicket:id="info"></div>
- <div wicket:id="player"></div>
+ <div wicket:id="panel-recording">
+ <div class="page recording">
+ <div wicket:id="info"></div>
+ <div wicket:id="player"></div>
+ </div>
+ <div wicket:id="i-pass"></div>
</div>
- <div wicket:id="i-pass"></div>
+ <div wicket:id="panel-swf" style="width: 100%; height: 100%;"></div>
+ <div wicket:id="access-denied"></div>
</wicket:extend>
</html>
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
Tue Aug 23 03:36:31 2016
@@ -19,50 +19,132 @@
package org.apache.openmeetings.web.pages;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.WICKET_ROOM_ID;
import static org.apache.openmeetings.web.app.WebSession.getRecordingId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_SETTINGS;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.IUpdatable;
+import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.openmeetings.web.user.record.VideoInfo;
import org.apache.openmeetings.web.user.record.VideoPlayer;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
+import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
+
public class HashPage extends BaseInitedPage implements IUpdatable {
private static final long serialVersionUID = 1L;
+ public static final String SECURE_HASH = "secureHash";
+ public static final String INVITATION_HASH = "invitationHash";
+ private static final String HASH = "hash";
+ private final WebMarkupContainer recContainer = new
WebMarkupContainer("panel-recording");
private final VideoInfo vi = new VideoInfo("info", null);
private final VideoPlayer vp = new VideoPlayer("player", null);
+ private String errorKey = "invalid.hash";
+ private boolean error = true;;
public HashPage(PageParameters p) {
- WebSession ws = WebSession.get();
- StringValue hash = p.get("hash");
- Recording r = null;
- if (!hash.isEmpty()) {
- ws.signIn(hash.toString(), true);
+ StringValue secure = p.get(SECURE_HASH);
+ if (secure.isEmpty()) {
+ secure = p.get(HASH);
}
- Invitation i = ws.getInvitation();
- if (i != null && !i.isPasswordProtected()) {
- r = i.getRecording();
- } else if (i == null) {
+ StringValue invitation = p.get(INVITATION_HASH);
+
+ WebSession ws = WebSession.get();
+ ws.checkHashes(secure, invitation);
+
+ recContainer.setVisible(false);
+ add(new EmptyPanel("panel-swf").setVisible(false));
+ if (!invitation.isEmpty()) {
+ Invitation i = ws.getInvitation();
+ if (i == null) {
+ errorKey = "535";
+ } else if (!i.isAllowEntry()) {
+ errorKey = Valid.OneTime == i.getValid() ?
"534" : "1271";
+ } else {
+ Recording rec = i.getRecording();
+ if (rec != null) {
+ vi.setVisible(!i.isPasswordProtected());
+ vp.setVisible(!i.isPasswordProtected());
+ if (!i.isPasswordProtected()) {
+ vi.update(null, rec);
+ vp.update(null, rec);
+ }
+ recContainer.setVisible(true);
+ }
+ Room r = i.getRoom();
+ if (r != null) {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, r.getId())));
+ }
+ error = false;
+ }
+ } else if (!secure.isEmpty()) {
Long recId = getRecordingId();
- if (recId != null) {
- r = getBean(RecordingDao.class).get(recId);
+ if (recId == null && ws.getRoomId() == null) {
+ errorKey = "1599";
+ } else if (recId != null) {
+ recContainer.setVisible(true);
+ Recording rec =
getBean(RecordingDao.class).get(recId);
+ vi.update(null, rec);
+ vp.update(null, rec);
+ error = false;
+ } else {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, ws.getRoomId())));
+ error = false;
}
}
- add(vi.setShowShare(false).update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , vp.update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , new InvitationPasswordDialog("i-pass", this));
+ StringValue swf = p.get(SWF);
+ if (!swf.isEmpty() && (SWF_TYPE_NETWORK.equals(swf.toString())
|| SWF_TYPE_SETTINGS.equals(swf.toString()))) {
+ replace(new SwfPanel("panel-swf", p));
+ error = false;
+ }
+ add(recContainer
+
.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true)
+ , vp.setOutputMarkupPlaceholderTag(true)
+ , new InvitationPasswordDialog("i-pass",
this)));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new MessageDialog("access-denied",
getString("invalid.hash"), getString(errorKey), DialogButtons.OK,
DialogIcon.ERROR) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ behavior.setOption("autoOpen", error);
+ behavior.setOption("resizable", false);
+ }
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler,
DialogButton button) {
+ // no-op
+ }
+ });
}
@Override
protected void onParameterArrival(IRequestParameters requestParameters,
AjaxRequestTarget target) {
}
-
+
@Override
public void update(AjaxRequestTarget target) {
Invitation i = WebSession.get().getInvitation();
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Tue Aug 23 03:36:31 2016
@@ -23,6 +23,8 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.Application.getBean;
import static
org.apache.openmeetings.web.pages.auth.SignInPage.allowOAuthLogin;
import static org.apache.openmeetings.web.pages.auth.SignInPage.allowRegister;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import java.util.ArrayList;
import java.util.List;
@@ -39,7 +41,6 @@ import org.apache.openmeetings.web.app.A
import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.HashPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxClientInfoBehavior;
@@ -245,7 +246,7 @@ public class SignInDialog extends Abstra
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
add(new WebMarkupContainer("oauthContainer").add(
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
Tue Aug 23 03:36:31 2016
@@ -19,9 +19,28 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
+<wicket:head>
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ html,body { /* http://www.quirksmode.org/css/100percheight.html
*/
+ height: 100%;
+ /* prevent scrollbars */
+ margin: 0;
+ padding: 0;
+ border: 0 none;
+ overflow: hidden;
+ }
+ body {
+ background-color: #ffffff;
+ }
+ img {
+ border: 0 none;
+ }
+ </style>
+</wicket:head>
<wicket:panel>
- <div id="swfloading"
- style="z-index: 666666; position: absolute; top: 50%; left:
50%;">
+ <div id="swfloading" style="z-index: 666666; position: absolute; top:
50%; left: 50%;">
<img src="images/ajax-loader.gif" />
</div>
<noscript>Please enable JavaScript in order to use this
application.</noscript>
@@ -31,4 +50,4 @@
<div wicket:id="vote"></div>
<div wicket:id="pollResults"></div>
</wicket:panel>
-</html>
\ No newline at end of file
+</html>
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
Tue Aug 23 03:36:31 2016
@@ -74,8 +74,10 @@ import org.slf4j.Logger;
public class SwfPanel extends BasePanel {
private static final long serialVersionUID = 1L;
private static final Logger log =
Red5LoggerFactory.getLogger(SwfPanel.class, webAppRootKey);
+ public static final String SWF = "swf";
public static final String PARAM_PUBLIC_SID = "publicSid";
public static final String SWF_TYPE_NETWORK = "network";
+ public static final String SWF_TYPE_SETTINGS = "settings";
private final InvitationDialog invite;
private final CreatePollDialog createPoll;
private final VoteDialog vote;
@@ -249,7 +251,7 @@ public class SwfPanel extends BasePanel
}
private String getFlashFile(PageParameters pp) {
- StringValue type = pp.get("swf");
+ StringValue type = pp.get(SWF);
String fmt = "main%s.swf11.swf";
if (SWF_TYPE_NETWORK.equals(type.toString())) {
fmt = "networktesting%s.swf10.swf";
Modified:
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
Tue Aug 23 03:36:31 2016
@@ -21,6 +21,8 @@ package org.apache.openmeetings.web.user
import static
org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
@@ -30,7 +32,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
import org.apache.openmeetings.web.pages.HashPage;
import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.basic.Label;
@@ -73,7 +74,7 @@ public class WelcomeWidgetView extends W
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
Tue Aug 23 03:36:31 2016
@@ -20,7 +20,7 @@ package org.apache.openmeetings.web.app;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
+import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
import static
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
import static org.red5.logging.Red5LoggerFactory.getLogger;
@@ -141,12 +141,13 @@ public class Application extends Authent
getRootRequestMapperAsCompound().add(new
NoVersionMapper(getHomePage()));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("notinited", NotInitedPage.class));
getRootRequestMapperAsCompound().add(new NoVersionMapper("swf",
HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("recording/${hash}", HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("hash", HashPage.class));
+ //getRootRequestMapperAsCompound().add(new
NoVersionMapper("/hash", HashPage.class));
+ getRootRequestMapperAsCompound().add(new
NoVersionMapper("/recording/${hash}", HashPage.class));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("signin", getSignInPageClass()));
mountPage("install", InstallWizardPage.class);
mountPage("activate", ActivatePage.class);
mountPage("reset", ResetPage.class);
+ mountPage("/hash", HashPage.class);
mountResource("/recordings/avi/${id}", new
AviRecordingResourceReference());
mountResource("/recordings/flv/${id}", new
FlvRecordingResourceReference());
mountResource("/recordings/mp4/${id}", new
Mp4RecordingResourceReference());
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
Tue Aug 23 03:36:31 2016
@@ -1921,4 +1921,5 @@
<entry key="appointment.tab.general">General</entry>
<entry key="appointment.tab.advanced">Advanced</entry>
<entry key="button.label.share">Share</entry>
+ <entry key="invalid.hash">Invalid hash</entry>
</properties>
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
Tue Aug 23 03:36:31 2016
@@ -75,7 +75,6 @@ import org.apache.wicket.authentication.
import
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authorization.strategies.role.Roles;
import org.apache.wicket.request.Request;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.wicketstuff.dashboard.Dashboard;
@@ -90,8 +89,6 @@ public class WebSession extends Abstract
public static final List<String> AVAILABLE_TIMEZONES =
Arrays.asList(TimeZone.getAvailableIDs());
public static final Set<String> AVAILABLE_TIMEZONE_SET = new
LinkedHashSet<String>(AVAILABLE_TIMEZONES);
public static final String WICKET_ROOM_ID = "wicketroomid";
- static final String SECURE_HASH = "secureHash";
- static final String INVITATION_HASH = "invitationHash";
private Long userId = null;
private Set<Right> rights = new HashSet<User.Right>(); //TODO renew
somehow on user edit !!!!
private long languageId = -1; //TODO renew somehow on user edit !!!!
@@ -169,27 +166,25 @@ public class WebSession extends Abstract
return userId != null && userId.longValue() > 0;
}
- public void checkHashes(PageParameters params) {
- StringValue secureHash = params.get(SECURE_HASH);
- StringValue invitationHash = params.get(INVITATION_HASH);
+ public void checkHashes(StringValue secure, StringValue invitation) {
try {
- if (!secureHash.isEmpty()) {
+ if (!secure.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- if (signIn(secureHash.toString(), false)) {
+ if (signIn(secure.toString(), false)) {
//TODO markUsed
} else {
//TODO redirect to error
}
}
- if (!invitationHash.isEmpty()) {
+ if (!invitation.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- i =
getBean(InvitationDao.class).getByHash(invitationHash.toString(), false, false);
+ i =
getBean(InvitationDao.class).getByHash(invitation.toString(), false, false);
if (i.isAllowEntry()) {
- setUser(i.getInvitee());
+ setUser(i.getInvitee(), true);
//TODO markUsed
if (i.getRoom() != null) {
roomId = i.getRoom().getId();
@@ -245,7 +240,7 @@ public class WebSession extends Abstract
soapDao.update(soapLogin);
}
sessionDao.updateUser(SID,
user.getId());
- setUser(user);
+ setUser(user, true);
roomId = soapLogin.getRoomId();
recordingId =
soapLogin.getRecordingId();
return true;
@@ -255,9 +250,11 @@ public class WebSession extends Abstract
return false;
}
- private void setUser(User u) {
+ private void setUser(User u, boolean emptyRights) {
String _sid = SID;
Long _recordingId = recordingId;
+ Long _roomId = roomId;
+ Invitation _i = i;
replaceSession(); // required to prevent session fixation
if (_sid != null) {
SID = _sid;
@@ -265,8 +262,18 @@ public class WebSession extends Abstract
if (_recordingId != null) {
recordingId = _recordingId;
}
+ if (_roomId != null) {
+ roomId = _roomId;
+ }
+ if (i != null) {
+ i = _i;
+ }
userId = u.getId();
- rights = Collections.unmodifiableSet(u.getRights());
+ if (emptyRights) {
+ rights =
Collections.unmodifiableSet(Collections.<Right>emptySet());
+ } else {
+ rights = Collections.unmodifiableSet(u.getRights());
+ }
languageId = u.getLanguageId();
externalType = u.getExternalType();
tz = getBean(TimezoneUtil.class).getTimeZone(u);
@@ -311,7 +318,7 @@ public class WebSession extends Abstract
if (u == null) {
return false;
}
- setUser(u);
+ setUser(u, false);
return true;
}
@@ -371,6 +378,10 @@ public class WebSession extends Abstract
return get().recordingId;
}
+ public Long getRoomId() {
+ return get().roomId;
+ }
+
public Invitation getInvitation() {
return i;
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
Tue Aug 23 03:36:31 2016
@@ -20,11 +20,15 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="page recording">
- <div wicket:id="info"></div>
- <div wicket:id="player"></div>
+ <div wicket:id="panel-recording">
+ <div class="page recording">
+ <div wicket:id="info"></div>
+ <div wicket:id="player"></div>
+ </div>
+ <div wicket:id="i-pass"></div>
</div>
- <div wicket:id="i-pass"></div>
+ <div wicket:id="panel-swf" style="width: 100%; height: 100%;"></div>
+ <div wicket:id="access-denied"></div>
</wicket:extend>
</html>
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
Tue Aug 23 03:36:31 2016
@@ -19,50 +19,132 @@
package org.apache.openmeetings.web.pages;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.WICKET_ROOM_ID;
import static org.apache.openmeetings.web.app.WebSession.getRecordingId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_SETTINGS;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.IUpdatable;
+import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.openmeetings.web.user.record.VideoInfo;
import org.apache.openmeetings.web.user.record.VideoPlayer;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
+import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
+
public class HashPage extends BaseInitedPage implements IUpdatable {
private static final long serialVersionUID = 1L;
+ public static final String SECURE_HASH = "secureHash";
+ public static final String INVITATION_HASH = "invitationHash";
+ private static final String HASH = "hash";
+ private final WebMarkupContainer recContainer = new
WebMarkupContainer("panel-recording");
private final VideoInfo vi = new VideoInfo("info", null);
private final VideoPlayer vp = new VideoPlayer("player", null);
+ private String errorKey = "invalid.hash";
+ private boolean error = true;;
public HashPage(PageParameters p) {
- WebSession ws = WebSession.get();
- StringValue hash = p.get("hash");
- Recording r = null;
- if (!hash.isEmpty()) {
- ws.signIn(hash.toString(), true);
+ StringValue secure = p.get(SECURE_HASH);
+ if (secure.isEmpty()) {
+ secure = p.get(HASH);
}
- Invitation i = ws.getInvitation();
- if (i != null && !i.isPasswordProtected()) {
- r = i.getRecording();
- } else if (i == null) {
+ StringValue invitation = p.get(INVITATION_HASH);
+
+ WebSession ws = WebSession.get();
+ ws.checkHashes(secure, invitation);
+
+ recContainer.setVisible(false);
+ add(new EmptyPanel("panel-swf").setVisible(false));
+ if (!invitation.isEmpty()) {
+ Invitation i = ws.getInvitation();
+ if (i == null) {
+ errorKey = "535";
+ } else if (!i.isAllowEntry()) {
+ errorKey = Valid.OneTime == i.getValid() ?
"534" : "1271";
+ } else {
+ Recording rec = i.getRecording();
+ if (rec != null) {
+ vi.setVisible(!i.isPasswordProtected());
+ vp.setVisible(!i.isPasswordProtected());
+ if (!i.isPasswordProtected()) {
+ vi.update(null, rec);
+ vp.update(null, rec);
+ }
+ recContainer.setVisible(true);
+ }
+ Room r = i.getRoom();
+ if (r != null) {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, r.getId())));
+ }
+ error = false;
+ }
+ } else if (!secure.isEmpty()) {
Long recId = getRecordingId();
- if (recId != null) {
- r = getBean(RecordingDao.class).get(recId);
+ if (recId == null && ws.getRoomId() == null) {
+ errorKey = "1599";
+ } else if (recId != null) {
+ recContainer.setVisible(true);
+ Recording rec =
getBean(RecordingDao.class).get(recId);
+ vi.update(null, rec);
+ vp.update(null, rec);
+ error = false;
+ } else {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, ws.getRoomId())));
+ error = false;
}
}
- add(vi.setShowShare(false).update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , vp.update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , new InvitationPasswordDialog("i-pass", this));
+ StringValue swf = p.get(SWF);
+ if (!swf.isEmpty() && (SWF_TYPE_NETWORK.equals(swf.toString())
|| SWF_TYPE_SETTINGS.equals(swf.toString()))) {
+ replace(new SwfPanel("panel-swf", p));
+ error = false;
+ }
+ add(recContainer
+
.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true)
+ , vp.setOutputMarkupPlaceholderTag(true)
+ , new InvitationPasswordDialog("i-pass",
this)));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new MessageDialog("access-denied",
getString("invalid.hash"), getString(errorKey), DialogButtons.OK,
DialogIcon.ERROR) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ behavior.setOption("autoOpen", error);
+ behavior.setOption("resizable", false);
+ }
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler,
DialogButton button) {
+ // no-op
+ }
+ });
}
@Override
protected void onParameterArrival(IRequestParameters requestParameters,
AjaxRequestTarget target) {
}
-
+
@Override
public void update(AjaxRequestTarget target) {
Invitation i = WebSession.get().getInvitation();
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Tue Aug 23 03:36:31 2016
@@ -23,6 +23,8 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.Application.getBean;
import static
org.apache.openmeetings.web.pages.auth.SignInPage.allowOAuthLogin;
import static org.apache.openmeetings.web.pages.auth.SignInPage.allowRegister;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import java.util.ArrayList;
import java.util.List;
@@ -39,7 +41,6 @@ import org.apache.openmeetings.web.app.A
import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.HashPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxClientInfoBehavior;
@@ -245,7 +246,7 @@ public class SignInDialog extends Abstra
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
add(new WebMarkupContainer("oauthContainer").add(
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
Tue Aug 23 03:36:31 2016
@@ -19,6 +19,26 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
+<wicket:head>
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ html,body { /* http://www.quirksmode.org/css/100percheight.html
*/
+ height: 100%;
+ /* prevent scrollbars */
+ margin: 0;
+ padding: 0;
+ border: 0 none;
+ overflow: hidden;
+ }
+ body {
+ background-color: #ffffff;
+ }
+ img {
+ border: 0 none;
+ }
+ </style>
+</wicket:head>
<wicket:panel>
<div id="swfloading" style="z-index: 666666; position: absolute; top:
50%; left: 50%;">
<img src="images/ajax-loader.gif" />
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
Tue Aug 23 03:36:31 2016
@@ -59,9 +59,11 @@ import org.slf4j.Logger;
public class SwfPanel extends BasePanel {
private static final long serialVersionUID = 1L;
private static final Logger log =
Red5LoggerFactory.getLogger(SwfPanel.class, webAppRootKey);
+ public static final String SWF = "swf";
public static final String PARAM_PUBLIC_SID = "publicSid";
public static final String PARAM_URL = "url";
public static final String SWF_TYPE_NETWORK = "network";
+ public static final String SWF_TYPE_SETTINGS = "settings";
private Long roomId = null;
public SwfPanel(String id) {
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
Tue Aug 23 03:36:31 2016
@@ -21,6 +21,8 @@ package org.apache.openmeetings.web.user
import static
org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
@@ -30,7 +32,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
import org.apache.openmeetings.web.pages.HashPage;
import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.basic.Label;
@@ -73,7 +74,7 @@ public class WelcomeWidgetView extends W
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
}
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=1757299&r1=1757298&r2=1757299&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
Tue Aug 23 03:36:31 2016
@@ -20,7 +20,7 @@ package org.apache.openmeetings.web.app;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
+import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
import static
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
import static org.red5.logging.Red5LoggerFactory.getLogger;
@@ -141,12 +141,13 @@ public class Application extends Authent
getRootRequestMapperAsCompound().add(new
NoVersionMapper(getHomePage()));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("notinited", NotInitedPage.class));
getRootRequestMapperAsCompound().add(new NoVersionMapper("swf",
HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("recording/${hash}", HashPage.class));
- getRootRequestMapperAsCompound().add(new
NoVersionMapper("hash", HashPage.class));
+ //getRootRequestMapperAsCompound().add(new
NoVersionMapper("/hash", HashPage.class));
+ getRootRequestMapperAsCompound().add(new
NoVersionMapper("/recording/${hash}", HashPage.class));
getRootRequestMapperAsCompound().add(new
NoVersionMapper("signin", getSignInPageClass()));
mountPage("install", InstallWizardPage.class);
mountPage("activate", ActivatePage.class);
mountPage("reset", ResetPage.class);
+ mountPage("/hash", HashPage.class);
mountResource("/recordings/avi/${id}", new
AviRecordingResourceReference());
mountResource("/recordings/flv/${id}", new
FlvRecordingResourceReference());
mountResource("/recordings/mp4/${id}", new
Mp4RecordingResourceReference());
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
Tue Aug 23 03:36:31 2016
@@ -1921,4 +1921,5 @@
<entry key="appointment.tab.general">General</entry>
<entry key="appointment.tab.advanced">Advanced</entry>
<entry key="button.label.share">Share</entry>
+ <entry key="invalid.hash">Invalid hash</entry>
</properties>
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
Tue Aug 23 03:36:31 2016
@@ -75,7 +75,6 @@ import org.apache.wicket.authentication.
import
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
import org.apache.wicket.authroles.authorization.strategies.role.Roles;
import org.apache.wicket.request.Request;
-import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.Strings;
import org.wicketstuff.dashboard.Dashboard;
@@ -90,8 +89,6 @@ public class WebSession extends Abstract
public static final List<String> AVAILABLE_TIMEZONES =
Arrays.asList(TimeZone.getAvailableIDs());
public static final Set<String> AVAILABLE_TIMEZONE_SET = new
LinkedHashSet<String>(AVAILABLE_TIMEZONES);
public static final String WICKET_ROOM_ID = "wicketroomid";
- static final String SECURE_HASH = "secureHash";
- static final String INVITATION_HASH = "invitationHash";
private Long userId = null;
private Set<Right> rights = new HashSet<User.Right>(); //TODO renew
somehow on user edit !!!!
private long languageId = -1; //TODO renew somehow on user edit !!!!
@@ -169,27 +166,25 @@ public class WebSession extends Abstract
return userId != null && userId.longValue() > 0;
}
- public void checkHashes(PageParameters params) {
- StringValue secureHash = params.get(SECURE_HASH);
- StringValue invitationHash = params.get(INVITATION_HASH);
+ public void checkHashes(StringValue secure, StringValue invitation) {
try {
- if (!secureHash.isEmpty()) {
+ if (!secure.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- if (signIn(secureHash.toString(), false)) {
+ if (signIn(secure.toString(), false)) {
//TODO markUsed
} else {
//TODO redirect to error
}
}
- if (!invitationHash.isEmpty()) {
+ if (!invitation.isEmpty()) {
if (isSignedIn()) {
invalidate();
}
- i =
getBean(InvitationDao.class).getByHash(invitationHash.toString(), false, false);
+ i =
getBean(InvitationDao.class).getByHash(invitation.toString(), false, false);
if (i.isAllowEntry()) {
- setUser(i.getInvitee());
+ setUser(i.getInvitee(), true);
//TODO markUsed
if (i.getRoom() != null) {
roomId = i.getRoom().getId();
@@ -245,7 +240,7 @@ public class WebSession extends Abstract
soapDao.update(soapLogin);
}
sessionDao.updateUser(SID,
user.getId());
- setUser(user);
+ setUser(user, true);
roomId = soapLogin.getRoomId();
recordingId =
soapLogin.getRecordingId();
return true;
@@ -255,9 +250,11 @@ public class WebSession extends Abstract
return false;
}
- private void setUser(User u) {
+ private void setUser(User u, boolean emptyRights) {
String _sid = SID;
Long _recordingId = recordingId;
+ Long _roomId = roomId;
+ Invitation _i = i;
replaceSession(); // required to prevent session fixation
if (_sid != null) {
SID = _sid;
@@ -265,8 +262,18 @@ public class WebSession extends Abstract
if (_recordingId != null) {
recordingId = _recordingId;
}
+ if (_roomId != null) {
+ roomId = _roomId;
+ }
+ if (i != null) {
+ i = _i;
+ }
userId = u.getId();
- rights = Collections.unmodifiableSet(u.getRights());
+ if (emptyRights) {
+ rights =
Collections.unmodifiableSet(Collections.<Right>emptySet());
+ } else {
+ rights = Collections.unmodifiableSet(u.getRights());
+ }
languageId = u.getLanguageId();
externalType = u.getExternalType();
tz = getBean(TimezoneUtil.class).getTimeZone(u);
@@ -311,7 +318,7 @@ public class WebSession extends Abstract
if (u == null) {
return false;
}
- setUser(u);
+ setUser(u, false);
return true;
}
@@ -371,6 +378,10 @@ public class WebSession extends Abstract
return get().recordingId;
}
+ public Long getRoomId() {
+ return get().roomId;
+ }
+
public Invitation getInvitation() {
return i;
}
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
Tue Aug 23 03:36:31 2016
@@ -20,11 +20,15 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
- <div class="page recording">
- <div wicket:id="info"></div>
- <div wicket:id="player"></div>
+ <div wicket:id="panel-recording">
+ <div class="page recording">
+ <div wicket:id="info"></div>
+ <div wicket:id="player"></div>
+ </div>
+ <div wicket:id="i-pass"></div>
</div>
- <div wicket:id="i-pass"></div>
+ <div wicket:id="panel-swf" style="width: 100%; height: 100%;"></div>
+ <div wicket:id="access-denied"></div>
</wicket:extend>
</html>
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
Tue Aug 23 03:36:31 2016
@@ -19,50 +19,132 @@
package org.apache.openmeetings.web.pages;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.WICKET_ROOM_ID;
import static org.apache.openmeetings.web.app.WebSession.getRecordingId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_SETTINGS;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.entity.record.Recording;
import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.IUpdatable;
+import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.openmeetings.web.user.record.VideoInfo;
import org.apache.openmeetings.web.user.record.VideoPlayer;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.request.IRequestParameters;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
+import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
+
public class HashPage extends BaseInitedPage implements IUpdatable {
private static final long serialVersionUID = 1L;
+ public static final String SECURE_HASH = "secureHash";
+ public static final String INVITATION_HASH = "invitationHash";
+ private static final String HASH = "hash";
+ private final WebMarkupContainer recContainer = new
WebMarkupContainer("panel-recording");
private final VideoInfo vi = new VideoInfo("info", null);
private final VideoPlayer vp = new VideoPlayer("player", null);
+ private String errorKey = "invalid.hash";
+ private boolean error = true;;
public HashPage(PageParameters p) {
- WebSession ws = WebSession.get();
- StringValue hash = p.get("hash");
- Recording r = null;
- if (!hash.isEmpty()) {
- ws.signIn(hash.toString(), true);
+ StringValue secure = p.get(SECURE_HASH);
+ if (secure.isEmpty()) {
+ secure = p.get(HASH);
}
- Invitation i = ws.getInvitation();
- if (i != null && !i.isPasswordProtected()) {
- r = i.getRecording();
- } else if (i == null) {
+ StringValue invitation = p.get(INVITATION_HASH);
+
+ WebSession ws = WebSession.get();
+ ws.checkHashes(secure, invitation);
+
+ recContainer.setVisible(false);
+ add(new EmptyPanel("panel-swf").setVisible(false));
+ if (!invitation.isEmpty()) {
+ Invitation i = ws.getInvitation();
+ if (i == null) {
+ errorKey = "535";
+ } else if (!i.isAllowEntry()) {
+ errorKey = Valid.OneTime == i.getValid() ?
"534" : "1271";
+ } else {
+ Recording rec = i.getRecording();
+ if (rec != null) {
+ vi.setVisible(!i.isPasswordProtected());
+ vp.setVisible(!i.isPasswordProtected());
+ if (!i.isPasswordProtected()) {
+ vi.update(null, rec);
+ vp.update(null, rec);
+ }
+ recContainer.setVisible(true);
+ }
+ Room r = i.getRoom();
+ if (r != null) {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, r.getId())));
+ }
+ error = false;
+ }
+ } else if (!secure.isEmpty()) {
Long recId = getRecordingId();
- if (recId != null) {
- r = getBean(RecordingDao.class).get(recId);
+ if (recId == null && ws.getRoomId() == null) {
+ errorKey = "1599";
+ } else if (recId != null) {
+ recContainer.setVisible(true);
+ Recording rec =
getBean(RecordingDao.class).get(recId);
+ vi.update(null, rec);
+ vp.update(null, rec);
+ error = false;
+ } else {
+ replace(new SwfPanel("panel-swf", new
PageParameters(p).add(WICKET_ROOM_ID, ws.getRoomId())));
+ error = false;
}
}
- add(vi.setShowShare(false).update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , vp.update(null,
r).setOutputMarkupPlaceholderTag(true).setVisible(r != null)
- , new InvitationPasswordDialog("i-pass", this));
+ StringValue swf = p.get(SWF);
+ if (!swf.isEmpty() && (SWF_TYPE_NETWORK.equals(swf.toString())
|| SWF_TYPE_SETTINGS.equals(swf.toString()))) {
+ replace(new SwfPanel("panel-swf", p));
+ error = false;
+ }
+ add(recContainer
+
.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true)
+ , vp.setOutputMarkupPlaceholderTag(true)
+ , new InvitationPasswordDialog("i-pass",
this)));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new MessageDialog("access-denied",
getString("invalid.hash"), getString(errorKey), DialogButtons.OK,
DialogIcon.ERROR) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onConfigure(JQueryBehavior behavior) {
+ super.onConfigure(behavior);
+ behavior.setOption("autoOpen", error);
+ behavior.setOption("resizable", false);
+ }
+
+ @Override
+ public void onClose(IPartialPageRequestHandler handler,
DialogButton button) {
+ // no-op
+ }
+ });
}
@Override
protected void onParameterArrival(IRequestParameters requestParameters,
AjaxRequestTarget target) {
}
-
+
@Override
public void update(AjaxRequestTarget target) {
Invitation i = WebSession.get().getInvitation();
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
Tue Aug 23 03:36:31 2016
@@ -23,6 +23,8 @@ import static org.apache.openmeetings.we
import static org.apache.openmeetings.web.app.Application.getBean;
import static
org.apache.openmeetings.web.pages.auth.SignInPage.allowOAuthLogin;
import static org.apache.openmeetings.web.pages.auth.SignInPage.allowRegister;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import java.util.ArrayList;
import java.util.List;
@@ -39,7 +41,6 @@ import org.apache.openmeetings.web.app.A
import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.pages.HashPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.RestartResponseException;
import org.apache.wicket.ajax.AjaxClientInfoBehavior;
@@ -245,7 +246,7 @@ public class SignInDialog extends Abstra
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
add(new WebMarkupContainer("oauthContainer").add(
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
Tue Aug 23 03:36:31 2016
@@ -19,6 +19,26 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
+<wicket:head>
+ <meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <style type="text/css">
+ html,body { /* http://www.quirksmode.org/css/100percheight.html
*/
+ height: 100%;
+ /* prevent scrollbars */
+ margin: 0;
+ padding: 0;
+ border: 0 none;
+ overflow: hidden;
+ }
+ body {
+ background-color: #ffffff;
+ }
+ img {
+ border: 0 none;
+ }
+ </style>
+</wicket:head>
<wicket:panel>
<div id="swfloading" style="z-index: 666666; position: absolute; top:
50%; left: 50%;">
<img src="images/ajax-loader.gif" />
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
Tue Aug 23 03:36:31 2016
@@ -38,6 +38,7 @@ import org.apache.wicket.util.string.Str
public class SwfPanel extends BasePanel {
private static final long serialVersionUID = 1L;
+ public static final String SWF = "swf";
public static final String SWF_TYPE_NETWORK = "network";
public static final String SWF_TYPE_SETTINGS = "settings";
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757299&r1=1757298&r2=1757299&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
Tue Aug 23 03:36:31 2016
@@ -21,6 +21,8 @@ package org.apache.openmeetings.web.user
import static
org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID;
import static org.apache.openmeetings.web.app.Application.getBean;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF;
+import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
@@ -30,7 +32,6 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
import org.apache.openmeetings.web.pages.HashPage;
import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.room.SwfPanel;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.basic.Label;
@@ -73,7 +74,7 @@ public class WelcomeWidgetView extends W
@Override
public void onClick() {
- setResponsePage(HashPage.class, new
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+ setResponsePage(HashPage.class, new
PageParameters().add(SWF, SWF_TYPE_NETWORK));
}
});
}