You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mods-for-HESK-Netsyms/install/mods-for-hesk/js/version-scripts.js

105 lines
3.1 KiB
JavaScript

function processUpdates(startingVersion) {
if (startingVersion < 1) {
startVersionUpgrade('p140');
executeUpdate(1, 'p140');
} else if (startingVersion < 140) {
startVersionUpgrade('140');
executeUpdate(140, '140');
} else if (startingVersion < 141) {
startVersionUpgrade('141');
executeUpdate(141, '141');
} else if (startingVersion < 150) {
startVersionUpgrade('150');
executeUpdate(150, '150');
} else if (startingVersion < 160) {
startVersionUpgrade('160');
executeUpdate(160, '160');
} else if (startingVersion < 161) {
startVersionUpgrade('161');
executeUpdate(161, '161');
} else if (startingVersion < 170) {
startVersionUpgrade('170');
executeUpdate(170, '170');
} else if (startingVersion < 200) {
startVersionUpgrade('200');
executeUpdate(200, '200');
} else if (startingVersion < 201) {
startVersionUpgrade('201');
executeUpdate(201, '201');
} else {
installationFinished();
}
}
function executeUpdate(version, cssclass) {
$.ajax({
type: 'POST',
url: 'ajax/database-ajax.php',
data: { version: version },
success: function(data) {
markUpdateAsSuccess(cssclass);
if (version == 200) {
migrateIpEmailBans('banmigrate', cssclass);
}
processUpdates(version);
},
error: function(data) {
appendToInstallConsole('ERROR: ' + data.responseText);
markUpdateAsFailure(cssclass);
}
});
}
function migrateIpEmailBans(version, cssclass) {
startVersionUpgrade(version);
$.ajax({
type: 'POST',
url: 'ajax/task-ajax.php',
data: { task: 'ip-email-bans' },
success: function(data) {
var parsedData = $.parseJSON(data);
console.info(parsedData);
if (parsedData.status == 'ATTENTION') {
markUpdateAsAttention(version);
prepareAttentionPanel(getContentForMigratePrompt(parsedData.users));
} else {
migrateComplete();
}
},
error: function(data) {
appendToInstallConsole('ERROR: ' + data.responseText);
markUpdateAsFailure(cssclass);
}
});
}
function runMigration() {
// Get user ID that is selected
var userId = $('#user-dropdown').val();
// Hide the div, switch back to in progress
$('#attention-row').hide();
startVersionUpgrade('banmigrate');
$.ajax({
type: 'POST',
url: 'ajax/task-ajax.php',
data: { task: 'migrate-bans', user: userId },
success: function(data) {
migrateComplete();
},
error: function(data) {
appendToInstallConsole('ERROR: ' + data.responseText);
markUpdateAsFailure('banmigrate');
}
})
}
function migrateComplete() {
$('#attention-row').hide();
markUpdateAsSuccess('banmigrate');
processUpdates(200);
}
jQuery(document).ready(loadJquery);