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
-~----------~----~----~----~------~----~------~--~---

Reply via email to