<?php
/*WP Ajax Edit Script
--Created by Ronald Huereca/Keith Dsouza
--Created on: 07/14/2007
--Last modified on: 07/14/2007
--Relies on jQuery
*/
require_once("../../../../wp-config.php");
?>
jQuery(document).ready(function(){
wpauAutomaticUpgrade.init();
});
var wpauAutomaticUpgrade = function() {
var $j = jQuery;
var PluginUrl = "<?php bloginfo('wpurl') ?>/wp-content/plugins/wordpress-automatic-upgrade";
var BackupUrl = "<?php bloginfo('wpurl') ?>/wpau-backup/";
var FileBakName = "wpau-files-bak.zip";
var DbBakName = "wpau-db-backup.zip";
var statusBar = $j("#wpau-status-bar");
var statusMessage = $j("#wpau-status-message");
var status = 0;
function linkSetup() {
$j("#wpau-automated").bind("click", function() { step1(); return false; });
}
//Number to set the status bar to (0-100)
function setStatus(number) {
$j("#wpau-status-bar").css({height: "10px", border: "1px solid #000", width: "70%"});
$j("#wpau-status-bar-indicator").css({float: "left", height: "100%", background: "#191970", width: number + "%"});
}
function setStatusBar(msg) {
$j("#wpau-status-message").html("<p>" + msg + "</p>");
}
function setFileDownload() {
//$j("#wpau-file-download").html("<p><a href='" + BackupUrl + FileBakName + "'>СКАЧАТЬ</a> резервную копию сайта.</p>");
}
function showUpgradeLink() {
//$j("#wpau-update-db").html("<p>Не забудьте <a href='<?php bloginfo('wpurl') ?>/wp-admin/upgrade.php' target='_blank'>ОБНОВИТЬ БД</a></p>");
}
function setDbDownload() {
//$j("#wpau-db-download").html("<p><a href='" + BackupUrl + DbBakName + "'>СКАЧАТЬ</a> резервную копию БД</p>");
}
function step1() {
msg = "<strong>Текущий шаг</strong> ->создание резервной копии сайта";
setStatusBar(msg);
setStatus(0);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 30000,
data: {
task: 1},
success: function(msg) { step1Complete(msg); },
error: function(msg) { step1Failure(msg); }
})
}
function step1Complete(msg) { //WordPress files backup
if (msg == "true") {
msg = "Резервная копия сайта сделана. <br /><strong>Текущий шаг</strong> -> Создание резервной копии БД";
setStatusBar(msg);
setStatus(10);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 30000,
data: {
task: 2},
success: function(msg) { step2Complete(msg); },
error: function(msg) { step2Failure(msg); }
})
} else {
msg = "Не могу создать резервную копию сайт. Ошибка на шаге 1.";
setStatusBar(msg);
}
}
function step1Failure(msg) {
alert("Ошибка на Шаге 1");
}
function step2Complete(msg) { //database backup
if (msg == "true") {
msg = "Резервная копия БД успешно создана. <br /><strong>Текущий шаг</strong> -> Скачиваем свежую версию WordPress. Потерпите, это может занять от 15 до 300 секунд.";
setFileDownload();
setStatusBar(msg);
setStatus(20);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 300000,
data: {
task: 3},
success: function(msg) { step3Complete(msg); },
error: function(msg) { step3Failure(msg); }
});
//setStatusBar("");
} else {
msg = "Не могу создать резервную копию БД. Ошибка на шаге 2.";
setStatusBar(msg);
}
}
function step2Failure(msg) {
alert("Ошибка на шаге 2");
}
function step3Complete(msg) { //wp download
if (msg == "true") {
msg = "Удачно загрузили и распаковали свежую версию WordPress. <br /><strong>Текущий шаг</strong> -> Деактивация всех плагинов";
setDbDownload();
setStatusBar(msg);
setStatus(30);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 15000,
data: {
task: 4},
success: function(msg) { step4Complete(msg); },
error: function(msg) { step4Failure(msg); }
})
} else {
msg = "Не могу получить свежую версию WordPress. Ошибка на шаге 3.";
setStatusBar(msg);
}
}
function step3Failure(msg) {
alert("Ошибка на шаге 3");
}
function step4Complete(msg) { //WordPress plugin deactivation
if (msg == "true") {
msg = "Все плагины удачно деактиврованы. <br /><strong>Текущий шаг</strong> -> Переход сайта в режим обновления.";
setStatusBar(msg);
} else {
msg = "Не могу деактивировать все плагины. Ошибка на шаге 4.";
setStatusBar(msg);
}
setStatus(40);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 15000,
data: {
task: 5},
success: function(msg) { step5Complete(msg); },
error: function(msg) { step5Failure(msg); }
})
}
function step4Failure(msg) {
alert("Ошибка на шаге 4");
}
function step5Complete(msg) { //wp maintenance mode
if (msg == "true") {
msg = "Сайт переведен в режим обновления. <br /><strong>Текущий шаг</strong> -> Обновление всех необходимых файлов.";
setStatusBar(msg);
setStatus(50);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 300000,
data: {
task: 6},
success: function(msg) { step6Complete(msg); },
error: function(msg) { step6Failure(msg); }
})
} else {
msg = "Не могу перевести сайт в режим обновления.";
setStatusBar(msg);
}
}
function step5Failure(msg) {
alert("Ошибка на шаге 5");
}
function step6Complete(msg) { //Upgrading Your files
if (msg == "true") {
msg = "Обновление файлов прошло успешно. <br /><strong>Текущий шаг</strong> -> Активация всех Ваших плагинов";
showUpgradeLink();
setStatusBar(msg);
setStatus(80);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 180000,
data: {
task: 7},
success: function(msg) { step7Complete(msg); },
error: function(msg) { step7Failure(msg); }
})
} else {
msg = "Не могу обновить файлы.";
setStatusBar(msg);
}
}
function step6Failure(msg) {
alert("Ошибка на шаге 6");
}
function step7Complete(msg) { //Show Log
setStatusBar(msg);
setStatus(100);
}
function step7Failure(msg) {
alert("Ошибка на шаге 8");
}
function step7oldComplete(msg) {
if (msg == "true") {
msg = "Успешно активировали все плагины. <br /><strong>Текущий шаг</strong> -> Отображение истории обновления.";
setStatusBar(msg);
setStatus(80);
$j.ajax({
type: "post",
url: PluginUrl + '/js/wp-wpau.php',
timeout: 15000,
data: {
task: 8},
success: function(msg) { step8Complete(msg); },
error: function(msg) { step8Failure(msg); }
})
} else {
msg = "Не могу обновить БД.";
setStatusBar(msg);
}
}
function step7Failure(msg) {
alert("Step 7 Failed");
}
function step8Complete(msg) { //Show Log
setStatusBar(msg);
setStatus(100);
}
function step8Failure(msg) {
alert("Step 9 Failed");
}
return {
init : function() { //AKA the constructor - Plugin authors can tap into the plugin by calling AjaxEditComments.init()
linkSetup();
}
};
}();