diff --git a/websiteFunctions/static/websiteFunctions/websiteFunctions.js b/websiteFunctions/static/websiteFunctions/websiteFunctions.js
index 96901f874..ce1b6200e 100755
--- a/websiteFunctions/static/websiteFunctions/websiteFunctions.js
+++ b/websiteFunctions/static/websiteFunctions/websiteFunctions.js
@@ -2674,7 +2674,7 @@ app.controller('listWebsites', function ($scope, $http, $window) {
// Call it immediately
$scope.getFurtherWebsitesFromDB();
- $scope.Sites = function(domain) {
+ $scope.showWPSites = function(domain) {
var url = '/websites/fetchWPDetails';
var data = {
domain: domain
@@ -4862,6 +4862,4924 @@ app.controller('websitePages', function ($scope, $http, $timeout, $window) {
$("#listDomains").hide();
+ $scope.showListDomains = function () {
+ fetchDomains();
+ $("#listDomains").fadeIn();
+ };
+
+ $scope.hideListDomains = function () {
+ $("#listDomains").fadeOut();
+ };
+
+ function fetchDomains() {
+ $scope.domainLoading = false;
+
+ var url = "/websites/fetchDomains";
+
+ var data = {
+ masterDomain: $("#domainNamePage").text(),
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+
+ if (response.data.fetchStatus === 1) {
+
+ $scope.childDomains = JSON.parse(response.data.data);
+ $scope.domainLoading = true;
+
+
+ } else {
+ $scope.domainError = false;
+ $scope.errorMessage = response.data.error_message;
+ $scope.domainLoading = true;
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.couldNotConnect = false;
+
+ }
+
+ }
+
+/**
+ * Created by usman on 7/26/17.
+ */
+function getCookie(name) {
+ var cookieValue = null;
+ var t = document.cookie;
+ if (document.cookie && document.cookie !== '') {
+ var cookies = document.cookie.split(';');
+ for (var i = 0; i < cookies.length; i++) {
+ var cookie = jQuery.trim(cookies[i]);
+ // Does this cookie string begin with the name we want?
+ if (cookie.substring(0, name.length + 1) === (name + '=')) {
+ cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
+ break;
+ }
+ }
+ }
+ return cookieValue;
+}
+
+
+var arry = []
+
+function selectpluginJs(val) {
+ $('#mysearch').hide()
+ arry.push(val)
+
+ // console.log(arry)
+ document.getElementById('selJS').innerHTML = "";
+
+ for (var i = 0; i < arry.length; i++) {
+ $('#selJS').show()
+ var mlm = ' ' + arry[i] + '    '
+ $('#selJS').append(mlm)
+ }
+
+
+}
+
+
+var DeletePluginURL;
+
+function DeletePluginBuucket(url) {
+ DeletePluginURL = url;
+}
+
+function FinalDeletePluginBuucket() {
+ window.location.href = DeletePluginURL;
+}
+
+var SPVal;
+
+app.controller('WPAddNewPlugin', function ($scope, $http, $timeout, $window, $compile) {
+ $scope.webSiteCreationLoading = true;
+
+ $scope.SearchPluginName = function (val) {
+ $scope.webSiteCreationLoading = false;
+ SPVal = val;
+ url = "/websites/SearchOnkeyupPlugin";
+
+ var searchcontent = $scope.searchcontent;
+
+
+ var data = {
+ pluginname: searchcontent
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.webSiteCreationLoading = true;
+
+ if (response.data.status === 1) {
+ if (SPVal == 'add') {
+ $('#mysearch').show()
+ document.getElementById('mysearch').innerHTML = "";
+ var res = response.data.plugns.plugins
+ // console.log(res);
+ for (i = 0; i <= res.length; i++) {
+ //
+ var tml = '
';
+ $('#mysearch').append(tml);
+ }
+ } else if (SPVal == 'eidt') {
+ $('#mysearch').show()
+ document.getElementById('mysearch').innerHTML = "";
+ var res = response.data.plugns.plugins
+ // console.log(res);
+ for (i = 0; i <= res.length; i++) {
+ //
+ var tml = '
';
+ var temp = $compile(tml)($scope)
+ angular.element(document.getElementById('mysearch')).append(temp);
+ }
+
+ }
+
+
+ } else {
+
+ // $scope.errorMessage = response.data.error_message;
+ alert("Status not = 1: Error..." + response.data.error_message)
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ alert("Error..." + response)
+
+ }
+ }
+
+ $scope.AddNewplugin = function () {
+
+ url = "/websites/AddNewpluginAjax";
+
+ var bucketname = $scope.PluginbucketName
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ var data = {
+ config: arry,
+ Name: bucketname
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+ function ListInitialDatas(response) {
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Bucket created.',
+ type: 'success'
+ });
+ location.reload();
+ } else {
+
+ new PNotify({
+ title: 'Error!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ alert("Error..." + response)
+
+ }
+ }
+
+ $scope.deletesPlgin = function (val) {
+
+ url = "/websites/deletesPlgin";
+
+
+ var data = {
+ pluginname: val,
+ pluginbBucketID: $('#pluginbID').html()
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.status === 1) {
+ location.reload();
+
+ } else {
+
+ // $scope.errorMessage = response.data.error_message;
+ alert("Status not = 1: Error..." + response.data.error_message)
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ alert("Error..." + response)
+
+ }
+
+ }
+
+ $scope.Addplugin = function (slug) {
+ $('#mysearch').hide()
+
+ url = "/websites/Addplugineidt";
+
+
+ var data = {
+ pluginname: slug,
+ pluginbBucketID: $('#pluginbID').html()
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.status === 1) {
+ location.reload();
+
+ } else {
+
+ // $scope.errorMessage = response.data.error_message;
+ alert("Status not = 1: Error..." + response.data.error_message)
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ alert("Error..." + response)
+
+ }
+
+
+ }
+
+});
+
+var domain_check = 0;
+
+function checkbox_function() {
+
+ var checkBox = document.getElementById("myCheck");
+ // Get the output text
+
+
+ // If the checkbox is checked, display the output text
+ if (checkBox.checked == true) {
+ domain_check = 0;
+ document.getElementById('Test_Domain').style.display = "block";
+ document.getElementById('Own_Domain').style.display = "none";
+
+ } else {
+ document.getElementById('Test_Domain').style.display = "none";
+ document.getElementById('Own_Domain').style.display = "block";
+ domain_check = 1;
+ }
+
+ // alert(domain_check);
+}
+
+app.controller('createWordpress', function ($scope, $http, $timeout, $compile, $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 apacheBackend = 0;
+
+ if ($scope.apacheBackend === true) {
+ apacheBackend = 1;
+ } else {
+ apacheBackend = 0
+ }
+
+ var package = $scope.packageForWebsite;
+ var websiteOwner = $scope.websiteOwner;
+ var WPtitle = $scope.WPtitle;
+
+ // if (domain_check == 0) {
+ // var Part2_domainNameCreate = document.getElementById('Part2_domainNameCreate').value;
+ // var domainNameCreate = document.getElementById('TestDomainNameCreate').value + Part2_domainNameCreate;
+ // }
+ // if (domain_check == 1) {
+ //
+ // var domainNameCreate = $scope.own_domainNameCreate;
+ // }
+
+ 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;
+
+ if (domain_check == 0) {
+
+ var path = "";
+
+ }
+ if (domain_check = 1) {
+
+ var path = $scope.installPath;
+
+ }
+
+
+ var home = "1";
+
+ if (typeof path != 'undefined') {
+ home = "0";
+ }
+
+ //alert(domainNameCreate);
+ var data = {
+
+ title: WPtitle,
+ domain: domainNameCreate,
+ WPVersion: WPVersions,
+ pluginbucket: pluginbucket,
+ adminUser: WPUsername,
+ Email: adminEmail,
+ PasswordByPass: WPPassword,
+ AutomaticUpdates: autoupdates,
+ Plugins: pluginupdates,
+ Themes: themeupdates,
+ websiteOwner: websiteOwner,
+ package: package,
+ home: home,
+ path: path,
+ apacheBackend: apacheBackend
+ }
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+ var url = "/websites/submitWorpressCreation";
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.webSiteCreationLoading = true;
+ if (response.data.status === 1) {
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+
+ } else {
+ $scope.goBackDisable = false;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+
+ }
+
+ 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 {
+ $scope.webSiteCreationLoading = false;
+ $("#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;
+
+ }
+
+
+ }
+
+
+});
+
+
+//........... delete wp list
+var FurlDeleteWP;
+
+function DeleteWPNow(url) {
+ FurlDeleteWP = url;
+}
+
+function FinalDeleteWPNow() {
+ window.location.href = FurlDeleteWP;
+}
+
+var DeploytoProductionID;
+
+function DeployToProductionInitial(vall) {
+ DeploytoProductionID = vall;
+}
+
+var create_staging_domain_check = 0;
+
+function create_staging_checkbox_function() {
+
+ try {
+
+ var checkBox = document.getElementById("Create_Staging_Check");
+ // Get the output text
+
+
+ // If the checkbox is checked, display the output text
+ if (checkBox.checked == true) {
+ create_staging_domain_check = 0;
+ document.getElementById('Website_Create_Test_Domain').style.display = "block";
+ document.getElementById('Website_Create_Own_Domain').style.display = "none";
+
+ } else {
+ document.getElementById('Website_Create_Test_Domain').style.display = "none";
+ document.getElementById('Website_Create_Own_Domain').style.display = "block";
+ create_staging_domain_check = 1;
+ }
+ } catch (e) {
+
+ }
+
+ // alert(domain_check);
+}
+
+create_staging_checkbox_function();
+
+app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $window) {
+
+ var CheckBoxpasssword = 0;
+
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = false;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $(document).ready(function () {
+ var checkstatus = document.getElementById("wordpresshome");
+ if (checkstatus !== null) {
+ $scope.LoadWPdata();
+
+ }
+ });
+
+
+ $scope.LoadWPdata = function () {
+
+ $scope.wordpresshomeloading = false;
+ $('#wordpresshomeloading').show();
+
+ var url = "/websites/FetchWPdata";
+
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ console.log(data);
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+ $('#WPVersion').text(response.data.ret_data.version);
+ if (response.data.ret_data.lscache === 1) {
+ $('#lscache').prop('checked', true);
+ }
+ if (response.data.ret_data.debugging === 1) {
+ $('#debugging').prop('checked', true);
+ }
+ if (response.data.ret_data.searchIndex === 1) {
+ $('#searchIndex').prop('checked', true);
+ }
+ if (response.data.ret_data.maintenanceMode === 1) {
+ $('#maintenanceMode').prop('checked', true);
+ }
+ if (response.data.ret_data.wpcron === 1) {
+ $('#wpcron').prop('checked', true);
+ }
+ if (response.data.ret_data.passwordprotection == 1) {
+
+ var dc = '\n' +
+ ' '
+ var mp = $compile(dc)($scope);
+ angular.element(document.getElementById('prsswdprodata')).append(mp);
+ CheckBoxpasssword = 1;
+ } else if (response.data.ret_data.passwordprotection == 0) {
+ var dc = '\n' +
+ ' '
+ $('#prsswdprodata').append(dc);
+ CheckBoxpasssword = 0;
+ }
+
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+
+ $scope.webSiteCreationLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+
+ $scope.UpdateWPSettings = function (setting) {
+
+ $scope.wordpresshomeloading = false;
+ $('#wordpresshomeloading').show();
+
+
+ var url = "/websites/UpdateWPSettings";
+
+ if (setting === "PasswordProtection") {
+ if (CheckBoxpasssword == 0) {
+ var data = {
+ WPid: $('#WPid').html(),
+ setting: setting,
+ PPUsername: $scope.PPUsername,
+ PPPassword: $scope.PPPassword,
+ }
+
+ } else {
+ var data = {
+ WPid: $('#WPid').html(),
+ setting: setting,
+ PPUsername: '',
+ PPPassword: '',
+ }
+
+ }
+
+ } else {
+ var settingValue = 0;
+ if ($('#' + setting).is(":checked")) {
+ settingValue = 1;
+ }
+ var data = {
+ WPid: $('#WPid').html(),
+ setting: setting,
+ settingValue: settingValue
+ }
+ }
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Successfully Updated!.',
+ type: 'success'
+ });
+ if (setting === "PasswordProtection") {
+ location.reload();
+ }
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ if (setting === "PasswordProtection") {
+ location.reload();
+ }
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+
+ };
+
+ $scope.GetCurrentPlugins = function () {
+ $('#wordpresshomeloading').show();
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/GetCurrentPlugins";
+
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+ $('#PluginBody').html('');
+ var plugins = JSON.parse(response.data.plugins);
+ plugins.forEach(AddPlugins);
+
+ } else {
+ alert("Error:" + response.data.error_message)
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+
+ $scope.webSiteCreationLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+
+ $scope.GetCurrentThemes = function () {
+ $('#wordpresshomeloading').show();
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/GetCurrentThemes";
+
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+
+ $('#ThemeBody').html('');
+ var themes = JSON.parse(response.data.themes);
+ themes.forEach(AddThemes);
+
+ } else {
+ alert("Error:" + response.data.error_message)
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.webSiteCreationLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+
+ $scope.UpdatePlugins = function (plugin) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ plugin: plugin,
+ pluginarray: PluginsList,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/UpdatePlugins";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Updating Plugins in Background!.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+
+ };
+
+ $scope.DeletePlugins = function (plugin) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ plugin: plugin,
+ pluginarray: PluginsList,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/DeletePlugins";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Deleting Plugin in Background!',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+ }
+
+ $scope.ChangeStatus = function (plugin) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ plugin: plugin,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/ChangeStatus";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Changed Plugin state Successfully !.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+ }
+
+ function AddPlugins(value, index, array) {
+ var FinalMarkup = '
'
+ FinalMarkup = FinalMarkup + ' | ';
+ for (let x in value) {
+ if (x === 'status') {
+ if (value[x] === 'inactive') {
+ FinalMarkup = FinalMarkup + ' | ';
+ } else {
+ FinalMarkup = FinalMarkup + ' | ';
+ }
+ } else if (x === 'update') {
+ if (value[x] === 'none') {
+ FinalMarkup = FinalMarkup + 'Upto Date | ';
+ } else {
+ FinalMarkup = FinalMarkup + ' | ';
+ }
+ } else {
+ FinalMarkup = FinalMarkup + '' + value[x] + " | ";
+ }
+ }
+ FinalMarkup = FinalMarkup + ' | '
+ FinalMarkup = FinalMarkup + '
'
+ var temp = $compile(FinalMarkup)($scope)
+ AppendToTable('#PluginBody', temp)
+ }
+
+ $scope.UpdateThemes = function (theme) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ Theme: theme,
+ Themearray: ThemesList,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/UpdateThemes";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Updating Theme in background !.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+
+ };
+
+ $scope.DeleteThemes = function (theme) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ Theme: theme,
+ Themearray: ThemesList,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/DeleteThemes";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Deleting Theme in Background!.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+ };
+
+ $scope.ChangeStatusThemes = function (theme) {
+ $('#wordpresshomeloading').show();
+ var data = {
+ theme: theme,
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/StatusThemes";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Change Theme state in Bsckground!.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+ };
+
+ function AddThemes(value, index, array) {
+ var FinalMarkup = ''
+ FinalMarkup = FinalMarkup + ' | ';
+ for (let x in value) {
+ if (x === 'status') {
+ if (value[x] === 'inactive') {
+ FinalMarkup = FinalMarkup + ' | ';
+ } else {
+ FinalMarkup = FinalMarkup + ' | ';
+ }
+ } else if (x === 'update') {
+ if (value[x] === 'none') {
+ FinalMarkup = FinalMarkup + 'Upto Date | ';
+ } else {
+ FinalMarkup = FinalMarkup + ' | ';
+ }
+ } else {
+ FinalMarkup = FinalMarkup + '' + value[x] + " | ";
+ }
+ }
+ FinalMarkup = FinalMarkup + ' | '
+ FinalMarkup = FinalMarkup + '
'
+ var temp = $compile(FinalMarkup)($scope)
+ AppendToTable('#ThemeBody', temp)
+ }
+
+ $scope.CreateStagingNow = function () {
+ $('#wordpresshomeloading').show();
+
+ $scope.wordpresshomeloading = false;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+
+
+ $scope.currentStatus = "Starting creation Staging..";
+
+ //here enter domain name
+ if (create_staging_domain_check == 0) {
+ var Part2_domainNameCreate = document.getElementById('Part2_domainNameCreate').value;
+ var domainNameCreate = document.getElementById('TestDomainNameCreate').value + Part2_domainNameCreate;
+ }
+ if (create_staging_domain_check == 1) {
+
+ var domainNameCreate = $scope.own_domainNameCreate;
+ }
+ var data = {
+ StagingName: $('#stagingName').val(),
+ StagingDomain: domainNameCreate,
+ WPid: $('#WPid').html(),
+ }
+ var url = "/websites/CreateStagingNow";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ if (response.data.status === 1) {
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+ };
+
+ function getCreationStatus() {
+ $('#wordpresshomeloading').show();
+
+ 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) {
+ //$('#wordpresshomeloading').hide();
+
+ if (response.data.abort === 1) {
+ if (response.data.installStatus === 1) {
+
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = false;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = false;
+
+
+ $("#installProgress").css("width", "100%");
+ $("#installProgressbackup").css("width", "100%");
+ $scope.installPercentage = "100";
+ $scope.currentStatus = response.data.currentStatus;
+ $timeout.cancel();
+
+
+ } else {
+
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = 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%");
+ $("#installProgressbackup").css("width", "0%");
+ $scope.installPercentage = "0";
+ $scope.goBackDisable = false;
+
+
+ }
+
+ } else {
+
+ $("#installProgress").css("width", response.data.installationProgress + "%");
+ $("#installProgressbackup").css("width", response.data.installationProgress + "%");
+ $scope.installPercentage = response.data.installationProgress;
+ $scope.currentStatus = response.data.currentStatus;
+ $timeout(getCreationStatus, 1000);
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ //$('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ }
+
+ $scope.goBack = function () {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = false;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $("#installProgress").css("width", "0%");
+ };
+
+ $scope.fetchstaging = function () {
+
+ $('#wordpresshomeloading').show();
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/fetchstaging";
+
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+
+ // $('#ThemeBody').html('');
+ // var themes = JSON.parse(response.data.themes);
+ // themes.forEach(AddThemes);
+
+ $('#StagingBody').html('');
+ var staging = JSON.parse(response.data.wpsites);
+ staging.forEach(AddStagings);
+
+ } else {
+ alert("Error data.error_message:" + response.data.error_message)
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ alert("Error" + response)
+
+ }
+
+ };
+
+ $scope.fetchDatabase = function () {
+
+ $('#wordpresshomeloading').show();
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/fetchDatabase";
+
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+ $('#DB_Name').html(response.data.DataBaseName);
+ $('#DB_User').html(response.data.DataBaseUser);
+ $('#tableprefix').html(response.data.tableprefix);
+ } else {
+ alert("Error data.error_message:" + response.data.error_message)
+
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ alert("Error" + response)
+
+ }
+
+ };
+
+ $scope.SaveUpdateConfig = function () {
+ $('#wordpresshomeloading').show();
+ var data = {
+ AutomaticUpdates: $('#AutomaticUpdates').find(":selected").text(),
+ Plugins: $('#Plugins').find(":selected").text(),
+ Themes: $('#Themes').find(":selected").text(),
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/SaveUpdateConfig";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Update Configurations Sucessfully!.',
+ type: 'success'
+ });
+ $("#autoUpdateConfig").modal('hide');
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response,
+ type: 'error'
+ });
+
+ }
+ };
+
+ function AddStagings(value, index, array) {
+ var FinalMarkup = ''
+ for (let x in value) {
+ if (x === 'name') {
+ FinalMarkup = FinalMarkup + '| ' + value[x] + ' | ';
+ } else if (x !== 'url' && x !== 'deleteURL' && x !== 'id') {
+ FinalMarkup = FinalMarkup + '' + value[x] + " | ";
+ }
+ }
+ FinalMarkup = FinalMarkup + '' +
+ ' | '
+ FinalMarkup = FinalMarkup + '
'
+ AppendToTable('#StagingBody', FinalMarkup);
+ }
+
+ $scope.FinalDeployToProduction = function () {
+
+ $('#wordpresshomeloading').show();
+
+ $scope.wordpresshomeloading = false;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+
+ var data = {
+ WPid: $('#WPid').html(),
+ StagingID: DeploytoProductionID
+ }
+
+ var url = "/websites/DeploytoProduction";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+ function ListInitialDatas(response) {
+
+ $('#wordpresshomeloading').hide();
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Deploy To Production start!.',
+ type: 'success'
+ });
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response,
+ type: 'error'
+ });
+
+ }
+
+ };
+
+
+ $scope.CreateBackup = function () {
+ $('#wordpresshomeloading').show();
+
+ $scope.wordpresshomeloading = false;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $scope.currentStatus = "Starting creation Backups..";
+ var data = {
+ WPid: $('#WPid').html(),
+ Backuptype: $('#backuptype').val()
+ }
+ var url = "/websites/WPCreateBackup";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $('createbackupbutton').hide();
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Creating Backups!.',
+ type: 'success'
+ });
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ alert(response)
+
+ }
+
+ };
+
+
+ $scope.installwpcore = function () {
+
+ $('#wordpresshomeloading').show();
+ $('#wordpresshomeloadingsec').show();
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/installwpcore";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $('#wordpresshomeloadingsec').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Results fetched..',
+ type: 'success'
+ });
+ $('#SecurityResult').html(response.data.result);
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $('#wordpresshomeloadingsec').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+
+ };
+
+ $scope.dataintegrity = function () {
+
+ $('#wordpresshomeloading').show();
+ $('#wordpresshomeloadingsec').show();
+ var data = {
+ WPid: $('#WPid').html(),
+ }
+
+ $scope.wordpresshomeloading = false;
+
+ var url = "/websites/dataintegrity";
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $('#wordpresshomeloadingsec').hide();
+ $scope.wordpresshomeloading = true;
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Results fetched',
+ type: 'success'
+ });
+ $('#SecurityResult').html(response.data.result);
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+ $('#wordpresshomeloadingsec').hide();
+ $scope.wordpresshomeloading = true;
+ alert(response)
+
+ }
+ };
+
+});
+
+
+var PluginsList = [];
+
+
+function AddPluginToArray(cBox, name) {
+ if (cBox.checked) {
+ PluginsList.push(name);
+ // alert(PluginsList);
+ } else {
+ const index = PluginsList.indexOf(name);
+ if (index > -1) {
+ PluginsList.splice(index, 1);
+ }
+ // alert(PluginsList);
+ }
+}
+
+var ThemesList = [];
+
+function AddThemeToArray(cBox, name) {
+ if (cBox.checked) {
+ ThemesList.push(name);
+ // alert(ThemesList);
+ } else {
+ const index = ThemesList.indexOf(name);
+ if (index > -1) {
+ ThemesList.splice(index, 1);
+ }
+ // alert(ThemesList);
+ }
+}
+
+
+function AppendToTable(table, markup) {
+ $(table).append(markup);
+}
+
+
+//..................Restore Backup Home
+
+
+app.controller('RestoreWPBackup', function ($scope, $http, $timeout, $window) {
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = false;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+
+
+ $scope.checkmethode = function () {
+ var val = $('#RestoreMethode').children("option:selected").val();
+ if (val == 1) {
+ $('#Newsitediv').show();
+ $('#exinstingsitediv').hide();
+ } else if (val == 0) {
+ $('#exinstingsitediv').show();
+ $('#Newsitediv').hide();
+ } else {
+
+ }
+ };
+
+
+ $scope.RestoreWPbackupNow = function () {
+ $('#wordpresshomeloading').show();
+ $scope.wordpresshomeloading = false;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $scope.currentStatus = "Start Restoring WordPress..";
+
+ var Domain = $('#wprestoresubdirdomain').val()
+ var path = $('#wprestoresubdirpath').val();
+ var home = "1";
+
+ if (typeof path != 'undefined' || path != '') {
+ home = "0";
+ }
+ if (typeof path == 'undefined') {
+ path = "";
+ }
+
+
+ var backuptype = $('#backuptype').html();
+ var data;
+ if (backuptype == "DataBase Backup") {
+ data = {
+ backupid: $('#backupid').html(),
+ DesSite: $('#DesSite').children("option:selected").val(),
+ Domain: '',
+ path: path,
+ home: home,
+ }
+ } else {
+ data = {
+ backupid: $('#backupid').html(),
+ DesSite: $('#DesSite').children("option:selected").val(),
+ Domain: Domain,
+ path: path,
+ home: home,
+ }
+
+ }
+
+ var url = "/websites/RestoreWPbackupNow";
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ // console.log(data)
+
+ var d = $('#DesSite').children("option:selected").val();
+ var c = $("input[name=Newdomain]").val();
+ // if (d == -1 || c == "") {
+ // alert("Please Select Method of Backup Restore");
+ // } else {
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+ // }
+
+
+ function ListInitialDatas(response) {
+ wordpresshomeloading = true;
+ $('#wordpresshomeloading').hide();
+
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Restoring process starts!.',
+ type: 'success'
+ });
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+
+ } else {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = 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;
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $('#wordpresshomeloading').hide();
+
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+
+ }
+ }
+
+ function getCreationStatus() {
+ $('#wordpresshomeloading').show();
+
+ 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) {
+ //$('#wordpresshomeloading').hide();
+
+ if (response.data.abort === 1) {
+
+ if (response.data.installStatus === 1) {
+
+
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = false;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = false;
+
+
+ $("#installProgress").css("width", "100%");
+ $("#installProgressbackup").css("width", "100%");
+ $scope.installPercentage = "100";
+ $scope.currentStatus = response.data.currentStatus;
+ $timeout.cancel();
+
+
+ } else {
+
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = 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%");
+ $("#installProgressbackup").css("width", "0%");
+ $scope.installPercentage = "0";
+ $scope.goBackDisable = false;
+
+
+ }
+
+ } else {
+
+ $("#installProgress").css("width", response.data.installationProgress + "%");
+ $("#installProgressbackup").css("width", response.data.installationProgress + "%");
+ $scope.installPercentage = response.data.installationProgress;
+ $scope.currentStatus = response.data.currentStatus;
+ $timeout(getCreationStatus, 1000);
+
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ //$('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ }
+
+ $scope.goBack = function () {
+ $('#wordpresshomeloading').hide();
+ $scope.wordpresshomeloading = true;
+ $scope.stagingDetailsForm = false;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $("#installProgress").css("width", "0%");
+ };
+});
+
+
+//.......................................Remote Backup
+
+//........... delete DeleteBackupConfigNow
+
+function DeleteBackupConfigNow(url) {
+ window.location.href = url;
+}
+
+function DeleteRemoteBackupsiteNow(url) {
+ window.location.href = url;
+}
+
+function DeleteBackupfileConfigNow(url) {
+ window.location.href = url;
+}
+
+
+app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window) {
+ $scope.RemoteBackupLoading = true;
+ $scope.SFTPBackUpdiv = true;
+
+ $scope.EndpointURLdiv = true;
+ $scope.Selectprovider = true;
+ $scope.S3keyNamediv = true;
+ $scope.Accesskeydiv = true;
+ $scope.SecretKeydiv = true;
+ $scope.SelectRemoteBackuptype = function () {
+ var val = $scope.RemoteBackuptype;
+ if (val == "SFTP") {
+ $scope.SFTPBackUpdiv = false;
+ $scope.EndpointURLdiv = true;
+ $scope.Selectprovider = true;
+ $scope.S3keyNamediv = true;
+ $scope.Accesskeydiv = true;
+ $scope.SecretKeydiv = true;
+ } else if (val == "S3") {
+ $scope.EndpointURLdiv = true;
+ $scope.Selectprovider = false;
+ $scope.S3keyNamediv = false;
+ $scope.Accesskeydiv = false;
+ $scope.SecretKeydiv = false;
+ $scope.SFTPBackUpdiv = true;
+ } else {
+ $scope.RemoteBackupLoading = true;
+ $scope.SFTPBackUpdiv = true;
+
+ $scope.EndpointURLdiv = true;
+ $scope.Selectprovider = true;
+ $scope.S3keyNamediv = true;
+ $scope.Accesskeydiv = true;
+ $scope.SecretKeydiv = true;
+ }
+ }
+
+ $scope.SelectProvidertype = function () {
+ $scope.EndpointURLdiv = true;
+ var provider = $scope.Providervalue
+ if (provider == 'Backblaze') {
+ $scope.EndpointURLdiv = false;
+ } else {
+ $scope.EndpointURLdiv = true;
+ }
+ }
+
+ $scope.SaveBackupConfig = function () {
+ $scope.RemoteBackupLoading = false;
+ var Hname = $scope.Hostname;
+ var Uname = $scope.Username;
+ var Passwd = $scope.Password;
+ var path = $scope.path;
+ var type = $scope.RemoteBackuptype;
+ var Providervalue = $scope.Providervalue;
+ var data;
+ if (type == "SFTP") {
+
+ data = {
+ Hname: Hname,
+ Uname: Uname,
+ Passwd: Passwd,
+ path: path,
+ type: type
+ }
+ } else if (type == "S3") {
+ if (Providervalue == "Backblaze") {
+ data = {
+ S3keyname: $scope.S3keyName,
+ Provider: Providervalue,
+ AccessKey: $scope.Accesskey,
+ SecertKey: $scope.SecretKey,
+ EndUrl: $scope.EndpointURL,
+ type: type
+ }
+ } else {
+ data = {
+ S3keyname: $scope.S3keyName,
+ Provider: Providervalue,
+ AccessKey: $scope.Accesskey,
+ SecertKey: $scope.SecretKey,
+ type: type
+ }
+
+ }
+
+ }
+ var url = "/websites/SaveBackupConfig";
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Successfully Saved!.',
+ type: 'success'
+ });
+ location.reload();
+
+
+ } else {
+ new PNotify({
+ title: 'Error!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+
+ }
+
+
+ }
+
+});
+
+var UpdatescheduleID;
+app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
+ $scope.BackupScheduleLoading = true;
+ $scope.SaveBackupSchedule = function () {
+ $scope.RemoteBackupLoading = false;
+ var FileRetention = $scope.Fretention;
+ var Backfrequency = $scope.Bfrequency;
+
+
+ var data = {
+ FileRetention: FileRetention,
+ Backfrequency: Backfrequency,
+ ScheduleName: $scope.ScheduleName,
+ RemoteConfigID: $('#RemoteConfigID').html(),
+ BackupType: $scope.BackupType
+ }
+ var url = "/websites/SaveBackupSchedule";
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Successfully Saved!.',
+ type: 'success'
+ });
+ location.reload();
+
+
+ } else {
+ new PNotify({
+ title: 'Error!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+
+ }
+
+
+ };
+
+
+ $scope.getupdateid = function (ID) {
+ UpdatescheduleID = ID;
+ }
+
+ $scope.UpdateRemoteschedules = function () {
+ $scope.RemoteBackupLoading = false;
+ var Frequency = $scope.RemoteFrequency;
+ var fretention = $scope.RemoteFileretention;
+
+ var data = {
+ ScheduleID: UpdatescheduleID,
+ Frequency: Frequency,
+ FileRetention: fretention
+ }
+ var url = "/websites/UpdateRemoteschedules";
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Successfully Updated!.',
+ type: 'success'
+ });
+ location.reload();
+
+
+ } else {
+ new PNotify({
+ title: 'Error!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+
+ }
+ };
+
+ $scope.AddWPsiteforRemoteBackup = function () {
+ $scope.RemoteBackupLoading = false;
+
+
+ var data = {
+ WpsiteID: $('#Wpsite').val(),
+ RemoteScheduleID: $('#RemoteScheduleID').html()
+ }
+ var url = "/websites/AddWPsiteforRemoteBackup";
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Successfully Saved!.',
+ type: 'success'
+ });
+ location.reload();
+
+
+ } else {
+ new PNotify({
+ title: 'Error!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.RemoteBackupLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+
+ }
+
+
+ };
+});
+/* Java script code to create account */
+
+var website_create_domain_check = 0;
+
+function website_create_checkbox_function() {
+
+ var checkBox = document.getElementById("myCheck");
+ // Get the output text
+
+
+ // If the checkbox is checked, display the output text
+ if (checkBox.checked == true) {
+ website_create_domain_check = 0;
+ document.getElementById('Website_Create_Test_Domain').style.display = "block";
+ document.getElementById('Website_Create_Own_Domain').style.display = "none";
+
+ } else {
+ document.getElementById('Website_Create_Test_Domain').style.display = "none";
+ document.getElementById('Website_Create_Own_Domain').style.display = "block";
+ website_create_domain_check = 1;
+ }
+
+ // alert(domain_check);
+}
+
+app.controller('createWebsite', 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.createWebsite = 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 ssl, dkimCheck, openBasedir, mailDomain, apacheBackend;
+
+ if ($scope.sslCheck === true) {
+ ssl = 1;
+ } else {
+ ssl = 0
+ }
+
+ if ($scope.apacheBackend === true) {
+ apacheBackend = 1;
+ } else {
+ apacheBackend = 0
+ }
+
+ if ($scope.dkimCheck === true) {
+ dkimCheck = 1;
+ } else {
+ dkimCheck = 0
+ }
+
+ if ($scope.openBasedir === true) {
+ openBasedir = 1;
+ } else {
+ openBasedir = 0
+ }
+
+ if ($scope.mailDomain === true) {
+ mailDomain = 1;
+ } else {
+ mailDomain = 0
+ }
+
+
+ url = "/websites/submitWebsiteCreation";
+
+ var package = $scope.packageForWebsite;
+
+ // if (website_create_domain_check == 0) {
+ // var Part2_domainNameCreate = document.getElementById('Part2_domainNameCreate').value;
+ // var domainName = document.getElementById('TestDomainNameCreate').value + Part2_domainNameCreate;
+ // }
+ // if (website_create_domain_check == 1) {
+ //
+ // var domainName = $scope.domainNameCreate;
+ // }
+ var domainName = $scope.domainNameCreate;
+
+ // var domainName = $scope.domainNameCreate;
+
+ var adminEmail = $scope.adminEmail;
+ var phpSelection = $scope.phpSelection;
+ var websiteOwner = $scope.websiteOwner;
+
+
+ var data = {
+ package: package,
+ domainName: domainName,
+ adminEmail: adminEmail,
+ phpSelection: phpSelection,
+ ssl: ssl,
+ websiteOwner: websiteOwner,
+ dkimCheck: dkimCheck,
+ openBasedir: openBasedir,
+ mailDomain: mailDomain,
+ apacheBackend: apacheBackend
+ };
+
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.createWebSiteStatus === 1) {
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+ } 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;
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.webSiteCreationLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+ $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 ends here */
+
+/* Java script code to list accounts */
+
+$("#listFail").hide();
+
+
+app.controller('listWebsites', function ($scope, $http, $window) {
+ $scope.web = {};
+ $scope.WebSitesList = [];
+
+ $scope.currentPage = 1;
+ $scope.recordsToShow = 10;
+
+ // Initial fetch of websites
+ $scope.getFurtherWebsitesFromDB = function () {
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ var data = {
+ page: $scope.currentPage,
+ recordsToShow: $scope.recordsToShow
+ };
+
+ var dataurl = "/websites/fetchWebsitesList";
+
+ $http.post(dataurl, data, config).then(function(response) {
+ if (response.data.listWebSiteStatus === 1) {
+ $scope.WebSitesList = JSON.parse(response.data.data);
+ $scope.pagination = response.data.pagination;
+ $("#listFail").hide();
+ } else {
+ $("#listFail").fadeIn();
+ $scope.errorMessage = response.data.error_message;
+ }
+ }).catch(function(error) {
+ $("#listFail").fadeIn();
+ $scope.errorMessage = error.message || 'An error occurred while fetching websites';
+ });
+ };
+
+ // Call it immediately
+ $scope.getFurtherWebsitesFromDB();
+
+ $scope.showWPSites = function(domain) {
+ var url = '/websites/fetchWPDetails';
+ var data = {
+ domain: domain
+ };
+
+ $http({
+ method: 'POST',
+ url: url,
+ data: $.param(data),
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ }).then(function(response) {
+ if (response.data.status === 1 && response.data.fetchStatus === 1) {
+ $scope.web.wp_sites = response.data.sites;
+ $scope.web.showWPSites = true;
+ $("#listFail").hide();
+ } else {
+ $("#listFail").fadeIn();
+ $scope.errorMessage = response.data.error_message || 'Failed to fetch WordPress sites';
+ }
+ }).catch(function(error) {
+ $("#listFail").fadeIn();
+ $scope.errorMessage = error.message || 'An error occurred while fetching WordPress sites';
+ });
+ };
+
+ $scope.visitSite = function(url) {
+ window.open(url, '_blank');
+ };
+
+ $scope.wpLogin = function(wpId) {
+ window.open('/websites/wpLogin?wpID=' + wpId, '_blank');
+ };
+
+ $scope.manageWP = function(wpId) {
+ window.location.href = '/websites/listWPsites?wpID=' + wpId;
+ };
+
+ $scope.updateSetting = function(wp, setting) {
+ var settingMap = {
+ 'search-indexing': 'searchIndex',
+ 'debugging': 'debugging',
+ 'password-protection': 'passwordProtection',
+ 'maintenance-mode': 'maintenanceMode'
+ };
+
+ var data = {
+ wpID: wp.id,
+ setting: setting,
+ value: wp[settingMap[setting]] ? 'enable' : 'disable'
+ };
+
+ $http({
+ method: 'POST',
+ url: '/websites/UpdateWPSettings',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded',
+ 'X-CSRFToken': getCookie('csrftoken')
+ },
+ transformRequest: function(obj) {
+ var str = [];
+ for(var p in obj)
+ str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
+ return str.join("&");
+ }
+ }).then(function(response) {
+ if (response.data.status === 1) {
+ new PNotify({
+ title: 'Success',
+ text: 'Setting updated successfully.',
+ type: 'success'
+ });
+ } else {
+ wp[settingMap[setting]] = !wp[settingMap[setting]]; // Revert the change
+ new PNotify({
+ title: 'Error',
+ text: 'Failed to update setting.',
+ type: 'error'
+ });
+ }
+ }).catch(function(error) {
+ wp[settingMap[setting]] = !wp[settingMap[setting]]; // Revert the change
+ new PNotify({
+ title: 'Error',
+ text: 'Connection failed while updating setting.',
+ type: 'error'
+ });
+ });
+ };
+
+ $scope.cyberPanelLoading = true;
+
+ $scope.issueSSL = function (virtualHost) {
+ $scope.cyberPanelLoading = false;
+
+ var url = "/manageSSL/issueSSL";
+
+
+ var data = {
+ virtualHost: virtualHost
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ if (response.data.SSL === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'SSL successfully issued.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: 'Could not connect to server, please refresh this page',
+ type: 'error'
+ });
+ }
+
+
+ };
+
+ $scope.cyberPanelLoading = true;
+
+ $scope.searchWebsites = function () {
+
+ $scope.cyberPanelLoading = false;
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ var data = {
+ patternAdded: $scope.patternAdded
+ };
+
+ dataurl = "/websites/searchWebsites";
+
+ $http.post(dataurl, data, config).then(ListInitialData, cantLoadInitialData);
+
+
+ function ListInitialData(response) {
+ $scope.cyberPanelLoading = true;
+ if (response.data.listWebSiteStatus === 1) {
+
+ var finalData = JSON.parse(response.data.data);
+ $scope.WebSitesList = finalData;
+ $("#listFail").hide();
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+ }
+
+ function cantLoadInitialData(response) {
+ $scope.cyberPanelLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: 'Connect disrupted, refresh the page.',
+ type: 'error'
+ });
+ }
+
+
+ };
+
+ $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'
+ });
+
+
+ }
+
+
+ };
+
+});
+
+app.controller('listChildDomainsMain', function ($scope, $http, $timeout) {
+
+ $scope.currentPage = 1;
+ $scope.recordsToShow = 10;
+
+ $scope.getFurtherWebsitesFromDB = function () {
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ var data = {
+ page: $scope.currentPage,
+ recordsToShow: $scope.recordsToShow
+ };
+
+
+ dataurl = "/websites/fetchChildDomainsMain";
+
+ $http.post(dataurl, data, config).then(ListInitialData, cantLoadInitialData);
+
+
+ function ListInitialData(response) {
+ if (response.data.listWebSiteStatus === 1) {
+
+ $scope.WebSitesList = JSON.parse(response.data.data);
+ $scope.pagination = response.data.pagination;
+ $scope.clients = JSON.parse(response.data.data);
+ $("#listFail").hide();
+ } else {
+ $("#listFail").fadeIn();
+ $scope.errorMessage = response.data.error_message;
+
+ }
+ }
+
+ function cantLoadInitialData(response) {
+ }
+
+
+ };
+ $scope.getFurtherWebsitesFromDB();
+
+ $scope.cyberPanelLoading = true;
+
+ $scope.issueSSL = function (virtualHost) {
+ $scope.cyberPanelLoading = false;
+
+ var url = "/manageSSL/issueSSL";
+
+
+ var data = {
+ virtualHost: virtualHost
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ if (response.data.SSL === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'SSL successfully issued.',
+ type: 'success'
+ });
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: 'Could not connect to server, please refresh this page',
+ type: 'error'
+ });
+ }
+
+
+ };
+
+ $scope.cyberPanelLoading = true;
+
+ $scope.searchWebsites = function () {
+
+ $scope.cyberPanelLoading = false;
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ var data = {
+ patternAdded: $scope.patternAdded
+ };
+
+ dataurl = "/websites/searchChilds";
+
+ $http.post(dataurl, data, config).then(ListInitialData, cantLoadInitialData);
+
+
+ function ListInitialData(response) {
+ $scope.cyberPanelLoading = true;
+ if (response.data.listWebSiteStatus === 1) {
+
+ var finalData = JSON.parse(response.data.data);
+ $scope.WebSitesList = finalData;
+ $("#listFail").hide();
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+
+ }
+ }
+
+ function cantLoadInitialData(response) {
+ $scope.cyberPanelLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: 'Connect disrupted, refresh the page.',
+ type: 'error'
+ });
+ }
+
+
+ };
+
+ $scope.initConvert = function (virtualHost) {
+ $scope.domainName = virtualHost;
+ };
+
+ var statusFile;
+
+ $scope.installationProgress = true;
+
+ $scope.convert = function () {
+
+ $scope.cyberPanelLoading = false;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = true;
+
+ $scope.currentStatus = "Starting creation..";
+
+ var ssl, dkimCheck, openBasedir;
+
+ if ($scope.sslCheck === true) {
+ ssl = 1;
+ } else {
+ ssl = 0
+ }
+
+ if ($scope.dkimCheck === true) {
+ dkimCheck = 1;
+ } else {
+ dkimCheck = 0
+ }
+
+ if ($scope.openBasedir === true) {
+ openBasedir = 1;
+ } else {
+ openBasedir = 0
+ }
+
+ url = "/websites/convertDomainToSite";
+
+
+ var data = {
+ package: $scope.packageForWebsite,
+ domainName: $scope.domainName,
+ adminEmail: $scope.adminEmail,
+ phpSelection: $scope.phpSelection,
+ websiteOwner: $scope.websiteOwner,
+ ssl: ssl,
+ dkimCheck: dkimCheck,
+ openBasedir: openBasedir
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.createWebSiteStatus === 1) {
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+ } else {
+
+ $scope.cyberPanelLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = false;
+
+ $scope.currentStatus = response.data.error_message;
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.cyberPanelLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+ $scope.goBack = function () {
+ $scope.cyberPanelLoading = true;
+ $scope.installationDetailsForm = false;
+ $scope.installationProgress = 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.cyberPanelLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = false;
+
+ $("#installProgress").css("width", "100%");
+ $scope.installPercentage = "100";
+ $scope.currentStatus = response.data.currentStatus;
+ $timeout.cancel();
+
+ } else {
+
+ $scope.cyberPanelLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = false;
+
+ $scope.currentStatus = 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.cyberPanelLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ }
+
+ var DeleteDomain;
+ $scope.deleteDomainInit = function (childDomainForDeletion) {
+ DeleteDomain = childDomainForDeletion;
+ };
+
+ $scope.deleteChildDomain = function () {
+ $scope.cyberPanelLoading = false;
+ url = "/websites/submitDomainDeletion";
+
+ var data = {
+ websiteName: DeleteDomain,
+ DeleteDocRoot: $scope.DeleteDocRoot
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+ function ListInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ if (response.data.websiteDeleteStatus === 1) {
+ new PNotify({
+ title: 'Success!',
+ text: 'Child Domain successfully deleted.',
+ type: 'success'
+ });
+ $scope.getFurtherWebsitesFromDB();
+ } else {
+ new PNotify({
+ title: 'Operation Failed!',
+ text: response.data.error_message,
+ type: 'error'
+ });
+ }
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.cyberPanelLoading = true;
+ new PNotify({
+ title: 'Operation Failed!',
+ text: 'Could not connect to server, please refresh this page',
+ type: 'error'
+ });
+
+ }
+
+ };
+
+});
+
+/* Java script code to list accounts ends here */
+
+
+/* Java script code to delete Website */
+
+
+$("#websiteDeleteFailure").hide();
+$("#websiteDeleteSuccess").hide();
+
+$("#deleteWebsiteButton").hide();
+$("#deleteLoading").hide();
+
+app.controller('deleteWebsiteControl', function ($scope, $http) {
+
+
+ $scope.deleteWebsite = function () {
+
+ $("#deleteWebsiteButton").fadeIn();
+
+
+ };
+
+ $scope.deleteWebsiteFinal = function () {
+
+ $("#deleteLoading").show();
+
+ var websiteName = $scope.websiteToBeDeleted;
+
+
+ url = "/websites/submitWebsiteDeletion";
+
+ var data = {
+ websiteName: websiteName
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.websiteDeleteStatus === 0) {
+ $scope.errorMessage = response.data.error_message;
+ $("#websiteDeleteFailure").fadeIn();
+ $("#websiteDeleteSuccess").hide();
+ $("#deleteWebsiteButton").hide();
+
+
+ $("#deleteLoading").hide();
+
+ } else {
+ $("#websiteDeleteFailure").hide();
+ $("#websiteDeleteSuccess").fadeIn();
+ $("#deleteWebsiteButton").hide();
+ $scope.deletedWebsite = websiteName;
+ $("#deleteLoading").hide();
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ }
+
+
+ };
+
+});
+
+
+/* Java script code to delete website ends here */
+
+
+/* Java script code to modify package ends here */
+
+$("#canNotModify").hide();
+$("#webSiteDetailsToBeModified").hide();
+$("#websiteModifyFailure").hide();
+$("#websiteModifySuccess").hide();
+$("#websiteSuccessfullyModified").hide();
+$("#modifyWebsiteLoading").hide();
+$("#modifyWebsiteButton").hide();
+
+app.controller('modifyWebsitesController', function ($scope, $http) {
+
+ $scope.fetchWebsites = function () {
+
+ $("#modifyWebsiteLoading").show();
+
+
+ var websiteToBeModified = $scope.websiteToBeModified;
+
+ url = "/websites/getWebsiteDetails";
+
+ var data = {
+ websiteToBeModified: websiteToBeModified,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.modifyStatus === 0) {
+ console.log(response.data);
+ $scope.errorMessage = response.data.error_message;
+ $("#websiteModifyFailure").fadeIn();
+ $("#websiteModifySuccess").hide();
+ $("#modifyWebsiteButton").hide();
+ $("#modifyWebsiteLoading").hide();
+ $("#canNotModify").hide();
+
+
+ } else {
+ console.log(response.data);
+ $("#modifyWebsiteButton").fadeIn();
+
+ $scope.adminEmail = response.data.adminEmail;
+ $scope.currentPack = response.data.current_pack;
+ $scope.webpacks = JSON.parse(response.data.packages);
+ $scope.adminNames = JSON.parse(response.data.adminNames);
+ $scope.currentAdmin = response.data.currentAdmin;
+
+ $("#webSiteDetailsToBeModified").fadeIn();
+ $("#websiteModifySuccess").fadeIn();
+ $("#modifyWebsiteButton").fadeIn();
+ $("#modifyWebsiteLoading").hide();
+ $("#canNotModify").hide();
+
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $("#websiteModifyFailure").fadeIn();
+ }
+
+ };
+
+
+ $scope.modifyWebsiteFunc = function () {
+
+ var domain = $scope.websiteToBeModified;
+ var packForWeb = $scope.selectedPack;
+ var email = $scope.adminEmail;
+ var phpVersion = $scope.phpSelection;
+ var admin = $scope.selectedAdmin;
+
+
+ $("#websiteModifyFailure").hide();
+ $("#websiteModifySuccess").hide();
+ $("#websiteSuccessfullyModified").hide();
+ $("#canNotModify").hide();
+ $("#modifyWebsiteLoading").fadeIn();
+
+
+ url = "/websites/saveWebsiteChanges";
+
+ var data = {
+ domain: domain,
+ packForWeb: packForWeb,
+ email: email,
+ phpVersion: phpVersion,
+ admin: admin
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.saveStatus === 0) {
+ $scope.errMessage = response.data.error_message;
+
+ $("#canNotModify").fadeIn();
+ $("#websiteModifyFailure").hide();
+ $("#websiteModifySuccess").hide();
+ $("#websiteSuccessfullyModified").hide();
+ $("#modifyWebsiteLoading").hide();
+
+
+ } else {
+ $("#modifyWebsiteButton").hide();
+ $("#canNotModify").hide();
+ $("#websiteModifyFailure").hide();
+ $("#websiteModifySuccess").hide();
+
+ $("#websiteSuccessfullyModified").fadeIn();
+ $("#modifyWebsiteLoading").hide();
+
+ $scope.websiteModified = domain;
+
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ $scope.errMessage = response.data.error_message;
+ $("#canNotModify").fadeIn();
+ }
+
+
+ };
+
+});
+
+/* Java script code to Modify Pacakge ends here */
+
+
+/* Java script code to create account */
+var website_child_domain_check = 0;
+
+function website_child_domain_checkbox_function() {
+
+ var checkBox = document.getElementById("myCheck");
+ // Get the output text
+
+
+ // If the checkbox is checked, display the output text
+ if (checkBox.checked == true) {
+ website_child_domain_check = 0;
+ document.getElementById('Website_Create_Test_Domain').style.display = "block";
+ document.getElementById('Website_Create_Own_Domain').style.display = "none";
+
+ } else {
+ document.getElementById('Website_Create_Test_Domain').style.display = "none";
+ document.getElementById('Website_Create_Own_Domain').style.display = "block";
+ website_child_domain_check = 1;
+ }
+
+ // alert(domain_check);
+}
+
+app.controller('websitePages', function ($scope, $http, $timeout, $window) {
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = true;
+ $scope.hideLogs = true;
+ $scope.hideErrorLogs = true;
+
+ $scope.hidelogsbtn = function () {
+ $scope.hideLogs = true;
+ };
+
+ $scope.hideErrorLogsbtn = function () {
+ $scope.hideLogs = true;
+ };
+
+ $scope.fileManagerURL = "/filemanager/" + $("#domainNamePage").text();
+ $scope.wordPressInstallURL = $("#domainNamePage").text() + "/wordpressInstall";
+ $scope.joomlaInstallURL = $("#domainNamePage").text() + "/joomlaInstall";
+ $scope.setupGit = $("#domainNamePage").text() + "/setupGit";
+ $scope.installPrestaURL = $("#domainNamePage").text() + "/installPrestaShop";
+ $scope.installMagentoURL = $("#domainNamePage").text() + "/installMagento";
+ $scope.installMauticURL = $("#domainNamePage").text() + "/installMautic";
+ $scope.domainAliasURL = "/websites/" + $("#domainNamePage").text() + "/domainAlias";
+ $scope.previewUrl = "/preview/" + $("#domainNamePage").text() + "/";
+
+ var logType = 0;
+ $scope.pageNumber = 1;
+
+ $scope.fetchLogs = function (type) {
+
+ var pageNumber = $scope.pageNumber;
+
+
+ if (type == 3) {
+ pageNumber = $scope.pageNumber + 1;
+ $scope.pageNumber = pageNumber;
+ } else if (type == 4) {
+ pageNumber = $scope.pageNumber - 1;
+ $scope.pageNumber = pageNumber;
+ } else {
+ logType = type;
+ }
+
+
+ $scope.logFileLoading = false;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = false;
+ $scope.hideErrorLogs = true;
+
+
+ url = "/websites/getDataFromLogFile";
+
+ var domainNamePage = $("#domainNamePage").text();
+
+
+ var data = {
+ logType: logType,
+ virtualHost: domainNamePage,
+ page: pageNumber,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.logstatus == 1) {
+
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = false;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = false;
+ $scope.hideLogs = false;
+
+
+ $scope.records = JSON.parse(response.data.data);
+
+ } else {
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = false;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = true;
+ $scope.hideLogs = false;
+
+
+ $scope.errorMessage = response.data.error_message;
+ console.log(domainNamePage)
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = false;
+ $scope.fetchedData = true;
+ $scope.hideLogs = false;
+
+ }
+
+
+ };
+
+ $scope.errorPageNumber = 1;
+
+
+ $scope.fetchErrorLogs = function (type) {
+
+ var errorPageNumber = $scope.errorPageNumber;
+
+
+ if (type == 3) {
+ errorPageNumber = $scope.errorPageNumber + 1;
+ $scope.errorPageNumber = errorPageNumber;
+ } else if (type == 4) {
+ errorPageNumber = $scope.errorPageNumber - 1;
+ $scope.errorPageNumber = errorPageNumber;
+ } else {
+ logType = type;
+ }
+
+ // notifications
+
+ $scope.logFileLoading = false;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = true;
+ $scope.hideErrorLogs = true;
+ $scope.hideLogs = false;
+
+
+ url = "/websites/fetchErrorLogs";
+
+ var domainNamePage = $("#domainNamePage").text();
+
+
+ var data = {
+ virtualHost: domainNamePage,
+ page: errorPageNumber,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.logstatus === 1) {
+
+
+ // notifications
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = false;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = true;
+ $scope.hideLogs = false;
+ $scope.hideErrorLogs = false;
+
+
+ $scope.errorLogsData = response.data.data;
+
+ } else {
+
+ // notifications
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = false;
+ $scope.couldNotConnect = true;
+ $scope.fetchedData = true;
+ $scope.hideLogs = true;
+ $scope.hideErrorLogs = true;
+
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ // notifications
+
+ $scope.logFileLoading = true;
+ $scope.logsFeteched = true;
+ $scope.couldNotFetchLogs = true;
+ $scope.couldNotConnect = false;
+ $scope.fetchedData = true;
+ $scope.hideLogs = true;
+ $scope.hideErrorLogs = true;
+
+ }
+
+
+ };
+
+ ///////// Configurations Part
+
+ $scope.configurationsBox = true;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+
+ $scope.hideconfigbtn = function () {
+
+ $scope.configurationsBox = true;
+ };
+
+ $scope.fetchConfigurations = function () {
+
+
+ $scope.hidsslconfigs = true;
+ $scope.configurationsBoxRewrite = true;
+ $scope.changePHPView = true;
+
+
+ //Rewrite rules
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+
+ ///
+
+ $scope.configFileLoading = false;
+
+
+ url = "/websites/getDataFromConfigFile";
+
+ var virtualHost = $("#domainNamePage").text();
+
+
+ var data = {
+ virtualHost: virtualHost,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.configstatus === 1) {
+
+ //Rewrite rules
+
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+
+ ///
+
+ $scope.configurationsBox = false;
+ $scope.configsFetched = false;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = false;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = false;
+
+
+ $scope.configData = response.data.configData;
+
+ } else {
+
+ //Rewrite rules
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+
+ ///
+ $scope.configurationsBox = false;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = false;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ //Rewrite rules
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+ ///
+
+ $scope.configurationsBox = false;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = false;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+
+
+ }
+
+
+ };
+
+ $scope.saveCongiruations = function () {
+
+ $scope.configFileLoading = false;
+
+
+ url = "/websites/saveConfigsToFile";
+
+ var virtualHost = $("#domainNamePage").text();
+ var configData = $scope.configData;
+
+
+ var data = {
+ virtualHost: virtualHost,
+ configData: configData,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.configstatus === 1) {
+
+ $scope.configurationsBox = false;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = false;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = true;
+
+
+ } else {
+ $scope.configurationsBox = false;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = false;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = false;
+
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.configurationsBox = false;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = false;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+
+
+ }
+
+
+ };
+
+
+ ///////// Rewrite Rules
+
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+
+ $scope.hideRewriteRulesbtn = function () {
+ $scope.configurationsBoxRewrite = true;
+ };
+
+ $scope.fetchRewriteFules = function () {
+
+ $scope.hidsslconfigs = true;
+ $scope.configurationsBox = true;
+ $scope.changePHPView = true;
+
+
+ $scope.configurationsBox = true;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.couldNotConnect = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = true;
+
+ $scope.configFileLoading = false;
+
+
+ url = "/websites/getRewriteRules";
+
+ var virtualHost = $("#domainNamePage").text();
+
+
+ var data = {
+ virtualHost: virtualHost,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.rewriteStatus == 1) {
+
+
+ // from main
+
+ $scope.configurationsBox = true;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = true;
+
+ // main ends
+
+ $scope.configFileLoading = true;
+
+ //
+
+
+ $scope.configurationsBoxRewrite = false;
+ $scope.rewriteRulesFetched = false;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = false;
+ $scope.saveRewriteRulesBTN = false;
+ $scope.couldNotConnect = true;
+
+
+ $scope.rewriteRules = response.data.rewriteRules;
+
+ } else {
+ // from main
+ $scope.configurationsBox = true;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = true;
+ // from main
+
+ $scope.configFileLoading = true;
+
+ ///
+
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = false;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+ $scope.couldNotConnect = true;
+
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+ // from main
+
+ $scope.configurationsBox = true;
+ $scope.configsFetched = true;
+ $scope.couldNotFetchConfigs = true;
+ $scope.fetchedConfigsData = true;
+ $scope.configFileLoading = true;
+ $scope.configSaved = true;
+ $scope.couldNotSaveConfigurations = true;
+ $scope.saveConfigBtn = true;
+
+ // from main
+
+ $scope.configFileLoading = true;
+
+ ///
+
+ $scope.configurationsBoxRewrite = true;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+
+ $scope.couldNotConnect = false;
+
+
+ }
+
+
+ };
+
+ $scope.saveRewriteRules = function () {
+
+ $scope.configFileLoading = false;
+
+
+ url = "/websites/saveRewriteRules";
+
+ var virtualHost = $("#domainNamePage").text();
+ var rewriteRules = $scope.rewriteRules;
+
+
+ var data = {
+ virtualHost: virtualHost,
+ rewriteRules: rewriteRules,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.rewriteStatus == 1) {
+
+ $scope.configurationsBoxRewrite = false;
+ $scope.rewriteRulesFetched = true;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = false;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = true;
+ $scope.configFileLoading = true;
+
+
+ } else {
+ $scope.configurationsBoxRewrite = false;
+ $scope.rewriteRulesFetched = false;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = false;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = false;
+
+ $scope.configFileLoading = true;
+
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.configurationsBoxRewrite = false;
+ $scope.rewriteRulesFetched = false;
+ $scope.couldNotFetchRewriteRules = true;
+ $scope.rewriteRulesSaved = true;
+ $scope.couldNotSaveRewriteRules = true;
+ $scope.fetchedRewriteRules = true;
+ $scope.saveRewriteRulesBTN = false;
+
+ $scope.configFileLoading = true;
+
+ $scope.couldNotConnect = false;
+
+
+ }
+
+
+ };
+
+ //////// Application Installation part
+
+ $scope.installationDetailsForm = true;
+ $scope.installationDetailsFormJoomla = true;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = true;
+
+
+ $scope.installationDetails = function () {
+
+ $scope.installationDetailsForm = !$scope.installationDetailsForm;
+ $scope.installationDetailsFormJoomla = true;
+
+ };
+
+ $scope.installationDetailsJoomla = function () {
+
+ $scope.installationDetailsFormJoomla = !$scope.installationDetailsFormJoomla;
+ $scope.installationDetailsForm = true;
+
+ };
+
+ $scope.installWordpress = function () {
+
+
+ $scope.installationDetailsForm = false;
+ $scope.applicationInstallerLoading = false;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = true;
+
+ var domain = $("#domainNamePage").text();
+ var path = $scope.installPath;
+
+ url = "/websites/installWordpress";
+
+ var home = "1";
+
+ if (typeof path != 'undefined') {
+ home = "0";
+ }
+
+
+ var data = {
+ domain: domain,
+ home: home,
+ path: path,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.installStatus === 1) {
+ if (typeof path != 'undefined') {
+ $scope.installationURL = "http://" + domain + "/" + path;
+ } else {
+ $scope.installationURL = domain;
+ }
+
+ $scope.installationDetailsForm = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = false;
+ $scope.couldNotConnect = true;
+
+ } else {
+
+ $scope.installationDetailsForm = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = false;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = true;
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.installationDetailsForm = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = false;
+
+ }
+
+ };
+
+ $scope.installJoomla = function () {
+
+
+ $scope.installationDetailsFormJoomla = false;
+ $scope.applicationInstallerLoading = false;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = true;
+
+ var domain = $("#domainNamePage").text();
+ var path = $scope.installPath;
+ var username = 'admin';
+ var password = $scope.password;
+ var prefix = $scope.prefix;
+
+
+ url = "/websites/installJoomla";
+
+ var home = "1";
+
+ if (typeof path != 'undefined') {
+ home = "0";
+ }
+
+
+ var data = {
+ domain: domain,
+ siteName: $scope.siteName,
+ home: home,
+ path: path,
+ password: password,
+ prefix: prefix,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.installStatus === 1) {
+ if (typeof path != 'undefined') {
+ $scope.installationURL = "http://" + domain + "/" + path;
+ } else {
+ $scope.installationURL = domain;
+ }
+
+ $scope.installationDetailsFormJoomla = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = false;
+ $scope.couldNotConnect = true;
+
+ } else {
+
+ $scope.installationDetailsFormJoomla = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = false;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = true;
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.installationDetailsFormJoomla = false;
+ $scope.applicationInstallerLoading = true;
+ $scope.installationFailed = true;
+ $scope.installationSuccessfull = true;
+ $scope.couldNotConnect = false;
+
+ }
+
+ };
+
+
+ //////// SSL Part
+
+ $scope.sslSaved = true;
+ $scope.couldNotSaveSSL = true;
+ $scope.hidsslconfigs = true;
+ $scope.couldNotConnect = true;
+
+
+ $scope.hidesslbtn = function () {
+ $scope.hidsslconfigs = true;
+ };
+
+ $scope.addSSL = function () {
+ $scope.hidsslconfigs = false;
+ $scope.configurationsBox = true;
+ $scope.configurationsBoxRewrite = true;
+ $scope.changePHPView = true;
+ };
+
+ $scope.saveSSL = function () {
+
+
+ $scope.configFileLoading = false;
+
+ url = "/websites/saveSSL";
+
+ var virtualHost = $("#domainNamePage").text();
+ var cert = $scope.cert;
+ var key = $scope.key;
+
+
+ var data = {
+ virtualHost: virtualHost,
+ cert: cert,
+ key: key
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.sslStatus === 1) {
+
+ $scope.sslSaved = false;
+ $scope.couldNotSaveSSL = true;
+ $scope.couldNotConnect = true;
+ $scope.configFileLoading = true;
+
+
+ } else {
+
+ $scope.sslSaved = true;
+ $scope.couldNotSaveSSL = false;
+ $scope.couldNotConnect = true;
+ $scope.configFileLoading = true;
+
+ $scope.errorMessage = response.data.error_message;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.sslSaved = true;
+ $scope.couldNotSaveSSL = true;
+ $scope.couldNotConnect = false;
+ $scope.configFileLoading = true;
+
+
+ }
+
+ };
+
+ //// Change PHP Master
+
+ $scope.failedToChangePHPMaster = true;
+ $scope.phpChangedMaster = true;
+ $scope.couldNotConnect = true;
+
+ $scope.changePHPView = true;
+
+
+ $scope.hideChangePHPMaster = function () {
+ $scope.changePHPView = true;
+ };
+
+ $scope.changePHPMaster = function () {
+ $scope.hidsslconfigs = true;
+ $scope.configurationsBox = true;
+ $scope.configurationsBoxRewrite = true;
+ $scope.changePHPView = false;
+ };
+
+ $scope.changePHPVersionMaster = function (childDomain, phpSelection) {
+
+ // notifcations
+
+ $scope.configFileLoading = false;
+
+ var url = "/websites/changePHP";
+
+ var data = {
+ childDomain: $("#domainNamePage").text(),
+ phpSelection: $scope.phpSelectionMaster,
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+
+ if (response.data.changePHP === 1) {
+
+ $scope.configFileLoading = true;
+ $scope.websiteDomain = $("#domainNamePage").text();
+
+
+ // notifcations
+
+ $scope.failedToChangePHPMaster = true;
+ $scope.phpChangedMaster = false;
+ $scope.couldNotConnect = true;
+
+
+ } else {
+
+ $scope.configFileLoading = true;
+ $scope.errorMessage = response.data.error_message;
+
+ // notifcations
+
+ $scope.failedToChangePHPMaster = false;
+ $scope.phpChangedMaster = true;
+ $scope.couldNotConnect = true;
+
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.configFileLoading = true;
+
+ // notifcations
+
+ $scope.failedToChangePHPMaster = true;
+ $scope.phpChangedMaster = true;
+ $scope.couldNotConnect = false;
+
+ }
+
+ };
+
+ ////// create domain part
+
+ $("#domainCreationForm").hide();
+
+ $scope.showCreateDomainForm = function () {
+ $("#domainCreationForm").fadeIn();
+ };
+
+ $scope.hideDomainCreationForm = function () {
+ $("#domainCreationForm").fadeOut();
+ };
+
+ $scope.masterDomain = $("#domainNamePage").text();
+
+ // notifcations settings
+ $scope.domainLoading = true;
+ $scope.installationDetailsForm = false;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $scope.DomainCreateForm = true;
+
+ var statusFile;
+
+
+ $scope.webselection = true;
+ $scope.WebsiteType = function () {
+ var type = $scope.websitetype;
+ if (type == 'Sub Domain') {
+ $scope.webselection = false;
+ $scope.DomainCreateForm = true;
+
+ } else if (type == 'Addon Domain') {
+ $scope.DomainCreateForm = false;
+ $scope.webselection = true;
+ $scope.masterDomain = $('#defaultSite').html()
+ }
+ };
+
+ $scope.WebsiteSelection = function () {
+ $scope.DomainCreateForm = false;
+ };
+
+ $scope.createDomain = function () {
+
+ $scope.domainLoading = false;
+ $scope.installationDetailsForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $scope.currentStatus = "Starting creation..";
+ $scope.DomainCreateForm = true;
+
+ var ssl, dkimCheck, openBasedir, apacheBackend;
+
+ if ($scope.sslCheck === true) {
+ ssl = 1;
+ } else {
+ ssl = 0
+ }
+
+ if ($scope.dkimCheck === true) {
+ dkimCheck = 1;
+ } else {
+ dkimCheck = 0
+ }
+
+ if ($scope.openBasedir === true) {
+ openBasedir = 1;
+ } else {
+ openBasedir = 0
+ }
+
+
+ if ($scope.apacheBackend === true) {
+ apacheBackend = 1;
+ } else {
+ apacheBackend = 0
+ }
+
+
+ url = "/websites/submitDomainCreation";
+ var domainName = $scope.domainNameCreate;
+ var phpSelection = $scope.phpSelection;
+
+ var path = $scope.docRootPath;
+
+ if (typeof path === 'undefined') {
+ path = "";
+ }
+ var package = $scope.packageForWebsite;
+
+ // if (website_child_domain_check == 0) {
+ // var Part2_domainNameCreate = document.getElementById('Part2_domainNameCreate').value;
+ // var domainName = document.getElementById('TestDomainNameCreate').value + Part2_domainNameCreate;
+ // }
+ // if (website_child_domain_check == 1) {
+ //
+ // var domainName = $scope.own_domainNameCreate;
+ // }
+ var type = $scope.websitetype;
+
+ var domainName = $scope.domainNameCreate;
+
+
+ var data = {
+ domainName: domainName,
+ phpSelection: phpSelection,
+ ssl: ssl,
+ path: path,
+ masterDomain: $scope.masterDomain,
+ dkimCheck: dkimCheck,
+ openBasedir: openBasedir,
+ apacheBackend: apacheBackend
+ };
+
+ var config = {
+ headers: {
+ 'X-CSRFToken': getCookie('csrftoken')
+ }
+ };
+
+ // console.log(data)
+
+ $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
+
+
+ function ListInitialDatas(response) {
+
+ if (response.data.createWebSiteStatus === 1) {
+ statusFile = response.data.tempStatusPath;
+ getCreationStatus();
+ } else {
+
+ $scope.domainLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.DomainCreateForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = false;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = false;
+
+ $scope.errorMessage = response.data.error_message;
+ }
+
+
+ }
+
+ function cantLoadInitialDatas(response) {
+
+ $scope.domainLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.DomainCreateForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ };
+
+ $scope.goBack = function () {
+ $scope.domainLoading = true;
+ $scope.installationDetailsForm = false;
+ $scope.DomainCreateForm = true;
+ $scope.installationProgress = true;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = true;
+ $scope.goBackDisable = true;
+ $scope.DomainCreateForm = 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.domainLoading = 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.domainLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.DomainCreateForm = 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.domainLoading = true;
+ $scope.installationDetailsForm = true;
+ $scope.DomainCreateForm = true;
+ $scope.installationProgress = false;
+ $scope.errorMessageBox = true;
+ $scope.success = true;
+ $scope.couldNotConnect = false;
+ $scope.goBackDisable = false;
+
+ }
+
+
+ }
+
+
+ ////// List Domains Part
+
+ ////////////////////////
+
+ // notifcations
+
+ $scope.phpChanged = true;
+ $scope.domainError = true;
+ $scope.couldNotConnect = true;
+ $scope.domainDeleted = true;
+ $scope.sslIssued = true;
+ $scope.childBaseDirChanged = true;
+
+ $("#listDomains").hide();
+
+
$scope.showListDomains = function () {
fetchDomains();
$("#listDomains").fadeIn();