Adds support to select items from the cart before ordering
目前為
// ==UserScript==
// @name Aliexpress Shopping Card Editor
// @name:ru Редактор корзины Aliexpress
// @version 1.2.3
// @description Adds support to select items from the cart before ordering
// @description:ru Добавляет возможность выбирать товары из корзины перед заказом
// @author DeNcHiK3713
// @match *://shoppingcart.aliexpress.com/shopcart/shopcartDetail.htm
// @match *://shoppingcart.aliexpress.com/shopcart/shopcartDetail.htm?*
// @namespace https://greasyfork.org/users/174390
// @require https://openuserjs.org/src/libs/sizzle/GM_config.js
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_registerMenuCommand
// @grant GM_setClipboard
// ==/UserScript==
var accounting_min_script = document.createElement('script');
accounting_min_script.setAttribute('src', 'https://openexchangerates.github.io/accounting.js/accounting.min.js');
(document.body || document.head || document.documentElement).appendChild(accounting_min_script);
var money_min_script = document.createElement('script');
money_min_script.setAttribute('src', 'https://openexchangerates.github.io/money.js/money.min.js');
(document.body || document.head || document.documentElement).appendChild(money_min_script);
var aliexpress_shopping_card_editor_library_script = document.createElement('script');
aliexpress_shopping_card_editor_library_script.setAttribute('src', 'https://greasyfork.org/scripts/39395-aliexpress-shopping-card-editor-library/code/Aliexpress%20Shopping%20Card%20Editor%20Library.js?version=259492');
(document.body || document.head || document.documentElement).appendChild(aliexpress_shopping_card_editor_library_script);
function getAllUrlParams(url) {
'use strict';
var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
var obj = {};
if (queryString) {
queryString = queryString.split('#')[0];
var arr = queryString.split('&');
for (var i = 0; i < arr.length; i++) {
var a = arr[i].split('=');
var paramNum = undefined;
var paramName = a[0].replace(/\[\d*\]/, function(v) {
paramNum = v.slice(1, -1);
return '';
});
var paramValue = typeof(a[1]) === 'undefined' ? true : a[1];
paramName = paramName.toLowerCase();
paramValue = paramValue.toLowerCase();
if (obj[paramName]) {
if (typeof obj[paramName] === 'string') {
obj[paramName] = [obj[paramName]];
}
if (typeof paramNum === 'undefined') {
obj[paramName].push(paramValue);
} else {
obj[paramName][paramNum] = paramValue;
}
} else {
obj[paramName] = paramValue;
}
}
}
return obj;
}
var AllUrlParams = getAllUrlParams();
var Language = GM_config.getValue('Language', 'en');
var cashback = GM_config.getValue('cashback', false);
if (cashback && (AllUrlParams.af || AllUrlParams.aff_platform || AllUrlParams.aff_trace_key || AllUrlParams.cn || AllUrlParams.cpt || AllUrlParams.cv || AllUrlParams.dp || AllUrlParams.mall_affr || AllUrlParams.sk || AllUrlParams.terminal_id) === undefined) {
location.href = 'http://shopeasy.by/redirect/cpa/o/o8barzkbzmcxdmf3n4as8uo2sv1uypnl/?material=cb-p-chrome&to=' + encodeURI(location.href);
}
var dictionary = {};
var fields = {};
function ChangeLanguage() {
'use strict';
switch (Language) {
case 'en':
dictionary = {
Settings: 'Settings',
title: 'Aliexpress Shopping Card Editor Settings',
Language: 'Choose Language',
SaveButton: 'Save',
CloseButton: 'Close',
OKButton: 'OK',
CancelButton: 'Cancel',
SelectAllButton: 'Select All',
DeSelectAllButton: 'Deselect All',
RemoveSelected: 'Remove Selected',
RestoreLabel: 'Restore default settings',
DonateLabel: 'Donate',
DonateTitle: 'Copy',
CashbackLabel: 'Allow the author of this script to receive your cashback',
};
break;
case 'ru':
dictionary = {
Settings: 'Настройки',
title: 'Настройки редактора корзины Aliexpress',
ChooseLanguage: 'Выберете язык',
SaveButton: 'Сохранить',
CloseButton: 'Закрыть',
OKButton: 'Ок',
CancelButton: 'Отмена',
SelectAllButton: 'Выделить все',
DeSelectAllButton: 'Снять выделение',
RemoveSelected: 'Удалить выделеное',
RestoreLabel: 'Восстановить стандартные настройки',
DonateLabel: 'Пожертвовать',
DonateTitle: 'Копируйте',
CashbackLabel: 'Разрешить автору этого скрипта получать ваш кэшбэк',
};
break;
}
fields = {
'Language': {
'label': dictionary.ChooseLanguage,
'type': 'select',
'options': ['en', 'ru'],
'save': false
},
'donatecopy': {
'label': dictionary.DonateLabel,
'type': 'button',
'click': function() {
alert();
prompt(dictionary.DonateTitle, 'WMB: B117755765458');
prompt(dictionary.DonateTitle, 'WMR: R335930872834');
prompt(dictionary.DonateTitle, 'WMZ: Z368626007733');
prompt(dictionary.DonateTitle, 'WME: E178919901149');
prompt(dictionary.DonateTitle, 'WMX: X280601043398');
prompt(dictionary.DonateTitle, 'BTC: 1J7J5k9FfV9SVPkPkDZ1dgEtmmDKgrBJ7o');
},
'save': false
},
'CashbackCheckbox': {
'label': dictionary.CashbackLabel,
'type': 'checkbox',
'save': false
}
};
}
function ChangeButtons() {
'use strict';
var buttons = document.getElementsByClassName('bp-banner-new')[0].getElementsByTagName('button');
buttons[0].textContent = dictionary.SelectAllButton;
buttons[1].textContent = dictionary.DeSelectAllButton;
document.getElementsByClassName('bottom-info-left')[0].getElementsByTagName('form')[0].getElementsByTagName('a')[0].textContent = dictionary.RemoveSelected;
}
ChangeLanguage();
GM_config.init({
'id': 'AliexpressEditorConfig',
'title': dictionary.title,
'fields': fields,
'events': {
'init': function() {
'use strict';
GM_config.fields.Language.value = Language;
GM_config.fields.CashbackCheckbox.value = cashback;
},
'open': function(doc) {
'use strict';
var config = this;
doc.getElementById(config.id + '_saveBtn').textContent = dictionary.SaveButton;
doc.getElementById(config.id + '_closeBtn').textContent = dictionary.CloseButton;
doc.getElementById(config.id + '_resetLink').textContent = dictionary.RestoreLabel;
},
'save': function(values) { // All unsaved values are passed to save
'use strict';
for (var id in values) {
switch (id) {
case 'Language':
if (values[id] !== Language) {
Language = values[id];
ChangeLanguage();
GM_config.fields.Language.value = Language;
GM_config.init({
'id': 'AliexpressEditorConfig',
'title': dictionary.title,
'fields': fields
});
GM_config.close();
GM_config.open();
GM_config.setValue('Language', Language);
}
break;
case 'CashbackCheckbox':
if (values[id] !== cashback) {
cashback = values[id];
GM_config.fields.CashbackCheckbox.value = cashback;
GM_config.setValue('cashback', cashback);
if (cashback && (AllUrlParams.af || AllUrlParams.aff_platform || AllUrlParams.aff_trace_key || AllUrlParams.cn || AllUrlParams.cpt || AllUrlParams.cv || AllUrlParams.dp || AllUrlParams.mall_affr || AllUrlParams.sk || AllUrlParams.terminal_id) === undefined) {
location.href = 'http://shopeasy.by/redirect/cpa/o/o8barzkbzmcxdmf3n4as8uo2sv1uypnl/?material=&to=' + encodeURI(location.href);
}
}
break;
}
}
}
}
});
var MenuCommand = GM_registerMenuCommand(dictionary.Settings, OpenSettings);
function OpenSettings() {
'use strict';
GM_config.open();
}