Revision: 2542
Author: seba.wagner
Date: Tue Oct 27 06:35:26 2009
Log: Fixes:
New more secure Method to login via SOAP into any room
Exit button with confirmation
http://code.google.com/p/openmeetings/source/detail?r=2542

Added:
   
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/resources/exit.png
Deleted:
  /trunk/singlewebapp/src/app/hibernate.cfg.xml
Modified:
  /trunk/singlewebapp/WebContent/WEB-INF/services/FileService.aar
  /trunk/singlewebapp/WebContent/WEB-INF/services/RoomService.aar
  /trunk/singlewebapp/WebContent/WEB-INF/services/UserService.aar
  /trunk/singlewebapp/WebContent/languages/errorvalues.xml
   
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
  /trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx
  /trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx
   
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/conferenceMenubar.lzx
   
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/library.lzx
   
/trunk/singlewebapp/WebContent/openmeetings/modules/dashboard/infosPanel.lzx
   
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/dao/SOAPLoginDAO.java
   
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.hbm.xml
   
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.java
   
/trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java
  /trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java
   
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java

=======================================
--- /dev/null
+++  
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/resources/exit.png
     
Tue Oct 27 06:35:26 2009
@@ -0,0 +1,22 @@
+‰PNG
+ 
+   
+IHDR             Ä´l;    gAMA  ¯È7 Šé    tEXtSoftware Adobe  
ImageReadyqÉe<   ;IDATxÚbüÿÿ? - @ 11Ð     Œ±š‘ LƒÜÿ jãO †D h  ?¯ 3  ï? ï~| 
ýúåÓÇÏ· 00, ÊÍ ªý÷ ¨ö Ôœ:h     6Ûþ10  ¥—ËZ™©)„„0
+[X0°ñ 00|üÌðóá}ö×'Ž _?xÐâú
++å@ “€Zö¢›  @Œ°0†¹ ¨0„ ‡{±q{ ‡\j& #;'÷×o N,_Îð÷ë   CC AVV†¿O 3Üß¿›aÛºM Þ~úR 
tád þZ¨y  „ �...@o s ð-µ[4 C>§ l(ÃÏŸ  öïc ”“e   zçða†_¯^1üøü•AQÓ€!ÔÏ—
+  §  4®¿‘Ì   &$ï³ ñR£¦z6‘À0°Ø‡›7 ¾ÞºÅÀúë ƒ¤’ ƒ”ª*   ýåáC†w7n0| Z  
ÊÃÇàcdÈü ‰q Ð` ˜y    ã_  Ñ 0•ÏÌ óŸ ;Æpk×.     ^&& n
+
+†ÿ ÿ2ü ó†áöïß ßyx DÏŸg àãcP úLKLTâÜ‹W
+...@­í ý  „ 
+FÆ$y CF  &†/  á·m ƒEq1ƒ€²2ëS§ XØÙ ˜YX Þ }À¥«Ë`ÓÞÎð è�...@þ÷/_ TÄ„  ˜™¢aÆ   
Ü`vaA-anF†ß•) OW­`P  gøùñ#Ã÷#G d€ÁðçÇ † @ K  3ü^»–áãí[ :µµ ïþýg¸yû  +Ó  n6vy˜y  
 7˜™‹‹—
+ñ?Ãû   ~ ƒ OK›áÙºu 2Ò2 ìŒL LÌÌ ŒÀÔÀ
+ŒuñOŸ žÏœÉÀ%&ÆðW_ áÑ«  ŒÀHfcfb‡™  @ð0þ ´ùï¯? ¿€1È*" dÿbø ç  ³    РÿŸ¾0üûõ› 
éë7†ÿß¾0ü½z•á/0¬¹eeÁ™ã/P d     Üàïß¾}ýù ‘ý? Ðu?~20r #øÃ{†GË 10K 2|;z 
˜r€rŸž2<zþ‰ _B
+ì Æoß!IõÏ †¯ þü‚™  @pƒ?½ÿpëÍë   2
+ ÿ/\ æÓ?  1 ÷—,cøóë3Ã?`þù Lè? >ú Ô.   Ö÷ùü9 vff��...@õï ÿ~
+3  €àaüçÿÿÅ7Ï^eàÐ3`ø}ó*Ã÷EK 8½< dš[ Øþp0üù tÕW`BýÅ YRÊÀ  Ëð ˜rž ?Î ",Àp
+ T?þÿ_
+3  €àYz"##Ë &Æ»žá~r¼Ïï0|¸ü˜Aaí   {[†Ÿ'O2üܳŸáÿ¿  œv6 ìöv Ì /1œöócøúú9°
+ácXòòí; YÊ þÿÿ 2  €à ÷ Ë
+  í9 ø÷xyÚ³0ܸÄðíñG éÂ2 öÈ  F`$1€Ê“çÏ ~nÜÈp­½ƒáË›— ¼‚  ëÞ¼ÿ÷üÏŸ `¬¬ž 5   
€à ÷B ! os¹ùøúœ¬ Yx> `ørã    ( › ?°Hedøöá#ÃÛ§  Xyy ~°±3l{÷áß‹ß : é¬
+¤ >Ô<€ Â0 T |a`ðøÏÈ8_E^FB  ~
+?¾1üûú ˜Üþ å † #ðæ×ï  ¿|}ûóÿÿ< ¡Ë`a 3   
€° ü RÈs \ÏÊÈ ÃÅÁ¡ Jüÿ€aüåÏß_ÀØ üýÿÿ5À˜ï *}‡\¨Ã    FZÕy  D³:  À cˆ       
º8œÁ(    IEND®B`‚
=======================================
--- /trunk/singlewebapp/src/app/hibernate.cfg.xml       Mon Oct 26 08:09:44 2009
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate  
Configuration DTD  
3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd";>
-
-<hibernate-configuration>
-  <session-factory>
-    <property  
name="hibernate.connection.driver_class">org.postgresql.Driver</property>
-    <property  
name="hibernate.connection.url">jdbc:postgresql://localhost/xmlcrm</property>
-    <property name="hibernate.connection.username">postgres</property>
-    <property name="hibernate.connection.password">*****</property>
-    <property  
name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
-    <property name="hibernate.show_sql">true</property>
-    <property name="hibernate.hbm2ddl.auto">update</property>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/adresses/Adresses.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/adresses/States.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/Configuration.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/ErrorType.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/ErrorValues.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/Naviglobal.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/Navimain.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/Navisub.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/SOAPLogin.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/basic/Sessiondata.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/calendar/Appointment.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/calendar/AppointmentCategory.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/calendar/AppointmentReminderTyps.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/calendar/MeetingMember.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/domain/Organisation.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/domain/Organisation_Users.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/invitation/Invitations.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/lang/FieldLanguage.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/lang/Fieldlanguagesvalues.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/lang/Fieldvalues.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/logs/ConferenceLog.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/logs/ConferenceLogType.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/ChatvaluesEvent.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/Recording.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/RecordingClient.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/RecordingConversionJob.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/RoomClient.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/RoomRecording.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/RoomStream.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/recording/WhiteBoardEvent.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/rooms/RoomTypes.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/rooms/Rooms.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/rooms/Rooms_Organisation.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Salutations.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Userdata.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Usergroups.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Userlevel.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Users.hbm.xml"/>
-    <mapping  
resource="org/openmeetings/app/hibernate/beans/user/Users_Usergroups.hbm.xml"/>
-  </session-factory>
-</hibernate-configuration>
=======================================
--- /trunk/singlewebapp/WebContent/WEB-INF/services/FileService.aar     Wed Oct 
 
14 08:32:42 2009
+++ /trunk/singlewebapp/WebContent/WEB-INF/services/FileService.aar     Tue Oct 
 
27 06:35:26 2009
Binary file, no diff available.
=======================================
--- /trunk/singlewebapp/WebContent/WEB-INF/services/RoomService.aar     Wed Oct 
 
14 08:32:42 2009
+++ /trunk/singlewebapp/WebContent/WEB-INF/services/RoomService.aar     Tue Oct 
 
27 06:35:26 2009
Binary file, no diff available.
=======================================
--- /trunk/singlewebapp/WebContent/WEB-INF/services/UserService.aar     Wed Oct 
 
14 08:32:42 2009
+++ /trunk/singlewebapp/WebContent/WEB-INF/services/UserService.aar     Tue Oct 
 
27 06:35:26 2009
Binary file, no diff available.
=======================================
--- /trunk/singlewebapp/WebContent/languages/errorvalues.xml    Mon Oct 12  
03:12:27 2009
+++ /trunk/singlewebapp/WebContent/languages/errorvalues.xml    Tue Oct 27  
06:35:26 2009
@@ -327,5 +327,13 @@
        <field name="deleted">false</field>
        <field name="fieldvalues_id">673</field>
        <field name="errortype_id">1</field>
-    </row>
+    </row>
+    <row>
+      <field name="errorvalues_id">42</field>
+      <field name="starttime" />
+      <field name="updatetime" />
+      <field name="deleted">false</field>
+      <field name="fieldvalues_id">787</field>
+      <field name="errortype_id">1</field>
+    </row>
  </ROOT>
=======================================
---  
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
         
Mon Oct 26 06:07:05 2009
+++  
/trunk/singlewebapp/WebContent/openmeetings/base/hibernate/hibRtmpConnection.lzx
         
Tue Oct 27 06:35:26 2009
@@ -240,6 +240,27 @@
                                        parent.currentInvitation = value;
                                        new 
lz.invitationQuickLoader(canvas.main_content._content.inner);
                                }
+            ]]>
+        </handler>
+    </netRemoteCallHib>
+
+    <netRemoteCallHib name="secureLoginByRemote" activeErrorHandler="true"
+       funcname="xmlcrm.secureLoginByRemote" >
+       <netparam name="remoteSessionId"><method name="getValue">return  
canvas.secureHash;</method></netparam>
+        <handler name="ondata" args="value">
+               <![CDATA[
+                       canvas.thishib.loaderVar.close();
+               //The onResult-Handler will be called be the rtmpconnection
+                               if ($debug) Debug.write("loginUserByRemote: 
",value);
+                               if (value<0){
+
+                               } else {
+
+                                       canvas.initroomid = value.room_id;
+                                       canvas.becomemoderator = 
value.becomemoderator;
+
+                                       parent.getCurrentRoomClient.doCall();
+                               }
              ]]>
          </handler>
      </netRemoteCallHib>
@@ -328,7 +349,8 @@
                                parent.getRoomTypes.doCall();
                            } else {
                                parent.initlanguageLoaded=true;
-                                           if (canvas.isinitRoomDirect || 
canvas.remoteUserLogin ||  
canvas.directUserLogin){
+                                           if (canvas.isinitRoomDirect || 
canvas.remoteUserLogin
+                                                       || 
canvas.directUserLogin || canvas.secureRemoteUserLogin){
                                                
canvas.thishib.loaderVar.setProgress();
                                                if($debug) 
Debug.write("isinitRoomDirect or remoteUserLogin  
is true");
                                                
parent.markSessionAsLogedIn.doCall();
@@ -353,7 +375,9 @@
              if ($debug)  
Debug.write("markSessionAsLogedIn5 ",canvas.remoteUserLogin);
              if ($debug)  
Debug.write("markSessionAsLogedIn6 ",canvas.directUserLogin);
              if ($debug)  
Debug.write("markSessionAsLogedIn7 ",canvas.directRoomId);
-            if (canvas.isinitRoomDirect){
+            if (canvas.secureRemoteUserLogin) {
+               parent.secureLoginByRemote.doCall();
+            } else if (canvas.isinitRoomDirect){
                parent.getInvitationByHash.doCall();
              } else if (canvas.remoteUserLogin) {
                parent.loginUserByRemote.doCall();
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx Mon  
Oct 26 05:40:41 2009
+++ /trunk/singlewebapp/WebContent/openmeetings/base/mainAttributes.lzx Tue  
Oct 27 06:35:26 2009
@@ -229,6 +229,12 @@
  <attribute name="remoteUserLogin" value="false" type="boolean" />
  <attribute name="remoteUserSid" value="" type="string" />

+<!--- attributes for direct room access via remoteUser
+       This is using the advanced methods to prevent abuse
+ -->
+<attribute name="secureRemoteUserLogin" value="false" type="boolean" />
+<attribute name="secureHash" value="" type="string" />
+
  <!--- skip loading of Language -->
  <attribute name="language_id" value="0" type="number" />

=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx    Tue  
Oct 27 03:25:21 2009
+++ /trunk/singlewebapp/WebContent/openmeetings/base/mainMethods.lzx    Tue  
Oct 27 06:35:26 2009
@@ -146,6 +146,12 @@
                        canvas.isinitRoomDirect = true;
                        canvas.invitationHash = invitationHash;
                }
+
+               var secureHash = lz.Browser.getInitArg('secureHash');
+               if (secureHash != undefined){
+                       canvas.secureRemoteUserLogin = true;
+                       canvas.secureHash = secureHash;
+               }

                //sid=fe9ea55284e0b23991b1c1089b2c8f64&roomid=1
                var sid = lz.Browser.getInitArg('sid');
=======================================
---  
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/conferenceMenubar.lzx
  
Mon Oct 26 05:00:12 2009
+++  
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/conferenceMenubar.lzx
  
Tue Oct 27 06:35:26 2009
@@ -28,14 +28,26 @@
        -->
        <class name="conferenceMenubar" extends="menubar" height="28"  
style="itemStyle">

+        <simpleLabelButton labelid="789" name="_exitbtn" text_x="32"
+                                          width="80" style="itemStyle" 
height="28">
+               <handler name="onclick">
+                       new 
lz.confirmtionSingle(canvas,{refObj:this,labelid:791,
+                                       labeliderror:790,showCheckBox:false});
+               </handler>
+               <method name="sendConfirmation" args="confirm,bool">
+                       canvas.doActionmenu('quit');
+               </method>
+               <view resource="exit_btn_rsc" y="2" x="4" />
+               <labelTooltip labelid="309" />
+        </simpleLabelButton>
+
          <!-- file menu -->
          <_labelMenu labelid="245" width="250">
              <handler name="oninit">
                  <![CDATA[
                      if (canvas.isinitRoomDirect || canvas.remoteUserLogin)  
{
                        if ($debug) Debug.write("this mbarcontent ",this);
-                        this.flist.removeItemAt(8);
-                        this.flist.removeItemAt(7);
+                        parent._exitbtn.destroy();
                      }
                  ]]>
              </handler>
@@ -46,8 +58,10 @@
              <_labelMenuItem labelid="563" command="cmd_exportFilePDF" />
              <_labelMenuItem labelid="560" command="cmd_exportFileSVG" />
              <_labelMenuItem labelid="564" command="cmd_exportFileTIF" />
+            <!--
              <menuseparator/>
              <_labelMenuItem name="_exitItem" labelid="309"  
command="cmd_quit" value="quit" />
+             -->
          </_labelMenu>

          <_labelMenu labelid="635" width="250">
@@ -122,14 +136,26 @@

        <class name="restrictedConferenceMenubar" extends="menubar" height="28" 
 
style="itemStyle">

+        <simpleLabelButton labelid="789" name="_exitbtn" text_x="32"
+                                          width="80" style="itemStyle" 
height="28">
+               <handler name="onclick">
+                       new 
lz.confirmtionSingle(canvas,{refObj:this,labelid:791,
+                                       labeliderror:790,showCheckBox:false});
+               </handler>
+               <method name="sendConfirmation" args="confirm,bool">
+                       canvas.doActionmenu('quit');
+               </method>
+               <view resource="exit_btn_rsc" y="2" x="4" />
+               <labelTooltip labelid="309" />
+        </simpleLabelButton>
+
          <!-- file menu -->
          <_labelMenu labelid="245" width="250">
              <handler name="oninit">
                  <![CDATA[
                      if (canvas.isinitRoomDirect || canvas.remoteUserLogin)  
{
                        if ($debug) Debug.write("this mbarcontent ",this);
-                        this.flist.removeItemAt(8);
-                        this.flist.removeItemAt(7);
+                        parent._exitbtn.destroy();
                      }
                  ]]>
              </handler>
@@ -140,8 +166,10 @@
              <_labelMenuItem labelid="563" command="cmd_exportFilePDF"  
enabled="${ !canvas.ismoderator }" />
              <_labelMenuItem labelid="560" command="cmd_exportFileSVG"  
enabled="${ !canvas.ismoderator }" />
              <_labelMenuItem labelid="564" command="cmd_exportFileTIF"  
enabled="${ !canvas.ismoderator }" />
+            <!--
              <menuseparator/>
              <_labelMenuItem name="_exitItem" labelid="309"  
command="cmd_quit" value="quit" />
+             -->
          </_labelMenu>

          <_labelMenu labelid="635" width="250">
=======================================
---  
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/library.lzx
    
Mon Oct 12 03:58:23 2009
+++  
/trunk/singlewebapp/WebContent/openmeetings/modules/conference/conference/library.lzx
    
Tue Oct 27 06:35:26 2009
@@ -4,6 +4,7 @@
        <resource name="go_jump_rsc" src="resources/go-jump.png" />
        <resource name="messagebox_info_big_rsc"  
src="resources/messagebox_info.png" />
        <resource name="reload_rsc" src="resources/reload.png" />
+       <resource name="exit_btn_rsc" src="resources/exit.png" />

      <include href="conferenceView.lzx" />
        <include href="roomListItem.lzx" />
=======================================
---  
/trunk/singlewebapp/WebContent/openmeetings/modules/dashboard/infosPanel.lzx    
 
Tue Oct 27 03:25:21 2009
+++  
/trunk/singlewebapp/WebContent/openmeetings/modules/dashboard/infosPanel.lzx    
 
Tue Oct 27 06:35:26 2009
@@ -46,13 +46,14 @@
          <iconStepButtonWizzard resourceViewName="icon_btn_dashboard_4"  
y="30" x="382" labelid="773" />


-        <simpleLabelButton labelid="769" width="196" x="$once{  
parent.width-200 }"
+        <simpleLabelButton labelid="788" width="196" x="$once{  
parent.width-200 }"
                 y="$once{ parent.height-80 }" height="78"
                 onclick="this.parent.storeSettings();">
-            <view resource="test_setup_start_conference_rsc" x="2"  
valign="middle" />
+            <view resource="test_setup_start_conference_rsc" x="20"  
valign="middle" />
              <handler name="onclick">
                  quicklink('meetings');
              </handler>
+            <labelTooltip labelid="769" />
          </simpleLabelButton>

          <!--
=======================================
---  
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/dao/SOAPLoginDAO.java
        
Mon Oct 26 08:27:13 2009
+++  
/trunk/singlewebapp/src/app/org/openmeetings/app/data/basic/dao/SOAPLoginDAO.java
        
Tue Oct 27 06:35:26 2009
@@ -32,7 +32,7 @@
                return instance;
        }

-       public String addSOAPLogin(String sessionHash, Long room_id) {
+       public String addSOAPLogin(String sessionHash, Long room_id, boolean  
becomemoderator) {
                try {

                        String thistime = "TIME_"+(new Date().getTime());
@@ -49,6 +49,7 @@
                        soapLogin.setRoom_id(room_id);
                        soapLogin.setHash(hash);
                        soapLogin.setSessionHash(sessionHash);
+                       soapLogin.setBecomemoderator(becomemoderator);

                        Long soapLoginId = (Long) session.save(soapLogin);

@@ -98,6 +99,25 @@
                }
                return null;
        }
+
+       public void updateSOAPLogin(SOAPLogin soapLogin) {
+               try {
+
+                       Object idf = HibernateUtil.createSession();
+                       Session session = HibernateUtil.getSession();
+                       Transaction tx = session.beginTransaction();
+
+                       session.update(soapLogin);
+
+                       tx.commit();
+                       HibernateUtil.closeSession(idf);
+
+               } catch (HibernateException ex) {
+                       log.error("[updateSOAPLogin]: ",ex);
+               } catch (Exception ex2) {
+                       log.error("[updateSOAPLogin]: ",ex2);
+               }
+       }


  }
=======================================
---  
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.hbm.xml
         
Mon Oct 26 08:09:44 2009
+++  
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.hbm.xml
         
Tue Oct 27 06:35:26 2009
@@ -12,5 +12,6 @@
      <property name="created" type="java.util.Date" column="created"/>
      <property name="used" type="boolean" column="used"/>
      <property name="useDate" type="java.util.Date" column="use_date"/>
+    <property name="becomemoderator" type="boolean"  
column="becomemoderator"/>
    </class>
  </hibernate-mapping>
=======================================
---  
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.java
    
Mon Oct 26 08:09:44 2009
+++  
/trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/basic/SOAPLogin.java
    
Tue Oct 27 06:35:26 2009
@@ -16,6 +16,7 @@
        private Date created;
        private Boolean used;
        private Date useDate;
+       private Boolean becomemoderator;

        /**
       *
@@ -101,5 +102,17 @@
        public void setUseDate(Date useDate) {
                this.useDate = useDate;
        }
+
+       /**
+     * @hibernate.property
+     *  column="becomemoderator"
+     *  type="boolean"
+     */
+       public Boolean getBecomemoderator() {
+               return becomemoderator;
+       }
+       public void setBecomemoderator(Boolean becomemoderator) {
+               this.becomemoderator = becomemoderator;
+       }

  }
=======================================
---  
/trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java
      
Mon Oct 26 14:14:40 2009
+++  
/trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java
      
Tue Oct 27 06:35:26 2009
@@ -280,6 +280,9 @@
                long audience_Id = 
Roommanagement.getInstance().addRoomType("audience");
                log.debug("audience_Id: " + audience_Id);

+               long restricted_Id =  
Roommanagement.getInstance().addRoomType("restricted");
+               log.debug("restricted_Id: " + restricted_Id);
+
                Roommanagement.getInstance().addRoom(3, "public Conference 
Room", 1,
                                "", new Long(8), true, null, false, false, 
null, false);

@@ -290,6 +293,9 @@
                                "public Video And Whiteboard Room", 1, "", new 
Long(16), true,
                                null, false, false, null, false);

+               Roommanagement.getInstance().addRoom(3, "public Restricted 
Room",  
restricted_Id,
+                               "", new Long(10), true, null, false, false, 
null, false);
+
                long room2 = Roommanagement.getInstance().addRoom(3,
                                "private Conference Room", 1, "", new Long(16), 
false, null,
                                false, false, null, false);
=======================================
---  
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java        
 
Mon Oct 26 08:27:13 2009
+++  
/trunk/singlewebapp/src/app/org/openmeetings/app/remote/MainService.java        
 
Tue Oct 27 06:35:26 2009
@@ -18,6 +18,7 @@
  import org.red5.server.api.service.IServiceCapableConnection;
  import org.openmeetings.app.hibernate.beans.adresses.States;
  import org.openmeetings.app.hibernate.beans.basic.Configuration;
+import org.openmeetings.app.hibernate.beans.basic.SOAPLogin;
  import org.openmeetings.app.hibernate.beans.basic.Sessiondata;

  import org.openmeetings.app.hibernate.beans.recording.RoomClient;
@@ -35,6 +36,7 @@
  import org.openmeetings.app.data.conference.Invitationmanagement;
  import org.openmeetings.app.data.conference.Feedbackmanagement;
  import org.openmeetings.app.data.basic.AuthLevelmanagement;
+import org.openmeetings.app.data.basic.dao.SOAPLoginDAO;
  import org.openmeetings.app.remote.red5.ClientListManager;
  import org.openmeetings.app.rss.LoadAtomRssFeed;

@@ -292,6 +294,42 @@
        */
      }

+    public Object secureLoginByRemote(String secureHash) {
+       try {
+
+               SOAPLogin soapLogin =  
SOAPLoginDAO.getInstance().getSOAPLoginByHash(secureHash);
+
+               if (!soapLogin.getUsed()) {
+                       return -42L;
+               } else {
+
+                       Long loginReturn =  
this.loginUserByRemote(soapLogin.getSessionHash());
+
+                       if (loginReturn == null) {
+                               return -1L;
+                       } else if (loginReturn < 0) {
+                               return loginReturn;
+                       } else {
+
+                               soapLogin.setUsed(true);
+
+                               
SOAPLoginDAO.getInstance().updateSOAPLogin(soapLogin);
+
+                               //Hide the admin session Hash from the public 
user
+                               soapLogin.setSessionHash("****");
+
+                               return soapLogin;
+
+                       }
+
+               }
+
+       } catch (Exception err) {
+               log.error("[secureLoginByRemote]",err);
+       }
+       return null;
+    }
+
      /**
       * Attention! This SID is NOT the default session id! its the Session  
id retrieved in the call
       * from the SOAP Gateway!
=======================================
---  
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
      
Mon Oct 26 08:27:13 2009
+++  
/trunk/singlewebapp/src/userservice/org/openmeetings/axis/services/UserService.java
      
Tue Oct 27 06:35:26 2009
@@ -7,6 +7,7 @@
  import org.openmeetings.app.data.basic.ErrorManagement;
  import org.openmeetings.app.data.basic.Fieldmanagment;
  import org.openmeetings.app.data.basic.Sessionmanagement;
+import org.openmeetings.app.data.basic.dao.SOAPLoginDAO;
  import org.openmeetings.app.data.beans.basic.ErrorResult;
  import org.openmeetings.app.data.beans.basic.SearchResult;
  import org.openmeetings.app.data.user.Organisationmanagement;
@@ -192,7 +193,7 @@

        public String setUserObjectAndGenerateRoomHash(String SID, String  
username, String firstname, String lastname,
                        String profilePictureUrl, String email, Long 
externalUserId, String  
externalUserType,
-                       Long room_id){
+                       Long room_id, int becomeModeratorAsInt){
                log.debug("UserService.setUserObject");

                try {
@@ -221,7 +222,17 @@

                                
Sessionmanagement.getInstance().updateUserRemoteSession(SID,  
xmlString);

-                               return ""+new Long(1);
+                               boolean becomeModerator = false;
+                               if (becomeModeratorAsInt == 2) {
+                                       becomeModerator = true;
+                               }
+
+                               String hash = 
SOAPLoginDAO.getInstance().addSOAPLogin(SID, room_id,  
becomeModerator);
+
+                               if (hash != null) {
+                                       return hash;
+                               }
+
                        } else {
                                return ""+new Long(-26);
                        }

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