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