mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-05-07 05:07:53 +02:00
wordpresscreateandinstalldone
This commit is contained in:
@@ -93,7 +93,7 @@ app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $co
|
||||
for (i = 0; i <= res.length; i++) {
|
||||
//
|
||||
var tml = '<option ng-click="Addplugin(\'' + res[i].slug + '\')" style=" border-bottom: 1px solid rgba(90, 91, 92, 0.5); padding: 5px; " value="' + res[i].slug + '">' + res[i].name + '</option> <br>';
|
||||
var temp = $compile(tml)($scope)
|
||||
var temp = $compile(tml)($scope)
|
||||
angular.element(document.getElementById('mysearch')).append(temp);
|
||||
}
|
||||
|
||||
@@ -199,9 +199,9 @@ app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $co
|
||||
}
|
||||
|
||||
$scope.Addplugin = function (slug) {
|
||||
$('#mysearch').hide()
|
||||
$('#mysearch').hide()
|
||||
|
||||
url = "/websites/Addplugineidt";
|
||||
url = "/websites/Addplugineidt";
|
||||
|
||||
|
||||
var data = {
|
||||
@@ -244,6 +244,183 @@ app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $co
|
||||
});
|
||||
|
||||
|
||||
app.controller('createWordpress', function ($scope, $http, $timeout, $window) {
|
||||
$scope.webSiteCreationLoading = true;
|
||||
$scope.installationDetailsForm = false;
|
||||
$scope.installationProgress = true;
|
||||
$scope.errorMessageBox = true;
|
||||
$scope.success = true;
|
||||
$scope.couldNotConnect = true;
|
||||
$scope.goBackDisable = true;
|
||||
|
||||
var statusFile;
|
||||
|
||||
$scope.createWordPresssite = function () {
|
||||
|
||||
$scope.webSiteCreationLoading = false;
|
||||
$scope.installationDetailsForm = true;
|
||||
$scope.installationProgress = false;
|
||||
$scope.errorMessageBox = true;
|
||||
$scope.success = true;
|
||||
$scope.couldNotConnect = true;
|
||||
$scope.goBackDisable = true;
|
||||
|
||||
|
||||
$scope.currentStatus = "Starting creation..";
|
||||
|
||||
var package = $scope.packageForWebsite;
|
||||
var websiteOwner = $scope.websiteOwner;
|
||||
var WPtitle = $scope.WPtitle;
|
||||
var domainNameCreate = $scope.domainNameCreate;
|
||||
var WPUsername = $scope.WPUsername;
|
||||
var adminEmail = $scope.adminEmail;
|
||||
var WPPassword = $scope.WPPassword;
|
||||
var WPVersions = $scope.WPVersions;
|
||||
var pluginbucket = $scope.pluginbucket;
|
||||
var autoupdates = $scope.autoupdates;
|
||||
var pluginupdates = $scope.pluginupdates;
|
||||
var themeupdates = $scope.themeupdates;
|
||||
var data = {
|
||||
|
||||
title: WPtitle,
|
||||
domain: domainNameCreate,
|
||||
WPVersion: WPVersions,
|
||||
PluginsThemes: pluginbucket,
|
||||
adminUser: WPUsername,
|
||||
Email: adminEmail,
|
||||
PasswordByPass: WPPassword,
|
||||
AutomaticUpdates: autoupdates,
|
||||
Plugins: pluginupdates,
|
||||
Themes: themeupdates,
|
||||
websiteOwner: websiteOwner,
|
||||
package: package,
|
||||
}
|
||||
var config = {
|
||||
headers: {
|
||||
'X-CSRFToken': getCookie('csrftoken')
|
||||
}
|
||||
};
|
||||
var url = "/websites/submitWorpressCreation";
|
||||
|
||||
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
|
||||
|
||||
|
||||
function ListInitialDatas(response) {
|
||||
|
||||
if (response.data.status === 1) {
|
||||
statusFile = response.data.tempStatusPath;
|
||||
getCreationStatus();
|
||||
|
||||
} else {
|
||||
|
||||
// $scope.errorMessage = response.data.error_message;
|
||||
alert("Status not = 1: Error..." + response.data.error_message)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
function cantLoadInitialDatas(response) {
|
||||
|
||||
alert("Error..." + response)
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
$scope.goBack = function () {
|
||||
$scope.webSiteCreationLoading = true;
|
||||
$scope.installationDetailsForm = false;
|
||||
$scope.installationProgress = true;
|
||||
$scope.errorMessageBox = true;
|
||||
$scope.success = true;
|
||||
$scope.couldNotConnect = true;
|
||||
$scope.goBackDisable = true;
|
||||
$("#installProgress").css("width", "0%");
|
||||
};
|
||||
function getCreationStatus() {
|
||||
|
||||
url = "/websites/installWordpressStatus";
|
||||
|
||||
var data = {
|
||||
statusFile: statusFile
|
||||
};
|
||||
|
||||
var config = {
|
||||
headers: {
|
||||
'X-CSRFToken': getCookie('csrftoken')
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
|
||||
|
||||
|
||||
function ListInitialDatas(response) {
|
||||
|
||||
|
||||
if (response.data.abort === 1) {
|
||||
|
||||
if (response.data.installStatus === 1) {
|
||||
|
||||
$scope.webSiteCreationLoading = true;
|
||||
$scope.installationDetailsForm = true;
|
||||
$scope.installationProgress = false;
|
||||
$scope.errorMessageBox = true;
|
||||
$scope.success = false;
|
||||
$scope.couldNotConnect = true;
|
||||
$scope.goBackDisable = false;
|
||||
|
||||
$("#installProgress").css("width", "100%");
|
||||
$scope.installPercentage = "100";
|
||||
$scope.currentStatus = response.data.currentStatus;
|
||||
$timeout.cancel();
|
||||
|
||||
} else {
|
||||
|
||||
$scope.webSiteCreationLoading = true;
|
||||
$scope.installationDetailsForm = true;
|
||||
$scope.installationProgress = false;
|
||||
$scope.errorMessageBox = false;
|
||||
$scope.success = true;
|
||||
$scope.couldNotConnect = true;
|
||||
$scope.goBackDisable = false;
|
||||
|
||||
$scope.errorMessage = response.data.error_message;
|
||||
|
||||
$("#installProgress").css("width", "0%");
|
||||
$scope.installPercentage = "0";
|
||||
$scope.goBackDisable = false;
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
$("#installProgress").css("width", response.data.installationProgress + "%");
|
||||
$scope.installPercentage = response.data.installationProgress;
|
||||
$scope.currentStatus = response.data.currentStatus;
|
||||
$timeout(getCreationStatus, 1000);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function cantLoadInitialDatas(response) {
|
||||
|
||||
$scope.webSiteCreationLoading = true;
|
||||
$scope.installationDetailsForm = true;
|
||||
$scope.installationProgress = false;
|
||||
$scope.errorMessageBox = true;
|
||||
$scope.success = true;
|
||||
$scope.couldNotConnect = false;
|
||||
$scope.goBackDisable = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
/* Java script code to create account */
|
||||
app.controller('createWebsite', function ($scope, $http, $timeout, $window) {
|
||||
|
||||
|
||||
@@ -47,14 +47,14 @@
|
||||
<td class="v-align-middle">
|
||||
<p>{{ sub.Name }}</p>
|
||||
</td>
|
||||
<td class="row form-group">
|
||||
<div class="col">
|
||||
<td class="row">
|
||||
<div class="col-md-2">
|
||||
<a href="{% url 'EidtPlugin'%}?ID={{sub.id}}"
|
||||
type="button" class="btn btn-border btn-alt border-green btn-link font-green">
|
||||
Edit
|
||||
</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="col-md-2">
|
||||
|
||||
|
||||
<button
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-controller="createWebsite" class="panel">
|
||||
<div ng-controller="createWordpress" class="panel">
|
||||
<div class="panel-body">
|
||||
<h3 class="content-box-header">
|
||||
{% trans "Website Details" %} <img ng-hide="webSiteCreationLoading"
|
||||
@@ -64,7 +64,7 @@
|
||||
class="current-pack">{% trans "Invalid Domain (Note: You don't need to add 'http' or 'https')" %}</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Username" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="Username" type="text" class="form-control" ng-model="WPUsername"
|
||||
@@ -82,7 +82,7 @@
|
||||
<div ng-show="websiteCreationForm.email.$error.email"
|
||||
class="current-pack">{% trans "Invalid Email" %}</div>
|
||||
</div>
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Password" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="password" type="password" class="form-control" ng-model="WPPassword"
|
||||
@@ -95,14 +95,66 @@
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Select WP Version" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="phpSelection" class="form-control">
|
||||
{% for php in WPVersions %}
|
||||
<option>{{ php }}</option>
|
||||
<select ng-model="WPVersions" class="form-control">
|
||||
{% for wp in WPVersions %}
|
||||
<option>{{ wp }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Plugin/Theme" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="pluginbucket" class="form-control">
|
||||
<option value="-1" selected>Select Plugin Bucket</option>
|
||||
{% for wp in Plugins %}
|
||||
<option value="{{ wp.id }}">{{ wp.Name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Automatic Updates" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="autoupdates" class="form-control">
|
||||
|
||||
<option>Disabled</option>
|
||||
<option>All (minor and major)</option>
|
||||
<option>Minor and Security Updates</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Plugins Updates" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="pluginupdates" class="form-control">
|
||||
|
||||
<option>Enabled</option>
|
||||
<option>Disabled</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Themes Updates" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<select ng-model="themeupdates" class="form-control">
|
||||
|
||||
<option>Enabled</option>
|
||||
<option>Disabled</option>
|
||||
|
||||
</select>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Additional Features" %}</label>
|
||||
<div class="col-sm-9">
|
||||
@@ -145,8 +197,7 @@
|
||||
<div ng-hide="installationDetailsForm" class="form-group">
|
||||
<label class="col-sm-3 control-label"></label>
|
||||
<div class="col-sm-4">
|
||||
<button ng-disabled="websiteCreationForm.dom.$error.required || websiteCreationForm.email.$invalid"
|
||||
type="button" ng-click="createWebsite()"
|
||||
<button type="button" ng-click="createWordPresssite()"
|
||||
class="btn btn-primary btn-lg">{% trans "Create Website" %}</button>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -19,6 +19,9 @@ urlpatterns = [
|
||||
### WordPress
|
||||
url(r'^createWordpress$', views.WPCreate, name='createWordpress'),
|
||||
|
||||
###WordPress Ajax
|
||||
url(r'^submitWorpressCreation', views.submitWorpressCreation, name='submitWorpressCreation'),
|
||||
|
||||
#### AddPlugin
|
||||
url(r'^ConfigurePlugins$', views.ConfigurePlugins, name='ConfigurePlugins'),
|
||||
url(r'^Addnewplugin$', views.Addnewplugin, name='Addnewplugin'),
|
||||
|
||||
@@ -161,6 +161,28 @@ def Addplugineidt(request):
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def submitWorpressCreation(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
|
||||
result = pluginManager.preWebsiteCreation(request)
|
||||
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
wm = WebsiteManager()
|
||||
coreResult = wm.submitWorpressCreation(userID, json.loads(request.body))
|
||||
|
||||
result = pluginManager.postWebsiteCreation(request, coreResult)
|
||||
if result != 200:
|
||||
return result
|
||||
|
||||
return coreResult
|
||||
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
def modifyWebsite(request):
|
||||
try:
|
||||
|
||||
@@ -65,7 +65,7 @@ class WebsiteManager:
|
||||
phps = PHPManager.findPHPVersions()
|
||||
FinalVersions = []
|
||||
#logging.CyberCPLogFileWriter.writeToFile("jassssssssss...............")
|
||||
|
||||
userobj = Administrator.objects.get(pk=userID)
|
||||
counter = 0
|
||||
try:
|
||||
import requests
|
||||
@@ -81,9 +81,11 @@ class WebsiteManager:
|
||||
except:
|
||||
FinalVersions = ['5.6', '5.5.3', '5.5.2']
|
||||
|
||||
Plugins = wpplugins.objects.filter(owner=userobj)
|
||||
|
||||
# logging.CyberCPLogFileWriter.writeToFile("FinalVersions:%s"+str(FinalVersions))
|
||||
|
||||
Data = {'packageList': packagesName, "owernList": adminNames, 'phps': phps, 'WPVersions': FinalVersions}
|
||||
Data = {'packageList': packagesName, "owernList": adminNames, 'WPVersions': FinalVersions, 'Plugins': Plugins }
|
||||
proc = httpProc(request, 'websiteFunctions/WPCreate.html',
|
||||
Data, 'createWebsite')
|
||||
return proc.render()
|
||||
@@ -340,6 +342,47 @@ class WebsiteManager:
|
||||
})
|
||||
return proc.render()
|
||||
|
||||
|
||||
def submitWorpressCreation(self, userID=None, data=None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
|
||||
extraArgs = {}
|
||||
extraArgs['adminID'] = admin.pk
|
||||
extraArgs['domainName'] = data['domain']
|
||||
extraArgs['WPVersion'] = data['WPVersion']
|
||||
extraArgs['blogTitle'] = data['title']
|
||||
extraArgs['PluginsThemes'] = data['PluginsThemes']
|
||||
extraArgs['adminUser'] = data['adminUser']
|
||||
extraArgs['PasswordByPass'] = data['PasswordByPass']
|
||||
extraArgs['adminPassword'] = data['PasswordByPass']
|
||||
extraArgs['adminEmail'] = data['Email']
|
||||
extraArgs['updates'] = data['AutomaticUpdates']
|
||||
extraArgs['Plugins'] = data['Plugins']
|
||||
extraArgs['Themes'] = data['Themes']
|
||||
extraArgs['websiteOwner'] = data['websiteOwner']
|
||||
extraArgs['package'] = data['package']
|
||||
extraArgs['home'] = "1"
|
||||
extraArgs['tempStatusPath'] = "/home/cyberpanel/" + str(randint(1000, 9999))
|
||||
|
||||
|
||||
background = ApplicationInstaller('wordpressInstallNew', extraArgs)
|
||||
background.start()
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
data_ret = {'status': 1, 'installStatus': 1, 'error_message': 'None',
|
||||
'tempStatusPath': extraArgs['tempStatusPath']}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
|
||||
except BaseException as msg:
|
||||
data_ret = {'status': 0, 'installStatus': 0, 'error_message': str(msg)}
|
||||
json_data = json.dumps(data_ret)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
def submitWebsiteCreation(self, userID=None, data=None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
@@ -2508,11 +2551,11 @@ StrictHostKeyChecking no
|
||||
adminEmail = data['ownerEmail']
|
||||
websiteOwner = data['websiteOwner']
|
||||
ownerPassword = data['ownerPassword']
|
||||
data['ssl'] = 0
|
||||
data['ssl'] = 1
|
||||
data['dkimCheck'] = 0
|
||||
data['openBasedir'] = 1
|
||||
data['adminEmail'] = data['ownerEmail']
|
||||
data['phpSelection'] = "PHP 7.0"
|
||||
data['phpSelection'] = "PHP 7.4"
|
||||
data['package'] = data['packageName']
|
||||
try:
|
||||
websitesLimit = data['websitesLimit']
|
||||
|
||||
Reference in New Issue
Block a user