diff --git a/websiteFunctions/static/websiteFunctions/websiteFunctions.js b/websiteFunctions/static/websiteFunctions/websiteFunctions.js index 35e3fcb4a..af65ab946 100755 --- a/websiteFunctions/static/websiteFunctions/websiteFunctions.js +++ b/websiteFunctions/static/websiteFunctions/websiteFunctions.js @@ -2733,84 +2733,135 @@ app.controller('listWebsites', function ($scope, $http, $window) { window.location.href = '/websites/listWPsites?wpID=' + wpId; }; - $scope.currentWP = null; - $scope.PPUsername = ''; - $scope.PPPassword = ''; - - $scope.togglePasswordProtection = function(wp) { - if (!wp.passwordProtection) { - // Show password protection modal - $('#Passwordprotection').modal('show'); - $scope.currentWP = wp; - } else { - // Disable password protection - $scope.updateSetting(wp, 'password-protection', 0); - } - }; - - $scope.enablePasswordProtection = function() { - if (!$scope.PPUsername || !$scope.PPPassword) { - new PNotify({ - title: 'Error!', - text: 'Username and password are required.', - type: 'error' - }); - return; - } - - $scope.updateSetting($scope.currentWP, 'password-protection', 1); - $('#Passwordprotection').modal('hide'); - }; - - $scope.updateSetting = function(wp, setting, value) { - var data = { - WPid: wp.id, - setting: setting, - value: value + $scope.updateSetting = function(wp, setting) { + var settingMap = { + 'search-indexing': 'searchIndex', + 'debugging': 'debugging', + 'password-protection': 'passwordProtection', + 'maintenance-mode': 'maintenanceMode' }; - if (setting === 'password-protection' && value === 1) { - data.PPUsername = $scope.PPUsername; - data.PPPassword = $scope.PPPassword; + 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.UpdateWPSettings = function(wp) { + $('#wordpresshomeloading').show(); + + var url = "/websites/UpdateWPSettings"; + var data = {}; + + if (wp.setting === "PasswordProtection") { + data = { + wpID: wp.id, + setting: wp.setting, + PPUsername: wp.PPUsername, + PPPassword: wp.PPPassword + }; } var config = { headers: { - 'X-CSRFToken': getCookie('csrftoken') + 'X-CSRFToken': getCookie('csrftoken'), + 'Content-Type': 'application/x-www-form-urlencoded' + }, + transformRequest: function(obj) { + var str = []; + for(var p in obj) + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); + return str.join("&"); } }; - $http.post('/websites/UpdateWPSettings', data, config).then(function(response) { + $http.post(url, data, config).then(function(response) { + $('#wordpresshomeloading').hide(); + if (response.data.status === 1) { new PNotify({ title: 'Success!', - text: 'Setting updated successfully.', + text: 'Successfully Updated!', type: 'success' }); - if (setting === 'password-protection') { - wp.passwordProtection = value; - // Reset form - $scope.PPUsername = ''; - $scope.PPPassword = ''; - $scope.currentWP = null; + if (wp.setting === "PasswordProtection") { + location.reload(); } } else { new PNotify({ - title: 'Error!', + title: 'Operation Failed!', text: response.data.error_message, type: 'error' }); + if (wp.setting === "PasswordProtection") { + location.reload(); + } } }, function(error) { + $('#wordpresshomeloading').hide(); new PNotify({ - title: 'Error!', - text: 'An error occurred while updating the setting.', + title: 'Operation Failed!', + text: 'Could not connect to server, please refresh this page', type: 'error' }); - console.error(error); }); }; + $scope.togglePasswordProtection = function(wp) { + if (wp.passwordProtection) { + // Show modal or form to collect username/password + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $('#passwordProtectionModal').modal('show'); + } else { + // Disable password protection + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $scope.UpdateWPSettings(wp); + } + }; + $scope.cyberPanelLoading = true; $scope.issueSSL = function (virtualHost) { @@ -6151,4342 +6202,97 @@ app.controller('listWebsites', function ($scope, $http, $window) { window.location.href = '/websites/listWPsites?wpID=' + wpId; }; - $scope.currentWP = null; - $scope.PPUsername = ''; - $scope.PPPassword = ''; + $scope.updateSetting = function(wp, setting) { + var settingMap = { + 'search-indexing': 'searchIndex', + 'debugging': 'debugging', + 'password-protection': 'passwordProtection', + 'maintenance-mode': 'maintenanceMode' + }; - $scope.togglePasswordProtection = function(wp) { - if (!wp.passwordProtection) { - // Show password protection modal - $('#Passwordprotection').modal('show'); - $scope.currentWP = wp; - } else { - // Disable password protection - $scope.updateSetting(wp, 'password-protection', 0); - } - }; - - $scope.enablePasswordProtection = function() { - if (!$scope.PPUsername || !$scope.PPPassword) { - new PNotify({ - title: 'Error!', - text: 'Username and password are required.', - type: 'error' - }); - return; - } - - $scope.updateSetting($scope.currentWP, 'password-protection', 1); - $('#Passwordprotection').modal('hide'); - }; - - $scope.updateSetting = function(wp, setting, value) { var data = { - WPid: wp.id, + wpID: wp.id, setting: setting, - value: value + value: wp[settingMap[setting]] ? 'enable' : 'disable' }; - if (setting === 'password-protection' && value === 1) { - data.PPUsername = $scope.PPUsername; - data.PPPassword = $scope.PPPassword; - } - - var config = { - headers: { - 'X-CSRFToken': getCookie('csrftoken') - } - }; - - $http.post('/websites/UpdateWPSettings', data, config).then(function(response) { - if (response.data.status === 1) { - new PNotify({ - title: 'Success!', - text: 'Setting updated successfully.', - type: 'success' - }); - if (setting === 'password-protection') { - wp.passwordProtection = value; - // Reset form - $scope.PPUsername = ''; - $scope.PPPassword = ''; - $scope.currentWP = null; - } - } else { - new PNotify({ - title: 'Error!', - text: response.data.error_message, - type: 'error' - }); - } - }, function(error) { - new PNotify({ - title: 'Error!', - text: 'An error occurred while updating the setting.', - type: 'error' - }); - console.error(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') - } - }; - - -/** - * 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) { - console.log('showWPSites called for domain:', domain); - - // Make sure domain is defined - if (!domain) { - console.error('Domain is undefined'); - return; - } - - var url = '/websites/fetchWPDetails'; - var data = { - domain: domain - }; - - console.log('Making request to:', url, 'with data:', data); - $http({ method: 'POST', - url: url, - data: $.param(data), + 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) { - console.log('Response received:', response); - if (response.data.status === 1 && response.data.fetchStatus === 1) { - // Find the website in the list and update its properties - $scope.WebSitesList.forEach(function(website) { - if (website.domain === domain) { - website.wp_sites = response.data.sites; - website.showWPSites = true; - console.log('Updated website:', website); - } - }); - $("#listFail").hide(); - } else { - $("#listFail").fadeIn(); - $scope.errorMessage = response.data.error_message || 'Failed to fetch WordPress sites'; - console.error('Error in response:', response.data.error_message); - } - }).catch(function(error) { - $("#listFail").fadeIn(); - $scope.errorMessage = error.message || 'An error occurred while fetching WordPress sites'; - console.error('Request failed:', error); - }); - }; - - $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.currentWP = null; - $scope.PPUsername = ''; - $scope.PPPassword = ''; - - $scope.togglePasswordProtection = function(wp) { - if (!wp.passwordProtection) { - // Show password protection modal - $('#Passwordprotection').modal('show'); - $scope.currentWP = wp; - } else { - // Disable password protection - $scope.updateSetting(wp, 'password-protection', 0); - } - }; - - $scope.enablePasswordProtection = function() { - if (!$scope.PPUsername || !$scope.PPPassword) { - new PNotify({ - title: 'Error!', - text: 'Username and password are required.', - type: 'error' - }); - return; - } - - $scope.updateSetting($scope.currentWP, 'password-protection', 1); - $('#Passwordprotection').modal('hide'); - }; - - $scope.updateSetting = function(wp, setting, value) { - var data = { - WPid: wp.id, - setting: setting, - value: value - }; - - if (setting === 'password-protection' && value === 1) { - data.PPUsername = $scope.PPUsername; - data.PPPassword = $scope.PPPassword; - } - - var config = { - headers: { - 'X-CSRFToken': getCookie('csrftoken') - } - }; - - $http.post('/websites/UpdateWPSettings', data, config).then(function(response) { if (response.data.status === 1) { new PNotify({ - title: 'Success!', + title: 'Success', text: 'Setting updated successfully.', type: 'success' }); - if (setting === 'password-protection') { - wp.passwordProtection = value; - // Reset form - $scope.PPUsername = ''; - $scope.PPPassword = ''; - $scope.currentWP = null; - } } else { + wp[settingMap[setting]] = !wp[settingMap[setting]]; // Revert the change new PNotify({ - title: 'Error!', - text: response.data.error_message, + title: 'Error', + text: 'Failed to update setting.', type: 'error' }); } - }, function(error) { + }).catch(function(error) { + wp[settingMap[setting]] = !wp[settingMap[setting]]; // Revert the change new PNotify({ - title: 'Error!', - text: 'An error occurred while updating the setting.', + title: 'Error', + text: 'Connection failed while updating setting.', type: 'error' }); - console.error(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) { - } - - - }; - -}); - - -/** - * 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; + $scope.UpdateWPSettings = function(wp) { $('#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"; + var data = {}; - 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 - } + if (wp.setting === "PasswordProtection") { + data = { + wpID: wp.id, + setting: wp.setting, + PPUsername: wp.PPUsername, + PPPassword: wp.PPPassword + }; } - var config = { headers: { - 'X-CSRFToken': getCookie('csrftoken') + 'X-CSRFToken': getCookie('csrftoken'), + 'Content-Type': 'application/x-www-form-urlencoded' + }, + transformRequest: function(obj) { + var str = []; + for(var p in obj) + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); + return str.join("&"); } }; - - $http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas); - - - function ListInitialDatas(response) { - $scope.wordpresshomeloading = true; + $http.post(url, data, config).then(function(response) { $('#wordpresshomeloading').hide(); - + if (response.data.status === 1) { new PNotify({ title: 'Success!', - text: 'Successfully Updated!.', + text: 'Successfully Updated!', type: 'success' }); - if (setting === "PasswordProtection") { + if (wp.setting === "PasswordProtection") { location.reload(); } } else { @@ -10495,2090 +6301,36 @@ app.controller('WPsiteHome', function ($scope, $http, $timeout, $compile, $windo text: response.data.error_message, type: 'error' }); - if (setting === "PasswordProtection") { + if (wp.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) { - console.log('showWPSites called for domain:', domain); - - // Make sure domain is defined - if (!domain) { - console.error('Domain is undefined'); - return; - } - - var url = '/websites/fetchWPDetails'; - var data = { - domain: domain - }; - - console.log('Making request to:', url, 'with data:', data); - - $http({ - method: 'POST', - url: url, - data: $.param(data), - headers: { - 'Content-Type': 'application/x-www-form-urlencoded', - 'X-CSRFToken': getCookie('csrftoken') - } - }).then(function(response) { - console.log('Response received:', response); - if (response.data.status === 1 && response.data.fetchStatus === 1) { - // Find the website in the list and update its properties - $scope.WebSitesList.forEach(function(website) { - if (website.domain === domain) { - website.wp_sites = response.data.sites; - website.showWPSites = true; - console.log('Updated website:', website); - } - }); - $("#listFail").hide(); - } else { - $("#listFail").fadeIn(); - $scope.errorMessage = response.data.error_message || 'Failed to fetch WordPress sites'; - console.error('Error in response:', response.data.error_message); - } - }).catch(function(error) { - $("#listFail").fadeIn(); - $scope.errorMessage = error.message || 'An error occurred while fetching WordPress sites'; - console.error('Request failed:', error); - }); - }; - - $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.currentWP = null; - $scope.PPUsername = ''; - $scope.PPPassword = ''; - - $scope.togglePasswordProtection = function(wp) { - if (!wp.passwordProtection) { - // Show password protection modal - $('#Passwordprotection').modal('show'); - $scope.currentWP = wp; - } else { - // Disable password protection - $scope.updateSetting(wp, 'password-protection', 0); - } - }; - - $scope.enablePasswordProtection = function() { - if (!$scope.PPUsername || !$scope.PPPassword) { - new PNotify({ - title: 'Error!', - text: 'Username and password are required.', - type: 'error' - }); - return; - } - - $scope.updateSetting($scope.currentWP, 'password-protection', 1); - $('#Passwordprotection').modal('hide'); - }; - - $scope.updateSetting = function(wp, setting, value) { - var data = { - WPid: wp.id, - setting: setting, - value: value - }; - - if (setting === 'password-protection' && value === 1) { - data.PPUsername = $scope.PPUsername; - data.PPPassword = $scope.PPPassword; - } - - var config = { - headers: { - 'X-CSRFToken': getCookie('csrftoken') - } - }; - - $http.post('/websites/UpdateWPSettings', data, config).then(function(response) { - if (response.data.status === 1) { - new PNotify({ - title: 'Success!', - text: 'Setting updated successfully.', - type: 'success' - }); - if (setting === 'password-protection') { - wp.passwordProtection = value; - // Reset form - $scope.PPUsername = ''; - $scope.PPPassword = ''; - $scope.currentWP = null; - } - } else { - new PNotify({ - title: 'Error!', - text: response.data.error_message, - type: 'error' - }); } }, function(error) { + $('#wordpresshomeloading').hide(); new PNotify({ - title: 'Error!', - text: 'An error occurred while updating the setting.', + title: 'Operation Failed!', + text: 'Could not connect to server, please refresh this page', type: 'error' }); - console.error(error); }); }; + $scope.togglePasswordProtection = function(wp) { + if (wp.passwordProtection) { + // Show modal or form to collect username/password + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $('#passwordProtectionModal').modal('show'); + } else { + // Disable password protection + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $scope.UpdateWPSettings(wp); + } + }; + $scope.cyberPanelLoading = true; $scope.issueSSL = function (virtualHost) { @@ -16482,6 +10234,82 @@ app.controller('manageAliasController', function ($scope, $http, $timeout, $wind }); }; + $scope.UpdateWPSettings = function(wp) { + $('#wordpresshomeloading').show(); + + var url = "/websites/UpdateWPSettings"; + var data = {}; + + if (wp.setting === "PasswordProtection") { + data = { + wpID: wp.id, + setting: wp.setting, + PPUsername: wp.PPUsername, + PPPassword: wp.PPPassword + }; + } + + var config = { + headers: { + 'X-CSRFToken': getCookie('csrftoken'), + 'Content-Type': 'application/x-www-form-urlencoded' + }, + transformRequest: function(obj) { + var str = []; + for(var p in obj) + str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); + return str.join("&"); + } + }; + + $http.post(url, data, config).then(function(response) { + $('#wordpresshomeloading').hide(); + + if (response.data.status === 1) { + new PNotify({ + title: 'Success!', + text: 'Successfully Updated!', + type: 'success' + }); + if (wp.setting === "PasswordProtection") { + location.reload(); + } + } else { + new PNotify({ + title: 'Operation Failed!', + text: response.data.error_message, + type: 'error' + }); + if (wp.setting === "PasswordProtection") { + location.reload(); + } + } + }, function(error) { + $('#wordpresshomeloading').hide(); + new PNotify({ + title: 'Operation Failed!', + text: 'Could not connect to server, please refresh this page', + type: 'error' + }); + }); + }; + + $scope.togglePasswordProtection = function(wp) { + if (wp.passwordProtection) { + // Show modal or form to collect username/password + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $('#passwordProtectionModal').modal('show'); + } else { + // Disable password protection + wp.setting = "PasswordProtection"; + wp.PPUsername = ""; + wp.PPPassword = ""; + $scope.UpdateWPSettings(wp); + } + }; + $scope.visitSite = function(url) { window.open(url, '_blank'); };