911 lines
35 KiB
JavaScript
Executable File
911 lines
35 KiB
JavaScript
Executable File
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');
|
|
}
|
|
});
|
|
});
|