File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/controllers.tar
Back
main.js 0000644 00000033661 15030004250 0006024 0 ustar 00 (function(angular, $) { 'use strict'; angular.module('FileManagerApp').controller('FileManagerCtrl', [ '$scope', '$rootScope', '$window', '$translate', 'fileManagerConfig', 'item', 'fileNavigator', 'apiMiddleware', function($scope, $rootScope, $window, $translate, fileManagerConfig, Item, FileNavigator, ApiMiddleware) { var $storage = $window.localStorage; $scope.config = fileManagerConfig; $scope.reverse = false; $scope.predicate = ['model.type', 'model.name']; $scope.order = function(predicate) { $scope.reverse = ($scope.predicate[1] === predicate) ? !$scope.reverse : false; $scope.predicate[1] = predicate; }; $scope.query = ''; $scope.fileNavigator = new FileNavigator(); $scope.apiMiddleware = new ApiMiddleware(); $scope.uploadFileList = []; $scope.viewTemplate = $storage.getItem('viewTemplate') || 'main-icons.html'; $scope.fileList = []; $scope.temps = []; $scope.$watch('temps', function() { if ($scope.singleSelection()) { $scope.temp = $scope.singleSelection(); } else { $scope.temp = new Item({rights: 644}); $scope.temp.multiple = true; } $scope.temp.revert(); }); $scope.fileNavigator.onRefresh = function() { $scope.temps = []; $scope.query = ''; $rootScope.selectedModalPath = $scope.fileNavigator.currentPath; }; $scope.setTemplate = function(name) { $storage.setItem('viewTemplate', name); $scope.viewTemplate = name; }; $scope.changeLanguage = function (locale) { if (locale) { $storage.setItem('language', locale); return $translate.use(locale); } $translate.use($storage.getItem('language') || fileManagerConfig.defaultLang); }; $scope.isSelected = function(item) { return $scope.temps.indexOf(item) !== -1; }; $scope.selectOrUnselect = function(item, $event) { var indexInTemp = $scope.temps.indexOf(item); var isRightClick = $event && $event.which == 3; if ($event && $event.target.hasAttribute('prevent')) { $scope.temps = []; return; } if (! item || (isRightClick && $scope.isSelected(item))) { return; } if ($event && $event.shiftKey && !isRightClick) { var list = $scope.fileList; var indexInList = list.indexOf(item); var lastSelected = $scope.temps[0]; var i = list.indexOf(lastSelected); var current = undefined; if (lastSelected && list.indexOf(lastSelected) < indexInList) { $scope.temps = []; while (i <= indexInList) { current = list[i]; !$scope.isSelected(current) && $scope.temps.push(current); i++; } return; } if (lastSelected && list.indexOf(lastSelected) > indexInList) { $scope.temps = []; while (i >= indexInList) { current = list[i]; !$scope.isSelected(current) && $scope.temps.push(current); i--; } return; } } if ($event && !isRightClick && ($event.ctrlKey || $event.metaKey)) { $scope.isSelected(item) ? $scope.temps.splice(indexInTemp, 1) : $scope.temps.push(item); return; } $scope.temps = [item]; }; $scope.singleSelection = function() { return $scope.temps.length === 1 && $scope.temps[0]; }; $scope.totalSelecteds = function() { return { total: $scope.temps.length }; }; $scope.selectionHas = function(type) { return $scope.temps.find(function(item) { return item && item.model.type === type; }); }; $scope.prepareNewFolder = function() { var item = new Item(null, $scope.fileNavigator.currentPath); $scope.temps = [item]; return item; }; $scope.smartClick = function(item) { var pick = $scope.config.allowedActions.pickFiles; if (item.isFolder()) { return $scope.fileNavigator.folderClick(item); } if (typeof $scope.config.pickCallback === 'function' && pick) { var callbackSuccess = $scope.config.pickCallback(item.model); if (callbackSuccess === true) { return; } } if (item.isImage()) { if ($scope.config.previewImagesInModal) { return $scope.openImagePreview(item); } return $scope.apiMiddleware.download(item, true); } if (item.isEditable()) { return $scope.openEditItem(item); } }; $scope.openImagePreview = function() { var item = $scope.singleSelection(); $scope.apiMiddleware.apiHandler.inprocess = true; $scope.modal('imagepreview', null, true) .find('#imagepreview-target') .attr('src', $scope.apiMiddleware.getUrl(item)) .unbind('load error') .on('load error', function() { $scope.apiMiddleware.apiHandler.inprocess = false; $scope.$apply(); }); }; $scope.openEditItem = function() { var item = $scope.singleSelection(); $scope.apiMiddleware.getContent(item).then(function(data) { item.tempModel.content = item.model.content = data.result; }); $scope.modal('edit'); }; $scope.modal = function(id, hide, returnElement) { var element = $('#' + id); element.modal(hide ? 'hide' : 'show'); $scope.apiMiddleware.apiHandler.error = ''; $scope.apiMiddleware.apiHandler.asyncSuccess = false; return returnElement ? element : true; }; $scope.modalWithPathSelector = function(id) { $rootScope.selectedModalPath = $scope.fileNavigator.currentPath; return $scope.modal(id); }; $scope.isInThisPath = function(path) { var currentPath = $scope.fileNavigator.currentPath.join('/') + '/'; return currentPath.indexOf(path + '/') !== -1; }; $scope.edit = function() { $scope.apiMiddleware.edit($scope.singleSelection()).then(function() { $scope.modal('edit', true); }); }; $scope.changePermissions = function() { $scope.apiMiddleware.changePermissions($scope.temps, $scope.temp).then(function() { $scope.fileNavigator.refresh(); $scope.modal('changepermissions', true); }); }; $scope.download = function() { var item = $scope.singleSelection(); if ($scope.selectionHas('dir')) { return; } if (item) { return $scope.apiMiddleware.download(item); } return $scope.apiMiddleware.downloadMultiple($scope.temps); }; $scope.copy = function() { var item = $scope.singleSelection(); if (item) { var name = item.tempModel.name.trim(); var nameExists = $scope.fileNavigator.fileNameExists(name); if (nameExists && validateSamePath(item)) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } if (!name) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } } $scope.apiMiddleware.copy($scope.temps, $rootScope.selectedModalPath).then(function() { $scope.fileNavigator.refresh(); $scope.modal('copy', true); }); }; $scope.compress = function() { var name = $scope.temp.tempModel.name.trim(); var nameExists = $scope.fileNavigator.fileNameExists(name); if (nameExists && validateSamePath($scope.temp)) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } if (!name) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } $scope.apiMiddleware.compress($scope.temps, name, $rootScope.selectedModalPath).then(function() { $scope.fileNavigator.refresh(); if (! $scope.config.compressAsync) { return $scope.modal('compress', true); } $scope.apiMiddleware.apiHandler.asyncSuccess = true; }, function() { $scope.apiMiddleware.apiHandler.asyncSuccess = false; }); }; $scope.extract = function() { var item = $scope.temp; var name = $scope.temp.tempModel.name.trim(); var nameExists = $scope.fileNavigator.fileNameExists(name); if (nameExists && validateSamePath($scope.temp)) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } if (!name) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } $scope.apiMiddleware.extract(item, name, $rootScope.selectedModalPath).then(function() { $scope.fileNavigator.refresh(); if (! $scope.config.extractAsync) { return $scope.modal('extract', true); } $scope.apiMiddleware.apiHandler.asyncSuccess = true; }, function() { $scope.apiMiddleware.apiHandler.asyncSuccess = false; }); }; $scope.remove = function() { $scope.apiMiddleware.remove($scope.temps).then(function() { $scope.fileNavigator.refresh(); $scope.modal('remove', true); }); }; $scope.move = function() { var anyItem = $scope.singleSelection() || $scope.temps[0]; if (anyItem && validateSamePath(anyItem)) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_cannot_move_same_path'); return false; } $scope.apiMiddleware.move($scope.temps, $rootScope.selectedModalPath).then(function() { $scope.fileNavigator.refresh(); $scope.modal('move', true); }); }; $scope.rename = function() { var item = $scope.singleSelection(); var name = item.tempModel.name; var samePath = item.tempModel.path.join('') === item.model.path.join(''); if (!name || (samePath && $scope.fileNavigator.fileNameExists(name))) { $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); return false; } $scope.apiMiddleware.rename(item).then(function() { $scope.fileNavigator.refresh(); $scope.modal('rename', true); }); }; $scope.createFolder = function() { var item = $scope.singleSelection(); var name = item.tempModel.name; if (!name || $scope.fileNavigator.fileNameExists(name)) { return $scope.apiMiddleware.apiHandler.error = $translate.instant('error_invalid_filename'); } $scope.apiMiddleware.createFolder(item).then(function() { $scope.fileNavigator.refresh(); $scope.modal('newfolder', true); }); }; $scope.addForUpload = function($files) { $scope.uploadFileList = $scope.uploadFileList.concat($files); $scope.modal('uploadfile'); }; $scope.removeFromUpload = function(index) { $scope.uploadFileList.splice(index, 1); }; $scope.uploadFiles = function() { $scope.apiMiddleware.upload($scope.uploadFileList, $scope.fileNavigator.currentPath).then(function() { $scope.fileNavigator.refresh(); $scope.uploadFileList = []; $scope.modal('uploadfile', true); }, function(data) { var errorMsg = data.result && data.result.error || $translate.instant('error_uploading_files'); $scope.apiMiddleware.apiHandler.error = errorMsg; }); }; var validateSamePath = function(item) { var selectedPath = $rootScope.selectedModalPath.join(''); var selectedItemsPath = item && item.model.path.join(''); return selectedItemsPath === selectedPath; }; var getQueryParam = function(param) { var found = $window.location.search.substr(1).split('&').filter(function(item) { return param === item.split('=')[0]; }); return found[0] && found[0].split('=')[1] || undefined; }; $scope.changeLanguage(getQueryParam('lang')); $scope.isWindows = getQueryParam('server') === 'Windows'; $scope.fileNavigator.refresh(); }]); })(angular, jQuery); selector-controller.js 0000644 00000004160 15030004250 0011071 0 ustar 00 (function(angular) { 'use strict'; angular.module('FileManagerApp').controller('ModalFileManagerCtrl', ['$scope', '$rootScope', 'fileNavigator', function($scope, $rootScope, FileNavigator) { $scope.reverse = false; $scope.predicate = ['model.type', 'model.name']; $scope.fileNavigator = new FileNavigator(); $rootScope.selectedModalPath = []; $scope.order = function(predicate) { $scope.reverse = ($scope.predicate[1] === predicate) ? !$scope.reverse : false; $scope.predicate[1] = predicate; }; $scope.select = function(item) { $rootScope.selectedModalPath = item.model.fullPath().split('/').filter(Boolean); $scope.modal('selector', true); }; $scope.selectCurrent = function() { $rootScope.selectedModalPath = $scope.fileNavigator.currentPath; $scope.modal('selector', true); }; $scope.selectedFilesAreChildOfPath = function(item) { var path = item.model.fullPath(); return $scope.temps.find(function(item) { var itemPath = item.model.fullPath(); if (path == itemPath) { return true; } /* if (path.startsWith(itemPath)) { fixme names in same folder like folder-one and folder-one-two at the moment fixed hidding affected folders } */ }); }; $rootScope.openNavigator = function(path) { $scope.fileNavigator.currentPath = path; $scope.fileNavigator.refresh(); $scope.modal('selector'); }; $rootScope.getSelectedPath = function() { var path = $rootScope.selectedModalPath.filter(Boolean); var result = '/' + path.join('/'); if ($scope.singleSelection() && !$scope.singleSelection().isFolder()) { result += '/' + $scope.singleSelection().tempModel.name; } return result.replace(/\/\//, '/'); }; }]); })(angular);
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings