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/01/21 07:34:48 UTC

svn commit: r1725877 - in /openmeetings/application: branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/ branches/3.1.x/openmeetings-flash/src/main/swf/modul...

Author: solomax
Date: Thu Jan 21 06:34:47 2016
New Revision: 1725877

URL: http://svn.apache.org/viewvc?rev=1725877&view=rev
Log:
[OPENMEETINGS-794] invitations seems to work as expected

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
    openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
    openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
    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/RecordingPage.java
    openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
    openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.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/InvitationService.java
    openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
    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/RecordingPage.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Thu Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
 
 	public List<Room> getRoomsPublicWithoutType(String SID) {
 		try {
-
 			Long userId = sessiondataDao.checkSession(SID);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 	
@@ -255,8 +254,7 @@ public class ConferenceService {
 	 * @param asc
 	 * @return - list of rooms being searched
 	 */
-	public SearchResult<Room> getRooms(String SID, int start, int max,
-			String orderby, boolean asc, String search) {
+	public SearchResult<Room> getRooms(String SID, int start, int max, String orderby, boolean asc, String search) {
 		log.debug("getRooms");
 
 		Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
 		return null;
 	}
 
-	public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start,
-			int max, String orderby, boolean asc) {
+	public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start, int max, String orderby, boolean asc) {
 		log.debug("getRooms");
 
 		Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
 		return null;
 	}
 
-	public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
-			Long roomId) {
+	public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long roomId) {
 		try {
-
 			Long userId = sessiondataDao.checkSession(SID);
-
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
 				return roomModeratorDao.getByRoomId(roomId);
-
 			}
-
 		} catch (Exception err) {
 			log.error("[getRoomModeratorsByRoomId]", err);
 		}
-
 		return null;
 	}
 
@@ -306,12 +296,7 @@ public class ConferenceService {
 		try {
 			Room room = roomDao.get(roomId);
 			
-			if (room.getNumberOfPartizipants() <= this.sessionManager
-					.getClientListByRoom(roomId).size()) {
-				return true;
-			}
-			
-			return false;
+			return room.getNumberOfPartizipants() <= sessionManager.getClientListByRoom(roomId).size();
 		} catch (Exception err) {
 			log.error("[isRoomFull]", err);
 		}

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
 
 import org.apache.openmeetings.db.dao.room.IInvitationManager;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
 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;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.CalendarHelper;
 import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
 import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
 public class InvitationService implements IPendingServiceCallback {
 	private static final Logger log = Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
 	@Autowired
+	private ISessionManager sessionManager;
+	@Autowired
 	private SessiondataDao sessiondataDao;
 	@Autowired
 	private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
 		return null;
 	}
 
-	public String sendInvitationByHash(String SID, String invitationHash, String message, String subject
-			, Long languageId) throws Exception {
+	public String sendInvitationByHash(String SID, String invitationHash, String message, String subject, Long languageId) throws Exception {
 		Long userId = sessiondataDao.checkSession(SID);
 
 		if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
 		return "Success";
 	}
 	
-	public Object getInvitationByHash(String hashCode) {
-		return invitationManager.getInvitationByHashCode(hashCode, true);
+	public Object getInvitationByHash(String SID, String hashCode) {
+		Object o = invitationManager.getInvitationByHashCode(hashCode, true);
+		if (o instanceof Invitation) {
+			Invitation i = (Invitation)o;
+			if (i.isAllowEntry()) {
+				User u = i.getInvitee();
+				Long userId = -u.getId(); //TODO check this, extremely weird
+				sessiondataDao.updateUser(SID, userId);
+				IConnection current = Red5.getConnectionLocal();
+				String streamId = current.getClient().getId();
+				Client client = sessionManager.getClientByStreamId(streamId, null);
+
+				client.setFirstname(u.getFirstname());
+				client.setLastname(u.getLastname());
+				client.setUserId(userId);
+				client.setUsername(u.getLogin());
+				client.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
+				client.setPicture_uri(u.getPictureuri());
+				client.setLanguage("" + u.getLanguageId());
+				client.setExternalUserId(u.getExternalId());
+				client.setExternalUserType(u.getExternalType());
+
+				sessionManager.updateClientByStreamId(streamId, client, false, null);
+			}
+		}
+		return o;
 	}
 
 	public Object checkInvitationPass(String hashCode, String pass) {

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Thu Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
 import java.util.Date;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -70,7 +69,6 @@ import org.springframework.beans.factory
  * 
  */
 public class MainService implements IPendingServiceCallback {
-
 	private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
@@ -220,6 +218,7 @@ public class MainService implements IPen
 					currentClient.setFirstname(u.getFirstname());
 					currentClient.setLastname(u.getLastname());
 					currentClient.setPicture_uri(u.getPictureuri());
+					currentClient.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
 					sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
 					
 					scopeApplicationAdapter.sendMessageToCurrentScope("roomConnect", currentClient, false);
@@ -233,7 +232,6 @@ public class MainService implements IPen
 	
 	public Object secureLoginByRemote(String SID, String secureHash) {
 		try {
-
 			log.debug("############### secureLoginByRemote " + secureHash);
 
 			String clientURL = Red5.getConnectionLocal().getRemoteAddress();
@@ -243,14 +241,11 @@ public class MainService implements IPen
 			SOAPLogin soapLogin = soapLoginDao.get(secureHash);
 
 			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;
@@ -427,33 +422,6 @@ public class MainService implements IPen
 	}
 
 	/**
-	 * this function returns a user object with group objects set only
-	 * the group is not available for users that are using a HASH mechanism
-	 * cause the SOAP/REST API does not guarantee that the user connected to the HASH
-	 * has a valid user object set
-	 * 
-	 * @param SID
-	 */
-	public User markSessionAsLogedIn(String SID) {
-		try {
-			sessiondataDao.updateUserWithoutSession(SID, -1L);
-			
-			Long defaultRpcUserid = configurationDao.getConfValue(
-					"default.rpc.userid", Long.class, "-1");
-			User defaultRpcUser = userDao.get(defaultRpcUserid);
-			
-			User user = new User();
-			user.setGroupUsers(defaultRpcUser.getGroupUsers());
-			
-			return user;
-			
-		} catch (Exception err) {
-			log.error("[markSessionAsLogedIn]", err);
-		}
-		return null;
-	}
-
-	/**
 	 * clear this session id
 	 * 
 	 * @param SID
@@ -463,8 +431,7 @@ public class MainService implements IPen
 		try {
 			Long users_id = sessiondataDao.checkSession(SID);
 			IConnection current = Red5.getConnectionLocal();
-			Client currentClient = this.sessionManager
-					.getClientByStreamId(current.getClient().getId(), null);
+			Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
 			
 			scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
 			
@@ -494,35 +461,6 @@ public class MainService implements IPen
 		return null;
 	}
 
-	/**
-	 * TODO: Is this function in usage?
-	 * 
-	 * @deprecated
-	 * @param SID
-	 * @param domain
-	 * @return - empty map
-	 */
-	@Deprecated
-	public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
-			String domain) {
-		Long users_id = sessiondataDao.checkSession(SID);
-		if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-			LinkedHashMap<Integer, Client> lMap = new LinkedHashMap<Integer, Client>();
-			// Integer counter = 0;
-			// for (Iterator<String> it =
-			// Application.getClientList().keySet().iterator();it.hasNext();) {
-			// RoomClient rc = Application.getClientList().get(it.next());
-			// //if (rc.getDomain().equals(domain)) {
-			// lMap.put(counter, rc);
-			// counter++;
-			// //}
-			// }
-			return lMap;
-		} else {
-			return null;
-		}
-	}
-
 	public void resultReceived(IPendingServiceCall arg0) {
 		log.debug("[resultReceived]" + arg0);
 	}

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Jan 21 06:34:47 2016
@@ -360,6 +360,7 @@
 	</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[
@@ -400,7 +401,7 @@
 				}
 				
 				canvas.showNickNameDialog = value.showNickNameDialog;
-				if ($debug) Debug.write("markSessionAsLogedIn9 ",canvas.showNickNameDialog);
+				if ($debug) Debug.write("secureLoginByRemote1: ",canvas.showNickNameDialog);
 				
 				canvas.initroomid = value.roomId;
 				canvas.becomemoderator = value.becomemoderator;
@@ -465,6 +466,7 @@
 					if ($debug) Debug.write("!!!!!!!!!!! Nickname HIB ", value.address.email);
 					new lz.chooseNickName(canvas);
 				}
+				hib.userobject.id = value.userId;
 				hib.userobject.firstname = fName;
 				hib.userobject.lastname = lName;
 				
@@ -547,55 +549,13 @@
 		</handler>  
 	</netRemoteCallHib>
 		
-	<!--
-		There must be a temporary SIP-Account created at this moment
-	 -->  
-	<netRemoteCallHib name="markSessionAsLogedIn" funcname="xmlcrm.markSessionAsLogedIn" >
-		<netparam><method name="getValue">return canvas.sessionId;</method></netparam>
-		<handler name="ondata" args="value">
-		<![CDATA[
-			//The onResult-Handler will be called be the rtmpconnection
-						
-			if (value == null) {
-				new lz.errorPopup(canvas,{error:"Missing User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
-			}
-			
-			if ($debug) Debug.write("markSessionAsLogedIn1 ",value);
-			 
-			hib.userobject = value;
-			 
-			canvas.userId = hib.userobject.id;
-			
-			if (value.groupUsers.length == 0 && !canvas.isRemoteUser()) {
-				new lz.errorPopup(canvas,{error:"Missing Group in User Object, set the Configuration value of the key 'default.rpc.userid' to a valid user Id that has at least one Organization assigned in the OpenMeetings Administrion Configuration Panel "});
-			}
-			
-			if ($debug) Debug.write("markSessionAsLogedIn2 ",canvas.sessionId);
-			if ($debug) Debug.write("markSessionAsLogedIn3 ",canvas.initroomid);
-			if ($debug) Debug.write("markSessionAsLogedIn4 ",canvas.isinitRoomDirect);
-			if ($debug) Debug.write("markSessionAsLogedIn5 ",canvas.remoteUserLogin);
-			if ($debug) Debug.write("markSessionAsLogedIn6 ",canvas.directUserLogin);
-			if ($debug) Debug.write("markSessionAsLogedIn7 ",canvas.directRoomId);
-			if ($debug) Debug.write("markSessionAsLogedIn8 ",canvas.secureRemoteUserLogin);
-			
-			if (canvas.secureRemoteUserLogin) {
-				
-				if ($debug) Debug.write("markSessionAsLogedIn == CALL ",canvas.secureHash);
-			 
-				parent.secureLoginByRemote.doCall();
-				
-			} else if (canvas.isinitRoomDirect){
-				parent.getInvitationByHash.doCall();   
-			} else if (canvas.remoteUserLogin) {
-				parent.loginUserByRemote.doCall();   
-			} else if (canvas.directUserLogin) {
-				//show Nick Name or Password Protection Dialog
-				canvas.initroomid = Number(canvas.directRoomId);
-				parent.getRoomById.doCall();
-			}
-		]]>
-		</handler>  
-	</netRemoteCallHib> 
+	<method name="setUser" args="user">
+		if (!user) {
+			new lz.errorPopup(canvas,{error:"Missing User Object"});
+		}
+		hib.userobject = user;
+		canvas.userId = hib.userobject.id;
+	</method>
 	
 	<netRemoteCallHib name="getGeneralOptions" funcname="xmlcrm.getGeneralOptions">
 		<handler name="ondata" args="value">
@@ -632,19 +592,17 @@
 				parent.loginWicket.doCall();
 			} else { 
 				if (canvas.thishib.loaderVar != null) {
-				   canvas.thishib.loaderVar.close();
+					canvas.thishib.loaderVar.close();
 				}
 				//do not show loggin-PopUp for the test-Application
 				if (parent.testAppLoading){ 
 					canvas.loadNextStepTestApp();
-				} else {
-					if (canvas.isRemoteUser()){
-						if (canvas.thishib.loaderVar != null) {
-						  canvas.thishib.loaderVar.setProgress();
-						}
-						if($debug) Debug.write("isinitRoomDirect or remoteUserLogin is true");
-						parent.markSessionAsLogedIn.doCall();
-					}
+				} else if (!!canvas.invitationHash) {
+					parent.getInvitationByHash.doCall();   
+				} else if (canvas.secureRemoteUserLogin) {
+					if ($debug) Debug.write("secureLoginByRemote:: ",canvas.secureHash);
+					hib.userobject = {};
+					parent.secureLoginByRemote.doCall();
 				}
 			}
 		]]>

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListInner.lzx Thu Jan 21 06:34:47 2016
@@ -35,7 +35,7 @@
 	
 	<method name="initialAddItem" args="object">
 	<![CDATA[
-		if ($debug) Debug.write("restrictedUserListInner::initialAddItem : ",object.publicSID);
+		if ($debug) Debug.write("restrictedUserListInner::initialAddItem : ", object);
 		
 		object.firstname = object.firstname == null ? "" : object.firstname;
 		object.lastname = object.lastname == null ? "" : object.lastname;
@@ -276,7 +276,7 @@
 				if (records.length > i) {
 					
 					list.subviews[i].setAttribute("clickable",true);
-					list.subviews[i].setAttribute("refObj", records[i]);
+					list.subviews[i].update(records[i]);
 					
 					if (records[i]["isselected"] && records[i].isselected) {
 						list.subviews[i].isselected = true;

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx Thu Jan 21 06:34:47 2016
@@ -42,7 +42,7 @@
 	
 	<method name="update" args="obj, full=true">
 	<![CDATA[
-		if ($debug) Debug.write("!!!! update ", this.userId);
+		if ($debug) Debug.write("!!!! update ", obj, this.userId);
 		setAttribute('firstname', obj.firstname);
 		setAttribute('lastname', obj.lastname);
 		if (full) {
@@ -66,6 +66,7 @@
 		this.isMod = refObj.isMod;
 		updateUserStatus();
 		this._content._iconsModerator.oninit.sendEvent();
+		this._content._userName.setAttribute('text', getUName());
 	]]>
 	</method>
 	
@@ -133,10 +134,30 @@
 	<method name="userTyping" args="v">
 		this._content._user_typing.setAttribute("visible", v);
 	</method>
+	
+	<method name="getUName">
+	<![CDATA[
+		var n = "", delim = "";
+		if (!!firstname) {
+			n = firstname;
+			delim = " ";
+		}
+		if (!!lastname) {
+			n += delim + lastname;
+		}
+		if ($debug) Debug.write(" :: getUName :: ", !n, !!refObj, refObj);
+		if (!n && !!refObj && !!refObj.email) {
+			n = refObj.email;
+		}
+		if ($debug) Debug.write(" :: getUName :: ", n);
+		return n;
+	]]>
+	</method>
+	
 	<view name="_content" width="254">
 		<view name="_contentIsCurrent" visible="${ parent.parent.refObj != null &amp;&amp; canvas.publicSID == parent.parent.refObj.publicSID }" width="254" height="40" bgcolor="0x7CFC00"/>
 		  
-		<labelText name="_userName" x="2" y="2" text="${ (parent.parent.firstname == null ? '' : parent.parent.firstname) + ' ' + (parent.parent.lastname == null ? '' : parent.parent.lastname) }" />
+		<labelText name="_userName" x="2" y="2" text="$once{ parent.parent.getUName() }" />
 			   
 		<typingIcon name="_user_typing" x="132" y="2" width="30" height="16" visible="false"/>
 		<miniIcons name="_restartDevice" x="220" y="0" width="16" height="16" resource="resyncuser_rsc" showhandcursor="true"

Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/invitation/invitationQuickLoader.lzx Thu Jan 21 06:34:47 2016
@@ -59,9 +59,8 @@
 			this.checkInvitationPass.doCall();
 		</method>
 		
-		<netRemoteCallHib name="isRoomFull" funcname="conferenceservice.isRoomFull" 
-							remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
-        	<netparam name="pass"><method name="getValue">return canvas.thishib.currentInvitation.room.id;</method></netparam>
+		<netRemoteCallHib name="isRoomFull" funcname="conferenceservice.isRoomFull" remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
+        	<netparam name="roomId"><method name="getValue">return canvas.thishib.currentInvitation.room.id;</method></netparam>
         	<handler name="ondata" args="value">
         		<![CDATA[
             		//The onResult-Handler will be called be the rtmpconnection
@@ -78,8 +77,7 @@
         	</handler>   
     	</netRemoteCallHib> 
 		
-		<netRemoteCallHib name="checkInvitationPass" funcname="invitationservice.checkInvitationPass" 
-							remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
+		<netRemoteCallHib name="checkInvitationPass" funcname="invitationservice.checkInvitationPass" remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >  	
 	      	<netparam name="invitationHash"><method name="getValue">return canvas.invitationHash;</method></netparam>
         	<netparam name="pass"><method name="getValue">return parent.parent._password.getText();</method></netparam>
 	        	
@@ -96,6 +94,7 @@
     	</netRemoteCallHib>  	
 	    
 		<method name="setRoomValues">
+			canvas.thishib.setUser(canvas.thishib.currentInvitation.invitee);
 			canvas.setRoomValues(canvas.thishib.currentInvitation.room);
 		</method>
 		

Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
 				"The Name of the Font used for exporting/render Images from Whiteboard"
 					+ "The Font has to exist on the Server which runs Red5");
 
-		cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of the Control User in OpenMeetings");
-
 		cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
 		
 		// ***************************************

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=1725877&r1=1725876&r2=1725877&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 Thu Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
 		return userId > -1;
 	}
 
-	public boolean signIn(String secureHash) {
+	public boolean signIn(String secureHash, boolean markUsed) {
 		//FIXME code is duplicated from MainService, need to be unified
 		SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
 		SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
 						user.setPictureuri(remoteUser.getPictureUrl());
 					}
 					user = userDao.update(user, null);
-
-					soapLogin.setUsed(true);
-					soapLogin.setUseDate(new Date());
-					//soapLogin.setClientURL(clientURL); //FIXME
-					soapDao.update(soapLogin);
-
+					if (markUsed) {
+						soapLogin.setUsed(true);
+						soapLogin.setUseDate(new Date());
+						//soapLogin.setClientURL(clientURL); //FIXME
+						soapDao.update(soapLogin);
+					}
 					sessionDao.updateUser(SID, user.getId());
 					setUser(user);
 					recordingId = soapLogin.getRecordingId();

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
 	public RecordingPage(PageParameters p) {
 		String hash = p.get("hash").toString();
 		Recording r = null;
-		if (WebSession.get().signIn(hash)) {
+		if (WebSession.get().signIn(hash, true)) {
 			Long recId = getRecordingId();
 			if (recId != null) {
 				r = getBean(RecordingDao.class).get(recId);

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java Thu Jan 21 06:34:47 2016
@@ -19,14 +19,10 @@
 package org.apache.openmeetings.web.pages;
 
 import static org.apache.openmeetings.web.app.Application.getBean;
-import static org.apache.openmeetings.web.app.WebSession.SECURE_HASH;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
-import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.web.room.RoomPanel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.StringValue;
 
 public class SwfPage extends BaseNotInitedPage {
 	private static final long serialVersionUID = 1L;
@@ -36,14 +32,6 @@ public class SwfPage extends BaseNotInit
 	}
 
 	public SwfPage(PageParameters pp) {
-		StringValue shash = pp.get(SECURE_HASH);
-		if (!shash.isEmpty()) {
-			SOAPLogin soapLogin = getBean(SOAPLoginDao.class).get(shash.toString());
-			Long roomId = soapLogin.getRoomId();
-			if (roomId != null) {
-				pp = pp.mergeWith(RoomPanel.addServer(roomId, false));
-			}
-		}
 		add(new RoomPanel("room", pp));
 	}
 

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Thu Jan 21 06:34:47 2016
@@ -40,6 +40,7 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.server.ServerDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.db.entity.server.Server;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
@@ -138,7 +139,12 @@ public class RoomPanel extends BasePanel
 			if (!room.isEmpty()) {
 				roomId = room.toLong();
 			} else if (!secureHash.isEmpty()) {
-				roomId = getBean(SOAPLoginDao.class).get(secureHash.toString()).getRoomId();
+				SOAPLogin soapLogin = getBean(SOAPLoginDao.class).get(secureHash.toString());
+				if (WebSession.get().signIn(secureHash.toString(), false)) {
+					roomId = soapLogin.getRoomId();
+					pp = pp.mergeWith(RoomPanel.addServer(roomId, false));
+				}
+				//TODO access denied
 			} else if (!invitationHash.isEmpty()) {
 				roomId = getBean(InvitationDao.class).getInvitationByHashCode(invitationHash.toString(), true).getRoom().getId();
 			}

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
 			return getRecording(id);
 		} else {
 			ws.invalidate();
-			if (ws.signIn(_id.toString())) {
+			if (ws.signIn(_id.toString(), true)) {
 				return getRecording(getRecordingId());
 			}
 		}

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=1725877&r1=1725876&r2=1725877&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 Jan 21 06:34:47 2016
@@ -144,7 +144,6 @@ public class ConferenceService {
 
 	public List<Room> getRoomsPublicWithoutType(String SID) {
 		try {
-
 			Long userId = sessiondataDao.checkSession(SID);
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
 	
@@ -255,8 +254,7 @@ public class ConferenceService {
 	 * @param asc
 	 * @return - list of rooms being searched
 	 */
-	public SearchResult<Room> getRooms(String SID, int start, int max,
-			String orderby, boolean asc, String search) {
+	public SearchResult<Room> getRooms(String SID, int start, int max, String orderby, boolean asc, String search) {
 		log.debug("getRooms");
 
 		Long userId = sessiondataDao.checkSession(SID);
@@ -266,8 +264,7 @@ public class ConferenceService {
 		return null;
 	}
 
-	public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start,
-			int max, String orderby, boolean asc) {
+	public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start, int max, String orderby, boolean asc) {
 		log.debug("getRooms");
 
 		Long userId = sessiondataDao.checkSession(SID);
@@ -277,22 +274,15 @@ public class ConferenceService {
 		return null;
 	}
 
-	public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
-			Long roomId) {
+	public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long roomId) {
 		try {
-
 			Long userId = sessiondataDao.checkSession(SID);
-
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
 				return roomModeratorDao.getByRoomId(roomId);
-
 			}
-
 		} catch (Exception err) {
 			log.error("[getRoomModeratorsByRoomId]", err);
 		}
-
 		return null;
 	}
 
@@ -306,12 +296,7 @@ public class ConferenceService {
 		try {
 			Room room = roomDao.get(roomId);
 			
-			if (room.getNumberOfPartizipants() <= this.sessionManager
-					.getClientListByRoom(roomId).size()) {
-				return true;
-			}
-			
-			return false;
+			return room.getNumberOfPartizipants() <= sessionManager.getClientListByRoom(roomId).size();
 		} catch (Exception err) {
 			log.error("[isRoomFull]", err);
 		}

Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java (original)
+++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java Thu Jan 21 06:34:47 2016
@@ -24,8 +24,10 @@ import java.util.Date;
 
 import org.apache.openmeetings.db.dao.room.IInvitationManager;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.room.Client;
 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;
@@ -33,6 +35,8 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.CalendarHelper;
 import org.red5.logging.Red5LoggerFactory;
+import org.red5.server.api.IConnection;
+import org.red5.server.api.Red5;
 import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.slf4j.Logger;
@@ -42,6 +46,8 @@ import org.threeten.bp.LocalDateTime;
 public class InvitationService implements IPendingServiceCallback {
 	private static final Logger log = Red5LoggerFactory.getLogger(InvitationService.class, webAppRootKey);
 	@Autowired
+	private ISessionManager sessionManager;
+	@Autowired
 	private SessiondataDao sessiondataDao;
 	@Autowired
 	private UserDao userDao;
@@ -134,8 +140,7 @@ public class InvitationService implement
 		return null;
 	}
 
-	public String sendInvitationByHash(String SID, String invitationHash, String message, String subject
-			, Long languageId) throws Exception {
+	public String sendInvitationByHash(String SID, String invitationHash, String message, String subject, Long languageId) throws Exception {
 		Long userId = sessiondataDao.checkSession(SID);
 
 		if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
@@ -148,8 +153,32 @@ public class InvitationService implement
 		return "Success";
 	}
 	
-	public Object getInvitationByHash(String hashCode) {
-		return invitationManager.getInvitationByHashCode(hashCode, true);
+	public Object getInvitationByHash(String SID, String hashCode) {
+		Object o = invitationManager.getInvitationByHashCode(hashCode, true);
+		if (o instanceof Invitation) {
+			Invitation i = (Invitation)o;
+			if (i.isAllowEntry()) {
+				User u = i.getInvitee();
+				Long userId = -u.getId(); //TODO check this, extremely weird
+				sessiondataDao.updateUser(SID, userId);
+				IConnection current = Red5.getConnectionLocal();
+				String streamId = current.getClient().getId();
+				Client client = sessionManager.getClientByStreamId(streamId, null);
+
+				client.setFirstname(u.getFirstname());
+				client.setLastname(u.getLastname());
+				client.setUserId(userId);
+				client.setUsername(u.getLogin());
+				client.setEmail(u.getAddress() == null ? null : u.getAddress().getEmail());
+				client.setPicture_uri(u.getPictureuri());
+				client.setLanguage("" + u.getLanguageId());
+				client.setExternalUserId(u.getExternalId());
+				client.setExternalUserType(u.getExternalType());
+
+				sessionManager.updateClientByStreamId(streamId, client, false, null);
+			}
+		}
+		return o;
 	}
 
 	public Object checkInvitationPass(String hashCode, String pass) {

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=1725877&r1=1725876&r2=1725877&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 Jan 21 06:34:47 2016
@@ -22,7 +22,6 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 
 import java.util.Date;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -63,7 +62,6 @@ import org.springframework.beans.factory
  * 
  */
 public class MainService implements IPendingServiceCallback {
-
 	private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
@@ -136,7 +134,6 @@ public class MainService implements IPen
 
 	public Object secureLoginByRemote(String SID, String secureHash) {
 		try {
-
 			log.debug("############### secureLoginByRemote " + secureHash);
 
 			String clientURL = Red5.getConnectionLocal().getRemoteAddress();
@@ -146,14 +143,11 @@ public class MainService implements IPen
 			SOAPLogin soapLogin = soapLoginDao.get(secureHash);
 
 			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;
@@ -330,33 +324,6 @@ public class MainService implements IPen
 	}
 
 	/**
-	 * this function returns a user object with group objects set only
-	 * the group is not available for users that are using a HASH mechanism
-	 * cause the SOAP/REST API does not guarantee that the user connected to the HASH
-	 * has a valid user object set
-	 * 
-	 * @param SID
-	 */
-	public User markSessionAsLogedIn(String SID) {
-		try {
-			sessiondataDao.updateUserWithoutSession(SID, -1L);
-			
-			Long defaultRpcUserid = configurationDao.getConfValue(
-					"default.rpc.userid", Long.class, "-1");
-			User defaultRpcUser = userDao.get(defaultRpcUserid);
-			
-			User user = new User();
-			user.setGroupUsers(defaultRpcUser.getGroupUsers());
-			
-			return user;
-			
-		} catch (Exception err) {
-			log.error("[markSessionAsLogedIn]", err);
-		}
-		return null;
-	}
-
-	/**
 	 * clear this session id
 	 * 
 	 * @param SID
@@ -366,8 +333,7 @@ public class MainService implements IPen
 		try {
 			Long users_id = sessiondataDao.checkSession(SID);
 			IConnection current = Red5.getConnectionLocal();
-			Client currentClient = this.sessionManager
-					.getClientByStreamId(current.getClient().getId(), null);
+			Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null);
 			
 			scopeApplicationAdapter.roomLeaveByScope(currentClient,current.getScope(), false);
 			
@@ -397,35 +363,6 @@ public class MainService implements IPen
 		return null;
 	}
 
-	/**
-	 * TODO: Is this function in usage?
-	 * 
-	 * @deprecated
-	 * @param SID
-	 * @param domain
-	 * @return - empty map
-	 */
-	@Deprecated
-	public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
-			String domain) {
-		Long users_id = sessiondataDao.checkSession(SID);
-		if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-			LinkedHashMap<Integer, Client> lMap = new LinkedHashMap<Integer, Client>();
-			// Integer counter = 0;
-			// for (Iterator<String> it =
-			// Application.getClientList().keySet().iterator();it.hasNext();) {
-			// RoomClient rc = Application.getClientList().get(it.next());
-			// //if (rc.getDomain().equals(domain)) {
-			// lMap.put(counter, rc);
-			// counter++;
-			// //}
-			// }
-			return lMap;
-		} else {
-			return null;
-		}
-	}
-
 	public void resultReceived(IPendingServiceCall arg0) {
 		log.debug("[resultReceived]" + arg0);
 	}

Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Thu Jan 21 06:34:47 2016
@@ -325,8 +325,6 @@ public class ImportInitvalues {
 				"The Name of the Font used for exporting/render Images from Whiteboard"
 					+ "The Font has to exist on the Server which runs Red5");
 
-		cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of the Control User in OpenMeetings");
-
 		cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
 		
 		// ***************************************

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=1725877&r1=1725876&r2=1725877&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 Jan 21 06:34:47 2016
@@ -193,7 +193,7 @@ public class WebSession extends Abstract
 		return userId > -1;
 	}
 
-	public boolean signIn(String secureHash) {
+	public boolean signIn(String secureHash, boolean markUsed) {
 		//FIXME code is duplicated from MainService, need to be unified
 		SOAPLoginDao soapDao = getBean(SOAPLoginDao.class);
 		SOAPLogin soapLogin = soapDao.get(secureHash);
@@ -221,12 +221,12 @@ public class WebSession extends Abstract
 						user.setPictureuri(remoteUser.getPictureUrl());
 					}
 					user = userDao.update(user, null);
-
-					soapLogin.setUsed(true);
-					soapLogin.setUseDate(new Date());
-					//soapLogin.setClientURL(clientURL); //FIXME
-					soapDao.update(soapLogin);
-
+					if (markUsed) {
+						soapLogin.setUsed(true);
+						soapLogin.setUseDate(new Date());
+						//soapLogin.setClientURL(clientURL); //FIXME
+						soapDao.update(soapLogin);
+					}
 					sessionDao.updateUser(SID, user.getId());
 					setUser(user);
 					recordingId = soapLogin.getRecordingId();

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java Thu Jan 21 06:34:47 2016
@@ -36,7 +36,7 @@ public class RecordingPage extends BaseI
 	public RecordingPage(PageParameters p) {
 		String hash = p.get("hash").toString();
 		Recording r = null;
-		if (WebSession.get().signIn(hash)) {
+		if (WebSession.get().signIn(hash, true)) {
 			Long recId = getRecordingId();
 			if (recId != null) {
 				r = getBean(RecordingDao.class).get(recId);

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1725877&r1=1725876&r2=1725877&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java Thu Jan 21 06:34:47 2016
@@ -121,7 +121,7 @@ public abstract class RecordingResourceR
 			return getRecording(id);
 		} else {
 			ws.invalidate();
-			if (ws.signIn(_id.toString())) {
+			if (ws.signIn(_id.toString(), true)) {
 				return getRecording(getRecordingId());
 			}
 		}