You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/11/30 03:09:19 UTC

svn commit: r1717152 [1/2] - in /openmeetings: branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/ branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/ branches/3.1.x/open...

Author: solomax
Date: Mon Nov 30 02:09:18 2015
New Revision: 1717152

URL: http://svn.apache.org/viewvc?rev=1717152&view=rev
Log:
[OPENMEETINGS-1279] more work on file explorer

Removed:
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/fileUpload.lzx
Modified:
    openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
    openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/UploadController.java
    openmeetings/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omImage.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omMiniIcon.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/library.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/uploadWindowExplorer.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
    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/presentations/items/baseListPresentationItemExplorer.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx
    openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/treeitems/baseFileExplorerItem.lzx
    openmeetings/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
    openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java

Modified: openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/file/FileUtils.java Mon Nov 30 02:09:18 2015
@@ -83,24 +83,6 @@ public class FileUtils {
 		return 0;
 	}
 
-	public void setFileToOwnerOrRoomByParent(FileExplorerItem file, Long userId, Long roomId) {
-		try {
-			file.setOwnerId(userId);
-			file.setRoomId(roomId);
-
-			log.debug("calling [2] FileExplorerItemDaoImpl.updateFileOrFolder()");
-			fileExplorerItemDao.update(file);
-
-			List<FileExplorerItem> childElements = fileExplorerItemDao.getByParent(file.getId());
-
-			for (FileExplorerItem childExplorerItem : childElements) {
-				setFileToOwnerOrRoomByParent(childExplorerItem, userId, roomId);
-			}
-		} catch (Exception err) {
-			log.error("[setFileToOwnerOrRoomByParent] ", err);
-		}
-	}
-
 	public String formatDate(Date date) {
 		SimpleDateFormat formatter;
 		String pattern = "dd/MM/yy H:mm:ss";

Modified: openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/UploadController.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/UploadController.java?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/UploadController.java (original)
+++ openmeetings/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/UploadController.java Mon Nov 30 02:09:18 2015
@@ -18,12 +18,6 @@
  */
 package org.apache.openmeetings.core.servlet.outputhandler;
 
-import static org.apache.openmeetings.util.OmFileHelper.bigImagePrefix;
-import static org.apache.openmeetings.util.OmFileHelper.chatImagePrefix;
-import static org.apache.openmeetings.util.OmFileHelper.profileImagePrefix;
-import static org.apache.openmeetings.util.OmFileHelper.thumbImagePrefix;
-
-import java.io.File;
 import java.io.InputStream;
 
 import javax.servlet.ServletException;
@@ -31,24 +25,14 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.transaction.util.FileHelper;
-import org.apache.openmeetings.core.converter.GenerateImage;
-import org.apache.openmeetings.core.converter.GenerateThumbs;
 import org.apache.openmeetings.core.data.file.FileProcessor;
-import org.apache.openmeetings.core.documents.GeneratePDF;
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem.Type;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
-import org.apache.openmeetings.util.StoredFile;
 import org.apache.openmeetings.util.process.ConverterProcessResultList;
 import org.apache.openmeetings.util.process.UploadCompleteMessage;
-import org.apache.openmeetings.util.stringhandlers.StringComparer;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,22 +47,12 @@ public class UploadController extends Ab
 			UploadController.class, OpenmeetingsVariables.webAppRootKey);
 	
 	@Autowired
-	private UserDao usersDao;
-	@Autowired
 	private ScopeApplicationAdapter scopeApplicationAdapter;
 	@Autowired
-	private GeneratePDF generatePDF;
-	@Autowired
-	private GenerateThumbs generateThumbs;
-	@Autowired
-	private GenerateImage generateImage;
-	@Autowired
 	private FileProcessor fileProcessor;
 	@Autowired
 	private FileExplorerItemDao fileExplorerItemDao;
 
-	private String filesString[] = null;
-	
     @RequestMapping(value = "/file.upload", method = RequestMethod.POST)
     public void handleFileUpload(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws ServletException {
     	UploadInfo info = validate(request, false);
@@ -156,204 +130,8 @@ public class UploadController extends Ab
 		msg.setFileHash(fileExplorerItem.getHash());
 	}
     
-    @RequestMapping(value = "/upload.upload", method = RequestMethod.POST)
-    public void handleFormUpload(HttpServletRequest request, HttpServletResponse response) throws ServletException {
-		try {
-	    	UploadInfo info = validate(request, false);
-	    	
-			String room_id = request.getParameter("room_id");
-			if (room_id == null) {
-				room_id = "default";
-			}
-			String roomName = StringUtils.deleteWhitespace(room_id);
-	
-			String moduleName = request.getParameter("moduleName");
-			if (moduleName == null) {
-				moduleName = "nomodule";
-			}
-			if (moduleName.equals("nomodule")) {
-				log.debug("module name missed");
-				return;
-			}
-			boolean userProfile = moduleName.equals("userprofile");
-	
-			MultipartFile multipartFile = info.file;
-			InputStream is = multipartFile.getInputStream();
-			String fileSystemName = info.filename;
-			fileSystemName = StringUtils.deleteWhitespace(fileSystemName);
-	
-			UploadCompleteMessage uploadCompleteMessage = new UploadCompleteMessage();
-	    	uploadCompleteMessage.setUserId(info.userId);
-			
-			// Flash cannot read the response of an upload
-			// httpServletResponse.getWriter().print(returnError);
-			uploadFile(request, userProfile, info.userId, roomName, is, fileSystemName, uploadCompleteMessage);
-			sendMessage(info, uploadCompleteMessage);
-		} catch (ServletException e) {
-			throw e;
-		} catch (Exception e) {
-			log.error("Exception during upload: ", e);
-			throw new ServletException(e);
-		}
-    }
-
-    
     private void sendMessage(UploadInfo info, UploadCompleteMessage uploadCompleteMessage) {
 		scopeApplicationAdapter.sendUploadCompletMessageByPublicSID(
 				uploadCompleteMessage, info.publicSID);
     }
-    
-	private void uploadFile(HttpServletRequest request, boolean userProfile, Long userId, String roomName,
-			InputStream is, String fileSystemName, UploadCompleteMessage uploadCompleteMessage)
-			throws Exception {
-		ConverterProcessResultList returnError = new ConverterProcessResultList();
-
-		// Check variable to see if this file is a presentation
-		int dotidx = fileSystemName.lastIndexOf('.');
-		String newFileName = StringComparer.getInstance().compareForRealPaths(
-				fileSystemName.substring(0, dotidx));
-		String newFileExtDot = fileSystemName.substring(dotidx,
-				fileSystemName.length()).toLowerCase();
-		String newFileExt = newFileExtDot.substring(1);
-
-		// trim long names cause cannot output that
-		final int MAX_FILE_NAME_LENGTH = 30;
-		if (newFileName.length() >= MAX_FILE_NAME_LENGTH) {
-			newFileName = newFileName.substring(0, MAX_FILE_NAME_LENGTH);
-		}
-		StoredFile storedFile = new StoredFile(newFileName, newFileExt);
-
-		// check if this is a a file that can be converted by
-		// openoffice-service
-		boolean canBeConverted = storedFile.isConvertable();
-		boolean isPdf = storedFile.isPdf();
-		boolean isImage = storedFile.isImage();
-		boolean isAsIs = storedFile.isAsIs();
-
-		File workingDir = null;
-		// add outputfolders for profiles
-		if (userProfile) {
-			// User Profile Update
-			this.deleteUserProfileFilesStoreTemp(userId);
-			newFileName = "profile"; //set unified file name to avoid any problems with national characters
-			workingDir = OmFileHelper.getUploadProfilesUserDir(userId);
-		}
-		// if it is a presenation it will be copied to another
-		// place
-		if (isAsIs) {
-			// check if this is a room file or UserProfile
-			if (!userProfile) {
-				workingDir = OmFileHelper.getUploadRoomDir(roomName);
-			}
-		} else if (canBeConverted || isPdf || isImage) {
-			workingDir = OmFileHelper.getUploadTempProfilesUserDir(userId);
-		} else {
-			return;
-		}
-
-		File completeName = OmFileHelper.getNewFile(workingDir, newFileName, newFileExtDot);
-
-		log.debug("write file to : " + completeName);
-
-		FileHelper.copy(is, completeName);
-		is.close();
-
-		log.debug("canBeConverted: " + canBeConverted);
-		if (canBeConverted) {
-			// convert to pdf, thumbs, swf and xml-description
-			returnError = generatePDF.convertPDF(newFileName, roomName, true, completeName);
-		} else if (isPdf) {
-			
-			boolean isEncrypted = true; 
-			
-			log.debug("isEncrypted :: " + isEncrypted);
-
-			if (isEncrypted) {
-				// Do convert pdf to other pdf first
-				File f_old = completeName;
-
-				completeName = OmFileHelper.appendSuffix(completeName, "_N_E");
-				newFileName += "_N_E";
-
-				generateThumbs.decodePDF(f_old.getCanonicalPath(), completeName.getCanonicalPath());
-
-				if (f_old.exists()) {
-					f_old.delete();
-				}
-
-			}
-
-			// convert to thumbs, swf and xml-description
-			returnError = generatePDF.convertPDF(newFileName, roomName, false, completeName);
-
-			// returnError.put("decodePDF", returnError2);
-
-		} else if (isImage && !isAsIs) {
-
-			log.debug("##### isImage! userProfilePic: " + userProfile);
-
-			if (userProfile) {
-				// convert it to JPG
-				returnError = generateImage.convertImageUserProfile(completeName, userId, true);
-			} else {
-				// convert it to JPG
-				log.debug("##### convert it to JPG: " + userProfile);
-				returnError = generateImage.convertImage(
-					newFileName, newFileExtDot, roomName, newFileName, false);
-			}
-		} else if (isAsIs) {
-			if (userProfile) {
-				// User Profile Update
-				this.deleteUserProfileFiles(userId);
-				// is UserProfile Picture
-				returnError.addItem("processThumb1", generateThumbs
-						.generateThumb(chatImagePrefix, completeName, 40));
-				returnError.addItem("processThumb2", generateThumbs
-						.generateThumb(profileImagePrefix, completeName, 126));
-				returnError.addItem("processThumb3", generateThumbs
-						.generateThumb(bigImagePrefix, completeName, 240));
-
-				String pictureuri = completeName.getName();
-				User us = usersDao.get(userId);
-				us.setUpdated(new java.util.Date());
-				us.setPictureuri(pictureuri);
-				usersDao.update(us, userId);
-
-				//FIXME: After updating the picture url all other users should refresh
-			} else {
-				returnError.addItem("processThumb", generateThumbs
-						.generateThumb(thumbImagePrefix, completeName, 50));
-			}
-		}
-
-		uploadCompleteMessage.setMessage("library");
-		uploadCompleteMessage.setAction("newFile");
-		
-		uploadCompleteMessage.setHasError(returnError.hasError());
-		
-		//we only send the complete log to the client if there is really something 
-		//to show because of an error
-		if (returnError.hasError()) {
-			uploadCompleteMessage.setError(returnError.getLogMessage());
-		}
-		uploadCompleteMessage.setFileName(completeName.getName());
-		
-	}
-
-	private void deleteUserProfileFilesStoreTemp(Long users_id) throws Exception {
-		File f = OmFileHelper.getUploadProfilesUserDir(users_id);
-		if (f.exists() && f.isDirectory()) {
-			this.filesString = f.list();
-		}
-	}
-
-	private void deleteUserProfileFiles(Long users_id) throws Exception {
-		File working_imgdir = OmFileHelper.getUploadProfilesUserDir(users_id);
-
-		for (int i = 0; i < this.filesString.length; i++) {
-			String fileName = filesString[i];
-			File subf = new File(working_imgdir, fileName);
-			subf.delete();
-		}
-	}
 }

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 2015
@@ -18,6 +18,8 @@
  */
 package org.apache.openmeetings.db.dao.file;
 
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
+
 import java.util.Date;
 import java.util.List;
 
@@ -28,9 +30,6 @@ import javax.persistence.TypedQuery;
 
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem.Type;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.transaction.annotation.Transactional;
@@ -226,44 +225,46 @@ public class FileExplorerItemDao {
 		return f;
 	}
 
+	private void updateChilds(FileExplorerItem f) {
+		for (FileExplorerItem child : getByParent(f.getId())) {
+			child.setOwnerId(f.getOwnerId());
+			child.setRoomId(f.getRoomId());
+			update(child);
+			if (Type.Folder == f.getType()) {
+				updateChilds(child);
+			}
+		}
+	}
+
 	/**
-	 * @param fileId
+	 * @param id
 	 * @param newParentFileExplorerItemId
 	 * @param isOwner
 	 */
-	public void moveFile(Long fileId, Long parentId, Long roomId, Boolean isOwner, Long ownerId) {
-		log.debug(".moveFile() started");
-		try {
+	public FileExplorerItem move(long id, long parentId, long ownerId, long roomId) {
+		log.debug(".move() started");
 
-			FileExplorerItem fId = get(fileId);
-
-			fId.setParentId(parentId);
-
-			if (parentId == 0) {
-				if (isOwner) {
-					// move to personal Folder
-					fId.setOwnerId(ownerId);
-				} else {
-					// move to public room folder
-					fId.setOwnerId(null);
-					fId.setRoomId(roomId);
-				}
-			} else {
-				fId.setOwnerId(null);
-			}
-
-			fId.setUpdated(new Date());
+		FileExplorerItem f = get(id);
 
-			if (fId.getId() == null) {
-				em.persist(fId);
+		if (parentId < 0) {
+			if (parentId == -1) {
+				// move to personal Folder
+				f.setOwnerId(ownerId);
+				f.setRoomId(null);
 			} else {
-				if (!em.contains(fId)) {
-					em.merge(fId);
-				}
+				// move to public room folder
+				f.setOwnerId(null);
+				f.setRoomId(roomId);
 			}
-		} catch (Exception ex2) {
-			log.error("[updateFileOrFolderName]: ", ex2);
+			f.setParentId(null);
+		} else {
+			f.setParentId(parentId);
+			f.setOwnerId(null);
 		}
+		if (Type.Folder == f.getType()) {
+			updateChilds(f);
+		}
+		return update(f);
 	}
 
 }

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omImage.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omImage.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omImage.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omImage.lzx Mon Nov 30 02:09:18 2015
@@ -21,39 +21,13 @@
 <library>
 
 <class name="omImage" extends="image">
-	<switch>
-		<when property="$as3">
-			<passthrough>
-				import flash.net.*;
-				import flash.display.*;
-			</passthrough>
-		</when>
-	</switch>
-
 	<handler name="onsrc" method="loadOmSrc" />
 	<handler name="oninit" method="loadOmImage" />
 
 	<method name="loadOmImage" args="ignore">
 	<![CDATA[
 		if (this.src != '' && this.src != null) {
-			this.sprite.resource = this.src;
-			if (! this.sprite.imgLoader) {
-				if (this.sprite.resourceContainer) {
-					// unload previous internal image-resource
-					this.sprite.unload();
-				}
-				this.sprite.imgLoader = new Loader();
-				this.sprite.imgLoader.mouseEnabled = false;// @devnote: see LPP-7022
-				this.sprite.imgLoader.mouseChildren = false;
-				this.sprite.resourceContainer = this.sprite.imgLoader;
-				this.sprite.addChild(this.sprite.imgLoader);
-			}
-			var res:Loader = this.sprite.imgLoader;
-			if (res) {
-				res.scaleX = res.scaleY = 1.0;
-			}
-			
-			this.sprite.imgLoader.load(new URLRequest(this.src), LzSprite.loaderContext);
+			canvas.loadImgBySrc(this, this.src);
 		}
 	]]>
 	</method>
@@ -62,7 +36,7 @@
 	<![CDATA[
 		//if ($debug) Debug.write("omImage::loadOmSrc src  ", src);
 		if (src != null) {
-			this.setSource( src );
+			this.setSource(src);
 			loadOmImage(null);
 		}
 	]]>

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omMiniIcon.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omMiniIcon.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omMiniIcon.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/omMiniIcon.lzx Mon Nov 30 02:09:18 2015
@@ -21,36 +21,10 @@
 <library>
 
 <class name="omMiniIcon" extends="view" width="22" height="22">
-	<switch>
-		<when property="$as3">
-			<passthrough>
-				import flash.net.*;
-				import flash.display.*;
-			</passthrough>
-		</when>
-	</switch>
-
 	<attribute name="imgUrl" value="" type="string" />
 	
 	<handler name="oninit">
-		this.sprite.resource = imgUrl;
-		if (! this.sprite.imgLoader) {
-			if (this.sprite.resourceContainer) {
-				// unload previous internal image-resource
-				this.sprite.unload();
-			}
-			this.sprite.imgLoader = new Loader();
-			this.sprite.imgLoader.mouseEnabled = false;// @devnote: see LPP-7022
-			this.sprite.imgLoader.mouseChildren = false;
-			this.sprite.resourceContainer = this.sprite.imgLoader;
-			this.sprite.addChild(this.sprite.imgLoader);
-		}
-		var res:Loader = this.sprite.imgLoader;
-		if (res) {
-			//res.scaleX = res.scaleY = 1.0;
-		}
-		
-		this.sprite.imgLoader.load(new URLRequest(imgUrl), LzSprite.loaderContext);
+		canvas.loadImgBySrc(this, imgUrl);
 	</handler>
 </class>
 

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/library.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/library.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/library.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/library.lzx Mon Nov 30 02:09:18 2015
@@ -19,8 +19,5 @@
   
 -->
 <library>
-
-	<include href="fileUpload.lzx" />
 	<include href="uploadWindowExplorer.lzx" />
-	
 </library>

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/uploadWindowExplorer.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/uploadWindowExplorer.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/uploadWindowExplorer.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/upload/uploadWindowExplorer.lzx Mon Nov 30 02:09:18 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,270 +19,253 @@
   
 -->
 <library>
- 
- <class name="uploadWindowExplorer" extends="labelExplorerBox" labelid="304"
-    docking="true" closable="true" width="264" x="200" height="230">
-    
-    <handler name="oninit">
-    	lz.ModeManager.makeModal(this);
-        canvas.currentUploadWindow = this;
-        if (this.servletName != "file.upload") {
-        	this._loadToWhiteboard.destroy();
-        }
-    </handler>
-    
-    <handler name="onclose">
-    	lz.ModeManager.release(this);
-    </handler>
-    
-    <attribute name="winobj" value="null" />
-	<attribute name="sessionid" value="" type="string" />
-	<attribute name="isOwner" value="0" type="string" />
-	<attribute name="usersid" value="" type="string" />
-	<attribute name="singleslidesmodule_id" type="string" value="" />
-	<attribute name="fileExplorerRef" value="null" />
-	<attribute name="secondid" value="0" type="string" />
-	
-	<attribute name="servletName" value="upload.upload" type="string" />
-	<attribute name="parentFolderId" value="0" type="number" />
-    
-    <attribute name="uploadmodule" value="videoconf1" type="string" />
-    
-    <attribute name="isOnlyImage" value="false" type="boolean" />
-    <attribute name="isOnlyPpt" value="false" type="boolean" />
-    <attribute name="isOnlyProfile" value="false" type="boolean" />
-    <attribute name="isOnlyXml" value="false" type="boolean" />
-    <attribute name="isOnlyZip" value="false" type="boolean" />
-    
-    <attribute name="isdefaultreturn" value="true" type="boolean" />
-    <attribute name="returnObj" value="true" type="boolean" />
-    
- 	<fileUpload name="myFileUpload" isOnlyImage="${ this.parent.isOnlyImage }" 
- 		 isOnlyPpt="${ this.parent.isOnlyPpt }" isOnlyProfile="${ this.parent.isOnlyProfile }" 
- 		 isOnlyXml="${ this.parent.isOnlyXml }" isOnlyZip="${ this.parent.isOnlyZip }">
-		<method name="onComplete" args="fr">
-            if ($debug) Debug.write("oncomplete ",fr);
-        </method>
-        <method name="formatURL" args="fileHash">
-            <![CDATA[
-                var uploadmoduleimgfolderVar = '/' + fileHash;
-                var downloadurl = canvas.getUrl()+'DownloadHandler?' +
-                    'fileName=' + encodeURIComponent(fileHash + ".swf") +
-                    '&moduleName=' + 'videoconf1' + 
-                    '&parentPath=' + encodeURIComponent(uploadmoduleimgfolderVar + '/' )+
-                    '&room_id=files'+ 
-                    '&sid='+canvas.sessionId;
-                ////if ($debug) Debug.write("downloadurl: ",downloadurl);
-                return downloadurl;
-            ]]>
-        </method> 
-        
-        <method name="generateFileLink" args="fileHash">
-            <![CDATA[
-                return canvas.getUrl()+'DownloadHandler?' +
-                        'fileName='+ fileHash + 
-                        '&moduleName='+ "videoconf1" +
-                        '&parentPath='+ '/' +
-                        '&room_id=files' +
-                        '&sid='+canvas.sessionId;
-            ]]>
-        </method>
-    
-        <method name="onCompleteByRemote" args="tArrayValueObj">
-            
-            if ($debug) Debug.write("onCompleteByRemote ",tArrayValueObj);
-            this.parent.progressBar.setValue(100);
-            this.parent.upload.setAttribute('enabled', false);
-            this.parent.upload.setAttribute("visible",false);
-            this.parent.browse.setAttribute("visible",false);
-            this.parent.txtFile.setAttribute("visible",false);
-            
-            if (this.isOnlyZip) {
-            	this.parent.close();
-            	return;
-            }
-            
-            if (this.isOnlyXml) {
-            	parent.returnObj.sendRefresh();
-            	this.parent.close();
-            	return;
-            }
-            
-            if (this.isOnlyProfile) {
-            	parent.returnObj.sendRefresh();
-            	this.parent.close();
-            	return;
-            }
-            
-            if (parent._loadToWhiteboard.getValue()) {
-            	
-            	if ($debug) Debug.write(tArrayValueObj);
-            	if (tArrayValueObj.isPresentation) {
-            		var url = this.formatURL(tArrayValueObj.fileHash);
-            		
-            		var uploadmoduleimgfolderVar = '/' + tArrayValueObj.fileHash;
-            		
-            		if ($debug) Debug.write(url);
-            		
-                	canvas._drawarea.loadSWFPresentationSynced(url,tArrayValueObj.fileHash + ".swf",
-                              "videoconf1",uploadmoduleimgfolderVar,"files",hib.conferencedomain,1,
-                              tArrayValueObj.fileSystemName);
-            	} else if (tArrayValueObj.isImage) {
-            		canvas._drawarea.parent.parent.clearAreaAndAddImage(this.generateFileLink(tArrayValueObj.fileHash),0,0,
-                      canvas.getUrl() +'DownloadHandler',
-                      tArrayValueObj.fileHash,"videoconf1","/","files",hib.conferencedomain);
-            	}
-            }
-            
-            if (parent.isdefaultreturn) {
-            	
-                var tempSendArray = new Array ();
-                tempSendArray[0] = 'fileslist';
-                var nowTime = new Date();
-                var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
-                tempSendArray[1] = datumsString;
-                //if ($debug) Debug.write("Setting Message");
-                tempSendArray[2] = 'newfile';
-                tempSendArray[3] = canvas.currentusename;
-                //if ($debug) Debug.write("send: ",tempSendArray);
-                canvas.objMessage = tempSendArray;
-                canvas.thishib.sendMessageAll.doCall();
+	<class name="uploadWindowExplorer" extends="labelExplorerBox" labelid="304" docking="true" closable="true" width="264" x="200" height="230">
+		<switch>
+			<when property="$as3">
+				<passthrough>
+					import flash.events.*;
+					import flash.net.*;
+				</passthrough>
+			</when>
+		</switch>
+		<attribute name="fileReference" value="null" />
+		
+		<handler name="oninit">
+			lz.ModeManager.makeModal(this);
+			canvas.currentUploadWindow = this;
+			if (!fileReference) {
+				fileReference = new FileReference();
+				fileReference.addEventListener(Event.CANCEL, cancelHandler);
+				fileReference.addEventListener(Event.COMPLETE, completeHandler);
+				fileReference.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
+				fileReference.addEventListener(Event.OPEN, openHandler);
+				fileReference.addEventListener(ProgressEvent.PROGRESS, progressHandler);
+				fileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorHandler);
+				fileReference.addEventListener(Event.SELECT, selectHandler);
+			}
+		</handler>
+		
+		<handler name="onclose">
+			lz.ModeManager.release(this);
+		</handler>
+		
+		<method name="remoteComplete" args="tArrayValueObj">
+			
+			if ($debug) Debug.write("onCompleteByRemote ",tArrayValueObj);
+			this.parent.progressBar.setValue(100);
+			this.parent.upload.setAttribute('enabled', false);
+			this.parent.upload.setAttribute("visible",false);
+			this.parent.browse.setAttribute("visible",false);
+			this.parent.txtFile.setAttribute("visible",false);
+			
+			if (this.isOnlyZip) {
+				this.parent.close();
+				return;
+			}
+			
+			if (this.isOnlyXml) {
+				parent.returnObj.sendRefresh();
+				this.parent.close();
+				return;
+			}
+			
+			if (this.isOnlyProfile) {
+				parent.returnObj.sendRefresh();
+				this.parent.close();
+				return;
+			}
+			
+			if (parent._loadToWhiteboard.getValue()) {
+				
+				if ($debug) Debug.write(tArrayValueObj);
+				if (tArrayValueObj.isPresentation) {
+					var url = this.formatURL(tArrayValueObj.fileHash);
+					
+					var uploadmoduleimgfolderVar = '/' + tArrayValueObj.fileHash;
+					
+					if ($debug) Debug.write(url);
+					
+					canvas._drawarea.loadSWFPresentationSynced(url,tArrayValueObj.fileHash + ".swf",
+							  "videoconf1",uploadmoduleimgfolderVar,"files",hib.conferencedomain,1,
+							  tArrayValueObj.fileSystemName);
+				} else if (tArrayValueObj.isImage) {
+					canvas._drawarea.parent.parent.clearAreaAndAddImage(this.generateFileLink(tArrayValueObj.fileHash),0,0,
+					  canvas.getUrl() +'DownloadHandler',
+					  tArrayValueObj.fileHash,"videoconf1","/","files",hib.conferencedomain);
+				}
+			}
+			
+			if (parent.isdefaultreturn) {
+				
+				var tempSendArray = new Array ();
+				tempSendArray[0] = 'fileslist';
+				var nowTime = new Date();
+				var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
+				tempSendArray[1] = datumsString;
+				//if ($debug) Debug.write("Setting Message");
+				tempSendArray[2] = 'newfile';
+				tempSendArray[3] = canvas.currentusename;
+				//if ($debug) Debug.write("send: ",tempSendArray);
+				canvas.objMessage = tempSendArray;
+				canvas.thishib.sendMessageAll.doCall();
 
-            } else {
-                parent.returnObj.sendRefresh();
-            }
-            
-            if (parent.fileExplorerRef != null) {
-            	parent.fileExplorerRef.onClose.sendEvent();
-            }
-            
-            parent.close();
-        </method>
+			} else {
+				parent.returnObj.sendRefresh();
+			}
+			
+			if (parent.fileExplorerRef != null) {
+				parent.fileExplorerRef.onClose.sendEvent();
+			}
+			
+			parent.close();
+		</method>
 
-		<method name="onProgress" args="fr, bytesLoaded, bytesTotal">
-			<![CDATA[
-    			this.parent.progressBar.setValue(bytesLoaded * 100 / bytesTotal);
-    			if (Math.round(bytesLoaded * 100 / bytesTotal)==100){
-    				this.parent.progressBar.setAttribute('visibility','hidden');
-    				this.parent.progress2.startShowing();
-    			}
-    		]]>
+		<method name="cancelHandler" args="evt">
+		<![CDATA[
+			if ($debug) Debug.write('cancelHandler invoked', evt);
+		]]>
 		</method>
-    
-	    <method name="onHTTPError" args="fr, httpError">
-	        <![CDATA[
-	            if ($debug) Debug.write('onHTTPError invoked: ' + httpError);
-	            new lz.errorPopup(canvas,{error:'HTTP-ERROR: '+httpError});
-	            this.parent.close();
-		  		var tempSendArray = new Array ();
-		  		tempSendArray[0] = 'fileslist';
-		  		var nowTime = new Date();
-		  		var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
-		  		tempSendArray[1] = datumsString;
-	  			//if ($debug) Debug.write("Setting Message");
-	  			tempSendArray[2] = 'newfile';
-	  			tempSendArray[3] = canvas.currentusename;
-		  		//if ($debug) Debug.write("send: ",tempSendArray);
-		  		canvas.objMessage = tempSendArray;
-		  		hib.sendMessage.doCall();	            
-	        ]]>
-	    </method>
-    
-		<method name="onSelect" args="fr">
-			//if ($debug) Debug.write("onSelect: ",getName());
-			this.parent.txtFile.setAttribute('text',getName());
-			this.parent.upload.setAttribute('enabled', true);
+		
+		<method name="completeHandler" args="evt">
+		<![CDATA[
+			if ($debug) Debug.write('completeHandler invoked', evt);
+			this.upload.setAttribute('enabled', true);
+		]]>
+		</method>
+		
+		<method name="openHandler" args="evt">
+		<![CDATA[
+			if ($debug) Debug.write('openHandler invoked', evt);
+		]]>
+		</method>
+		
+		<method name="progressHandler" args="evt">
+		<![CDATA[
+			var file:FileReference = FileReference(evt.target);
+            if ($debug) Debug.write("progressHandler name=" + file.name + " bytesLoaded=" + evt.bytesLoaded + " bytesTotal=" + evt.bytesTotal);
+            var val = evt.bytesLoaded * 100 / evt.bytesTotal;
+			this.progressBar.setValue(val);
+		]]>
 		</method>
-	</fileUpload>
-    
-    <labelText x="10" width="250" y="24" multiline="true" name="txtFileDescr" labelid="594" />
 	
-	<labelText x="10" fontsize="11" y="60" width="250" name="txtFile" multiline="true" 
-			   resize="false" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
-
-	<simpleLabelButton fontsize="11" name="browse" x="10" y="100" labelid="596" width="250" height="20">
-		<handler name="onclick">
-			parent.myFileUpload.browse();
-		</handler>
-	</simpleLabelButton>
-
-    <!-- moduleName=videoconf1'; -->
-	<simpleLabelButton name="upload" x="10" y="120" labelid="593" width="250" enabled="false" height="20">
-		<handler name="onclick">
+		<method name="errorHandler" args="evt">
 			<![CDATA[
-			var uploadurl = canvas.getUrl() + parent.servletName +'?' +
-					'moduleName='+this.parent.uploadmodule +
-                    '&publicSID='+canvas.publicSID +
-                    '&filename='+encodeURIComponent(parent.txtFile.text) +
-                    '&parentFolderId='+parent.parentFolderId +
-					'&room_id='+hib.currentroomid +
-					'&secondid='+parent.secondid +
-					'&isOwner='+parent.isOwner + 
-					'&sid='+canvas.sessionId;
-            if ($debug) Debug.write("uploadurl: ",uploadurl);
-			parent.myFileUpload.upload(uploadurl);
-			this.setAttribute("enabled", false);
-			]]>
-		</handler>
-	</simpleLabelButton>
-    
-    <view name="progress2" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
-        <attribute name="isStarted" value="false" type="boolean" />
-        <method name="startShowing">
-        	if (!this.isStarted) {
-        		this.isStarted = true;
-        		this.status._hide.setAttribute('started', true);
-        		this.setAttribute("visibility","visible");
-        	} else {
-        		return;
-        	}
-        </method>
-        <view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
-        <view name="status" x="1" y="1" height="8" width="248" bgcolor="#D6DEEF">
-        	
-        	<animator name="_hide" attribute="opacity" to="0" from="1" duration="1000" started="false">
-        		<handler name="onstop">
-        			if (parent["_show"]) {
-        				parent._show.setAttribute('started', true);
-        			}
-        		</handler>
-        	</animator>
-        	<animator name="_show" attribute="opacity" to="1" from="0" duration="1000" started="false">
-                <handler name="onstop">
-                	if (parent["_show"]) {
-                    	parent._show.setAttribute('started', true);
-                    }
-                </handler>
-            </animator>
-        </view>
-        <labelText name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
-            fontsize="10" fgcolor="#555555" labelid="592"/>
-    </view>
-    		   
-	<view name="progressBar" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
-		<view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
-		<view name="status" x="1" y="1" height="8" bgcolor="#D6DEEF"/>
-		<method name="setValue" args="value">
-			<![CDATA[
-                this.setAttribute("visible",true);
-                status.setAttribute('width', value * 248 / 100);
-                percent.setAttribute('text',Math.round(value) + '%');
+				if ($debug) Debug.write('errorHandler invoked: ', evt);
+				new lz.errorPopup(canvas, {error: 'HTTP-ERROR: ' + evt});
+				this.close();
+		  		var now = new Date();
+		  		var datumsString = now.getHours() + ':' + now.getMinutes();
+		  		var msg = ['fileslist', now.getHours() + ':' + now.getMinutes(), 'newfile', canvas.currentuser];
+		  		//if ($debug) Debug.write("send: ", msg);
+		  		canvas.objMessage = msg;
+		  		canvas.thishib.sendMessage.doCall();
 			]]>
 		</method>
-		<text name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
-			fontsize="10" fgcolor="#555555" />
-	</view>
 	
-	<labelCheckbox name="_loadToWhiteboard" x="4" y="184" fontsize="11" 
-		labelid="1312" value="${ canvas.whiteboardCount &gt; 0 }" enabled="${ canvas.whiteboardCount &gt; 0 }" />
+		<method name="selectHandler" args="evt">
+            if ($debug) Debug.write("selectHandler: name=" + fileReference.name);
+            fileReference.load();
+			this.txtFile.setAttribute('text', fileReference.name);
+			this.progressBar.setAttribute('visible', true);
+		</method>
+		
+		<labelText x="10" width="250" y="24" multiline="true" name="txtFileDescr" labelid="594" />
+		
+		<labelText x="10" fontsize="11" y="60" width="250" name="txtFile" multiline="true" 
+				   resize="false" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
 	
-	<simpleLabelButton name="_close" x="100" y="204" labelid="595" width="160" height="20">
-		<handler name="onclick">
-			if ($debug) Debug.write("this.parent: ",this.parent);
-			this.parent.close();
-		</handler>
-	</simpleLabelButton>
-</class>
+		<simpleLabelButton fontsize="11" name="browse" x="10" y="100" labelid="596" width="250" height="20">
+			<switch>
+				<when property="$as3">
+					<passthrough>
+						import flash.net.FileFilter;
+					</passthrough>
+				</when>
+			</switch>
+			<handler name="onclick">
+				var zipExt = "*.zip"
+					, profileExt = "*.psd;*.tiff;*.bmp;*.svg;*.dpx;*.exr;*.jpg;*.jpeg;*.gif;*.png"
+					, pptExt = "*.ppt;*.odp;"
+					, docExt = pptExt + ";*.txt;*.pptx;*.odt;*.wpd;*.doc;*.docx;*.rtf;*.ods;*.sxc;*.xls;*.xlsx;*.sxi;*.pdf"
+					, vidExt = "*.avi;*.mov;*.flv;*.mp4"
+					, imgExt = profileExt + ";*.tga;*.xcf;*.wpg;*.ico;*.ttf;*.pcd;*.pcds;*.ps"
+					, allExt = docExt + ";" + vidExt + ";" + imgExt;
+	
+				parent.fileReference.browse([
+					new FileFilter("Allowed Files", allExt)
+					, new FileFilter("Documents", docExt)
+					, new FileFilter("Videos", vidExt)
+					, new FileFilter("Pictures", imgExt)
+				]);
+			</handler>
+		</simpleLabelButton>
 	
+		<!-- moduleName=videoconf1'; -->
+		<simpleLabelButton name="upload" x="10" y="120" labelid="593" width="250" enabled="false" height="20">
+			<handler name="onclick">
+			<![CDATA[
+				//canvas.currentFileExplorer.createFile(parent.fileReference.name, parent.fileReference.data, this, /*FIXME TODO fileObj*/);
+				//FIXME TODO canvas.currentFileExplorer
+				if ($debug) Debug.write("bytes???: ", parent.fileReference.data, canvas.currentFileExplorer.getSelectedFolder(), canvas.currentFileExplorer);
+			]]>
+			</handler>
+		</simpleLabelButton>
+		
+		<view name="progress2" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
+			<attribute name="isStarted" value="false" type="boolean" />
+			<method name="startShowing">
+				if (!this.isStarted) {
+					this.isStarted = true;
+					this.status._hide.setAttribute('started', true);
+					this.setAttribute("visibility","visible");
+				} else {
+					return;
+				}
+			</method>
+			<view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
+			<view name="status" x="1" y="1" height="8" width="248" bgcolor="#D6DEEF">
+				
+				<animator name="_hide" attribute="opacity" to="0" from="1" duration="1000" started="false">
+					<handler name="onstop">
+						if (parent["_show"]) {
+							parent._show.setAttribute('started', true);
+						}
+					</handler>
+				</animator>
+				<animator name="_show" attribute="opacity" to="1" from="0" duration="1000" started="false">
+					<handler name="onstop">
+						if (parent["_show"]) {
+							parent._show.setAttribute('started', true);
+						}
+					</handler>
+				</animator>
+			</view>
+			<labelText name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
+				fontsize="10" fgcolor="#555555" labelid="592"/>
+		</view>
+				   
+		<view name="progressBar" x="10" y="158" width="250" visibility="hidden" height="10" bgcolor="#C6CEDF">
+			<view x="1" y="1" width="248" height="8" bgcolor="#FFFFFF"/>
+			<view name="status" x="1" y="1" height="8" bgcolor="#D6DEEF"/>
+			<method name="setValue" args="value">
+				<![CDATA[
+					this.setAttribute("visible",true);
+					status.setAttribute('width', value * 248 / 100);
+					percent.setAttribute('text',Math.round(value) + '%');
+				]]>
+			</method>
+			<text name="percent" align="center" resize="true" y="-18" fontstyle="bold" 
+				fontsize="10" fgcolor="#555555" />
+		</view>
+		
+		<labelCheckbox name="_loadToWhiteboard" x="4" y="184" fontsize="11" 
+			labelid="1312" value="${ canvas.whiteboardCount &gt; 0 }" enabled="${ canvas.whiteboardCount &gt; 0 }" />
+		
+		<simpleLabelButton name="_close" x="100" y="204" labelid="595" width="160" height="20">
+			<handler name="onclick">
+				if ($debug) Debug.write("this.parent: ",this.parent);
+				this.parent.close();
+			</handler>
+		</simpleLabelButton>
+	</class>
 </library>
- 

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Mon Nov 30 02:09:18 2015
@@ -1474,7 +1474,7 @@
                     } else if (value.message=='library'){
                         
                         if (value.action == 'import') {
-                            canvas.currentUploadWindow.myFileUpload.onCompleteByRemote(value);
+                            canvas.currentUploadWindow.onCompleteByRemote(value);
                             return;
                         }
                         
@@ -1486,7 +1486,7 @@
                                 error = true;
                             }
                         }
-                        canvas.currentUploadWindow.myFileUpload.onCompleteByRemote(value);
+                        canvas.currentUploadWindow.onCompleteByRemote(value);
                         if (value.hasError) {
                             new lz.converterPopup(canvas.main_content._content.inner,{error:value.error});
                         }

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx Mon Nov 30 02:09:18 2015
@@ -243,7 +243,6 @@ the LAST RoomClient Object that has been
 <attribute name="_drawarea" value="null" /> 
 
 <!--- Username of current user -->
-<attribute name="currentusename" value="defaultname" type="string" />
 <attribute name="userId" value="0" type="number" />
 <attribute name="firstName" value="" type="string" />
 <attribute name="timeZoneId" value="0" type="number" />

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Mon Nov 30 02:09:18 2015
@@ -27,6 +27,8 @@
 			<passthrough>
 				import flash.external.ExternalInterface;
 				import flash.net.*;
+				import flash.net.*;
+				import flash.display.*;
 			</passthrough>
 		</when>
 	</switch>
@@ -451,14 +453,7 @@
                 } else if (stringSub=='checkPollVoted') {
                     ExternalInterface.call("vote");
                 } else if (stringSub=='importFile') {
-                    new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
-                            x:60,uploadmodule:canvas.uploadmoduleimg,
-                            parentFolderId:0,
-                            isOwner:false,
-                            fileExplorerRef:null,
-                            isOnlyImage:true,
-                            servletName:'file.upload'
-                        });
+                    new lz.uploadWindowExplorer(canvas.main_content._content.inner, {x:60});
                 } else if (stringSub=='applyForMod') {
                     if ($debug) Debug.info("Apply For Mod through doActionmenu");
                     //new lz.applyForModeration(canvas.main_content._content.inner);
@@ -823,4 +818,25 @@
 	<method name="isRemoteUser" args="">
 		return canvas.isinitRoomDirect || canvas.remoteUserLogin || canvas.directUserLogin || canvas.secureRemoteUserLogin;
 	</method>
+	
+	<method name="loadImgBySrc" args="cmp, imgUrl">
+		cmp.sprite.resource = this.src;
+		if (!cmp.sprite.imgLoader) {
+			if (cmp.sprite.resourceContainer) {
+				// unload previous internal image-resource
+				cmp.sprite.unload();
+			}
+			cmp.sprite.imgLoader = new Loader();
+			cmp.sprite.imgLoader.mouseEnabled = false;// @devnote: see LPP-7022
+			cmp.sprite.imgLoader.mouseChildren = false;
+			cmp.sprite.resourceContainer = cmp.sprite.imgLoader;
+			cmp.sprite.addChild(cmp.sprite.imgLoader);
+		}
+		var res:Loader = cmp.sprite.imgLoader;
+		if (res) {
+			res.scaleX = res.scaleY = 1.0;
+		}
+		
+		cmp.sprite.imgLoader.load(new URLRequest(imgUrl), LzSprite.loaderContext);
+	</method>
 </library>

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 2015
@@ -21,15 +21,17 @@
 <library>
 
 <class name="dragItemFileExplorer" extends="view">
-	
+	<switch>
+		<when property="$as3">
+			<passthrough>
+				import flash.net.*;
+			</passthrough>
+		</when>
+	</switch>
 	<attribute name="refObj" value="null"/>
-	
 	<attribute name="dragItemResource" value="" type="string"/>
-	
 	<attribute name="overItem" value="null"/>
-	
 	<attribute name="alreadySent" value="false" type="boolean" />
-	
 	<attribute name="fileId" value="0" type="number" />
 	<attribute name="newParentFileExplorerItemId" value="0" type="number" />
     <attribute name="isOwner" value="false" type="boolean" />
@@ -153,30 +155,32 @@
     	}
     </method>
     
-    <method name="deleteFileOrFolder">
-        <![CDATA[
-            if ($debug) Debug.write("deleteFileOrFolder HTTP 2: ");
-            var downloadurl = canvas.getUrl()+'services/FileService/deleteFileOrFolderSelf?'
-                            +'SID='+canvas.sessionId
-                            +'&fileId='+this.fileId;
-            
-            this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
-            if ($debug) Debug.write("deleteFileOrFolderSelf doRequest ",downloadurl);
-            this.deleteFileOrFolderSelf.doRequest();
-        ]]>
-    </method>
-    
-    <dataset name="deleteFileOrFolderSelf" type="http" >
-        <handler name="ondata" args="d">
-            <![CDATA[
-                //if ($debug) Debug.write("ondata ",d);
-                if ($debug) Debug.write("deleteFileOrFolder: ",d);
-                parent.refObj.parent.parent.doOpen();
-                parent.destroy();
-            ]]>
-        </handler>
-    </dataset>
+	<method name="deleteFileOrFolder">
+	<![CDATA[
+		var deleteLoader = new RestCall({
+				url: canvas.getUrl() + 'services/file/' + this.fileId
+				, method: URLRequestMethod.POST
+				, hdrs: [new URLRequestHeader("X-HTTP-Method-Override", "DELETE")]
+				, errorCallback: deleteError
+				, successCallback: deleteComplete
+				});
+		deleteLoader.load('--dummy--');
+	]]>
+	</method>
+	
+	<method name="deleteComplete" args="event">
+		var o = JSON.parse(event.target.data);
+		if ($debug) Debug.info("drag::deleteComplete ", o);
+		//TODO check return code
+		this.refObj.parent.parent.doOpen();
+		this.destroy();
+	</method>
     
+	<method name="deleteError" args="event">
+		if ($debug) Debug.error("drag::deleteError ", event);
+		this.destroy();
+	</method>
+	
     <method name="moveFile">
         <![CDATA[
             if ($debug) Debug.write("moveFile HTTP 1: ");

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 2015
@@ -30,13 +30,12 @@
 	</switch>
 	
 	<attribute name="refObj" value="null" />
-	<attribute name="addFolderLoader"/>
 	
 	<handler name="onblur">
 		lz.ModeManager.release(this);
 		if ($debug) Debug.write("Store and Destroy ", this.refObj.parentId);
 		if (this.refObj.fileId == 0) {
-		    this.add();
+		    canvas.currentFileExplorer.createFile(this.text, null, this, this.refObj);
 		} else {
 			this.rename();
 		}
@@ -50,38 +49,19 @@
 	]]>
 	</handler>
 	
-	<method name="add">
+	<method name="rename">
 	<![CDATA[
-		if ($debug) Debug.write("addFolder:: ", this);
-		if (!addFolderLoader) {
-			addFolderLoader = new RestCall({
-				url: canvas.getUrl() + 'services/file/'
+		var moveLoader = new RestCall({
+				url: canvas.getUrl() + 'services/file/rename/' + this.refObj.fileId + '/' + this.text
 				, method: URLRequestMethod.POST
-				, dataFormat: URLLoaderDataFormat.BINARY
-				, contentType: "multipart/form-data; charset=utf-8; boundary=" + UploadPostHelper.getBoundary()
-				, errorCallback: addFolderError
-				, successCallback: addFolderComplete
+				, errorCallback: renameError
+				, successCallback: renameComplete
 				});
-		}
-		var vars = UploadPostHelper.getPostData(null, null, [
-			{
-				name: 'file'
-				, type: 'application/json'
-				, value: JSON.stringify({fileExplorerItemDTO: {
-					name: this.text
-					, parentId: this.refObj.parentId
-					, roomId: this.refObj.roomId
-					, ownerId: this.refObj.ownerId
-					, type: this.refObj.type
-					}})
-				}
-			]);
-		//if ($debug) Debug.write("addFolder:: ", vars);
-		addFolderLoader.load(vars);
+		moveLoader.load('--dummy--');
 	]]>
 	</method>
 
-	<method name="addFolderComplete" args="event">
+	<method name="createFileComplete" args="event">
 		var o = JSON.parse(event.target.data);
 		var f = o.fileExplorerItemDTO;
 		if ($debug) Debug.info("addFolderComplete ", event, o);
@@ -91,24 +71,12 @@
 		this.destroy();
 	</method>
 
-	<method name="addFolderError" args="event">
+	<method name="createFileError" args="event">
 		if ($debug) Debug.error("addFolderError ", event);
 		this.refObj.destroy();
 		this.destroy();
 	</method>
 	
-	<method name="rename">
-	<![CDATA[
-		var moveLoader = new RestCall({
-				url: canvas.getUrl() + 'services/file/rename/' + this.refObj.fileId + '/' + this.text
-				, method: URLRequestMethod.POST
-				, errorCallback: renameError
-				, successCallback: renameComplete
-				});
-		moveLoader.load(' ');
-	]]>
-	</method>
-
 	<method name="renameComplete" args="event">
 		this.refObj.setAttribute("fileName", this.text);
 		this.destroy();

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 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
@@ -22,7 +22,7 @@
 
 
 <!-- ###################
-    Class fileExplorer
+	Class fileExplorer
  -->
 <class name="fileExplorer" extends="view" >
 	<switch>
@@ -34,14 +34,16 @@
 	</switch>
 	<attribute name="_selected" value="null" />
 	<attribute name="rootFileLoader" />
-    
-    <event name="onClose"/>
-    
-    <handler name="oninit">
-    	canvas.currentFileExplorer = this;
-        lz.Track.register(this._trashBar._trashIcon, canvas.currentImagesListdraw.currentTrackGroupName);
-    </handler>
-    
+	<attribute name="createFileLoader"/>
+	<attribute name="createFileRefObj"/>
+	
+	<event name="onClose"/>
+	
+	<handler name="oninit">
+		canvas.currentFileExplorer = this;
+		lz.Track.register(this._trashBar._trashIcon, canvas.currentImagesListdraw.currentTrackGroupName);
+	</handler>
+	
 	<handler name="onvisible">
 		if ($debug) Debug.write("fileExplorer::onvisible this._selected ", this._selected);
 		//This is thrown whenever an uploaded Document has completed
@@ -51,111 +53,80 @@
 			this._selected.refresh();
 		}
 	</handler>
-    
-    <method name="selectItem" args="itemRef">
-        if (this._selected != null) {
-            this._selected.deselectItem();
-        }
-        
-        this._selected = itemRef;
-        this._selected.selectItem();
-        
-        //Set parent folder id for next Folder or uploaded file
-        if (this._selected.fileId == 0) {
-            if (this._selected.isOwner) {
-            }
-        } else {
-            this.parentFolderId = this._selected.fileId;
-        }
-        
-    </method>
-    
-    <method name="addFile">
-    	<![CDATA[
-	    	if ($debug) Debug.write("addFile :: ",this._selected);
-	    	
-	    	if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
-	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
-	    		return;
-	    	}
-	    	
-	    	var isOwner = 0;
-	    	if (this.parentFolderId == -2) {
-	    		isOwner = 1;
-	    	} else {
-	    		//Check if its a subfolder of a Owners Dir
-	    		if (this._selected != null) {
-	    			var checkForOwer = this._selected.checkForIsOwner();
-	    			if ($debug) Debug.write("checkForOwer ::",checkForOwer);
-	    			if (checkForOwer) {
-	    				isOwner = 1;
-	    			}
-	    		}
-	    	}
-	    	
-	    	if ($debug) Debug.write("addFile :: ",isOwner);
-	    	
-	        new lz.uploadWindowExplorer(canvas.main_content._content.inner,{
-	                            x:60,uploadmodule:canvas.uploadmoduleimg,
-	                            parentFolderId:this.parentFolderId,
-	                            isOwner:isOwner,
-	                            fileExplorerRef:this,
-	                            isOnlyImage:true,
-	                            servletName:'file.upload'
-	                        });
-        ]]>
-    </method>
-    
-    <method name="addFolder">
-    	<![CDATA[
-    		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
-	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
-	    		return;
-	    	}
-    
-	        if (this._selected == null) {
-	        	if ($debug) Debug.write("addFolder ::1 ",this._selected);
-	            this._filearea._contentarea.subviews[0].addFolder();
-	        } else {
-	            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->!Folder ", this._selected);
-	                this._selected.parent.parent.addFolder();
-	            }
-	        }
-	    ]]>
-    </method>
-    
-    <method name="loadWmlFile" args="itemObj">
+	
+	<method name="selectItem" args="itemRef">
+		if (this._selected != null) {
+			this._selected.deselectItem();
+		}
+		
+		this._selected = itemRef;
+		this._selected.selectItem(null);
+	</method>
+	
+	<method name="addFile">
+	<![CDATA[
+		if ($debug) Debug.write("addFile :: ", this._selected);
+		
+		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+			new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+			return;
+		}
+		
+		new lz.uploadWindowExplorer(canvas.main_content._content.inner, {x:60});
+	]]>
+	</method>
+	
+	<method name="getSelectedItem">
+		return this._selected ? this._selected : this._filearea._contentarea.subviews[0];
+	</method>
+	
+	<method name="getSelectedFolder">
+		var selF = getSelectedItem();
+		if (selF.type != 'Folder') {
+			if ($debug) Debug.write("-2 this._selected->!Folder ", selF);
+			selF = this._selected.parent.parent;
+		}
+		return selF;
+	</method>
+	
+	<method name="addFolder">
+	<![CDATA[
+		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+			new lz.labelerrorPopup(canvas,{errorlabelid:1462});
+			return;
+		}
+		getSelectedFolder().addFolder();
+	]]>
+	</method>
+	
+	<method name="loadWmlFile" args="itemObj">
 		this.selectItem(itemObj);
 		canvas._drawarea.prepareLoadWMLFile(itemObj); 
 		//canvas._drawarea.loadObjectList(itemObj); 
 	</method>
 
-    
-    <method name="loadDocument" args="itemObj">
-        this.selectItem(itemObj);
-        this._documentsTabs.setAttribute("height",20);
-        this._documentsTabs.setAttribute("visibility","visible");
-        this._documentsTabs.hideAll();
-        var t = new lz.presentationPreview(this,{
-                        documentObj:itemObj,
-                        refObjList:this
-                    });
-        //t.sendToBack();
-        //this._bg1.sendToBack();
-        //this._bg2.sendToBack();
-        this._documentsTabs.bringToFront();
-        return t;
-    </method>
-    
-    <method name="playVideo" args="itemObj">
-    	this.selectItem(itemObj);
-    	canvas._drawarea.playVideoSynced(itemObj.fileId,itemObj.fileName,itemObj.flvWidth,itemObj.flvHeight);
-    </method>
-    
+	
+	<method name="loadDocument" args="itemObj">
+		this.selectItem(itemObj);
+		this._documentsTabs.setAttribute("height",20);
+		this._documentsTabs.setAttribute("visibility","visible");
+		this._documentsTabs.hideAll();
+		var t = new lz.presentationPreview(this,{
+						documentObj:itemObj,
+						refObjList:this
+					});
+		//t.sendToBack();
+		//this._bg1.sendToBack();
+		//this._bg2.sendToBack();
+		this._documentsTabs.bringToFront();
+		return t;
+	</method>
+	
+	<method name="playVideo" args="itemObj">
+		this.selectItem(itemObj);
+		canvas._drawarea.playVideoSynced(itemObj.fileId,itemObj.fileName,itemObj.flvWidth,itemObj.flvHeight);
+	</method>
+	
 	<method name="loadFiles">
 	<![CDATA[
 		if (!rootFileLoader) {
@@ -175,7 +146,7 @@
 		if ($debug) Debug.info("loadFilesComplete ", o);
 		createRootItems(o.fileExplorerObject);
 	</method>
-    
+	
 	<method name="httpRequestError" args="event">
 		if ($debug) Debug.error("httpRequestError ", event);
 	</method>
@@ -184,7 +155,7 @@
 		var sizem = Math.round((size / 1024 / 1024) * 100) / 100;
 		el.setAttribute("text","" + sizem + " MBytes");
 	</method>
-	    
+		
 	<method name="createRootItems" args="roomObject">
 	<![CDATA[
 		this.clearContent();
@@ -234,114 +205,152 @@
 		}
 	]]>
 	</method>
-    
-    <!--
-        Borders
-     -->
-               
-    <view name="_border2" x="0" y="${ 33 + parent._documentsTabs.height }" width="$once{ parent.width }" 
-          height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />     
-    
-    <!--
-        Documents - Tabbar
-     --> 
-    <documentsTabBar name="_documentsTabs" y="14" width="$once{ parent.width }"
-                    visibility="hidden" />
-    	
-    
-    <!--
-        File Tree Content Tabbar
-     --> 
-     
-    <view name="_fileBar" layout="axis:x" x="0" y="${ 14 + parent._documentsTabs.height }">
-        <baseChooseIconView labelid="702" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
-                            resourceN="file_explorer_add_file_rsc">
-            <handler name="onclick">
-                if ($debug) Debug.write("Upload File");
-                parent.parent.addFile();
-            </handler>
-        </baseChooseIconView>
-        <baseChooseIconView labelid="703" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
-                            resourceN="file_explorer_add_folder_rsc" >
-            <handler name="onclick">
-                if ($debug) Debug.write("Add Folder");
-                parent.parent.addFolder();
-            </handler>
-        </baseChooseIconView>
-        <baseChooseIconView labelid="704" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
-                            resourceN="file_explorer_reload_rsc" >
-            <handler name="onclick">
-                if ($debug) Debug.write("Refresh Folder");
-                parent.parent.loadFiles();
-            </handler>
-        </baseChooseIconView>
-        <view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="20" width="1" />
-    </view>
-    
-    <!--
-        File Tree Content Trashbar
-     --> 
-     
-    <view name="_trashBar" layout="axis:x" x="$once{ parent.width - 20 }" 
-          y="${ 14 + parent._documentsTabs.height }">
-        <baseChooseIconView name="_trashIcon" labelid="705" height="20" width="19" 
-                         resourceN="file_explorer_trash_rsc" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
-            <attribute name="isTrashCan" value="true" type="boolean" />
-            <handler name="onclick">
-                if ($debug) Debug.write("Delete Folder and Files");
-            </handler>
-            <handler name="onmousetrackover">
-                //if ($debug) Debug.write("onmousetrackover");
-                canvas.currentImagesListdraw.currentDragItem.sendOverItem(this);
-                this.onmouseover.sendEvent();
-            </handler>
-            <handler name="onmousetrackout">
-                //if ($debug) Debug.write("onmousetrackout");
-                canvas.currentImagesListdraw.currentDragItem.sendOutItem(this);
-                this.onmouseout.sendEvent();
-            </handler>
-            <handler name="onmousetrackup">
-                if ($debug) Debug.write("onmousetrackup");
-                this.onmouseout.sendEvent();
-            </handler> 
-        </baseChooseIconView>
-        <view bgcolor="0xE0E0E0" height="20" width="1" />
-    </view>
-    
-    <!--
-        File Tree Content
-     --> 
-    
-    <view name="_filearea" x="1" y="${ 34 + parent._documentsTabs.height }" clip="true"
-          height="${ parent.height - 35 - parent._documentsTabs.height - parent._userSpace.height }" 
-          width="$once{ parent.width }">
-        
-        <attribute name="currentTrackGroupName" value="fileExplorer" type="string" />
-        
-        <attribute name="currentDragItem" value="null" />
-        
-        <handler name="oninit">
-            canvas.currentImagesListdraw = this;
-        </handler>
-        
-        <view name="_contentarea" layout="axis:y;inset:1" />
-        
-        <om_vscrollbar name="_scrollbar" />
-        <om_hscrollbar name="_hscrollbar" />
-    </view>
-    
-    <view name="_userSpace" height="40" valign="bottom" width="$once{ parent.width }">
-    	
-    	<labelText name="_userHomeSizeLabel" labelid="923" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
-    	
-    	<labelText name="_userHomeSize" align="right" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
-    	
-    	<labelText name="_roomHomeSizeLabel" labelid="924" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
-    	
-    	<labelText name="_roomHomeSize" align="right" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
-    	
-    </view>
-    
-</class>
+	
+	<method name="createFile" args="fileName, bytes, refObj, fileObj">
+	<![CDATA[
+		this.createFileRefObj = refObj;
+		if ($debug) Debug.write("createFile:: ", this);
+		if (!createFileLoader) {
+			createFileLoader = new RestCall({
+				url: canvas.getUrl() + 'services/file/'
+				, method: URLRequestMethod.POST
+				, dataFormat: URLLoaderDataFormat.BINARY
+				, contentType: "multipart/form-data; charset=utf-8; boundary=" + UploadPostHelper.getBoundary()
+				, errorCallback: createFileError
+				, successCallback: createFileComplete
+				});
+		}
+		var vars = UploadPostHelper.getPostData(bytes ? fileName : null, bytes, [
+			{
+				name: 'file'
+				, type: 'application/json'
+				, value: JSON.stringify({fileExplorerItemDTO: {
+					name: fileName
+					, parentId: fileObj.parentId
+					, roomId: fileObj.roomId
+					, ownerId: fileObj.ownerId
+					, type: fileObj.type
+					}})
+				}
+			]);
+		//if ($debug) Debug.write("createFileLoader:: ", vars);
+		createFileLoader.load(vars);
+	]]>
+	</method>
+
+	<method name="createFileComplete" args="event">
+		this.createFileRefObj.createFileComplete(event);
+	</method>
 
+	<method name="createFileError" args="event">
+		this.createFileRefObj.createFileError(event);
+	</method>
+	
+	<!--
+		Borders
+	 -->
+			   
+	<view name="_border2" x="0" y="${ 33 + parent._documentsTabs.height }" width="$once{ parent.width }" 
+		  height="1" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" />	 
+	
+	<!--
+		Documents - Tabbar
+	 --> 
+	<documentsTabBar name="_documentsTabs" y="14" width="$once{ parent.width }"
+					visibility="hidden" />
+		
+	
+	<!--
+		File Tree Content Tabbar
+	 --> 
+	 
+	<view name="_fileBar" layout="axis:x" x="0" y="${ 14 + parent._documentsTabs.height }">
+		<baseChooseIconView labelid="702" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+							resourceN="file_explorer_add_file_rsc">
+			<handler name="onclick">
+				if ($debug) Debug.write("Upload File");
+				parent.parent.addFile();
+			</handler>
+		</baseChooseIconView>
+		<baseChooseIconView labelid="703" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+							resourceN="file_explorer_add_folder_rsc" >
+			<handler name="onclick">
+				if ($debug) Debug.write("Add Folder");
+				parent.parent.addFolder();
+			</handler>
+		</baseChooseIconView>
+		<baseChooseIconView labelid="704" height="20" width="19" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }"
+							resourceN="file_explorer_reload_rsc" >
+			<handler name="onclick">
+				if ($debug) Debug.write("Refresh Folder");
+				parent.parent.loadFiles();
+			</handler>
+		</baseChooseIconView>
+		<view bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }" height="20" width="1" />
+	</view>
+	
+	<!--
+		File Tree Content Trashbar
+	 --> 
+	 
+	<view name="_trashBar" layout="axis:x" x="$once{ parent.width - 20 }" 
+		  y="${ 14 + parent._documentsTabs.height }">
+		<baseChooseIconView name="_trashIcon" labelid="705" height="20" width="19" 
+						 resourceN="file_explorer_trash_rsc" bgcolor="$once{ canvas.getThemeColor('secondBorderColor') }">
+			<attribute name="isTrashCan" value="true" type="boolean" />
+			<handler name="onclick">
+				if ($debug) Debug.write("Delete Folder and Files");
+			</handler>
+			<handler name="onmousetrackover">
+				//if ($debug) Debug.write("onmousetrackover");
+				canvas.currentImagesListdraw.currentDragItem.sendOverItem(this);
+				this.onmouseover.sendEvent();
+			</handler>
+			<handler name="onmousetrackout">
+				//if ($debug) Debug.write("onmousetrackout");
+				canvas.currentImagesListdraw.currentDragItem.sendOutItem(this);
+				this.onmouseout.sendEvent();
+			</handler>
+			<handler name="onmousetrackup">
+				if ($debug) Debug.write("onmousetrackup");
+				this.onmouseout.sendEvent();
+			</handler> 
+		</baseChooseIconView>
+		<view bgcolor="0xE0E0E0" height="20" width="1" />
+	</view>
+	
+	<!--
+		File Tree Content
+	 --> 
+	
+	<view name="_filearea" x="1" y="${ 34 + parent._documentsTabs.height }" clip="true"
+		  height="${ parent.height - 35 - parent._documentsTabs.height - parent._userSpace.height }" 
+		  width="$once{ parent.width }">
+		
+		<attribute name="currentTrackGroupName" value="fileExplorer" type="string" />
+		
+		<attribute name="currentDragItem" value="null" />
+		
+		<handler name="oninit">
+			canvas.currentImagesListdraw = this;
+		</handler>
+		
+		<view name="_contentarea" layout="axis:y;inset:1" />
+		
+		<om_vscrollbar name="_scrollbar" />
+		<om_hscrollbar name="_hscrollbar" />
+	</view>
+	
+	<view name="_userSpace" height="40" valign="bottom" width="$once{ parent.width }">
+		
+		<labelText name="_userHomeSizeLabel" labelid="923" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+		
+		<labelText name="_userHomeSize" align="right" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+		
+		<labelText name="_roomHomeSizeLabel" labelid="924" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+		
+		<labelText name="_roomHomeSize" align="right" y="20" fgcolor="$once{ canvas.getThemeColor('menuTextColor') }" />
+		
+	</view>
+</class>
 </library>

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/baseListPresentationItemExplorer.lzx Mon Nov 30 02:09:18 2015
@@ -57,7 +57,7 @@
     </handler>  
        
     <handler name="onfocus">
-        this.selectItem();
+        this.selectItem(null);
     </handler>
     <handler name="onblur">
         this.disselectItem();
@@ -67,13 +67,10 @@
         //Debug.write("key " + k + " up");
     </handler>
     
-    <method name="selectItem">
-        //this.parent.selectItem(this);
+    <method name="selectItem" args="none">
     </method>
     <method name="disselectItem">
-        //this.parent.selectItem(this);
     </method>
-    
 </class>
 
 </library>

Modified: openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx?rev=1717152&r1=1717151&r2=1717152&view=diff
==============================================================================
--- openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx (original)
+++ openmeetings/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/tabcontent/fileexplorer/presentations/items/imageListInnerTableExplorer.lzx Mon Nov 30 02:09:18 2015
@@ -27,32 +27,6 @@
     <view name="_listcontent" bgcolor="$once{ canvas.getThemeColor('basebgcolorizer') }" width="$once{ parent.width }" >
         <simplelayout name="_layout" axis="y" spacing="2" inset="1" />
         
-        <!--
-	  	<netRemoteCallHib name="deleteFile" funcname="fileservice.deleteFile" remotecontext="$once{ canvas.thishib }" >   
-			<netparam><method name="getValue"> return canvas.sessionId; </method></netparam>
-	  		<netparam><method name="getValue">return parent.String1;</method></netparam>
-        	<netparam><method name="getValue">return canvas.uploadmoduleimg;</method></netparam>
-			<netparam><method name="getValue">return parent.String2;</method></netparam>
-			<netparam><method name="getValue">return hib.currentroomid;</method></netparam>        	
-	        <handler name="ondata" args="value">	
-	        	//Debug.write("  deleteFile: ",value);  
-				//Debug.write("  deleteFile: ",this.String1);    
-				//Debug.write("  deleteFile: ",this.String2);   
-		  		var tempSendArray = new Array ();
-		  		tempSendArray[0] = 'fileslist';
-		  		var nowTime = new Date();
-		  		var datumsString = nowTime.getHours()+':'+nowTime.getMinutes();
-		  		tempSendArray[1] = datumsString;
-	  			//Debug.write("Setting Message");
-	  			tempSendArray[2] = 'newfile';
-	  			tempSendArray[3] = canvas.currentusename;
-		  		//Debug.write("send: ",tempSendArray);
-		  		canvas.objMessage = tempSendArray;
-		  		hib.sendMessage.doCall();         	          				
-	        </handler>	
-	  	</netRemoteCallHib> 
-	  	 -->	
-		
 		<method name="getconfirmationscode">
 			var g = canvas.getUserData();
 			 if (g["wmlfile"]==null) {

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 2015
@@ -47,11 +47,12 @@
 	<attribute name="mouseDownClickDelegate" value="null" />
 	<attribute name="isTrashCan" value="false" type="boolean" />
 	<attribute name="folderLoader" />
+	<attribute name="deleteLoader" />
 		
 	<handler name="oninit">
-		this.singleClickDelegate = new LzDelegate( this, "doSingleClick" );
-		this.resetClickDelegate = new LzDelegate( this, "doResetSingleClick" );
-		this.mouseDownClickDelegate = new LzDelegate( this, "doMouseDownClick" );
+		this.singleClickDelegate = new LzDelegate(this, "doSingleClick");
+		this.resetClickDelegate = new LzDelegate(this, "doResetSingleClick");
+		this.mouseDownClickDelegate = new LzDelegate(this, "doMouseDownClick");
 		if (this.type == 'Folder') {
 		    lz.Track.register(this._fileName, canvas.currentImagesListdraw.currentTrackGroupName);
 		}
@@ -76,22 +77,22 @@
 		}
 	</method>
 	
-    <method name="doMouseDownClick" args="itemObj">
-    	<![CDATA[
-			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
-	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
-	    		return;
-	    	}
-	    	this.mouseDownClickUsed = true;
-	    	if ($debug) Debug.write("mouseDown CLICK Start Drag And Drop");
-	    	new lz.dragItemFileExplorer(canvas,{
-	    		        dragItemResource:this.fileIcon,
-	            	    refObj:this,
-	                    x:canvas.getMouse('x'),
-	                    y:canvas.getMouse('y')
-	            	});
-        ]]>
-    </method>
+	<method name="doMouseDownClick" args="itemObj">
+	<![CDATA[
+		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+			new lz.labelerrorPopup(canvas, {errorlabelid: 1462});
+			return;
+		}
+		this.mouseDownClickUsed = true;
+		if ($debug) Debug.write("mouseDown CLICK Start Drag And Drop");
+		new lz.dragItemFileExplorer(canvas,{
+				dragItemResource:this.fileIcon,
+				refObj:this,
+				x:canvas.getMouse('x'),
+				y:canvas.getMouse('y')
+			});
+	]]>
+	</method>
     
     <!--
     	Check if this is the Owner
@@ -141,35 +142,39 @@
         }
     </method>
     
-    <method name="deleteFileOrFolder">
-        <![CDATA[
-			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
-	    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
-	    		return;
-	    	}
-	    	
-            if ($debug) Debug.write("deleteFileOrFolder HTTP 1: ");
-            var downloadurl = canvas.getUrl()+'services/FileService/deleteFileOrFolderSelf?'
-                            +'SID='+canvas.sessionId
-                            +'&fileId='+this.fileId;
-            
-            this.deleteFileOrFolderSelf.setAttribute("src",downloadurl);
-            if ($debug) Debug.write("deleteFileOrFolderSelf doRequest ",downloadurl);
-            this.deleteFileOrFolderSelf.doRequest();
-        ]]>
-    </method>
+	<method name="deleteFileOrFolder">
+	<![CDATA[
+		if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+			new lz.labelerrorPopup(canvas, {errorlabelid: 1462});
+			return;
+		}
+		
+		if ($debug) Debug.write("deleteFileOrFolder HTTP 1: ");
+		if (!deleteLoader) {
+			deleteLoader = new RestCall({
+				url: canvas.getUrl() + 'services/file/' + this.fileId
+				, method: URLRequestMethod.POST
+				, hdrs: [new URLRequestHeader("X-HTTP-Method-Override", "DELETE")]
+				, errorCallback: deleteError
+				, successCallback: deleteComplete
+				});
+		}
+		deleteLoader.load('--dummy--');
+	]]>
+	</method>
     
-    <dataset name="deleteFileOrFolderSelf" type="http" >
-        <handler name="ondata" args="d">
-            <![CDATA[
-                //if ($debug) Debug.write("ondata ",d);
-                if ($debug) Debug.write("deleteFileOrFolder: ",d);
-                parent.parent.parent.doOpen();
-                parent.refObjListRoot._selected = null;
-            ]]>
-        </handler>
-    </dataset>
+	<method name="deleteComplete" args="event">
+		var o = JSON.parse(event.target.data);
+		if ($debug) Debug.info("base::deleteComplete ", o);
+		//TODO check return code
+		this.parent.parent.doOpen();
+		this.refObjListRoot._selected = null;
+	</method>
     
+	<method name="deleteError" args="event">
+		if ($debug) Debug.error("base::deleteError ", event);
+	</method>
+	
 	<method name="doSingleClick" args="itemObj">
 		this.singleClickStarted = false;
 		//Cannot change name for Root Icons
@@ -302,76 +307,71 @@
 	]]>
 	</method>
 	
+	<method name="doSetSelection">
+		this.singleClickStarted = true;
+		if (this.selected) {
+			if ($debug) Debug.write("Is this selected => Do Edit !!!");
+			lz.Timer.addTimer(this.singleClickDelegate, 300);
+		} else {
+			selectItem(null);
+			lz.Timer.addTimer(this.resetClickDelegate, 300);
+		}
+	</method>
+	
 	<method name="toggleOpen" args="setSelection">
-		<![CDATA[
-			if (this.mouseDownClickUsed) {
-				if ($debug) Debug.write("mouseDownClickUsed RESET TO DEFAULT BUT DO NO ACTION Cause its a Drag and Drop Event");
-				this.mouseDownClickUsed = false;
+	<![CDATA[
+		if (this.mouseDownClickUsed) {
+			if ($debug) Debug.write("mouseDownClickUsed RESET TO DEFAULT BUT DO NO ACTION Cause its a Drag and Drop Event");
+			this.mouseDownClickUsed = false;
+			return;
+		}
+		if (this.singleClickStarted) {
+			if ($debug) Debug.write("Is this selected => Double Click !!!");
+			this.singleClickStarted = false;
+			lz.Timer.removeTimer(this.singleClickDelegate);
+			
+			if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
+				new lz.labelerrorPopup(canvas, {errorlabelid: 1462});
 				return;
 			}
 			
-			if (this.singleClickStarted) {
-	            if ($debug) Debug.write("Is this selected => Double Click !!!");
-	            this.singleClickStarted = false;
-	            lz.Timer.removeTimer( this.singleClickDelegate );
-	            
-	            if (!canvas.isAllowedToDraw && !canvas.ismoderator) {
-		    		new lz.labelerrorPopup(canvas,{errorlabelid:1462});
-		    		return;
-		    	}
-	            
-	            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.type == 'Folder'){
-	        		if (!this.open) {
-	        			this.doOpen();
-	        		} else {
-	        			if (setSelection) {
-	            			if (this.selected) {
-	            				if ($debug) Debug.write("Is this selected => Do Edit !!!");
-	            				this.singleClickStarted = true;
-	            			    lz.Timer.addTimer(this.singleClickDelegate, 300);
-	            			} else {
-	            				
-	            				this.singleClickStarted = true;
-	            				lz.Timer.addTimer(this.resetClickDelegate, 300);
-	            			}
-	        			} else {
-	        				this.doClose();
-	        			}
-	        		}
-	        	} else {
-	        		if (setSelection) {
-	                    if (this.selected) {
-	                        if ($debug) Debug.write("Is this selected => Do Edit !!!");
-	                        this.singleClickStarted = true;
-	                        lz.Timer.addTimer(this.singleClickDelegate, 300);
-	                    } else {
-	                        this.singleClickStarted = true;
-	                        lz.Timer.addTimer(this.resetClickDelegate, 300);
-	                    }
-	                }
-	        	}
+			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 ($debug) Debug.write("toggleOpen:: ", setSelection);
+			if (this.type == 'Folder'){
+				if (this.open) {
+					if (setSelection) {
+						doSetSelection()
+					} else {
+						this.doClose();
+					}
+				} else {
+					this.doOpen();
+				}
+			} else {
+				if (setSelection) {
+					doSetSelection()
+				}
 			}
-			
-			if (setSelection) this.refObjListRoot.selectItem(this);
-		]]>
+		}
+		if (setSelection) canvas.currentFileExplorer.selectItem(this);
+	]]>
 	</method>
 	
-	<method name="selectItem">
+	<method name="selectItem" args="none">
 		this.selected = true;
 		this._fileName.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer'));
 	</method>

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=1717152&r1=1717151&r2=1717152&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 Mon Nov 30 02:09:18 2015
@@ -357,7 +357,7 @@ public class FileWebService {
 	 *            file or folder id
 	 * @param name
 	 *            new file or folder name
-	 * @return - null
+	 * @return - resulting file object
 	 * @throws ServiceException
 	 */
 	@WebMethod
@@ -392,51 +392,36 @@ public class FileWebService {
 	 * 
 	 * @param sid
 	 *            SID The SID of the User. This SID must be marked as logged in
-	 * @param fileId
+	 * @param id
 	 *            current file or folder id to be moved
-	 * @param newParentId
+	 * @param parentId
 	 *            new parent folder id
-	 * @param roomId
-	 *            room id
-	 * @param isOwner
-	 *            if true owner id will be set
-	 * @param moveToHome
-	 *            move to private drive
-	 * @return - null
+	 * @return - resulting file object
 	 * @throws ServiceException
 	 */
-	public Long move(String sid, Long fileId, Long newParentId, Long roomId, Boolean isOwner,
-			Boolean moveToHome) throws ServiceException {
-
+	@WebMethod
+	@POST
+	@Path("/move/{roomid}/{id}/{parentid}")
+	public FileExplorerItemDTO move(@WebParam(name="sid") @QueryParam("sid") String sid
+			, @WebParam(name="id") @PathParam("id") long id
+			, @WebParam(name="roomid") @PathParam("roomid") long roomId
+			, @WebParam(name="parentid") @PathParam("parentid") long parentId) throws ServiceException
+	{
 		try {
-
 			Long userId = sessionDao.checkSession(sid);
-
 			if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-
-				// A test is required that checks if the user is allowed to move the file
-
-				log.debug("moveFileSelf " + fileId);
-
-				fileDao.moveFile(fileId, newParentId, roomId, isOwner, userId);
-
-				FileExplorerItem fileExplorerItem = fileDao.get(fileId);
-
-				if (moveToHome) {
-					// set this file and all subfiles and folders the ownerId
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, userId, null);
-
-				} else {
-					// set this file and all subfiles and folders the roomId
-					fileUtils.setFileToOwnerOrRoomByParent(fileExplorerItem, null, roomId);
-
-				}
-
+				// FIXME TODO A test is required that checks if the user is allowed to move the file
+				log.debug("move " + id);
+				return new FileExplorerItemDTO(fileDao.move(id, parentId, userId, roomId));
+			} else {
+				throw new ServiceException("Insufficient permissins"); //TODO code -26
 			}
-		} catch (Exception err) {
-			log.error("[moveFile] ", err);
+		} catch (ServiceException e) {
+			throw e;
+		} catch (Exception e) {
+			log.error("[move] ", e);
+			throw new ServiceException(e.getMessage());
 		}
-		return null;
 	}
 
 }