diff --git a/README.md b/README.md index 5f88b266..25bc0a6b 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,6 @@ A very smart filemanager to manage your files in the browser developed in Angula - diff --git a/bower.json b/bower.json index 069c1db9..dd8d7eac 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "angular-filemanager", - "version": "1.4.7", + "version": "1.4.8", "homepage": "https://github.com/joni2back/angular-filemanager", "authors": [ "Jonas Sciangula Street " @@ -21,7 +21,6 @@ "dependencies": { "angular": "~1.5.0", "angular-translate": "~2.9.1", - "angular-cookies": "~1.5.0", "bootstrap": "~3.3.2", "jquery": "~2.2.0", "bootswatch": "3.3.6+1" diff --git a/bower_components/angular-cookies/angular-cookies.min.js b/bower_components/angular-cookies/angular-cookies.min.js deleted file mode 100644 index d0f126a9..00000000 --- a/bower_components/angular-cookies/angular-cookies.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - AngularJS v1.5.0 - (c) 2010-2016 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(p,c,n){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,n,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore", -["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular); -//# sourceMappingURL=angular-cookies.min.js.map diff --git a/dist/angular-filemanager.min.js b/dist/angular-filemanager.min.js index b886988d..93c1beac 100644 --- a/dist/angular-filemanager.min.js +++ b/dist/angular-filemanager.min.js @@ -1,3 +1,3 @@ -!function(e,r,n){"use strict";r.module("FileManagerApp",["pascalprecht.translate","ngCookies"]),n(e.document).on("shown.bs.modal",".modal",function(){e.setTimeout(function(){n("[autofocus]",this).focus()}.bind(this),100)}),n(e.document).on("click",function(){n("#context-menu").hide()}),n(e.document).on("contextmenu",".main-navigation .table-files td:first-child, .iconset a.thumbnail",function(e){n("#context-menu").hide().css({left:e.pageX,top:e.pageY}).show(),e.preventDefault()})}(window,angular,jQuery),function(e,r,n){"use strict";r.module("FileManagerApp").controller("FileManagerCtrl",["$scope","$translate","$cookies","fileManagerConfig","item","fileNavigator","fileUploader",function(r,t,a,i,o,s,l){r.config=i,r.reverse=!1,r.predicate=["model.type","model.name"],r.order=function(e){r.reverse=r.predicate[1]===e?!r.reverse:!1,r.predicate[1]=e},r.query="",r.temp=new o,r.fileNavigator=new s,r.fileUploader=l,r.uploadFileList=[],r.viewTemplate=a.get("viewTemplate")||"main-table.html",r.setTemplate=function(e){a.put("viewTemplate",e),r.viewTemplate=e},r.changeLanguage=function(e){return e?(a.put("language",e),t.use(e)):void t.use(a.get("language")||i.defaultLang)},r.touch=function(e){e=e instanceof o?e:new o,e.revert(),r.temp=e},r.smartClick=function(e){return e.isFolder()?r.fileNavigator.folderClick(e):e.isImage()?r.config.previewImagesInModal?r.openImagePreview(e):e.download(!0):e.isEditable()?r.openEditItem(e):void 0},r.openImagePreview=function(e){return e.inprocess=!0,r.modal("imagepreview").find("#imagepreview-target").attr("src",e.getUrl(!0)).unbind("load error").on("load error",function(){e.inprocess=!1,r.$apply()}),r.touch(e)},r.openEditItem=function(e){return e.getContent(),r.modal("edit"),r.touch(e)},r.modal=function(e,r){return n("#"+e).modal(r?"hide":"show")},r.isInThisPath=function(e){var n=r.fileNavigator.currentPath.join("/");return-1!==n.indexOf(e)},r.edit=function(e){e.edit().then(function(){r.modal("edit",!0)})},r.changePermissions=function(e){e.changePermissions().then(function(){r.modal("changepermissions",!0)})},r.copy=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.copy().then(function(){r.fileNavigator.refresh(),r.modal("copy",!0)})},r.compress=function(e){e.compress().then(function(){return r.fileNavigator.refresh(),r.config.compressAsync?void(e.asyncSuccess=!0):r.modal("compress",!0)},function(){e.asyncSuccess=!1})},r.extract=function(e){e.extract().then(function(){return r.fileNavigator.refresh(),r.config.extractAsync?void(e.asyncSuccess=!0):r.modal("extract",!0)},function(){e.asyncSuccess=!1})},r.remove=function(e){e.remove().then(function(){r.fileNavigator.refresh(),r.modal("delete",!0)})},r.rename=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.rename().then(function(){r.fileNavigator.refresh(),r.modal("rename",!0)})},r.createFolder=function(e){var n=e.tempModel.name&&e.tempModel.name.trim();return e.tempModel.type="dir",e.tempModel.path=r.fileNavigator.currentPath,!n||r.fileNavigator.fileNameExists(n)?(e.error=t.instant("error_invalid_filename"),!1):void e.createFolder().then(function(){r.fileNavigator.refresh(),r.modal("newfolder",!0)})},r.uploadFiles=function(){r.fileUploader.upload(r.uploadFileList,r.fileNavigator.currentPath).then(function(){r.fileNavigator.refresh(),r.modal("uploadfile",!0)},function(e){var n=e.result&&e.result.error||t.instant("error_uploading_files");r.temp.error=n})},r.getQueryParam=function(r){var n;return e.location.search.substr(1).split("&").forEach(function(e){return r===e.split("=")[0]?(n=e.split("=")[1],!1):void 0}),n},r.changeLanguage(r.getQueryParam("lang")),r.isWindows="Windows"===r.getQueryParam("server"),r.fileNavigator.refresh()}])}(window,angular,jQuery),function(e,r){"use strict";e.module("FileManagerApp").controller("ModalFileManagerCtrl",["$scope","$rootScope","fileNavigator",function(e,n,t){e.reverse=!1,e.predicate=["model.type","model.name"],e.order=function(r){e.reverse=e.predicate[1]===r?!e.reverse:!1,e.predicate[1]=r},e.fileNavigator=new t,n.select=function(e,n){n.tempModel.path=e.model.fullPath().split("/"),r("#selector").modal("hide")},n.openNavigator=function(n){e.fileNavigator.currentPath=n.model.path.slice(),e.fileNavigator.refresh(),r("#selector").modal("show")}}])}(angular,jQuery),function(e){"use strict";var r=e.module("FileManagerApp");r.directive("angularFilemanager",["$parse","fileManagerConfig",function(e,r){return{restrict:"EA",templateUrl:r.tplPath+"/main.html"}}]),r.directive("ngFile",["$parse",function(e){return{restrict:"A",link:function(r,n,t){var a=e(t.ngFile),i=a.assign;n.bind("change",function(){r.$apply(function(){i(r,n[0].files)})})}}}]),r.directive("ngRightClick",["$parse",function(e){return function(r,n,t){var a=e(t.ngRightClick);n.bind("contextmenu",function(e){r.$apply(function(){e.preventDefault(),a(r,{$event:e})})})}}])}(angular),function(e){"use strict";e.module("FileManagerApp").service("chmod",function(){var e=function(e){if(this.owner=this.getRwxObj(),this.group=this.getRwxObj(),this.others=this.getRwxObj(),e){var r=isNaN(e)?this.convertfromCode(e):this.convertfromOctal(e);if(!r)throw new Error("Invalid chmod input data");this.owner=r.owner,this.group=r.group,this.others=r.others}};return e.prototype.toOctal=function(e,r){var n=["owner","group","others"],t=[];for(var a in n){var i=n[a];t[a]=this[i].read&&this.octalValues.read||0,t[a]+=this[i].write&&this.octalValues.write||0,t[a]+=this[i].exec&&this.octalValues.exec||0}return(e||"")+t.join("")+(r||"")},e.prototype.toCode=function(e,r){var n=["owner","group","others"],t=[];for(var a in n){var i=n[a];t[a]=this[i].read&&this.codeValues.read||"-",t[a]+=this[i].write&&this.codeValues.write||"-",t[a]+=this[i].exec&&this.codeValues.exec||"-"}return(e||"")+t.join("")+(r||"")},e.prototype.getRwxObj=function(){return{read:!1,write:!1,exec:!1}},e.prototype.octalValues={read:4,write:2,exec:1},e.prototype.codeValues={read:"r",write:"w",exec:"x"},e.prototype.convertfromCode=function(e){if(e=(""+e).replace(/\s/g,""),e=10===e.length?e.substr(1):e,/^[-rwxt]{9}$/.test(e)){var r=[],n=e.match(/.{1,3}/g);for(var t in n){var a=this.getRwxObj();a.read=/r/.test(n[t]),a.write=/w/.test(n[t]),a.exec=/x|t/.test(n[t]),r.push(a)}return{owner:r[0],group:r[1],others:r[2]}}},e.prototype.convertfromOctal=function(e){if(e=(""+e).replace(/\s/g,""),e=4===e.length?e.substr(1):e,/^[0-7]{3}$/.test(e)){var r=[],n=e.match(/.{1}/g);for(var t in n){var a=this.getRwxObj();a.read=/[4567]/.test(n[t]),a.write=/[2367]/.test(n[t]),a.exec=/[1357]/.test(n[t]),r.push(a)}return{owner:r[0],group:r[1],others:r[2]}}},e})}(angular),function(e,r,n){"use strict";r.module("FileManagerApp").factory("item",["$http","$q","$translate","fileManagerConfig","chmod",function(t,a,i,o,s){var l=function(e,n){function t(e){var r=(e||"").toString().split(/[- :]/);return new Date(r[0],r[1]-1,r[2],r[3],r[4],r[5])}var a={name:e&&e.name||"",path:n||[],type:e&&e.type||"file",size:e&&parseInt(e.size||0),date:t(e&&e.date),perms:new s(e&&e.rights),content:e&&e.content||"",recursive:!1,sizeKb:function(){return Math.round(this.size/1024,1)},fullPath:function(){return("/"+this.path.join("/")+"/"+this.name).replace(/\/\//,"/")}};this.error="",this.inprocess=!1,this.model=r.copy(a),this.tempModel=r.copy(a)};return l.prototype.update=function(){r.extend(this.model,r.copy(this.tempModel))},l.prototype.revert=function(){r.extend(this.tempModel,r.copy(this.model)),this.error=""},l.prototype.deferredHandler=function(e,r,n){return e&&"object"==typeof e||(this.error="Bridge response error, please check the docs"),e.result&&e.result.error&&(this.error=e.result.error),!this.error&&e.error&&(this.error=e.error.message),!this.error&&n&&(this.error=n),this.error?r.reject(e):(this.update(),r.resolve(e))},l.prototype.createFolder=function(){var e=this,r=a.defer(),n={params:{mode:"addfolder",path:e.tempModel.path.join("/"),name:e.tempModel.name}};return e.inprocess=!0,e.error="",t.post(o.createFolderUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_creating_folder"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.rename=function(){var e=this,r=a.defer(),n={params:{mode:"rename",path:e.model.fullPath(),newPath:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.renameUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_renaming"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.copy=function(){var e=this,r=a.defer(),n={params:{mode:"copy",path:e.model.fullPath(),newPath:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.copyUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_copying"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.compress=function(){var e=this,r=a.defer(),n={params:{mode:"compress",path:e.model.fullPath(),destination:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.compressUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_compressing"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.extract=function(){var e=this,r=a.defer(),n={params:{mode:"extract",path:e.model.fullPath(),sourceFile:e.model.fullPath(),destination:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.extractUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_extracting"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.getUrl=function(e){var r=this.model.fullPath(),t={mode:"download",preview:e,path:r};return r&&[o.downloadFileUrl,n.param(t)].join("?")},l.prototype.download=function(r){"dir"!==this.model.type&&e.open(this.getUrl(r),"_blank","")},l.prototype.getContent=function(){var e=this,r=a.defer(),n={params:{mode:"editfile",path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.getContentUrl,n).success(function(n){e.tempModel.content=e.model.content=n.result,e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_getting_content"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.remove=function(){var e=this,r=a.defer(),n={params:{mode:"delete",path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.removeUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_deleting"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.edit=function(){var e=this,r=a.defer(),n={params:{mode:"savefile",content:e.tempModel.content,path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.editUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_modifying"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.changePermissions=function(){var e=this,r=a.defer(),n={params:{mode:"changepermissions",path:e.tempModel.fullPath(),perms:e.tempModel.perms.toOctal(),permsCode:e.tempModel.perms.toCode(),recursive:e.tempModel.recursive}};return e.inprocess=!0,e.error="",t.post(o.permissionsUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_changing_perms"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.isFolder=function(){return"dir"===this.model.type},l.prototype.isEditable=function(){return!this.isFolder()&&o.isEditableFilePattern.test(this.model.name)},l.prototype.isImage=function(){return o.isImageFilePattern.test(this.model.name)},l.prototype.isCompressible=function(){return this.isFolder()},l.prototype.isExtractable=function(){return!this.isFolder()&&o.isExtractableFilePattern.test(this.model.name)},l}])}(window,angular,jQuery),function(e){"use strict";var r=e.module("FileManagerApp");r.filter("strLimit",["$filter",function(e){return function(r,n){return r.length<=n?r:e("limitTo")(r,n)+"..."}}]),r.filter("formatDate",["$filter",function(){return function(e){return e instanceof Date?e.toISOString().substring(0,19).replace("T"," "):(e.toLocaleString||e.toString).apply(e)}}]),r.filter("humanReadableFileSize",["$filter","fileManagerConfig",function(e,r){var n=[" kB"," MB"," GB"," TB","PB","EB","ZB","YB"],t=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];return function(e){var a=-1,i=e;do i/=1024,a++;while(i>1024);var o=r.useBinarySizePrefixes?t[a]:n[a];return Math.max(i,.1).toFixed(1)+" "+o}}])}(angular),function(e){"use strict";e.module("FileManagerApp").provider("fileManagerConfig",function(){var r={appName:"https://github.com/joni2back/angular-filemanager",defaultLang:"en",listUrl:"bridges/php/handler.php",uploadUrl:"bridges/php/handler.php",renameUrl:"bridges/php/handler.php",copyUrl:"bridges/php/handler.php",removeUrl:"bridges/php/handler.php",editUrl:"bridges/php/handler.php",getContentUrl:"bridges/php/handler.php",createFolderUrl:"bridges/php/handler.php",downloadFileUrl:"bridges/php/handler.php",compressUrl:"bridges/php/handler.php",extractUrl:"bridges/php/handler.php",permissionsUrl:"bridges/php/handler.php",searchForm:!0,sidebar:!0,breadcrumb:!0,allowedActions:{upload:!0,rename:!0,copy:!0,edit:!0,changePermissions:!0,compress:!0,compressChooseName:!0,extract:!0,download:!0,preview:!0,remove:!0},showSizeForDirectories:!1,useBinarySizePrefixes:!1,previewImagesInModal:!0,enablePermissionsRecursive:!0,compressAsync:!0,extractAsync:!0,isEditableFilePattern:/\.(txt|html?|aspx?|ini|pl|py|md|css|js|log|htaccess|htpasswd|json|sql|xml|xslt?|sh|rb|as|bat|cmd|coffee|php[3-6]?|java|c|cbl|go|h|scala|vb)$/i,isImageFilePattern:/\.(jpe?g|gif|bmp|png|svg|tiff?)$/i,isExtractableFilePattern:/\.(gz|tar|rar|g?zip)$/i,tplPath:"src/templates"};return{$get:function(){return r},set:function(n){e.extend(r,n)}}})}(angular),function(e){"use strict";e.module("FileManagerApp").config(["$translateProvider",function(e){e.useSanitizeValueStrategy(null),e.translations("en",{filemanager:"File Manager",language:"Language",english:"English",spanish:"Spanish",portuguese:"Portuguese",french:"French",german:"German",confirm:"Confirm",cancel:"Cancel",close:"Close",upload_file:"Upload file",files_will_uploaded_to:"Files will be uploaded to",uploading:"Uploading",permissions:"Permissions",select_destination_folder:"Select the destination folder",source:"Source",destination:"Destination",copy_file:"Copy file",sure_to_delete:"Are you sure to delete",change_name_move:"Change name / move",enter_new_name_for:"Enter new name for",extract_item:"Extract item",extraction_started:"Extraction started in a background process",compression_started:"Compression started in a background process",enter_folder_name_for_extraction:"Enter the folder name for the extraction of",enter_folder_name_for_compression:"Enter the folder name for the compression of",toggle_fullscreen:"Toggle fullscreen",edit_file:"Edit file",file_content:"File content",loading:"Loading",search:"Search",create_folder:"Create folder",create:"Create",folder_name:"Folder name",upload:"Upload",change_permissions:"Change permissions",change:"Change",details:"Details",icons:"Icons",list:"List",name:"Name",size:"Size",actions:"Actions",date:"Date",no_files_in_folder:"No files in this folder",no_folders_in_folder:"This folder not contains children folders",select_this:"Select this",go_back:"Go back",wait:"Wait",move:"Move",download:"Download",view_item:"View item",remove:"Delete",edit:"Edit",copy:"Copy",rename:"Rename",extract:"Extract",compress:"Compress",error_invalid_filename:"Invalid filename or already exists, specify another name",error_modifying:"An error occurred modifying the file",error_deleting:"An error occurred deleting the file or folder",error_renaming:"An error occurred renaming the file",error_copying:"An error occurred copying the file",error_compressing:"An error occurred compressing the file or folder",error_extracting:"An error occurred extracting the file",error_creating_folder:"An error occurred creating the folder",error_getting_content:"An error occurred getting the content of the file",error_changing_perms:"An error occurred changing the permissions of the file",error_uploading_files:"An error occurred uploading files",sure_to_start_compression_with:"Are you sure to compress",owner:"Owner",group:"Group",others:"Others",read:"Read",write:"Write",exec:"Exec",original:"Original",changes:"Changes",recursive:"Recursive",preview:"Item preview",open:"Open"}),e.translations("pt",{filemanager:"Gerenciador de arquivos",language:"Língua",english:"Inglês",spanish:"Espanhol",portuguese:"Portugues",french:"Francês",german:"Alemão",confirm:"Confirmar",cancel:"Cancelar",close:"Fechar",upload_file:"Carregar arquivo",files_will_uploaded_to:"Os arquivos serão enviados para",uploading:"Carregar",permissions:"Autorizações",select_destination_folder:"Selecione a pasta de destino",source:"Origem",destination:"Destino",copy_file:"Copiar arquivo",sure_to_delete:"Tem certeza de que deseja apagar",change_name_move:"Renomear / mudança",enter_new_name_for:"Digite o novo nome para",extract_item:"Extrair arquivo",extraction_started:"A extração começou em um processo em segundo plano",compression_started:"A compressão começou em um processo em segundo plano",enter_folder_name_for_extraction:"Digite o nome da pasta para a extração de",enter_folder_name_for_compression:"Digite o nome da pasta para Compressão",toggle_fullscreen:"Ativar/desativar tela cheia",edit_file:"Editar arquivo",file_content:"Conteúdo do arquivo",loading:"Carregando",search:"Localizar",create_folder:"Criar Pasta",create:"Criar",folder_name:"Nome da pasta",upload:"Fazer",change_permissions:"Alterar permissões",change:"Alterar",details:"Detalhes",icons:"Icones",list:"Lista",name:"Nome",size:"Tamanho",actions:"Ações",date:"Data",no_files_in_folder:"Não há arquivos nesta pasta",no_folders_in_folder:"Esta pasta não contém subpastas",select_this:"Selecione esta",go_back:"Voltar",wait:"Espere",move:"Mover",download:"Baixar",view_item:"Veja o arquivo",remove:"Excluir",edit:"Editar",copy:"Copiar",rename:"Renomear",extract:"Extrair",compress:"Comprimir",error_invalid_filename:"Nome do arquivo inválido ou nome de arquivo já existe, especifique outro nome",error_modifying:"Ocorreu um erro ao modificar o arquivo",error_deleting:"Ocorreu um erro ao excluir o arquivo ou pasta",error_renaming:"Ocorreu um erro ao mudar o nome do arquivo",error_copying:"Ocorreu um erro ao copiar o arquivo",error_compressing:"Ocorreu um erro ao comprimir o arquivo ou pasta",error_extracting:"Ocorreu um erro ao extrair o arquivo",error_creating_folder:"Ocorreu um erro ao criar a pasta",error_getting_content:"Ocorreu um erro ao obter o conteúdo do arquivo",error_changing_perms:"Ocorreu um erro ao alterar as permissões do arquivo",error_uploading_files:"Ocorreu um erro upload de arquivos",sure_to_start_compression_with:"Tem certeza que deseja comprimir",owner:"Proprietário",group:"Grupo",others:"Outros",read:"Leitura",write:"Escrita ",exec:"Execução",original:"Original",changes:"Mudanças",recursive:"Recursiva",preview:"Visualização",open:"Abrir"}),e.translations("es",{filemanager:"Administrador de archivos",language:"Idioma",english:"Ingles",spanish:"Español",portuguese:"Portugues",french:"Francés",german:"Alemán",confirm:"Confirmar",cancel:"Cancelar",close:"Cerrar",upload_file:"Subir archivo",files_will_uploaded_to:"Los archivos seran subidos a",uploading:"Subiendo",permissions:"Permisos",select_destination_folder:"Seleccione la carpeta de destino",source:"Origen",destination:"Destino",copy_file:"Copiar archivo",sure_to_delete:"Esta seguro que desea eliminar",change_name_move:"Renombrar / mover",enter_new_name_for:"Ingrese el nuevo nombre para",extract_item:"Extraer archivo",extraction_started:"La extraccion ha comenzado en un proceso de segundo plano",compression_started:"La compresion ha comenzado en un proceso de segundo plano",enter_folder_name_for_extraction:"Ingrese el nombre de la carpeta para la extraccion de",enter_folder_name_for_compression:"Ingrese el nombre de la carpeta para la compresion de",toggle_fullscreen:"Activar/Desactivar pantalla completa",edit_file:"Editar archivo",file_content:"Contenido del archivo",loading:"Cargando",search:"Buscar",create_folder:"Crear carpeta",create:"Crear",folder_name:"Nombre de la carpeta",upload:"Subir",change_permissions:"Cambiar permisos",change:"Cambiar",details:"Detalles",icons:"Iconos",list:"Lista",name:"Nombre",size:"Tamaño",actions:"Acciones",date:"Fecha",no_files_in_folder:"No hay archivos en esta carpeta",no_folders_in_folder:"Esta carpeta no contiene sub-carpetas",select_this:"Seleccionar esta",go_back:"Volver",wait:"Espere",move:"Mover",download:"Descargar",view_item:"Ver archivo",remove:"Eliminar",edit:"Editar",copy:"Copiar",rename:"Renombrar",extract:"Extraer",compress:"Comprimir",error_invalid_filename:"El nombre del archivo es invalido o ya existe",error_modifying:"Ocurrio un error al intentar modificar el archivo",error_deleting:"Ocurrio un error al intentar eliminar el archivo",error_renaming:"Ocurrio un error al intentar renombrar el archivo",error_copying:"Ocurrio un error al intentar copiar el archivo",error_compressing:"Ocurrio un error al intentar comprimir el archivo",error_extracting:"Ocurrio un error al intentar extraer el archivo",error_creating_folder:"Ocurrio un error al intentar crear la carpeta",error_getting_content:"Ocurrio un error al obtener el contenido del archivo",error_changing_perms:"Ocurrio un error al cambiar los permisos del archivo",error_uploading_files:"Ocurrio un error al subir archivos",sure_to_start_compression_with:"Esta seguro que desea comprimir",owner:"Propietario",group:"Grupo",others:"Otros",read:"Lectura",write:"Escritura",exec:"Ejecucion",original:"Original",changes:"Cambios",recursive:"Recursivo",preview:"Vista previa",open:"Abrir"}),e.translations("fr",{filemanager:"Gestionnaire de fichier",language:"Langue",english:"Anglais",spanish:"Espagnol",portuguese:"Portugais",french:"Français",german:"Allemand",confirm:"Confirmer",cancel:"Annuler",close:"Fermer",upload_file:"Uploader un fichier",files_will_uploaded_to:"Les fichiers seront uploadé dans",uploading:"Upload en cours",permissions:"Permissions",select_destination_folder:"Sélectionné le dossier de destination",source:"Source",destination:"Destination",copy_file:"Copier le fichier",sure_to_delete:"Êtes-vous sûr de vouloir supprimer",change_name_move:"Renommer / Déplacer",enter_new_name_for:"Entrer le nouveau nom pour",extract_item:"Extraires les éléments",extraction_started:"L'extraction a démarré en tâche de fond",compression_started:"La compression a démarré en tâche de fond",enter_folder_name_for_extraction:"Entrer le nom du dossier pour l'extraction de",enter_folder_name_for_compression:"Entrer le nom du dossier pour la compression de",toggle_fullscreen:"Basculer en plein écran",edit_file:"Éditer le fichier",file_content:"Contenu du fichier",loading:"Chargement en cours",search:"Recherche",create_folder:"Créer un dossier",create:"Créer",folder_name:"Nom du dossier",upload:"Upload",change_permissions:"Changer les permissions",change:"Changer",details:"Details",icons:"Icons",list:"Liste",name:"Nom",size:"Taille",actions:"Actions",date:"Date",no_files_in_folder:"Aucun fichier dans ce dossier",no_folders_in_folder:"Ce dossier ne contiens pas de dossier",select_this:"Sélectionner",go_back:"Retour",wait:"Patienter",move:"Déplacer",download:"Télécharger",view_item:"Voir l'élément",remove:"Supprimer",edit:"Éditer",copy:"Copier",rename:"Renommer",extract:"Extraire",compress:"Compresser",error_invalid_filename:"Nom de fichier invalide ou déjà existant, merci de spécifier un autre nom",error_modifying:"Une erreur est survenue pendant la modification du fichier",error_deleting:"Une erreur est survenue pendant la suppression du fichier ou du dossier",error_renaming:"Une erreur est survenue pendant le renommage du fichier",error_copying:"Une erreur est survenue pendant la copie du fichier",error_compressing:"Une erreur est survenue pendant la compression du fichier ou du dossier",error_extracting:"Une erreur est survenue pendant l'extraction du fichier",error_creating_folder:"Une erreur est survenue pendant la création du dossier",error_getting_content:"Une erreur est survenue pendant la récupération du contenu du fichier",error_changing_perms:"Une erreur est survenue pendant le changement des permissions du fichier",error_uploading_files:"Une erreur est survenue pendant l'upload des fichiers",sure_to_start_compression_with:"Êtes-vous sûre de vouloir compresser",owner:"Propriétaire",group:"Groupe",others:"Autres",read:"Lecture",write:"Écriture",exec:"Éxécution",original:"Original",changes:"Modifications",recursive:"Récursif",preview:"Aperçu",open:"Ouvrir"}),e.translations("de",{filemanager:"Dateimanager",language:"Sprache",english:"Englisch",spanish:"Spansisch",portuguese:"Portugiesisch",french:"Französisch",german:"Deutsch",confirm:"Bestätigen",cancel:"Abbrechen",close:"Schließen",upload_file:"Datei hochladen",files_will_uploaded_to:"Dateien werden hochgeladen nach",uploading:"Lade hoch",permissions:"Berechtigungen",select_destination_folder:"Wählen Sie einen Zielordner",source:"Quelle",destination:"Ziel",copy_file:"Datei kopieren",sure_to_delete:"Sind Sie sicher, dass Sie die Datei löschen möchten?",change_name_move:"Namen ändern / verschieben",enter_new_name_for:"Geben Sie den neuen Namen ein für",extract_item:"Archiv entpacken",extraction_started:"Entpacken hat im Hintergrund begonnen",compression_started:"Komprimierung hat im Hintergrund begonnen",enter_folder_name_for_extraction:"Geben Sie den Verzeichnisnamen für die Entpackung an, von",enter_folder_name_for_compression:"Geben Sie den Verzeichnisnamen für die Komprimierung an, von",toggle_fullscreen:"Vollbild umschalten",edit_file:"Datei bearbeiten",file_content:"Dateiinhalt",loading:"Lade",search:"Suche",create_folder:"Ordner erstellen",create:"Erstellen",folder_name:"Verzeichnisname",upload:"Hochladen",change_permissions:"Berechtigungen ändern",change:"Ändern",details:"Details",icons:"Symbolansicht",list:"Listenansicht",name:"Name",size:"Größe",actions:"Aktionen",date:"Datum",no_files_in_folder:"Keine Dateien in diesem Ordner",no_folders_in_folder:"Dieser Ordner enthält keine Unterordner",select_this:"Auswählen",go_back:"Zurück",wait:"Warte",move:"Verschieben",download:"Herunterladen",view_item:"Datei ansehen",remove:"Löschen",edit:"Bearbeiten",copy:"Kopieren",rename:"Umbenennen",extract:"Entpacken",compress:"Komprimieren",error_invalid_filename:"Ungültiger Dateiname oder existiert bereits",error_modifying:"Beim Bearbeiten der Datei ist ein Fehler aufgetreten",error_deleting:"Beim Löschen der Datei oder des Ordners ist ein Fehler aufgetreten",error_renaming:"Beim Umbennenen der Datei ist ein Fehler aufgetreten",error_copying:"Beim Kopieren der Datei ist ein Fehler aufgetreten",error_compressing:"Beim Komprimieren der Datei oder des Ordners ist ein Fehler aufgetreten",error_extracting:"Beim Entpacken der Datei ist ein Fehler aufgetreten",error_creating_folder:"Beim Erstellen des Ordners ist ein Fehler aufgetreten",error_getting_content:"Beim Holen des Dateiinhalts ist ein Fehler aufgetreten",error_changing_perms:"Beim Ändern der Dateiberechtigungen ist ein Fehler aufgetreten",error_uploading_files:"Beim Hochladen der Dateien ist ein Fehler aufgetreten",sure_to_start_compression_with:"Möchten Sie die Datei wirklich komprimieren?",owner:"Besitzer",group:"Gruppe",others:"Andere",read:"Lesen",write:"Schreiben",exec:"Ausführen",original:"Original",changes:"Änderungen",recursive:"Rekursiv",preview:"Dateivorschau",open:"Öffnen"})}])}(angular),function(e){"use strict";e.module("FileManagerApp").service("fileNavigator",["$http","$q","fileManagerConfig","item",function(e,r,n,t){e.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var a=function(){this.requesting=!1,this.fileList=[],this.currentPath=[],this.history=[],this.error=""};return a.prototype.deferredHandler=function(e,r,n){return e&&"object"==typeof e||(this.error="Bridge response error, please check the docs"),!this.error&&e.result&&e.result.error&&(this.error=e.result.error),!this.error&&e.error&&(this.error=e.error.message),!this.error&&n&&(this.error=n),this.error?r.reject(e):r.resolve(e)},a.prototype.list=function(){var t=this,a=r.defer(),i=t.currentPath.join("/"),o={params:{mode:"list",onlyFolders:!1,path:"/"+i}};return t.requesting=!0,t.fileList=[],t.error="",e.post(n.listUrl,o).success(function(e){t.deferredHandler(e,a)}).error(function(e){t.deferredHandler(e,a,"Unknown error listing, check the response")})["finally"](function(){t.requesting=!1}),a.promise},a.prototype.refresh=function(){var e=this,r=e.currentPath.join("/");return e.list().then(function(n){e.fileList=(n.result||[]).map(function(r){return new t(r,e.currentPath)}),e.buildTree(r)})},a.prototype.buildTree=function(e){function r(e,n,t){var a=t?t+"/"+n.model.name:n.model.name;if(e.name.trim()&&0!==t.trim().indexOf(e.name)&&(e.nodes=[]),e.name!==t)for(var i in e.nodes)r(e.nodes[i],n,t);else{for(var o in e.nodes)if(e.nodes[o].name===a)return;e.nodes.push({item:n,name:a,nodes:[]})}e.nodes=e.nodes.sort(function(e,r){return e.name.toLowerCase()\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{dir}}\r\n \r\n {{dir}}\r\n
  • \r\n
  • \r\n'), +!function(e,r,n){"use strict";r.module("FileManagerApp",["pascalprecht.translate"]),n(e.document).on("shown.bs.modal",".modal",function(){e.setTimeout(function(){n("[autofocus]",this).focus()}.bind(this),100)}),n(e.document).on("click",function(){n("#context-menu").hide()}),n(e.document).on("contextmenu",".main-navigation .table-files td:first-child, .iconset a.thumbnail",function(e){n("#context-menu").hide().css({left:e.pageX,top:e.pageY}).show(),e.preventDefault()})}(window,angular,jQuery),function(e){"use strict";var r=e.module("FileManagerApp");r.directive("angularFilemanager",["$parse","fileManagerConfig",function(e,r){return{restrict:"EA",templateUrl:r.tplPath+"/main.html"}}]),r.directive("ngFile",["$parse",function(e){return{restrict:"A",link:function(r,n,t){var a=e(t.ngFile),i=a.assign;n.bind("change",function(){r.$apply(function(){i(r,n[0].files)})})}}}]),r.directive("ngRightClick",["$parse",function(e){return function(r,n,t){var a=e(t.ngRightClick);n.bind("contextmenu",function(e){r.$apply(function(){e.preventDefault(),a(r,{$event:e})})})}}])}(angular),function(e,r,n){"use strict";r.module("FileManagerApp").controller("FileManagerCtrl",["$scope","$translate","fileManagerConfig","item","fileNavigator","fileUploader",function(r,t,a,i,o,s){var l=e.localStorage;r.config=a,r.reverse=!1,r.predicate=["model.type","model.name"],r.order=function(e){r.reverse=r.predicate[1]===e?!r.reverse:!1,r.predicate[1]=e},r.query="",r.temp=new i,r.fileNavigator=new o,r.fileUploader=s,r.uploadFileList=[],r.viewTemplate=l.getItem("viewTemplate")||"main-table.html",r.setTemplate=function(e){l.setItem("viewTemplate",e),r.viewTemplate=e},r.changeLanguage=function(e){return e?(l.setItem("language",e),t.use(e)):void t.use(l.getItem("language")||a.defaultLang)},r.touch=function(e){e=e instanceof i?e:new i,e.revert(),r.temp=e},r.smartClick=function(e){return e.isFolder()?r.fileNavigator.folderClick(e):e.isImage()?r.config.previewImagesInModal?r.openImagePreview(e):e.download(!0):e.isEditable()?r.openEditItem(e):void 0},r.openImagePreview=function(e){return e.inprocess=!0,r.modal("imagepreview").find("#imagepreview-target").attr("src",e.getUrl(!0)).unbind("load error").on("load error",function(){e.inprocess=!1,r.$apply()}),r.touch(e)},r.openEditItem=function(e){return e.getContent(),r.modal("edit"),r.touch(e)},r.modal=function(e,r){return n("#"+e).modal(r?"hide":"show")},r.isInThisPath=function(e){var n=r.fileNavigator.currentPath.join("/");return-1!==n.indexOf(e)},r.edit=function(e){e.edit().then(function(){r.modal("edit",!0)})},r.changePermissions=function(e){e.changePermissions().then(function(){r.modal("changepermissions",!0)})},r.copy=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.copy().then(function(){r.fileNavigator.refresh(),r.modal("copy",!0)})},r.compress=function(e){e.compress().then(function(){return r.fileNavigator.refresh(),r.config.compressAsync?void(e.asyncSuccess=!0):r.modal("compress",!0)},function(){e.asyncSuccess=!1})},r.extract=function(e){e.extract().then(function(){return r.fileNavigator.refresh(),r.config.extractAsync?void(e.asyncSuccess=!0):r.modal("extract",!0)},function(){e.asyncSuccess=!1})},r.remove=function(e){e.remove().then(function(){r.fileNavigator.refresh(),r.modal("delete",!0)})},r.rename=function(e){var n=e.tempModel.path.join()===e.model.path.join();return n&&r.fileNavigator.fileNameExists(e.tempModel.name)?(e.error=t.instant("error_invalid_filename"),!1):void e.rename().then(function(){r.fileNavigator.refresh(),r.modal("rename",!0)})},r.createFolder=function(e){var n=e.tempModel.name&&e.tempModel.name.trim();return e.tempModel.type="dir",e.tempModel.path=r.fileNavigator.currentPath,!n||r.fileNavigator.fileNameExists(n)?(e.error=t.instant("error_invalid_filename"),!1):void e.createFolder().then(function(){r.fileNavigator.refresh(),r.modal("newfolder",!0)})},r.uploadFiles=function(){r.fileUploader.upload(r.uploadFileList,r.fileNavigator.currentPath).then(function(){r.fileNavigator.refresh(),r.modal("uploadfile",!0)},function(e){var n=e.result&&e.result.error||t.instant("error_uploading_files");r.temp.error=n})},r.getQueryParam=function(r){var n;return e.location.search.substr(1).split("&").forEach(function(e){return r===e.split("=")[0]?(n=e.split("=")[1],!1):void 0}),n},r.changeLanguage(r.getQueryParam("lang")),r.isWindows="Windows"===r.getQueryParam("server"),r.fileNavigator.refresh()}])}(window,angular,jQuery),function(e,r){"use strict";e.module("FileManagerApp").controller("ModalFileManagerCtrl",["$scope","$rootScope","fileNavigator",function(e,n,t){e.reverse=!1,e.predicate=["model.type","model.name"],e.order=function(r){e.reverse=e.predicate[1]===r?!e.reverse:!1,e.predicate[1]=r},e.fileNavigator=new t,n.select=function(e,n){n.tempModel.path=e.model.fullPath().split("/"),r("#selector").modal("hide")},n.openNavigator=function(n){e.fileNavigator.currentPath=n.model.path.slice(),e.fileNavigator.refresh(),r("#selector").modal("show")}}])}(angular,jQuery),function(e){"use strict";e.module("FileManagerApp").service("chmod",function(){var e=function(e){if(this.owner=this.getRwxObj(),this.group=this.getRwxObj(),this.others=this.getRwxObj(),e){var r=isNaN(e)?this.convertfromCode(e):this.convertfromOctal(e);if(!r)throw new Error("Invalid chmod input data");this.owner=r.owner,this.group=r.group,this.others=r.others}};return e.prototype.toOctal=function(e,r){var n=["owner","group","others"],t=[];for(var a in n){var i=n[a];t[a]=this[i].read&&this.octalValues.read||0,t[a]+=this[i].write&&this.octalValues.write||0,t[a]+=this[i].exec&&this.octalValues.exec||0}return(e||"")+t.join("")+(r||"")},e.prototype.toCode=function(e,r){var n=["owner","group","others"],t=[];for(var a in n){var i=n[a];t[a]=this[i].read&&this.codeValues.read||"-",t[a]+=this[i].write&&this.codeValues.write||"-",t[a]+=this[i].exec&&this.codeValues.exec||"-"}return(e||"")+t.join("")+(r||"")},e.prototype.getRwxObj=function(){return{read:!1,write:!1,exec:!1}},e.prototype.octalValues={read:4,write:2,exec:1},e.prototype.codeValues={read:"r",write:"w",exec:"x"},e.prototype.convertfromCode=function(e){if(e=(""+e).replace(/\s/g,""),e=10===e.length?e.substr(1):e,/^[-rwxt]{9}$/.test(e)){var r=[],n=e.match(/.{1,3}/g);for(var t in n){var a=this.getRwxObj();a.read=/r/.test(n[t]),a.write=/w/.test(n[t]),a.exec=/x|t/.test(n[t]),r.push(a)}return{owner:r[0],group:r[1],others:r[2]}}},e.prototype.convertfromOctal=function(e){if(e=(""+e).replace(/\s/g,""),e=4===e.length?e.substr(1):e,/^[0-7]{3}$/.test(e)){var r=[],n=e.match(/.{1}/g);for(var t in n){var a=this.getRwxObj();a.read=/[4567]/.test(n[t]),a.write=/[2367]/.test(n[t]),a.exec=/[1357]/.test(n[t]),r.push(a)}return{owner:r[0],group:r[1],others:r[2]}}},e})}(angular),function(e,r,n){"use strict";r.module("FileManagerApp").factory("item",["$http","$q","$translate","fileManagerConfig","chmod",function(t,a,i,o,s){var l=function(e,n){function t(e){var r=(e||"").toString().split(/[- :]/);return new Date(r[0],r[1]-1,r[2],r[3],r[4],r[5])}var a={name:e&&e.name||"",path:n||[],type:e&&e.type||"file",size:e&&parseInt(e.size||0),date:t(e&&e.date),perms:new s(e&&e.rights),content:e&&e.content||"",recursive:!1,sizeKb:function(){return Math.round(this.size/1024,1)},fullPath:function(){return("/"+this.path.join("/")+"/"+this.name).replace(/\/\//,"/")}};this.error="",this.inprocess=!1,this.model=r.copy(a),this.tempModel=r.copy(a)};return l.prototype.update=function(){r.extend(this.model,r.copy(this.tempModel))},l.prototype.revert=function(){r.extend(this.tempModel,r.copy(this.model)),this.error=""},l.prototype.deferredHandler=function(e,r,n){return e&&"object"==typeof e||(this.error="Bridge response error, please check the docs"),e.result&&e.result.error&&(this.error=e.result.error),!this.error&&e.error&&(this.error=e.error.message),!this.error&&n&&(this.error=n),this.error?r.reject(e):(this.update(),r.resolve(e))},l.prototype.createFolder=function(){var e=this,r=a.defer(),n={params:{mode:"addfolder",path:e.tempModel.path.join("/"),name:e.tempModel.name}};return e.inprocess=!0,e.error="",t.post(o.createFolderUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_creating_folder"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.rename=function(){var e=this,r=a.defer(),n={params:{mode:"rename",path:e.model.fullPath(),newPath:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.renameUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_renaming"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.copy=function(){var e=this,r=a.defer(),n={params:{mode:"copy",path:e.model.fullPath(),newPath:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.copyUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_copying"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.compress=function(){var e=this,r=a.defer(),n={params:{mode:"compress",path:e.model.fullPath(),destination:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.compressUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_compressing"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.extract=function(){var e=this,r=a.defer(),n={params:{mode:"extract",path:e.model.fullPath(),sourceFile:e.model.fullPath(),destination:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.extractUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_extracting"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.getUrl=function(e){var r=this.model.fullPath(),t={mode:"download",preview:e,path:r};return r&&[o.downloadFileUrl,n.param(t)].join("?")},l.prototype.download=function(r){"dir"!==this.model.type&&e.open(this.getUrl(r),"_blank","")},l.prototype.getContent=function(){var e=this,r=a.defer(),n={params:{mode:"editfile",path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.getContentUrl,n).success(function(n){e.tempModel.content=e.model.content=n.result,e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_getting_content"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.remove=function(){var e=this,r=a.defer(),n={params:{mode:"delete",path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.removeUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_deleting"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.edit=function(){var e=this,r=a.defer(),n={params:{mode:"savefile",content:e.tempModel.content,path:e.tempModel.fullPath()}};return e.inprocess=!0,e.error="",t.post(o.editUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_modifying"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.changePermissions=function(){var e=this,r=a.defer(),n={params:{mode:"changepermissions",path:e.tempModel.fullPath(),perms:e.tempModel.perms.toOctal(),permsCode:e.tempModel.perms.toCode(),recursive:e.tempModel.recursive}};return e.inprocess=!0,e.error="",t.post(o.permissionsUrl,n).success(function(n){e.deferredHandler(n,r)}).error(function(n){e.deferredHandler(n,r,i.instant("error_changing_perms"))})["finally"](function(){e.inprocess=!1}),r.promise},l.prototype.isFolder=function(){return"dir"===this.model.type},l.prototype.isEditable=function(){return!this.isFolder()&&o.isEditableFilePattern.test(this.model.name)},l.prototype.isImage=function(){return o.isImageFilePattern.test(this.model.name)},l.prototype.isCompressible=function(){return this.isFolder()},l.prototype.isExtractable=function(){return!this.isFolder()&&o.isExtractableFilePattern.test(this.model.name)},l}])}(window,angular,jQuery),function(e){"use strict";var r=e.module("FileManagerApp");r.filter("strLimit",["$filter",function(e){return function(r,n){return r.length<=n?r:e("limitTo")(r,n)+"..."}}]),r.filter("formatDate",["$filter",function(){return function(e){return e instanceof Date?e.toISOString().substring(0,19).replace("T"," "):(e.toLocaleString||e.toString).apply(e)}}]),r.filter("humanReadableFileSize",["$filter","fileManagerConfig",function(e,r){var n=[" kB"," MB"," GB"," TB","PB","EB","ZB","YB"],t=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];return function(e){var a=-1,i=e;do i/=1024,a++;while(i>1024);var o=r.useBinarySizePrefixes?t[a]:n[a];return Math.max(i,.1).toFixed(1)+" "+o}}])}(angular),function(e){"use strict";e.module("FileManagerApp").provider("fileManagerConfig",function(){var r={appName:"https://github.com/joni2back/angular-filemanager",defaultLang:"en",listUrl:"bridges/php/handler.php",uploadUrl:"bridges/php/handler.php",renameUrl:"bridges/php/handler.php",copyUrl:"bridges/php/handler.php",removeUrl:"bridges/php/handler.php",editUrl:"bridges/php/handler.php",getContentUrl:"bridges/php/handler.php",createFolderUrl:"bridges/php/handler.php",downloadFileUrl:"bridges/php/handler.php",compressUrl:"bridges/php/handler.php",extractUrl:"bridges/php/handler.php",permissionsUrl:"bridges/php/handler.php",searchForm:!0,sidebar:!0,breadcrumb:!0,allowedActions:{upload:!0,rename:!0,copy:!0,edit:!0,changePermissions:!0,compress:!0,compressChooseName:!0,extract:!0,download:!0,preview:!0,remove:!0},showSizeForDirectories:!1,useBinarySizePrefixes:!1,previewImagesInModal:!0,enablePermissionsRecursive:!0,compressAsync:!0,extractAsync:!0,isEditableFilePattern:/\.(txt|html?|aspx?|ini|pl|py|md|css|js|log|htaccess|htpasswd|json|sql|xml|xslt?|sh|rb|as|bat|cmd|coffee|php[3-6]?|java|c|cbl|go|h|scala|vb)$/i,isImageFilePattern:/\.(jpe?g|gif|bmp|png|svg|tiff?)$/i,isExtractableFilePattern:/\.(gz|tar|rar|g?zip)$/i,tplPath:"src/templates"};return{$get:function(){return r},set:function(n){e.extend(r,n)}}})}(angular),function(e){"use strict";e.module("FileManagerApp").config(["$translateProvider",function(e){e.useSanitizeValueStrategy(null),e.translations("en",{filemanager:"File Manager",language:"Language",english:"English",spanish:"Spanish",portuguese:"Portuguese",french:"French",german:"German",confirm:"Confirm",cancel:"Cancel",close:"Close",upload_file:"Upload file",files_will_uploaded_to:"Files will be uploaded to",uploading:"Uploading",permissions:"Permissions",select_destination_folder:"Select the destination folder",source:"Source",destination:"Destination",copy_file:"Copy file",sure_to_delete:"Are you sure to delete",change_name_move:"Change name / move",enter_new_name_for:"Enter new name for",extract_item:"Extract item",extraction_started:"Extraction started in a background process",compression_started:"Compression started in a background process",enter_folder_name_for_extraction:"Enter the folder name for the extraction of",enter_folder_name_for_compression:"Enter the folder name for the compression of",toggle_fullscreen:"Toggle fullscreen",edit_file:"Edit file",file_content:"File content",loading:"Loading",search:"Search",create_folder:"Create folder",create:"Create",folder_name:"Folder name",upload:"Upload",change_permissions:"Change permissions",change:"Change",details:"Details",icons:"Icons",list:"List",name:"Name",size:"Size",actions:"Actions",date:"Date",no_files_in_folder:"No files in this folder",no_folders_in_folder:"This folder not contains children folders",select_this:"Select this",go_back:"Go back",wait:"Wait",move:"Move",download:"Download",view_item:"View item",remove:"Delete",edit:"Edit",copy:"Copy",rename:"Rename",extract:"Extract",compress:"Compress",error_invalid_filename:"Invalid filename or already exists, specify another name",error_modifying:"An error occurred modifying the file",error_deleting:"An error occurred deleting the file or folder",error_renaming:"An error occurred renaming the file",error_copying:"An error occurred copying the file",error_compressing:"An error occurred compressing the file or folder",error_extracting:"An error occurred extracting the file",error_creating_folder:"An error occurred creating the folder",error_getting_content:"An error occurred getting the content of the file",error_changing_perms:"An error occurred changing the permissions of the file",error_uploading_files:"An error occurred uploading files",sure_to_start_compression_with:"Are you sure to compress",owner:"Owner",group:"Group",others:"Others",read:"Read",write:"Write",exec:"Exec",original:"Original",changes:"Changes",recursive:"Recursive",preview:"Item preview",open:"Open"}),e.translations("pt",{filemanager:"Gerenciador de arquivos",language:"Língua",english:"Inglês",spanish:"Espanhol",portuguese:"Portugues",french:"Francês",german:"Alemão",confirm:"Confirmar",cancel:"Cancelar",close:"Fechar",upload_file:"Carregar arquivo",files_will_uploaded_to:"Os arquivos serão enviados para",uploading:"Carregar",permissions:"Autorizações",select_destination_folder:"Selecione a pasta de destino",source:"Origem",destination:"Destino",copy_file:"Copiar arquivo",sure_to_delete:"Tem certeza de que deseja apagar",change_name_move:"Renomear / mudança",enter_new_name_for:"Digite o novo nome para",extract_item:"Extrair arquivo",extraction_started:"A extração começou em um processo em segundo plano",compression_started:"A compressão começou em um processo em segundo plano",enter_folder_name_for_extraction:"Digite o nome da pasta para a extração de",enter_folder_name_for_compression:"Digite o nome da pasta para Compressão",toggle_fullscreen:"Ativar/desativar tela cheia",edit_file:"Editar arquivo",file_content:"Conteúdo do arquivo",loading:"Carregando",search:"Localizar",create_folder:"Criar Pasta",create:"Criar",folder_name:"Nome da pasta",upload:"Fazer",change_permissions:"Alterar permissões",change:"Alterar",details:"Detalhes",icons:"Icones",list:"Lista",name:"Nome",size:"Tamanho",actions:"Ações",date:"Data",no_files_in_folder:"Não há arquivos nesta pasta",no_folders_in_folder:"Esta pasta não contém subpastas",select_this:"Selecione esta",go_back:"Voltar",wait:"Espere",move:"Mover",download:"Baixar",view_item:"Veja o arquivo",remove:"Excluir",edit:"Editar",copy:"Copiar",rename:"Renomear",extract:"Extrair",compress:"Comprimir",error_invalid_filename:"Nome do arquivo inválido ou nome de arquivo já existe, especifique outro nome",error_modifying:"Ocorreu um erro ao modificar o arquivo",error_deleting:"Ocorreu um erro ao excluir o arquivo ou pasta",error_renaming:"Ocorreu um erro ao mudar o nome do arquivo",error_copying:"Ocorreu um erro ao copiar o arquivo",error_compressing:"Ocorreu um erro ao comprimir o arquivo ou pasta",error_extracting:"Ocorreu um erro ao extrair o arquivo",error_creating_folder:"Ocorreu um erro ao criar a pasta",error_getting_content:"Ocorreu um erro ao obter o conteúdo do arquivo",error_changing_perms:"Ocorreu um erro ao alterar as permissões do arquivo",error_uploading_files:"Ocorreu um erro upload de arquivos",sure_to_start_compression_with:"Tem certeza que deseja comprimir",owner:"Proprietário",group:"Grupo",others:"Outros",read:"Leitura",write:"Escrita ",exec:"Execução",original:"Original",changes:"Mudanças",recursive:"Recursiva",preview:"Visualização",open:"Abrir"}),e.translations("es",{filemanager:"Administrador de archivos",language:"Idioma",english:"Ingles",spanish:"Español",portuguese:"Portugues",french:"Francés",german:"Alemán",confirm:"Confirmar",cancel:"Cancelar",close:"Cerrar",upload_file:"Subir archivo",files_will_uploaded_to:"Los archivos seran subidos a",uploading:"Subiendo",permissions:"Permisos",select_destination_folder:"Seleccione la carpeta de destino",source:"Origen",destination:"Destino",copy_file:"Copiar archivo",sure_to_delete:"Esta seguro que desea eliminar",change_name_move:"Renombrar / mover",enter_new_name_for:"Ingrese el nuevo nombre para",extract_item:"Extraer archivo",extraction_started:"La extraccion ha comenzado en un proceso de segundo plano",compression_started:"La compresion ha comenzado en un proceso de segundo plano",enter_folder_name_for_extraction:"Ingrese el nombre de la carpeta para la extraccion de",enter_folder_name_for_compression:"Ingrese el nombre de la carpeta para la compresion de",toggle_fullscreen:"Activar/Desactivar pantalla completa",edit_file:"Editar archivo",file_content:"Contenido del archivo",loading:"Cargando",search:"Buscar",create_folder:"Crear carpeta",create:"Crear",folder_name:"Nombre de la carpeta",upload:"Subir",change_permissions:"Cambiar permisos",change:"Cambiar",details:"Detalles",icons:"Iconos",list:"Lista",name:"Nombre",size:"Tamaño",actions:"Acciones",date:"Fecha",no_files_in_folder:"No hay archivos en esta carpeta",no_folders_in_folder:"Esta carpeta no contiene sub-carpetas",select_this:"Seleccionar esta",go_back:"Volver",wait:"Espere",move:"Mover",download:"Descargar",view_item:"Ver archivo",remove:"Eliminar",edit:"Editar",copy:"Copiar",rename:"Renombrar",extract:"Extraer",compress:"Comprimir",error_invalid_filename:"El nombre del archivo es invalido o ya existe",error_modifying:"Ocurrio un error al intentar modificar el archivo",error_deleting:"Ocurrio un error al intentar eliminar el archivo",error_renaming:"Ocurrio un error al intentar renombrar el archivo",error_copying:"Ocurrio un error al intentar copiar el archivo",error_compressing:"Ocurrio un error al intentar comprimir el archivo",error_extracting:"Ocurrio un error al intentar extraer el archivo",error_creating_folder:"Ocurrio un error al intentar crear la carpeta",error_getting_content:"Ocurrio un error al obtener el contenido del archivo",error_changing_perms:"Ocurrio un error al cambiar los permisos del archivo",error_uploading_files:"Ocurrio un error al subir archivos",sure_to_start_compression_with:"Esta seguro que desea comprimir",owner:"Propietario",group:"Grupo",others:"Otros",read:"Lectura",write:"Escritura",exec:"Ejecucion",original:"Original",changes:"Cambios",recursive:"Recursivo",preview:"Vista previa",open:"Abrir"}),e.translations("fr",{filemanager:"Gestionnaire de fichier",language:"Langue",english:"Anglais",spanish:"Espagnol",portuguese:"Portugais",french:"Français",german:"Allemand",confirm:"Confirmer",cancel:"Annuler",close:"Fermer",upload_file:"Uploader un fichier",files_will_uploaded_to:"Les fichiers seront uploadé dans",uploading:"Upload en cours",permissions:"Permissions",select_destination_folder:"Sélectionné le dossier de destination",source:"Source",destination:"Destination",copy_file:"Copier le fichier",sure_to_delete:"Êtes-vous sûr de vouloir supprimer",change_name_move:"Renommer / Déplacer",enter_new_name_for:"Entrer le nouveau nom pour",extract_item:"Extraires les éléments",extraction_started:"L'extraction a démarré en tâche de fond",compression_started:"La compression a démarré en tâche de fond",enter_folder_name_for_extraction:"Entrer le nom du dossier pour l'extraction de",enter_folder_name_for_compression:"Entrer le nom du dossier pour la compression de",toggle_fullscreen:"Basculer en plein écran",edit_file:"Éditer le fichier",file_content:"Contenu du fichier",loading:"Chargement en cours",search:"Recherche",create_folder:"Créer un dossier",create:"Créer",folder_name:"Nom du dossier",upload:"Upload",change_permissions:"Changer les permissions",change:"Changer",details:"Details",icons:"Icons",list:"Liste",name:"Nom",size:"Taille",actions:"Actions",date:"Date",no_files_in_folder:"Aucun fichier dans ce dossier",no_folders_in_folder:"Ce dossier ne contiens pas de dossier",select_this:"Sélectionner",go_back:"Retour",wait:"Patienter",move:"Déplacer",download:"Télécharger",view_item:"Voir l'élément",remove:"Supprimer",edit:"Éditer",copy:"Copier",rename:"Renommer",extract:"Extraire",compress:"Compresser",error_invalid_filename:"Nom de fichier invalide ou déjà existant, merci de spécifier un autre nom",error_modifying:"Une erreur est survenue pendant la modification du fichier",error_deleting:"Une erreur est survenue pendant la suppression du fichier ou du dossier",error_renaming:"Une erreur est survenue pendant le renommage du fichier",error_copying:"Une erreur est survenue pendant la copie du fichier",error_compressing:"Une erreur est survenue pendant la compression du fichier ou du dossier",error_extracting:"Une erreur est survenue pendant l'extraction du fichier",error_creating_folder:"Une erreur est survenue pendant la création du dossier",error_getting_content:"Une erreur est survenue pendant la récupération du contenu du fichier",error_changing_perms:"Une erreur est survenue pendant le changement des permissions du fichier",error_uploading_files:"Une erreur est survenue pendant l'upload des fichiers",sure_to_start_compression_with:"Êtes-vous sûre de vouloir compresser",owner:"Propriétaire",group:"Groupe",others:"Autres",read:"Lecture",write:"Écriture",exec:"Éxécution",original:"Original",changes:"Modifications",recursive:"Récursif",preview:"Aperçu",open:"Ouvrir"}),e.translations("de",{filemanager:"Dateimanager",language:"Sprache",english:"Englisch",spanish:"Spansisch",portuguese:"Portugiesisch",french:"Französisch",german:"Deutsch",confirm:"Bestätigen",cancel:"Abbrechen",close:"Schließen",upload_file:"Datei hochladen",files_will_uploaded_to:"Dateien werden hochgeladen nach",uploading:"Lade hoch",permissions:"Berechtigungen",select_destination_folder:"Wählen Sie einen Zielordner",source:"Quelle",destination:"Ziel",copy_file:"Datei kopieren",sure_to_delete:"Sind Sie sicher, dass Sie die Datei löschen möchten?",change_name_move:"Namen ändern / verschieben",enter_new_name_for:"Geben Sie den neuen Namen ein für",extract_item:"Archiv entpacken",extraction_started:"Entpacken hat im Hintergrund begonnen",compression_started:"Komprimierung hat im Hintergrund begonnen",enter_folder_name_for_extraction:"Geben Sie den Verzeichnisnamen für die Entpackung an, von",enter_folder_name_for_compression:"Geben Sie den Verzeichnisnamen für die Komprimierung an, von",toggle_fullscreen:"Vollbild umschalten",edit_file:"Datei bearbeiten",file_content:"Dateiinhalt",loading:"Lade",search:"Suche",create_folder:"Ordner erstellen",create:"Erstellen",folder_name:"Verzeichnisname",upload:"Hochladen",change_permissions:"Berechtigungen ändern",change:"Ändern",details:"Details",icons:"Symbolansicht",list:"Listenansicht",name:"Name",size:"Größe",actions:"Aktionen",date:"Datum",no_files_in_folder:"Keine Dateien in diesem Ordner",no_folders_in_folder:"Dieser Ordner enthält keine Unterordner",select_this:"Auswählen",go_back:"Zurück",wait:"Warte",move:"Verschieben",download:"Herunterladen",view_item:"Datei ansehen",remove:"Löschen",edit:"Bearbeiten",copy:"Kopieren",rename:"Umbenennen",extract:"Entpacken",compress:"Komprimieren",error_invalid_filename:"Ungültiger Dateiname oder existiert bereits",error_modifying:"Beim Bearbeiten der Datei ist ein Fehler aufgetreten",error_deleting:"Beim Löschen der Datei oder des Ordners ist ein Fehler aufgetreten",error_renaming:"Beim Umbennenen der Datei ist ein Fehler aufgetreten",error_copying:"Beim Kopieren der Datei ist ein Fehler aufgetreten",error_compressing:"Beim Komprimieren der Datei oder des Ordners ist ein Fehler aufgetreten",error_extracting:"Beim Entpacken der Datei ist ein Fehler aufgetreten",error_creating_folder:"Beim Erstellen des Ordners ist ein Fehler aufgetreten",error_getting_content:"Beim Holen des Dateiinhalts ist ein Fehler aufgetreten",error_changing_perms:"Beim Ändern der Dateiberechtigungen ist ein Fehler aufgetreten",error_uploading_files:"Beim Hochladen der Dateien ist ein Fehler aufgetreten",sure_to_start_compression_with:"Möchten Sie die Datei wirklich komprimieren?",owner:"Besitzer",group:"Gruppe",others:"Andere",read:"Lesen",write:"Schreiben",exec:"Ausführen",original:"Original",changes:"Änderungen",recursive:"Rekursiv",preview:"Dateivorschau",open:"Öffnen"})}])}(angular),function(e){"use strict";e.module("FileManagerApp").service("fileNavigator",["$http","$q","fileManagerConfig","item",function(e,r,n,t){e.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";var a=function(){this.requesting=!1,this.fileList=[],this.currentPath=[],this.history=[],this.error=""};return a.prototype.deferredHandler=function(e,r,n){return e&&"object"==typeof e||(this.error="Bridge response error, please check the docs"),!this.error&&e.result&&e.result.error&&(this.error=e.result.error),!this.error&&e.error&&(this.error=e.error.message),!this.error&&n&&(this.error=n),this.error?r.reject(e):r.resolve(e)},a.prototype.list=function(){var t=this,a=r.defer(),i=t.currentPath.join("/"),o={params:{mode:"list",onlyFolders:!1,path:"/"+i}};return t.requesting=!0,t.fileList=[],t.error="",e.post(n.listUrl,o).success(function(e){t.deferredHandler(e,a)}).error(function(e){t.deferredHandler(e,a,"Unknown error listing, check the response")})["finally"](function(){t.requesting=!1}),a.promise},a.prototype.refresh=function(){var e=this,r=e.currentPath.join("/");return e.list().then(function(n){e.fileList=(n.result||[]).map(function(r){return new t(r,e.currentPath)}),e.buildTree(r)})},a.prototype.buildTree=function(e){function r(e,n,t){var a=t?t+"/"+n.model.name:n.model.name;if(e.name.trim()&&0!==t.trim().indexOf(e.name)&&(e.nodes=[]),e.name!==t)for(var i in e.nodes)r(e.nodes[i],n,t);else{for(var o in e.nodes)if(e.nodes[o].name===a)return;e.nodes.push({item:n,name:a,nodes:[]})}e.nodes=e.nodes.sort(function(e,r){return e.name.toLowerCase()\r\n
  • \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n {{dir}}\r\n \r\n {{dir}}\r\n
  • \r\n
  • \r\n'), e.put("src/templates/item-context-menu.html",''),e.put("src/templates/item-toolbar.html",'
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {{"wait" | translate}} ...\r\n
    '),e.put("src/templates/main-icons.html",'
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {{"no_files_in_folder" | translate}}...\r\n
    \r\n \r\n
    \r\n {{ fileNavigator.error }}\r\n
    \r\n
    '),e.put("src/templates/main-table-modal.html",'\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{"name" | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {{"no_folders_in_folder" | translate}}...\r\n \r\n \r\n
    \r\n {{ fileNavigator.error }}\r\n
    \r\n \r\n \r\n {{item.model.name | strLimit : 32}}\r\n \r\n \r\n \r\n
    '),e.put("src/templates/main-table.html",'\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {{"name" | translate}}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {{"no_files_in_folder" | translate}}...\r\n
    \r\n {{ fileNavigator.error }}\r\n
    \r\n \r\n \r\n \r\n {{item.model.name | strLimit : 64}}\r\n \r\n \r\n
    \r\n
    \r\n'),e.put("src/templates/main.html",'
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    '),e.put("src/templates/modals.html",'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n'), e.put("src/templates/navbar.html",'\r\n'),e.put("src/templates/sidebar.html",'\r\n\r\n'),e.put("src/templates/spinner.html",'
    \r\n \r\n \r\n \r\n
    ')}]); \ No newline at end of file diff --git a/index.html b/index.html index bef89fda..e05c29d7 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ diff --git a/package.json b/package.json index 8ec3ea88..5f11fee9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-filemanager", - "version": "1.4.7", + "version": "1.4.8", "description": "A very smart filemanager to manage your files in the browser.", "main": "src/app.js", "scripts": { diff --git a/src/js/app.js b/src/js/app.js index 1e25f3c4..146683fd 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -1,12 +1,12 @@ /*! - * Angular FileManager v1.4.7 (https://github.com/joni2back/angular-filemanager) + * Angular FileManager v1.4.8 (https://github.com/joni2back/angular-filemanager) * Jonas Sciangula Street * Licensed under MIT (https://github.com/joni2back/angular-filemanager/blob/master/LICENSE) */ (function(window, angular, $) { 'use strict'; - angular.module('FileManagerApp', ['pascalprecht.translate', 'ngCookies']); + angular.module('FileManagerApp', ['pascalprecht.translate']); /** * jQuery inits diff --git a/src/js/controllers/main.js b/src/js/controllers/main.js index f5ff2039..4eeffa21 100644 --- a/src/js/controllers/main.js +++ b/src/js/controllers/main.js @@ -1,8 +1,10 @@ (function(window, angular, $) { 'use strict'; angular.module('FileManagerApp').controller('FileManagerCtrl', [ - '$scope', '$translate', '$cookies', 'fileManagerConfig', 'item', 'fileNavigator', 'fileUploader', - function($scope, $translate, $cookies, fileManagerConfig, Item, FileNavigator, FileUploader) { + '$scope', '$translate', 'fileManagerConfig', 'item', 'fileNavigator', 'fileUploader', + function($scope, $translate, fileManagerConfig, Item, FileNavigator, FileUploader) { + + var $storage = window.localStorage; $scope.config = fileManagerConfig; $scope.reverse = false; @@ -17,19 +19,19 @@ $scope.fileNavigator = new FileNavigator(); $scope.fileUploader = FileUploader; $scope.uploadFileList = []; - $scope.viewTemplate = $cookies.get('viewTemplate') || 'main-table.html'; + $scope.viewTemplate = $storage.getItem('viewTemplate') || 'main-table.html'; $scope.setTemplate = function(name) { - $cookies.put('viewTemplate', name); + $storage.setItem('viewTemplate', name); $scope.viewTemplate = name; }; $scope.changeLanguage = function (locale) { if (locale) { - $cookies.put('language', locale); + $storage.setItem('language', locale); return $translate.use(locale); } - $translate.use($cookies.get('language') || fileManagerConfig.defaultLang); + $translate.use($storage.getItem('language') || fileManagerConfig.defaultLang); }; $scope.touch = function(item) {