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 "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