def cyberPanelVersion(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['username'] adminPass = data['password'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): Version = version.objects.get(pk=1) data_ret = {"getVersion": 1, 'error_message': "Could not authorize access to API", 'currentVersion':Version.currentVersion, 'build':Version.build} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"getVersion": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {"getVersion": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def FetchRemoteTransferStatus(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-"+str(data['dir'])+"/backup_log" try: command = "sudo cat "+ dir status = subprocess.check_output(shlex.split(command)) admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": status}) return HttpResponse(final_json) else: data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except: final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": "Just started.."}) return HttpResponse(final_json) except BaseException, msg: data = {'fetchStatus': 0,'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def fetchSSHkey(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): pubKey = os.path.join("/root", ".ssh", 'cyberpanel.pub') execPath = "sudo cat " + pubKey data = subprocess.check_output(shlex.split(execPath)) data_ret = { 'pubKeyStatus': 1, 'error_message': "None", 'pubKey': data } json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = { 'pubKeyStatus': 0, 'error_message': "Could not authorize access to API." } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'pubKeyStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def changeUserPassAPI(request): try: if request.method == 'POST': data = json.loads(request.body) websiteOwner = data['websiteOwner'] ownerPassword = data['ownerPassword'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "changeStatus": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) websiteOwn = Administrator.objects.get(userName=websiteOwner) websiteOwn.password = hashPassword.hash_password(ownerPassword) websiteOwn.save() data_ret = {'changeStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'changeStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def deleteWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) data['websiteName'] = data['domainName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"websiteDeleteStatus": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=data['websiteName']) websiteOwner = website.admin if admin.websites_set.all().count() == 0: websiteOwner.delete() ## Deleting master domain wm = WebsiteManager() return wm.submitWebsiteDeletion(admin.pk, data) except BaseException, msg: data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def submitWebsiteStatus(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if admin.api == 0: data_ret = { "websiteStatus": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "websiteStatus": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) wm = WebsiteManager() return wm.submitWebsiteStatus(admin.pk, json.loads(request.body)) except BaseException, msg: data_ret = {'websiteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def verifyConn(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if admin.api == 0: data_ret = { "verifyConn": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, adminPass): data_ret = {"verifyConn": 1} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"verifyConn": 0} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'verifyConn': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def FetchRemoteTransferStatus(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-"+str(data['dir'])+"/backup_log" try: command = "sudo cat "+ dir status = subprocess.check_output(shlex.split(command)) admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": status}) return HttpResponse(final_json) else: data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except: final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "status": "Just started.."}) return HttpResponse(final_json) except BaseException, msg: data = {'fetchStatus': 0,'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def FetchRemoteTransferStatus(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-" + str(data['dir']) + "/backup_log" statusFile = open(dir, 'r') status = statusFile.read() statusFile.close() admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): final_json = json.dumps({ 'fetchStatus': 1, 'error_message': "None", "status": status }) return HttpResponse(final_json) else: data_ret = { 'fetchStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'fetchStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def fetchSSHkey(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): keyPath = "/root/.ssh" pubKey = keyPath + "/cyberpanel.pub" execPath = "sudo cat " + pubKey data = subprocess.check_output(shlex.split(execPath)) data_ret = {'pubKeyStatus': 1, 'error_message': "None", "pubKey":data} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {'pubKeyStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'pubKeyStatus': 0,'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def remoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if admin.api == 0: data_ret = { "transferStatus": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) ipAddress = data['ipAddress'] accountsToTransfer = data['accountsToTransfer'] if hashPassword.check_password(admin.password, password): dir = str(randint(1000, 9999)) ## mailUtilities.checkHome() path = "/home/cyberpanel/accounts-" + str(randint(1000, 9999)) writeToFile = open(path, 'w') for items in accountsToTransfer: writeToFile.writelines(items + "\n") writeToFile.close() ## Accounts to transfer is a path to file, containing accounts. execPath = "/usr/local/CyberCP/bin/python2 " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py" execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + path ProcessUtilities.popenExecutioner(execPath) return HttpResponse( json.dumps({ "transferStatus": 1, "dir": dir })) ## else: data_ret = { 'transferStatus': 0, 'error_message': "Could not authorize access to API." } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'transferStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def fetchAccountsFromRemoteServer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if admin.api == 0: data_ret = { "fetchStatus": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, password): records = Websites.objects.all() json_data = "[" checker = 0 for items in records: dic = { 'website': items.domain, 'php': items.phpSelection, 'package': items.package.packageName, 'email': items.adminEmail, } if checker == 0: json_data = json_data + json.dumps(dic) checker = 1 else: json_data = json_data + ',' + json.dumps(dic) json_data = json_data + ']' final_json = json.dumps({ 'fetchStatus': 1, 'error_message': "None", "data": json_data }) return HttpResponse(final_json) else: data_ret = { 'fetchStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'fetchStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def getUserInfo(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] username = data['username'] admin = Administrator.objects.get(userName=adminUser) if admin.api == 0: data_ret = { "status": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "status": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) try: user = Administrator.objects.get(userName=username) data_ret = { 'status': 1, 'firstName': user.firstName, 'lastName': user.lastName, 'email': user.email, 'adminStatus': user.acl.adminStatus, 'error_message': "None" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except: data_ret = { 'status': 0, 'error_message': "User does not exists." } 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)
def cancelRemoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if admin.api == 0: data_ret = { "cancelStatus": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) dir = "/home/backup/transfer-" + str(data['dir']) if hashPassword.check_password(admin.password, password): path = dir + "/pid" command = "cat " + path pid = ProcessUtilities.outputExecutioner(command) command = "kill -KILL " + pid ProcessUtilities.executioner(command) command = "rm -rf " + dir ProcessUtilities.executioner(command) data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data_ret = { 'cancelStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'cancelStatus': 1, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def fetchSSHkey(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): keyPath = "/home/cyberpanel/.ssh" if not os.path.exists(keyPath): os.makedirs(keyPath) command = "ssh-keygen -f " + keyPath + "/cyberpanel -t rsa -N ''" cmd = shlex.split(command) res = subprocess.call(cmd) else: if not os.path.exists(keyPath + "/cyberpanel"): command = "ssh-keygen -f " + keyPath + "/cyberpanel -t rsa -N ''" cmd = shlex.split(command) res = subprocess.call(cmd) pubKey = keyPath + "/cyberpanel.pub" f = open(pubKey) data = f.read() data_ret = { 'pubKeyStatus': 1, 'error_message': "None", "pubKey": data } json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = { 'pubKeyStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'pubKeyStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def cancelRemoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-" + str(data['dir']) admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): if os.path.exists(dir): path = dir + "/pid" pid = open(path, "r").readlines()[0] try: os.kill(int(pid), signal.SIGKILL) except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [cancelRemoteTransfer]") rmtree(dir) data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data_ret = { 'cancelStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'cancelStatus': 1, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def loginAPI(request): try: username = request.POST['username'] password = request.POST['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk return redirect(renderBase) else: return HttpResponse("Invalid Credentials.") except BaseException, msg: data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def changePackageAPI(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['websiteName'] packageName = data['packageName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if admin.api == 0: data_ret = { "changePackage": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "changePackage": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=websiteName) pack = Package.objects.get(packageName=packageName) website.package = pack website.save() data_ret = {'changePackage': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'changePackage': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def remoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] ipAddress = data['ipAddress'] accountsToTransfer = data['accountsToTransfer'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): dir = str(randint(1000, 9999)) ## accountsToTransfer = ','.join(accountsToTransfer) execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py" execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + accountsToTransfer subprocess.Popen(shlex.split(execPath)) return HttpResponse( json.dumps({ "transferStatus": 1, "dir": dir })) ## else: data_ret = { 'transferStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'transferStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def deleteWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['domainName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"websiteDeleteStatus": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=websiteName) websiteOwner = website.admin if admin.websites_set.all().count() == 0: websiteOwner.delete() ## Deleting master domain numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count()) execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + websiteName + \ " --numberOfSites " + numberOfWebsites subprocess.check_output(shlex.split(execPath)) data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def cyberPanelVersion(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['username'] adminPass = data['password'] admin = Administrator.objects.get(userName=adminUser) if admin.api == 0: data_ret = { "getVersion": 0, 'error_message': "API Access Disabled." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if hashPassword.check_password(admin.password, adminPass): Version = version.objects.get(pk=1) data_ret = { "getVersion": 1, 'error_message': "none", 'currentVersion': Version.currentVersion, 'build': Version.build } json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = { "getVersion": 0, 'error_message': "Could not authorize access to API." } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {"getVersion": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def deleteWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['domainName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "websiteDeleteStatus": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) numberOfWebsites = Websites.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations( websiteName, numberOfWebsites) delWebsite = Websites.objects.get(domain=websiteName) databases = Databases.objects.filter(website=delWebsite) for items in databases: mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) delWebsite.delete() installUtilities.reStartLiteSpeed() data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def cancelRemoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-"+str(data['dir']) admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): if os.path.exists(dir): path = dir+"/pid" pid = open(path, "r").readlines()[0] try: os.kill(int(pid), signal.SIGKILL) except BaseException, msg: logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [cancelRemoteTransfer]") rmtree(dir) data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data_ret = {'cancelStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'cancelStatus': 1, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def fetchAccountsFromRemoteServer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): records = Websites.objects.all() json_data = "[" checker = 0 for items in records: dic = { 'website': items.domain, 'php': items.phpSelection, 'package': items.package.packageName, 'email': items.adminEmail, } if checker == 0: json_data = json_data + json.dumps(dic) checker = 1 else: json_data = json_data + ',' + json.dumps(dic) json_data = json_data + ']' final_json = json.dumps({'fetchStatus': 1, 'error_message': "None", "data": json_data}) return HttpResponse(final_json) else: data_ret = {'fetchStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'fetchStatus': 0,'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def submitWebsiteStatus(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['websiteName'] state = data['state'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "websiteStatus": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=websiteName) if state == "Suspend": virtualHostUtilities.suspendVirtualHost(websiteName) installUtilities.reStartLiteSpeed() website.state = 0 else: virtualHostUtilities.UnsuspendVirtualHost(websiteName) installUtilities.reStartLiteSpeed() website.state = 1 website.save() data_ret = {'websiteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def remoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] ipAddress = data['ipAddress'] accountsToTransfer = data['accountsToTransfer'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): dir = str(randint(1000, 9999)) transferRequest = rBackup.remoteBackup.remoteTransfer( ipAddress, dir, accountsToTransfer) if transferRequest[0] == 1: return HttpResponse( json.dumps({ "transferStatus": 1, "dir": dir })) else: data_ret = { 'transferStatus': 0, 'error_message': transferRequest[1] } json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = { 'transferStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'transferStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def remoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] ipAddress = data['ipAddress'] accountsToTransfer = data['accountsToTransfer'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): dir = str(randint(1000, 9999)) ## accountsToTransfer = ','.join(accountsToTransfer) execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/remoteTransferUtilities.py" execPath = execPath + " remoteTransfer --ipAddress " + ipAddress + " --dir " + dir + " --accountsToTransfer " + accountsToTransfer subprocess.Popen(shlex.split(execPath)) return HttpResponse(json.dumps({"transferStatus": 1, "dir": dir})) ## else: data_ret = {'transferStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'transferStatus': 0,'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def loginAPI(request): try: if request.method == "POST": username = request.POST['username'] password = request.POST['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk return redirect(renderBase) else: return HttpResponse("Invalid Credentials.") except BaseException, msg: data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def clean(self): cleaned_data = super().clean() user_id = cleaned_data.get('user_id') cur_password = cleaned_data.get('cur_password') password = cleaned_data.get('password') re_password = cleaned_data.get('re_password') try: account = Account.objects.get(pk=user_id) if not hashPassword.check_password(account.password, cur_password): self.add_error('cur_password', 'Current Password is not correct!') if password == cur_password: self.add_error( 'password', 'The new password matches the current password') if password != re_password: self.add_error('re_password', 'Confirm Password entered incorrectly!') except ObjectDoesNotExist: self.add_error('user_id', 'User is not exits!')
def deleteWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['domainName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"websiteDeleteStatus": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) numberOfWebsites = Websites.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations(websiteName, numberOfWebsites) delWebsite = Websites.objects.get(domain=websiteName) databases = Databases.objects.filter(website=delWebsite) for items in databases: mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) delWebsite.delete() installUtilities.reStartLiteSpeed() data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def submitWebsiteStatus(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['websiteName'] state = data['state'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"websiteStatus": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=websiteName) if state == "Suspend": virtualHostUtilities.suspendVirtualHost(websiteName) installUtilities.reStartLiteSpeed() website.state = 0 else: virtualHostUtilities.UnsuspendVirtualHost(websiteName) installUtilities.reStartLiteSpeed() website.state = 1 website.save() data_ret = {'websiteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def changePackageAPI(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['websiteName'] packageName = data['packageName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"changePackage": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) website = Websites.objects.get(domain=websiteName) pack = Package.objects.get(packageName=packageName) website.package = pack website.save() data_ret = {'changePackage': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'changePackage': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def cancelRemoteTransfer(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] dir = "/home/backup/transfer-"+str(data['dir']) admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): path = dir + "/pid" command = "sudo cat " + path pid = subprocess.check_output(shlex.split(command)) command = "sudo kill -KILL " + pid subprocess.call(shlex.split(command)) command = "sudo rm -rf " + dir subprocess.call(shlex.split(command)) data = {'cancelStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data_ret = {'cancelStatus': 0, 'error_message': "Invalid Credentials"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'cancelStatus': 1, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def changeUserPassAPI(request): try: if request.method == 'POST': data = json.loads(request.body) websiteOwner = data['websiteOwner'] ownerPassword = data['ownerPassword'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"changeStatus": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) websiteOwn = Administrator.objects.get(userName=websiteOwner) websiteOwn.password = hashPassword.hash_password(ownerPassword) websiteOwn.save() data_ret = {'changeStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'changeStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def fetchSSHkey(request): try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): keyPath = "/root/.ssh" pubKey = keyPath + "/cyberpanel.pub" execPath = "sudo cat " + pubKey data = subprocess.check_output(shlex.split(execPath)) data_ret = { 'pubKeyStatus': 1, 'error_message': "None", "pubKey": data } json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = { 'pubKeyStatus': 0, 'error_message': "Invalid Credentials" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data = {'pubKeyStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def verifyConn(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): data_ret = {"verifyConn": 1} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"verifyConn": 0} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'verifyConn': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def createWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] domain = data['domainName'] adminEmail = data['ownerEmail'] packageName = data['packageName'] websiteOwner = data['websiteOwner'] ownerPassword = data['ownerPassword'] externalApp = "".join(re.findall("[a-zA-Z]+", domain))[:7] try: website = Websites.objects.get(domain=domain) data_ret = { "existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Website Already Exists" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except: pass try: website = ChildDomains.objects.get(domain=domain) data_ret = { "existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Website Already Exists" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except: pass phpSelection = "PHP 7.0" admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) if adminEmail is None: adminEmail = "*****@*****.**" try: websiteOwn = Administrator( userName=websiteOwner, password=hashPassword.hash_password(ownerPassword), email=adminEmail, type=3, owner=admin.pk, initWebsitesLimit=1) websiteOwn.save() except BaseException, msg: pass ## Create Configurations numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count()) sslpath = "/home/" + domain + "/public_html" execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " createVirtualHost --virtualHostName " + domain + " --administratorEmail " + adminEmail + " --phpVersion '" + phpSelection + "' --virtualHostUser " + externalApp + " --numberOfSites " + numberOfWebsites + " --ssl " + str( '0') + " --sslPath " + sslpath output = subprocess.check_output(shlex.split(execPath)) if output.find("1,None") > -1: pass else: data_ret = { 'createWebSiteStatus': 0, 'error_message': output, "existsStatus": 0 } json_data = json.dumps(data_ret) return HttpResponse(json_data) ## Create Configurations ends here selectedPackage = Package.objects.get(packageName=packageName) websiteOwn = Administrator.objects.get(userName=websiteOwner) website = Websites(admin=websiteOwn, package=selectedPackage, domain=domain, adminEmail=adminEmail, phpSelection=phpSelection, ssl=0, externalApp=externalApp) website.save() data_ret = { 'createWebSiteStatus': 1, 'error_message': "None", "existsStatus": 0 } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = { 'createWebSiteStatus': 0, 'error_message': str(msg), "existsStatus": 0 } json_data = json.dumps(data_ret) return HttpResponse(json_data)
def verifyLogin(request): try: userID = request.session['userID'] data = {'userID' : userID, 'loginStatus': 1, 'error_message':"None"} json_data = json.dumps(data) return HttpResponse(json_data) except KeyError: username = "******" password = "" try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] try: if data['languageSelection'] == "English": user_Language = "en" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Chinese": user_Language = "cn" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bulgarian": user_Language = "br" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Portuguese": user_Language = "pt" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Japanese": user_Language = "ja" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bosnian": user_Language = "bs" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language except: request.session[LANGUAGE_SESSION_KEY] = "en" request.COOKIES['django_language'] = "en" settings.LANGUAGE_CODE = "en" admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk data = {'userID': admin.pk, 'loginStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) else: data = {'userID': 0, 'loginStatus': 0, 'error_message': "wrong-password"} json_data = json.dumps(data) return HttpResponse(json_data) except BaseException,msg: data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def deleteWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) websiteName = data['domainName'] adminUser = data['adminUser'] adminPass = data['adminPass'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "websiteDeleteStatus": 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count()) ## Deleting master domain execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + websiteName + " --numberOfSites " + numberOfWebsites subprocess.check_output(shlex.split(execPath)) delWebsite = Websites.objects.get(domain=websiteName) databases = Databases.objects.filter(website=delWebsite) childDomains = delWebsite.childdomains_set.all() ## Deleting child domains for items in childDomains: numberOfWebsites = str(Websites.objects.count() + ChildDomains.objects.count()) execPath = "sudo python " + virtualHostUtilities.cyberPanel + "/plogical/virtualHostUtilities.py" execPath = execPath + " deleteVirtualHostConfigurations --virtualHostName " + items.domain + " --numberOfSites " + numberOfWebsites subprocess.check_output(shlex.split(execPath)) for items in databases: mysqlUtilities.deleteDatabase(items.dbName, items.dbUser) delWebsite.delete() try: delZone = Domains.objects.get(name=websiteName) delZone.delete() except: pass installUtilities.reStartLiteSpeed() data_ret = {'websiteDeleteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {'websiteDeleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def verifyLogin(request): try: userID = request.session['userID'] data = {'userID': userID, 'loginStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) except KeyError: username = "******" password = "" try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] try: if data['languageSelection'] == "English": user_Language = "en" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Chinese": user_Language = "cn" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bulgarian": user_Language = "br" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Portuguese": user_Language = "pt" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Japanese": user_Language = "ja" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bosnian": user_Language = "bs" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Greek": user_Language = "gr" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Russian": user_Language = "ru" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Turkish": user_Language = "tr" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Spanish": user_Language = "es" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "French": user_Language = "fr" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Polish": user_Language = "pl" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Vietnamese": user_Language = "vi" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Italian": user_Language = "it" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "German": user_Language = "de" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language except: request.session[LANGUAGE_SESSION_KEY] = "en" request.COOKIES['django_language'] = "en" settings.LANGUAGE_CODE = "en" admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk ipAddr = request.META.get('REMOTE_ADDR') if ipAddr.find(':') > -1: ipAddr = ipAddr.split(':')[:3] request.session['ipAddr'] = ''.join(ipAddr) else: request.session['ipAddr'] = request.META.get('REMOTE_ADDR') request.session.set_expiry(3600) data = { 'userID': admin.pk, 'loginStatus': 1, 'error_message': "None" } json_data = json.dumps(data) return HttpResponse(json_data) else: data = { 'userID': 0, 'loginStatus': 0, 'error_message': "wrong-password" } json_data = json.dumps(data) return HttpResponse(json_data) except BaseException, msg: data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def putSSHkey(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['username'] adminPass = data['password'] pubKey = data['putSSHKey'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): keyPath = "/home/cyberpanel/.ssh" if not os.path.exists(keyPath): os.makedirs(keyPath) ## writeKey authorized_keys = keyPath+"/authorized_keys" presenseCheck = 0 try: data = open(authorized_keys, "r").readlines() for items in data: if items.find(pubKey) > -1: presenseCheck = 1 except: pass if presenseCheck == 0: writeToFile = open(authorized_keys, 'a') writeToFile.writelines("#Added by CyberPanel\n") writeToFile.writelines("\n") writeToFile.writelines(pubKey) writeToFile.writelines("\n") writeToFile.close() ## command = "sudo chmod g-w /home/cyberpanel" cmd = shlex.split(command) res = subprocess.call(cmd) os.chmod(keyPath,0700) os.chmod(authorized_keys, 0600) data_ret = {"putSSHKey": 1, 'error_message': "None",} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"putSSHKey": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {"putSSHKey": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def putSSHkey(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['username'] adminPass = data['password'] pubKey = data['putSSHKey'] admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): keyPath = "/home/cyberpanel/.ssh" if not os.path.exists(keyPath): os.makedirs(keyPath) ## writeKey authorized_keys = keyPath+"/authorized_keys" presenseCheck = 0 try: data = open(authorized_keys, "r").readlines() for items in data: if items.find(pubKey) > -1: presenseCheck = 1 except: pass if presenseCheck == 0: writeToFile = open(authorized_keys, 'a') writeToFile.writelines("#Added by CyberPanel\n") writeToFile.writelines("\n") writeToFile.writelines(pubKey) writeToFile.writelines("\n") writeToFile.close() ## command = "sudo chmod g-w /home/cyberpanel" cmd = shlex.split(command) res = subprocess.call(cmd) os.chmod(keyPath,0700) os.chmod(authorized_keys, 0600) data_ret = {"putSSHKey": 1, 'error_message': "None",} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {"putSSHKey": 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: data_ret = {"putSSHKey": 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def createWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] domain = data['domainName'] adminEmail = data['ownerEmail'] packageName = data['packageName'] websiteOwner = data['websiteOwner'] ownerPassword = data['ownerPassword'] try: website = Websites.objects.get(domain=domain) data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Website Already Exists"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except: pass phpSelection = "PHP 7.0" admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = {"existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Could not authorize access to API"} json_data = json.dumps(data_ret) return HttpResponse(json_data) if adminEmail is None: adminEmail = "*****@*****.**" try: websiteOwn = Administrator(userName=websiteOwner, password=hashPassword.hash_password(ownerPassword), email=adminEmail, type=3, owner=admin.pk, initWebsitesLimit=1) websiteOwn.save() except BaseException,msg: pass if virtualHostUtilities.checkIfVirtualHostExists(domain) == 1: data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "This domain already exists in Litespeed Configurations, first delete the domain to perform sweap."} json_data = json.dumps(data_ret) return HttpResponse(json_data) if virtualHostUtilities.createDirectoryForVirtualHost(domain, adminEmail, phpSelection) != 1: numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites) data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "Can not create configurations, see CyberCP main log file."} json_data = json.dumps(data_ret) return HttpResponse(json_data) if virtualHostUtilities.createConfigInMainVirtualHostFile(domain) != 1: numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites) data_ret = {"existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "Can not create configurations, see CyberCP main log file."} json_data = json.dumps(data_ret) return HttpResponse(json_data) installUtilities.reStartLiteSpeed() selectedPackage = Package.objects.get(packageName=packageName) websiteOwn = Administrator.objects.get(userName=websiteOwner) website = Websites(admin=websiteOwn, package=selectedPackage, domain=domain, adminEmail=adminEmail, phpSelection=phpSelection, ssl=0) website.save() shutil.copy("/usr/local/CyberCP/index.html", "/home/" + domain + "/public_html/index.html") data_ret = {'createWebSiteStatus': 1, 'error_message': "None", "existsStatus": 0} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: numberOfWebsites = Websites.objects.count()+ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations(domain, numberOfWebsites) data_ret = {'createWebSiteStatus': 0, 'error_message': str(msg), "existsStatus": 0} json_data = json.dumps(data_ret) return HttpResponse(json_data)
def verifyLogin(request): try: userID = request.session['userID'] data = {'userID': userID, 'loginStatus': 1, 'error_message': "None"} json_data = json.dumps(data) return HttpResponse(json_data) except KeyError: username = "******" password = "" try: if request.method == "POST": data = json.loads(request.body) username = data['username'] password = data['password'] try: if data['languageSelection'] == "English": user_Language = "en" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Chinese": user_Language = "cn" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bulgarian": user_Language = "br" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Portuguese": user_Language = "pt" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Japanese": user_Language = "ja" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Bosnian": user_Language = "bs" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Greek": user_Language = "gr" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Russian": user_Language = "ru" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Turkish": user_Language = "tr" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language elif data['languageSelection'] == "Spanish": user_Language = "es" request.session[LANGUAGE_SESSION_KEY] = user_Language request.COOKIES['django_language'] = user_Language settings.LANGUAGE_CODE = user_Language except: request.session[LANGUAGE_SESSION_KEY] = "en" request.COOKIES['django_language'] = "en" settings.LANGUAGE_CODE = "en" admin = Administrator.objects.get(userName=username) if hashPassword.check_password(admin.password, password): request.session['userID'] = admin.pk data = { 'userID': admin.pk, 'loginStatus': 1, 'error_message': "None" } json_data = json.dumps(data) return HttpResponse(json_data) else: data = { 'userID': 0, 'loginStatus': 0, 'error_message': "wrong-password" } json_data = json.dumps(data) return HttpResponse(json_data) except BaseException, msg: data = {'userID': 0, 'loginStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data) return HttpResponse(json_data)
def createWebsite(request): try: if request.method == 'POST': data = json.loads(request.body) adminUser = data['adminUser'] adminPass = data['adminPass'] domain = data['domainName'] adminEmail = data['ownerEmail'] packageName = data['packageName'] websiteOwner = data['websiteOwner'] ownerPassword = data['ownerPassword'] try: website = Websites.objects.get(domain=domain) data_ret = { "existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Website Already Exists" } json_data = json.dumps(data_ret) return HttpResponse(json_data) except: pass phpSelection = "PHP 7.0" admin = Administrator.objects.get(userName=adminUser) if hashPassword.check_password(admin.password, adminPass): pass else: data_ret = { "existsStatus": 0, 'createWebSiteStatus': 0, 'error_message': "Could not authorize access to API" } json_data = json.dumps(data_ret) return HttpResponse(json_data) if adminEmail is None: adminEmail = "*****@*****.**" try: websiteOwn = Administrator( userName=websiteOwner, password=hashPassword.hash_password(ownerPassword), email=adminEmail, type=3, owner=admin.pk, initWebsitesLimit=1) websiteOwn.save() except BaseException, msg: pass if virtualHostUtilities.checkIfVirtualHostExists(domain) == 1: data_ret = { "existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "This domain already exists in Litespeed Configurations, first delete the domain to perform sweap." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if virtualHostUtilities.createDirectoryForVirtualHost( domain, adminEmail, phpSelection) != 1: numberOfWebsites = Websites.objects.count( ) + ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations( domain, numberOfWebsites) data_ret = { "existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "Can not create configurations, see CyberCP main log file." } json_data = json.dumps(data_ret) return HttpResponse(json_data) if virtualHostUtilities.createConfigInMainVirtualHostFile( domain) != 1: numberOfWebsites = Websites.objects.count( ) + ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations( domain, numberOfWebsites) data_ret = { "existsStatus": 1, 'createWebSiteStatus': 0, 'error_message': "Can not create configurations, see CyberCP main log file." } json_data = json.dumps(data_ret) return HttpResponse(json_data) installUtilities.reStartLiteSpeed() selectedPackage = Package.objects.get(packageName=packageName) websiteOwn = Administrator.objects.get(userName=websiteOwner) website = Websites(admin=websiteOwn, package=selectedPackage, domain=domain, adminEmail=adminEmail, phpSelection=phpSelection, ssl=0) website.save() shutil.copy("/usr/local/CyberCP/index.html", "/home/" + domain + "/public_html/index.html") data_ret = { 'createWebSiteStatus': 1, 'error_message': "None", "existsStatus": 0 } json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException, msg: numberOfWebsites = Websites.objects.count( ) + ChildDomains.objects.count() virtualHostUtilities.deleteVirtualHostConfigurations( domain, numberOfWebsites) data_ret = { 'createWebSiteStatus': 0, 'error_message': str(msg), "existsStatus": 0 } json_data = json.dumps(data_ret) return HttpResponse(json_data)