diff --git a/filemanager/filemanager.py b/filemanager/filemanager.py index 9cbdfc1b0..e50952fe1 100755 --- a/filemanager/filemanager.py +++ b/filemanager/filemanager.py @@ -11,7 +11,7 @@ from filemanager.models import Trash class FileManager: modes = {'php': 'application/x-httpd-php', 'javascript': 'javascript', 'python': 'text/x-python', - 'html': 'text/html', 'go': 'text/x-go', 'css': 'text/css', 'java': 'text/x-java'} + 'html': 'text/html', 'go': 'text/x-go', 'css': 'text/css', 'java': 'text/x-java', 'perl': 'text/x-perl'} def __init__(self, request, data): self.request = request @@ -31,8 +31,12 @@ class FileManager: return FileManager.modes['go'] elif fileName.endswith('.css') or fileName.endswith('.scss'): return FileManager.modes['css'] + elif fileName.endswith('.pl') or fileName.endswith('.PL'): + return FileManager.modes['perl'] elif fileName.endswith('.java'): return FileManager.modes['java'] + else: + return "" @staticmethod @@ -117,6 +121,11 @@ class FileManager: return """ """ + elif mode == FileManager.modes['perl']: + return """ + """ + else: + return '' @staticmethod def findThemeFile(theme): diff --git a/filemanager/static/filemanager/js/fileManager.js b/filemanager/static/filemanager/js/fileManager.js index afe544c22..38c26ef5d 100755 --- a/filemanager/static/filemanager/js/fileManager.js +++ b/filemanager/static/filemanager/js/fileManager.js @@ -480,6 +480,7 @@ fileManager.controller('fileManagerCtrl', function ($scope, $http, FileUploader, restoreBTN.style.display = "none"; } // for edit button + if (allFilesAndFolders.length === 1) { var editNode = document.getElementById("editFile"); editNode.style.pointerEvents = "auto"; @@ -813,6 +814,14 @@ fileManager.controller('fileManagerCtrl', function ($scope, $http, FileUploader, }; + /// code mirror open + + $scope.editWithCodeMirror = function(){ + var completePathForFile = $scope.currentPath + "/" + allFilesAndFolders[0]; + var finalURL = 'https://' + window.location.hostname + ':' + window.location.port + '/filemanager/editFile?domainName=' + domainName + '&fileName=' + completePathForFile; + window.open(finalURL); + }; + // uploads diff --git a/filemanager/templates/filemanager/index.html b/filemanager/templates/filemanager/index.html index 9d75dcd8b..9d85987e4 100755 --- a/filemanager/templates/filemanager/index.html +++ b/filemanager/templates/filemanager/index.html @@ -732,6 +732,7 @@
  • {% trans "Compress" %}
  • {% trans "Extract" %}
  • {% trans "Edit" %}
  • +
  • {% trans "Edit with CodeMirror" %}
  • {% trans "Restore" %}
  • diff --git a/static/filemanager/js/fileManager.js b/static/filemanager/js/fileManager.js index afe544c22..38c26ef5d 100644 --- a/static/filemanager/js/fileManager.js +++ b/static/filemanager/js/fileManager.js @@ -480,6 +480,7 @@ fileManager.controller('fileManagerCtrl', function ($scope, $http, FileUploader, restoreBTN.style.display = "none"; } // for edit button + if (allFilesAndFolders.length === 1) { var editNode = document.getElementById("editFile"); editNode.style.pointerEvents = "auto"; @@ -813,6 +814,14 @@ fileManager.controller('fileManagerCtrl', function ($scope, $http, FileUploader, }; + /// code mirror open + + $scope.editWithCodeMirror = function(){ + var completePathForFile = $scope.currentPath + "/" + allFilesAndFolders[0]; + var finalURL = 'https://' + window.location.hostname + ':' + window.location.port + '/filemanager/editFile?domainName=' + domainName + '&fileName=' + completePathForFile; + window.open(finalURL); + }; + // uploads