Статті: 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()
})
})
}
}
})