mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-03-21 03:21:30 +01:00
Add notification center button and fix stat-card/activity board loading
This commit is contained in:
107
static/websiteFunctions/wpBackupFunctions.js
Normal file
107
static/websiteFunctions/wpBackupFunctions.js
Normal file
@@ -0,0 +1,107 @@
|
||||
// WordPress Backup and Staging Functions Extension
|
||||
// Simple fixes for backup and staging functionality
|
||||
|
||||
$(document).ready(function() {
|
||||
// Override getCreationStatus to show progress
|
||||
if (typeof window.getCreationStatus === 'undefined') {
|
||||
window.getCreationStatus = function() {
|
||||
var url = "/websites/installWordpressStatus";
|
||||
var data = {
|
||||
statusFile: window.statusFile
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: url,
|
||||
data: JSON.stringify(data),
|
||||
contentType: 'application/json',
|
||||
headers: {
|
||||
'X-CSRFToken': getCookie('csrftoken')
|
||||
},
|
||||
success: function(response) {
|
||||
if (response.abort === 1) {
|
||||
// Operation complete
|
||||
$('#wordpresshomeloading').hide();
|
||||
$('#createBackupBtn').prop('disabled', false).html('<i class="fas fa-download"></i> Create Backup');
|
||||
$('button[ng-click="CreateStagingNow()"]')
|
||||
.prop('disabled', false).html('<i class="fas fa-clone"></i> Create Staging Site');
|
||||
|
||||
// Hide progress bar, show success/error
|
||||
if (response.installStatus === 1) {
|
||||
if (window.statusFile && window.statusFile.includes('backup')) {
|
||||
$('#backupStatus').html('<span style="color: #10b981;">✓ Backup created successfully!</span>');
|
||||
// Show new progress section as success
|
||||
$('#backupProgressSection').show();
|
||||
$('#backupStatusMessage').show();
|
||||
$('#backupCurrentStatus').text('Backup successfully created.');
|
||||
$('#backupProgressBar').css('width', '100%').attr('aria-valuenow', 100);
|
||||
$('#backupProgressPercent').text('100%');
|
||||
$('#backupErrorBox').hide();
|
||||
$('#backupSuccessBox').show();
|
||||
} else {
|
||||
$('#stagingStatus').html('<span style="color: #10b981;">✓ Staging site created successfully!</span>');
|
||||
var scope = angular.element($('[ng-controller="WPsiteHome"]')).scope();
|
||||
if (scope && scope.fetchstaging) {
|
||||
scope.$apply(function() {
|
||||
scope.fetchstaging();
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var errorMsg = response.error_message || 'Operation failed';
|
||||
if (window.statusFile && window.statusFile.includes('backup')) {
|
||||
$('#backupStatus').html('<span style="color: #ef4444;">✗ ' + errorMsg + '</span>');
|
||||
// Show error in new progress section
|
||||
$('#backupProgressSection').show();
|
||||
$('#backupStatusMessage').hide();
|
||||
$('#backupProgressBar').css('width', '0%').attr('aria-valuenow', 0);
|
||||
$('#backupProgressPercent').text('0%');
|
||||
$('#backupErrorBox').show();
|
||||
$('#backupErrorMessage').text(errorMsg);
|
||||
$('#backupSuccessBox').hide();
|
||||
} else {
|
||||
$('#stagingStatus').html('<span style="color: #ef4444;">✗ ' + errorMsg + '</span>');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Still in progress
|
||||
var status = response.currentStatus || 'Processing...';
|
||||
var progress = response.installationProgress || 0;
|
||||
var statusHtml = '<i class="fas fa-spinner fa-pulse"></i> ' + status + ' (' + progress + '%)';
|
||||
if (window.statusFile && window.statusFile.includes('backup')) {
|
||||
$('#backupStatus').html(statusHtml);
|
||||
// Show and update progress bar
|
||||
$('#backupProgressSection').show();
|
||||
$('#backupStatusMessage').show();
|
||||
$('#backupCurrentStatus').text(status);
|
||||
$('#backupProgressBar').css('width', progress + '%').attr('aria-valuenow', progress);
|
||||
$('#backupProgressPercent').text(progress + '%');
|
||||
$('#backupErrorBox').hide();
|
||||
$('#backupSuccessBox').hide();
|
||||
} else {
|
||||
$('#stagingStatus').html(statusHtml);
|
||||
}
|
||||
setTimeout(window.getCreationStatus, 1000);
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
$('#wordpresshomeloading').hide();
|
||||
$('#createBackupBtn').prop('disabled', false).html('<i class="fas fa-download"></i> Create Backup');
|
||||
$('button[ng-click="CreateStagingNow()"]')
|
||||
.prop('disabled', false).html('<i class="fas fa-clone"></i> Create Staging Site');
|
||||
// Show error in progress section if backup
|
||||
if (window.statusFile && window.statusFile.includes('backup')) {
|
||||
$('#backupProgressSection').show();
|
||||
$('#backupStatusMessage').hide();
|
||||
$('#backupProgressBar').css('width', '0%').attr('aria-valuenow', 0);
|
||||
$('#backupProgressPercent').text('0%');
|
||||
$('#backupErrorBox').show();
|
||||
$('#backupErrorMessage').text('Error loading backup status.');
|
||||
$('#backupSuccessBox').hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user