-
- {% trans "Select PHP Version" %}
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ {% endif %}
{% endblock %}
\ No newline at end of file
diff --git a/tuning/tuning.py b/tuning/tuning.py
new file mode 100644
index 000000000..f6f7207f9
--- /dev/null
+++ b/tuning/tuning.py
@@ -0,0 +1,185 @@
+#!/usr/local/CyberCP/bin/python2
+import os.path
+import sys
+import django
+sys.path.append('/usr/local/CyberCP')
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
+django.setup()
+from django.shortcuts import render,redirect
+from django.http import HttpResponse
+import json
+import plogical.CyberCPLogFileWriter as logging
+from plogical.tuning import tuning
+from loginSystem.views import loadLoginPage
+from plogical.virtualHostUtilities import virtualHostUtilities
+import subprocess
+import shlex
+from plogical.acl import ACLManager
+from plogical.processUtilities import ProcessUtilities
+
+
+class tuningManager:
+ def loadTuningHome(self, request, userID):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadError()
+
+ return render(request, 'tuning/index.html', {})
+ except KeyError:
+ return redirect(loadLoginPage)
+
+ def liteSpeedTuning(self, request, userID):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadError()
+ return render(request, 'tuning/liteSpeedTuning.html', {})
+ except KeyError:
+ return redirect(loadLoginPage)
+
+ def phpTuning(self, request, userID):
+ try:
+ userID = request.session['userID']
+ currentACL = ACLManager.loadedACL(userID)
+
+ if currentACL['admin'] == 1:
+ pass
+ else:
+ return ACLManager.loadError()
+
+ if ProcessUtilities.decideServer() == ProcessUtilities.OLS:
+ websitesName = ACLManager.findAllSites(currentACL, userID)
+ OLS = 1
+ return render(request, 'tuning/phpTuning.html', {'websiteList': websitesName, 'OLS': OLS})
+ else:
+ OLS = 0
+ return render(request, 'tuning/phpTuning.html', {'OLS': OLS})
+
+ except KeyError:
+ return redirect(loadLoginPage)
+
+ def tuneLitespeed(self, userID, data):
+ try:
+
+ status = data['status']
+ if status == "fetch":
+
+ json_data = json.dumps(tuning.fetchTuningDetails())
+
+ data_ret = {'fetch_status': 1, 'error_message': "None", "tuning_data": json_data,
+ 'tuneStatus': 0}
+
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ else:
+ if not data['maxConn']:
+ data_ret = {'fetch_status': 1, 'error_message': "Provide Max Connections", 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ if not data['maxSSLConn']:
+ data_ret = {'fetch_status': 1, 'error_message': "Provide Max SSL Connections",
+ 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ if not data['keepAlive']:
+ data_ret = {'fetch_status': 1, 'error_message': "Provide Keep Alive", 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ if not data['inMemCache']:
+ data_ret = {'fetch_status': 1, 'error_message': "Provide Cache Size in memory",
+ 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ if not data['gzipCompression']:
+ data_ret = {'fetch_status': 1, 'error_message': "Provide Enable GZIP Compression",
+ 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ maxConn = data['maxConn']
+ maxSSLConn = data['maxSSLConn']
+ connTime = data['connTime']
+ keepAlive = data['keepAlive']
+ inMemCache = data['inMemCache']
+ gzipCompression = data['gzipCompression']
+
+ execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/tuning.py"
+
+ execPath = execPath + " saveTuningDetails --maxConn " + maxConn + " --maxSSLConn " + maxSSLConn + " --connTime " + connTime + " --keepAlive " + keepAlive + " --inMemCache '" + inMemCache + "' --gzipCompression " + gzipCompression
+
+ output = subprocess.check_output(shlex.split(execPath))
+
+ if output.find("1,None") > -1:
+ data_ret = {'fetch_status': 1, 'error_message': "None", 'tuneStatus': 1}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+ else:
+ data_ret = {'fetch_status': 1, 'error_message': "None", 'tuneStatus': 0}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+
+ except BaseException, msg:
+ data_ret = {'fetch_status': 0, 'error_message': str(msg), 'tuneStatus': 0}
+ json_data = json.dumps(data_ret)
+ return HttpResponse(json_data)
+
+ def tunePHP(self, userID, data):
+ try:
+ status = data['status']
+ domainSelection = str(data['domainSelection'])
+
+ if status == "fetch":
+
+ json_data = json.dumps(tuning.fetchPHPDetails(domainSelection))
+
+ data_ret = {'fetch_status': 1, 'error_message': "None", "tuning_data": json_data,
+ 'tuneStatus': 0}
+
+ final_json = json.dumps(data_ret)
+
+ return HttpResponse(final_json)
+
+ else:
+ initTimeout = str(data['initTimeout'])
+ maxConns = str(data['maxConns'])
+ memSoftLimit = data['memSoftLimit']
+ memHardLimit = data['memHardLimit']
+ procSoftLimit = str(data['procSoftLimit'])
+ procHardLimit = str(data['procHardLimit'])
+ persistConn = data['persistConn']
+
+ execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/tuning.py"
+
+ execPath = execPath + " tunePHP --virtualHost " + domainSelection + " --initTimeout " + initTimeout + " --maxConns " + maxConns + " --memSoftLimit " + memSoftLimit + " --memHardLimit '" + memHardLimit + "' --procSoftLimit " + procSoftLimit + " --procHardLimit " + procHardLimit + " --persistConn " + persistConn
+
+ output = subprocess.check_output(shlex.split(execPath))
+
+ if output.find("1,None") > -1:
+ data_ret = {'tuneStatus': 1, 'fetch_status': 0, 'error_message': "None"}
+ final_json = json.dumps(data_ret)
+ return HttpResponse(final_json)
+ else:
+ data_ret = {'fetch_status': 0, 'error_message': output, 'tuneStatus': 0}
+ logging.CyberCPLogFileWriter.writeToFile(output + " [tunePHP]]")
+ json_data = json.dumps(data_ret)
+ return HttpResponse(json_data)
+
+ except BaseException, msg:
+ data_ret = {'fetch_status': 0, 'error_message': str(msg), 'tuneStatus': 0}
+ logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [tunePHP]]")
+ json_data = json.dumps(data_ret)
+ return HttpResponse(json_data)
\ No newline at end of file
diff --git a/tuning/views.py b/tuning/views.py
index 382eba79a..01c7ed72b 100644
--- a/tuning/views.py
+++ b/tuning/views.py
@@ -11,198 +11,46 @@ from plogical.virtualHostUtilities import virtualHostUtilities
import subprocess
import shlex
from plogical.acl import ACLManager
+from tuning import tuningManager
# Create your views here.
def loadTuningHome(request):
try:
userID = request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- return render(request,'tuning/index.html',{})
+ tm = tuningManager()
+ return tm.loadTuningHome(request, userID)
except KeyError:
return redirect(loadLoginPage)
-
def liteSpeedTuning(request):
try:
userID = request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
- return render(request,'tuning/liteSpeedTuning.html',{})
+ tm = tuningManager()
+ return tm.liteSpeedTuning(request, userID)
except KeyError:
return redirect(loadLoginPage)
-
def phpTuning(request):
try:
userID = request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- websitesName = ACLManager.findAllSites(currentACL, userID)
-
- return render(request,'tuning/phpTuning.html',{'websiteList':websitesName})
+ tm = tuningManager()
+ return tm.phpTuning(request, userID)
except KeyError:
return redirect(loadLoginPage)
-
def tuneLitespeed(request):
-
try:
userID = request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadErrorJson('fetch_status', 0)
- try:
-
- if request.method == 'POST':
- data = json.loads(request.body)
- status = data['status']
-
- if status == "fetch":
-
- json_data = json.dumps(tuning.fetchTuningDetails())
-
- data_ret = {'fetch_status': 1, 'error_message': "None", "tuning_data": json_data, 'tuneStatus': 0}
-
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- else:
- if not data['maxConn']:
- data_ret = {'fetch_status': 1, 'error_message': "Provide Max Connections", 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- if not data['maxSSLConn']:
- data_ret = {'fetch_status': 1, 'error_message': "Provide Max SSL Connections", 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- if not data['keepAlive']:
- data_ret = {'fetch_status': 1, 'error_message': "Provide Keep Alive", 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- if not data['inMemCache']:
- data_ret = {'fetch_status': 1, 'error_message': "Provide Cache Size in memory", 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- if not data['gzipCompression']:
- data_ret = {'fetch_status': 1, 'error_message': "Provide Enable GZIP Compression",
- 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- maxConn = data['maxConn']
- maxSSLConn = data['maxSSLConn']
- connTime = data['connTime']
- keepAlive = data['keepAlive']
- inMemCache = data['inMemCache']
- gzipCompression = data['gzipCompression']
-
- execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/tuning.py"
-
- execPath = execPath + " saveTuningDetails --maxConn " + maxConn + " --maxSSLConn " + maxSSLConn + " --connTime " + connTime + " --keepAlive " + keepAlive + " --inMemCache '" + inMemCache + "' --gzipCompression " + gzipCompression
-
- output = subprocess.check_output(shlex.split(execPath))
-
- if output.find("1,None") > -1:
- data_ret = {'fetch_status': 1, 'error_message': "None", 'tuneStatus': 1}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
- else:
- data_ret = {'fetch_status': 1, 'error_message': "None", 'tuneStatus': 0}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
-
- except BaseException,msg:
- data_ret = {'fetch_status': 0, 'error_message': str(msg), 'tuneStatus': 0}
- json_data = json.dumps(data_ret)
- return HttpResponse(json_data)
-
+ tm = tuningManager()
+ return tm.tuneLitespeed(userID, json.loads(request.body))
except KeyError:
- data_ret = {'fetch_status': 0, 'error_message': "not logged in as admin",'fetch_status': 0}
- json_data = json.dumps(data_ret)
- return HttpResponse(json_data)
-
+ return redirect(loadLoginPage)
def tunePHP(request):
try:
userID = request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadErrorJson('fetch_status', 0)
- try:
- if request.method == 'POST':
- data = json.loads(request.body)
- status = data['status']
- domainSelection = str(data['domainSelection'])
-
- if status == "fetch":
-
- json_data = json.dumps(tuning.fetchPHPDetails(domainSelection))
-
- data_ret = {'fetch_status': 1, 'error_message': "None", "tuning_data": json_data, 'tuneStatus': 0}
-
- final_json = json.dumps(data_ret)
-
- return HttpResponse(final_json)
-
- else:
- initTimeout = str(data['initTimeout'])
- maxConns = str(data['maxConns'])
- memSoftLimit = data['memSoftLimit']
- memHardLimit = data['memHardLimit']
- procSoftLimit = str(data['procSoftLimit'])
- procHardLimit = str(data['procHardLimit'])
- persistConn = data['persistConn']
-
- execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/tuning.py"
-
- execPath = execPath + " tunePHP --virtualHost " + domainSelection + " --initTimeout " + initTimeout + " --maxConns " + maxConns + " --memSoftLimit " + memSoftLimit + " --memHardLimit '" + memHardLimit + "' --procSoftLimit " + procSoftLimit + " --procHardLimit " + procHardLimit + " --persistConn " + persistConn
-
- output = subprocess.check_output(shlex.split(execPath))
-
- if output.find("1,None") > -1:
- data_ret = {'tuneStatus': 1, 'fetch_status': 0, 'error_message': "None"}
- final_json = json.dumps(data_ret)
- return HttpResponse(final_json)
- else:
- data_ret = {'fetch_status': 0, 'error_message': output, 'tuneStatus': 0}
- logging.CyberCPLogFileWriter.writeToFile(output + " [tunePHP]]")
- json_data = json.dumps(data_ret)
- return HttpResponse(json_data)
-
- except BaseException,msg:
- data_ret = {'fetch_status': 0, 'error_message': str(msg),'tuneStatus': 0}
- logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [tunePHP]]")
- json_data = json.dumps(data_ret)
- return HttpResponse(json_data)
-
+ tm = tuningManager()
+ return tm.tunePHP(userID, json.loads(request.body))
except KeyError:
- data_ret = {'tuneStatus': 0, 'error_message': "not logged in as admin",'fetch_status': 0}
- logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [tunePHP]]")
- json_data = json.dumps(data_ret)
- return HttpResponse(json_data)
+ return redirect(loadLoginPage)
\ No newline at end of file