add wp auto login

This commit is contained in:
Usman Nasir
2022-06-04 15:37:41 +05:00
parent 67383b2c22
commit 9c9a0eb214
4 changed files with 81 additions and 28 deletions

View File

@@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Auto login for {{ url }}</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<span style="display: none" id="userName">{{ userName }}</span>
<span style="display: none" id="password">{{ password }}</span>
<form style="display: none" name="loginform" id="loginform" action="{{ url }}/wp-login.php" method="post">
{% csrf_token %}
<p>
<label for="user_login">Username or Email Address</label>
<input type="text" name="log" id="user_login" class="input" value="" size="20" autocapitalize="off"/>
</p>
<div class="user-pass-wrap">
<label for="user_pass">Password</label>
<div class="wp-pwd">
<input type="password" name="pwd" id="user_pass" class="input password-input" value="" size="20"/>
<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0"
aria-label="Show password">
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
</button>
</div>
</div>
<p class="forgetmenot"><input name="rememberme" type="checkbox" id="rememberme" value="forever"/> <label
for="rememberme">Remember Me</label></p>
<p class="submit">
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large"
value="Log In"/>
<input type="hidden" name="redirect_to" value="{{ url }}/wp-admin"/>
{# <input type="hidden" name="testcookie" value="1"/>#}
</p>
</form>
<script>
document.getElementById("user_login").value = $("#userName").text();
document.getElementById("user_pass").value = $("#password").text();
document.forms["loginform"].submit();
</script>
</body>
</html>

View File

@@ -82,9 +82,8 @@
</svg> </svg>
File Manager File Manager
</a> </a>
<a ng-click="autoLogin()" <a target="_blank" style="margin-left: 4%"
style="margin-left: 4%" href="{% url 'AutoLogin' %}?id={{ wpsite.id }}">
href="javascript: void(0);">
<svg xmlns="http://www.w3.org/2000/svg" <svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em" aria-hidden="true" focusable="false" width="1em"

View File

@@ -59,10 +59,9 @@ def WPHome(request):
def AutoLogin(request): def AutoLogin(request):
try: try:
userID = request.session['userID'] userID = request.session['userID']
WPid = request.GET.get('ID')
wm = WebsiteManager() wm = WebsiteManager()
return wm.AutoLogin(request, userID, WPid) return wm.AutoLogin(request, userID)
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)
def ConfigurePlugins(request): def ConfigurePlugins(request):
@@ -1401,4 +1400,4 @@ def webhook(request, domain):
wm = WebsiteManager() wm = WebsiteManager()
return wm.webhook(domain, json.loads(request.body)) return wm.webhook(domain, json.loads(request.body))
except KeyError: except KeyError:
return redirect(loadLoginPage) return redirect(loadLoginPage)

View File

@@ -28,7 +28,7 @@ from plogical.childDomain import ChildDomainManager
from math import ceil from math import ceil
from plogical.alias import AliasManager from plogical.alias import AliasManager
from plogical.applicationInstaller import ApplicationInstaller from plogical.applicationInstaller import ApplicationInstaller
from plogical import hashPassword from plogical import hashPassword, randomPassword
from emailMarketing.emACL import emACL from emailMarketing.emACL import emACL
from plogical.processUtilities import ProcessUtilities from plogical.processUtilities import ProcessUtilities
from managePHP.phpManager import PHPManager from managePHP.phpManager import PHPManager
@@ -143,26 +143,38 @@ class WebsiteManager:
Data, 'createWebsite') Data, 'createWebsite')
return proc.render() return proc.render()
def AutoLogin(self, request=None, userID=None, WPid=None): def AutoLogin(self, request=None, userID=None):
pass
# data = {} WPid = request.GET.get('id')
# currentACL = ACLManager.loadedACL(userID) WPobj = WPSites.objects.get(pk=WPid)
# WPobj = WPSites.objects.get(pk=WPid)
# #php = VirtualHost.getPHPString(self.data['PHPVersion'])
# data['wpsite'] = WPobj #FinalPHPPath = '/usr/local/lsws/lsphp%s/bin/php' % (php)
#
# if data['wpsite'].FinalURL.endswith('/'): ## Get title
# FinalURL = data['wpsite'].FinalURL[:-1]
# else: password = randomPassword.generate_pass(10)
# FinalURL = data['wpsite'].FinalURL
# command = 'sudo -u %s wp user create autologin %s --role=administrator --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (WPobj.owner.externalApp, 'autologin@cloudpages.cloud', password, WPobj.path)
# data['url'] = 'https://%s' % (FinalURL) ProcessUtilities.executioner(command)
# data['userName'] = 'autologin'
# data['password'] = message command = 'sudo -u %s wp user update autologin --user_pass="%s" --path=%s --skip-plugins --skip-themes' % (WPobj.owner.externalApp, password, WPobj.path)
# ProcessUtilities.executioner(command)
# proc = httpProc(request, 'websiteFunctions/WPsiteHome.html',
# Data, 'createWebsite') data = {}
# return proc.render()
if WPobj.FinalURL.endswith('/'):
FinalURL = WPobj.FinalURL[:-1]
else:
FinalURL = WPobj.FinalURL
data['url'] = 'https://%s' % (FinalURL)
data['userName'] = 'autologin'
data['password'] = password
proc = httpProc(request, 'websiteFunctions/AutoLogin.html',
data, 'createWebsite')
return proc.render()