mirror of
				https://github.com/usmannasir/cyberpanel.git
				synced 2025-11-03 20:05:58 +01:00 
			
		
		
		
	Events for Firewall and Bug fixes
This commit is contained in:
		@@ -16,7 +16,7 @@ class secMiddleware:
 | 
			
		||||
                        pass
 | 
			
		||||
                    else:
 | 
			
		||||
                        continue
 | 
			
		||||
                    if key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT':
 | 
			
		||||
                    if key == 'configData' or key == 'rewriteRules' or key == 'modSecRules' or key == 'recordContentTXT' or key == 'SecAuditLogRelevantStatus':
 | 
			
		||||
                        continue
 | 
			
		||||
                    if value.find(';') > -1 or value.find('&&') > -1 or value.find('|') > -1 or value.find('...') > -1:
 | 
			
		||||
                        logging.writeToFile(request.body)
 | 
			
		||||
 
 | 
			
		||||
@@ -3,10 +3,34 @@ from plogical.pluginManagerGlobal import pluginManagerGlobal
 | 
			
		||||
 | 
			
		||||
class pluginManager:
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preBackupSite(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preBackupSite)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postBackupSite(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postBackupSite, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preRestoreSite(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preRestoreSite)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postRestoreSite(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postRestoreSite, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preSubmitBackupCreation(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preSubmitBackupCreation)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preBackupStatus(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preBackupStatus)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postBackupStatus(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postBackupStatus, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preDeleteBackup(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preDeleteBackup)
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,27 @@
 | 
			
		||||
 | 
			
		||||
from django.dispatch import Signal
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core load template for create backup page.
 | 
			
		||||
preBackupSite = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core load template for create backup page.
 | 
			
		||||
postBackupSite = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core load template for restore backup page.
 | 
			
		||||
preRestoreSite = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core load template for restore backup page.
 | 
			
		||||
postRestoreSite = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start creating backup of a website
 | 
			
		||||
preSubmitBackupCreation = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core starts to load status of backup started earlier througb submitBackupCreation
 | 
			
		||||
preBackupStatus = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core has loaded backup status
 | 
			
		||||
postBackupStatus = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start deletion of a backup
 | 
			
		||||
preDeleteBackup = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ def submitDBCreation(request):
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        dm = DatabaseManager()
 | 
			
		||||
        coreResult = dm.submitDBCreation(userID, request.data)
 | 
			
		||||
        coreResult = dm.submitDBCreation(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postSubmitDBCreation(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ import views
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
 | 
			
		||||
    url(r'^emailPolicyServer$', views.emailPolicyServer, name='emailPolicyServer'),
 | 
			
		||||
    url(r'^listDomains$', views.listDomains, name='listDomains'),
 | 
			
		||||
    url(r'^getFurtherDomains$', views.getFurtherDomains, name='getFurtherDomains'),
 | 
			
		||||
    url(r'^enableDisableEmailLimits$', views.enableDisableEmailLimits, name='enableDisableEmailLimits'),
 | 
			
		||||
@@ -30,7 +31,6 @@ urlpatterns = [
 | 
			
		||||
    url(r'^installStatusSpamAssassin$', views.installStatusSpamAssassin, name='installStatusSpamAssassin'),
 | 
			
		||||
    url(r'^fetchSpamAssassinSettings$', views.fetchSpamAssassinSettings, name='fetchSpamAssassinSettings'),
 | 
			
		||||
    url(r'^saveSpamAssassinConfigurations$', views.saveSpamAssassinConfigurations, name='saveSpamAssassinConfigurations'),
 | 
			
		||||
    url(r'^emailPolicyServer$', views.emailPolicyServer, name='emailPolicyServer'),
 | 
			
		||||
    url(r'^fetchPolicyServerStatus$', views.fetchPolicyServerStatus, name='fetchPolicyServerStatus'),
 | 
			
		||||
 | 
			
		||||
    url(r'^savePolicyServerStatus$', views.savePolicyServerStatus, name='savePolicyServerStatus'),
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,114 @@ from plogical.acl import ACLManager
 | 
			
		||||
 | 
			
		||||
# Create your views here.
 | 
			
		||||
 | 
			
		||||
## Email Policy Server
 | 
			
		||||
 | 
			
		||||
def emailPolicyServer(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadError()
 | 
			
		||||
 | 
			
		||||
        return render(request, 'emailPremium/policyServer.html')
 | 
			
		||||
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def fetchPolicyServerStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
            if request.method == 'POST':
 | 
			
		||||
 | 
			
		||||
                command = 'sudo cat /etc/postfix/main.cf'
 | 
			
		||||
                output = subprocess.check_output(shlex.split(command)).split('\n')
 | 
			
		||||
 | 
			
		||||
                installCheck = 0
 | 
			
		||||
 | 
			
		||||
                for items in output:
 | 
			
		||||
                    if items.find('check_policy_service unix:/var/log/policyServerSocket') > -1:
 | 
			
		||||
                        installCheck = 1
 | 
			
		||||
                        break
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                data_ret = {'status': 1, 'error_message': 'None', 'installCheck' : installCheck}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
    except KeyError,msg:
 | 
			
		||||
        logging.CyberCPLogFileWriter.writeToFile(str(msg))
 | 
			
		||||
        data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
        json_data = json.dumps(data_ret)
 | 
			
		||||
        return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
def savePolicyServerStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
            if request.method == 'POST':
 | 
			
		||||
 | 
			
		||||
                data = json.loads(request.body)
 | 
			
		||||
 | 
			
		||||
                policServerStatus = data['policServerStatus']
 | 
			
		||||
 | 
			
		||||
                install = '0'
 | 
			
		||||
 | 
			
		||||
                if policServerStatus == True:
 | 
			
		||||
                    install = "1"
 | 
			
		||||
 | 
			
		||||
                ## save configuration data
 | 
			
		||||
 | 
			
		||||
                execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/mailUtilities.py"
 | 
			
		||||
 | 
			
		||||
                execPath = execPath + " savePolicyServerStatus --install " + install
 | 
			
		||||
 | 
			
		||||
                output = subprocess.check_output(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
                if output.find("1,None") > -1:
 | 
			
		||||
                    data_ret = {'status': 1, 'error_message': "None"}
 | 
			
		||||
                    json_data = json.dumps(data_ret)
 | 
			
		||||
                    return HttpResponse(json_data)
 | 
			
		||||
                else:
 | 
			
		||||
                    data_ret = {'status': 0, 'error_message': output}
 | 
			
		||||
                    json_data = json.dumps(data_ret)
 | 
			
		||||
                    return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
    except KeyError,msg:
 | 
			
		||||
        logging.CyberCPLogFileWriter.writeToFile(str(msg))
 | 
			
		||||
        data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
        json_data = json.dumps(data_ret)
 | 
			
		||||
        return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
## Email Policy Server configs
 | 
			
		||||
 | 
			
		||||
def listDomains(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
@@ -787,7 +895,13 @@ def fetchSpamAssassinSettings(request):
 | 
			
		||||
                                report_safe = 1
 | 
			
		||||
                        if items.find('rewrite_header ') > -1:
 | 
			
		||||
                            tempData = items.split(' ')
 | 
			
		||||
                            rewrite_header = tempData[1] + " " + tempData[2].strip('\n')
 | 
			
		||||
                            rewrite_header = ''
 | 
			
		||||
                            counter = 0
 | 
			
		||||
                            for headerData in tempData:
 | 
			
		||||
                                if counter == 0:
 | 
			
		||||
                                    counter = counter + 1
 | 
			
		||||
                                    continue
 | 
			
		||||
                                rewrite_header = rewrite_header + headerData.strip('\n') + ' '
 | 
			
		||||
                            continue
 | 
			
		||||
                        if items.find('required_score ') > -1:
 | 
			
		||||
                            required_score = items.split(' ')[1].strip('\n')
 | 
			
		||||
@@ -895,109 +1009,3 @@ def saveSpamAssassinConfigurations(request):
 | 
			
		||||
        data_ret = {'saveStatus': 0, 'error_message': str(msg)}
 | 
			
		||||
        json_data = json.dumps(data_ret)
 | 
			
		||||
        return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
## Email Policy Server
 | 
			
		||||
 | 
			
		||||
def emailPolicyServer(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadError()
 | 
			
		||||
 | 
			
		||||
        return render(request, 'emailPremium/policyServer.html')
 | 
			
		||||
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def fetchPolicyServerStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
            if request.method == 'POST':
 | 
			
		||||
 | 
			
		||||
                command = 'sudo cat /etc/postfix/main.cf'
 | 
			
		||||
                output = subprocess.check_output(shlex.split(command)).split('\n')
 | 
			
		||||
 | 
			
		||||
                installCheck = 0
 | 
			
		||||
 | 
			
		||||
                for items in output:
 | 
			
		||||
                    if items.find('check_policy_service unix:/var/log/policyServerSocket') > -1:
 | 
			
		||||
                        installCheck = 1
 | 
			
		||||
                        break
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                data_ret = {'status': 1, 'error_message': 'None', 'installCheck' : installCheck}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
    except KeyError,msg:
 | 
			
		||||
        logging.CyberCPLogFileWriter.writeToFile(str(msg))
 | 
			
		||||
        data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
        json_data = json.dumps(data_ret)
 | 
			
		||||
        return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
def savePolicyServerStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
            if request.method == 'POST':
 | 
			
		||||
 | 
			
		||||
                data = json.loads(request.body)
 | 
			
		||||
 | 
			
		||||
                policServerStatus = data['policServerStatus']
 | 
			
		||||
 | 
			
		||||
                install = '0'
 | 
			
		||||
 | 
			
		||||
                if policServerStatus == True:
 | 
			
		||||
                    install = "1"
 | 
			
		||||
 | 
			
		||||
                ## save configuration data
 | 
			
		||||
 | 
			
		||||
                execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/mailUtilities.py"
 | 
			
		||||
 | 
			
		||||
                execPath = execPath + " savePolicyServerStatus --install " + install
 | 
			
		||||
 | 
			
		||||
                output = subprocess.check_output(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
                if output.find("1,None") > -1:
 | 
			
		||||
                    data_ret = {'status': 1, 'error_message': "None"}
 | 
			
		||||
                    json_data = json.dumps(data_ret)
 | 
			
		||||
                    return HttpResponse(json_data)
 | 
			
		||||
                else:
 | 
			
		||||
                    data_ret = {'status': 0, 'error_message': output}
 | 
			
		||||
                    json_data = json.dumps(data_ret)
 | 
			
		||||
                    return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
    except KeyError,msg:
 | 
			
		||||
        logging.CyberCPLogFileWriter.writeToFile(str(msg))
 | 
			
		||||
        data_ret = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
        json_data = json.dumps(data_ret)
 | 
			
		||||
        return HttpResponse(json_data)
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ def changePermissions(request):
 | 
			
		||||
            command = "sudo chown -R " + externalApp + ":" + externalApp +" /home/"+domainName
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
            command = "sudo chown -R nobody:nobody /home/" + domainName+"/logs"
 | 
			
		||||
            command = "sudo chown -R lscpd:lscpd /home/" + domainName+"/logs"
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
            data_ret = {'permissionsChanged': 1, 'error_message': "None"}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1421
									
								
								firewall/firewallManager.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1421
									
								
								firewall/firewallManager.py
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										196
									
								
								firewall/pluginManager.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								firewall/pluginManager.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,196 @@
 | 
			
		||||
from signals import *
 | 
			
		||||
from plogical.pluginManagerGlobal import pluginManagerGlobal
 | 
			
		||||
 | 
			
		||||
class pluginManager:
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preFirewallHome(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preFirewallHome)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postFirewallHome(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postFirewallHome, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preAddRule(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preAddRule)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postAddRule(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postAddRule, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preDeleteRule(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preDeleteRule)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postDeleteRule(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postDeleteRule, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preReloadFirewall(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preReloadFirewall)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postReloadFirewall(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postReloadFirewall, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preStartFirewall(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preStartFirewall)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postStartFirewall(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postStartFirewall, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preStopFirewall(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preStopFirewall)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postStopFirewall(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postStopFirewall, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preFirewallStatus(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preFirewallStatus)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postFirewallStatus(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postFirewallStatus, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preSecureSSH(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preSecureSSH)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postSecureSSH(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postSecureSSH, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preSaveSSHConfigs(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preSaveSSHConfigs)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postSaveSSHConfigs(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postSaveSSHConfigs, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preDeleteSSHKey(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preDeleteSSHKey)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postDeleteSSHKey(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postDeleteSSHKey, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preAddSSHKey(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preAddSSHKey)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postAddSSHKey(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postAddSSHKey, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preLoadModSecurityHome(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preLoadModSecurityHome)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postLoadModSecurityHome(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postLoadModSecurityHome, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preSaveModSecConfigurations(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preSaveModSecConfigurations)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postSaveModSecConfigurations(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postSaveModSecConfigurations, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preModSecRules(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preModSecRules)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postModSecRules(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postModSecRules, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preSaveModSecRules(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preSaveModSecRules)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postSaveModSecRules(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postSaveModSecRules, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preModSecRulesPacks(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preModSecRulesPacks)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postModSecRulesPacks(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postModSecRulesPacks, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preGetOWASPAndComodoStatus(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preGetOWASPAndComodoStatus)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postGetOWASPAndComodoStatus(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postGetOWASPAndComodoStatus, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preInstallModSecRulesPack(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preInstallModSecRulesPack)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postInstallModSecRulesPack(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postInstallModSecRulesPack, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preGetRulesFiles(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preGetRulesFiles)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postGetRulesFiles(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postGetRulesFiles, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preEnableDisableRuleFile(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preEnableDisableRuleFile)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postEnableDisableRuleFile(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postEnableDisableRuleFile, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preCSF(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preCSF)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postCSF(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postCSF, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preChangeStatus(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preChangeStatus)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postChangeStatus(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postChangeStatus, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preModifyPorts(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preModifyPorts)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postModifyPorts(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postModifyPorts, response)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def preModifyIPs(request):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, preModifyIPs)
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def postModifyIPs(request, response):
 | 
			
		||||
        return pluginManagerGlobal.globalPlug(request, postModifyIPs, response)
 | 
			
		||||
							
								
								
									
										152
									
								
								firewall/signals.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								firewall/signals.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,152 @@
 | 
			
		||||
# The world is a prison for the believer.
 | 
			
		||||
## https://www.youtube.com/watch?v=DWfNYztUM1U
 | 
			
		||||
 | 
			
		||||
from django.dispatch import Signal
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core load Firewall home template.
 | 
			
		||||
preFirewallHome = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished loading Firewall home template.
 | 
			
		||||
postFirewallHome = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start adding a firewall rule.
 | 
			
		||||
preAddRule = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished adding a firewall rule.
 | 
			
		||||
postAddRule = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start deleting a firewall rule.
 | 
			
		||||
preDeleteRule = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished deleting a firewall rule.
 | 
			
		||||
postDeleteRule = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to reload firewalld.
 | 
			
		||||
preReloadFirewall = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished reloading firewalld.
 | 
			
		||||
postReloadFirewall = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start firewalld.
 | 
			
		||||
preStartFirewall = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished starting firewalld.
 | 
			
		||||
postStartFirewall = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core stop firewalld.
 | 
			
		||||
preStopFirewall = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished stopping firewalld.
 | 
			
		||||
postStopFirewall = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to fetch firewalld status.
 | 
			
		||||
preFirewallStatus = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished getting firewalld status.
 | 
			
		||||
postFirewallStatus = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start loading template for securing ssh page.
 | 
			
		||||
preSecureSSH = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished oading template for securing ssh page.
 | 
			
		||||
postSecureSSH = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start saving SSH configs.
 | 
			
		||||
preSaveSSHConfigs = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished saving saving SSH configs.
 | 
			
		||||
postSaveSSHConfigs = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start deletion of an SSH key.
 | 
			
		||||
preDeleteSSHKey = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished deletion of an SSH key.
 | 
			
		||||
postDeleteSSHKey = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start adding an ssh key.
 | 
			
		||||
preAddSSHKey = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core finished adding ssh key.
 | 
			
		||||
postAddSSHKey = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core load template for Mod Security Page.
 | 
			
		||||
preLoadModSecurityHome = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished loading template for Mod Security Page.
 | 
			
		||||
postLoadModSecurityHome = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start saving ModSecurity configurations.
 | 
			
		||||
preSaveModSecConfigurations = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is saving ModSecurity configurations.
 | 
			
		||||
postSaveModSecConfigurations = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to load Mod Sec Rules Template Page.
 | 
			
		||||
preModSecRules = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished loading Mod Sec Rules Template Page.
 | 
			
		||||
postModSecRules = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start saving custom Mod Sec rules.
 | 
			
		||||
preSaveModSecRules = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished saving custom Mod Sec rules.
 | 
			
		||||
postSaveModSecRules = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to load template for Mod Sec rules packs.
 | 
			
		||||
preModSecRulesPacks = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished loading template for Mod Sec rules packs.
 | 
			
		||||
postModSecRulesPacks = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core fetch status of Comodo or OWASP rules.
 | 
			
		||||
preGetOWASPAndComodoStatus = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished fetching status of Comodo or OWASP rules.
 | 
			
		||||
postGetOWASPAndComodoStatus = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start installing Comodo or OWASP rules.
 | 
			
		||||
preInstallModSecRulesPack = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished installing Comodo or OWASP rules.
 | 
			
		||||
postInstallModSecRulesPack = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core fetch available rules file for Comodo or OWASP.
 | 
			
		||||
preGetRulesFiles = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished fetching available rules file for Comodo or OWASP.
 | 
			
		||||
postGetRulesFiles = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to enable or disable a rule file.
 | 
			
		||||
preEnableDisableRuleFile = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished enabling or disabling a rule file.
 | 
			
		||||
postEnableDisableRuleFile = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to load template for CSF.
 | 
			
		||||
preCSF = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished loading template for CSF.
 | 
			
		||||
postCSF = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start to enable/disable CSF firewall.
 | 
			
		||||
preChangeStatus = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished enabling/disabling CSF firewall.
 | 
			
		||||
postChangeStatus = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start modifying CSF ports.
 | 
			
		||||
preModifyPorts = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished modifying CSF ports.
 | 
			
		||||
postModifyPorts = Signal(providing_args=["request", "response"])
 | 
			
		||||
 | 
			
		||||
## This event is fired before CyberPanel core start modifying IPs.
 | 
			
		||||
preModifyIPs = Signal(providing_args=["request"])
 | 
			
		||||
 | 
			
		||||
## This event is fired after CyberPanel core is finished modifying IPs.
 | 
			
		||||
postModifyIPs = Signal(providing_args=["request", "response"])
 | 
			
		||||
@@ -1,14 +1,8 @@
 | 
			
		||||
from django.shortcuts import render,redirect
 | 
			
		||||
from django.http import HttpResponse
 | 
			
		||||
from django.shortcuts import redirect
 | 
			
		||||
import json
 | 
			
		||||
import shlex
 | 
			
		||||
import subprocess
 | 
			
		||||
from loginSystem.views import loadLoginPage
 | 
			
		||||
from plogical.virtualHostUtilities import virtualHostUtilities
 | 
			
		||||
from plogical.csf import CSF
 | 
			
		||||
import time
 | 
			
		||||
from plogical.acl import ACLManager
 | 
			
		||||
from plogical.firewallManager import FirewallManager
 | 
			
		||||
from firewallManager import FirewallManager
 | 
			
		||||
from pluginManager import pluginManager
 | 
			
		||||
# Create your views here.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -23,8 +17,18 @@ def securityHome(request):
 | 
			
		||||
def firewallHome(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preFirewallHome(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.firewallHome(request, userID)
 | 
			
		||||
        coreResult = fm.firewallHome(request, userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postFirewallHome(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
@@ -39,56 +43,134 @@ def getCurrentRules(request):
 | 
			
		||||
def addRule(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preAddRule(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.addRule(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.addRule(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postAddRule(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def deleteRule(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preDeleteRule(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.deleteRule(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.deleteRule(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postDeleteRule(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def reloadFirewall(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preReloadFirewall(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.reloadFirewall(userID)
 | 
			
		||||
        coreResult = fm.reloadFirewall(userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postReloadFirewall(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def startFirewall(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preStartFirewall(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.startFirewall(userID)
 | 
			
		||||
        coreResult = fm.startFirewall(userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postStartFirewall(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def stopFirewall(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preStopFirewall(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.stopFirewall(userID)
 | 
			
		||||
        coreResult = fm.stopFirewall(userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postStopFirewall(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def firewallStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preFirewallStatus(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.firewallStatus(userID)
 | 
			
		||||
        coreResult = fm.firewallStatus(userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postFirewallStatus(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def secureSSH(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preSecureSSH(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.secureSSH(request, userID)
 | 
			
		||||
        coreResult = fm.secureSSH(request, userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postSecureSSH(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
@@ -103,32 +185,75 @@ def getSSHConfigs(request):
 | 
			
		||||
def saveSSHConfigs(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preSaveSSHConfigs(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.saveSSHConfigs(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.saveSSHConfigs(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postSaveSSHConfigs(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def deleteSSHKey(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        result = pluginManager.preDeleteSSHKey(request)
 | 
			
		||||
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.deleteSSHKey(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.deleteSSHKey(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postDeleteSSHKey(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def addSSHKey(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preAddSSHKey(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.addSSHKey(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.addSSHKey(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postAddSSHKey(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def loadModSecurityHome(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preLoadModSecurityHome(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.loadModSecurityHome(request, userID)
 | 
			
		||||
        coreResult = fm.loadModSecurityHome(request, userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postLoadModSecurityHome(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
@@ -159,16 +284,38 @@ def fetchModSecSettings(request):
 | 
			
		||||
def saveModSecConfigurations(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preSaveModSecConfigurations(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.saveModSecConfigurations(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.saveModSecConfigurations(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postSaveModSecConfigurations(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def modSecRules(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preModSecRules(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.modSecRules(request, userID)
 | 
			
		||||
        coreResult = fm.modSecRules(request, userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postModSecRules(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
@@ -183,325 +330,221 @@ def fetchModSecRules(request):
 | 
			
		||||
def saveModSecRules(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preSaveModSecRules(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.saveModSecRules(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.saveModSecRules(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postSaveModSecRules(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def modSecRulesPacks(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preModSecRulesPacks(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.modSecRulesPacks(request, userID)
 | 
			
		||||
        coreResult = fm.modSecRulesPacks(request, userID)
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postModSecRulesPacks(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def getOWASPAndComodoStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preGetOWASPAndComodoStatus(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.getOWASPAndComodoStatus(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.getOWASPAndComodoStatus(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postGetOWASPAndComodoStatus(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def installModSecRulesPack(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preInstallModSecRulesPack(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.installModSecRulesPack(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.installModSecRulesPack(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postInstallModSecRulesPack(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def getRulesFiles(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preGetRulesFiles(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.getRulesFiles(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.getRulesFiles(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postGetRulesFiles(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def enableDisableRuleFile(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.preEnableDisableRuleFile(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        fm = FirewallManager()
 | 
			
		||||
        return fm.enableDisableRuleFile(userID, json.loads(request.body))
 | 
			
		||||
        coreResult = fm.enableDisableRuleFile(userID, json.loads(request.body))
 | 
			
		||||
 | 
			
		||||
        result = pluginManager.postEnableDisableRuleFile(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def csf(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadError()
 | 
			
		||||
        result = pluginManager.preCSF(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        csfInstalled = 1
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        coreResult = fm.csf()
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            command = 'sudo csf -h'
 | 
			
		||||
            res = subprocess.call(shlex.split(command))
 | 
			
		||||
            if res == 1:
 | 
			
		||||
                csfInstalled = 0
 | 
			
		||||
        except subprocess.CalledProcessError:
 | 
			
		||||
            csfInstalled = 0
 | 
			
		||||
        result = pluginManager.postCSF(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        return render(request,'firewall/csf.html', {'csfInstalled' : csfInstalled})
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def installCSF(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson('installStatus', 0)
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
 | 
			
		||||
            execPath = execPath + " installCSF"
 | 
			
		||||
            subprocess.Popen(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
            time.sleep(2)
 | 
			
		||||
 | 
			
		||||
            data_ret = {"installStatus": 1}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'installStatus': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        return fm.installCSF()
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'installStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def installStatusCSF(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
        try:
 | 
			
		||||
            if request.method == 'POST':
 | 
			
		||||
 | 
			
		||||
                installStatus = unicode(open(CSF.installLogPath, "r").read())
 | 
			
		||||
 | 
			
		||||
                if installStatus.find("[200]")>-1:
 | 
			
		||||
 | 
			
		||||
                    command = 'sudo rm -f ' + CSF.installLogPath
 | 
			
		||||
                    subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
                    final_json = json.dumps({
 | 
			
		||||
                                             'error_message': "None",
 | 
			
		||||
                                             'requestStatus': installStatus,
 | 
			
		||||
                                             'abort':1,
 | 
			
		||||
                                             'installed': 1,
 | 
			
		||||
                                             })
 | 
			
		||||
                    return HttpResponse(final_json)
 | 
			
		||||
                elif installStatus.find("[404]") > -1:
 | 
			
		||||
                    command = 'sudo rm -f ' + CSF.installLogPath
 | 
			
		||||
                    subprocess.call(shlex.split(command))
 | 
			
		||||
                    final_json = json.dumps({
 | 
			
		||||
                                             'abort':1,
 | 
			
		||||
                                             'installed':0,
 | 
			
		||||
                                             'error_message': "None",
 | 
			
		||||
                                             'requestStatus': installStatus,
 | 
			
		||||
                                             })
 | 
			
		||||
                    return HttpResponse(final_json)
 | 
			
		||||
 | 
			
		||||
                else:
 | 
			
		||||
                    final_json = json.dumps({
 | 
			
		||||
                                             'abort':0,
 | 
			
		||||
                                             'error_message': "None",
 | 
			
		||||
                                             'requestStatus': installStatus,
 | 
			
		||||
                                             })
 | 
			
		||||
                    return HttpResponse(final_json)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'abort':1,'installed':0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        return fm.installStatusCSF()
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'abort':1,'installed':0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def removeCSF(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson('installStatus', 0)
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
 | 
			
		||||
            execPath = execPath + " removeCSF"
 | 
			
		||||
            subprocess.Popen(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
            time.sleep(2)
 | 
			
		||||
 | 
			
		||||
            data_ret = {"installStatus": 1}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'installStatus': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        return fm.removeCSF()
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'installStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def fetchCSFSettings(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson('fetchStatus', 0)
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            currentSettings = CSF.fetchCSFSettings()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            data_ret = {"fetchStatus": 1, 'testingMode' : currentSettings['TESTING'],
 | 
			
		||||
                        'tcpIN' : currentSettings['tcpIN'],
 | 
			
		||||
                        'tcpOUT': currentSettings['tcpOUT'],
 | 
			
		||||
                        'udpIN': currentSettings['udpIN'],
 | 
			
		||||
                        'udpOUT': currentSettings['udpOUT'],
 | 
			
		||||
                        'firewallStatus': currentSettings['firewallStatus']
 | 
			
		||||
                        }
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'fetchStatus': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        return fm.fetchCSFSettings()
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'fetchStatus': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def changeStatus(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
        result = pluginManager.preChangeStatus(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
            data = json.loads(request.body)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        coreResult = fm.changeStatus()
 | 
			
		||||
 | 
			
		||||
            controller = data['controller']
 | 
			
		||||
            status = data['status']
 | 
			
		||||
        result = pluginManager.postChangeStatus(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
            execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
 | 
			
		||||
            execPath = execPath + " changeStatus --controller " + controller + " --status " + status
 | 
			
		||||
            output = subprocess.check_output(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
            if output.find("1,None") > -1:
 | 
			
		||||
                data_ret = {"status": 1}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
            else:
 | 
			
		||||
                data_ret = {'status': 0, 'error_message': output}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def modifyPorts(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        result = pluginManager.preModifyPorts(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            data = json.loads(request.body)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        coreResult = fm.modifyPorts()
 | 
			
		||||
 | 
			
		||||
            protocol = data['protocol']
 | 
			
		||||
            ports = data['ports']
 | 
			
		||||
        result = pluginManager.postModifyPorts(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
            execPath = "sudo " + virtualHostUtilities.cyberPanel + "/plogical/csf.py"
 | 
			
		||||
            execPath = execPath + " modifyPorts --protocol " + protocol + " --ports " + ports
 | 
			
		||||
            output = subprocess.check_output(shlex.split(execPath))
 | 
			
		||||
 | 
			
		||||
            if output.find("1,None") > -1:
 | 
			
		||||
                data_ret = {"status": 1}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
            else:
 | 
			
		||||
                data_ret = {'status': 0, 'error_message': output}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 | 
			
		||||
def modifyIPs(request):
 | 
			
		||||
    try:
 | 
			
		||||
        userID = request.session['userID']
 | 
			
		||||
        currentACL = ACLManager.loadedACL(userID)
 | 
			
		||||
 | 
			
		||||
        if currentACL['admin'] == 1:
 | 
			
		||||
            pass
 | 
			
		||||
        else:
 | 
			
		||||
            return ACLManager.loadErrorJson()
 | 
			
		||||
        try:
 | 
			
		||||
        result = pluginManager.preModifyIPs(request)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
            data = json.loads(request.body)
 | 
			
		||||
        fm = FirewallManager(request)
 | 
			
		||||
        coreResult = fm.modifyIPs()
 | 
			
		||||
 | 
			
		||||
            mode = data['mode']
 | 
			
		||||
            ipAddress = data['ipAddress']
 | 
			
		||||
        result = pluginManager.postModifyIPs(request, coreResult)
 | 
			
		||||
        if result != 200:
 | 
			
		||||
            return result
 | 
			
		||||
 | 
			
		||||
            if mode == 'allowIP':
 | 
			
		||||
                CSF.allowIP(ipAddress)
 | 
			
		||||
            elif mode == 'blockIP':
 | 
			
		||||
                CSF.blockIP(ipAddress)
 | 
			
		||||
 | 
			
		||||
            data_ret = {"status": 1}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except BaseException,msg:
 | 
			
		||||
            final_dic = {'status': 0, 'error_message': str(msg)}
 | 
			
		||||
            final_json = json.dumps(final_dic)
 | 
			
		||||
            return HttpResponse(final_json)
 | 
			
		||||
        return coreResult
 | 
			
		||||
    except KeyError:
 | 
			
		||||
        final_dic = {'status': 0, 'error_message': "Not Logged In, please refresh the page or login again."}
 | 
			
		||||
        final_json = json.dumps(final_dic)
 | 
			
		||||
        return HttpResponse(final_json)
 | 
			
		||||
        return redirect(loadLoginPage)
 | 
			
		||||
 
 | 
			
		||||
@@ -687,7 +687,7 @@ class preFlightsChecks:
 | 
			
		||||
 | 
			
		||||
        count = 0
 | 
			
		||||
        while (1):
 | 
			
		||||
            command = "wget http://cyberpanel.net/CyberPanelTemp.tar.gz"
 | 
			
		||||
            command = "wget http://cyberpanel.net/CyberPanel.1.7.2.tar.gz"
 | 
			
		||||
            #command = "wget http://cyberpanel.net/CyberPanelTemp.tar.gz"
 | 
			
		||||
            res = subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
@@ -707,7 +707,7 @@ class preFlightsChecks:
 | 
			
		||||
 | 
			
		||||
        count = 0
 | 
			
		||||
        while(1):
 | 
			
		||||
            command = "tar zxf CyberPanelTemp.tar.gz"
 | 
			
		||||
            command = "tar zxf CyberPanel.1.7.2.tar.gz"
 | 
			
		||||
            #command = "tar zxf CyberPanelTemp.tar.gz"
 | 
			
		||||
 | 
			
		||||
            res = subprocess.call(shlex.split(command))
 | 
			
		||||
@@ -1035,7 +1035,7 @@ class preFlightsChecks:
 | 
			
		||||
 | 
			
		||||
            os.mkdir('/usr/local/lscp/cyberpanel/phpmyadmin/tmp')
 | 
			
		||||
 | 
			
		||||
            command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/phpmyadmin'
 | 
			
		||||
            command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/phpmyadmin'
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
        except OSError, msg:
 | 
			
		||||
@@ -1851,7 +1851,7 @@ class preFlightsChecks:
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
                command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/'
 | 
			
		||||
                command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
@@ -1963,7 +1963,7 @@ class preFlightsChecks:
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = 'chown -R nobody:nobody .'
 | 
			
		||||
                command = 'chown -R lscpd:lscpd .'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1043,29 +1043,7 @@ class InstallCyberPanel:
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = 'tar zxf openlitespeed.tar.gz'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    InstallCyberPanel.stdOut("Trying to extract LSCPD, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        logging.InstallLog.writeToFile("Failed to extract LSCPD, exiting installer! [installLSCPD]")
 | 
			
		||||
                        InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    logging.InstallLog.writeToFile("LSCPD successfully extracted!")
 | 
			
		||||
                    InstallCyberPanel.stdOut("LSCPD successfully extracted!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            os.chdir("openlitespeed")
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = './configure --with-lscpd --prefix=/usr/local/lscp'
 | 
			
		||||
                command = 'tar zxf lscp.tar.gz -C /usr/local/'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
@@ -1081,50 +1059,6 @@ class InstallCyberPanel:
 | 
			
		||||
                    InstallCyberPanel.stdOut("LSCPD successfully extracted!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = 'make'
 | 
			
		||||
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    InstallCyberPanel.stdOut("Trying to compile LSCPD, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        logging.InstallLog.writeToFile("Failed to compile LSCPD, exiting installer! [installLSCPD]")
 | 
			
		||||
                        InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    logging.InstallLog.writeToFile("LSCPD successfully complied!")
 | 
			
		||||
                    InstallCyberPanel.stdOut("LSCPD successfully compiled!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = 'make install'
 | 
			
		||||
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    InstallCyberPanel.stdOut("Trying to compile LSCPD, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        logging.InstallLog.writeToFile("Failed to compile LSCPD, exiting installer! [installLSCPD]")
 | 
			
		||||
                        InstallCyberPanel.stdOut("Installation failed, consult: /var/log/installLogs.txt")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    logging.InstallLog.writeToFile("LSCPD successfully complied!")
 | 
			
		||||
                    InstallCyberPanel.stdOut("LSCPD successfully compiled!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
@@ -1149,11 +1083,27 @@ class InstallCyberPanel:
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
            command = 'adduser lscpd -M -d /usr/local/lscp'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'groupadd lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'usermod -a -G lscpd lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'usermod -a -G lsadm lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            os.mkdir('/usr/local/lscp/cyberpanel')
 | 
			
		||||
 | 
			
		||||
            logging.InstallLog.writeToFile("LSCPD successfully installed!")
 | 
			
		||||
            InstallCyberPanel.stdOut("LSCPD successfully installed!")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        except OSError, msg:
 | 
			
		||||
            logging.InstallLog.writeToFile(str(msg) + " [installLSCPD]")
 | 
			
		||||
            return 0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								install/lscp.tar.gz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								install/lscp.tar.gz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: CyberPanel\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2017-10-21 21:00+0200\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: LANGUAGE <info@reuhost.net>\n"
 | 
			
		||||
@@ -24,56 +24,62 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: Poedit 2.0.1\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Engleski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Kineski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "English"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Engleski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Ime datoteke"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1403,6 +1409,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Upravljanje SSL-om"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Instalacija extenzija"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Instaliraj"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Upravljanje verzijama"
 | 
			
		||||
@@ -1592,6 +1617,7 @@ msgstr "Uključi"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Ime"
 | 
			
		||||
@@ -1675,6 +1701,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Tip"
 | 
			
		||||
 | 
			
		||||
@@ -2043,6 +2070,7 @@ msgstr "Upravljanje SSL-om"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -3305,6 +3333,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Ime proširenja (extenzije)"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Opis"
 | 
			
		||||
 | 
			
		||||
@@ -3595,6 +3624,18 @@ msgstr "Detalji paketa su uspješno izvedeni"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Uspješno je izmijenjen"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Lista baza podataka - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Najnovija verzija"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Pristupni logovi - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: CyberPanel\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2017-10-29 19:32+0100\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
 | 
			
		||||
@@ -25,56 +25,62 @@ msgstr ""
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 | 
			
		||||
"X-Generator: Poedit 2.0.4\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "英语"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "中文"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "保加利亚语"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "葡萄牙语"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "日语"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr "波斯尼亚语"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "政策"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "文件名"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1371,6 +1377,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "管理SSL"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "安装扩展"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "安装"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "版本管理 - Cyberpanel"
 | 
			
		||||
@@ -1556,6 +1581,7 @@ msgstr "开启"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "名称"
 | 
			
		||||
@@ -1639,6 +1665,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "类型"
 | 
			
		||||
 | 
			
		||||
@@ -2001,6 +2028,7 @@ msgstr "管理SSL"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "无法查看网站, 错误信息:"
 | 
			
		||||
@@ -3251,6 +3279,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "扩展名称"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "描述"
 | 
			
		||||
 | 
			
		||||
@@ -3534,6 +3563,18 @@ msgstr "套餐详情成功读取"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "已成功修改"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "查看数据库 - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "最新版本"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "访问日志 - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: 1.0\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2018-03-05 13:54+0000\n"
 | 
			
		||||
"Last-Translator: FFrancisco Galan <franciscorodriguezgalan@gmail.com>\n"
 | 
			
		||||
"Language-Team: \n"
 | 
			
		||||
@@ -24,56 +24,62 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: Poedit 2.0.6\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Inglés"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Chino"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Bulgaro"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Portugués"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Japonés"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Politica"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Nombre del archivo"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1375,6 +1381,23 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Opciones SSL"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Instalar"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -1560,6 +1583,7 @@ msgstr "Activar"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Nombre"
 | 
			
		||||
@@ -1643,6 +1667,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Tipo"
 | 
			
		||||
 | 
			
		||||
@@ -1998,6 +2023,7 @@ msgstr "Opciones SSL"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -3232,6 +3258,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Descripcion"
 | 
			
		||||
 | 
			
		||||
@@ -3509,6 +3536,16 @@ msgstr ""
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "PHP version "
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Version PHP "
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: \n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2018-07-30 15:35+0200\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: \n"
 | 
			
		||||
@@ -25,56 +25,62 @@ msgstr ""
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 | 
			
		||||
"X-Generator: Poedit 2.0.6\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Anglais"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Chinois"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Bulgare"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Portugais"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Japonais"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr "Bosniaque"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr "Grec"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr "Russe"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr "Turc"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr "Espanol"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Politique"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Filename"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Nom de fichier"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1335,6 +1341,25 @@ msgstr "Gérer Postfix"
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Gérer le FTP"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Installer des extensions"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Installer"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Gestion des versions - CyberPanel"
 | 
			
		||||
@@ -1522,6 +1547,7 @@ msgstr "Activer maintenant"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Nom"
 | 
			
		||||
@@ -1597,6 +1623,7 @@ msgid "Content"
 | 
			
		||||
msgstr "Contenu"
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Contenu"
 | 
			
		||||
 | 
			
		||||
@@ -1933,6 +1960,7 @@ msgstr "Gérer"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Impossible de lister les sites Web. Message d'erreur:"
 | 
			
		||||
@@ -3070,6 +3098,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Nom de l'extension"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
@@ -3340,6 +3369,18 @@ msgstr "Détails du package récupérés avec succès"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Réussi avec succès"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Liste des bases de données - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Dernière version"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Accès aux journaux - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: \n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2018-01-04 22:12+0200\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: \n"
 | 
			
		||||
@@ -24,56 +24,62 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.13\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Αγγλικά"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Κινέζικα"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Βουλγάρικα"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Πορτογαλικά"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Ιαπωνικά"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Πολιτική"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Όνομα Αρχείου"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1396,6 +1402,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Διαχείριση SSL"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Εγκατάσταση Eπεκτάσεων"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Εγκατάσταση"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Διαχείριση έκδοσης - CyberPanel"
 | 
			
		||||
@@ -1590,6 +1615,7 @@ msgstr "Ενεργοποίηση"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Όνομα"
 | 
			
		||||
@@ -1673,6 +1699,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Μορφή"
 | 
			
		||||
 | 
			
		||||
@@ -2045,6 +2072,7 @@ msgstr "Διαχείριση SSL"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Δεν είναι δυνατή η λίστα ιστότοπων. Μήνυμα λάθους:"
 | 
			
		||||
@@ -3337,6 +3365,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Όνομα Επέκτασης"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Περιγραφή"
 | 
			
		||||
 | 
			
		||||
@@ -3636,6 +3665,18 @@ msgstr "Επιτυχής λήψη στοιχείων του πακέτου"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Τροποποιήθηκε με Επιτυχία"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Λίστα Βάσεων Δεδομένων  - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Τελευταία έκδοση"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Αρχεία καταγραφής πρόσβασης - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -15,7 +15,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
@@ -25,54 +25,58 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=1; plural=0;\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1313,6 +1317,21 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -1496,6 +1515,7 @@ msgstr ""
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -1571,6 +1591,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
@@ -1897,6 +1918,7 @@ msgstr ""
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr ""
 | 
			
		||||
@@ -2995,6 +3017,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
@@ -3260,6 +3283,14 @@ msgstr ""
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -15,7 +15,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 | 
			
		||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <LL@li.org>\n"
 | 
			
		||||
@@ -25,54 +25,60 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=1; plural=0;\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Angielski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Chiński"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Bułgarski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Portugalski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Japoński"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr "Bośniacki"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr "Grecki"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr "Rosyjski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr "Turecki"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr "Hiszpański"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr "Francuski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Polski"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Filename"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Nazwa pliku"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1323,6 +1329,25 @@ msgstr "Zarządzaj Postfix"
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Zarządzaj FTP"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Zainstaluj rozszerzenia"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Zainstaluj"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Aktualizacje - CyberPanel"
 | 
			
		||||
@@ -1510,6 +1535,7 @@ msgstr "Włącz teraz"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Nazwa"
 | 
			
		||||
@@ -1585,6 +1611,7 @@ msgid "Content"
 | 
			
		||||
msgstr "Zawartość"
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Typ"
 | 
			
		||||
 | 
			
		||||
@@ -1918,6 +1945,7 @@ msgstr "Zarządzaj"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Nie można wyświetlać stron internetowych. Komunikat o błędzie:"
 | 
			
		||||
@@ -3034,6 +3062,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Nazwa rozszerzenia"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Opis"
 | 
			
		||||
 | 
			
		||||
@@ -3305,6 +3334,18 @@ msgstr "Detale pakietów zostały pomyślnie pobrane"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Pomyślnie zmodyfikowano"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Lista baz danych - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Najnowsza wersja"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Logi dostępu - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: CyberPanel\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2017-10-21 00:03+0100\n"
 | 
			
		||||
"Last-Translator: \n"
 | 
			
		||||
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
 | 
			
		||||
@@ -24,56 +24,62 @@ msgstr ""
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"X-Generator: Poedit 2.0.4\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Inglês"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Chinês"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "English"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Inglês"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Nome do Ficheiro"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1403,6 +1409,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Gerir SSL"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Instalar Extensões"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Instalar"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Gestão de Versões - CyberPanel"
 | 
			
		||||
@@ -1594,6 +1619,7 @@ msgstr "Ativar"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Nome"
 | 
			
		||||
@@ -1677,6 +1703,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Tipo"
 | 
			
		||||
 | 
			
		||||
@@ -2047,6 +2074,7 @@ msgstr "Gerir SSL"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Impossível listar websites. Mensagem de erro:"
 | 
			
		||||
@@ -3316,6 +3344,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Nome da Extensão"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Descrição"
 | 
			
		||||
 | 
			
		||||
@@ -3606,6 +3635,18 @@ msgstr "Detalhes do Pacato Obtidos com Sucesso"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Alterado com Sucesso"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Listar Bases de Dos - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Última Versão"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Logs de Acesso - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: CyberPanel\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2017-11-12 17:56+0200\n"
 | 
			
		||||
"Last-Translator: aleks <alex.webcolor@gmail.com>\n"
 | 
			
		||||
"Language-Team: LANGUAGE <unasir@litespeedtech.com>\n"
 | 
			
		||||
@@ -26,56 +26,62 @@ msgstr ""
 | 
			
		||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 | 
			
		||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "Английский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Китайский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Болгарский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Португальский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Японский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr "Боснийский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr "Русский"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Политика"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Имя файла"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1377,6 +1383,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "Управление SSL"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Установка расширений"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Установить"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Управление версиями - CyberPanel"
 | 
			
		||||
@@ -1566,6 +1591,7 @@ msgstr "Включить"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "Имя"
 | 
			
		||||
@@ -1649,6 +1675,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Тип"
 | 
			
		||||
 | 
			
		||||
@@ -2020,6 +2047,7 @@ msgstr "Управление SSL"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Не удается перечислить веб-сайты. Сообщение об ошибке:"
 | 
			
		||||
@@ -3294,6 +3322,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Название Расширения"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Описание"
 | 
			
		||||
 | 
			
		||||
@@ -3583,6 +3612,18 @@ msgstr "Детали пакета успешно доставлены"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Успешно модифицировано"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Список баз данных - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Последняя версия"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Лог-журналы доступа - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							@@ -14,7 +14,7 @@ msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: CyberPanel 1.6\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2018-09-28 11:29+0500\n"
 | 
			
		||||
"POT-Creation-Date: 2018-10-10 13:01+0500\n"
 | 
			
		||||
"PO-Revision-Date: 2018-02-04 04:34+0300\n"
 | 
			
		||||
"Last-Translator: Burak BOZ\n"
 | 
			
		||||
"Language-Team: Burak BOZ <burakboz@icloud.com>\n"
 | 
			
		||||
@@ -25,56 +25,62 @@ msgstr ""
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 | 
			
		||||
"X-Generator: Poedit 1.8.7.1\n"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:170
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
msgid "English"
 | 
			
		||||
msgstr "İngilizce"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:171
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
msgid "Chinese"
 | 
			
		||||
msgstr "Çince"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:172
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
msgid "Bulgarian"
 | 
			
		||||
msgstr "Bulgar"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:173
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
msgid "Portuguese"
 | 
			
		||||
msgstr "Portekizce"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:174
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
msgid "Japanese"
 | 
			
		||||
msgstr "Japonca"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:175
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
msgid "Bosnian"
 | 
			
		||||
msgstr "Boşnakça"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:176
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
msgid "Greek"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:177
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
msgid "Russian"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:178
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
msgid "Turkish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:179
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
msgid "Spanish"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:180
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
msgid "French"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:181
 | 
			
		||||
#: CyberCP/settings.py:182
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Policy"
 | 
			
		||||
msgid "Polish"
 | 
			
		||||
msgstr "Politika"
 | 
			
		||||
 | 
			
		||||
#: CyberCP/settings.py:183
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "File Name"
 | 
			
		||||
msgid "Vietnamese"
 | 
			
		||||
msgstr "Dosya Adı"
 | 
			
		||||
 | 
			
		||||
#: backup/templates/backup/backup.html:4 backup/templates/backup/backup.html:14
 | 
			
		||||
#: backup/templates/backup/backup.html:21
 | 
			
		||||
msgid "Back up Website"
 | 
			
		||||
@@ -1363,6 +1369,25 @@ msgstr ""
 | 
			
		||||
msgid "Manage FTP"
 | 
			
		||||
msgstr "SSL Yönetimi"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:579
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:581
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:14
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:21
 | 
			
		||||
msgid "Plugins"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install Extensions"
 | 
			
		||||
msgid "Installed Plugins"
 | 
			
		||||
msgstr "Uzantıları Yükle"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/index.html:586
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Install"
 | 
			
		||||
msgid "Installed"
 | 
			
		||||
msgstr "Kur"
 | 
			
		||||
 | 
			
		||||
#: baseTemplate/templates/baseTemplate/versionManagment.html:3
 | 
			
		||||
msgid "Version Management - CyberPanel"
 | 
			
		||||
msgstr "Sürüm Yönetimi - CyberPanel"
 | 
			
		||||
@@ -1551,6 +1576,7 @@ msgstr "Etkinleştir"
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:328
 | 
			
		||||
#: filemanager/templates/filemanager/index.html:212
 | 
			
		||||
#: firewall/templates/firewall/firewall.html:136
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:28
 | 
			
		||||
#: serverStatus/templates/serverStatus/litespeedStatus.html:40
 | 
			
		||||
msgid "Name"
 | 
			
		||||
msgstr "İsim"
 | 
			
		||||
@@ -1634,6 +1660,7 @@ msgid "Content"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: dns/templates/dns/addDeleteDNSRecords.html:327
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:29
 | 
			
		||||
msgid "Type"
 | 
			
		||||
msgstr "Tür"
 | 
			
		||||
 | 
			
		||||
@@ -2002,6 +2029,7 @@ msgstr "SSL Yönetimi"
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailLimits.html:172
 | 
			
		||||
#: emailPremium/templates/emailPremium/emailPage.html:179
 | 
			
		||||
#: emailPremium/templates/emailPremium/listDomains.html:73
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:51
 | 
			
		||||
#: websiteFunctions/templates/websiteFunctions/listWebsites.html:53
 | 
			
		||||
msgid "Cannot list websites. Error message:"
 | 
			
		||||
msgstr "Web siteleri listelenemiyor. Hata mesajı:"
 | 
			
		||||
@@ -3207,6 +3235,7 @@ msgid "Extension Name"
 | 
			
		||||
msgstr "Uzantı Adı"
 | 
			
		||||
 | 
			
		||||
#: managePHP/templates/managePHP/installExtensions.html:65
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:30
 | 
			
		||||
msgid "Description"
 | 
			
		||||
msgstr "Açıklama"
 | 
			
		||||
 | 
			
		||||
@@ -3494,6 +3523,18 @@ msgstr "Paket Ayrıntıları Başarıyla Getirildi"
 | 
			
		||||
msgid "Successfully Modified"
 | 
			
		||||
msgstr "Başarıyla Değiştirildi"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:15
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "List Databases  - CyberPanel"
 | 
			
		||||
msgid "List of installed plugins on your CyberPanel."
 | 
			
		||||
msgstr "Veritabanlarını Listele - CyberPanel"
 | 
			
		||||
 | 
			
		||||
#: pluginHolder/templates/pluginHolder/plugins.html:31
 | 
			
		||||
#, fuzzy
 | 
			
		||||
#| msgid "Latest Version"
 | 
			
		||||
msgid "Version"
 | 
			
		||||
msgstr "Son Sürüm"
 | 
			
		||||
 | 
			
		||||
#: serverLogs/templates/serverLogs/accessLogs.html:3
 | 
			
		||||
msgid "Access Logs - CyberPanel"
 | 
			
		||||
msgstr "Erişim Günlükleri - CyberPanel"
 | 
			
		||||
 
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -158,7 +158,7 @@ def loadLoginPage(request):
 | 
			
		||||
                                  firstName="Cyber",lastName="Panel", acl=acl)
 | 
			
		||||
            admin.save()
 | 
			
		||||
 | 
			
		||||
            vers = version(currentVersion="1.7",build=1)
 | 
			
		||||
            vers = version(currentVersion="1.7",build=2)
 | 
			
		||||
            vers.save()
 | 
			
		||||
 | 
			
		||||
            package = Package(admin=admin, packageName="Default", diskSpace=1000,
 | 
			
		||||
 
 | 
			
		||||
@@ -386,6 +386,7 @@ class MailServerManager:
 | 
			
		||||
            data = json.loads(self.request.body)
 | 
			
		||||
            domainName = data['domainName']
 | 
			
		||||
 | 
			
		||||
            try:
 | 
			
		||||
                path = "/etc/opendkim/keys/" + domainName + "/default.txt"
 | 
			
		||||
                command = "sudo cat " + path
 | 
			
		||||
                output = subprocess.check_output(shlex.split(command))
 | 
			
		||||
@@ -400,6 +401,11 @@ class MailServerManager:
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
                return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
            except BaseException, msg:
 | 
			
		||||
                data_ret = {'fetchStatus': 1, 'keysAvailable': 0, 'error_message': str(msg)}
 | 
			
		||||
                json_data = json.dumps(data_ret)
 | 
			
		||||
            return HttpResponse(json_data)
 | 
			
		||||
 | 
			
		||||
        except BaseException, msg:
 | 
			
		||||
            data_ret = {'fetchStatus': 0, 'error_message': str(msg)}
 | 
			
		||||
            json_data = json.dumps(data_ret)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								mailServer/static/mailServer/vpsON.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mailServer/static/mailServer/vpsON.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 757 B  | 
							
								
								
									
										
											BIN
										
									
								
								mailServer/static/mailServer/vpsOff.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mailServer/static/mailServer/vpsOff.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 667 B  | 
@@ -30,7 +30,6 @@ class CSF(multi.Thread):
 | 
			
		||||
 | 
			
		||||
    def installCSF(self):
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            ##
 | 
			
		||||
 | 
			
		||||
            command = 'wget ' + CSF.csfURL
 | 
			
		||||
@@ -106,6 +105,7 @@ class CSF(multi.Thread):
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            ##
 | 
			
		||||
 | 
			
		||||
            os.chdir('/etc/csf')
 | 
			
		||||
 | 
			
		||||
            command = './uninstall.sh'
 | 
			
		||||
@@ -116,6 +116,19 @@ class CSF(multi.Thread):
 | 
			
		||||
 | 
			
		||||
            #
 | 
			
		||||
 | 
			
		||||
            command = 'systemctl unmask firewalld'
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
            #
 | 
			
		||||
 | 
			
		||||
            command = 'systemctl start firewalld'
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
            ##
 | 
			
		||||
 | 
			
		||||
            command = 'systemctl enable firewalld'
 | 
			
		||||
            subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
            return 1
 | 
			
		||||
        except BaseException, msg:
 | 
			
		||||
            logging.CyberCPLogFileWriter.writeToFile(str(msg) + "[removeCSF]")
 | 
			
		||||
 
 | 
			
		||||
@@ -208,7 +208,7 @@ class FTPUtilities:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            command = "sudo chown -R nobody:cyberpanel " + directory
 | 
			
		||||
            command = "sudo chown -R lscpd:cyberpanel " + directory
 | 
			
		||||
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -75,13 +75,13 @@ class mailUtilities:
 | 
			
		||||
            if not os.path.exists(finalPath):
 | 
			
		||||
                shutil.copy(path, finalPath)
 | 
			
		||||
 | 
			
		||||
            command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/rainloop'
 | 
			
		||||
            command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop'
 | 
			
		||||
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/rainloop/data/_data_'
 | 
			
		||||
            command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel/rainloop/data/_data_'
 | 
			
		||||
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
 | 
			
		||||
@@ -529,6 +529,9 @@ milter_default_action = accept
 | 
			
		||||
                if not os.path.exists('/etc/systemd/system/cpecs.service'):
 | 
			
		||||
                    shutil.copy("/usr/local/CyberCP/postfixSenderPolicy/cpecs.service", "/etc/systemd/system/cpecs.service")
 | 
			
		||||
 | 
			
		||||
                command = 'systemctl enable cpecs'
 | 
			
		||||
                subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
                command = 'systemctl start cpecs'
 | 
			
		||||
                subprocess.call(shlex.split(command))
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -501,6 +501,9 @@ WantedBy=multi-user.target"""
 | 
			
		||||
 | 
			
		||||
            Upgrade.stdOut("Settings file backed up.")
 | 
			
		||||
 | 
			
		||||
            if os.path.exists('/usr/local/CyberCP/bin'):
 | 
			
		||||
                shutil.rmtree('/usr/local/CyberCP/bin')
 | 
			
		||||
 | 
			
		||||
            ## Extract Latest files
 | 
			
		||||
 | 
			
		||||
            count = 1
 | 
			
		||||
@@ -520,15 +523,24 @@ WantedBy=multi-user.target"""
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            ## Copy settings file
 | 
			
		||||
            data = open("/usr/local/settings.py", 'r').readlines()
 | 
			
		||||
 | 
			
		||||
            pluginCheck = 1
 | 
			
		||||
            for items in data:
 | 
			
		||||
                if items.find('pluginHolder') > -1:
 | 
			
		||||
                    pluginCheck = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            Upgrade.stdOut('Restoring settings file!')
 | 
			
		||||
 | 
			
		||||
            data = open("/usr/local/settings.py", 'r').readlines()
 | 
			
		||||
 | 
			
		||||
            writeToFile = open("/usr/local/CyberCP/CyberCP/settings.py", 'w')
 | 
			
		||||
 | 
			
		||||
            for items in data:
 | 
			
		||||
                if items.find("'filemanager',") > -1:
 | 
			
		||||
                    writeToFile.writelines(items)
 | 
			
		||||
                    if pluginCheck == 1:
 | 
			
		||||
                        writeToFile.writelines("    'pluginHolder',\n")
 | 
			
		||||
                    if Version.currentVersion == '1.6':
 | 
			
		||||
                        writeToFile.writelines("    'emailPremium',\n")
 | 
			
		||||
                else:
 | 
			
		||||
@@ -573,6 +585,113 @@ WantedBy=multi-user.target"""
 | 
			
		||||
            Upgrade.stdOut(str(msg) + " [installTLDExtract]")
 | 
			
		||||
            return 0
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def installLSCPD():
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            Upgrade.stdOut("Starting LSCPD installation..")
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
                command = 'yum -y install gcc gcc-c++ make autoconf glibc rcs'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    Upgrade.stdOut("Trying to install LSCPD prerequisites, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        Upgrade.stdOut("Failed to install LSCPD prerequisites.")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    Upgrade.stdOut("LSCPD prerequisites successfully installed!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
                command = 'yum -y install pcre-devel openssl-devel expat-devel geoip-devel zlib-devel udns-devel which curl'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    Upgrade.stdOut("Trying to install LSCPD prerequisites, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        Upgrade.stdOut("Failed to install LSCPD prerequisites.")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    Upgrade.stdOut("LSCPD prerequisites successfully installed!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            command = 'wget https://cyberpanel.net/lscp.tar.gz'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            count = 0
 | 
			
		||||
 | 
			
		||||
            while(1):
 | 
			
		||||
 | 
			
		||||
                command = 'tar zxf lscp.tar.gz -C /usr/local/'
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
                if res == 1:
 | 
			
		||||
                    count = count + 1
 | 
			
		||||
                    Upgrade.stdOut("Trying to configure LSCPD, trying again, try number: " + str(count))
 | 
			
		||||
                    if count == 3:
 | 
			
		||||
                        Upgrade.stdOut("Failed to configure LSCPD, exiting installer! [installLSCPD]")
 | 
			
		||||
                        os._exit(0)
 | 
			
		||||
                else:
 | 
			
		||||
                    Upgrade.stdOut("LSCPD successfully configured!")
 | 
			
		||||
                    break
 | 
			
		||||
 | 
			
		||||
            try:
 | 
			
		||||
                os.remove("/usr/local/lscp/fcgi-bin/lsphp")
 | 
			
		||||
                shutil.copy("/usr/local/lsws/lsphp70/bin/lsphp","/usr/local/lscp/fcgi-bin/lsphp")
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
            command = 'adduser lscpd -M -d /usr/local/lscp'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'groupadd lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'usermod -a -G lscpd lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'usermod -a -G lsadm lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            res = subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'chown -R lscpd:lscpd /usr/local/lscp/cyberpanel'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'systemctl daemon-reload'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            command = 'systemctl restart lscpd'
 | 
			
		||||
            cmd = shlex.split(command)
 | 
			
		||||
            subprocess.call(cmd)
 | 
			
		||||
 | 
			
		||||
            Upgrade.stdOut("LSCPD successfully installed!")
 | 
			
		||||
            Upgrade.stdOut("LSCPD successfully installed!")
 | 
			
		||||
 | 
			
		||||
        except OSError, msg:
 | 
			
		||||
            Upgrade.stdOut(str(msg) + " [installLSCPD]")
 | 
			
		||||
            return 0
 | 
			
		||||
        except ValueError, msg:
 | 
			
		||||
            Upgrade.stdOut(str(msg) + " [installLSCPD]")
 | 
			
		||||
            return 0
 | 
			
		||||
 | 
			
		||||
        return 1
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def upgrade():
 | 
			
		||||
@@ -635,6 +754,7 @@ WantedBy=multi-user.target"""
 | 
			
		||||
 | 
			
		||||
        Upgrade.upgradeOpenLiteSpeed()
 | 
			
		||||
        Upgrade.setupCLI()
 | 
			
		||||
        Upgrade.installLSCPD()
 | 
			
		||||
        time.sleep(3)
 | 
			
		||||
 | 
			
		||||
        ## Upgrade version
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ class vhost:
 | 
			
		||||
            try:
 | 
			
		||||
                os.makedirs(pathLogs)
 | 
			
		||||
 | 
			
		||||
                command = "chown " + "nobody" + ":" + "nobody" + " " + pathLogs
 | 
			
		||||
                command = "chown " + "lscpd" + ":" + "lscpd" + " " + pathLogs
 | 
			
		||||
                cmd = shlex.split(command)
 | 
			
		||||
                subprocess.call(cmd, stdout=FNULL, stderr=subprocess.STDOUT)
 | 
			
		||||
 | 
			
		||||
@@ -424,7 +424,6 @@ rewrite  {
 | 
			
		||||
 | 
			
		||||
            writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'a')
 | 
			
		||||
 | 
			
		||||
            writeDataToFile.writelines("\n")
 | 
			
		||||
            writeDataToFile.writelines("virtualHost " + virtualHostName + " {\n")
 | 
			
		||||
            writeDataToFile.writelines("  vhRoot                  /home/$VH_NAME\n")
 | 
			
		||||
            writeDataToFile.writelines("  configFile              $SERVER_ROOT/conf/vhosts/$VH_NAME/vhost.conf\n")
 | 
			
		||||
@@ -488,6 +487,7 @@ rewrite  {
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def deleteCoreConf(virtualHostName, numberOfSites):
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            virtualHostPath = "/home/" + virtualHostName
 | 
			
		||||
            if os.path.exists(virtualHostPath):
 | 
			
		||||
@@ -497,7 +497,6 @@ rewrite  {
 | 
			
		||||
            if os.path.exists(confPath):
 | 
			
		||||
                shutil.rmtree(confPath)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            data = open("/usr/local/lsws/conf/httpd_config.conf").readlines()
 | 
			
		||||
 | 
			
		||||
            writeDataToFile = open("/usr/local/lsws/conf/httpd_config.conf", 'w')
 | 
			
		||||
@@ -507,11 +506,9 @@ rewrite  {
 | 
			
		||||
 | 
			
		||||
            for items in data:
 | 
			
		||||
                if numberOfSites == 1:
 | 
			
		||||
                    if (items.find(virtualHostName) > -1 and items.find(
 | 
			
		||||
                                "  map                     " + virtualHostName) > -1):
 | 
			
		||||
                    if (items.find(' ' + virtualHostName) > -1 and items.find("  map                     " + virtualHostName) > -1):
 | 
			
		||||
                        continue
 | 
			
		||||
                    if (items.find(' ' + virtualHostName) > -1 and (
 | 
			
		||||
                            items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
 | 
			
		||||
                    if (items.find(' ' + virtualHostName) > -1 and (items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
 | 
			
		||||
                        check = 0
 | 
			
		||||
                    if items.find("listener") > -1 and items.find("SSL") > -1:
 | 
			
		||||
                        sslCheck = 0
 | 
			
		||||
@@ -521,11 +518,9 @@ rewrite  {
 | 
			
		||||
                        check = 1
 | 
			
		||||
                        sslCheck = 1
 | 
			
		||||
                else:
 | 
			
		||||
                    if (items.find(virtualHostName) > -1 and items.find(
 | 
			
		||||
                                "  map                     " + virtualHostName) > -1):
 | 
			
		||||
                    if (items.find(' ' + virtualHostName) > -1 and items.find("  map                     " + virtualHostName) > -1):
 | 
			
		||||
                        continue
 | 
			
		||||
                    if (items.find(virtualHostName) > -1 and (
 | 
			
		||||
                            items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
 | 
			
		||||
                    if (items.find(' ' + virtualHostName) > -1 and (items.find("virtualHost") > -1 or items.find("virtualhost") > -1)):
 | 
			
		||||
                        check = 0
 | 
			
		||||
                    if (check == 1):
 | 
			
		||||
                        writeDataToFile.writelines(items)
 | 
			
		||||
@@ -708,6 +703,7 @@ rewrite  {
 | 
			
		||||
            writeToFile = open(confPath, 'w')
 | 
			
		||||
            sslCheck = 0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            for items in data:
 | 
			
		||||
                if (items.find("listener SSL") > -1):
 | 
			
		||||
                    sslCheck = 1
 | 
			
		||||
@@ -989,4 +985,3 @@ rewrite  {
 | 
			
		||||
            logging.CyberCPLogFileWriter.writeToFile(
 | 
			
		||||
                str(msg) + "223 [IO Error with main config file [createConfigInMainDomainHostFile]]")
 | 
			
		||||
            return [0, "223 [IO Error with main config file [createConfigInMainDomainHostFile]]"]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -576,7 +576,7 @@ class virtualHostUtilities:
 | 
			
		||||
            for items in data:
 | 
			
		||||
                if items.find("listener") > -1 and items.find("Default") > -1:
 | 
			
		||||
                    listenerTrueCheck = 1
 | 
			
		||||
                if items.find(masterDomain) > -1 and items.find('map') > -1 and listenerTrueCheck == 1:
 | 
			
		||||
                if items.find(' ' + masterDomain) > -1 and items.find('map') > -1 and listenerTrueCheck == 1:
 | 
			
		||||
                    data = filter(None, items.split(" "))
 | 
			
		||||
                    if data[1] == masterDomain:
 | 
			
		||||
                        writeToFile.writelines(items.rstrip('\n') + ", " + aliasDomain + "\n")
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@
 | 
			
		||||
<div class="panel">
 | 
			
		||||
    <div class="panel-body">
 | 
			
		||||
        <h3 class="title-hero">
 | 
			
		||||
            {% trans "Websites" %}
 | 
			
		||||
            {% trans "Plugins" %}
 | 
			
		||||
        </h3>
 | 
			
		||||
        <div ng-controller="listWebsites" class="example-box-wrapper">
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,7 @@ def installed(request):
 | 
			
		||||
    pluginPath = '/home/cyberpanel/plugins'
 | 
			
		||||
    pluginList = []
 | 
			
		||||
 | 
			
		||||
    if os.path.exists(pluginPath):
 | 
			
		||||
        for plugin in os.listdir(pluginPath):
 | 
			
		||||
            data = {}
 | 
			
		||||
            completePath = '/usr/local/CyberCP/' + plugin + '/meta.xml'
 | 
			
		||||
 
 | 
			
		||||
@@ -69,9 +69,7 @@ class HandleRequest(multi.Thread):
 | 
			
		||||
 | 
			
		||||
    def manageRequest(self, completeData):
 | 
			
		||||
        try:
 | 
			
		||||
 | 
			
		||||
            completeData = completeData.split('\n')
 | 
			
		||||
 | 
			
		||||
            for items in completeData:
 | 
			
		||||
                tempData = items.split('=')
 | 
			
		||||
                if tempData[0] == 'sasl_username':
 | 
			
		||||
@@ -81,6 +79,9 @@ class HandleRequest(multi.Thread):
 | 
			
		||||
                    emailAddress = tempData[1]
 | 
			
		||||
                    domainName = emailAddress.split('@')[1]
 | 
			
		||||
                elif tempData[0] == 'recipient':
 | 
			
		||||
                    if len(tempData[1]) == 0:
 | 
			
		||||
                        self.connection.sendall('action=dunno\n\n')
 | 
			
		||||
                        return
 | 
			
		||||
                    destination = tempData[1]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,6 @@ class SetupConn:
 | 
			
		||||
            uid = pwd.getpwnam("postfix").pw_uid
 | 
			
		||||
            gid = grp.getgrnam("postfix").gr_gid
 | 
			
		||||
            os.chown(self.server_addr, uid, gid)
 | 
			
		||||
 | 
			
		||||
            os.chmod(self.server_addr, 0755)
 | 
			
		||||
 | 
			
		||||
            logging.writeToFile('CyberPanel Email Policy Server Successfully started!')
 | 
			
		||||
 
 | 
			
		||||
@@ -35,7 +35,7 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="serviceDetails">
 | 
			
		||||
                        <div class="serviceHeading">
 | 
			
		||||
                            <h5><b>LiteSpeed Ent</b></h5>
 | 
			
		||||
                            <h5><b>OpenLiteSpeed</b></h5>
 | 
			
		||||
                            <span class="help-block" ng-bind="olsStatus">Stopped</span>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="serviceActionBtn">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user