bebeboutik/modules/shopimporter/shopimporter.js

911 lines
35 KiB
JavaScript
Raw Normal View History

2016-01-04 12:49:26 +01:00
var shopImporter = {
token: globalAjaxShopImporterToken,
moduleName: $('#import_module_name').val(),
server: $('#server').val(),
user: $('#user').val(),
password: $('#password').val(),
database: $('#database').val(),
prefix: $('#prefix').val(),
url: $('#url').val(),
loginws: $('#loginws').val(),
apikey: $('#apikey').val(),
specificOptions : '',
imagesOptions : '',
output : 1,
hasErrors : 0,
limit: 0,
nbr_import: parseInt($('#nbr_import').val()),
idMethod: 0,
nbrMethod: 0,
save : 0,
srcError : '../modules/shopimporter/img/error.png',
srcConf : '../modules/shopimporter/img/ok.png',
srcImport : '../modules/shopimporter/img/ajax-loader.gif',
srcWarn : '../modules/shopimporter/img/warn.png',
srcDelete : '../modules/shopimporter/img/delete.gif',
syncLangWS : function (onComplete)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&syncLangWS&getMethod=getLangagues&token='+this.token+'&className=Language&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&nbr_import='+this.nbr_import ,
success: function (jsonData)
{
if (jsonData.hasError)
{
$('#steps').html('<div id="lang_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');
$('#lang_feedback').fadeIn('slow');
onComplete(false);
}
else
onComplete(true);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
onComplete(false);
}
});
},
syncLang : function (onComplete)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&syncLang&getMethod=getLangagues&token='+this.token+'&className=Language&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+this.specificOptions+'&nbr_import='+this.nbr_import ,
success: function (jsonData)
{
if (jsonData.hasError)
{
$('#steps').html('<div id="lang_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');
$('#lang_feedback').fadeIn('slow');
onComplete(false);
}
else
onComplete(true);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
onComplete(false);
}
});
},
syncCurrencyWS : function (onComplete)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&syncCurrencyWS&getMethod=getCurrencies&className=Currency&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&nbr_import='+this.nbr_import ,
success: function (jsonData)
{
if (jsonData.hasError)
{
$('#steps').html('<div id=\'currency_feedback\' style=\'display:none;\' class=\'error\'><img src=\''+shopImporter.srcError+'\'>'+jsonData.error+'</div>');
$('#currency_feedback').fadeIn('slow');
onComplete(false);
}
else
onComplete(true);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
onComplete(false);
}
});
},
syncCurrency : function (onComplete)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&syncCurrency&getMethod=getCurrencies&className=Currency&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+this.specificOptions+'&nbr_import='+this.nbr_import ,
success: function (jsonData)
{
if (jsonData.hasError)
{
$('#steps').html('<div id="currency_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');
$('#currency_feedback').fadeIn('slow');
onComplete(false);
}
else
onComplete(true);
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
onComplete(false);
}
});
},
checkAndSaveConfigWSDL : function (onComplete)
{
$('#checkAndSaveConfig').fadeOut('slow');
$('#steps').html($('#steps').html()+'<div id=\'database_feedback\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+wsOk+'</div>');
$('#steps').html($('#steps').html()+'<input style=\'display:none\' type=\'submit\' name=\'next\' id=\'next\' class=\'button\' value="'+testImport+'">');
$('#next').fadeIn('slow', function () {
$('#next').unbind('click').click(function (){
$('#next').fadeOut('fast', function () {
shopImporter.nbrMethod = conf.length;
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
});
return false;
});
});
$('#database_feedback').fadeIn('slow');
},
checkAndSaveConfigWS : function (save)
{
//sync languages and currency
this.syncLangWS(function (isOk) {
if (isOk)
{
shopImporter.syncCurrencyWS(function (isOk) {
if ($('#technical_error_feedback').length)
$('#technical_error_feedback').fadeIn('slow');
$('#checkAndSaveConfig').fadeOut('slow');
$('#steps').html($('#steps').html()+'<div id=\'database_feedback\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+databaseOk+'</div>');
$('#steps').html($('#steps').html()+'<input style=\'display:none\' type=\'submit\' name=\'next\' id=\'next\' class=\'button\' value="'+testImport+'">');
$('#database_feedback').fadeIn('slow', function () {
if (save)
{
shopImporter.idMethod = 0;
shopImporter.limit = 0;
shopImporter.nbrMethod = conf.length;
$('.truncateTable:checked').each(function (){
shopImporter.truncatTable(this.id, 'add');
});
if($('#truncat_feedback').length != 0)
$('#truncat_feedback').removeClass('import').addClass('conf');
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
}
else
{
$('#next').fadeIn('slow', function () {
$('#next').unbind('click').click(function (){
$('#next').fadeOut('fast', function () {
shopImporter.nbrMethod = conf.length;
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
});
});
});
}
});
});
}
});
},
checkAndSaveConfig : function (save)
{
//sync languages and currency
this.syncLang(function (isOk) {
if (isOk)
{
shopImporter.syncCurrency(function (isOk) {
if (isOk)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: true,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&checkAndSaveConfig&moduleName='+shopImporter.moduleName+'&server='+shopImporter.server+'&user='+shopImporter.user+'&password='+shopImporter.password+'&database='+shopImporter.database+'&prefix='+prefix+shopImporter.specificOptions+'&nbr_import='+shopImporter.nbr_import ,
success: function (jsonData)
{
if ($('#technical_error_feedback').length)
$('#technical_error_feedback').fadeIn('slow');
if (!jsonData.hasError)
{
$('#checkAndSaveConfig').fadeOut('slow');
$('#steps').html($('#steps').html()+'<div id="database_feedback" style="display:none;" class="conf"><img src="'+shopImporter.srcConf+'">'+databaseOk+'</div>');
$('#steps').html($('#steps').html()+'<input style="display:none" type="submit" name="next" id="next" class="button" value="'+testImport+'">');
$('#database_feedback').fadeIn('slow', function () {
if (save)
{
shopImporter.idMethod = 0;
shopImporter.limit = 0;
shopImporter.nbrMethod = conf.length;
$('.truncateTable:checked').each(function (){
shopImporter.truncatTable(this.id, 'add');
});
if($('#truncat_feedback').length != 0)
$('#truncat_feedback').removeClass('import').addClass('conf');
shopImporter.getDatas(conf[shopImporter.idMethod]);
}
else
{
$('#next').fadeIn('slow', function () {
$('#next').unbind('click').click(function (){
$('#next').fadeOut('fast', function () {
shopImporter.nbrMethod = conf.length;
shopImporter.getDatas(conf[shopImporter.idMethod]);
});
return false;
});
});
}
});
}
else
{
$('#steps').html('<div id="database_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');
$('#database_feedback').fadeIn('slow');
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id=\'technical_error_feedback\' style=\'display:none;\' class=\'error\'><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
}
});
}
});
}
});
},
getDatasWS : function (methodName)
{
//check if method have to be call
if (shopImporter.idMethod >= shopImporter.nbrMethod)
shopImporter.displayEnd(false);
else if ($('input[name='+methodName[0]+']:radio:checked').val() == 0)
{
shopImporter.idMethod ++;
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
return;
}
if (typeof(methodName) != 'undefined')
{
$('#steps').html($('#steps').html()+'<div id=\'ok_feedback_'+methodName[0]+'\' style=\'display:none;\' class="import"><img src=\''+this.srcImport+'\'>'+methodName[1]+'<span id=\'display_error_'+methodName[0]+'\' style=\'display:none\'><span><div id=\'feedback_'+methodName[0]+'_errors_list\'></div></div>');
$('#ok_feedback_'+methodName[0]).css('display', '');
$('#checkAndSaveConfig').fadeIn('slow');
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: true,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&getDataWS&className='+methodName[2]+'&getMethod='+methodName[0]+'&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&limit='+this.limit+'&nbr_import='+this.nbr_import+'&save='+this.save+'&errors='+this.errors+'&hasErrors='+this.hasErrors+this.specificOptions+this.imagesOptions ,
success: function (jsonData)
{
var jsonError;
if (jsonData.hasError)
{
jsonError = '';
if (jsonData.error == 'not_exist')
{
$('#ok_feedback_'+methodName[0]).removeClass('conf').addClass(function () {
$('#ok_feedback_'+methodName[0]).html('<img src="'+shopImporter.srcWarn+'">'+methodName[1]+' '+notExist);
return 'warn';
});
}
else
{
for (i=0;i<jsonData.error.length;i++)
jsonError = jsonError+'<li>Id : '+jsonData.error[i]+'</li>';
if ($('#display_error_'+methodName[0]+'_link').length == 0)
{
$('#ok_feedback_'+methodName[0]).html($('#ok_feedback_'+methodName[0]).html()+'<span id="display_error_'+methodName[0]+'" style="float:right;"><a id="display_error_'+methodName[0]+'_link" class="display_error_link" rel="'+methodName[0]+'" href="#" onclick="enableShowErrors(\''+methodName[0]+'\'); return false;">'+showErrors+'(<span id="nbr_errors_'+methodName[0]+'">'+jsonData.error.length+'</span>)'+'</a></span><div style="display:none;" id="feedback_'+methodName[0]+'_errors_list"><ul>'+jsonError+'</ul></div>');
}
else
{
var nbrErrors = $('#nbr_errors_'+methodName[0]).html();
var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);
$('#nbr_errors_'+methodName[0]).html(newNbrError);
$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);
}
}
if (jsonData.datas.length != parseInt(shopImporter.nbr_import))
{
if ($('#display_error_'+methodName[0]+'_link').length != 0)
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {
$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);
return 'error';
});
shopImporter.idMethod ++;
shopImporter.limit = 0;
}
else
shopImporter.limit += parseInt(shopImporter.nbr_import);
if ((shopImporter.idMethod < shopImporter.nbrMethod))
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
else
shopImporter.displayEnd(false);
}
else
{
if (jsonData.datas.length != parseInt(shopImporter.nbr_import))
{
if ($('#display_error_'+methodName[0]+'_link').length != 0)
{
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {
$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);
return 'error';
});
}else
{
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass('conf');
$('#ok_feedback_'+methodName[0]+'>img:first').attr('src', shopImporter.srcConf);
}
shopImporter.idMethod ++;
shopImporter.limit = 0;
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
}
else
{
if (shopImporter.idMethod < shopImporter.nbrMethod)
{
shopImporter.limit += parseInt(shopImporter.nbr_import);
shopImporter.getDatasWS(conf[shopImporter.idMethod]);
}
else
shopImporter.displayEnd(true);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#technical_error_feedback').fadeIn('slow');
$('#checkAndSaveConfig').fadeIn('slow');
}
});
}
},
getDatas : function (methodName)
{
//check if method have to be call
if (shopImporter.idMethod >= shopImporter.nbrMethod)
shopImporter.displayEnd(false);
else if ($('input[name='+methodName[0]+']:radio:checked').val() == 0)
{
shopImporter.idMethod ++;
shopImporter.getDatas(conf[shopImporter.idMethod]);
return;
}
if (typeof(methodName) != 'undefined')
{
$('#steps').html($('#steps').html()+'<div id="ok_feedback_'+methodName[0]+'" style="display:none;" class="import"><img src="'+this.srcImport+'">'+methodName[1]+'<span id="display_error_'+methodName[0]+'" style="display:none"><span><div id="feedback_'+methodName[0]+'_errors_list"></div></div>');
$('#ok_feedback_'+methodName[0]).css('display', '');
$('#checkAndSaveConfig').fadeIn('slow');
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: true,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&getData&className='+methodName[2]+'&getMethod='+methodName[0]+'&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+'&limit='+this.limit+'&nbr_import='+this.nbr_import+'&save='+this.save+'&errors='+this.errors+'&hasErrors='+this.hasErrors+this.specificOptions+this.imagesOptions ,
success: function (jsonData)
{
var jsonError;
if (jsonData.hasError)
{
jsonError = '';
if (jsonData.error == 'not_exist')
{
$('#ok_feedback_'+methodName[0]).removeClass('conf').addClass(function () {
$('#ok_feedback_'+methodName[0]).html('<img src="'+shopImporter.srcWarn+'">'+methodName[1]+' '+notExist);
return 'warn';
});
}
else
{
for (i=0;i<jsonData.error.length;i++)
jsonError = jsonError+'<li>Id : '+jsonData.error[i]+'</li>';
if ($('#display_error_'+methodName[0]+'_link').length == 0)
{
$('#ok_feedback_'+methodName[0]).html($('#ok_feedback_'+methodName[0]).html()+'<span id="display_error_'+methodName[0]+'" style="float:right;"><a id="display_error_'+methodName[0]+'_link" class="display_error_link" rel="'+methodName[0]+'" href="#" onclick="enableShowErrors(\''+methodName[0]+'\'); return false;">'+showErrors+'(<span id="nbr_errors_'+methodName[0]+'">'+jsonData.error.length+'</span>)'+'</a></span><div style="display:none;" id="feedback_'+methodName[0]+'_errors_list"><ul>'+jsonError+'</ul></div>');
}
else
{
var nbrErrors = $('#nbr_errors_'+methodName[0]).html();
var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);
$('#nbr_errors_'+methodName[0]).html(newNbrError);
$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);
}
}
if (jsonData.datas.length != parseInt(shopImporter.nbr_import))
{
if ($('#display_error_'+methodName[0]+'_link').length != 0)
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {
$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);
return 'error';
});
shopImporter.idMethod ++;
shopImporter.limit = 0;
}
else
shopImporter.limit += parseInt(shopImporter.nbr_import);
if ((shopImporter.idMethod < shopImporter.nbrMethod))
shopImporter.getDatas(conf[shopImporter.idMethod]);
else
shopImporter.displayEnd(false);
}
else
{
if (jsonData.datas.length != parseInt(shopImporter.nbr_import))
{
if ($('#display_error_'+methodName[0]+'_link').length != 0)
{
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {
$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);
return 'error';
});
}else
{
$('#ok_feedback_'+methodName[0]).removeClass('import').addClass('conf');
$('#ok_feedback_'+methodName[0]+'>img:first').attr('src', shopImporter.srcConf);
}
shopImporter.idMethod ++;
shopImporter.limit = 0;
shopImporter.getDatas(conf[shopImporter.idMethod]);
}
else
{
if (shopImporter.idMethod < shopImporter.nbrMethod)
{
shopImporter.limit += parseInt(shopImporter.nbr_import);
shopImporter.getDatas(conf[shopImporter.idMethod]);
}
else
shopImporter.displayEnd(true);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
$('#checkAndSaveConfig').fadeIn('slow');
}
});
}
},
truncatTable : function (className)
{
if (!$('#truncat_feedback').length)
{
$('#steps').html($('#steps').html()+'<div id="truncat_feedback" style="display:none;" class="conf"><img src="'+this.srcConf+'">'+truncateTable+'</div>');
$('#truncat_feedback').css('display', '');
}
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&token='+this.token+'&truncatTable&className='+className+this.specificOptions ,
success: function (jsonData)
{
var jsonError;
if (jsonData.hasError)
{
jsonError = '';
for (i=0;i<jsonData.error.length;i++)
jsonError = jsonError+'<li>Table : '+jsonData.error[i]+'</li>';
$('#truncat_feedback').removeClass('import').addClass('error');
$('#truncat_feedback >img:first').attr('src', shopImporter.srcError);
if ($('#display_error_truncat_feedback_link').length == 0)
{
$('#truncat_feedback').html($('#truncat_feedback').html()+'<span id="display_error_truncat" style="float:right;"><a id="display_error_truncat_link" class="display_error_link" rel="truncat" href="#" onclick="enableShowErrorsTruncate(); return false;">'+showErrors+'</a></span><div style="display:none;" id="feedback_truncat_errors_list"><ul>'+jsonError+'</ul></div>');
}
else
{
var nbrErrors = $('#nbr_errors_'+methodName[0]).html();
var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);
$('#nbr_errors_'+methodName[0]).html(newNbrError);
$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);
}
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');
$('#technical_error_feedback').fadeIn('slow');
$('#checkAndSaveConfig').fadeIn('slow');
}
});
},
displayEnd : function (finish)
{
if ((this.hasErrors != 0 || ($('.display_error_link').length == 0 && this.hasErrors == 0)) || (this.hasErrors == 1))
{
if (this.save)
{
$('#steps').html($('#steps').html()+'<div id=\'ok_feedback_end\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+importFinish+'</div>');
$('#ok_feedback_end').fadeIn('slow');
}
else
{
$('#steps').html($('#steps').html()+'<input style="display:none" type="button" name="submitImport" id="submitImport" class="button" value="'+runImport+'">');
$('#submitImport').fadeIn('slow', function () {
$(this).unbind('click').click(function () {
$.scrollTo($("#steps"), 300 , {
onAfter:function (){
$('#steps').html('');
shopImporter.save = 1;
if(type_connector == 'ws')
shopImporter.checkAndSaveConfigWS(shopImporter.save);
else if (type_connector == 'db')
shopImporter.checkAndSaveConfig(shopImporter.save);
}
});
});
});
}
}
else
{
$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+importHasErrors+'</div>');
$('#technical_error_feedback').fadeIn('slow');
}
$('#checkAndSaveConfig').fadeIn('slow');
},
};
function enableShowErrors(methodName)
{
$(document).find('#feedback_'+methodName+'_errors_list').slideToggle();
return false;
}
function enableShowErrorsTruncate()
{
$(document).find('#feedback_truncat_errors_list').slideToggle();
return false;
}
function displaySpecificOptions(moduleName, server, user, password, database, prefix, token)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "html",
data: 'ajax=true&token='+token+'&displaySpecificOptions&moduleName='+moduleName+'&server='+ server+'&user='+user+'&password='+password+'&database='+database+'&prefix='+prefix ,
success: function (htmlData)
{
if (htmlData != 'not_exist')
{
$('#specificOptionsContent').html(htmlData);
$('#specificOptions').show();
$('#importOptions').show();
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
}
});
}
function initConnexion (moduleName, url, loginws, apikey, token)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : "json",
data: 'ajax=true&token='+token+'&connexionWs&moduleName='+moduleName+'&url='+ url+'&loginws='+loginws+'&apikey='+apikey ,
success: function (jsonData)
{
var jsonError = '';
$('#connectionInformation').removeAttr('style');
if (jsonData.hasError)
{
$('#connectionInformation').attr('style','width: 400px;background-color: #FAE2E3;border: 1px solid #EC9B9B');
for (i=0;i<jsonData.error.length;i++)
jsonError = jsonError+'<li>'+jsonData.error[i]+'</li>';
$('#connectionInformation').slideDown('slow');
$('#connectionInformation').html('<ul>'+jsonError+'</ul>');
$('#connectionInformation').show();
}else
{
$('#connectionInformation').attr('style','width: 400px;background-color: #DFFAD3;border: 1px solid #72CB67');
$('#connectionInformation').slideDown('slow');
$('#connectionInformation').html('<ul>Connection successful</ul>');
$('#connectionInformation').show();
$('#importOptions').show();
displaySpecificOptionsWsdl(moduleName, token);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
}
});
}
function displaySpecificOptionsWsdl(moduleName,token)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : 'html',
data: 'ajax=true&token='+token+'&displaySpecificOptionsWsdl&moduleName='+moduleName ,
success: function (htmlData)
{
$('#specificOptionsContent').html(htmlData);
$('#specificOptions').hide();
$('#importOptions').show();
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
}
});
}
function validateSpecificOptions(moduleName, specificOptions)
{
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : 'json',
data: 'ajax=true&token='+token+'&validateSpecificOptions&moduleName='+moduleName+specificOptions ,
success: function (jsonData)
{
var jsonError = '';
if (jsonData.hasError)
{
for (i=0;i<jsonData.error.length;i++)
jsonError = jsonError+'<li>'+jsonData.error[i]+'</li>';
$('#specificOptionsErrors').html('<ul>'+jsonError+'</ul>');
$('#specificOptionsErrors').fadeIn('slow');
}
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
}
});
if ($('#specificOptionsErrors').html().length != 0)
return false;
else
return true;
}
//init configuration connector (database or webservice)
function initConfigConnector()
{
if($('#choose_module_name').attr('value'))
{
$('#db_config').hide();
$('#importOptions').hide();
$('#steps').html('');
if ($('#import_module_name').attr('value') != 0)
{
$('#displayOptions').show();
$.ajax({
type: 'GET',
url: '../modules/shopimporter/ajax.php',
async: false,
cache: false,
dataType : 'html',
data: 'ajax=true&token='+globalAjaxShopImporterToken+'&displayConfigConnector&moduleName='+$('#import_module_name').val() ,
success: function (html)
{
$('#config_connector').html(html);
$('#config_connector').show();
$('#db_config').slideDown('slow');
$('#displayOptions').show();
$('#checkAndSaveConfig').show();
},
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);
}
});
}
else
{
$('#db_config').slideUp('slow');
$('#checkAndSaveConfig').show();
}
}
}
$(document).ready(function (){
$('#displayOptions').hide();
$('#db_input input').each(function () {
$(this).keyup(function () {
$('#steps').fadeOut(200, function () {
$(this).html('');
$('#steps').fadeIn();
});
$('#importOptions').fadeOut('slow');
$('#displayOptions').show();
$('#checkAndSaveConfig').show();
})
});
$('input[name=hasErrors]:radio').change(function () {
if ($(this).val() == 1)
$('#warnSkip').fadeIn('slow');
else
$('#warnSkip').fadeOut('slow');
});
$('#choose_module_name').unbind('click').click(function (){
initConfigConnector();
});
$('#displayOptions').unbind('click').click(function (){
$('#displayOptions').show();
if(type_connector == 'ws')
{
if($('#loginws').val() == '' || $('#apikey').val() == '' || $('#url').val() == '')
{
$('#connectionInformation').slideDown('slow');
$('#connectionInformation').html('Url wsdl, User name,API key are required fields');
$('#connectionInformation').show();
return false;
}else{
$('#connectionInformation').hide();
}
token = globalAjaxShopImporterToken;
initConnexion($('#import_module_name').val(), $('#url').val(), $('#loginws').val(), $('#apikey').val(), token);
return false;
}
else if (type_connector == 'db')
{
moduleName = $('#import_module_name').val();
server = $('#server').val();
user = $('#user').val();
password = $('#password').val();
database = $('#database').val();
prefix = $('#prefix').val();
token = globalAjaxShopImporterToken;
displaySpecificOptions(moduleName, server, user, password, database, prefix, token);
}
$(this).fadeOut('slow');
$('#importOptions').slideDown('slow');
return false;
});
$('#checkAndSaveConfig').unbind('click').click(function (){
$('#steps, #specificOptionsErrors').html('');
$('#specificOptionsErrors').hide();
shopImporter.specificOptions = '';
$('#specificOptionsContent :input').each(function (){
shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');
});
shopImporter.imagesOptions = '';
$('.importImages:input:checked').each(function (){
shopImporter.imagesOptions = shopImporter.imagesOptions+'&'+$(this).attr('name');
});
moduleName = $('#import_module_name').val();
if (validateSpecificOptions(moduleName, shopImporter.specificOptions) == true)
{
if(type_connector == 'ws')
{
$.scrollTo($('#steps'), 300 , {
onAfter:function (){
shopImporter.specificOptions = '';
$('#specificOptionsContent :input').each(function (){
shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');
});
shopImporter.idMethod = 0;
shopImporter.limit = 0;
shopImporter.nbr_import = parseInt($('#nbr_import').val());
shopImporter.save = 0;
shopImporter.moduleName = $('#import_module_name').val();
shopImporter.url = $('#url').val();
shopImporter.loginws = $('#loginws').val();
shopImporter.apikey = $('#apikey').val();
shopImporter.token = globalAjaxShopImporterToken;
shopImporter.hasErrors = $('input[name=hasErrors]:radio:checked').val();
shopImporter.checkAndSaveConfigWS(shopImporter.save);
shopImporter.checkAndSaveConfigWSDL();
return false;
}
});
}else if (type_connector == 'db')
{
$.scrollTo($('#steps'), 300 , {
onAfter:function (){
shopImporter.specificOptions = '';
$('#specificOptionsContent :input').each(function (){
shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');
});
shopImporter.idMethod = 0;
shopImporter.limit = 0;
shopImporter.nbr_import = parseInt($('#nbr_import').val());
shopImporter.save = 0;
shopImporter.moduleName = $('#import_module_name').val();
shopImporter.server = $('#server').val();
shopImporter.user = $('#user').val();
shopImporter.password = $('#password').val();
shopImporter.database = $('#database').val();
shopImporter.prefix = $('#prefix').val();
shopImporter.token = globalAjaxShopImporterToken;
shopImporter.hasErrors = $('input[name=hasErrors]:radio:checked').val();
shopImporter.checkAndSaveConfig(shopImporter.save);
return false;
}
});
}
}
});
$('#importOptionsYesNo :radio').change( function () {
$('#steps').html('');
onThing = false;
$('#importOptionsYesNo :radio:checked').each( function () {
if ($(this).attr('value') == 1)
onThing = true;
});
if (onThing)
$('#checkAndSaveConfig').fadeIn();
else
{
$('#checkAndSaveConfig').fadeOut();
$('#steps').html('<div id=\'one_thing_error_feedback\' style=\'display:none;\' class=\'error\'><img src=\''+shopImporter.srcError+'\'>'+oneThing+'</div>');
$('#one_thing_error_feedback').fadeIn('slow');
}
});
});