File: D:/HostingSpaces/PvdBoogaard/indoorski.nl/backup/oude-site/cms/javascript/admin.importer.js
/**
* This object handles all the javascript related functions for the
* website importer in the control panel
*/
var AdminImporter = {
contentTypeOptions: '',
RunAllList: new Array(),
appName: '',
TasksAlreadyRun: new Array(),
SelectContentType: new Array(),
isRunningAllTasks: false,
changeImporter: function () {
if($('#ImportSoftware').selectedValues() == 'iwp45'){
$('#iwp45Configure').show();
}
},
checkMessage: function (errorType, errorText){
if(errorType == ''){
return;
}
if(errorType == 'success'){
$('#MainMessage').successMessage(errorText);
}
if(errorType == 'error'){
$('#MainMessage').errorMessage(errorText);
}
},
cancelImport: function (){
window.location = 'index.php?section=importer&action=cancel';
},
cancelImportCheck: function (){
$.getJSON('remote.php?section=importer&action=checkCanCancelFromTasks',
function(data){
if(data.canCancel){
window.location = 'index.php?section=importer&action=cancel';
}else{
$('#MainMessage').errorMessage(data.message);
}
}
);
},
checkDisclaimerForm: function()
{
if($('#importerForm :checkbox[checked!=checked]').exists()) {
return false;
}
return true;
},
checkSelectImporterForm: function () {
if($('#ImportSoftware').selectedValues() == '')
{
alert(iwp.lang.get('selectWebsiteSoftware'));
return false;
}
try
{
validator = $('#ImportSoftware').selectedValues() + 'CheckForm';
func = eval(validator+'();');
if(func == false) return false;
}
catch(e)
{
}
if($('#DeleteAll:checked').exists() == true && !confirm(iwp.lang.get('confirmRemoveAllContent'))) {
return false;
}
},
RunImportModule: function(appName, taskName, askForContentType, dependencies){
if(typeof(dependencies) != 'undefined'){
// we need to check the dependencies before this task can run
for(i in dependencies){
if(!in_array(dependencies[i], AdminImporter.TasksAlreadyRun)){
var alsoImport = '';
for(x in dependencies){
alsoImport = alsoImport + "\r\n - " + dependencies[x].substr(0, 1).toUpperCase() + dependencies[x].substr(1);
}
alert(iwp.lang.get('taskHasDependantTasks').replace('%taskName%', taskName).replace('%alsoImport%', alsoImport));
return;
}
}
}
if(typeof(askForContentType) == 'undefined' || askForContentType != true || $(AdminImporter.contentTypeOptions).find('option').size() < 2){
AdminImporter.RunTask(appName, taskName);
return;
}
var contentTypeOptions = AdminImporter.contentTypeOptions.replace('{typename}', taskName.substr(0, 1).toUpperCase() + taskName.substr(1));
var SelectContentTypeButtons = '<input type="button" value="Skip '+ taskName.substr(0, 1).toUpperCase() + taskName.substr(1) + '" style="width: 75px;" class="Button" onclick=\'AdminImporter.skipImportTask("' + taskName + '");\' /> <input type="button" value="' + iwp.lang.get('continueRaquo') + '" style="width: 75px;" class="Button" onclick=\'AdminImporter.RunTask("' + appName + '", "' + taskName + '", $("#selectContentType").selectedValues());\' />';
AdminImporter.modalWindow = $.fn.window.create({
width : 500,
title : 'Import ' + taskName.substr(0, 1).toUpperCase() + taskName.substr(1),
content : iwp.lang.get('selectContentTypeToImportInto').replace('%taskName%', taskName) + '<br /> <br />' + contentTypeOptions,
autoOpen : true
});
// if any of the close buttons are pressed, cancel the block move
AdminImporter.modalWindow.buttons(SelectContentTypeButtons).jQuery().find('.modalClose, .modalCloseAction').unbind('click').bind('click', function() {
AdminImporter.modalWindow.close();
});
if(taskName == 'articles') {
$('#selectContentType option[text="Articles"]').attr('selected', 'selected');
}else if(taskName == 'blogs') {
$('#selectContentType option[text="Blogs"]').attr('selected', 'selected');
}else if(taskName == 'news') {
$('#selectContentType option[text="News"]').attr('selected', 'selected');
}else if(taskName == 'pages') {
$('#selectContentType option[text="Web Pages"]').attr('selected', 'selected');
}
return;
},
modalWindow: {},
RunTask: function(appName, taskName, contentType){
if(typeof(contentType) == 'undefined' || contentType == false){
var contentType = '&contenttype=0';
}else{
AdminImporter.modalWindow.close();
var contentType = '&contenttype='+contentType;
}
AdminImporter.modalWindow = $.fn.window.create({
width : 500,
title : iwp.lang.get('importInProgress'),
content : $('#ProgressWindow').html(),
autoOpen : true
});
$('#progressiframe').remove();
$('<iframe></iframe>').attr('id', 'progressiframe').appendTo('body').hide();
$('#progressiframe').attr('src', 'index.php?section=importer&action=runtask&task=' + taskName + '&appName=' + appName + contentType);
},
updateProgressBar: function(percent){
$('.progressBarPercentage').css('width', parseInt(percent, 10) + "%");
$('.progressPercent').html(percent+ "%");
},
progressError: function(message){
AdminImporter.modalWindow.close();
$('#MainMessage').errorMessage(message);
},
skipImportTask: function(taskName) {
AdminImporter.modalWindow.close();
if(AdminImporter.isRunningAllTasks){
AdminImporter.modalWindow.close();
AdminImporter.updateProgressBar(0);
AdminImporter.TasksAlreadyRun.push(taskName);
AdminImporter.RunAllTasks(taskName);
}
},
finishImportTask: function(message, type, taskName, dateFinished){
AdminImporter.modalWindow.close();
AdminImporter.updateProgressBar(0);
if(type == 'success'){
AdminImporter.TasksAlreadyRun.push(taskName);
$('#MainMessage').successMessage(message);
$('#'+taskName+'_status').html('<span style="color: green; font-weight: bold;">' + iwp.lang.get('importSuccess') + '</span>');
}else if(type == 'warning'){
$('#MainMessage').warningMessage(message);
AdminImporter.TasksAlreadyRun.push(taskName);
$('#'+taskName+'_status').html('<span style="color: orange; font-weight: bold;">' + iwp.lang.get('importPartialSuccess') + '</span>');
}else if(type == 'error'){
$('#MainMessage').errorMessage(message);
$('#'+taskName+'_status').html('<span style="color: red; font-weight: bold;">' + iwp.lang.get('importFailed') + '</span>');
}
$('#'+taskName+'_viewreport').removeClass('Disabled').html('<a href="#" onClick="AdminImporter.ShowReport(\'' + taskName + '\');">'+ $('#'+taskName+'_viewreport').text() +'</a>');
$('#'+taskName+'_rollback').removeClass('Disabled').html('<a href="#" onClick="AdminImporter.RollBackTask(\'' + taskName + '\');">'+ $('#'+taskName+'_rollback').text() +'</a>');
$('#'+taskName+'_gridrow').addClass('QuickView');
$('#'+taskName+'_daterun').html(dateFinished);
if(AdminImporter.isRunningAllTasks){
AdminImporter.RunAllTasks(taskName);
}
},
ShowReport: function(taskName) {
AdminImporter.modalWindow = $.fn.window.create({
width : 500,
title : 'View Report',
autoOpen : true,
uri: 'remote.php?section=importer&action=getreport&report='+taskName
});
},
RollBackTask: function(taskName) {
iwp.showLoadingIndicator();
window.location = 'index.php?section=importer&action=rollbacktask&task='+taskName;
},
ShowImportParts: function(){
$('#ImportModules').show();
$('.next_button').hide();
$('.finish_button').show();
},
ShowImportAll: function(){
$('#ImportModules').hide();
$('.next_button').show();
$('.finish_button').hide();
},
FinishImporting: function(){
window.location = 'index.php?section=importer&action=finishimport';
},
RunAllTasks: function(completedTask){
AdminImporter.isRunningAllTasks = true;
var runNext = false;
if(typeof(completedTask) == 'undefined'){
// first time this function has been run
runNext = true;
}
for(i in AdminImporter.RunAllList){
if(runNext){
AdminImporter.RunImportModule(AdminImporter.appName, AdminImporter.RunAllList[i], in_array(AdminImporter.RunAllList[i], AdminImporter.SelectContentType));
return;
}
if(AdminImporter.RunAllList[i] == completedTask){
runNext = true;
}
}
// if we make it down here, we can assume all tasks have been run!
AdminImporter.isRunningAllTasks = false;
AdminImporter.ShowImportParts();
$('#ImportOptionsTable').hide();
$('#BottomButtons').hide();
$('#TaskMessageBox').hide();
$('#MainMessage').successMessage(iwp.lang.get('importProcessFinishedSuccessfully'));
}
}