Revision: 2591
Author: seba.wagner
Date: Sat Nov 7 05:02:13 2009
Log: Fix:
Remember Me Checkbox does login automatically when you revisit the next time
UI changes
http://code.google.com/p/openmeetings/source/detail?r=2591
Added:
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/test-customscrollEdittext.lzx
Modified:
/trunk/singlewebapp/WebContent/openmeetings/base/auth/checkLoginData.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customEdittext.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customscrollEdittext.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/functions.lzx
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
/trunk/singlewebapp/WebContent/openmeetings/modules/library.lzx
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Sessionmanagement.java
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.hbm.xml
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.java
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/user/Users.java
/trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/LanguageService.java
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/MethodGateway.java
/trunk/singlewebapp/src/test/org/openmeetings/test/navi/TestNavi.java
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/AddConfigParams.java
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/DeleteUser.java
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/RegisterUser.java
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/TestLogin.java
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/UserManagement.java
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
=======================================
--- /dev/null
+++
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/test-customscrollEdittext.lzx
Sat Nov 7 05:02:13 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<canvas>
+
+<include href="customscrollEdittext.lzx" />
+
+<view width="600" height="600" bgcolor="0xCCCCCC">
+ <customScrollEdittext name="adress_comment" y="460" x="120"
width="270"
+ height="70" text="" />
+
+</view>
+</canvas>
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/auth/checkLoginData.lzx
Mon Oct 26 05:40:41 2009
+++
/trunk/singlewebapp/WebContent/openmeetings/base/auth/checkLoginData.lzx
Sat Nov 7 05:02:13 2009
@@ -243,7 +243,7 @@
this.parent._register.setAttribute('visible',false);
this.parent.childObj = new
lz.registerNewUser(canvas.main_content._content.inner,{refObj:this.parent});
lz.Keys.removeKeyComboCall(this.parent.pressEnter, ["enter"]);
- parent.showRegForm.doStart();
+ parent.showRegForm.doStart();
</handler>
</simpleLabelButton>
@@ -260,6 +260,7 @@
var orgIndexId = Number(parent.organisation.getValue());
hib.currentdomain =
hib.userobject.organisation_users[orgIndexId].organisation.name;
hib.currentdomainObj =
hib.userobject.organisation_users[orgIndexId].organisation;
+ hib.setCurrentUserOrganization.doCall();
hib.getLanguageByIdAndMax.start = 0;
hib.getLanguageByIdAndMax.doCall();
parent.close();
@@ -272,7 +273,9 @@
remotecontext="$once{ canvas.thishib }" activeErrorHandler="true" >
<netparam><method name="getValue"> return canvas.sessionId;
</method></netparam>
<netparam><method name="getValue"> return
parent.parent.username.getText(); </method></netparam>
- <netparam><method name="getValue"> return
parent.parent.userpass.getText(); </method></netparam>
+ <netparam><method name="getValue"> return
parent.parent.userpass.getText(); </method></netparam>
+ <netparam><method name="getValue"> return
parent.parent._savelogindata.getValue(); </method></netparam>
+ <netparam><method name="getValue"> return
Number(parent.parent.languages.getValue()); </method></netparam>
<handler name="ondata" args="value">
<![CDATA[
//The onResult-Handler will be called be the rtmpconnection
@@ -290,6 +293,7 @@
g["usercolor"] = parent.colors.getValue();
g["userlang"] = parent.languages.getValue();
g["saveuserdata"]=true;
+ g["storedSession"] = canvas.sessionId;
t.setData('userdata',g);
t.flush();
} else {
@@ -303,6 +307,7 @@
g["usercolor"] = null;
g["userlang"] = null;
g["saveuserdata"]=false;
+ g["storedSession"] = "";
t.setData('userdata',g);
t.flush();
}
@@ -328,6 +333,7 @@
} else if (value.organisation_users.length==1){
hib.currentdomain =
value.organisation_users[0].organisation.name;
hib.currentdomainObj =
value.organisation_users[0].organisation;
+ hib.setCurrentUserOrganization.doCall();
hib.getLanguageByIdAndMax.start = 0;
hib.getLanguageByIdAndMax.doCall();
canvas.focusOnItem = null;
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customEdittext.lzx
Mon Oct 12 03:48:00 2009
+++
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customEdittext.lzx
Sat Nov 7 05:02:13 2009
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<library>
-<class name="customEdittext" extends="edittext" fontsize="11" >
+<class name="customEdittext" extends="inputtext" bgcolor="white"
fontsize="11" height="20" >
+
+ <view name="v_border" height="1" bgcolor="black"
width="$once{parent.width}" />
+ <view name="h_border" width="1" y="1" bgcolor="black"
height="$once{parent.height -1}" />
<attribute name="labelid" type="number" setter="setLabelId(labelid)" />
@@ -16,8 +19,12 @@
this.preText = this.getText();
</handler>
-
- <handler name="onvalue" args="txt">
+ <handler name="oninit">
+ this.field.setAttribute("bgcolor",0xFFFFFF);
+ </handler>
+
+
+ <handler name="ontext" args="txt">
<![CDATA[
//
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customscrollEdittext.lzx
Mon Oct 12 03:48:00 2009
+++
/trunk/singlewebapp/WebContent/openmeetings/base/components/text/customscrollEdittext.lzx
Sat Nov 7 05:02:13 2009
@@ -3,7 +3,7 @@
<include href="incubator/scrolledittext.lzx" />
-<class name="customScrollEdittext" extends="view" bgcolor="0x333333">
+<class name="customScrollEdittext" extends="view" >
<attribute name="text" value="" type="string" />
@@ -17,9 +17,17 @@
return this._cbtext.getText();
</method>
- <scrolledittext name="_cbtext" width="$once{ parent.width-2 }" x="1"
y="1" bgcolor="0xFFFFFF"
+ <view name="_face" bgcolor="0xFFFFFFF"
+ width="$once{parent.width}"
+ height="$once{parent.height}" />
+
+ <view name="v_border" height="1" bgcolor="black"
width="$once{parent.width}" />
+ <view name="h_border" width="1" y="1" bgcolor="black"
height="$once{parent.height -1}" />
+
+ <scrolledittext name="_cbtext" width="$once{ parent.width-2 }" x="1"
y="1" bgcolor="0xFFFFFF" styleable="false"
height="$once{ parent.height-2 }" text="${ parent.text }"
multiline="true" fontsize="11" />
+
</class>
</library>
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/base/functions.lzx Mon Oct
12 03:48:00 2009
+++ /trunk/singlewebapp/WebContent/openmeetings/base/functions.lzx Sat Nov
7 05:02:13 2009
@@ -88,7 +88,7 @@
var l = labels[no]
//if ($debug) Debug.write("Search label tag in: ",labelid,labels[no]);
for (var eg=0;eg<=l.length;eg++){
- if (l[eg].fieldvalues_id==labelid){
+ if (l[eg].id==labelid){
// if($debug)
Debug.write("FUNC/getLabelTagByNo",no,labelid,l[eg].value);
if($debug) {
return l[eg].value+" ["+labelid+"]";
=======================================
---
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Thu Nov 5 07:37:27 2009
+++
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
Sat Nov 7 05:02:13 2009
@@ -195,6 +195,21 @@
//The onResult-Handler will be called be the rtmpconnection
if ($debug) Debug.write("sendCallBack logoutUser: ",value);
parent.initlanguageLoaded = false;
+
+ var t = new lz.sharedObject();
+ t.getLocal('userdata');
+ var g = t.getData('userdata');
+ if (g==null) g = new Array();
+ g["username"] = '';
+ g["userpass"] = '';
+ g["userquality"] = null;
+ g["usercolor"] = null;
+ g["userlang"] = null;
+ g["saveuserdata"]=false;
+ g["storedSession"] = "";
+ t.setData('userdata',g);
+ t.flush();
+
parent.getLanguageByIdAndMax.start = 0;
parent.getLanguageByIdAndMax.doCall();
</handler>
@@ -422,11 +437,22 @@
canvas.thishib.loaderVar.setProgress();
parent.getUserSalutations.doCall();
</handler>
- </netRemoteCallHib>
+ </netRemoteCallHib>
+
+ <netRemoteCallHib name="setCurrentUserOrganization"
funcname="xmlcrm.setCurrentUserOrganization">
+ <netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
+ <netparam><method name="getValue">return
hib.currentdomainObj.organisation_id;</method></netparam>
+ <handler name="ondata" args="value">
+ //Sessionmanagement.getInstance()
+ //The onResult-Handler will be called be the rtmpconnection
+ if ($debug) Debug.write("setCurrentUserOrganization: ",value);
+ </handler>
+ </netRemoteCallHib>
+
<netRemoteCallHib name="getUserSalutations"
funcname="userservice.getUserSalutations" >
<netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
- <netparam><method name="getValue"> return
parent.parent.userlang;
</method></netparam>
+ <netparam><method name="getValue">return
parent.parent.userlang;
</method></netparam>
<handler name="ondata" args="value">
//The onResult-Handler will be called be the rtmpconnection
//Debug.write("getUserSalutations ",value);
@@ -441,11 +467,84 @@
if (parent.testAppLoading){
canvas.loadNextStepTestApp();
} else {
- new
lz.checkLoginData(canvas.main_content._content.inner);
+
+ //Check if user is auto-logged in by
session
+ var t = new lz.sharedObject();
+ if($debug) Debug.write("checkLoginData/t: ",t);
+ t.getLocal('userdata');
+ var g = t.getData('userdata');
+ if($debug) Debug.write("checkLoginData/g: ",g);
+ var storedSession = g["storedSession"];
+ if($debug) Debug.write("checkLoginData/save: ",save);
+
+ parent.loginByRemember.currentHashSession =
storedSession;
+ parent.loginByRemember.doCall();
+
}
}
</handler>
- </netRemoteCallHib>
+ </netRemoteCallHib>
+
+ <netRemoteCallHib name="loginByRemember"
funcname="xmlcrm.loginByRemember" >
+ <attribute name="currentHashSession" value="" type="string"/>
+ <netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
+ <netparam><method name="getValue">return
parent.currentHashSession;</method></netparam>
+ <handler name="ondata" args="value">
+ <![CDATA[
+ if ($debug) Debug.write("loginByRemember",value);
+ if (value != null){
+
+ canvas.setAttribute('user_id',value.user_id);
+ canvas.setAttribute('firstName',value.firstname);
+ canvas.setAttribute('lastName',value.lastname);
+ canvas.setAttribute('mail','');
+ canvas.setAttribute('lastLogin','');
+ canvas.setAttribute('official_code','');
+ canvas.setAttribute('picture_uri','');
+ canvas.setAttribute('language','');
+ canvas.setAttribute('currentuser',value.login);
+
+ if (value.level_id >= 2) {
+ canvas.becomemoderator = true;
+ }
+
+ if (value.sessionData == null) {
+ if ($debug) Debug.write("No Language Found to
assign");
+ new
lz.checkLoginData(canvas.main_content._content.inner);
+ return;
+ }
+
+ hib.userlang = Number(value.sessionData.language_id);
+ hib.userobject = value;
+
+ var found = false;
+
+ for (var i=0;i<value.organisation_users.length;i++) {
+ if
(value.organisation_users[i].organisation.organisation_id ==
value.sessionData.organization_id) {
+ found = true;
+ hib.currentdomain =
value.organisation_users[i].organisation.name;
+ hib.currentdomainObj =
value.organisation_users[i].organisation;
+ break;
+ }
+ }
+
+ if (found) {
+ hib.getLanguageByIdAndMax.start = 0;
+ hib.getLanguageByIdAndMax.doCall();
+ canvas.focusOnItem = null;
+ } else {
+ if ($debug) Debug.write("No Organization Found to
assign");
+ new
lz.checkLoginData(canvas.main_content._content.inner);
+ }
+
+ } else {
+ if ($debug) Debug.write("No RPC-Sesion Found to
assign");
+ new
lz.checkLoginData(canvas.main_content._content.inner);
+ }
+ ]]>
+ </handler>
+ </netRemoteCallHib>
+
<netRemoteCallHib name="getRoomTypes"
funcname="conferenceservice.getRoomTypes" >
<netparam><method name="getValue">return
canvas.sessionId;</method></netparam>
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/library.lzx Sat Oct
31 05:30:06 2009
+++ /trunk/singlewebapp/WebContent/openmeetings/modules/library.lzx Sat
Nov 7 05:02:13 2009
@@ -23,6 +23,8 @@
-->
<include href="sharing/" />
+ <!-- -->
<include href="lzcalendar/" />
+
</library>
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Fieldmanagment.java
Sat Nov 7 05:02:13 2009
@@ -1,9 +1,11 @@
package org.openmeetings.app.data.basic;
import java.util.Date;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Iterator;
+import java.util.Map;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
@@ -170,7 +172,70 @@
return null;
}
-
+ public List<Map> getLabelsByLanguage(Long language_id, int start, int
max) {
+ try {
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+
+ String sql = "select new Map(f.fieldvalues_id as id,
f.value as value)
from Fieldlanguagesvalues f " +
+ "WHERE f.language_id = :language_id " +
+ "AND f.fieldvalues_id >= :start AND
f.fieldvalues_id < :max";
+
+ Query query = session.createQuery(sql);
+ query.setLong("language_id", language_id);
+ query.setLong("start", start);
+ query.setLong("max", start+max);
+
+ List<Map> returnList = query.list();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+ FieldLanguage fieldLanguage =
FieldLanguageDaoImpl.getInstance().getFieldLanguageById(language_id);
+
+ //Check for Right To Left Languages
+ if (fieldLanguage.getRtl()) {
+
+ List<Map> returnRtlList = new LinkedList<Map>();
+ //List<Fieldlanguagesvalues> returnRtlList =
new
LinkedList<Fieldlanguagesvalues>();
+
+ for (Iterator<Map> iter =
returnList.iterator();iter.hasNext();) {
+ Map remote = iter.next();
+
+ Map toAdd = new HashMap();
+ toAdd.put("id",remote.get("id"));
+
+ String value =
remote.get("value").toString();
+
+ String[] splitted = value.split(" ");
+ String reverseOrder = "";
+ for (int i=splitted.length-1;i>=0;i--) {
+ reverseOrder += splitted[i];
+ if (splitted.length != 1) {
+ reverseOrder += " ";
+ }
+ }
+ toAdd.put("value",value);
+
+ returnRtlList.add(toAdd);
+ }
+
+ return returnRtlList;
+ } else {
+
+ return returnList;
+
+ }
+
+
+ } catch (HibernateException ex) {
+ log.error("[getLabelsByLanguage]: " , ex);
+ } catch (Exception ex2) {
+ log.error("[getLabelsByLanguage]: " , ex2);
+ }
+ return null;
+ }
+
public List<Fieldlanguagesvalues> getAllFieldsByLanguage(Long
language_id, int start, int max) {
try {
Object idf = HibernateUtil.createSession();
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Sessionmanagement.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/Sessionmanagement.java
Sat Nov 7 05:02:13 2009
@@ -227,7 +227,116 @@
* @param SID
* @param USER_ID
*/
- public Boolean updateUser(String SID, long USER_ID) {
+ public Boolean updateUser(String SID, long USER_ID, boolean
storePermanent, Long language_id) {
+ try {
+ log.debug("updateUser User: "+USER_ID+" || "+SID);
+
+ String hql = "select c from Sessiondata as c " +
+ "where c.session_id
LIKE :session_id";
+
+ //log.debug("checkSession User: || "+SID);
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+
+ //session.flush();
+ Query query = session.createQuery(hql);
+ query.setString("session_id", SID);
+
+ List<Sessiondata> sessions = query.list();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+ Sessiondata sessiondata = null;
+ if (sessions != null && sessions.size() > 0) {
+ sessiondata = sessions.get(0);
+ }
+
+ if (sessiondata == null) {
+ log.error("Could not find session to Update");
+ return false;
+ }
+ log.debug("Found session to update:
"+sessiondata.getSession_id()+ "
userId: "+USER_ID);
+
+ idf = HibernateUtil.createSession();
+ session = HibernateUtil.getSession();
+ tx = session.beginTransaction();
+ sessiondata.setRefresh_time(new Date());
+ //session.refresh(sd);
+ sessiondata.setUser_id(USER_ID);
+ sessiondata.setStorePermanent(storePermanent);
+ sessiondata.setLanguage_id(language_id);
+ //session.flush();
+ session.update(sessiondata);
+ //session.flush();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+ //log.debug("session updated User: "+USER_ID);
+ return true;
+ } catch (HibernateException ex) {
+ log.error("[updateUser]: " ,ex);
+ } catch (Exception ex2) {
+ log.error("[updateUser]: " ,ex2);
+ }
+ return null;
+ }
+
+ public Boolean updateUserOrg(String SID, Long organization_id) {
+ try {
+ log.debug("updateUserOrg User: "+organization_id+" ||
"+SID);
+
+ String hql = "select c from Sessiondata as c " +
+ "where c.session_id
LIKE :session_id";
+
+ //log.debug("checkSession User: || "+SID);
+ Object idf = HibernateUtil.createSession();
+ Session session = HibernateUtil.getSession();
+ Transaction tx = session.beginTransaction();
+
+ //session.flush();
+ Query query = session.createQuery(hql);
+ query.setString("session_id", SID);
+
+ List<Sessiondata> sessions = query.list();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+ Sessiondata sessiondata = null;
+ if (sessions != null && sessions.size() > 0) {
+ sessiondata = sessions.get(0);
+ }
+
+ if (sessiondata == null) {
+ log.error("Could not find session to Update");
+ return false;
+ }
+ log.debug("Found session to update:
"+sessiondata.getSession_id()+ "
organisation_id: "+organization_id);
+
+ idf = HibernateUtil.createSession();
+ session = HibernateUtil.getSession();
+ tx = session.beginTransaction();
+ sessiondata.setRefresh_time(new Date());
+ //session.refresh(sd);
+ sessiondata.setOrganization_id(organization_id);
+ //session.flush();
+ session.update(sessiondata);
+ //session.flush();
+ tx.commit();
+ HibernateUtil.closeSession(idf);
+
+ //log.debug("session updated User: "+USER_ID);
+ return true;
+ } catch (HibernateException ex) {
+ log.error("[updateUser]: " ,ex);
+ } catch (Exception ex2) {
+ log.error("[updateUser]: " ,ex2);
+ }
+ return null;
+ }
+
+
+ public Boolean updateUserWithoutSession(String SID, long USER_ID) {
try {
log.debug("updateUser User: "+USER_ID+" || "+SID);
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
Thu Nov 5 05:44:16 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java
Sat Nov 7 05:02:13 2009
@@ -21,6 +21,7 @@
import org.openmeetings.app.data.beans.basic.SearchResult;
import org.openmeetings.app.data.user.dao.UsersDaoImpl;
import org.openmeetings.app.hibernate.beans.adresses.Adresses;
+import org.openmeetings.app.hibernate.beans.basic.Sessiondata;
import org.openmeetings.app.hibernate.beans.domain.Organisation_Users;
import org.openmeetings.app.hibernate.beans.lang.Fieldlanguagesvalues;
import org.openmeetings.app.hibernate.beans.recording.RoomClient;
@@ -198,7 +199,8 @@
* @param Userpass
* @return
*/
- public Object loginUser(String SID, String userOrEmail, String
userpass,
RoomClient currentClient) {
+ public Object loginUser(String SID, String userOrEmail, String
userpass,
RoomClient currentClient,
+ Boolean storePermanent, Long language_id) {
try {
String hql = "SELECT c from Users AS c " +
@@ -224,7 +226,7 @@
Users users = (Users) ll.get(0);
if
(ManageCryptStyle.getInstance().getInstanceOfCrypt().verifyPassword(userpass,
users.getPassword())) {
log.info("chsum OK: "+
users.getUser_id());
- Boolean bool =
Sessionmanagement.getInstance().updateUser(SID,
users.getUser_id());
+ Boolean bool =
Sessionmanagement.getInstance().updateUser(SID,
users.getUser_id(),storePermanent, language_id);
if (bool==null){
//Exception
return new Long(-1);
@@ -257,9 +259,37 @@
}
return new Long(-1);
}
+
+ public Users loginUserByRemoteHash(String SID, String remoteHash) {
+ try {
+
+ Sessiondata sessionData =
Sessionmanagement.getInstance().getSessionByHash(remoteHash);
+
+
+ if (sessionData != null) {
+
+ Users u =
Usermanagement.getInstance().getUserById(sessionData.getUser_id());
+
+
Sessionmanagement.getInstance().updateUserWithoutSession(SID,
u.getUser_id());
+
+ return u;
+
+ } else {
+
+ return null;
+
+ }
+
+ } catch (HibernateException ex) {
+ log.error("[loginUserByRemoteHash]: ",ex);
+ } catch (Exception ex2) {
+ log.error("[loginUserByRemoteHash]: ",ex2);
+ }
+ return null;
+ }
public Long logout(String SID, long USER_ID) {
- Sessionmanagement.getInstance().updateUser(SID, 0);
+ Sessionmanagement.getInstance().updateUser(SID, 0, false,null);
return new Long(-12);
}
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.hbm.xml
Mon Oct 12 02:51:43 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.hbm.xml
Sat Nov 7 05:02:13 2009
@@ -11,5 +11,8 @@
<property name="starttermin_time" type="java.util.Date"
column="starttermin_time"/>
<property name="user_id" type="long" column="user_id"/>
<property name="sessionXml" type="text" column="sessionXml"/>
+ <property name="storePermanent" type="boolean"
column="storePermanent"/>
+ <property name="language_id" type="long" column="language_id"/>
+ <property name="organization_id" type="long" column="organization_id"/>
</class>
</hibernate-mapping>
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.java
Mon Oct 12 02:51:43 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/Sessiondata.java
Sat Nov 7 05:02:13 2009
@@ -14,6 +14,9 @@
private Date starttermin_time;
private Date refresh_time;
private String sessionXml;
+ private Boolean storePermanent;
+ private Long language_id;
+ private Long organization_id;
public Sessiondata() {
super();
// TODO Auto-generated constructor stub
@@ -91,5 +94,41 @@
public void setSessionXml(String sessionXml) {
this.sessionXml = sessionXml;
}
+
+ /**
+ * @hibernate.property
+ * column="storePermanent"
+ * type="boolean"
+ */
+ public Boolean getStorePermanent() {
+ return storePermanent;
+ }
+ public void setStorePermanent(Boolean storePermanent) {
+ this.storePermanent = storePermanent;
+ }
+
+ /**
+ * @hibernate.property
+ * column="language_id"
+ * type="long"
+ */
+ public Long getLanguage_id() {
+ return language_id;
+ }
+ public void setLanguage_id(Long language_id) {
+ this.language_id = language_id;
+ }
+
+ /**
+ * @hibernate.property
+ * column="organization_id"
+ * type="long"
+ */
+ public Long getOrganization_id() {
+ return organization_id;
+ }
+ public void setOrganization_id(Long organization_id) {
+ this.organization_id = organization_id;
+ }
}
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/user/Users.java
Mon Oct 12 02:51:43 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/user/Users.java
Sat Nov 7 05:02:13 2009
@@ -5,6 +5,7 @@
import java.util.Set;
import org.openmeetings.app.hibernate.beans.adresses.Adresses;
+import org.openmeetings.app.hibernate.beans.basic.Sessiondata;
/**
*
@@ -48,6 +49,8 @@
private Long externalUserId;
private String externalUserType;
+ private Sessiondata sessionData;
+
//TODO: Fehlende adressids fŸr rechnung und lieferadresse
@@ -390,5 +393,15 @@
public void setExternalUserType(String externalUserType) {
this.externalUserType = externalUserType;
}
+
+
+ public Sessiondata getSessionData() {
+ return sessionData;
+ }
+ public void setSessionData(Sessiondata sessionData) {
+ this.sessionData = sessionData;
+ }
+
+
}
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java
Sat Nov 7 05:02:13 2009
@@ -167,7 +167,8 @@
*
*/
//----------------------------------------------------------------------------------------
- public Object doLdapLogin(String user, String passwd, RoomClient
currentClient, String SID) {
+ public Object doLdapLogin(String user, String passwd, RoomClient
currentClient, String SID,
+ Boolean storePermanent, Long language_id) {
log.debug("LdapLoginmanagement.doLdapLogin");
// Retrieve Configuration Data
@@ -285,7 +286,7 @@
}
// Update Session
- Boolean bool =
Sessionmanagement.getInstance().updateUser(SID, userid);
+ Boolean bool =
Sessionmanagement.getInstance().updateUser(SID, userid,
storePermanent, language_id);
if (bool==null){
//Exception
@@ -322,7 +323,7 @@
}
// Update Session
- Boolean bool =
Sessionmanagement.getInstance().updateUser(SID,
u.getUser_id());
+ Boolean bool =
Sessionmanagement.getInstance().updateUser(SID,
u.getUser_id(), storePermanent, language_id);
if (bool==null){
//Exception
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/LanguageService.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/LanguageService.java
Sat Nov 7 05:02:13 2009
@@ -2,6 +2,7 @@
import java.util.List;
import java.util.LinkedHashMap;
+import java.util.Map;
import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
@@ -53,8 +54,8 @@
* @param language_id
* @return
*/
- public List<Fieldlanguagesvalues> getLanguageByIdAndMax(Long
language_id,
int start, int max){
- return
Fieldmanagment.getInstance().getAllFieldsByLanguage(language_id,start,max);
+ public List<Map> getLanguageByIdAndMax(Long language_id, int start, int
max){
+ return
Fieldmanagment.getInstance().getLabelsByLanguage(language_id,start,max);
}
public Fieldvalues getFieldvalueById(String SID, Long fieldvalues_id,
Long language_id) {
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java
Tue Oct 27 12:27:49 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java
Sat Nov 7 05:02:13 2009
@@ -164,7 +164,67 @@
System.out.println(":: getsessiondata");
return Sessionmanagement.getInstance().startsession();
- }
+ }
+
+ public Long setCurrentUserOrganization(String SID, Long
organization_id) {
+ try {
+
+ Sessionmanagement.getInstance().updateUserOrg(SID,
organization_id);
+
+ } catch (Exception err) {
+ log.error("[setCurrentUserOrganization]",err);
+ }
+ return -1L;
+ }
+
+ public Users loginByRemember(String SID, String remoteHashId) {
+ try {
+
+ RoomClient currentClient;
+ IConnection current = Red5.getConnectionLocal();
+
+ Users o;
+
+ currentClient =
this.clientListManager.getClientByStreamId(current.getClient().getId());
+
+ o =
Usermanagement.getInstance().loginUserByRemoteHash(SID,remoteHashId);
+
+ if(o==null)
+ return null;
+
+
o.setSessionData(Sessionmanagement.getInstance().getSessionByHash(remoteHashId));
+
+ if (currentClient.getUser_id()!=null &&
currentClient.getUser_id()>0) {
+
+ Users u = (Users)o;
+ currentClient.setFirstname(u.getFirstname());
+ currentClient.setLastname(u.getLastname());
+
+ Collection<Set<IConnection>> conCollection =
current.getScope().getConnections();
+ for (Set<IConnection> conset : conCollection) {
+ for (IConnection cons : conset) {
+ if (cons != null) {
+ if (cons instanceof
IServiceCapableConnection) {
+ if
(!cons.equals(current)){
+
//log.error("sending roomDisconnect to " + cons);
+
//RoomClient rcl =
this.clientListManager.getClientByStreamId(cons.getClient().getId());
+ //Send
to all connected users
+
((IServiceCapableConnection) cons).invoke("roomConnect",new
Object[] { currentClient }, this);
+
//log.error("sending roomDisconnect to " + cons);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return o;
+
+ } catch (Exception err) {
+ log.error("[loginByRemember]",err);
+ }
+ return null;
+ }
/**
* auth function, use the SID you get by getsessiondata
@@ -173,7 +233,7 @@
* @param Userpass
* @return a valid user account or an empty user with an error message
and level -1
*/
- public Object loginUser(String SID, String usernameOrEmail, String
Userpass){
+ public Object loginUser(String SID, String usernameOrEmail, String
Userpass, Boolean storePermanent, Long language_id){
// Check, whether LDAP - Login is required(Configuration has key
ldap_config_path
boolean withLdap = false;
@@ -205,7 +265,8 @@
currentClient =
this.clientListManager.getClientByStreamId(current.getClient().getId());
- o =
LdapLoginManagement.getInstance().doLdapLogin(usernameOrEmail, Userpass,
currentClient, SID);
+ o =
LdapLoginManagement.getInstance().doLdapLogin(usernameOrEmail, Userpass,
currentClient, SID,
+
storePermanent, language_id);
}
else{
@@ -215,7 +276,8 @@
currentClient =
this.clientListManager.getClientByStreamId(current.getClient().getId());
- o =
Usermanagement.getInstance().loginUser(SID,usernameOrEmail,Userpass,
currentClient);
+ o =
Usermanagement.getInstance().loginUser(SID,usernameOrEmail,Userpass,
currentClient,
+
storePermanent, language_id);
}
if(o==null)
@@ -405,7 +467,7 @@
* @param SID
*/
public void markSessionAsLogedIn(String SID){
- Sessionmanagement.getInstance().updateUser(SID, -1);
+ Sessionmanagement.getInstance().updateUserWithoutSession(SID, -1);
}
/**
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
Sat Nov 7 05:02:13 2009
@@ -1124,7 +1124,7 @@
//Update Session Data
log.debug("UDPATE SESSION
"+currentClient.getPublicSID()+", "+userId);
-
Sessionmanagement.getInstance().updateUser(currentClient.getPublicSID(),
userId);
+
Sessionmanagement.getInstance().updateUser(currentClient.getPublicSID(),
userId,false,null);
//only fill this value from User-REcord
//cause invited users have non
@@ -1168,7 +1168,7 @@
//Update Session Data
log.debug("UDPATE SESSION "+SID+", "+userId);
- Sessionmanagement.getInstance().updateUser(SID, userId);
+
Sessionmanagement.getInstance().updateUserWithoutSession(SID, userId);
Users user =
Usermanagement.getInstance().getUserById(userId);
=======================================
---
/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/MethodGateway.java
Mon Oct 26 08:27:13 2009
+++
/trunk/singlewebapp/src/app/org/openmeetings/servlet/outputhandler/MethodGateway.java
Sat Nov 7 05:02:13 2009
@@ -98,7 +98,7 @@
Long returnVal = new Long(-1);
- Object obj =
Usermanagement.getInstance().loginUser(SID,username,userpass, null);
+ Object obj =
Usermanagement.getInstance().loginUser(SID,username,userpass,
null,false,null);
if (obj==null){
returnVal = new Long(-1);
}
=======================================
--- /trunk/singlewebapp/src/test/org/openmeetings/test/navi/TestNavi.java
Mon Oct 12 02:56:03 2009
+++ /trunk/singlewebapp/src/test/org/openmeetings/test/navi/TestNavi.java
Sat Nov 7 05:02:13 2009
@@ -22,7 +22,7 @@
MainService mService = new MainService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "SebastianWagner", "test");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "SebastianWagner",
"test",false,null);
System.out.println("us: "+us.getFirstname());
=======================================
---
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/AddConfigParams.java
Mon Oct 12 02:56:03 2009
+++
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/AddConfigParams.java
Sat Nov 7 05:02:13 2009
@@ -21,7 +21,7 @@
MainService mService = new MainService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "wagner", "test");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "wagner", "test",false,null);
String ret = "";
=======================================
---
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/DeleteUser.java
Mon Oct 12 02:56:03 2009
+++
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/DeleteUser.java
Sat Nov 7 05:02:13 2009
@@ -17,7 +17,7 @@
MainService mService = new MainService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner6", "678101");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner6",
"678101",false,null);
System.out.println("us: "+us.getFirstname());
=======================================
---
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/RegisterUser.java
Mon Oct 12 02:56:03 2009
+++
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/RegisterUser.java
Sat Nov 7 05:02:13 2009
@@ -24,7 +24,7 @@
MainService mService = new MainService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "67810");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "67810",false,null);
//Configurationmanagement.getInstance().addConfByKey(3,
"allow_frontend_register", "1",
2, "coment");
=======================================
---
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/TestLogin.java
Mon Oct 12 02:56:03 2009
+++
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/TestLogin.java
Sat Nov 7 05:02:13 2009
@@ -20,7 +20,7 @@
MainService mService = new MainService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "test");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "test",false,null);
System.out.println("us: "+us.getFirstname());
=======================================
---
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/UserManagement.java
Mon Oct 12 02:56:03 2009
+++
/trunk/singlewebapp/src/test/org/openmeetings/test/userdata/UserManagement.java
Sat Nov 7 05:02:13 2009
@@ -26,7 +26,7 @@
UserService uService = new UserService();
Sessiondata sessionData = mService.getsessiondata();
- Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "test");
+ Users us = (Users)
mService.loginUser(sessionData.getSession_id(), "swagner", "test",false,null);
SearchResult users =
uService.getUserList(sessionData.getSession_id(),
0, 100, "firstname", false);
=======================================
---
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
Thu Nov 5 07:37:27 2009
+++
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
Sat Nov 7 05:02:13 2009
@@ -44,7 +44,7 @@
public Long loginUser(String SID, String username, String userpass){
log.debug("UserService.loginuser");
try {
- Object obj =
Usermanagement.getInstance().loginUser(SID,username,userpass, null);
+ Object obj =
Usermanagement.getInstance().loginUser(SID,username,userpass,
null,false,null);
if (obj==null){
return new Long(-1);
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"OpenMeetings developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/openmeetings-dev?hl=en
-~----------~----~----~----~------~----~------~--~---