diff --git a/filemanager/templates/filemanager/editFile.html b/filemanager/templates/filemanager/editFile.html
new file mode 100755
index 000000000..d14deda02
--- /dev/null
+++ b/filemanager/templates/filemanager/editFile.html
@@ -0,0 +1,106 @@
+{% load i18n %}
+
+
+
+ {% trans "Editing File - CyberPanel" %}
+
+
+
+
+ {% load static %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/filemanager/urls.py b/filemanager/urls.py
index 114469614..13d6d5f39 100755
--- a/filemanager/urls.py
+++ b/filemanager/urls.py
@@ -6,6 +6,7 @@ urlpatterns = [
url(r'^changePermissions$',views.changePermissions, name='changePermissions'),
url(r'^controller$',views.controller, name='controller'),
url(r'^downloadFile$',views.downloadFile, name='downloadFile'),
+ url(r'^editFile$', views.editFile, name='editFile'),
url(r'^(?P(.*))$', views.loadFileManagerHome, name='loadFileManagerHome'),
]
diff --git a/filemanager/views.py b/filemanager/views.py
index d23d40135..e00f7ad2d 100755
--- a/filemanager/views.py
+++ b/filemanager/views.py
@@ -165,3 +165,41 @@ def upload(request):
except KeyError:
return redirect(loadLoginPage)
+
+def editFile(request):
+ try:
+ userID = request.session['userID']
+ admin = Administrator.objects.get(pk=userID)
+ from urllib.parse import quote
+ from django.utils.encoding import iri_to_uri
+
+ domainName = request.GET.get('domainName')
+ fileName = request.GET.get('fileName')
+
+ currentACL = ACLManager.loadedACL(userID)
+
+ if ACLManager.checkOwnership(domainName, admin, currentACL) == 1:
+ pass
+ else:
+ return ACLManager.loadError()
+
+ domainName = domainName
+ website = Websites.objects.get(domain=domainName)
+
+ pathCheck = '/home/%s' % (domainName)
+
+ fm = FM(request, {})
+
+ if fileName.find(pathCheck) == -1 or fileName.find('..') > -1:
+ return fm.ajaxPre(0, 'Not allowed.')
+
+ command = 'cat ' + fm.returnPathEnclosed(fileName)
+ content = ProcessUtilities.outputExecutioner(command, website.externalApp)
+
+ if ACLManager.checkOwnership(domainName, admin, currentACL) == 1:
+ return render(request, 'filemanager/editFile.html', {'domainName': domainName, 'fileName': fileName, 'content': content})
+ else:
+ return ACLManager.loadError()
+
+ except KeyError:
+ return redirect(loadLoginPage)