scanwpsite

This commit is contained in:
Hassan Hashmi
2022-07-14 10:18:49 -07:00
parent 42aa200777
commit 471637f62a
5 changed files with 162 additions and 1 deletions

View File

@@ -2640,6 +2640,65 @@ app.controller('listWebsites', function ($scope, $http) {
}; };
$scope.ScanWordpressSite = function () {
$('#cyberPanelLoading').show();
var url = "/websites/ScanWordpressSite";
var data = {
}
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
$('#cyberPanelLoading').hide();
if (response.data.status === 1) {
new PNotify({
title: 'Success!',
text: 'Successfully Saved!.',
type: 'success'
});
location.reload();
} else {
new PNotify({
title: 'Operation Failed!',
text: response.data.error_message,
type: 'error'
});
}
}
function cantLoadInitialDatas(response) {
$('#cyberPanelLoading').hide();
new PNotify({
title: 'Operation Failed!',
text: response.data.error_message,
type: 'error'
});
}
};
}); });

View File

@@ -90,8 +90,12 @@
<h2 id="domainNamePage">{% trans "List WordPress Websites" %} <h2 id="domainNamePage">{% trans "List WordPress Websites" %}
<a class="pull-right btn btn-primary" <a class="pull-right btn btn-primary"
href="{% url "createWordpress" %}">{% trans "Create WordPress Website" %}</a> href="{% url "createWordpress" %}">{% trans "Create WordPress Website" %}</a>
<a style="margin-right: 1%" class="pull-right btn btn-primary"
data-toggle="modal"
data-target="#scaningmodal"
href="#">{% trans "Scan WordPress " %}</a>
</h2> </h2>
<img ng-hide="cyberPanelLoading" src="{% static 'images/loading.gif' %}"> <img ng-hide="cyberPanelLoading" id="cyberPanelLoading" src="{% static 'images/loading.gif' %}">
<p>{% trans "On this page you can launch, list, modify and delete Wordpress Sites from your server." %}</p> <p>{% trans "On this page you can launch, list, modify and delete Wordpress Sites from your server." %}</p>
</div> </div>
@@ -190,6 +194,38 @@
</table> </table>
<!------------Start scaning wordpress Modal --->
<div id="scaningmodal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;
</button>
<h4 class="modal-title">Scan WordPress Sites
<img ng-hide="$parent.cyberPanelLoading"
src="/static/images/loading.gif"
style="display: none;">
</h4>
</div>
<div class="modal-body">
<span>Do you want to Scan Worpress site?</span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary"
ng-click="ScanWordpressSite()">Yes
</button>
<button type="button" ng-disabled="savingSettings"
class="btn btn-default" data-dismiss="modal">
Cancel
</button>
</div>
</div>
</div>
</div>
<!------------End scaning wordpress Modal --->
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -53,6 +53,7 @@ urlpatterns = [
url(r'^SaveBackupSchedule', views.SaveBackupSchedule, name='SaveBackupSchedule'), url(r'^SaveBackupSchedule', views.SaveBackupSchedule, name='SaveBackupSchedule'),
url(r'^AddWPsiteforRemoteBackup', views.AddWPsiteforRemoteBackup, name='AddWPsiteforRemoteBackup'), url(r'^AddWPsiteforRemoteBackup', views.AddWPsiteforRemoteBackup, name='AddWPsiteforRemoteBackup'),
url(r'^UpdateRemoteschedules', views.UpdateRemoteschedules, name='UpdateRemoteschedules'), url(r'^UpdateRemoteschedules', views.UpdateRemoteschedules, name='UpdateRemoteschedules'),
url(r'^ScanWordpressSite', views.ScanWordpressSite, name='ScanWordpressSite'),

View File

@@ -523,6 +523,27 @@ def UpdateRemoteschedules(request):
return redirect(loadLoginPage) return redirect(loadLoginPage)
def ScanWordpressSite(request):
try:
userID = request.session['userID']
result = pluginManager.preWebsiteCreation(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.ScanWordpressSite(userID, json.loads(request.body))
result = pluginManager.postWebsiteCreation(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def installwpcore(request): def installwpcore(request):
try: try:
userID = request.session['userID'] userID = request.session['userID']

View File

@@ -1353,6 +1353,50 @@ class WebsiteManager:
return HttpResponse(json_data) return HttpResponse(json_data)
def ScanWordpressSite(self, userID=None, data=None):
try:
currentACL = ACLManager.loadedACL(userID)
admin = Administrator.objects.get(pk=userID)
allweb = Websites.objects.all()
childdomain = ChildDomains.objects.all()
for web in allweb:
webpath = "/home/%s/public_html" % web.domain
command = "cat %s/wp-config.php" % webpath
result, stdout = ProcessUtilities.outputExecutioner(command, None, None, None, 1)
if result == 1:
wpobj = WPSites(owner=web, title=web.domain, path=webpath, FinalURL=web.domain,
AutoUpdates="Enabled", PluginUpdates="Enabled",
ThemeUpdates="Enabled", )
wpobj.save()
for chlid in childdomain:
command = "cat %s/wp-config.php"%chlid.path
result, stdout = ProcessUtilities.outputExecutioner(command, None, None, None, 1)
if result == 1:
wpobj = WPSites(owner=chlid.master, title=chlid.domain, path=chlid.path, FinalURL=chlid.domain,
AutoUpdates="Enabled", PluginUpdates="Enabled",
ThemeUpdates="Enabled", )
wpobj.save()
data_ret = {'status': 1, 'error_message': 'None',}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
except BaseException as msg:
data_ret = {'status': 0, 'error_message': str(msg)}
json_data = json.dumps(data_ret)
return HttpResponse(json_data)
def installwpcore(self, userID=None, data=None): def installwpcore(self, userID=None, data=None):
try: try: