Rev 19 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<!DOCTYPE html><html lang="en"><head><title>eBay Listing Upload</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" href="favicon.ico" type="image/x-icon"><link rel="icon" href="favicon.ico" type="image/x-icon"><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script><link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"><script src="js/XMLWriter.js"></script><script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data-2012-2022.min.js"></script><link rel="stylesheet" href="css/style.css"><script src="js/muna-tools.js"></script></head><body onload="return initConfig();"><div"><div><div class="container-fluid bg-secondary"><div class="clearfix"><img class="img-fluid float-right" src="images/MUNA%20-%20Logo%20100x100.png" alt="MUNA Trading Logo" /><h1 id="connected">eBay Listing Upload<input id="login" type="button" class="btn bg-success mb-2 w3-hide" onclick="eBayLogin();" value="Login" /></h1></div></div><div class="border col"><div><form id="searchForm" class="container-fluid bg-light"><div class="clearfix"><input id="startButton" type="button" class="btn btn-danger float-left" onclick="uploadListings();" value="Start" /><p id="numberOfListings" class="float-right"></p></div></form></div><div class="modal" id="progressBarDiv"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h4 id="progressBarHeader"></h4></div><div class="modal-body"><div class="progress"><div id="progressBar" class="progress-bar" style="width:0%">0%</div></div></div></div></div></div><div id="results" class="border bg-info w3-hide"></div><div id="logging"></div></div></div><footer class="container-fluid text-center border border-bottom-0 border-left-0 border-right-0"><div w3-include-html="php/footer.php"></div></footer></div><script>// Globalsvar configGetRecommendations = true;var xml = '';var listItems = [];// Initialize Configuration Variablesfunction initConfig() {var i;var j;eBayAuthToken = readCookie();if (eBayAuthToken.length > 0) {connected();}if (eBayAuthTokenFlag === false) {var x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}var xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {//window.alert(this.responseText);var parser = new DOMParser();var htmlDoc = parser.parseFromString(this.responseText, "text/html");var x = htmlDoc.getElementsByTagName("a");listItems = [];for (i = 0, j = 0; i < x.length; i++) {if (htmlDoc.getElementsByTagName("a")[i].innerHTML.endsWith(".xml")) {var n = htmlDoc.getElementsByTagName("a")[i].innerHTML.lastIndexOf(".xml");listItems[j] = htmlDoc.getElementsByTagName("a")[i].innerHTML.substr(0, n);j++;}}document.getElementById('numberOfListings').innerHTML = j + ' Listing(s) Ready for eBay Upload';}};xhttp.open("GET", configListingUrl + '?t=' + Math.random(), true);xhttp.send();}function requireNewLogin() {// dummy}function uploadListings() {var i = 0;document.getElementById("logging").innerHTML = '';document.getElementById("results").innerHTML = '';initProgressBar('Uploading Listings');function for1() {updateProgressBar(listItems.length, i);uploadListing(listItems[i]);for2();}function for2() {if (i == listItems.length) {endProgressBar();return false;}setTimeout(function() {i++;document.getElementById("logging").innerHTML = 'Uploading No. ' + i + '/' + listItems.length;for1();}, 500);}for1();}function uploadListing(name) {var xhttp;xhttp = new XMLHttpRequest();xhttp.onreadystatechange = function() {if (this.readyState == 4 && this.status == 200) {// verifyListing(name, xhttp.responseText);submitListing(name, xhttp.responseText);}};xhttp.open("GET", configListingUrl + name + '.xml', true);xhttp.send();}function verifyListing(name, itemXML) {var i;var authErrorFlag = false;if (eBayAuthTokenFlag === false) {return;}var xw = new XMLWriter('UTF-8', '1.0');var xhr = new XMLHttpRequest();createAddXML(xw, xhr, 'VerifyAddItemRequest', 'VerifyAddItem', itemXML);xml = xw.flush();xw.close();xhr.onload = function() {var jsonObj = XMLparse(xhr.responseXML, false);var obj = jsonObj.VerifyAddItemResponse;var returnCode = obj.Ack;var str;var x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}if (returnCode == 'Success' || (returnCode == 'Warning' && obj.Errors.ErrorCode == '21917108')) {str = '<p><strong>' + returnCode + ' (' + name + ')</strong></p>';if (returnCode == 'Warning') {str += "<p>" + obj.Errors.SeverityCode + " (" + obj.Errors.ErrorCode + "): " + escapeHtml(obj.Errors.LongMessage) + "</p>";}var fees = getJsonArray(obj.Fees.Fee);str += "<p>";for (i = 0; i < fees.length; i++) {if (fees[i].Fee.text !== "0.0") {str += fees[i].Name + ": $" + Number(fees[i].Fee.text).toFixed(2) + "<br/>";}}str += "</p>";if (obj.DiscountReason) {str += "<p>Discount Reason: " + obj.DiscountReason + "</p>";}var recommendations = getJsonArray(obj.ListingRecommendations);for (i = 0; i < recommendations.length; i++) {str += decode(recommendations[i]);}x.innerHTML += str;} else {str = '<p class="text-danger"><strong>' + returnCode + ' (' + name + ')</strong></p>';var errors = getJsonArray(obj.Errors);str += "<p>";for (i = 0; i < errors.length; i++) {str += errors[i].SeverityCode + " (" + errors[i].ErrorCode + "): " + escapeHtml(errors[i].LongMessage) + "<br/>";if (errors[i].LongMessage.includes('Auth')) {authErrorFlag = true;}}str += "</p>";if (obj.DuplicateInvocationDetails) {str += '<p>Duplicate Invocation Id ' + obj.DuplicateInvocationDetails.DuplicateInvocationID + ' Tracking Id' + obj.DuplicateInvocationDetails.InvocationTrackingID + ' Status ' + obj.DuplicateInvocationDetails.Status + '</p>';}x.innerHTML += str;if (authErrorFlag === true) {eBayAuthTokenFlag = false;x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}if (obj.Message) {x.innerHTML += obj.Message;}};xhr.send(xml);}function decode(recommendation) {var str = "<p>";var i;str += recommendation.Code + " (" + recommendation.Type + "/" + recommendation.Group + ") for '" + recommendation.FieldName;if (recommendation.Value) {str += "': " + recommendation.Value;}if (recommendation.Message) {str += "<br/>" + recommendation.Message;}var metadata = recommendation.Metadata;if (metadata) {if (metadata.length > 0) {for (i = 0; i < metadata.length; i++) {if (metadata[i].Name != "correlationId" &&metadata[i].Name != "currency" &&metadata[i].Name != "similarItems") {str += "<br/>" + metadata[i].Name + " = " + metadata[i].Value;}}} else {if (metadata.Name != "correlationId" &&metadata.Name != "currency" &&metadata.Name != "similarItems") {str += "<br/>" + metadata.Name + " = " + metadata.Value;}}}str += "</p>";return str;}function submitListing(name, itemXML) {var i;var authErrorFlag = false;if (document.getElementById("startButton").className.indexOf("btn-dark") == -1) {return;}var xw = new XMLWriter('UTF-8', '1.0');var xhr = new XMLHttpRequest();createAddXML(xw, xhr, 'AddItemRequest', 'AddItem', itemXML);xml = xw.flush();xw.close();xhr.onload = function() {var jsonObj = XMLparse(xhr.responseXML, false);var obj = jsonObj.AddItemResponse;var returnCode = obj.Ack;var str;var x = document.getElementById("results");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}if (returnCode == 'Success' || (returnCode == 'Warning' && obj.Errors.ErrorCode == '21917108')) {str = '<p><strong>' + returnCode + '</strong>, Item Id <a href="https://www.ebay.com/itm/' + obj.ItemID + '" target="_blank">' + obj.ItemID + '</a> (' + name + ')</p>';if (returnCode == 'Warning') {str += "<p>" + obj.Errors.SeverityCode + " (" + obj.Errors.ErrorCode + "): " + escapeHtml(obj.Errors.LongMessage) + "</p>";}var fees = getJsonArray(obj.Fees.Fee);str += "<p>";for (i = 0; i < fees.length; i++) {if (fees[i].Fee.text !== "0.0") {str += fees[i].Name + ": $" + Number(fees[i].Fee.text).toFixed(2) + "<br/>";}}str += "</p>";if (obj.DiscountReason) {str += "<p>Discount Reason: " + obj.DiscountReason + "</p>";}x.innerHTML += str;} else {str = '<p class="text-danger"><strong>' + returnCode + ' (' + name + ')</strong></p>';var errors = getJsonArray(obj.Errors);str += "<p>";for (i = 0; i < errors.length; i++) {str += errors[i].SeverityCode + " (" + errors[i].ErrorCode + "): " + escapeHtml(errors[i].LongMessage) + "<br/>";if (errors[i].LongMessage.includes('Auth')) {authErrorFlag = true;}}str += "</p>";if (obj.DuplicateInvocationDetails) {str += '<p>Duplicate Invocation Id ' + obj.DuplicateInvocationDetails.DuplicateInvocationID + ' Tracking Id' + obj.DuplicateInvocationDetails.InvocationTrackingID + ' Status ' + obj.DuplicateInvocationDetails.Status + '</p>';}x.innerHTML += str;if (authErrorFlag === true) {eBayAuthTokenFlag = false;x = document.getElementById("login");if (x.className.indexOf("w3-show") == -1) {x.className += " w3-show";}}}};xhr.send(xml);}function createAddXML(xw, xhr, xmlrequest, callname, itemXML) {xw.writeStartDocument();xw.writeStartElement(xmlrequest);xw.writeAttributeString('xmlns', 'urn:ebay:apis:eBLBaseComponents');xw.writeStartElement('RequesterCredentials');xw.writeElementString('eBayAuthToken', eBayAuthToken);xw.writeEndElement(); /* RequesterCredentials */xw.writeXML(itemXML);xw.writeElementString('ErrorLanguage', 'en_US');xw.writeElementString('Version', configeBayTradingVersion);xw.writeElementString('WarningLevel', configWarningLevel);xw.writeEndElement(); /* xmlrequest */xw.writeEndDocument();xhr.open('POST', configProxyUrl, true);xhr.setRequestHeader('Content-Type', 'text/xml');xhr.setRequestHeader('X-EBAY-API-APP-NAME', configAppid);xhr.setRequestHeader('X-EBAY-API-COMPATIBILITY-LEVEL', configeBayTradingVersion);xhr.setRequestHeader('X-EBAY-API-CALL-NAME', callname);xhr.setRequestHeader('X-EBAY-API-SITEID', '0');xhr.setRequestHeader('X-EBAY-API-DEV-NAME', '');xhr.setRequestHeader('X-EBAY-API-CERT-NAME', '');xhr.setRequestHeader('X-Proxy-URL', configServiceEndpoint);}function clearStatusWindows() {var x = document.getElementById("results");x.innerHTML = "";x.className = x.className.replace(" w3-show", "");}function connected() {var x;eBayAuthTokenFlag = true;document.getElementById("connected").innerHTML += " (Connected)";x = document.getElementById("startButton");x.className = x.className.replace(" btn-danger", " btn-dark");x = document.getElementById("login");x.className = x.className.replace(" w3-show", "");}</script><script>includeHTML();</script></body></html>