Author: solomax
Date: Thu Nov 26 19:51:00 2015
New Revision: 1716760
URL: http://svn.apache.org/viewvc?rev=1716760&view=rev
Log:
[OPENMEETINGS-1279] add folder works as expected (almost)
Modified:
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/restCall.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/public/config.xml
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
Modified:
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
(original)
+++
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
Thu Nov 26 19:51:00 2015
@@ -93,19 +93,6 @@ public class FileExplorerItemDao {
return null;
}
- public Long addFileExplorerItem(FileExplorerItem fileItem) {
- try {
-
- fileItem = em.merge(fileItem);
- Long fileItemId = fileItem.getId();
-
- return fileItemId;
- } catch (Exception ex2) {
- log.error("[addFileExplorerItem]", ex2);
- }
- return null;
- }
-
public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(Long
roomId, Long ownerId) {
log.debug(".getFileExplorerItemsByRoomAndOwner() started");
try {
@@ -238,11 +225,11 @@ public class FileExplorerItemDao {
// fId.setUpdated(new Date());
if (f.getId() == null) {
+ f.setInserted(new Date());
em.persist(f);
} else {
- if (!em.contains(f)) {
- f = em.merge(f);
- }
+ f.setUpdated(new Date());
+ f = em.merge(f);
}
return f;
}
Modified:
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
(original)
+++
openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
Thu Nov 26 19:51:00 2015
@@ -44,6 +44,7 @@ public class FileExplorerItemDTO impleme
private String hash;
private Long parentId;
private Long roomId;
+ private Long ownerId;
private Long size;
private String externalId;
private String externalType;
@@ -59,6 +60,7 @@ public class FileExplorerItemDTO impleme
hash = f.getHash();
parentId = f.getParentId();
roomId = f.getRoomId();
+ ownerId = f.getOwnerId();
size = f.getSize();
externalId = f.getExternalId();
externalType = f.getExternalType();
@@ -74,6 +76,7 @@ public class FileExplorerItemDTO impleme
f.setHash(hash);
f.setParentId(parentId);
f.setRoomId(roomId);
+ f.setOwnerId(ownerId);
f.setSize(size);
f.setExternalId(externalId);
f.setExternalType(externalType);
@@ -90,7 +93,7 @@ public class FileExplorerItemDTO impleme
public void setId(Long id) {
this.id = id;
}
-
+
public String getName() {
return name;
}
@@ -123,6 +126,14 @@ public class FileExplorerItemDTO impleme
this.roomId = roomId;
}
+ public Long getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(Long ownerId) {
+ this.ownerId = ownerId;
+ }
+
public Long getSize() {
return size;
}
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dragItemFileExplorer.lzx
Thu Nov 26 19:51:00 2015
@@ -47,8 +47,8 @@
<![CDATA[
if (this.refObj != itemRef) {
- if (this.refObj.isFolder) {
- if (!itemRef.isTrashCan && !itemRef.isFolder) {
+ if (this.refObj.type == 'Folder') {
+ if (!itemRef.isTrashCan && itemRef.type !=
'Folder') {
//No Folders to the whiteboard please
return;
}
@@ -97,7 +97,7 @@
showCheckBox:false,
refReturnMethod:"sendConfirmation"
});
- } else if (this.overItem["isFolder"] && this.overItem.isFolder){
+ } else if (this.overItem["type"] && this.overItem.type ==
'Folder'){
if ($debug) Debug.write("MOVE ITEM",this.refObj.fileId);
if ($debug) Debug.write("MOVE TO
PARENT",this.overItem.fileId);
this.fileId = this.refObj.fileId;
@@ -121,17 +121,22 @@
this.moveFile();
} else {
if ($debug) Debug.warn("Drag to whiteboard !!! ");
- if (this.refObj.isVideo) {
- this.refObj.playVideo();
- } else if (this.refObj.isPresentation) {
- this.refObj.loadDocumentToWhiteboard();
- } else if (this.refObj.isImage) {
- this.refObj.loadImageToWhiteboard();
- } else if (this.refObj.isWmlFile) {
- this.refObj.loadWmlFile();
- } else {
- if ($debug) Debug.warn("Should never happen
dragItemFileExplorer unhandled case");
- }
+ switch (this.refObj.type) {
+ case 'Video':
+ this.refObj.playVideo();
+ break;
+ case 'WmlFile':
+ this.refObj.loadWmlFile();
+ break;
+ case 'Presentation':
+
this.refObj.loadDocumentToWhiteboard();
+ break;
+ case 'Image':
+
this.refObj.loadImageToWhiteboard();
+ break;
+ default:
+ if ($debug) Debug.warn("Should never happen
dragItemFileExplorer unhandled case");
+ }
this.destroy();
}
} else {
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/dynamicFileName.lzx
Thu Nov 26 19:51:00 2015
@@ -20,64 +20,79 @@
-->
<library>
-<class name="dynamicFileName" extends="customInputtext"
- fontsize="10" bgcolor="0xFFFFFF">
-
- <attribute name="isNew" value="false" type="boolean" />
-
- <!-- Only used in case its an update -->
- <attribute name="fileId" value="0" type="number" />
-
- <attribute name="parentId" value="0" type="number" />
- <attribute name="isOwner" value="false" type="boolean" />
+<class name="dynamicFileName" extends="customInputtext" fontsize="10"
bgcolor="0xFFFFFF">
+ <switch>
+ <when property="$as3">
+ <passthrough>
+ import flash.net.*;
+ </passthrough>
+ </when>
+ </switch>
<attribute name="refObj" value="null" />
+ <attribute name="addFolderLoader"/>
<handler name="onblur">
lz.ModeManager.release(this);
- if ($debug) Debug.write("Store and Destroy ",this.parentId);
- if (this.isNew) {
- this.addFolder();
+ if ($debug) Debug.write("Store and Destroy ",
this.refObj.parentId);
+ if (this.refObj.fileId == 0) {
+ this.add();
} else {
- this.updateFileOrFolderName();
+ this.rename();
}
</handler>
<handler name="onkeydown" args="k">
- <![CDATA[
- if (k == 13 || k == 27) {
- this.onblur.sendEvent();
- }
- ]]>
+ <![CDATA[
+ if (k == 13 || k == 27) {
+ this.onblur.sendEvent();
+ }
+ ]]>
</handler>
- <method name="addFolder">
+ <method name="add">
<![CDATA[
- if ($debug) Debug.write("addFolder HTTP 1: ");
- var downloadurl =
canvas.getUrl()+'services/FileService/addFolderSelfInternal?'
- +'SID='+canvas.sessionId
- +'&parentId='+this.parentId
- +'&fileName='+this.text
- +'&roomId='+hib.currentroomid
- +'&isOwner='+this.isOwner;
-
- this.addFolderSelf.setAttribute("src", downloadurl);
- if ($debug) Debug.write("addFolderSelf doRequest ", downloadurl);
- this.addFolderSelf.doRequest();
+ if ($debug) Debug.write("addFolder:: ", this);
+ if (!addFolderLoader) {
+ addFolderLoader = new RestCall({
+ url: canvas.getUrl() + 'services/file/'
+ , method: URLRequestMethod.POST
+ , dataFormat: URLLoaderDataFormat.BINARY
+ , contentType: "multipart/form-data;
boundary=" + UploadPostHelper.getBoundary()
+ , errorCallback: httpRequestError
+ , successCallback: addFolderComplete
+ });
+ }
+ var vars = UploadPostHelper.getPostData(null, null, [
+ {
+ name: 'file'
+ , type: 'application/json'
+ , value:
JSON.stringify({fileExplorerItemDTO: {
+ name: this.text
+ , parentId:
this.refObj.parentId > 0 ? this.refObj.parentId : null
+ , roomId: this.refObj.roomId >
0 ? this.refObj.roomId : null
+ , ownerId: this.refObj.ownerId
> 0 ? this.refObj.ownerId : null
+ , type: this.refObj.type
+ }})
+ }
+ ]);
+ if ($debug) Debug.write("addFolder:: ", vars);
+ addFolderLoader.load(vars);
+ //FIXME TODO revert changes on error
]]>
</method>
- <dataset name="addFolderSelf" type="http" >
- <handler name="ondata" args="d">
- <![CDATA[
- //if ($debug) Debug.write("ondata ",d);
- if ($debug) Debug.write("addFolderSelf: ",d);
- parent.completed();
- ]]>
- </handler>
- </dataset>
+ <method name="addFolderComplete" args="event">
+ if ($debug) Debug.info("addFolderComplete ", event);
+ completed();
+ </method>
+
+ <method name="httpRequestError" args="event">
+ if ($debug) Debug.error("httpRequestError ", event);
+ completed();
+ </method>
- <method name="updateFileOrFolderName">
+ <method name="rename">
<![CDATA[
if ($debug) Debug.write("moveFile HTTP 1: ");
var downloadurl =
canvas.getUrl()+'services/FileService/updateFileOrFolderNameSelf?'
@@ -102,13 +117,13 @@
</dataset>
<method name="completed">
- this.refObj.setAttribute("fileName",this.getText());
+ this.refObj.setAttribute("fileName", this.text);
this.refObj.parent.parent.doOpen();
this.destroy();
</method>
<method name="completedRename">
- this.refObj.setAttribute("fileName",this.getText());
+ this.refObj.setAttribute("fileName",this.text);
this.destroy();
</method>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/fileExplorer.lzx
Thu Nov 26 19:51:00 2015
@@ -28,12 +28,10 @@
<switch>
<when property="$as3">
<passthrough>
- import flash.events.*;
import flash.net.*;
</passthrough>
</when>
</switch>
- <attribute name="parentFolderId" value="-2" type="number" />
<attribute name="_selected" value="null" />
<attribute name="rootFileLoader" />
@@ -47,7 +45,7 @@
<handler name="onvisible">
if ($debug) Debug.write("fileExplorer::onvisible this._selected
", this._selected);
//This is thrown whenever an uploaded Document has completed
- if (this._selected == null || !this._selected.isFolder) {
+ if (this._selected == null || this._selected.type == 'Folder') {
this.loadFiles();
} else {
this._selected.refresh();
@@ -65,9 +63,6 @@
//Set parent folder id for next Folder or uploaded file
if (this._selected.fileId == 0) {
if (this._selected.isOwner) {
- this.parentFolderId = -2;
- } else {
- this.parentFolderId = 0;
}
} else {
this.parentFolderId = this._selected.fileId;
@@ -77,7 +72,7 @@
<method name="addFile">
<![CDATA[
- if ($debug) Debug.write("addFile ::
",this._selected,this.parentFolderId);
+ if ($debug) Debug.write("addFile :: ",this._selected);
if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
new lz.labelerrorPopup(canvas,{errorlabelid:1462});
@@ -122,11 +117,11 @@
if ($debug) Debug.write("addFolder ::1
",this._selected);
this._filearea._contentarea.subviews[0].addFolder();
} else {
- if (this._selected.isFolder) {
- if ($debug) Debug.write("-1 this._selected.isFolder
",this._selected);
+ if (this._selected.type == 'Folder') {
+ if ($debug) Debug.write("-1 this._selected->Folder ",
this._selected);
this._selected.addFolder();
} else {
- if ($debug) Debug.write("-2 !this._selected.isFolder
",this._selected);
+ if ($debug) Debug.write("-2 this._selected->!Folder ",
this._selected);
this._selected.parent.parent.addFolder();
}
}
@@ -164,23 +159,20 @@
<method name="loadFiles">
<![CDATA[
if (!rootFileLoader) {
- rootFileLoader = new lz.restCall(this, {
- restUrl: canvas.getUrl() +
'services/file/room/' + hib.currentroomid
- , restMethod: URLRequestMethod.GET
+ rootFileLoader = new RestCall({
+ url: canvas.getUrl() + 'services/file/room/' +
hib.currentroomid
+ , method: URLRequestMethod.GET
, errorCallback: httpRequestError
- , successCallback: httpRequestComplete
+ , successCallback: loadFilesComplete
});
}
- var variables:URLVariables = new URLVariables();
- variables.sid = canvas.sessionId;
- rootFileLoader.load(variables);
+ rootFileLoader.load('');
]]>
</method>
- <method name="httpRequestComplete" args="event">
+ <method name="loadFilesComplete" args="event">
var o = JSON.parse(event.target.data);
- if ($debug) Debug.info("httpRequestComplete ", this);
- if ($debug) Debug.info("httpRequestComplete ", o);
+ if ($debug) Debug.info("loadFilesComplete ", o);
createRootItems(o.fileExplorerObject);
</method>
@@ -195,51 +187,60 @@
<method name="setNodes" args="list, root">
<![CDATA[
+ //if ($debug) Debug.info("setNodes:: ", list.length, list);
if (!list) {
return;
}
+ if (!list.length) {
+ list = [list];
+ }
for (var i = 0; i < list.length; ++i) {
var f = list[i];
- //if ($debug) Debug.write("fileItem, ", f);
+ //if ($debug) Debug.write("fileItem, ", f, root);
switch (f.type) {
case 'Folder':
new
lz.folderFileExplorerItem(root.content,{
fileId: f.id
, fileName: f.name
, fileIcon:
'icon_folder_rsc'
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, refObjListRoot:this
});
break;
case 'Image':
new
lz.imageFileExplorerItem(root.content,{
- isFolder: false
- , fileId: f.id
+ fileId: f.id
, fileName: f.name
, fileHash: f.hash
- , isImage: true
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, fileIcon:
'file_explorer_image_rsc'
, refObjListRoot: this
});
break;
case 'Presentation':
new
lz.documentFileExplorerItem(root.content,{
- isFolder: false
- , fileId: f.id
+ fileId: f.id
, fileName: f.name
, fileHash: f.hash
- , isPresentation: true
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, fileIcon:
'file_explorer_document_rsc'
, refObjListRoot: this
});
break;
case 'Video':
new
lz.videoFileExplorerItem(root.content,{
- isFolder: false
- , isVideo: true
- , fileId: f.id
+ fileId: f.id
, fileName: f.name
, fileHash: f.hash
- , isImage: true
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, fileIcon:
'file_explorer_video_rsc'
, flvHeight: f.flvHeight
, flvWidth: f.flvWidth
@@ -248,21 +249,24 @@
break;
case 'WmlFile':
new
lz.wmlFileExplorerItem(root.content,{
- isFolder: false
- , fileId: f.id
+ fileId: f.id
, fileName: f.name
, fileIcon:
'file_explorer_wml_rsc'
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, isWmlFile: true
, refObjListRoot: this
});
break;
case 'PollChart':
new
lz.wmlFileExplorerItem(root.content,{
- isFolder: false
- , fileId: f.id
+ fileId: f.id
, fileName: f.name
, fileIcon:
'file_explorer_chart_rsc'
- , isChart: true
+ , type: f.type
+ , ownerId: f.ownerId
+ , roomId: f.roomId
, refObjListRoot: this
});
break;
@@ -284,20 +288,21 @@
, fileId: -1
, fileName:canvas.getLabelName(706)
, name: '_userHome'
- , isRoot:true
- , fileIcon:'file_explorer_folder_home_rsc'
- , isOwner:true
- , refObjListRoot:this
+ , isRoot: true
+ , ownerId: canvas.userId
+ , fileIcon: 'file_explorer_folder_home_rsc'
+ , refObjListRoot: this
});
userHome.content.setAttribute("visibility", "visible");
userHome.icon_folder_pre.setAttribute("frame", 2);
userHome._folderIcon.setAttribute("frame", 2);
-
+ if ($debug) Debug.info("createUserRootItems ");
setNodes(roomObject.userHome, userHome);
var roomHome = new
lz.rootFileExplorerItem(this._filearea._contentarea,{
open: true
, fileId: -2
+ , roomId: hib.currentroomid
, fileName: canvas.getLabelName(707)
, name: '_roomHome'
, isRoot: true
@@ -307,7 +312,7 @@
roomHome.content.setAttribute("visibility", "visible");
roomHome.icon_folder_pre.setAttribute("frame", 2);
roomHome._folderIcon.setAttribute("frame", 2);
-
+ if ($debug) Debug.info("createRoomRootItems ");
setNodes(roomObject.roomHome, roomHome);
]]>
</method>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/restCall.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/restCall.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/restCall.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/restCall.lzx
Thu Nov 26 19:51:00 2015
@@ -8,8 +8,8 @@
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-
+ http://www.apache.org/licenses/LICENSE-2.0
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,43 +19,237 @@
-->
<library>
- <!-- ###################
- Class restCall
- -->
- <class name="restCall" >
- <switch>
- <when property="$as3">
- <passthrough>
- import flash.events.*;
- import flash.net.*;
- </passthrough>
- </when>
- </switch>
- <attribute name="restUrl" type="string" />
- <attribute name="restMethod" type="string" />
- <attribute name="errorCallback" />
- <attribute name="successCallback" />
- <attribute name="requestor" />
-
- <handler name="oninit">
- <![CDATA[
- if ($debug) Debug.write("restCall:: ", restUrl);
- requestor = new URLLoader();
+ <switch>
+ <when runtime="swf11">
+ <script when="immediate">
+ <![CDATA[
+
+ /**
+ * Take a fileName, byteArray, and parameters object as input
and return ByteArray post data suitable for a UrlRequest as output
+ *
+ * @see http://www.marstonstudio.com/?p=36
+ * @see http://www.w3.org/TR/html4/interact/forms.html
+ * @see http://www.jooce.com/blog/?p=143
+ * @see
http://www.jooce.com/blog/wp%2Dcontent/uploads/2007/06/uploadFile.txt
+ * @see
http://blog.je2050.de/2006/05/01/save-bytearray-to-file-with-php/
+ *
+ * @author Jonathan Marston
+ * @version 2007.08.19
+ *
+ * This work is licensed under a Creative Commons Attribution
NonCommercial ShareAlike 3.0 License.
+ * @see http://creativecommons.org/licenses/by-nc-sa/3.0/
+ *
+ */
+ public class UploadPostHelper {
+ #passthrough (toplevel:true) {
+ import flash.events.*;
+ import flash.net.*;
+ import flash.utils.ByteArray;
+ import flash.utils.Endian;
+ }#
+
+ /**
+ * Boundary used to break up different parts of the
http POST body
+ */
+ private static var _boundary:String = "";
+
+ /**
+ * Get the boundary for the post.
+ * Must be passed as part of the contentType of the
UrlRequest
+ */
+ public static function getBoundary():String {
+ if (_boundary.length == 0) {
+ for (var i:int = 0; i < 0x20; i++ ) {
+ _boundary +=
String.fromCharCode( int( 97 + Math.random() * 25 ) );
+ }
+ }
+ return _boundary;
+ }
+
+ private static function
addContentType(postData:ByteArray, type:String):void {
+ var bytes:String = 'Content-Type: ' + type;
+ for (var i:int = 0; i < bytes.length; ++i) {
+ postData.writeByte(bytes.charCodeAt(i));
+ }
+ postData = LINEBREAK(postData);
+ postData = LINEBREAK(postData);
+ }
- //Initiate the transaction
- requestor.addEventListener(Event.COMPLETE,
successCallback);
- requestor.addEventListener("ioError", errorCallback);
//IOErrorEvent.IOERROR
-
requestor.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorCallback);
- ]]>
- </handler>
+ /**
+ * Create post data to send in a UrlRequest
+ */
+ public static function getPostData(fileName:String,
byteArray:ByteArray, parameters:Array = null):ByteArray {
+ var i:int;
+ var bytes:String;
+
+ var postData:ByteArray = new ByteArray();
+ postData.endian = Endian.BIG_ENDIAN;
+
+ //add Filename to parameters
+ if(parameters == null) {
+ parameters = [];
+ }
+ if (fileName) {
+ parameters[parameters.length] = {name:
'Filename', value: fileName};
+ }
+
+ //add parameters to postData
+ for (var j:int = 0; j < parameters.length; ++j)
{
+ postData = BOUNDARY(postData);
+ postData = LINEBREAK(postData);
+ bytes = 'Content-Disposition:
form-data; name="' + parameters[j].name + '"';
+ for (i = 0; i < bytes.length; ++i) {
+
postData.writeByte(bytes.charCodeAt(i));
+ }
+ postData = LINEBREAK(postData);
+ if (parameters[j].type) {
+ addContentType(postData,
parameters[j].type)
+ } else {
+ postData = LINEBREAK(postData);
+ }
+
postData.writeUTFBytes(parameters[j].value);
+ postData = LINEBREAK(postData);
+ }
+
+ if (fileName && byteArray) {
+ //add Filedata to postData
+ postData = BOUNDARY(postData);
+ postData = LINEBREAK(postData);
+ bytes = 'Content-Disposition:
form-data; name="Filedata"; filename="';
+ for (i = 0; i < bytes.length; ++i) {
+ postData.writeByte(
bytes.charCodeAt(i) );
+ }
+ postData.writeUTFBytes(fileName);
+ postData = QUOTATIONMARK(postData);
+ postData = LINEBREAK(postData);
+ addContentType(postData,
"application/octet-stream");
+ postData.writeBytes(byteArray, 0,
byteArray.length);
+ postData = LINEBREAK(postData);
+
+ //add upload filed to postData
+ postData = LINEBREAK(postData);
+ postData = BOUNDARY(postData);
+ postData = LINEBREAK(postData);
+ bytes = 'Content-Disposition:
form-data; name="Upload"';
+ for (i = 0; i < bytes.length; ++i) {
+
postData.writeByte(bytes.charCodeAt(i));
+ }
+ postData = LINEBREAK(postData);
+ postData = LINEBREAK(postData);
+ bytes = 'Submit Query';
+ for (i = 0; i < bytes.length; ++i) {
+
postData.writeByte(bytes.charCodeAt(i));
+ }
+ postData = LINEBREAK(postData);
- <method name="load" args="params">
- var request:URLRequest = new URLRequest(restUrl);
- request.method = restMethod;
- //Add the URL variables
- request.data = params;
+ //closing boundary
+ postData = BOUNDARY(postData);
+ postData = DOUBLEDASH(postData);
+ }
+ return postData;
+ }
+
+ /**
+ * Add a boundary to the PostData with leading
doubledash
+ */
+ private static function BOUNDARY(p:ByteArray):ByteArray
{
+ var l:int =
UploadPostHelper.getBoundary().length;
+
+ p = DOUBLEDASH(p);
+ for (var i:int = 0; i < l; i++ ) {
+ p.writeByte( _boundary.charCodeAt( i )
);
+ }
+ return p;
+ }
+
+ /**
+ * Add one linebreak
+ */
+ private static function
LINEBREAK(p:ByteArray):ByteArray {
+ p.writeShort(0x0d0a);
+ return p;
+ }
+
+ /**
+ * Add quotation mark
+ */
+ private static function
QUOTATIONMARK(p:ByteArray):ByteArray {
+ p.writeByte(0x22);
+ return p;
+ }
+
+ /**
+ * Add Double Dash
+ */
+ private static function
DOUBLEDASH(p:ByteArray):ByteArray {
+ p.writeShort(0x2d2d);
+ return p;
+ }
+
+ }
+
+ public class RestCall {
+ #passthrough (toplevel:true) {
+ import flash.events.*;
+ import flash.net.*;
+ }#
+ private var url:String = null;
+ private var method:String = null;
+ private var contentType:String = null;
+ private var dataFormat:String = "text";
+ private var errorCallback:Function;
+ private var successCallback:Function;
+ private var hdrs:Array = [];
+ private var requestor:URLLoader = null;
+
+ public function RestCall(options:Object) {
+ if (options["url"]) {
+ this.url = options.url;
+ }
+ if (options["method"]) {
+ this.method = options.method;
+ }
+ if (options["contentType"]) {
+ this.contentType = options.contentType;
+ }
+ if (options["dataFormat"]) {
+ this.dataFormat = options.dataFormat;
+ }
+ if (options["errorCallback"]) {
+ this.errorCallback =
options.errorCallback;
+ }
+ if (options["successCallback"]) {
+ this.successCallback =
options.successCallback;
+ }
+ if (options["hdrs"]) {
+ this.hdrs = options.hdrs;
+ }
+ requestor = new URLLoader();
+ requestor.dataFormat = dataFormat;
+
+ //Initiate the transaction
+ requestor.addEventListener(Event.COMPLETE,
successCallback);
+ requestor.addEventListener("ioError",
errorCallback); //IOErrorEvent.IOERROR
+
requestor.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorCallback);
+ }
- requestor.load(request);
- </method>
- </class>
+ public function load(vars):void {
+ var request:URLRequest = new URLRequest(url +
'?sid=' + canvas.sessionId); //FIXME TODO
+ request.method = method;
+ if (contentType) {
+ request.contentType = contentType;
+ }
+ for (var i = 0; i < hdrs.length; ++i) {
+ request.requestHeaders.push(hdrs[i]);
+ }
+ //Add the URL vars
+ request.data = vars;
+
+ requestor.load(request);
+ }
+ }
+ ]]>
+ </script>
+ </when>
+</switch>
</library>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -21,52 +21,37 @@
<library>
<class name="baseFileExplorerItem" extends="view">
-
<attribute name="refObjListRoot" value="null"/>
-
<attribute name="isRoot" value="false" type="boolean" />
-
<attribute name="fileIcon" type="string" value="string" />
-
<attribute name="open" value="false" type="boolean" />
-
<attribute name="fileId" value="0" type="number" />
- <attribute name="isOwner" value="false" type="boolean" />
-
- <attribute name="isFolder" value="true" type="boolean" />
- <attribute name="isImage" value="false" type="boolean" />
- <attribute name="isPresentation" value="false" type="boolean" />
- <attribute name="isVideo" value="false" type="boolean" />
-
+ <attribute name="ownerId" value="0" type="number" />
+ <attribute name="roomId" value="0" type="number" />
+ <attribute name="type" type="string" />
<attribute name="fileName" value="" type="string" />
<attribute name="fileHash" value="" type="string" />
-
<attribute name="selected" value="false" type="boolean"/>
-
<attribute name="singleClickDelegate" value="null" />
<attribute name="singleClickStarted" value="false" type="boolean" />
-
<attribute name="isMouseDownDragAction" value="false" type="boolean"/>
-
- <!-- If this is true, then this item has been drag-n-droped and it
makes no
- sense to handle any single or double click event -->
+ <!-- If this is true, then this item has been drag-n-droped and it
makes no sense to handle any single or double click event -->
<attribute name="mouseDownClickUsed" value="false" type="boolean" />
<attribute name="mouseDownClickDelegate" value="null" />
-
<attribute name="isTrashCan" value="false" type="boolean" />
<handler name="oninit">
this.singleClickDelegate = new LzDelegate( this,
"doSingleClick" );
this.resetClickDelegate = new LzDelegate( this,
"doResetSingleClick" );
this.mouseDownClickDelegate = new LzDelegate( this,
"doMouseDownClick" );
- if (this.isFolder) {
+ if (this.type = 'Folder') {
lz.Track.register(this._fileName,
canvas.currentImagesListdraw.currentTrackGroupName);
}
</handler>
<method name="doOpen">
this.open = true;
- if (this.isFolder) {
+ if (this.type = 'Folder') {
this.icon_folder_pre.setAttribute("frame",2);
this.content.setAttribute("visibility","visible");
this._folderIcon.setAttribute("frame",2);
@@ -76,7 +61,7 @@
<method name="doClose">
this.open = false;
- if (this.isFolder) {
+ if (this.type = 'Folder') {
this.icon_folder_pre.setAttribute("frame",1);
this.content.setAttribute("visibility","hidden");
this._folderIcon.setAttribute("frame",1);
@@ -173,7 +158,6 @@
if ($debug) Debug.write("deleteFileOrFolder: ",d);
parent.parent.parent.doOpen();
parent.refObjListRoot._selected = null;
- parent.refObjListRoot.parentFolderId = -2;
]]>
</handler>
</dataset>
@@ -184,7 +168,7 @@
if (this.isRoot) {
return;
}
- this.addOrUpdateFolderName(this.fileId,false);
+ this.addOrUpdateFolderName();
</method>
<method name="doResetSingleClick" args="itmeObj">
@@ -197,30 +181,31 @@
</method>
<method name="addFolder">
- <![CDATA[
- if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
- new lz.labelerrorPopup(canvas,{errorlabelid:1462});
- return;
- }
-
- if (this.isFolder) {
- if ($debug) Debug.write("NEW this.fileId INTO
",this);
- if ($debug) Debug.write("NEW this.fileId
",this.fileId);
- if (this["icon_folder_pre"]) {
- this.icon_folder_pre.setAttribute("frame",2);
- this.content.setAttribute("visibility","visible");
- this._folderIcon.setAttribute("frame",2);
- var t = new
lz.folderFileExplorerItem(this.content,{
- isOwner:this.isOwner,
- isFolder:true,
- fileIcon:'icon_folder_rsc',
- refObjListRoot:this.refObjListRoot,
- fileName:canvas.getLabelName(712)
- });
- t.addOrUpdateFolderName(this.fileId,true);
- }
+ <![CDATA[
+ if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+ new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+ return;
+ }
+ if (this.type == 'Folder') {
+ if ($debug) Debug.write("NEW this.fileId INTO ", this);
+ if ($debug) Debug.write("NEW this.fileId ",
this.fileId);
+ if (this["icon_folder_pre"]) {
+ this.icon_folder_pre.setAttribute("frame", 2);
+ this.content.setAttribute("visibile", true);
+ this._folderIcon.setAttribute("frame", 2);
+ var t = new
lz.folderFileExplorerItem(this.content, {
+ parentId: this.fileId
+ , ownerId: this.ownerId
+ , roomId: this.roomId
+ , type: 'Folder'
+ , fileIcon: 'icon_folder_rsc'
+ , refObjListRoot:
this.refObjListRoot
+ , fileName:
canvas.getLabelName(712)
+ });
+ t.addOrUpdateFolderName();
}
- ]]>
+ }
+ ]]>
</method>
<method name="refresh">
@@ -243,7 +228,7 @@
new lz.labelerrorPopup(canvas,{errorlabelid:1462});
return;
}
- this.addOrUpdateFolderName(this.fileId,false);
+ this.addOrUpdateFolderName();
]]>
</method>
@@ -277,40 +262,36 @@
]]>
</method>
- <method name="addOrUpdateFolderName" args="fileId,isNew">
- <![CDATA[
- if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
- new lz.labelerrorPopup(canvas,{errorlabelid:1462});
- return;
- }
+ <method name="addOrUpdateFolderName">
+ <![CDATA[
+ if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+ new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+ return;
+ }
- if ($debug) Debug.write("addOrUpdateFolderName ",fileId);
- var tWidth = this._fileName.width;
- if (tWidth < 160) {
- tWidth = 160;
- }
- var _y = this._fileName.getAttributeRelative("y",canvas);
- var _x = this._fileName.getAttributeRelative("x",canvas);
- if (isNew) {
- _y = 65;
- _x += 10;
- }
-
- var t = new lz.dynamicFileName(canvas,{
- parentId:fileId,
- fileId:this.fileId, //Only used at update Name
- isOwner:this.isOwner,
- text:this.fileName,
- isNew:isNew, //false means its a renaming
- refObj:this,width:tWidth+10,
- x:_x,
- y:_y
- });
-
- lz.Focus.setFocus(t,true);
- lz.ModeManager.makeModal(t);
-
- ]]>
+ if ($debug) Debug.write("addOrUpdateFolderName ",
this.parentId);
+ var tWidth = this._fileName.width;
+ if (tWidth < 160) {
+ tWidth = 160;
+ }
+ var _y = this._fileName.getAttributeRelative("y", canvas);
+ var _x = this._fileName.getAttributeRelative("x", canvas);
+ if (this.fileId == 0) {
+ _y = 65;
+ _x += 10;
+ }
+
+ var t = new lz.dynamicFileName(canvas, {
+ text: this.fileName
+ , refObj: this
+ , width: tWidth + 10
+ , x: _x
+ , y: _y
+ });
+
+ lz.Focus.setFocus(t,true);
+ lz.ModeManager.makeModal(t);
+ ]]>
</method>
<method name="toggleOpen" args="setSelection">
@@ -331,18 +312,22 @@
return;
}
- if (this.isVideo) {
- this.playVideo();
- } else if (this.isWmlFile){
- this.loadWmlFile();
- } else if (this.isFolder) {
- this.doSingleClick(null);
- } else if (this.isPresentation) {
- this.loadDocument();
+ switch (this.type) {
+ case 'Video':
+ this.playVideo();
+ break;
+ case 'WmlFile':
+ this.loadWmlFile();
+ break;
+ case 'Folder':
+ this.doSingleClick(null);
+ break;
+ case 'Presentation':
+ this.loadDocument();
+ break;
}
} else {
-
- if (this.isFolder){
+ if (this.type == 'Folder'){
if (!this.open) {
this.doOpen();
} else {
@@ -350,11 +335,11 @@
if (this.selected) {
if ($debug) Debug.write("Is
this selected => Do Edit !!!");
this.singleClickStarted = true;
- lz.Timer.addTimer(
this.singleClickDelegate, 300 );
+
lz.Timer.addTimer(this.singleClickDelegate, 300);
} else {
this.singleClickStarted = true;
- lz.Timer.addTimer(
this.resetClickDelegate, 300 );
+
lz.Timer.addTimer(this.resetClickDelegate, 300);
}
} else {
this.doClose();
@@ -365,10 +350,10 @@
if (this.selected) {
if ($debug) Debug.write("Is this selected => Do
Edit !!!");
this.singleClickStarted = true;
- lz.Timer.addTimer( this.singleClickDelegate,
300 );
+ lz.Timer.addTimer(this.singleClickDelegate,
300);
} else {
this.singleClickStarted = true;
- lz.Timer.addTimer( this.resetClickDelegate, 300
);
+ lz.Timer.addTimer(this.resetClickDelegate, 300);
}
}
}
@@ -424,7 +409,7 @@
</handler>
</dataset>
- <view name="icon_folder_pre" visibility="$once{ (parent.isFolder) ?
'visible' : 'hidden' }" resource="icon_folder_pre_rsc" frame="1" >
+ <view name="icon_folder_pre" visible="$once{ parent.type == 'Folder' }"
resource="icon_folder_pre_rsc" frame="1" >
<handler name="onclick">
parent.toggleOpen(false);
</handler>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/documentFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -21,7 +21,7 @@
<library>
-<class name="documentFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true">
+<class name="documentFileExplorerItem" extends="baseFileExplorerItem"
type="Presentation">
<method name="formatURL" args="filename">
<![CDATA[
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/folderFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -20,7 +20,7 @@
-->
<library>
-<class name="folderFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true">
+<class name="folderFileExplorerItem" extends="baseFileExplorerItem"
type="Folder">
<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10"
resize="true" y="1">
<contextmenu>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/imageFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -20,7 +20,7 @@
-->
<library>
-<class name="imageFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true">
+<class name="imageFileExplorerItem" extends="baseFileExplorerItem"
type="Image">
<method name="generateFileLink">
<![CDATA[
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/rootFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -20,7 +20,7 @@
-->
<library>
-<class name="rootFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true" isRoot="true">
+<class name="rootFileExplorerItem" extends="baseFileExplorerItem"
type="Folder" isRoot="true">
<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10"
resize="true" y="1">
<contextmenu>
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/videoFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -20,7 +20,7 @@
-->
<library>
-<class name="videoFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true" isVideo="true">
+<class name="videoFileExplorerItem" extends="baseFileExplorerItem"
type="Video">
<method name="generateFileLink">
<![CDATA[
Modified:
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
(original)
+++
openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/wmlFileExplorerItem.lzx
Thu Nov 26 19:51:00 2015
@@ -20,9 +20,7 @@
-->
<library>
-<class name="wmlFileExplorerItem" extends="baseFileExplorerItem"
isFolder="true">
-
- <attribute name="isWmlFile" type="boolean" value="true"/>
+<class name="wmlFileExplorerItem" extends="baseFileExplorerItem"
type="WmlFile">
<text name="_fileName" x="36" text="${ parent.fileName }" fontsize="10"
resize="true" y="1">
<contextmenu>
Modified:
openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
(original)
+++
openmeetings/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
Thu Nov 26 19:51:00 2015
@@ -595,7 +595,7 @@ public class BackupImport {
if (file.getParentId() != null &&
file.getParentId() <= 0L) {
file.setParentId(null);
}
- fileExplorerItemDao.addFileExplorerItem(file);
+ fileExplorerItemDao.update(file);
}
}
Modified:
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/public/config.xml
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/public/config.xml?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/public/config.xml
(original)
+++
openmeetings/branches/3.1.x/openmeetings-web/src/main/webapp/public/config.xml
Thu Nov 26 19:51:00 2015
@@ -148,14 +148,6 @@ of the red5-servlet
<showRecording>hidden</showRecording>
<!--
-
- To enable the modern whiteboard Panel you need to switch this to y
- old menu bar is not active any more
-
-<showmodernWhiteBoard>y</showmodernWhiteBoard>
- -->
-
-<!--
First day in the Week used by the Calendar
0 means Sunday
1 means Monday
Modified:
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
(original)
+++
openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
Thu Nov 26 19:51:00 2015
@@ -29,6 +29,7 @@ import java.util.Set;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
+import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
@@ -161,15 +162,18 @@ public class FileWebService {
* The SID of the User. This SID must be marked as logged in
* @param file
* the The file to be added
+ * @param stream
+ * the The file to be added
* @return - Object created
* @throws ServiceException
*/
@WebMethod
@POST
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/")
public FileExplorerItemDTO add(@WebParam(name="sid") @QueryParam("sid")
String sid
- , @Multipart(value = "file") @WebParam(name="file")
FileExplorerItemDTO file
- , @Multipart(value = "attach", type =
"application/octet-stream", required = false) @WebParam(name="attach")
InputStream attach //TODO check this
+ , @Multipart(value = "file", type =
MediaType.APPLICATION_JSON) @WebParam(name="file") FileExplorerItemDTO file
+ , @Multipart(value = "stream", type =
MediaType.APPLICATION_OCTET_STREAM, required = false) @WebParam(name="stream")
InputStream attach //TODO check this
) throws ServiceException
{
try {
@@ -180,11 +184,14 @@ public class FileWebService {
throw new ServiceException("Bad id");//TODO err
code -1 ????
}
Set<Right> rights = userDao.getRights(userId);
+ /* FIXME TODO permissions
if (AuthLevelUtil.hasWebServiceLevel(rights)
- || (AuthLevelUtil.hasUserLevel(rights)
&& userId.equals(f.getOwnerId())))
+ || (AuthLevelUtil.hasUserLevel(rights)
&& userId.equals(f.getOwnerId())))*/
+ if (AuthLevelUtil.hasUserLevel(rights))
{
//TODO permissions
//TODO attachment
+ f.setInsertedBy(userId);
fileDao.update(f);
return new FileExplorerItemDTO(f);
} else {
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
Thu Nov 26 19:51:00 2015
@@ -93,19 +93,6 @@ public class FileExplorerItemDao {
return null;
}
- public Long addFileExplorerItem(FileExplorerItem fileItem) {
- try {
-
- fileItem = em.merge(fileItem);
- Long fileItemId = fileItem.getId();
-
- return fileItemId;
- } catch (Exception ex2) {
- log.error("[addFileExplorerItem]", ex2);
- }
- return null;
- }
-
public List<FileExplorerItem> getFileExplorerItemsByRoomAndOwner(Long
roomId, Long ownerId) {
log.debug(".getFileExplorerItemsByRoomAndOwner() started");
try {
@@ -238,11 +225,11 @@ public class FileExplorerItemDao {
// fId.setUpdated(new Date());
if (f.getId() == null) {
+ f.setInserted(new Date());
em.persist(f);
} else {
- if (!em.contains(f)) {
- f = em.merge(f);
- }
+ f.setUpdated(new Date());
+ f = em.merge(f);
}
return f;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
Thu Nov 26 19:51:00 2015
@@ -44,6 +44,7 @@ public class FileExplorerItemDTO impleme
private String hash;
private Long parentId;
private Long roomId;
+ private Long ownerId;
private Long size;
private String externalId;
private String externalType;
@@ -59,6 +60,7 @@ public class FileExplorerItemDTO impleme
hash = f.getHash();
parentId = f.getParentId();
roomId = f.getRoomId();
+ ownerId = f.getOwnerId();
size = f.getSize();
externalId = f.getExternalId();
externalType = f.getExternalType();
@@ -74,6 +76,7 @@ public class FileExplorerItemDTO impleme
f.setHash(hash);
f.setParentId(parentId);
f.setRoomId(roomId);
+ f.setOwnerId(ownerId);
f.setSize(size);
f.setExternalId(externalId);
f.setExternalType(externalType);
@@ -123,6 +126,14 @@ public class FileExplorerItemDTO impleme
this.roomId = roomId;
}
+ public Long getOwnerId() {
+ return ownerId;
+ }
+
+ public void setOwnerId(Long ownerId) {
+ this.ownerId = ownerId;
+ }
+
public Long getSize() {
return size;
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
Thu Nov 26 19:51:00 2015
@@ -595,7 +595,7 @@ public class BackupImport {
if (file.getParentId() != null &&
file.getParentId() <= 0L) {
file.setParentId(null);
}
- fileExplorerItemDao.addFileExplorerItem(file);
+ fileExplorerItemDao.update(file);
}
}
Modified:
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1716760&r1=1716759&r2=1716760&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
(original)
+++
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
Thu Nov 26 19:51:00 2015
@@ -29,6 +29,7 @@ import java.util.Set;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
+import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
@@ -161,15 +162,18 @@ public class FileWebService {
* The SID of the User. This SID must be marked as logged in
* @param file
* the The file to be added
+ * @param stream
+ * the The file to be added
* @return - Object created
* @throws ServiceException
*/
@WebMethod
@POST
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/")
public FileExplorerItemDTO add(@WebParam(name="sid") @QueryParam("sid")
String sid
- , @Multipart(value = "file") @WebParam(name="file")
FileExplorerItemDTO file
- , @Multipart(value = "attach", type =
"application/octet-stream", required = false) @WebParam(name="attach")
InputStream attach //TODO check this
+ , @Multipart(value = "file", type =
MediaType.APPLICATION_JSON) @WebParam(name="file") FileExplorerItemDTO file
+ , @Multipart(value = "stream", type =
MediaType.APPLICATION_OCTET_STREAM, required = false) @WebParam(name="stream")
InputStream attach //TODO check this
) throws ServiceException
{
try {
@@ -180,11 +184,14 @@ public class FileWebService {
throw new ServiceException("Bad id");//TODO err
code -1 ????
}
Set<Right> rights = userDao.getRights(userId);
+ /* FIXME TODO permissions
if (AuthLevelUtil.hasWebServiceLevel(rights)
- || (AuthLevelUtil.hasUserLevel(rights)
&& userId.equals(f.getOwnerId())))
+ || (AuthLevelUtil.hasUserLevel(rights)
&& userId.equals(f.getOwnerId())))*/
+ if (AuthLevelUtil.hasUserLevel(rights))
{
//TODO permissions
//TODO attachment
+ f.setInsertedBy(userId);
fileDao.update(f);
return new FileExplorerItemDTO(f);
} else {