wpmanagerui

This commit is contained in:
Hassan Hashmi
2022-06-02 14:35:41 +05:00
parent d4306af197
commit 9bd1f7a958
8 changed files with 608 additions and 574 deletions

View File

@@ -14,7 +14,6 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup() django.setup()
import threading as multi import threading as multi
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
import plogical.CyberCPLogFileWriter as logging
import subprocess import subprocess
from websiteFunctions.models import ChildDomains, Websites, WPSites, WPStaging from websiteFunctions.models import ChildDomains, Websites, WPSites, WPStaging
from plogical import randomPassword from plogical import randomPassword
@@ -1668,11 +1667,11 @@ $parameters = array(
ab = WebsiteManager() ab = WebsiteManager()
coreResult = ab.submitWebsiteCreation(UserID, DataToPass) coreResult = ab.submitWebsiteCreation(UserID, DataToPass)
coreResult1 = json.loads((coreResult).content) coreResult1 = json.loads((coreResult).content)
logging.CyberCPLogFileWriter.writeToFile("Creating website result....%s"%coreResult1) logging.writeToFile("Creating website result....%s"%coreResult1)
reutrntempath = coreResult1['tempStatusPath'] reutrntempath = coreResult1['tempStatusPath']
while (1): while (1):
lastLine = open(reutrntempath, 'r').read() lastLine = open(reutrntempath, 'r').read()
logging.writeToFile("Error web creating lastline ....... %s" % lastLine)
if lastLine.find('[200]') > -1: if lastLine.find('[200]') > -1:
break break
elif lastLine.find('[404]') > -1: elif lastLine.find('[404]') > -1:
@@ -1709,7 +1708,7 @@ $parameters = array(
return 0 return 0
else: else:
statusFile = open(currentTemp, 'w') statusFile = open(currentTemp, 'w')
statusFile.writelines('Installing WordPress....,30') statusFile.writelines('Installing WordPress....,50')
statusFile.close() statusFile.close()
time.sleep(2) time.sleep(2)
@@ -1734,7 +1733,7 @@ $parameters = array(
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP web creating ....... %s" % str(msg)) logging.writeToFile("Error WP web creating ....... %s" % str(msg))
return 0 return 0
def UpdateWPTheme(self): def UpdateWPTheme(self):
@@ -1768,7 +1767,7 @@ $parameters = array(
stdoutput = ProcessUtilities.outputExecutioner(command) stdoutput = ProcessUtilities.outputExecutioner(command)
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP UpdateWPTheme ....... %s" % str(msg)) logging.writeToFile("Error WP UpdateWPTheme ....... %s" % str(msg))
return 0 return 0
@@ -1804,7 +1803,7 @@ $parameters = array(
stdoutput = ProcessUtilities.outputExecutioner(command) stdoutput = ProcessUtilities.outputExecutioner(command)
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP UpdateWPTheme ....... %s" % str(msg)) logging.writeToFile("Error WP UpdateWPTheme ....... %s" % str(msg))
return 0 return 0
def DeleteThemes(self): def DeleteThemes(self):
@@ -1829,7 +1828,7 @@ $parameters = array(
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP DeleteThemes ....... %s" % str(msg)) logging.writeToFile("Error WP DeleteThemes ....... %s" % str(msg))
return 0 return 0
def DeletePlugins(self): def DeletePlugins(self):
@@ -1856,7 +1855,7 @@ $parameters = array(
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP DeletePlugins ....... %s" % str(msg)) logging.writeToFile("Error WP DeletePlugins ....... %s" % str(msg))
return 0 return 0
def ChangeStatusThemes(self): def ChangeStatusThemes(self):
@@ -1883,7 +1882,7 @@ $parameters = array(
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP ChangeStatusThemes ....... %s" % str(msg)) logging.writeToFile("Error WP ChangeStatusThemes ....... %s" % str(msg))
return 0 return 0
def CreateStagingNow(self): def CreateStagingNow(self):
@@ -1915,7 +1914,7 @@ $parameters = array(
ab = WebsiteManager() ab = WebsiteManager()
coreResult = ab.submitWebsiteCreation(UserID, DataToPass) coreResult = ab.submitWebsiteCreation(UserID, DataToPass)
coreResult1 = json.loads((coreResult).content) coreResult1 = json.loads((coreResult).content)
logging.CyberCPLogFileWriter.writeToFile("Creating website result....%s" % coreResult1) logging.writeToFile("Creating website result....%s" % coreResult1)
reutrntempath = coreResult1['tempStatusPath'] reutrntempath = coreResult1['tempStatusPath']
while (1): while (1):
lastLine = open(reutrntempath, 'r').read() lastLine = open(reutrntempath, 'r').read()
@@ -2053,7 +2052,7 @@ $parameters = array(
except BaseException as msg: except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile("Error WP ChangeStatusThemes ....... %s" % str(msg)) logging.writeToFile("Error WP ChangeStatusThemes ....... %s" % str(msg))
return 0 return 0

View File

@@ -101,6 +101,7 @@ class NormalBackupJobLogs(models.Model):
message = models.TextField() message = models.TextField()
class wpplugins(models.Model): class wpplugins(models.Model):
owner = models.ForeignKey(Administrator, on_delete=models.CASCADE) owner = models.ForeignKey(Administrator, on_delete=models.CASCADE)
Name = models.CharField(max_length=255, default='') Name = models.CharField(max_length=255, default='')

View File

@@ -48,6 +48,7 @@ function FinalDeletePluginBuucket() {
} }
var SPVal; var SPVal;
app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $compile) { app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $compile) {
$scope.SearchPluginName = function (val) { $scope.SearchPluginName = function (val) {
@@ -442,6 +443,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
$scope.LoadWPdata = function () { $scope.LoadWPdata = function () {
$scope.wordpresshomeloading = false; $scope.wordpresshomeloading = false;
$('#wordpresshomeloading').show();
var url = "/websites/FetchWPdata"; var url = "/websites/FetchWPdata";
@@ -462,6 +464,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
wordpresshomeloading = true; wordpresshomeloading = true;
$('#wordpresshomeloading').hide();
if (response.data.status === 1) { if (response.data.status === 1) {
$('#WPVersion').text(response.data.ret_data.version); $('#WPVersion').text(response.data.ret_data.version);
@@ -486,6 +489,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.webSiteCreationLoading = true; $scope.webSiteCreationLoading = true;
$scope.installationDetailsForm = true; $scope.installationDetailsForm = true;
@@ -562,6 +566,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
$scope.GetCurrentPlugins = function () { $scope.GetCurrentPlugins = function () {
$('#wordpresshomeloading').show();
$scope.wordpresshomeloading = false; $scope.wordpresshomeloading = false;
@@ -583,6 +588,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
wordpresshomeloading = true; wordpresshomeloading = true;
$('#wordpresshomeloading').hide();
if (response.data.status === 1) { if (response.data.status === 1) {
$('#PluginBody').html(''); $('#PluginBody').html('');
@@ -597,6 +603,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.webSiteCreationLoading = true; $scope.webSiteCreationLoading = true;
$scope.installationDetailsForm = true; $scope.installationDetailsForm = true;
@@ -613,6 +620,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
$scope.GetCurrentThemes = function () { $scope.GetCurrentThemes = function () {
$('#wordpresshomeloading').show();
$scope.wordpresshomeloading = false; $scope.wordpresshomeloading = false;
@@ -634,6 +642,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
wordpresshomeloading = true; wordpresshomeloading = true;
$('#wordpresshomeloading').hide();
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -649,7 +658,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.webSiteCreationLoading = true; $scope.webSiteCreationLoading = true;
$scope.installationDetailsForm = true; $scope.installationDetailsForm = true;
$scope.installationProgress = false; $scope.installationProgress = false;
@@ -664,7 +673,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
$scope.UpdatePlugins = function (plugin) { $scope.UpdatePlugins = function (plugin) {
$('#wordpresshomeloading').show();
var data = { var data = {
plugin: plugin, plugin: plugin,
pluginarray: PluginsList, pluginarray: PluginsList,
@@ -686,6 +695,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -706,6 +716,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -715,6 +726,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
$scope.DeletePlugins = function (plugin) { $scope.DeletePlugins = function (plugin) {
$('#wordpresshomeloading').show();
var data = { var data = {
plugin: plugin, plugin: plugin,
pluginarray: PluginsList, pluginarray: PluginsList,
@@ -736,6 +748,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -756,6 +769,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -764,6 +778,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
$scope.ChangeStatus = function (plugin) { $scope.ChangeStatus = function (plugin) {
$('#wordpresshomeloading').show();
var data = { var data = {
plugin: plugin, plugin: plugin,
WPid: $('#WPid').html(), WPid: $('#WPid').html(),
@@ -784,6 +799,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -804,6 +820,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -838,8 +855,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
$scope.UpdateThemes = function (theme) { $scope.UpdateThemes = function (theme) {
$('#wordpresshomeloading').show();
var data = { var data = {
Theme: theme, Theme: theme,
Themearray: ThemesList, Themearray: ThemesList,
@@ -861,6 +877,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -881,6 +898,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -890,6 +908,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
$scope.DeleteThemes = function (theme) { $scope.DeleteThemes = function (theme) {
$('#wordpresshomeloading').show();
var data = { var data = {
Theme: theme, Theme: theme,
Themearray: ThemesList, Themearray: ThemesList,
@@ -911,6 +930,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -931,6 +951,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -938,6 +959,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
$scope.ChangeStatusThemes = function (theme) { $scope.ChangeStatusThemes = function (theme) {
$('#wordpresshomeloading').show();
var data = { var data = {
theme: theme, theme: theme,
WPid: $('#WPid').html(), WPid: $('#WPid').html(),
@@ -958,6 +980,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -978,6 +1001,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -1013,6 +1037,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
$scope.CreateStagingNow = function () { $scope.CreateStagingNow = function () {
$('#wordpresshomeloading').show();
$scope.wordpresshomeloading = false; $scope.wordpresshomeloading = false;
$scope.stagingDetailsForm = true; $scope.stagingDetailsForm = true;
@@ -1042,7 +1067,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
if (response.data.status === 1) { if (response.data.status === 1) {
statusFile = response.data.tempStatusPath; statusFile = response.data.tempStatusPath;
getCreationStatus(); getCreationStatus();
@@ -1058,6 +1083,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
alert(response) alert(response)
@@ -1065,6 +1091,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
function getCreationStatus() { function getCreationStatus() {
$('#wordpresshomeloading').show();
url = "/websites/installWordpressStatus"; url = "/websites/installWordpressStatus";
@@ -1083,7 +1110,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
if (response.data.abort === 1) { if (response.data.abort === 1) {
@@ -1122,6 +1149,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
} else { } else {
$("#installProgress").css("width", response.data.installationProgress + "%"); $("#installProgress").css("width", response.data.installationProgress + "%");
$scope.installPercentage = response.data.installationProgress; $scope.installPercentage = response.data.installationProgress;
$scope.currentStatus = response.data.currentStatus; $scope.currentStatus = response.data.currentStatus;
@@ -1131,7 +1159,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
$scope.stagingDetailsForm = true; $scope.stagingDetailsForm = true;
$scope.installationProgress = false; $scope.installationProgress = false;
@@ -1146,6 +1174,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
$scope.goBack = function () { $scope.goBack = function () {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
$scope.stagingDetailsForm = false; $scope.stagingDetailsForm = false;
$scope.installationProgress = true; $scope.installationProgress = true;
@@ -1157,6 +1186,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
}; };
$scope.fetchstaging = function () { $scope.fetchstaging = function () {
$('#wordpresshomeloading').show();
$scope.wordpresshomeloading = false; $scope.wordpresshomeloading = false;
var url = "/websites/fetchstaging"; var url = "/websites/fetchstaging";
@@ -1177,6 +1207,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
wordpresshomeloading = true; wordpresshomeloading = true;
$('#wordpresshomeloading').hide();
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -1196,6 +1227,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
alert("Error"+response) alert("Error"+response)
} }
@@ -1211,6 +1243,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
$scope.SaveUpdateConfig =function () { $scope.SaveUpdateConfig =function () {
$('#wordpresshomeloading').show();
var data = { var data = {
AutomaticUpdates: $('#AutomaticUpdates').find(":selected").text(), AutomaticUpdates: $('#AutomaticUpdates').find(":selected").text(),
Plugins: $('#Plugins').find(":selected").text(), Plugins: $('#Plugins').find(":selected").text(),
@@ -1233,6 +1266,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
function ListInitialDatas(response) { function ListInitialDatas(response) {
$('#wordpresshomeloading').hide();
$scope.wordpresshomeloading = true; $scope.wordpresshomeloading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
@@ -1254,6 +1288,7 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo
} }
function cantLoadInitialDatas(response) { function cantLoadInitialDatas(response) {
$('#wordpresshomeloading').hide();
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
text: response, text: response,

View File

@@ -29,17 +29,12 @@
<label>{% trans "Search Plugin Name" %}</label> <label style="margin-top: 15px;">{% trans "Search Plugin Name" %}</label>
<input name="searchcontent" type="text" class="form-control" ng-model="searchcontent" <input name="searchcontent" type="text" class="form-control" ng-model="searchcontent"
ng-keyup="SearchPluginName('add')" ng-keyup="SearchPluginName('add')"
placeholder="{% trans "Search Plugin...." %}" required> placeholder="{% trans "Search Plugin...." %}" required>
<div id="mysearch" class="col-lg-12" style="display: none; border-top: none!important; <div id="mysearch" class="col-lg-12" style="display: none; border-top: none!important;
border: 1px solid rgba(90, 91, 92, 0.7); border: 1px solid rgba(90, 91, 92, 0.7);
position: absolute; z-index: 1; position: absolute; z-index: 1;
@@ -48,8 +43,8 @@
<h3>Selected Plugin</h3> <h3 style="margin-top: 20px;">Selected Plugin</h3>
<div id="selJS" style="display: none; display: flex; flex-direction: row;"> <div id="selJS" style="display: none; display: flex; flex-direction: row; margin-top: 10px;">
</div> </div>
<div ng-hide="installationDetailsForm" class="form-group"> <div ng-hide="installationDetailsForm" class="form-group">

View File

@@ -122,7 +122,7 @@
<select ng-model="autoupdates" class="form-control"> <select ng-model="autoupdates" class="form-control">
<option>Disabled</option> <option>Disabled</option>
<option>All (minor and major)</option> <option>All minor and major</option>
<option>Minor and Security Updates</option> <option>Minor and Security Updates</option>
</select> </select>
@@ -155,45 +155,6 @@
</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">
<div class="checkbox">
<label>
<input ng-model="sslCheck" type="checkbox" value="">
SSL
</label>
</div>
</div>
<label class="col-sm-3 control-label"></label>
<div class="col-sm-9">
<div class="checkbox">
<label>
<input ng-model="dkimCheck" type="checkbox" value="">
DKIM Support
</label>
</div>
</div>
<label class="col-sm-3 control-label"></label>
<div class="col-sm-9">
<div class="checkbox">
<label>
<input ng-model="openBasedir" type="checkbox" value="">
open_basedir Protection
</label>
</div>
</div>
<label class="col-sm-3 control-label"></label>
<div class="col-sm-9">
<div class="checkbox">
<label>
<input ng-model="mailDomain" type="checkbox" value="">
Create Mail Domain
</label>
</div>
</div>
</div>
<div ng-hide="installationDetailsForm" class="form-group"> <div ng-hide="installationDetailsForm" class="form-group">
<label class="col-sm-3 control-label"></label> <label class="col-sm-3 control-label"></label>
<div class="col-sm-4"> <div class="col-sm-4">

View File

@@ -22,27 +22,20 @@
class="form-horizontal bordered-row panel-body"> class="form-horizontal bordered-row panel-body">
<label>{% trans "Search Plugin Name" %}</label> <label style="margin-bottom: 10px;">{% trans "Search Plugin Name" %}</label>
<input name="searchcontent" type="text" class="form-control" ng-model="searchcontent" <input name="searchcontent" type="text" class="form-control" ng-model="searchcontent"
ng-keyup="SearchPluginName('eidt')" ng-keyup="SearchPluginName('eidt')"
placeholder="{% trans "Search Plugin...." %}" required> placeholder="{% trans "Search Plugin...." %}" required>
<div id="mysearch" class="col-lg-12" style="display: none; border-top: none!important; <div id="mysearch" class="col-lg-12" style="display: none; border-top: none!important;
border: 1px solid rgba(90, 91, 92, 0.7); border: 1px solid rgba(90, 91, 92, 0.7);
position: absolute; z-index: 1; position: absolute; z-index: 1;
background-color: #FFFFFF"> background-color: #FFFFFF">
</div> </div>
<h3 style="margin-top: 20px;">Selected Plugin</h3>
<div id="sedplugn" style=" display: flex; flex-direction: row; margin-top: 10px;">
<h3>Selected Plugin</h3>
<div id="sedplugn" style=" display: flex; flex-direction: row;">
{% for plugin in Selectedplugins %} {% for plugin in Selectedplugins %}
<div id="selplug" <div id="selplug"
style="background-color: #12207a; color: #FFFFFF; padding: 5px; border-radius: 30px"> style="background-color: #12207a; color: #FFFFFF; padding: 5px; border-radius: 30px">

View File

@@ -1,6 +1,6 @@
{% extends "baseTemplate/index.html" %} {% extends "baseTemplate/index.html" %}
{% load i18n %} {% load i18n %}
{% block title %}{% trans "Websites Hosted - CyberPanel" %}{% endblock %} {% block title %}{% trans "Worpress Manager - CyberPanel" %}{% endblock %}
{% block content %} {% block content %}
{% load static %} {% load static %}
@@ -12,480 +12,472 @@
<div ng-controller="WPsiteHome" class="container"> <div ng-controller="WPsiteHome" class="container">
<div class="col-sm-12"> <div id="page-title">
<div class="row"> <h2>{{ wpsite.title }}</h2>
<div class="col-12"> <p>({{ wpsite.path }})<img style="display: none" id="wordpresshomeloading" ng-hide="wordpresshomeloading"
<div class="card"> src="{% static 'images/loading.gif' %}"></p>
<div class="card-body"> </div>
<div class="row">
<div class="col-lg-4"> <div class="panel" >
<!-- Product image --> <div class="panel-body">
<a target="_blank" style="border: 1px solid greenyellow" <h3 class="content-box-header">
href="http://{{ wpsite.FinalURL }}" class="text-center d-block mb-4"> {% trans "WordPress Manager" %}
<img src="https://cdn.statically.io/screenshot/{{ wpsite.FinalURL }}" </h3>
class="img-fluid" <div>
alt="{{ wpsite.FinalURL }}">
</a> <!-- Product title -->
<hr> <h2 style="display: inline" class="mt-0"></h2>
<div class="d-lg-flex d-none justify-content-center"> <p style="display: inline;">
<a href="/websites/{{ wpsite.owner.domain }}"> </p>
<div>
<div class="example-box-wrapper">
<ul class="nav-responsive nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab"
aria-selected="true">General</a></li>
<li class=""><a href="#tab2" ng-click="GetCurrentPlugins()"
data-toggle="tab">Plugins</a></li>
<li class=""><a href="#tab3" ng-click="GetCurrentThemes()"
data-toggle="tab">Themes</a></li>
<li><a href="#tab4" data-toggle="tab"
ng-click="fetchstaging()">Staging</a></li>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<div class="d-lg-flex d-none">
<a target="_blank" href="http://{{ wpsite.FinalURL }}">
<svg xmlns="http://www.w3.org/2000/svg" <svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
focusable="false" width="1em" height="1em" aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"> preserveAspectRatio="xMidYMid meet"
<path d="M16 18H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2zM6 6v10h10V6z" viewBox="0 0 24 24">
<path d="M13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z"
fill="#626262"></path> fill="#626262"></path>
<path d="M26 12v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z" <path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="#626262"></path>
<path d="M26 22v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z"
fill="#626262"></path>
<path d="M16 22v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z"
fill="#626262"></path> fill="#626262"></path>
</svg> </svg>
Manage Application Open
</a> </a>
<a ng-click="autoUpdateConfigurationsInit()" data-toggle="modal" <a target="_blank"
data-target="#autoUpdateConfig" style="margin-left: 3%" href="/filemanager/{{ wpsite.owner.domain }}"
style="margin-left: 4%">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 1024 1024">
<path d="M159 768h612.3l103.4-256H262.3z"
fill-opacity=".15"
fill="#626262"/>
<path d="M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12c0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"
fill="#626262"/>
</svg>
File Manager
</a>
<a ng-click="autoLogin()"
style="margin-left: 4%"
href="javascript: void(0);"> 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" aria-hidden="true" xmlns:xlink="http://www.w3.org/1999/xlink"
focusable="false" width="1em" height="1em" aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet" viewBox="0 0 20 20"> preserveAspectRatio="xMidYMid meet"
<path d="M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4l-3.5-4h2.32a4.439 4.439 0 0 0-4.32-3.45c-1.45 0-2.73.71-3.54 1.78L4.95 5.66a6.965 6.965 0 0 1 5.25-2.38zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48a4.439 4.439 0 0 0 4.32 3.45c1.45 0 2.73-.71 3.54-1.78l1.71 1.95a6.95 6.95 0 0 1-5.25 2.38z" viewBox="0 0 20 20">
<path d="M14 10L8 5v3H1v4h7v3l6-5zm3 7H9v2h8c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H9v2h8v14z"
fill="#626262"></path> fill="#626262"></path>
</svg> </svg>
Autoupdate Configurations Login
</a> </a>
<div id="autoUpdateConfig" class="modal fade" tabindex="-1" role="dialog" <a style="margin-left: 4%" target="_blank"
aria-hidden="true"> href="/websites/{{ wpsite.owner.domain }}/manageGIT">
<div class="modal-dialog"> <svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
<!-- Modal content--> aria-hidden="true" focusable="false" width="1em"
<div class="modal-content"> height="1em"
<div class="modal-header"> style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
<button type="button" class="close" data-dismiss="modal">&times; preserveAspectRatio="xMidYMid meet"
</button> viewBox="0 0 24 24">
<h4 class="modal-title">{% trans "Updates" %}</h4> <path d="M17.5 4C15.57 4 14 5.57 14 7.5c0 1.554 1.025 2.859 2.43 3.315c-.146.932-.547 1.7-1.23 2.323c-1.946 1.773-5.527 1.935-7.2 1.907V8.837c1.44-.434 2.5-1.757 2.5-3.337C10.5 3.57 8.93 2 7 2S3.5 3.57 3.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337C3.5 20.43 5.07 22 7 22s3.5-1.57 3.5-3.5c0-.551-.14-1.065-.367-1.529c2.06-.186 4.657-.757 6.409-2.35c1.097-.997 1.731-2.264 1.904-3.768C19.915 10.438 21 9.1 21 7.5C21 5.57 19.43 4 17.5 4zm-12 1.5C5.5 4.673 6.173 4 7 4s1.5.673 1.5 1.5S7.827 7 7 7s-1.5-.673-1.5-1.5zM7 20c-.827 0-1.5-.673-1.5-1.5a1.5 1.5 0 0 1 1.482-1.498l.13.01A1.495 1.495 0 0 1 7 20zM17.5 9c-.827 0-1.5-.673-1.5-1.5S16.673 6 17.5 6s1.5.673 1.5 1.5S18.327 9 17.5 9z"
</div> fill="#626262"></path>
<div class="modal-body"> </svg>
<form> Git Manager
</a>
</div>
<div style="margin-top: 4%">
<h4 style="margin: 2%">Configure setting for automatic updates.</h4> <div class="row">
<div class="row"> <div class="col-md-4">
<label class="col-lg-6">Automatic Updates (Currently: <h6 style="font-weight: bold">WordPress Version</h6>
{{ wpsite.AutoUpdates }})</label> <p id="WPVersion" class="text-sm lh-150"></p>
<div class="col-lg-6"> </div>
<select id="AutomaticUpdates" <div class="col-md-4">
style="padding: 10px"> <h6 style="font-weight: bold">PHP</h6>
<option>Disabled</option> <p class="text-sm lh-150">{{ wpsite.owner.phpSelection }}</p>
<option>Minor and Security Updates</option> </div>
<option>All (minor and major)</option> <div class="col-md-4">
</select> <h6 style="font-weight: bold">LSCache</h6>
</div> <div class="custom-control custom-switch">
</div> <input ng-click="UpdateWPSettings('lscache')"
<div class="row"> type="checkbox"
<label class="col-lg-4">Plugins (Currently: {{ wpsite.PluginUpdates }})</label> class="custom-control-input ng-pristine ng-untouched ng-valid ng-not-empty"
<div class="col-lg-8"> id="lscache">
<select id="Plugins" <label class="custom-control-label"
for="lscache"></label>
style="padding: 10px"> </div>
<option>Enabled</option> </div>
<option>Disabled</option> </div>
</select> </div>
</div> <div style="margin-top: 4%">
</div> <div class="row">
<div class="row"> <div class="col-md-4">
<label class="col-lg-4">Themes (Currently: {{ wpsite.ThemeUpdates }})</label> <h6 style="font-weight: bold">Debugging</h6>
<div class="col-lg-8"> <div class="custom-control custom-switch">
<select id="Themes" <input ng-click="UpdateWPSettings('debugging')"
type="checkbox"
style="padding: 10px"> class="custom-control-input ng-pristine ng-untouched ng-valid ng-empty"
<option>Enabled</option> id="debugging">
<option>Disabled</option> <label class="custom-control-label"
</select> for="debugging"></label>
</div> </div>
</div> </div>
<div class="col-md-4">
</form> <h6 style="font-weight: bold">Search Engine Indexing</h6>
<div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('searchIndex')"
</div> type="checkbox"
<div class="modal-footer"> class="custom-control-input ng-pristine ng-untouched ng-valid ng-not-empty"
<button type="button" class="btn btn-primary" id="searchIndex">
ng-click="SaveUpdateConfig()">Save <label class="custom-control-label"
</button> for="searchIndex"></label>
<button type="button" ng-disabled="savingSettings" </div>
class="btn btn-default" data-dismiss="modal"> </div>
Close <div class="col-md-4">
</button> <h6 style="font-weight: bold">Maintenance mode</h6>
</div> <div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('maintenanceMode')"
type="checkbox"
class="custom-control-input ng-pristine ng-untouched ng-valid ng-empty"
id="maintenanceMode">
<label class="custom-control-label"
for="maintenanceMode"></label>
</div> </div>
</div> </div>
<!-- /.modal-dialog -->
</div> </div>
</div> </div>
</div> </div>
<div class="col-sm-8"> <div class="tab-pane" id="tab2">
<div class="row mb-2">
<!-- Product title --> <div class="col-sm-8">
<h2 style="display: inline" class="mt-0">{{ wpsite.title }}</h2> <a ng-click="UpdatePlugins('all')"
<p style="display: inline;">({{ wpsite.path }}) <img ng-hide="wordpresshomeloading" href="javascript:void(0);"
src="{% static 'images/loading.gif' %}"> class="btn btn-sm btn-default">
</p> <svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
<div class="panel-body"> height="1em"
<div class="example-box-wrapper"> style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
<ul class="nav-responsive nav nav-tabs"> preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24">
<li class="active"><a href="#tab1" data-toggle="tab" <path fill="none" stroke="#626262" stroke-width="2"
aria-selected="true">General</a></li> d="M2.998 7V1H17.5L21 4.5V23h-6m1-22v5h5M8 23A7 7 0 1 0 8 9a7 7 0 0 0 0 14zm-3.5-6.5L8 13l3.5 3.5m-3.5-3V20"></path>
<li class=""><a href="#tab2" ng-click="GetCurrentPlugins()" </svg>
data-toggle="tab">Plugins</a></li> Update All</a>
<li class=""><a href="#tab3" ng-click="GetCurrentThemes()" <a ng-click="UpdatePlugins('selected')"
data-toggle="tab">Themes</a></li> href="javascript:void(0);"
<li><a href="#tab4" data-toggle="tab" class="btn btn-sm btn-default"> Update
ng-click="fetchstaging()">Staging</a></li> Selected</a>
</div>
</li> <div class="col-sm-4">
</ul> <div class="text-sm-right">
<div class="tab-content"> <button data-toggle="modal" data-target="#DeleteWebsite"
<div class="tab-pane active" id="tab1"> ng-click="DeletePlugins('selected')"
<div class="d-lg-flex d-none"> aria-label=""
<a target="_blank" href="http://{{ wpsite.FinalURL }}"> class="btn btn-danger btn-icon-left m-b-10"
<svg xmlns="http://www.w3.org/2000/svg" type="button">Delete Selected
xmlns:xlink="http://www.w3.org/1999/xlink" </button>
aria-hidden="true" focusable="false" width="1em" </div>
height="1em" </div><!-- end col-->
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" </div>
preserveAspectRatio="xMidYMid meet" <table class="table table-hover mb-0">
viewBox="0 0 24 24"> <thead>
<path d="M13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" <tr>
fill="#626262"></path> <th>
<path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z" {% comment %}<div class="custom-control custom-checkbox" style="padding-left: 0px">
fill="#626262"></path>
</svg>
Open
</a>
<a target="_blank"
href="/filemanager/{{ wpsite.owner.domain }}"
style="margin-left: 4%">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 1024 1024">
<path d="M159 768h612.3l103.4-256H262.3z"
fill-opacity=".15"
fill="#626262"/>
<path d="M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12c0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"
fill="#626262"/>
</svg>
File Manager
</a>
<a ng-click="autoLogin()"
style="margin-left: 4%"
href="javascript: void(0);">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 20 20">
<path d="M14 10L8 5v3H1v4h7v3l6-5zm3 7H9v2h8c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2H9v2h8v14z"
fill="#626262"></path>
</svg>
Login
</a>
<a style="margin-left: 4%" target="_blank"
href="/websites/{{ wpsite.owner.domain }}/manageGIT">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24">
<path d="M17.5 4C15.57 4 14 5.57 14 7.5c0 1.554 1.025 2.859 2.43 3.315c-.146.932-.547 1.7-1.23 2.323c-1.946 1.773-5.527 1.935-7.2 1.907V8.837c1.44-.434 2.5-1.757 2.5-3.337C10.5 3.57 8.93 2 7 2S3.5 3.57 3.5 5.5c0 1.58 1.06 2.903 2.5 3.337v6.326c-1.44.434-2.5 1.757-2.5 3.337C3.5 20.43 5.07 22 7 22s3.5-1.57 3.5-3.5c0-.551-.14-1.065-.367-1.529c2.06-.186 4.657-.757 6.409-2.35c1.097-.997 1.731-2.264 1.904-3.768C19.915 10.438 21 9.1 21 7.5C21 5.57 19.43 4 17.5 4zm-12 1.5C5.5 4.673 6.173 4 7 4s1.5.673 1.5 1.5S7.827 7 7 7s-1.5-.673-1.5-1.5zM7 20c-.827 0-1.5-.673-1.5-1.5a1.5 1.5 0 0 1 1.482-1.498l.13.01A1.495 1.495 0 0 1 7 20zM17.5 9c-.827 0-1.5-.673-1.5-1.5S16.673 6 17.5 6s1.5.673 1.5 1.5S18.327 9 17.5 9z"
fill="#626262"></path>
</svg>
Git Manager
</a>
</div>
<div style="margin-top: 4%">
<div class="row">
<div class="col-md-4">
<h6 class="font-14">WordPress Version</h6>
<p id="WPVersion" class="text-sm lh-150"></p>
</div>
<div class="col-md-4">
<h6 class="font-14">PHP</h6>
<p class="text-sm lh-150">{{ wpsite.owner.phpSelection }}</p>
</div>
<div class="col-md-4">
<h6 class="font-14">LSCache</h6>
<div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('lscache')"
type="checkbox"
class="custom-control-input ng-pristine ng-untouched ng-valid ng-not-empty"
id="lscache">
<label class="custom-control-label"
for="lscache"></label>
</div>
</div>
</div>
</div>
<div style="margin-top: 4%">
<div class="row">
<div class="col-md-4">
<h6 class="font-14">Debugging</h6>
<div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('debugging')"
type="checkbox"
class="custom-control-input ng-pristine ng-untouched ng-valid ng-empty"
id="debugging">
<label class="custom-control-label"
for="debugging"></label>
</div>
</div>
<div class="col-md-4">
<h6 class="font-14">Search Engine Indexing</h6>
<div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('searchIndex')"
type="checkbox"
class="custom-control-input ng-pristine ng-untouched ng-valid ng-not-empty"
id="searchIndex">
<label class="custom-control-label"
for="searchIndex"></label>
</div>
</div>
<div class="col-md-4">
<h6 class="font-14">Maintenance mode</h6>
<div class="custom-control custom-switch">
<input ng-click="UpdateWPSettings('maintenanceMode')"
type="checkbox"
class="custom-control-input ng-pristine ng-untouched ng-valid ng-empty"
id="maintenanceMode">
<label class="custom-control-label"
for="maintenanceMode"></label>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="tab2">
<div class="row mb-2">
<div class="col-sm-8">
<a ng-click="UpdatePlugins('all')"
href="javascript:void(0);"
class="btn btn-sm btn-default">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true" focusable="false" width="1em"
height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24">
<path fill="none" stroke="#626262" stroke-width="2"
d="M2.998 7V1H17.5L21 4.5V23h-6m1-22v5h5M8 23A7 7 0 1 0 8 9a7 7 0 0 0 0 14zm-3.5-6.5L8 13l3.5 3.5m-3.5-3V20"></path>
</svg>
Update All</a>
<a ng-click="UpdatePlugins('selected')"
href="javascript:void(0);"
class="btn btn-sm btn-default"> Update
Selected</a>
</div>
<div class="col-sm-4">
<div class="text-sm-right">
<button data-toggle="modal" data-target="#DeleteWebsite"
ng-click="DeletePlugins('selected')"
aria-label=""
class="btn btn-danger btn-icon-left m-b-10"
type="button">Delete Selected
</button>
</div>
</div><!-- end col-->
</div>
<table class="table table-hover mb-0">
<thead>
<tr>
<th>
{% comment %}<div class="custom-control custom-checkbox" style="padding-left: 0px">
<input type="checkbox" id="CheckAll"> <input type="checkbox" id="CheckAll">
<label for="CheckAll"></label> <label for="CheckAll"></label>
</div>{% endcomment %} </div>{% endcomment %}
</th> </th>
<th>Plugin</th> <th>Plugin</th>
<th>State</th> <th>State</th>
<th>Updates</th> <th>Updates</th>
<th>Version</th> <th>Version</th>
<th>Delete</th> <th>Delete</th>
</tr> </tr>
</thead> </thead>
<tbody id="PluginBody"> <tbody id="PluginBody">
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="tab-pane" id="tab3"> <div class="tab-pane" id="tab3">
<div class="row mb-2"> <div class="row mb-2">
<div class="col-sm-8"> <div class="col-sm-8">
<a ng-click="UpdateThemes('all')" href="javascript:void(0);" <a ng-click="UpdateThemes('all')" href="javascript:void(0);"
class="btn btn-sm btn-default"> class="btn btn-sm btn-default">
<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"
height="1em" height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet" preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24"> viewBox="0 0 24 24">
<path fill="none" stroke="#626262" stroke-width="2" <path fill="none" stroke="#626262" stroke-width="2"
d="M2.998 7V1H17.5L21 4.5V23h-6m1-22v5h5M8 23A7 7 0 1 0 8 9a7 7 0 0 0 0 14zm-3.5-6.5L8 13l3.5 3.5m-3.5-3V20"></path> d="M2.998 7V1H17.5L21 4.5V23h-6m1-22v5h5M8 23A7 7 0 1 0 8 9a7 7 0 0 0 0 14zm-3.5-6.5L8 13l3.5 3.5m-3.5-3V20"></path>
</svg> </svg>
Update All</a> Update All</a>
<a ng-click="UpdateThemes('selected')" <a ng-click="UpdateThemes('selected')"
href="javascript:void(0);" href="javascript:void(0);"
class="btn btn-sm btn-default"> Update class="btn btn-sm btn-default"> Update
Selected</a> Selected</a>
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4">
<div class="text-sm-right"> <div class="text-sm-right">
<button data-toggle="modal" data-target="#DeleteWebsite" <button data-toggle="modal" data-target="#DeleteWebsite"
ng-click="DeleteThemes('selected')" ng-click="DeleteThemes('selected')"
aria-label="" aria-label=""
class="btn btn-danger btn-icon-left m-b-10" class="btn btn-danger btn-icon-left m-b-10"
type="button">Delete type="button">Delete
Selected Selected
</button> </button>
</div> </div>
</div><!-- end col--> </div><!-- end col-->
</div> </div>
<table class="table table-hover mb-0"> <table class="table table-hover mb-0">
<thead> <thead>
<tr> <tr>
<th> <th>
{% comment %}<div class="custom-control custom-checkbox" style="padding-left: 0px"> {% comment %}<div class="custom-control custom-checkbox" style="padding-left: 0px">
<input type="checkbox" id="CheckAll"> <input type="checkbox" id="CheckAll">
<label for="CheckAll"></label> <label for="CheckAll"></label>
</div>{% endcomment %} </div>{% endcomment %}
</th> </th>
<th>Theme</th> <th>Theme</th>
<th>State</th> <th>State</th>
<th>Updates</th> <th>Updates</th>
<th>Version</th> <th>Version</th>
<th>Delete</th> <th>Delete</th>
</tr> </tr>
</thead> </thead>
<tbody id="ThemeBody"> <tbody id="ThemeBody">
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="tab-pane" id="tab4"> <div class="tab-pane" id="tab4">
<h2>Create Staging site</h2> <h2>Create Staging site</h2>
<div ng-hide="stagingDetailsForm" class="form-group"> <div ng-hide="stagingDetailsForm" class="form-group">
<label style="margin-bottom: 2%!important; margin-top: 2%!important;" <label style="margin-bottom: 2%!important; margin-top: 2%!important;"
class="col-sm-2 control-label">Name</label> class="col-sm-2 control-label">Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input style="margin-bottom: 2%!important; margin-top: 2%!important;" <input style="margin-bottom: 2%!important; margin-top: 2%!important;"
type="text" class="form-control" id="stagingName"> type="text" class="form-control" id="stagingName">
</div> </div>
</div> </div>
<div ng-hide="stagingDetailsForm" class="form-group mt-5"> <div ng-hide="stagingDetailsForm" class="form-group mt-5">
<label style="margin-bottom: 2%!important;" <label style="margin-bottom: 2%!important;"
class="col-sm-2 control-label">Domain Name</label> class="col-sm-2 control-label">Domain Name</label>
<div class="col-sm-10"> <div class="col-sm-10">
<input style="margin-bottom: 2%!important;" <input style="margin-bottom: 2%!important;"
type="text" class="form-control" id="stagingDomain"> type="text" class="form-control" id="stagingDomain">
</div> </div>
</div> </div>
<div ng-hide="stagingDetailsForm" class="center-div mt-5"> <div ng-hide="stagingDetailsForm" class="center-div mt-5">
<button ng-click="CreateStagingNow()" <button ng-click="CreateStagingNow()"
style="margin-bottom: 2%!important;" style="margin-bottom: 2%!important;"
class="btn btn-alt btn-hover btn-blue-alt"> class="btn btn-alt btn-hover btn-blue-alt">
<span>Create Now</span> <span>Create Now</span>
<i class="glyph-icon icon-arrow-right"></i> <i class="glyph-icon icon-arrow-right"></i>
</button> </button>
</div> </div>
<div ng-hide="installationProgress" class="form-group"> <div ng-hide="installationProgress" class="form-group">
<label class="col-sm-2 control-label"></label> <label class="col-sm-2 control-label"></label>
<div class="col-sm-7"> <div class="col-sm-7">
<div class="alert alert-success text-center"> <div class="alert alert-success text-center">
<h2>{$ currentStatus $}</h2> <h2>{$ currentStatus $}</h2>
</div> </div>
<div class="progress"> <div class="progress">
<div id="installProgress" class="progress-bar" <div id="installProgress" class="progress-bar"
role="progressbar" aria-valuenow="70" role="progressbar" aria-valuenow="70"
aria-valuemin="0" aria-valuemax="100" aria-valuemin="0" aria-valuemax="100"
style="width:0%"> style="width:0%">
<span class="sr-only">70% Complete</span> <span class="sr-only">70% Complete</span>
</div>
</div>
<div ng-hide="errorMessageBox" class="alert alert-danger">
<p>{% trans "Error message:" %} {$ errorMessage $}</p>
</div>
<div ng-hide="success" class="alert alert-success">
<p>{% trans "Website succesfully created." %}</p>
</div>
<div ng-hide="couldNotConnect" class="alert alert-danger">
<p>{% trans "Could not connect to server. Please refresh this page." %}</p>
</div>
</div>
</div>
<div ng-hide="installationProgress" class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-4">
<button type="button" ng-disabled="goBackDisable"
ng-click="goBack()"
class="btn btn-primary btn-lg center-div">{% trans "Go Back" %}</button>
</div>
</div>
<br>
<br>
<h3>List staging site</h3>
<table class="table table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Domain</th>
<th>Path</th>
<th>Action</th>
</tr>
</thead>
<tbody id="StagingBody">
</tbody>
</table>
</div> </div>
</div> </div>
</div>
<div ng-hide="errorMessageBox" class="alert alert-danger">
<p>{% trans "Error message:" %} {$ errorMessage $}</p>
</div>
<div ng-hide="success" class="alert alert-success">
<p>{% trans "Website succesfully created." %}</p>
</div>
<div ng-hide="couldNotConnect" class="alert alert-danger">
<p>{% trans "Could not connect to server. Please refresh this page." %}</p>
</div>
</div>
</div> </div>
<div ng-hide="installationProgress" class="form-group">
<label class="col-sm-3 control-label"></label>
<div class="col-sm-4">
<button type="button" ng-disabled="goBackDisable"
ng-click="goBack()"
class="btn btn-primary btn-lg center-div">{% trans "Go Back" %}</button>
</div>
</div>
<br>
<br>
<h3>List staging site</h3>
<table class="table table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Domain</th>
<th>Path</th>
<th>Action</th>
</tr>
</thead>
<tbody id="StagingBody">
</tbody>
</table>
</div> </div>
</div> </div>
</div> </div>
<hr>
<div class="d-lg-flex d-none justify-content-center">
<a href="/websites/{{ wpsite.owner.domain }}">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true"
focusable="false" width="1em" height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32">
<path d="M16 18H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2zM6 6v10h10V6z"
fill="#626262"></path>
<path d="M26 12v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z"
fill="#626262"></path>
<path d="M26 22v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z"
fill="#626262"></path>
<path d="M16 22v4h-4v-4h4m0-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z"
fill="#626262"></path>
</svg>
Manage Application
</a>
<a ng-click="autoUpdateConfigurationsInit()" data-toggle="modal"
data-target="#autoUpdateConfig" style="margin-left: 3%"
href="javascript: void(0);">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true"
focusable="false" width="1em" height="1em"
style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);"
preserveAspectRatio="xMidYMid meet" viewBox="0 0 20 20">
<path d="M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4l-3.5-4h2.32a4.439 4.439 0 0 0-4.32-3.45c-1.45 0-2.73.71-3.54 1.78L4.95 5.66a6.965 6.965 0 0 1 5.25-2.38zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48a4.439 4.439 0 0 0 4.32 3.45c1.45 0 2.73-.71 3.54-1.78l1.71 1.95a6.95 6.95 0 0 1-5.25 2.38z"
fill="#626262"></path>
</svg>
Autoupdate Configurations
</a>
<div id="autoUpdateConfig" class="modal fade" tabindex="-1" role="dialog"
aria-hidden="true">
<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">{% trans "Updates" %}</h4>
</div>
<div class="modal-body">
<form>
<h4 style="margin: 2%">Configure setting for automatic
updates.</h4>
<div class="row">
<label class="col-lg-6">Automatic Updates
(Currently:
{{ wpsite.AutoUpdates }})</label>
<div class="col-lg-6">
<select id="AutomaticUpdates"
style="padding: 10px">
<option>Disabled</option>
<option>Minor and Security Updates</option>
<option>All (minor and major)</option>
</select>
</div>
</div>
<div class="row">
<label class="col-lg-4">Plugins
(Currently: {{ wpsite.PluginUpdates }})</label>
<div class="col-lg-8">
<select id="Plugins"
style="padding: 10px">
<option>Enabled</option>
<option>Disabled</option>
</select>
</div>
</div>
<div class="row">
<label class="col-lg-4">Themes
(Currently: {{ wpsite.ThemeUpdates }})</label>
<div class="col-lg-8">
<select id="Themes"
style="padding: 10px">
<option>Enabled</option>
<option>Disabled</option>
</select>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary"
ng-click="SaveUpdateConfig()">Save
</button>
<button type="button" ng-disabled="savingSettings"
class="btn btn-default" data-dismiss="modal">
Close
</button>
</div>
</div>
</div>
<!-- /.modal-dialog -->
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View File

@@ -1,6 +1,6 @@
{% extends "baseTemplate/index.html" %} {% extends "baseTemplate/index.html" %}
{% load i18n %} {% load i18n %}
{% block title %}{% trans "Websites Hosted - CyberPanel" %}{% endblock %} {% block title %}{% trans "WordPress List - CyberPanel" %}{% endblock %}
{% block content %} {% block content %}
{% load static %} {% load static %}
@@ -13,81 +13,139 @@
}); });
</script> </script>
<style>
table { /* tables still need 'cellspacing="0"' in the markup */
border-collapse: separate;
border-spacing: 0;
}
.table-spacing {
border-spacing: 0em .9em;
}
table th:nth-child(1) {
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
-webkit-border-radius: 3px 0px 0px 3px;
/* Firefox 1-3.6 */
-moz-border-radius: 3px 0px 0px 3px;
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
border-radius: 3px 0px 0px 3px;
}
table th:nth-child(1){
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
-webkit-border-radius: 20px 0px 0px 20px;
/* Firefox 1-3.6 */
-moz-border-radius: 20px 0px 0px 20px;
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
border-radius: 20px 0px 0px 20px;
}
table th:nth-last-child(1) {
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
-webkit-border-radius: 0px 20px 20px 0px;
/* Firefox 1-3.6 */
-moz-border-radius: 0px 20px 20px 0px;
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
border-radius:0px 20px 20px 0px;
}
table td:nth-child(1){
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
-webkit-border-radius: 20px 0px 0px 20px;
/* Firefox 1-3.6 */
-moz-border-radius: 20px 0px 0px 20px;
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
border-radius: 20px 0px 0px 20px;
}
table td:nth-last-child(1) {
/* Safari 3-4, iOS 1-3.2, Android 1.6- */
-webkit-border-radius: 0px 20px 20px 0px;
/* Firefox 1-3.6 */
-moz-border-radius: 0px 20px 20px 0px;
/* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
border-radius: 0px 20px 20px 0px;
}
</style>
<div ng-controller="listWebsites" class="container"> <div ng-controller="listWebsites" class="container">
<div id="page-title"> <div id="page-title">
<h2 id="domainNamePage">{% trans "List WordPress Websites" %} <h2 id="domainNamePage">{% trans "List WordPress Websites" %}
<a class="pull-right btn btn-primary" href="{% url "createWordpress" %}">{% trans "Create WordPress Website" %}</a> <a class="pull-right btn btn-primary"
href="{% url "createWordpress" %}">{% trans "Create WordPress Website" %}</a>
</h2> </h2>
<img ng-hide="cyberPanelLoading" src="{% static 'images/loading.gif' %}"> <img ng-hide="cyberPanelLoading" src="{% static 'images/loading.gif' %}">
<p>{% trans "On this page you can launch, list, modify and delete websites from your server." %}</p> <p>{% trans "On this page you can launch, list, modify and delete Wordpress Sites from your server." %}</p>
</div> </div>
<table class="table table-hover dataTable no-footer" id="basicTable" role="grid">
<thead style="background-color: #0a6ebd">
<tr role="row" class="plans-head">
<th style="color: #fff0ff" class="sorting_desc" tabindex="0"
aria-controls="basicTable" rowspan="1" colspan="1"
aria-sort="descending"
aria-label="Title: activate to sort column ascending">ID
</th>
<th style="color: #fff0ff" class="sorting" tabindex="0"
aria-controls="basicTable" rowspan="1" colspan="1"
aria-label="Places: activate to sort column ascending">WordPress Site Title
</th>
<th style="color: #fff0ff" class="sorting" tabindex="0"
aria-controls="basicTable" rowspan="1" colspan="1"
aria-label="Places: activate to sort column ascending">URL
</th>
<th style="color: #fff0ff" class="sorting" tabindex="0"
aria-controls="basicTable" rowspan="1" colspan="1"
aria-label="Places: activate to sort column ascending">Action
</th>
</tr>
</thead>
<tbody>
{% for sub in wpsite %}
<tr role="row" class="odd">
<td class="v-align-middle sorting_1">
<p>{{ sub.id }}</p>
</td>
<td class="v-align-middle sorting_1">
<a href="{% url 'WPHome'%}?ID={{sub.id}}">
<p>{{ sub.title }}</p>
</a>
</td>
<td class="v-align-middle">
<p>{{ sub.url }}</p>
</td>
<td class="row">
<button <table class="table-spacing" style="width: 100%">
<thead style="color: white; background-color: #0a6ebd">
data-toggle="modal" <tr>
data-target="#DeleteMember" aria-label="" <th style="padding: 18px; color: white; width: 161px; font-size: 12px;">WordPress Site Title
type="button" class="btn btn-border btn-alt border-red btn-link font-red"> </th>
Delete <th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Domain
</button> </th>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Action
</th>
</td> </tr>
</thead>
<tbody style="background-color: #d9eefa">
{% for sub in wpsite %}
<tr >
<td style="padding: 13px;">
<a href="{% url 'WPHome'%}?ID={{sub.id}}">
<p style="font-weight: bold; text-transform: uppercase; ">{{ sub.title }}</p>
</a>
</td>
<td style="padding: 13px;">
<a target="_blank" style="color: #6aa7ff"
href="http://{{ sub.url }}">Visit
<i class="glyph-icon icon-external-link-square" title="{{ sub.url }}"></i></a>
</td>
<td style="padding: 13px;">
</tr>
{% endfor %}
</tbody> <button
</table>
data-toggle="modal"
data-target="#DeleteMember" aria-label=""
type="button" class="btn btn-border btn-alt border-red btn-link font-red">
Delete
</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div> </div>