// ==UserScript== // @name SFBA report // @namespace https://trade.aliexpress.com/ // @include https://trade.aliexpress.com/orderList.htm* // @include https://www.banggood.com/index.php?com=account&t=ordersList* // @include https://www.amazon.fr/gp/your-account/order-history* // @include https://www.amazon.fr/gp/css/order-history* // @include https://user.gearbest.com/my-orders.html* // @version 0.53 // @description Copie les dernières commandes des sites SFBA dans le presse papier et met en forme en bbcode // @grant GM_setClipboard // @grant GM_registerMenuCommand // @downloadURL none // ==/UserScript== GM_registerMenuCommand('Copier les produits', checkCurrentSite); function checkCurrentSite() { if(window.location.href.indexOf("banggood") > -1) { getBGOrders(); } else if(window.location.href.indexOf("aliexpress") > -1) { getAEOrders(); } else if (window.location.href.indexOf("amazon") > -1) { getAZOrders(); } else if (window.location.href.indexOf("gearbest") > -1) { getGBOrders(); } } function getGBOrders() { var post = "#SFBAreport [b]Gearbest[/b]\n\n"; var tags = document.getElementsByTagName('dl'); for (var i = 0; i < tags.length; i++) { if (tags[i].className == "clearfix") { var title = []; var link = []; var img = []; var price; title.push(tags[i].children[0].children[1].children[0].children[0].innerText); link.push(tags[i].children[0].children[0].children[0].href); img.push(tags[i].children[0].children[0].children[0].children[0].src); price = tags[i].children[0].children[3].children[0].children[0].children[1].outerText; post += formatPost(title, link, img, price); } } GM_setClipboard(post); } function getBGOrders() { var priceList = []; var post = "#SFBAreport [b]Banggood[/b]\n\n"; var priceTags = document.getElementsByTagName('td'); for (var j = 0; j < priceTags.length; j++) { if (priceTags[j].className == "price") { priceList.push(priceTags[j].innerText); } } var tags = document.getElementsByTagName('div'); var id = 0; for (var i = 0; i < tags.length; i++) { if (tags[i].className == "picture_box") { var title = []; var link = []; var img = []; var price; for (j = 0; j < tags[i].children[0].children.length; j++) { title.push( tags[i].children[0].children[j].children[0].title); link.push(tags[i].children[0].children[j].children[0].href); img.push(tags[i].children[0].children[j].children[0].children[0].src); } price = priceList[id]; post += formatPost(title, link, img, price); id++; } } GM_setClipboard(post); } function getAZOrders() { var post = "#SFBAreport [b]Amazon[/b]\n\n"; var priceList = []; var priceTags = document.getElementsByTagName('div'); for (var j = 0; j < priceTags.length; j++) { if (priceTags[j].className == "a-fixed-left-grid-col a-col-right") { if (priceTags[j].children[3].children[0].innerText !== "") { priceList.push(priceTags[j].children[3].children[0].innerText); } else if (priceTags[j].children[2].children[0].innerText !== "") { priceList.push(priceTags[j].children[2].children[0].innerText); } } } var tags = document.getElementsByTagName('div'); var id = 0; for (var i = 0; i < tags.length; i++) { if (tags[i].className == "item-view-left-col-inner") { var title = []; var link = []; var img = []; var price; img.push(tags[i].children[0].children[0].src); link.push(tags[i].children[0].href); title.push(tags[i].children[0].children[0].title); price = priceList[id]; post += formatPost(title, link, img, price); id++; } } GM_setClipboard(post); } function getAEOrders() { var post = "#SFBAreport [b]Aliexpress[/b]\n\n"; var tags = document.getElementsByTagName('td'); for (var i = 0; i < tags.length; i++) { if (tags[i].hasAttribute("class")) { if (tags[i].className == "product-sets") { var title = []; var link = []; var img = []; var price; img.push(convertToLargePicture(tags[i].children[0].children[0].children[0].src)); link.push(tags[i].children[1].children[0].children[0].href); title.push(tags[i].children[1].children[0].children[0].title); price = tags[i].children[1].children[2].innerText; post += formatPost(title, link, img, price); } } } GM_setClipboard(post); } function convertToLargePicture(picture) { // Picture url format is https://ae01.alicdn.com/kf/blablabla.jpg_50x50.jpg return picture.replace("50x50", "100x100"); } function truncate(str, n) { var isTooLong = str.length > n, s_ = isTooLong ? str.substr(0,n-1) : str; s_ = isTooLong ? s_.substr(0,s_.lastIndexOf(' ')) : s_; return isTooLong ? s_ + '...' : s_; } function formatPost(title, link, img, price) { var post = ""; for(i=0; i