mirror of
				https://github.com/telekom-security/tpotce.git
				synced 2025-11-04 06:22:54 +00:00 
			
		
		
		
	
		
			
	
	
		
			139 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			139 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 2015
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This file is licensed under the Affero General Public License version 3
							 | 
						||
| 
								 | 
							
								 * or later.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * See the COPYING-README file.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(function(OC) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * @class OC.Files.FileInfo
							 | 
						||
| 
								 | 
							
									 * @classdesc File information
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @param {Object} data file data, see attributes for details
							 | 
						||
| 
								 | 
							
									 *
							 | 
						||
| 
								 | 
							
									 * @since 8.2
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									var FileInfo = function(data) {
							 | 
						||
| 
								 | 
							
										var self = this;
							 | 
						||
| 
								 | 
							
										_.each(data, function(value, key) {
							 | 
						||
| 
								 | 
							
											if (!_.isFunction(value)) {
							 | 
						||
| 
								 | 
							
												self[key] = value;
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										if (!_.isUndefined(this.id)) {
							 | 
						||
| 
								 | 
							
											this.id = parseInt(data.id, 10);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// TODO: normalize path
							 | 
						||
| 
								 | 
							
										this.path = data.path || '';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										if (this.type === 'dir') {
							 | 
						||
| 
								 | 
							
											this.mimetype = 'httpd/unix-directory';
							 | 
						||
| 
								 | 
							
										} else {
							 | 
						||
| 
								 | 
							
											this.mimetype = this.mimetype || 'application/octet-stream';
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										if (!this.type) {
							 | 
						||
| 
								 | 
							
											if (this.mimetype === 'httpd/unix-directory') {
							 | 
						||
| 
								 | 
							
												this.type = 'dir';
							 | 
						||
| 
								 | 
							
											} else {
							 | 
						||
| 
								 | 
							
												this.type = 'file';
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
									 * @memberof OC.Files
							 | 
						||
| 
								 | 
							
									 */
							 | 
						||
| 
								 | 
							
									FileInfo.prototype = {
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * File id
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type int
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										id: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * File name
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										name: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Path leading to the file, without the file name,
							 | 
						||
| 
								 | 
							
										 * and with a leading slash.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										path: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Mime type
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										mimetype: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Icon URL.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * Can be used to override the mime type icon.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										icon: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * File type. 'file'  for files, 'dir' for directories.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 * @deprecated rely on mimetype instead
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										type: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Permissions.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @see OC#PERMISSION_ALL for permissions
							 | 
						||
| 
								 | 
							
										 * @type int
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										permissions: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Modification time
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type int
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										mtime: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Etag
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type String
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										etag: null,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										/**
							 | 
						||
| 
								 | 
							
										 * Mount type.
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * One of null, "external-root", "shared" or "shared-root"
							 | 
						||
| 
								 | 
							
										 *
							 | 
						||
| 
								 | 
							
										 * @type string
							 | 
						||
| 
								 | 
							
										 */
							 | 
						||
| 
								 | 
							
										mountType: null
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (!OC.Files) {
							 | 
						||
| 
								 | 
							
										OC.Files = {};
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									OC.Files.FileInfo = FileInfo;
							 | 
						||
| 
								 | 
							
								})(OC);
							 | 
						||
| 
								 | 
							
								
							 |