// ==UserScript== // @name ChòLốn Script // @namespace https://greasyfork.org/users/177222 // @version 0.0.3 // @description View match result in advance // @author TheKop // @include http://trophymanager.com/matches/* // @include https://trophymanager.com/matches/* // @downloadURL https://update.greasyfork.icu/scripts/370498/Ch%C3%B2L%E1%BB%91n%20Script.user.js // @updateURL https://update.greasyfork.icu/scripts/370498/Ch%C3%B2L%E1%BB%91n%20Script.meta.js // ==/UserScript== function insertBefore(el, referenceNode) { referenceNode.parentNode.insertBefore(el, referenceNode); } function insertAfter(el, referenceNode) { referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); } function getGoalsReport(report) { var goalsReport = []; Object.keys(report).forEach(function(key, index) { var minuteArr = report[key]; for (var i = 0; i < minuteArr.length; i++) { var paramArr = minuteArr[i].parameters; var goalScorerId; var goalFound = false; if (paramArr) { for (var j = 0; j < paramArr.length; j++) { var paramObj = paramArr[j]; if (paramObj.goal) { goalsReport.push({ minute: key, scorer: paramObj.goal.player }); } } } } }); return goalsReport; } function mergeMinutes(data) { var seen = {}; data = data.filter(function(entry) { var previous; if (seen.hasOwnProperty(entry.scorer)) { previous = seen[entry.scorer]; previous.minute.push(' '+ entry.minute + '\''); return false; } if (!Array.isArray(entry.minute)) { entry.minute = [entry.minute + '\'']; } seen[entry.scorer] = entry; return true; }); return data; } function formatReport(goalsRp, homeLineup, awayLineup) { var rps = mergeMinutes(goalsRp); var homeReport = []; var awayReport = []; rps.forEach(function (rp) { if (homeLineup.hasOwnProperty(rp.scorer)) { rp.scorer = homeLineup[rp.scorer]; homeReport.push(rp); } if (awayLineup.hasOwnProperty(rp.scorer)) { rp.scorer = awayLineup[rp.scorer]; awayReport.push(rp); } }); return { homeReport: homeReport, awayReport: awayReport } } function showMatchResult() { var resultDiv = document.createElement('div'); var matchID = location.href.match(/([^\/]*)\/*$/)[1]; var xhr = new XMLHttpRequest(); var url = 'https://trophymanager.com/ajax/match.ajax.php?id=' + matchID; resultDiv.className = 'main_center'; xhr.open('GET', url, true); xhr.send(); xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); var homeClub = data.club.home.club_name; var awayClub = data.club.away.club_name; var report = data.report; var homeLineup = data.lineup.home; var awayLineup = data.lineup.away; var scoreData = report[Object.keys(report).sort().pop()]; var finalText = scoreData[0].chance.text[0]; var finalScore = 'bịt-đít'; var goalsReport = []; var goalsRpDiv = '
'; var homeGoalDiv = '
' +'