View file wordpress/wp-content/plugins/wordpress-automatic-upgrade/js/wp-wpau.js.php

File size: 7.82Kb
<?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();
			}
	};

}();