Articles: ODE випадково згадав про таку річ як userscripts
13.09.2014
Якщо комусь хочеться легко й невимушено завантажувати сюди дані з PPM, потрібно:
- додати розширення браузера для userscripts (я особисто користуюся зараз Tampermonkey, також ставив Greasemonkey, але є й інші варіанти)
- інсталювати цей сценарій — http://ukrainiansideofppm.is-best.net/db/ppm2ntdb.user.js
Код версії 0.1:
$(function() { // Визначення виду спорту, щоб звернутися до правильного файлу на сайті NTDB var sport = '' var tmp = { hockey : $('[href*=hockey]').length, football : $('[href*=soccer]').length, handball : $('[href*=handball]').length, basketball : $('[href*=basketball]').length, } var tmp_arr = Object.keys( tmp ).map(function ( key ) { return tmp[key] }) var tmp_max = Math.max.apply( null, tmp_arr ) if (tmp_max > 3) { $.each(Object.keys(tmp), function(i, key) { if (tmp_max == tmp[key]) { sport = key return false } }) } if (sport) { // Визначення типу сторінки, щоб знати, чи потрібно дозволити завантаження цієї сторінки (чи потрібно показати кнопку завантаження) var pagetype = '' if ($('.profile_player_right').length) pagetype = 'player-profile' // Профіль гравця else if ($('.facility').length) pagetype = 'team-facilities' // Споруди команди else if ($('.ppm_menu_top_profil_name a[href*=national-team]').length) pagetype = 'nt-players' // Збірна — гравці else if ($('img[src*=captain_yes]').length) pagetype = 'team-players' // Команда — гравці if (pagetype) { // Кнопка запуску завантаження var html = '<input id="ode-btn-ppm2ntdb-upload" style="position: fixed; right: 10px; top: 10px; opacity: 0.5; z-index: 2;" type="button" value="Upload to NTDB" />' $('body').append(html) $('#ode-btn-ppm2ntdb-upload').hover(function(e) { $(this).css('opacity', e.type === "mouseenter" ? 1 : 0.5)})
$('#ode-btn-ppm2ntdb-upload').click(function() { $('#ode-btn-ppm2ntdb-upload').hide() var responseMsg = '' var jqxhr = $.post( "http://ukrainiansideofppm.is-best.net/ntdb/" + sport + ".php?do=upload&ajax=1", { gamepage: $("html").html(), action: 'upload' }, function(response) { var msgWrapper = $(response).find('.msgbox_error') // це у мене клас для будь-якого повідомлення (байдуже, про успіх чи про помилку) if (msgWrapper) { // Відповідь прийде мовою, рекомендованою браузером (якщо це укр. або рос.), або англійською responseMsg = $(msgWrapper).text() } else { // На випадок, якщо повідомлення про успіх/помилку у відповіді сервера NTDB не буде responseMsg = 'Something went wrong' } }) .done(function() { alert('Response: ' + responseMsg) }) .fail(function() { alert( "Upload error" ) }) .always(function() { $('#ode-btn-ppm2ntdb-upload').fadeIn() }) }) } } })