| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- /**
- * JS file for UpgradeMODX extra
- *
- * Copyright 2018 by Bob Ray <https://bobsguides.com>
- * Created on 07-19-2018
- *
- * UpgradeMODX is free software; you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option) any later
- * version.
- *
- * UpgradeMODX is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * UpgradeMODX; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place, Suite 330, Boston, MA 02111-1307 USA
- * @package upgradeMODX
- */
- /* Set background color of selected version */
- var checkedBackground = '#f0f0f0';
- // var originalBackground = $('label').css("background-color");
- var originalBackground = 'transparent';
- $('input[type="radio"]:checked').parent().css("background", checkedBackground);
- $("label > input").change(function () {
- if ($(this).is(":checked")) {
- $(this).parent().css("background", checkedBackground);
- $('input[type="radio"]:not(:checked)').parent().css("background", originalBackground);
- // console.log("Value: " + $('input[type="radio"]:checked').val());
- }
- });
- $(document).ajaxError(function (event, request, settings) {
- $(alert("Error requesting page " + settings.url));
- });
- var bttn = document.getElementById('ugm_submit_button');
- var old = '';
- new ProgressButton(bttn, {
- callback: function (instance) {
- //alert("Clicked");
- var button_text = document.getElementById('button_content');
- var progress = 0;
- var selectedVersion = 'modx-' + $("input:radio[name='modx']:checked").val() + '.zip';
- var updateText = function (button_text, msg) {
- if ('textContent' in button_text) {
- button_text.textContent = msg;
- } else {
- button_text.innerText = msg;
- }
- };
- var process = function () {
- if (progress === 0) {
- // console.log("progress is zero");
- updateText(button_text, 'Downloading Files');
- progress = 0.1;
- instance._setProgress(progress);
- var maxProgress = 0.3;
- var progressInterval = setInterval(function () {
- if (progress < 1.0 && progress < maxProgress) {
- progress += 0.01;
- instance._setProgress(progress);
- if (progress >= 1) {
- clearInterval(progressInterval);
- }
- }
- }, 1000);
- $.ajax({
- cache: false,
- type: 'GET',
- // url: 'http://localhost/addons/assets/mycomponents/upgrademodx/assets/components/upgrademodx/connector.php',
- url: ugmConnectorUrl,
- data: {
- 'action': 'downloadfiles',
- 'props': ugm_config,
- 'version': selectedVersion
- },
- success: function (data) {
- if (data.success === true) {
- updateText(button_text, data.message);
- // alert("Got success return from downloadfiles");
- progress = 0.3;
- maxProgress = 0.6;
- instance._setProgress(progress);
- /* Run next processor */
- // console.log(ugm_config);
- $.ajax({
- type: 'GET',
- url: ugmConnectorUrl,
- data: {
- 'action': 'unzipfiles',
- 'props': ugm_config,
- 'version': selectedVersion
- },
- success: function (data) {
- if (data.success === true) {
- updateText(button_text, data.message);
- // alert("Got success return from unzipfiles");
- progress = 0.6;
- maxProgress = 0.8;
- instance._setProgress(progress);
- /* Run next processor */
- $.ajax({
- type: 'GET',
- url: ugmConnectorUrl,
- data: {
- 'action': 'copyfiles',
- 'props': ugm_config,
- 'version': selectedVersion
- },
- success: function (data) {
- if (data.success === true) {
- updateText(button_text, data.message);
- // alert("Got success return from copyfiles");
- progress = 0.8;
- maxProgress = 0.85;
- instance._setProgress(progress);
- /* Run next processor */
- $.ajax({
- type: 'GET',
- url: ugmConnectorUrl,
- data: {
- 'action': 'preparesetup',
- 'props': ugm_config,
- 'version': selectedVersion
- },
- success: function (data) {
- if (data.success === true) {
- updateText(button_text, data.message);
- // alert("Got success return from copyfiles");
- progress = 0.85;
- maxProgress = 0.98;
- instance._setProgress(progress);
- /* Run next processor */
- $.ajax({
- type: 'GET',
- url: ugmConnectorUrl,
- data: {
- 'action': 'cleanup',
- 'props': ugm_config,
- 'version': selectedVersion
- },
- success: function (data) {
- if (data.success === true) {
- updateText(button_text, data.message);
- // alert("Got success return from preparesetup");
- progress = 1;
- instance._setProgress(progress);
- instance._stop(1);
- } else {
- displayError(data.message, progressInterval, instance);
- }
- clearInterval(progressInterval);
- //console.log(ugm_setup_url);
- setTimeout(function () {
- window.location.replace(ugm_setup_url);
- }, 1500);
- },
- dataType: 'json'
- });
- } else {
- displayError(data.message, progressInterval, instance);
- }
- // clearInterval(progressInterval);
- // window.location.replace(ugm_setup_url);
- },
- dataType: 'json'
- });
- } else {
- displayError(data.message, progressInterval, instance);
- }
- // console.log(data.message);
- },
- dataType: 'json'
- });
- } else {
- displayError(data.message, progressInterval, instance);
- }
- //console.log(data.message);
- },
- dataType: 'json'
- });
- } else {
- displayError(data.message, progressInterval, instance);
- console.log(data.message);
- }
- },
- dataType: 'json'
- });
- }
- progress = Math.min(progress, 1);
- if (progress === 1) {
- setTimeout(function () {
- instance._stop(1);
- clearInterval(interval);
- }, 1000);
- }
- instance._setProgress(progress);
- if (progress === 1) {
- setTimeout(function () {
- instance._stop(1);
- // clearInterval(interval);
- }, 500);
- }
- };
- process();
- }
- });
- function displayError($msg, progressInterval, instance) {
- clearInterval(progressInterval);
- instance._stop(1);
- $("#ugm_submit_button").fadeOut(400, function () {
- $(this).html($msg).fadeIn();
- });
- // bttn.innerHTML = $msg;
- }
|