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 2016/08/25 08:46:40 UTC
svn commit: r1757626 [1/2] - in /openmeetings/application:
branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/
branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/
branches/3.2.x/openmeetin...
Author: solomax
Date: Thu Aug 25 08:46:39 2016
New Revision: 1757626
URL: http://svn.apache.org/viewvc?rev=1757626&view=rev
Log:
[OPENMEETINGS-1455] hashes seems to work as expected
Removed:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/chooseNickName.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/redirectBox.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/invitation/
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
Modified:
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/functions.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/roomSidebar/baseRoomSidebar.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/library.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/library.lzx
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
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/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Aug 25 08:46:39 2016
@@ -274,12 +274,4 @@ public class ConferenceService {
}
return null;
}
-
- public Room getRoomById(String sid, Long roomId) {
- Sessiondata sd = sessionDao.check(sid);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- return roomDao.get(roomId);
- }
- return null;
- }
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Thu Aug 25 08:46:39 2016
@@ -22,9 +22,8 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENABLED;
-import java.util.Date;
+import java.util.Arrays;
import java.util.List;
-import java.util.Locale;
import java.util.Set;
import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
@@ -34,7 +33,6 @@ import org.apache.openmeetings.db.dao.ca
import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
-import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
@@ -45,18 +43,13 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.RoomGroup;
-import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
-import org.apache.openmeetings.db.entity.server.SOAPLogin;
import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.Userdata;
import org.apache.openmeetings.db.util.AuthLevelUtil;
-import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
-import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
import org.red5.server.api.Red5;
@@ -91,10 +84,6 @@ public class MainService implements IPen
private RoomDao roomDao;
@Autowired
private AppointmentDao appointmentDao;
- @Autowired
- private SOAPLoginDao soapLoginDao;
- @Autowired
- private TimezoneUtil timezoneUtil;
// External User Types
public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
@@ -135,25 +124,6 @@ public class MainService implements IPen
return null;
}
- /**
- * load this session id before doing anything else
- *
- * @return a unique session identifier
- */
- public Sessiondata getsessiondata() {
- return sessionDao.create();
- }
-
- public Long setCurrentUserGroup(String SID, Long groupId) {
- try {
- sessionDao.updateUserGroup(SID, groupId);
- return 1L;
- } catch (Exception err) {
- log.error("[setCurrentUserGroup]", err);
- }
- return -1L;
- }
-
public boolean isRoomAllowedToUser(Room r, User u) {
boolean allowed = false;
if (r != null) {
@@ -202,19 +172,20 @@ public class MainService implements IPen
return allowed;
}
- public User loginWicket(String wicketSID, Long wicketroomid) {
+ public List<Object> loginWicket(String wicketSID, Long wicketroomid) {
log.debug("[loginWicket] wicketSID: '{}'; wicketroomid: '{}'", wicketSID, wicketroomid);
Sessiondata sd = sessionDao.check(wicketSID);
Long userId = sd.getUserId();
User u = userId == null ? null : userDao.get(userId);
- if (u != null && wicketroomid != null) {
+ Room r = roomDao.get(wicketroomid);
+ if (u != null && r != null) {
log.debug("[loginWicket] user and roomid are not empty: " + userId + ", " + wicketroomid);
- if (isRoomAllowedToUser(roomDao.get(wicketroomid), u)) {
+ if (wicketroomid.equals(sd.getRoomId()) || isRoomAllowedToUser(r, u)) {
IConnection current = Red5.getConnectionLocal();
String streamId = current.getClient().getId();
Client currentClient = sessionManager.getClientByStreamId(streamId, null);
- if (!u.getGroupUsers().isEmpty()) {
+ if (User.Type.user != u.getType() || (User.Type.user == u.getType() && !u.getGroupUsers().isEmpty())) {
u.setSessionData(sd);
currentClient.setUserId(u.getId());
currentClient.setRoomId(wicketroomid);
@@ -229,90 +200,12 @@ public class MainService implements IPen
scopeApplicationAdapter.sendMessageToCurrentScope("roomConnect", currentClient, false);
- return u;
+ return Arrays.<Object>asList(u, r);
}
}
}
return null;
}
-
- public Object secureLoginByRemote(String SID, String secureHash) {
- try {
- log.debug("############### secureLoginByRemote " + secureHash);
-
- String clientURL = Red5.getConnectionLocal().getRemoteAddress();
-
- log.debug("swfURL " + clientURL);
-
- SOAPLogin soapLogin = soapLoginDao.get(secureHash);
- if (soapLogin == null) {
- log.warn("Unable to find login by hash: {}" + secureHash);
- return -1L;
- }
-
- if (soapLogin.isUsed()) {
- if (soapLogin.getAllowSameURLMultipleTimes()) {
- if (!soapLogin.getClientURL().equals(clientURL)) {
- log.debug("does not equal " + clientURL);
- return -42L;
- }
- } else {
- log.debug("Already used " + secureHash);
- return -42L;
- }
- }
-
- Long loginReturn = loginUserByRemote(soapLogin.getSessionHash());
-
- IConnection current = Red5.getConnectionLocal();
- String streamId = current.getClient().getId();
- Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-
- if (currentClient.getUserId() != null) {
- sessionDao.updateUser(SID, currentClient.getUserId());
- }
-
- currentClient.setAllowRecording(soapLogin.isAllowRecording());
- sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
-
- if (loginReturn == null) {
- log.debug("loginReturn IS NULL for SID: " + soapLogin.getSessionHash());
-
- return -1L;
- } else if (loginReturn < 0) {
- log.debug("loginReturn IS < 0 for SID: " + soapLogin.getSessionHash());
-
- return loginReturn;
- } else {
-
- soapLogin.setUsed(true);
- soapLogin.setUseDate(new Date());
-
- soapLogin.setClientURL(clientURL);
-
- soapLoginDao.update(soapLogin);
-
- // Create Return Object and hide the validated
- // sessionHash that is stored server side
- // this hash should be never thrown back to the user
-
- SOAPLogin returnSoapLogin = new SOAPLogin();
-
- returnSoapLogin.setRoomId(soapLogin.getRoomId());
- returnSoapLogin.setBecomemoderator(soapLogin.isBecomemoderator());
- returnSoapLogin.setShowAudioVideoTest(soapLogin.getShowAudioVideoTest());
- returnSoapLogin.setRecordingId(soapLogin.getRecordingId());
- returnSoapLogin.setShowNickNameDialog(soapLogin.getShowNickNameDialog());
- returnSoapLogin.setLandingZone(soapLogin.getLandingZone());
-
- return returnSoapLogin;
- }
-
- } catch (Exception err) {
- log.error("[secureLoginByRemote]", err);
- }
- return null;
- }
/**
* Function is called if the user loggs in via a secureHash and sets the
@@ -350,91 +243,6 @@ public class MainService implements IPen
}
/**
- * Attention! This SID is NOT the default session id! its the Session id
- * retrieved in the call from the SOAP Gateway!
- *
- * @param sid
- * @return - 1 in case of success, -1 otherwise
- */
- public Long loginUserByRemote(String sid) {
- try {
- Sessiondata sd = sessionDao.check(sid);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- if (sd.getXml() == null) {
- return -37L;
- } else {
- RemoteSessionObject userObject = RemoteSessionObject.fromXml(sd.getXml());
- if (userObject == null) {
- log.warn("Failed to get user object by XML");
- return -1L;
- }
-
- log.debug(userObject.toString());
-
- IConnection current = Red5.getConnectionLocal();
- String streamId = current.getClient().getId();
- Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-
- // Check if this User is simulated in the OpenMeetings
- // Database
-
- if (!Strings.isEmpty(userObject.getExternalUserId())) {
- // If so we need to check that we create this user in
- // OpenMeetings and update its record
-
- User user = userDao.getExternalUser(userObject.getExternalUserId(), userObject.getExternalUserType());
-
- if (user == null) {
- String iCalTz = configurationDao.getConfValue("default.timezone", String.class, "");
-
- Address a = userDao.getAddress(null, null, null, Locale.getDefault().getCountry(), null, null, null, userObject.getEmail());
-
- Set<Right> rights = UserDao.getDefaultRights();
- rights.remove(Right.Login);
- rights.remove(Right.Dashboard);
- User u = userDao.addUser(rights, userObject.getFirstname(), userObject.getUsername(),
- userObject.getLastname(), 1L, "" // password is empty by default
- , a, false, null, null, timezoneUtil.getTimeZone(iCalTz), false
- , null, null, false, false, userObject.getExternalUserId()
- , userObject.getExternalUserType(), null, userObject.getPictureUrl());
-
- long userId = u.getId();
- currentClient.setUserId(userId);
- SessionVariablesUtil.setUserId(current.getClient(), userId);
- } else {
- user.setPictureuri(userObject.getPictureUrl());
-
- userDao.update(user, sd.getUserId());
-
- currentClient.setUserId(user.getId());
- SessionVariablesUtil.setUserId(current.getClient(), user.getId());
- }
- }
-
- log.debug("userObject.getExternalUserId() -2- " + currentClient.getUserId());
-
- currentClient.setUserObject(userObject.getUsername(), userObject.getFirstname(), userObject.getLastname());
- currentClient.setPicture_uri(userObject.getPictureUrl());
- currentClient.setEmail(userObject.getEmail());
-
- log.debug("UPDATE USER BY STREAMID " + streamId);
-
- if (currentClient.getUserId() != null) {
- sessionDao.updateUser(sid, currentClient.getUserId());
- }
-
- sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
-
- return 1L;
- }
- }
- } catch (Exception err) {
- log.error("[loginUserByRemote] ", err);
- }
- return -1L;
- }
-
- /**
* clear this session id
*
* @param sid
Modified: openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Thu Aug 25 08:46:39 2016
@@ -188,40 +188,34 @@ public class MobileService {
private Map<String, Object> login(User u, Map<String, Object> result) {
if (u != null) {
- Sessiondata sd = sessionDao.create();
- boolean bool = sessionDao.updateUser(sd.getSessionId(), u.getId(), false, u.getLanguageId());
- if (!bool) {
- // invalid Session-Object
- result.put("status", -35);
+ Sessiondata sd = sessionDao.create(u.getId(), u.getLanguageId());
+ IConnection conn = Red5.getConnectionLocal();
+ String streamId = conn.getClient().getId();
+ Client c = sessionManager.getClientByStreamId(streamId, null);
+ if (c == null) {
+ c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
+ conn.getRemoteAddress(), "", null);
+ }
+ if (c == null) {
+ // Failed to create client
+ result.put("status", -1);
} else {
- IConnection conn = Red5.getConnectionLocal();
- String streamId = conn.getClient().getId();
- Client c = sessionManager.getClientByStreamId(streamId, null);
- if (c == null) {
- c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
- conn.getRemoteAddress(), "", null);
- }
- if (c == null) {
- // Failed to create client
- result.put("status", -1);
- } else {
- SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
- c.setUserId(u.getId());
- c.setFirstname(u.getFirstname());
- c.setLastname(u.getLastname());
- c.setMobile(true);
- sessionManager.updateClientByStreamId(streamId, c, false, null);
-
- add(result, "sid", sd.getSessionId());
- add(result, "publicSid", c.getPublicSID());
- add(result, "status", 0);
- add(result, "userId", u.getId());
- add(result, "firstname", u.getFirstname());
- add(result, "lastname", u.getLastname());
- add(result, "login", u.getLogin());
- add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
- add(result, "language", u.getLanguageId()); //TODO rights
- }
+ SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
+ c.setUserId(u.getId());
+ c.setFirstname(u.getFirstname());
+ c.setLastname(u.getLastname());
+ c.setMobile(true);
+ sessionManager.updateClientByStreamId(streamId, c, false, null);
+
+ add(result, "sid", sd.getSessionId());
+ add(result, "publicSid", c.getPublicSID());
+ add(result, "status", 0);
+ add(result, "userId", u.getId());
+ add(result, "firstname", u.getFirstname());
+ add(result, "lastname", u.getLastname());
+ add(result, "login", u.getLogin());
+ add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
+ add(result, "language", u.getLanguageId()); //TODO rights
}
}
return result;
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java Thu Aug 25 08:46:39 2016
@@ -59,15 +59,33 @@ public class SessiondataDao {
return sd;
}
-
+
/**
* creates a new session-object in the database
*
- * @return created Sessiondata with random UID
+ * @param userId the id of the user to be set on this session
+ * @param languageId language id to be set on this session
+ * @return newly create {@link Sessiondata}
*/
- public Sessiondata create() {
+ public Sessiondata create(Long userId, long languageId) {
+ return create(userId, null, languageId);
+ }
+
+ /**
+ * creates a new session-object in the database
+ *
+ * @param userId the id of the user to be set on this session
+ * @param roomId the id of the room to be set on this session
+ * @param languageId language id to be set on this session
+ * @return newly create {@link Sessiondata}
+ */
+ public Sessiondata create(Long userId, Long roomId, long languageId) {
log.debug("create :: create");
- return update(newInstance());
+ Sessiondata sd = newInstance();
+ sd.setUserId(userId);
+ sd.setRoomId(roomId);
+ sd.setLanguageId(languageId);
+ return update(sd);
}
/**
@@ -75,17 +93,28 @@ public class SessiondataDao {
* @param SID
* @return
*/
- public Sessiondata check(String SID) {
+ public Sessiondata find(String SID) {
List<Sessiondata> sessions = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID).getResultList();
Sessiondata sd = null;
if (sessions != null && sessions.size() > 0) {
sd = sessions.get(0);
+ if (sd == null || sd.getUserId() == null || sd.getUserId().equals(new Long(0))) {
+ return null;
+ }
}
+ return sd;
+ }
- // Checks if wether the Session or the User Object of that Session
- // is set yet
- if (sd == null || sd.getUserId() == null || sd.getUserId().equals(new Long(0))) {
+ /**
+ *
+ * @param SID
+ * @return
+ */
+ public Sessiondata check(String SID) {
+ Sessiondata sd = find(SID);
+ // Checks if wether the Session or the User Object of that Session is set yet
+ if (sd == null) {
return newInstance();
}
return update(sd);
@@ -102,42 +131,7 @@ public class SessiondataDao {
try {
log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
- if (sd == null) {
- log.error("Could not find session to Update");
- return false;
- }
- log.debug("Found session to update: {}, userId: {}", sd.getSessionId(), userId);
-
- sd.setUserId(userId);
- update(sd);
- return true;
- } catch (Exception ex2) {
- log.error("[updateUser]: ", ex2);
- }
- return false;
- }
-
- public boolean updateUser(String SID, Long userId, boolean permanent, long languageId) {
- try {
- log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
+ Sessiondata sd = find(SID);
if (sd == null) {
log.error("Could not find session to Update");
return false;
@@ -145,36 +139,6 @@ public class SessiondataDao {
log.debug("Found session to update: {}, userId: {}", sd.getSessionId(), userId);
sd.setUserId(userId);
- sd.setPermanent(permanent);
- sd.setLanguageId(languageId);
- update(sd);
-
- return true;
- } catch (Exception ex2) {
- log.error("[updateUser]: ", ex2);
- }
- return false;
- }
-
- public boolean updateUserGroup(String SID, Long groupId) {
- try {
- log.debug("updateUserGroup User: " + groupId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
- if (sd == null) {
- log.error("Could not find session to Update");
- return false;
- }
- log.debug("Found session to update: {}, groupId: {}", sd.getSessionId(), groupId);
-
- sd.setGroupId(groupId);
update(sd);
return true;
} catch (Exception ex2) {
@@ -186,15 +150,7 @@ public class SessiondataDao {
public boolean updateUserWithoutSession(String SID, Long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
+ Sessiondata sd = find(SID);
if (sd == null) {
log.error("Could not find session to Update");
return false;
Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java Thu Aug 25 08:46:39 2016
@@ -49,6 +49,9 @@ public class Sessiondata implements Seri
@Column(name = "user_id")
private Long userId;
+ @Column(name = "room_id")
+ private Long roomId;
+
@Column(name = "session_id")
private String sessionId;
@@ -68,9 +71,6 @@ public class Sessiondata implements Seri
@Column(name = "language_id")
private long languageId;
- @Column(name = "group_id")
- private Long groupId;
-
public Sessiondata() {
}
@@ -114,6 +114,14 @@ public class Sessiondata implements Seri
this.userId = userId;
}
+ public Long getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(Long roomId) {
+ this.roomId = roomId;
+ }
+
public String getXml() {
return xml;
}
@@ -137,13 +145,4 @@ public class Sessiondata implements Seri
public void setLanguageId(long languageId) {
this.languageId = languageId;
}
-
- public Long getGroupId() {
- return groupId;
- }
-
- public void setGroupId(Long groupId) {
- this.groupId = groupId;
- }
-
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/functions.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/functions.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/functions.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/functions.lzx Thu Aug 25 08:46:39 2016
@@ -92,40 +92,6 @@ function getLabelTag(labelid){
return l;
}
-function quicklinkAct(action) {
- // if($debug) Debug.write("FUNC/quicklinkAct",action);
- loadContent({action: action, params: null},null,null);
-}
-
-function loadContent(obj,parentobj,preparentobj){
- if($debug) Debug.write("FUNC/loadContent: ", obj);
-
- tempActionForNavi = {action: obj.action, params: obj.params};
- if (!clearStageContent()) {
- loadContentByTempActionForNavi();
- }
-}
-
-function loadContentByTempActionForNavi(){
- // if($debug) Debug.write("FUNC/loadContentByTempActionForNavi");
-
- if (canvas.roomJumpId != 0) {
- canvas.initroomid = canvas.roomJumpId;
- canvas.thishib.getRoomById.doCall();
- canvas.roomJumpId = 0;
- } else {
- if($debug) Debug.write("FUNC/loadContentByString -1- ",tempActionForNavi);
- if($debug) Debug.write("FUNC/loadContentByString -2- ",canvas[tempActionForNavi.action]);
- if($debug) Debug.write("FUNC/loadContentByString -3- ",lz[canvas[tempActionForNavi.action]]);
-
- new lz[canvas[tempActionForNavi.action]](canvas.main_content._content.inner, {params: tempActionForNavi.params});
- }
-}
-
-function clearStageContent(){
- return canvas.main_content._content.clearAll();
-}
-
function setLabelObject(labelObjRef){
// if($debug) Debug.write("FUNC/setLabelObject",labelObjRef);
labelObj = labelObjRef;
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Aug 25 08:46:39 2016
@@ -84,9 +84,6 @@
-->
<attribute name="currentroomid" value="0" type="number" />
- <!--- the current Invitation-Object -->
- <attribute name="currentInvitation" value="null" />
-
<!-- shows what kind of conferenceView it is at the moment
wether its conferenceView or audienceView -->
<attribute name="modus" value="" type="string" />
@@ -156,15 +153,11 @@
canvas.thishib.loaderVar.setProgress();
}
getDefaultLanguage.doCall();
- } else {
this.refreshDelegate = new LzDelegate(this, "refreshSessionMeth");
lz.Timer.addTimer(this.refreshDelegate, canvas.refreshSession);
if (canvas.thishib.loaderVar != null) {
canvas.thishib.loaderVar.setProgress();
}
-
- //Load Session Data
- this.getsessiondata.doCall();
}
connected = true;
client.roomConnect = this.roomConnect;
@@ -225,17 +218,6 @@
if ($debug) Debug.write("this.reconnectionAction: ", this.lastCalled);
this.connect();
} else {
- if (canvas.isRemoteUser() && (this.status == 'NetConnection.Connect.Closed'
- || this.status == 'NetConnection.Connect.NetworkChange'))
- {
- if (null != canvas.REDIRECT_URL_FOR_EXTERNAL_USERS) {
- new lz.redirectBox(canvas, {
- redirectURL:canvas.REDIRECT_URL_FOR_EXTERNAL_USERS
- , maxTime: 0
- });
- }
- this.counterror = 6; //NO more reconnects
- }
this.useRTMPT = true
var src = getUrl();
this.setAttribute('src',src);
@@ -268,26 +250,13 @@
<!-- This Function is just for refreshing the Session -->
<netRemoteCallHib name="refreshSession" funcname="userservice.refreshSession" showLoading="false" >
- <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
+ <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
<handler name="ondata" args="value">
//if ($debug) Debug.write("hibRtmpConnection/refreshSession [",value,"]");
lz.Timer.addTimer(parent.refreshDelegate, canvas.refreshSession);
</handler>
</netRemoteCallHib>
-
- <netRemoteCallHib name="getsessiondata" funcname="xmlcrm.getsessiondata" >
- <handler name="ondata" args="value">
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("hibRtmpConnection/getsessiondata [",value,"]");
- canvas.sessionObject = value;
- canvas.sessionId = value.sessionId;
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.setProgress();
- }
- parent.getPublicSID.doCall();
- </handler>
- </netRemoteCallHib>
-
+
<netRemoteCallHib name="getPublicSID" funcname="getPublicSID" >
<handler name="ondata" args="value">
//The onResult-Handler will be called be the rtmpconnection
@@ -343,90 +312,8 @@
parent.userlang = canvas.language_id;
}
parent.getLanguageByIdAndMax.doCall();
- </handler>
- </netRemoteCallHib>
-
- <netRemoteCallHib name="getInvitationByHash" activeErrorHandler="true" funcname="invitationservice.getInvitationByHash">
- <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
- <netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.close();
- }
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("getInvitationByHash: ",value);
- if (value<0){
- } else {
- if (value.allowEntry) {
- parent.currentInvitation = value;
- new lz.invitationQuickLoader(canvas.main_content._content.inner);
- } else {
- var addInfo = "" + value.validFrom +"<br/> - <br/>"+ value.validTo;
- var dlg = new lz.rpcErrorDialog(canvas,{errorid:-50,addInfo:addInfo});
- }
- }
- ]]>
</handler>
- </netRemoteCallHib>
-
- <netRemoteCallHib name="secureLoginByRemote" activeErrorHandler="true" funcname="xmlcrm.secureLoginByRemote" >
- <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
- <netparam name="remoteSessionId"><method name="getValue">return canvas.secureHash;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.close();
- }
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("secureLoginByRemote: ",value);
- if (value < 0) {
- } else {
- if (value == null) {
- new lz.errorPopup(canvas,{error:'Invalid Hash'});
- return;
- }
-
- canvas.showNickNameDialog = value.showNickNameDialog;
- if ($debug) Debug.write("secureLoginByRemote1: ",canvas.showNickNameDialog);
-
- canvas.initroomid = value.roomId;
- canvas.becomemoderator = value.becomemoderator;
- canvas.showAudioVideoTest = value.showAudioVideoTest;
-
- canvas.roomRecordingId = value.roomRecordingId;
-
- if (canvas.roomRecordingId == null) {
- canvas.roomRecordingId = 0;
- }
-
- if (canvas.showNickNameDialog) {
- new lz.chooseNickName(canvas);
- } else {
- parent.getCurrentRoomClient.doCall();
- }
- }
- ]]>
- </handler>
- </netRemoteCallHib>
-
- <netRemoteCallHib name="loginUserByRemote" activeErrorHandler="true"
- funcname="xmlcrm.loginUserByRemote" >
- <netparam name="remoteSessionId"><method name="getValue">return canvas.remoteUserSid;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
-
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("loginUserByRemote -1-: ",value);
- if ($debug) Debug.write("loginUserByRemote -2-: ",canvas.remoteUserSid);
- if (value<0){
-
- } else {
- parent.getCurrentRoomClient.doCall();
- }
- ]]>
- </handler>
- </netRemoteCallHib>
+ </netRemoteCallHib>
<netRemoteCallHib name="getCurrentRoomClient" funcname="xmlcrm.getCurrentRoomClient" >
<netparam name="sessionId"><method name="getValue">return canvas.sessionId;</method></netparam>
@@ -449,10 +336,6 @@
canvas.setAttribute('lastName', lName);
canvas.setAttribute('mail', value.email);
- if (canvas.isRemoteUser() && !fName && !lName) {
- if ($debug) Debug.write("!!!!!!!!!!! Nickname HIB ", value.email);
- new lz.chooseNickName(canvas);
- }
hib.userobject.id = value.userId;
hib.userobject.firstname = fName;
hib.userobject.lastname = lName;
@@ -460,45 +343,13 @@
canvas.setAttribute('lastLogin','');
canvas.setAttribute('picture_uri',value.picture_uri);
canvas.setAttribute('language','');
-
- if (canvas.wicketroomid > 0) {
- canvas.initroomid = canvas.wicketroomid;
- } else {
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.close();
- }
- }
- parent.getRoomById.doCall();
+ canvas.setRoomValues(canvas.currentRoomObj);
}
if ($debug) Debug.write("getCurrentRoomClient: ", canvas.currentClient);
]]>
</handler>
</netRemoteCallHib>
-
- <netRemoteCallHib name="getRoomById" funcname="conferenceservice.getRoomById" >
- <netparam name="sessionId"><method name="getValue">return canvas.sessionId;</method></netparam>
- <netparam name="roomId"><method name="getValue">return canvas.initroomid;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("getRoomById: ",value);
- if (value!=null){
- if (canvas.wicketsid != null) {
- canvas.thishib.loaderVar.close();
- }
- if (canvas.directUserLogin) {
- canvas.directRoomObj = value;
- canvas.thishib.loaderVar.close();
- } else if (parent.currentInvitation == null) {
- canvas.setRoomValues(value);
- }
- } else {
- new lz.labelerrorPopup(canvas,{errorlabelid:1286});
- }
- ]]>
- </handler>
- </netRemoteCallHib>
-
+
<netRemoteCallHib name="getLanguageByIdAndMax" funcname="languageservice.getLanguageByIdAndMax" >
<attribute name="start" value="0" type="number" />
<attribute name="step" value="100" type="number" />
@@ -576,20 +427,6 @@
}
if (canvas.wicketsid != null) {
parent.loginWicket.doCall();
- } else {
- if (canvas.thishib.loaderVar != null) {
- canvas.thishib.loaderVar.close();
- }
- //do not show loggin-PopUp for the test-Application
- if (parent.testAppLoading){
- canvas.loadNextStepTestApp();
- } else if (!!canvas.invitationHash) {
- parent.getInvitationByHash.doCall();
- } else if (canvas.secureRemoteUserLogin) {
- if ($debug) Debug.write("secureLoginByRemote:: ",canvas.secureHash);
- hib.userobject = {};
- parent.secureLoginByRemote.doCall();
- }
}
]]>
</handler>
@@ -602,26 +439,28 @@
<![CDATA[
if ($debug) Debug.write("!!!!!!!!!!! loginWicket", value);
if (value != null) {
- canvas.setAttribute('userId', value.id);
- canvas.setAttribute('firstName', value.firstname == null ? "" : value.firstname);
- canvas.setAttribute('lastName', value.lastname == null ? "" : value.lastname);
+ var user = value[0];
+ canvas.setAttribute('userId', user.id);
+ canvas.setAttribute('firstName', user.firstname == null ? "" : user.firstname);
+ canvas.setAttribute('lastName', user.lastname == null ? "" : user.lastname);
canvas.setAttribute('mail','');
canvas.setAttribute('lastLogin','');
canvas.setAttribute('picture_uri','');
canvas.setAttribute('language','');
- canvas.setAttribute('currentuser',value.login);
- if (value.timeZoneId != null) {
- canvas.timeZoneId = value.timeZoneId;
+ canvas.setAttribute('currentuser', user.login);
+ if (user.timeZoneId != null) {
+ canvas.timeZoneId = user.timeZoneId;
}
- if (value.rights != null) {
- canvas.becomemoderator = value.rights.indexOf('Admin') > -1;
+ if (user.rights != null) {
+ canvas.becomemoderator = user.rights.indexOf('Admin') > -1;
}
if ($debug) Debug.write("hibRtmpConnection::loginWicket -> canvas.becomemoderator", canvas.becomemoderator);
- if (value.sessionData == null) {
+ if (user.sessionData == null) {
if ($debug) Debug.write("No Language Found to assign");
return;
}
- hib.userobject = value;
+ hib.userobject = user;
+ canvas.currentRoomObj = value[1];
parent.getCurrentRoomClient.doCall();
} else {
new lz.labelerrorPopup(canvas, {errorlabelid: 1599});
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx Thu Aug 25 08:46:39 2016
@@ -265,28 +265,12 @@ the LAST RoomClient Object that has been
<attribute name="publicSID" value="" type="string" />
<!--- attributes for direct room access -->
-<attribute name="initroomid" value="0" type="number" />
<attribute name="initroomStr" value="" type="string" />
<attribute name="initdomainid" value="" type="string" />
<attribute name="initlangid" value="1" type="number" />
<attribute name="isinitRoomDirect" value="false" type="boolean" />
<attribute name="isinitRoomObject" value="null" />
-<!-- attributes for direct room access via direct link -->
-<attribute name="directUserLogin" value="false" type="boolean" />
-<attribute name="directRoomId" value="1" type="number" />
-<attribute name="directRoomObj" value="null" />
-
-<!--- attributes for direct room access via remoteUser -->
-<attribute name="remoteUserLogin" value="false" type="boolean" />
-<attribute name="remoteUserSid" value="" type="string" />
-
-<!--- attributes for direct room access via remoteUser
- This is using the advanced methods to prevent abuse
- -->
-<attribute name="secureRemoteUserLogin" value="false" type="boolean" />
-<attribute name="secureHash" value="" type="string" />
-
<!-- Attributes for wicket login (since it hard not to break anything)-->
<attribute name="wicketsid" type="string" value="null"/>
<attribute name="wicketroomid" type="number" value="0"/>
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Thu Aug 25 08:46:39 2016
@@ -168,23 +168,6 @@
this.setAttribute('rtmphostlocal',server);
}
- //Check for Invitation
- var invitationHash = lz.Browser.getInitArg('invitationHash');
-
- if ($debug) Debug.info("###################### -1 ");
- if ($debug) Debug.info("invitationHash :: ",invitationHash);
-
- if (invitationHash != undefined){
- canvas.isinitRoomDirect = true;
- canvas.invitationHash = invitationHash;
- }
-
- var secureHash = lz.Browser.getInitArg('secureHash');
- if (secureHash != undefined){
- canvas.secureRemoteUserLogin = true;
- canvas.secureHash = secureHash;
- }
-
if ($debug) Debug.info("###################### -2 ");
var language = lz.Browser.getInitArg('language');
@@ -292,6 +275,7 @@
hib.currentroomid = roomObj.id;
canvas.isConference = roomObj.type == 'conference';
canvas.isInterview = roomObj.type == 'interview';
+ canvas.main_content.setAttribute('visible', true);
if (roomObj.type == 'conference') {
new lz.flexibleConferenceRoom(canvas.main_content._content.inner, {roomobj:roomObj});
@@ -299,7 +283,7 @@
new lz.restrictedConferenceRoom(canvas.main_content._content.inner, {roomobj:roomObj});
} else if (roomObj.type == 'interview') {
new lz.interviewConferenceRoom(canvas.main_content._content.inner, {roomobj:roomObj});
- }
+ }
}
]]>
</method>
@@ -588,10 +572,6 @@
return value == null ? '' : value;
</method>
- <method name="isRemoteUser" args="">
- return canvas.isinitRoomDirect || canvas.remoteUserLogin || canvas.directUserLogin || canvas.secureRemoteUserLogin;
- </method>
-
<method name="loadImgBySrc" args="cmp, imgUrl, completeCallback">
cmp.sprite.resource = imgUrl;
if (!cmp.sprite.imgLoader) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/roomSidebar/baseRoomSidebar.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/roomSidebar/baseRoomSidebar.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/roomSidebar/baseRoomSidebar.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/roomSidebar/baseRoomSidebar.lzx Thu Aug 25 08:46:39 2016
@@ -30,7 +30,7 @@
//set reference, this reference will be cleared at *ontabcontenctleave* event
canvas._videocontainer = this;
- this.getRoomModeratorsByRoomId.doCall();
+ setRoomModerators();
</handler>
<view name="_filearea" x="0" y="0" height="${ parent.height }" width="1">
@@ -41,41 +41,35 @@
</handler>
</view>
- <netRemoteCallHib name="getRoomModeratorsByRoomId" funcname="conferenceservice.getRoomModeratorsByRoomId"
- remotecontext="$once{ canvas.thishib }" >
- <netparam><method name="getValue">return canvas.sessionId;</method></netparam>
- <netparam><method name="getValue">return hib.currentroomid;</method></netparam>
- <handler name="ondata" args="value">
- <![CDATA[
- if ($debug) Debug.write("getRoomModeratorsByRoomId: ",value);
- canvas.becomeSuperModerator = false;
-
- parent.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
- canvas.becomeSuperModerator = canvas.becomemoderator;
-
- if (!canvas.becomeSuperModerator) {
- for (var i=0;i<value.length;i++) {
-
- if (value[i].user.userId == canvas.userId) {
- parent.setRoomValues.applyDefaultModeration = true;
- canvas.becomeSuperModerator = value[i].isSuperModerator;
- if ($debug) Debug.info("Make this User to an Moderator");
- break;
- }
-
+ <method name="setRoomModerators">
+ <![CDATA[
+ var moders = canvas.currentRoomObj.moderators;
+ if ($debug) Debug.write("getRoomModeratorsByRoomId: ", moders);
+ canvas.becomeSuperModerator = false;
+
+ this.setRoomValues.applyDefaultModeration = canvas.becomemoderator;
+ canvas.becomeSuperModerator = canvas.becomemoderator;
+
+ if (!canvas.becomeSuperModerator) {
+ for (var i = 0; i < moders.length; ++i) {
+ if (moders[i].user.id == canvas.userId) {
+ this.setRoomValues.applyDefaultModeration = true;
+ canvas.becomeSuperModerator = moders[i].superModerator;
+ if ($debug) Debug.info("Make this User to an Moderator");
+ break;
}
}
-
- if ($debug) Debug.write("canvas.becomemoderator: ",canvas.becomemoderator);
- if ($debug) Debug.write("canvas.becomeSuperModerator: ",canvas.becomeSuperModerator);
-
- canvas.currentusercolor = canvas.getColorForUser();
-
- if ($debug) Debug.write(hib.userobject);
- this.parent.setRoomValues.doCall();
- ]]>
- </handler>
- </netRemoteCallHib>
+ }
+
+ if ($debug) Debug.write("canvas.becomemoderator: ", canvas.becomemoderator);
+ if ($debug) Debug.write("canvas.becomeSuperModerator: ", canvas.becomeSuperModerator);
+
+ canvas.currentusercolor = canvas.getColorForUser();
+
+ if ($debug) Debug.write(hib.userobject);
+ this.setRoomValues.doCall();
+ ]]>
+ </method>
<netRemoteCallHib name="setRoomValues" funcname="setRoomValues" remotecontext="$once{ canvas.thishib }" >
<attribute name="applyDefaultModeration" value="false" type="boolean" />
@@ -87,8 +81,8 @@
<handler name="ondata" args="roomStatus">
<![CDATA[
//The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("setRoomValues1: ",value);
- //if ($debug) Debug.write("setRoomValues2: ",hib.currentroomid);
+ if ($debug) Debug.write("setRoomValues1: ", roomStatus);
+ //if ($debug) Debug.write("setRoomValues2: ", hib.currentroomid);
//if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/library.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/library.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/popups/library.lzx Thu Aug 25 08:46:39 2016
@@ -25,7 +25,7 @@
Creative Commons 3.0
-->
<resource name="warning_icon_rsc" src="resources/error.png" />
-
+
<include href="rpcerrorDialog.lzx" />
<include href="errorPopup.lzx" />
<include href="messageWin.lzx" />
@@ -37,7 +37,5 @@
<include href="errorModeratorPopup.lzx" />
<include href="syncWin.lzx" />
<include href="incomingScreenSharing.lzx" />
- <include href="redirectBox.lzx" />
- <include href="chooseNickName.lzx" />
-
+
</library>
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/library.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/library.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/library.lzx Thu Aug 25 08:46:39 2016
@@ -21,7 +21,6 @@
<library>
<include href="conference/" />
- <include href="invitation/" />
- <include href="sipintegration/" />
+ <include href="sipintegration/" />
<include href="lzrecordcontent" />
</library>
Modified: openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/videoUserProfilePicSWF10.lzx Thu Aug 25 08:46:39 2016
@@ -21,13 +21,13 @@
<library>
<class name="videoUserProfilePicSWF10" extends="view" x="1" y="2" width="${parent.width-2}" height="${parent.height-3}"
- clip="true" bgcolor="white">
+ clip="true" bgcolor="white">
<attribute name="value" value="null" />
<handler name="oninit">
<![CDATA[
var extra = value.sipTransport ? "&parentPath=../default&moduleName=videoconf1"
- : '&parentPath=&moduleName=remoteuserprofile&remoteUserid='+this.value.userId;
+ : '&parentPath=&remoteUserid='+this.value.userId;
this._userpic.setAttribute('src', canvas.getPictureUrl(value.picture_uri, extra));
]]>
Modified: openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java Thu Aug 25 08:46:39 2016
@@ -162,7 +162,7 @@ public class UserManager implements IUse
@Override
public Long logout(String SID, long userId) {
- sessionDao.updateUser(SID, null, false, 0);
+ sessionDao.updateUser(SID, null);
return -12L;
}
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=1757626&r1=1757625&r2=1757626&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 Thu Aug 25 08:46:39 2016
@@ -242,9 +242,11 @@ public class WebSession extends Abstract
//soapLogin.setClientURL(clientURL); //FIXME
soapDao.update(soapLogin);
}
- sessionDao.updateUser(SID, user.getId());
- setUser(user, null);
roomId = soapLogin.getRoomId();
+ sd.setUserId(user.getId());
+ sd.setRoomId(roomId);
+ sessionDao.update(sd);
+ setUser(user, null);
recordingId = soapLogin.getRecordingId();
return true;
}
@@ -316,8 +318,6 @@ public class WebSession extends Abstract
}
public boolean signIn(User u) {
- Sessiondata sessData = getBean(SessiondataDao.class).create();
- SID = sessData.getSessionId();
if (u == null) {
return false;
}
@@ -354,16 +354,12 @@ public class WebSession extends Abstract
public String getValidatedSid() {
SessiondataDao sessionDao = getBean(SessiondataDao.class);
Sessiondata sd = sessionDao.check(SID);
+ //TODO need to check roomId equality
if (sd.getUserId() == null || !sd.getUserId().equals(userId)) {
if (sd.getId() == null) {
- sd = sessionDao.create();
- }
- if (!sessionDao.updateUser(sd.getSessionId(), userId, false, languageId)) {
- //something bad, force user to re-login
- invalidate();
- } else {
- SID = sd.getSessionId();
+ sd = sessionDao.create(userId, roomId, languageId);
}
+ SID = sd.getSessionId();
}
return SID;
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml Thu Aug 25 08:46:39 2016
@@ -77,7 +77,6 @@
<!-- Start of Services -->
<bean id="xmlcrm.service" class="org.apache.openmeetings.core.remote.MainService" />
<bean id="languageservice.service" class="org.apache.openmeetings.core.remote.LanguageService" />
- <bean id="invitationservice.service" class="org.apache.openmeetings.core.remote.InvitationService" />
<bean id="whiteboardservice.service" class="org.apache.openmeetings.core.remote.WhiteBoardService" />
<bean id="userservice.service" class="org.apache.openmeetings.core.remote.UserService" />
<bean id="fileservice.service" class="org.apache.openmeetings.core.remote.ConferenceLibrary" />
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java Thu Aug 25 08:46:39 2016
@@ -18,33 +18,44 @@
*/
package org.apache.openmeetings.test.invitiation;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import static org.apache.openmeetings.util.CalendarHelper.getDate;
-import org.apache.openmeetings.core.remote.InvitationService;
+import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.entity.room.Invitation;
+import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.service.room.InvitationManager;
import org.apache.openmeetings.test.AbstractJUnitDefaults;
import org.apache.openmeetings.webservice.UserWebService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
+import org.threeten.bp.LocalDateTime;
public class TestInvitation extends AbstractJUnitDefaults {
@Autowired
- private InvitationService invitationService;
+ private InvitationManager invitationManager;
@Autowired
private UserWebService userWebService;
@Autowired
private UserDao userDao;
-
+ @Autowired
+ private RoomDao roomDao;
+
@Test
- public void testSendInvitationLink() {
+ public void testSendInvitationLink() throws Exception {
ServiceResult result = userWebService.login(username, userpass);
User us = userDao.get(result.getCode());
- String date = new SimpleDateFormat("dd.MM.yyyy").format(new Date());
- invitationService.sendInvitationHash(result.getMessage(), "Testname", "Testlastname", "message", "sebawagner@apache.org",
- "subject", 1L, "", false, "", 1, date, "12:00", date, "14:00", 1L, us.getTimeZoneId(), true);
+ LocalDateTime from = LocalDateTime.now().plusDays(1).withHour(12).withMinute(0).withSecond(0);
+ User invitee = userDao.getContact("sebawagner@apache.org", "Testname", "Testlastname", us.getId());
+ Invitation i = invitationManager.getInvitation(invitee, roomDao.get(1L),
+ false, "", Valid.OneTime
+ , us, us.getLanguageId(),
+ getDate(from, "GMT"), getDate(from.plusHours(2), "GMT"), null);
+
+ invitationManager.sendInvitationLink(i, MessageType.Create, "subject", "message", false);
}
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java Thu Aug 25 08:46:39 2016
@@ -31,7 +31,7 @@ public class TestAuth extends AbstractJU
@Test
public void testTestAuth() {
- Sessiondata sessionData = sessionDao.create();
+ Sessiondata sessionData = sessionDao.create(1L, 1L);
System.out.println("sessionData: " + sessionData.getSessionId());
Modified: openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java Thu Aug 25 08:46:39 2016
@@ -108,12 +108,8 @@ public class UserWebService implements U
return new ServiceResult(-1L, "Login failed", Type.ERROR);
}
- Sessiondata sd = sessionDao.create();
+ Sessiondata sd = sessionDao.create(u.getId(), u.getLanguageId());
log.debug("Login user SID : " + sd.getSessionId());
- if (!sessionDao.updateUser(sd.getSessionId(), u.getId(), false, u.getLanguageId())) {
- return new ServiceResult(-35L, "invalid Session-Object", Type.ERROR);
- }
-
return new ServiceResult(u.getId(), sd.getSessionId(), Type.SUCCESS);
} catch (OmException oe) {
return new ServiceResult(oe.getCode() == null ? -1 : oe.getCode(), oe.getMessage(), Type.ERROR);
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Aug 25 08:46:39 2016
@@ -274,12 +274,4 @@ public class ConferenceService {
}
return null;
}
-
- public Room getRoomById(String sid, Long roomId) {
- Sessiondata sd = sessionDao.check(sid);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- return roomDao.get(roomId);
- }
- return null;
- }
}
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Thu Aug 25 08:46:39 2016
@@ -22,9 +22,8 @@ import static org.apache.openmeetings.ut
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SIP_ENABLED;
-import java.util.Date;
+import java.util.Arrays;
import java.util.List;
-import java.util.Locale;
import java.util.Set;
import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
@@ -34,7 +33,6 @@ import org.apache.openmeetings.db.dao.ca
import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
-import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
@@ -45,18 +43,13 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.RoomGroup;
-import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
-import org.apache.openmeetings.db.entity.server.SOAPLogin;
import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.GroupUser;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.Userdata;
import org.apache.openmeetings.db.util.AuthLevelUtil;
-import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
-import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
import org.red5.server.api.Red5;
@@ -91,10 +84,6 @@ public class MainService implements IPen
private RoomDao roomDao;
@Autowired
private AppointmentDao appointmentDao;
- @Autowired
- private SOAPLoginDao soapLoginDao;
- @Autowired
- private TimezoneUtil timezoneUtil;
// External User Types
public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
@@ -135,25 +124,6 @@ public class MainService implements IPen
return null;
}
- /**
- * load this session id before doing anything else
- *
- * @return a unique session identifier
- */
- public Sessiondata getsessiondata() {
- return sessionDao.create();
- }
-
- public Long setCurrentUserGroup(String SID, Long groupId) {
- try {
- sessionDao.updateUserGroup(SID, groupId);
- return 1L;
- } catch (Exception err) {
- log.error("[setCurrentUserGroup]", err);
- }
- return -1L;
- }
-
public boolean isRoomAllowedToUser(Room r, User u) {
boolean allowed = false;
if (r != null) {
@@ -202,19 +172,20 @@ public class MainService implements IPen
return allowed;
}
- public User loginWicket(String wicketSID, Long wicketroomid) {
+ public List<Object> loginWicket(String wicketSID, Long wicketroomid) {
log.debug("[loginWicket] wicketSID: '{}'; wicketroomid: '{}'", wicketSID, wicketroomid);
Sessiondata sd = sessionDao.check(wicketSID);
Long userId = sd.getUserId();
User u = userId == null ? null : userDao.get(userId);
- if (u != null && wicketroomid != null) {
+ Room r = roomDao.get(wicketroomid);
+ if (u != null && r != null) {
log.debug("[loginWicket] user and roomid are not empty: " + userId + ", " + wicketroomid);
- if (isRoomAllowedToUser(roomDao.get(wicketroomid), u)) {
+ if (wicketroomid.equals(sd.getRoomId()) || isRoomAllowedToUser(r, u)) {
IConnection current = Red5.getConnectionLocal();
String streamId = current.getClient().getId();
Client currentClient = sessionManager.getClientByStreamId(streamId, null);
- if (!u.getGroupUsers().isEmpty()) {
+ if (User.Type.user != u.getType() || (User.Type.user == u.getType() && !u.getGroupUsers().isEmpty())) {
u.setSessionData(sd);
currentClient.setUserId(u.getId());
currentClient.setRoomId(wicketroomid);
@@ -229,90 +200,12 @@ public class MainService implements IPen
scopeApplicationAdapter.sendMessageToCurrentScope("roomConnect", currentClient, false);
- return u;
+ return Arrays.<Object>asList(u, r);
}
}
}
return null;
}
-
- public Object secureLoginByRemote(String SID, String secureHash) {
- try {
- log.debug("############### secureLoginByRemote " + secureHash);
-
- String clientURL = Red5.getConnectionLocal().getRemoteAddress();
-
- log.debug("swfURL " + clientURL);
-
- SOAPLogin soapLogin = soapLoginDao.get(secureHash);
- if (soapLogin == null) {
- log.warn("Unable to find login by hash: {}" + secureHash);
- return -1L;
- }
-
- if (soapLogin.isUsed()) {
- if (soapLogin.getAllowSameURLMultipleTimes()) {
- if (!soapLogin.getClientURL().equals(clientURL)) {
- log.debug("does not equal " + clientURL);
- return -42L;
- }
- } else {
- log.debug("Already used " + secureHash);
- return -42L;
- }
- }
-
- Long loginReturn = loginUserByRemote(soapLogin.getSessionHash());
-
- IConnection current = Red5.getConnectionLocal();
- String streamId = current.getClient().getId();
- Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-
- if (currentClient.getUserId() != null) {
- sessionDao.updateUser(SID, currentClient.getUserId());
- }
-
- currentClient.setAllowRecording(soapLogin.isAllowRecording());
- sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
-
- if (loginReturn == null) {
- log.debug("loginReturn IS NULL for SID: " + soapLogin.getSessionHash());
-
- return -1L;
- } else if (loginReturn < 0) {
- log.debug("loginReturn IS < 0 for SID: " + soapLogin.getSessionHash());
-
- return loginReturn;
- } else {
-
- soapLogin.setUsed(true);
- soapLogin.setUseDate(new Date());
-
- soapLogin.setClientURL(clientURL);
-
- soapLoginDao.update(soapLogin);
-
- // Create Return Object and hide the validated
- // sessionHash that is stored server side
- // this hash should be never thrown back to the user
-
- SOAPLogin returnSoapLogin = new SOAPLogin();
-
- returnSoapLogin.setRoomId(soapLogin.getRoomId());
- returnSoapLogin.setBecomemoderator(soapLogin.isBecomemoderator());
- returnSoapLogin.setShowAudioVideoTest(soapLogin.getShowAudioVideoTest());
- returnSoapLogin.setRecordingId(soapLogin.getRecordingId());
- returnSoapLogin.setShowNickNameDialog(soapLogin.getShowNickNameDialog());
- returnSoapLogin.setLandingZone(soapLogin.getLandingZone());
-
- return returnSoapLogin;
- }
-
- } catch (Exception err) {
- log.error("[secureLoginByRemote]", err);
- }
- return null;
- }
/**
* Function is called if the user loggs in via a secureHash and sets the
@@ -350,91 +243,6 @@ public class MainService implements IPen
}
/**
- * Attention! This SID is NOT the default session id! its the Session id
- * retrieved in the call from the SOAP Gateway!
- *
- * @param sid
- * @return - 1 in case of success, -1 otherwise
- */
- public Long loginUserByRemote(String sid) {
- try {
- Sessiondata sd = sessionDao.check(sid);
- if (AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- if (sd.getXml() == null) {
- return -37L;
- } else {
- RemoteSessionObject userObject = RemoteSessionObject.fromXml(sd.getXml());
- if (userObject == null) {
- log.warn("Failed to get user object by XML");
- return -1L;
- }
-
- log.debug(userObject.toString());
-
- IConnection current = Red5.getConnectionLocal();
- String streamId = current.getClient().getId();
- Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-
- // Check if this User is simulated in the OpenMeetings
- // Database
-
- if (!Strings.isEmpty(userObject.getExternalUserId())) {
- // If so we need to check that we create this user in
- // OpenMeetings and update its record
-
- User user = userDao.getExternalUser(userObject.getExternalUserId(), userObject.getExternalUserType());
-
- if (user == null) {
- String iCalTz = configurationDao.getConfValue("default.timezone", String.class, "");
-
- Address a = userDao.getAddress(null, null, null, Locale.getDefault().getCountry(), null, null, null, userObject.getEmail());
-
- Set<Right> rights = UserDao.getDefaultRights();
- rights.remove(Right.Login);
- rights.remove(Right.Dashboard);
- User u = userDao.addUser(rights, userObject.getFirstname(), userObject.getUsername(),
- userObject.getLastname(), 1L, "" // password is empty by default
- , a, false, null, null, timezoneUtil.getTimeZone(iCalTz), false
- , null, null, false, false, userObject.getExternalUserId()
- , userObject.getExternalUserType(), null, userObject.getPictureUrl());
-
- long userId = u.getId();
- currentClient.setUserId(userId);
- SessionVariablesUtil.setUserId(current.getClient(), userId);
- } else {
- user.setPictureuri(userObject.getPictureUrl());
-
- userDao.update(user, sd.getUserId());
-
- currentClient.setUserId(user.getId());
- SessionVariablesUtil.setUserId(current.getClient(), user.getId());
- }
- }
-
- log.debug("userObject.getExternalUserId() -2- " + currentClient.getUserId());
-
- currentClient.setUserObject(userObject.getUsername(), userObject.getFirstname(), userObject.getLastname());
- currentClient.setPicture_uri(userObject.getPictureUrl());
- currentClient.setEmail(userObject.getEmail());
-
- log.debug("UPDATE USER BY STREAMID " + streamId);
-
- if (currentClient.getUserId() != null) {
- sessionDao.updateUser(sid, currentClient.getUserId());
- }
-
- sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
-
- return 1L;
- }
- }
- } catch (Exception err) {
- log.error("[loginUserByRemote] ", err);
- }
- return -1L;
- }
-
- /**
* clear this session id
*
* @param sid
Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java Thu Aug 25 08:46:39 2016
@@ -188,40 +188,34 @@ public class MobileService {
private Map<String, Object> login(User u, Map<String, Object> result) {
if (u != null) {
- Sessiondata sd = sessionDao.create();
- boolean bool = sessionDao.updateUser(sd.getSessionId(), u.getId(), false, u.getLanguageId());
- if (!bool) {
- // invalid Session-Object
- result.put("status", -35);
+ Sessiondata sd = sessionDao.create(u.getId(), u.getLanguageId());
+ IConnection conn = Red5.getConnectionLocal();
+ String streamId = conn.getClient().getId();
+ Client c = sessionManager.getClientByStreamId(streamId, null);
+ if (c == null) {
+ c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
+ conn.getRemoteAddress(), "", null);
+ }
+ if (c == null) {
+ // Failed to create client
+ result.put("status", -1);
} else {
- IConnection conn = Red5.getConnectionLocal();
- String streamId = conn.getClient().getId();
- Client c = sessionManager.getClientByStreamId(streamId, null);
- if (c == null) {
- c = sessionManager.addClientListItem(streamId, conn.getScope().getName(), conn.getRemotePort(),
- conn.getRemoteAddress(), "", null);
- }
- if (c == null) {
- // Failed to create client
- result.put("status", -1);
- } else {
- SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
- c.setUserId(u.getId());
- c.setFirstname(u.getFirstname());
- c.setLastname(u.getLastname());
- c.setMobile(true);
- sessionManager.updateClientByStreamId(streamId, c, false, null);
-
- add(result, "sid", sd.getSessionId());
- add(result, "publicSid", c.getPublicSID());
- add(result, "status", 0);
- add(result, "userId", u.getId());
- add(result, "firstname", u.getFirstname());
- add(result, "lastname", u.getLastname());
- add(result, "login", u.getLogin());
- add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
- add(result, "language", u.getLanguageId()); //TODO rights
- }
+ SessionVariablesUtil.initClient(conn.getClient(), c.getPublicSID());
+ c.setUserId(u.getId());
+ c.setFirstname(u.getFirstname());
+ c.setLastname(u.getLastname());
+ c.setMobile(true);
+ sessionManager.updateClientByStreamId(streamId, c, false, null);
+
+ add(result, "sid", sd.getSessionId());
+ add(result, "publicSid", c.getPublicSID());
+ add(result, "status", 0);
+ add(result, "userId", u.getId());
+ add(result, "firstname", u.getFirstname());
+ add(result, "lastname", u.getLastname());
+ add(result, "login", u.getLogin());
+ add(result, "email", u.getAddress() == null ? "" : u.getAddress().getEmail());
+ add(result, "language", u.getLanguageId()); //TODO rights
}
}
return result;
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java Thu Aug 25 08:46:39 2016
@@ -59,15 +59,33 @@ public class SessiondataDao {
return sd;
}
-
+
/**
* creates a new session-object in the database
*
- * @return created Sessiondata with random UID
+ * @param userId the id of the user to be set on this session
+ * @param languageId language id to be set on this session
+ * @return newly create {@link Sessiondata}
*/
- public Sessiondata create() {
+ public Sessiondata create(Long userId, long languageId) {
+ return create(userId, null, languageId);
+ }
+
+ /**
+ * creates a new session-object in the database
+ *
+ * @param userId the id of the user to be set on this session
+ * @param roomId the id of the room to be set on this session
+ * @param languageId language id to be set on this session
+ * @return newly create {@link Sessiondata}
+ */
+ public Sessiondata create(Long userId, Long roomId, long languageId) {
log.debug("create :: create");
- return update(newInstance());
+ Sessiondata sd = newInstance();
+ sd.setUserId(userId);
+ sd.setRoomId(roomId);
+ sd.setLanguageId(languageId);
+ return update(sd);
}
/**
@@ -75,17 +93,28 @@ public class SessiondataDao {
* @param SID
* @return
*/
- public Sessiondata check(String SID) {
+ public Sessiondata find(String SID) {
List<Sessiondata> sessions = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID).getResultList();
Sessiondata sd = null;
if (sessions != null && sessions.size() > 0) {
sd = sessions.get(0);
+ if (sd == null || sd.getUserId() == null || sd.getUserId().equals(new Long(0))) {
+ return null;
+ }
}
+ return sd;
+ }
- // Checks if wether the Session or the User Object of that Session
- // is set yet
- if (sd == null || sd.getUserId() == null || sd.getUserId().equals(new Long(0))) {
+ /**
+ *
+ * @param SID
+ * @return
+ */
+ public Sessiondata check(String SID) {
+ Sessiondata sd = find(SID);
+ // Checks if wether the Session or the User Object of that Session is set yet
+ if (sd == null) {
return newInstance();
}
return update(sd);
@@ -102,42 +131,7 @@ public class SessiondataDao {
try {
log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
- if (sd == null) {
- log.error("Could not find session to Update");
- return false;
- }
- log.debug("Found session to update: {}, userId: {}", sd.getSessionId(), userId);
-
- sd.setUserId(userId);
- update(sd);
- return true;
- } catch (Exception ex2) {
- log.error("[updateUser]: ", ex2);
- }
- return false;
- }
-
- public boolean updateUser(String SID, Long userId, boolean permanent, long languageId) {
- try {
- log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
+ Sessiondata sd = find(SID);
if (sd == null) {
log.error("Could not find session to Update");
return false;
@@ -145,36 +139,6 @@ public class SessiondataDao {
log.debug("Found session to update: {}, userId: {}", sd.getSessionId(), userId);
sd.setUserId(userId);
- sd.setPermanent(permanent);
- sd.setLanguageId(languageId);
- update(sd);
-
- return true;
- } catch (Exception ex2) {
- log.error("[updateUser]: ", ex2);
- }
- return false;
- }
-
- public boolean updateUserGroup(String SID, Long groupId) {
- try {
- log.debug("updateUserGroup User: " + groupId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
- if (sd == null) {
- log.error("Could not find session to Update");
- return false;
- }
- log.debug("Found session to update: {}, groupId: {}", sd.getSessionId(), groupId);
-
- sd.setGroupId(groupId);
update(sd);
return true;
} catch (Exception ex2) {
@@ -186,15 +150,7 @@ public class SessiondataDao {
public boolean updateUserWithoutSession(String SID, Long userId) {
try {
log.debug("updateUser User: " + userId + " || " + SID);
- TypedQuery<Sessiondata> query = em.createNamedQuery("getSessionById", Sessiondata.class).setParameter("sessionId", SID);
-
- List<Sessiondata> sessions = query.getResultList();
-
- Sessiondata sd = null;
- if (sessions != null && sessions.size() > 0) {
- sd = sessions.get(0);
- }
-
+ Sessiondata sd = find(SID);
if (sd == null) {
log.error("Could not find session to Update");
return false;
Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Sessiondata.java Thu Aug 25 08:46:39 2016
@@ -49,6 +49,9 @@ public class Sessiondata implements Seri
@Column(name = "user_id")
private Long userId;
+ @Column(name = "room_id")
+ private Long roomId;
+
@Column(name = "session_id")
private String sessionId;
@@ -68,9 +71,6 @@ public class Sessiondata implements Seri
@Column(name = "language_id")
private long languageId;
- @Column(name = "group_id")
- private Long groupId;
-
public Sessiondata() {
}
@@ -114,6 +114,14 @@ public class Sessiondata implements Seri
this.userId = userId;
}
+ public Long getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(Long roomId) {
+ this.roomId = roomId;
+ }
+
public String getXml() {
return xml;
}
@@ -137,13 +145,4 @@ public class Sessiondata implements Seri
public void setLanguageId(long languageId) {
this.languageId = languageId;
}
-
- public Long getGroupId() {
- return groupId;
- }
-
- public void setGroupId(Long groupId) {
- this.groupId = groupId;
- }
-
}
Modified: openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1757626&r1=1757625&r2=1757626&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java (original)
+++ openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java Thu Aug 25 08:46:39 2016
@@ -162,7 +162,7 @@ public class UserManager implements IUse
@Override
public Long logout(String SID, long userId) {
- sessionDao.updateUser(SID, null, false, 0);
+ sessionDao.updateUser(SID, null);
return -12L;
}
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=1757626&r1=1757625&r2=1757626&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 Thu Aug 25 08:46:39 2016
@@ -242,9 +242,11 @@ public class WebSession extends Abstract
//soapLogin.setClientURL(clientURL); //FIXME
soapDao.update(soapLogin);
}
- sessionDao.updateUser(SID, user.getId());
- setUser(user, null);
roomId = soapLogin.getRoomId();
+ sd.setUserId(user.getId());
+ sd.setRoomId(roomId);
+ sessionDao.update(sd);
+ setUser(user, null);
recordingId = soapLogin.getRecordingId();
return true;
}
@@ -316,8 +318,6 @@ public class WebSession extends Abstract
}
public boolean signIn(User u) {
- Sessiondata sessData = getBean(SessiondataDao.class).create();
- SID = sessData.getSessionId();
if (u == null) {
return false;
}
@@ -354,16 +354,12 @@ public class WebSession extends Abstract
public String getValidatedSid() {
SessiondataDao sessionDao = getBean(SessiondataDao.class);
Sessiondata sd = sessionDao.check(SID);
+ //TODO need to check roomId equality
if (sd.getUserId() == null || !sd.getUserId().equals(userId)) {
if (sd.getId() == null) {
- sd = sessionDao.create();
- }
- if (!sessionDao.updateUser(sd.getSessionId(), userId, false, languageId)) {
- //something bad, force user to re-login
- invalidate();
- } else {
- SID = sd.getSessionId();
+ sd = sessionDao.create(userId, roomId, languageId);
}
+ SID = sd.getSessionId();
}
return SID;
}