Bearbeiten von „OS2.haupt“
Zur Navigation springen
Zur Suche springen
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Greasemonkey]] | [[Kategorie:Greasemonkey]] | ||
{| style="background-color:white; font-size:11px; float: right; margin:3px 3px 3px 10px; border:1px solid #999; border-color: #9C1818; border-collapse:collapse;" width=500 cellpadding=3 cellspacing=0 | {| style="background-color:white; font-size:11px; float: right; margin:3px 3px 3px 10px; border:1px solid #999; border-color: #9C1818; border-collapse:collapse;" width=500 cellpadding=3 cellspacing=0 | ||
| colspan="2" style="padding:0.3em; background-color:#9C1818; font-size: 18px; color:#FFFFFF" align=center| '''OS2.haupt''' | | colspan="2" style="padding:0.3em; background-color:#9C1818; font-size: 18px; color:#FFFFFF" align=center| '''OS2.haupt''' | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Dateiname''' | | '''Dateiname''' | ||
| ''' | | '''os2.haupt.user.js''' | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Version''' | | '''Version''' | ||
| '''0. | | '''0.22''' | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Autor''' | | '''Autor''' | ||
Zeile 17: | Zeile 16: | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Webseiten''' | | '''Webseiten''' | ||
| '''haupt.php'''<br> '''Managerbüro''' | | '''haupt.php'''<br> '''Managerbüro'''<br> '''Bilanz letztes Spiel'''<br> '''Benutzermenü für Optionen'''<br> '''Beschreibungen zu beiden Spielen'''<br> '''Getrennte Option "Liga:" für Erst- und Zweitteam''' | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Funktionalität''' | | '''Funktionalität''' | ||
| '''Vorschau für das letzte Spiel: Bilanz | | '''Vorschau für das letzte Spiel: Bilanz'''<br> '''Anzeige des Spieltags bzw. der Runde''' | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
| '''Letzte Änderung''' | | '''Letzte Änderung''' | ||
Zeile 26: | Zeile 25: | ||
|- bgcolor="#FFCC00" | |- bgcolor="#FFCC00" | ||
|} | |} | ||
<pre> | <pre> | ||
// ==UserScript== | // ==UserScript== | ||
// @name | // @name OS2.haupt | ||
// @namespace | // @namespace http://os.ongapo.com/ | ||
// @version | // @version 0.22 | ||
// @copyright | // @copyright 2016+ | ||
// @author | // @author Sven Loges (SLC) | ||
// @description | // @description Managerbuero-Abschnitt aus dem Master-Script fuer Online Soccer 2.0 | ||
// @include | // @include http://os.ongapo.com/haupt.php | ||
// @ | // @include http://os.ongapo.com/haupt.php?changetosecond=* | ||
// @ | // @include http://www.os.ongapo.com/haupt.php | ||
// @ | // @include http://www.os.ongapo.com/haupt.php?changetosecond=* | ||
// @ | // @include http://online-soccer.eu/haupt.php | ||
// @ | // @include http://online-soccer.eu/haupt.php?changetosecond=* | ||
// @ | // @include http://www.online-soccer.eu/haupt.php | ||
// @grant | // @include http://www.online-soccer.eu/haupt.php?changetosecond=* | ||
// @grant | // @grant GM_getValue | ||
// @grant | // @grant GM_setValue | ||
// @grant | // @grant GM_deleteValue | ||
// @grant GM_registerMenuCommand | |||
// ==/UserScript== | // ==/UserScript== | ||
// ECMAScript 6: | // ECMAScript 6: Erlaubt 'const', 'let', ... | ||
/* jshint esnext: true */ | /* jshint esnext: true */ | ||
/* jshint moz: true */ | /* jshint moz: true */ | ||
// | // Moegliche Optionen | ||
const __SAISONS = [ 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 ]; | |||
const __LIGASIZES = [ 10, 18, 20 ]; | |||
const | // Optionen (hier die Standardwerte editieren oder ueber das Benutzermenu setzen): | ||
const __SAISON = __SAISONS[0]; | |||
const __LIGASIZE = __LIGASIZES[0]; | |||
// | // Optionen (mit Standardwerten initialisiert und per loadOptions() geladen): | ||
let saison = __SAISON; | |||
let ligaSize = __LIGASIZE; | |||
// | // Teamparameter fuer getrennte Speicherung der Optionen fuer Erst- und Zweitteam... | ||
let myTeam = { 'Team' : undefined, 'Liga' : undefined, 'Land' : undefined }; | |||
// Setzt eine Option dauerhaft und laedt die Seite neu | // Setzt eine Option dauerhaft und laedt die Seite neu | ||
// name: Name der Option als Speicherort | // name: Name der Option als Speicherort | ||
// value: Zu setzender Wert | // value: Zu setzender Wert | ||
// return Gesetzter Wert | |||
function setOption(name, value) { | |||
GM_setValue(name, value); | |||
window.location.reload(); | |||
// return | |||
function | |||
return value; | return value; | ||
Zeile 1.352: | Zeile 80: | ||
// arr: Array-Liste mit den moeglichen Optionen | // arr: Array-Liste mit den moeglichen Optionen | ||
// name: Name der Option als Speicherort | // name: Name der Option als Speicherort | ||
// value | // value: Zu setzender Wert | ||
// return Gesetzter Wert | // return Gesetzter Wert | ||
function | function setNextOption(arr, name, value) { | ||
const __POS = arr.indexOf(value) + 1; | |||
return setOption(name, arr[(__POS < arr.length) ? __POS : 0]); | |||
return | |||
} | } | ||
// Zeigt den Eintrag im Menu einer Option | // Zeigt den Eintrag im Menu einer Option | ||
// | // opt: Derzeitiger Wert der Option | ||
// menuOn: Text zum Setzen im Menu | // menuOn: Text zum Setzen im Menu | ||
// funOn: Funktion zum Setzen | // funOn: Funktion zum Setzen | ||
Zeile 1.832: | Zeile 96: | ||
// funOff: Funktion zum Ausschalten | // funOff: Funktion zum Ausschalten | ||
// keyOff: Hotkey zum Ausschalten im Menu | // keyOff: Hotkey zum Ausschalten im Menu | ||
function registerMenuOption(opt, menuOn, funOn, keyOn, menuOff, funOff, keyOff) { | |||
function registerMenuOption( | const __ON = (opt ? '*' : ""); | ||
const __ON = ( | const __OFF = (opt ? "" : '*'); | ||
const __OFF = ( | |||
console.log("OPTION " + __ON + menuOn + __ON + " / " + __OFF + menuOff + __OFF); | |||
if (opt) { | |||
if ( | GM_registerMenuCommand(menuOff, funOff, keyOff); | ||
} else { | } else { | ||
GM_registerMenuCommand(menuOn, funOn, keyOn); | |||
} | } | ||
} | } | ||
// Zeigt den Eintrag im Menu einer Option mit Wahl des naechsten Wertes | // Zeigt den Eintrag im Menu einer Option mit Wahl des naechsten Wertes | ||
// | // opt: Derzeitiger Wert der Option | ||
// arr: Array-Liste mit den moeglichen Optionen | // arr: Array-Liste mit den moeglichen Optionen | ||
// menu: Text zum Setzen im Menu | // menu: Text zum Setzen im Menu | ||
// fun: Funktion zum Setzen des naechsten Wertes | // fun: Funktion zum Setzen des naechsten Wertes | ||
// key: Hotkey zum Setzen des naechsten Wertes im Menu | // key: Hotkey zum Setzen des naechsten Wertes im Menu | ||
function registerNextMenuOption(opt, arr, menu, fun, key) { | |||
function registerNextMenuOption( | let options = "OPTION " + menu; | ||
let options = "OPTION " + | |||
for (let value of arr) { | for (let value of arr) { | ||
if (value === | if (value === opt) { | ||
options += " / *" + value + '*'; | options += " / *" + value + '*'; | ||
} else { | } else { | ||
Zeile 1.864: | Zeile 124: | ||
} | } | ||
} | } | ||
console.log(options); | |||
GM_registerMenuCommand(menu, fun, key); | |||
} | } | ||
// | // Baut das Benutzermenu auf | ||
function registerMenu() { | |||
console.log("registerMenu()"); | |||
console.log(myTeam); | |||
registerNextMenuOption(saison, __SAISONS, "Saison: " + saison, setNextSaison, 'S'); | |||
registerNextMenuOption(ligaSize, __LIGASIZES, "Liga: " + ligaSize + "er", setNextLigaSize, 'L'); | |||
GM_registerMenuCommand("Standard-Optionen", resetOptions, 'O'); | |||
} | } | ||
// | // Setzt die Optionen auf die "Werkseinstellungen" des Skripts | ||
function resetOptions() { | |||
GM_deleteValue("saison"); | |||
GM_deleteValue(myTeam.Land + "ligaSize"); | |||
function | |||
window.location.reload(); | |||
} | } | ||
// | // Laedt die permament (ueber Menu) gesetzten Optionen | ||
// | // teamParams: Getrennte "ligaSize"-Option wird genutzt, hier: myTeam mit 'Land' des Erst- bzw. Zweitteams | ||
function loadOptions(teamParams) { | |||
function | // Prefix fuer die Option "ligaSize" | ||
myTeam = teamParams; | |||
saison = GM_getValue("saison", saison); | |||
ligaSize = GM_getValue(myTeam.Land + "ligaSize", ligaSize); | |||
} | } | ||
// | // Setzt die naechste moegliche Saison als Option | ||
function setNextSaison() { | |||
saison = setNextOption(__SAISONS, "saison", saison); | |||
function | |||
} | } | ||
// | // Setzt die naechste moegliche Ligagroesse als Option | ||
function setNextLigaSize() { | |||
ligaSize = setNextOption(__LIGASIZES, myTeam.Land + "ligaSize", ligaSize); | |||
} | } | ||
// Beschreibungstexte aller Runden | // Beschreibungstexte aller Runden | ||
const __POKALRUNDEN = [ | const __POKALRUNDEN = [ "1. Runde", "2. Runde", "3. Runde", "Achtelfinale", "Viertelfinale", "Halbfinale", "Finale" ]; | ||
const __QUALIRUNDEN = [ | const __QUALIRUNDEN = [ "Quali 1", "Quali 2", "Quali 3" ]; | ||
const __OSCRUNDEN = [ | const __OSCRUNDEN = [ "Viertelfinale", "Halbfinale", "Finale" ]; | ||
const __OSERUNDEN = [ | const __OSERUNDEN = [ "Runde 1", "Runde 2", "Runde 3", "Runde 4", "Achtelfinale", "Viertelfinale", "Halbfinale", "Finale" ]; | ||
const __HINRUECK = [ " Hin", " R\xFCck", "" ]; | const __HINRUECK = [ " Hin", " R\xFCck", "" ]; | ||
// Liefert einen vor den ersten ZAT zurueckgesetzten Spielplanzeiger | // Liefert einen vor den ersten ZAT zurueckgesetzten Spielplanzeiger | ||
Zeile 3.405: | Zeile 197: | ||
'saison' : saison, | 'saison' : saison, | ||
'ZAT' : 0, | 'ZAT' : 0, | ||
'gameType' : | 'gameType' : "spielfrei", | ||
'heim' : true, | 'heim' : true, | ||
'gegner' : "", | 'gegner' : "", | ||
Zeile 3.412: | Zeile 204: | ||
'ligaSize' : ligaSize, | 'ligaSize' : ligaSize, | ||
'ligaSpieltag' : 0, | 'ligaSpieltag' : 0, | ||
'pokalRunde' : | 'pokalRunde' : 0, | ||
'euroRunde' : | 'euroRunde' : -1, | ||
'hinRueck' : 2, // 0: Hin, 1: Rueck, 2: unbekannt | 'hinRueck' : 2, // 0: Hin, 1: Rueck, 2: unbekannt | ||
'ZATrueck' : 0, | 'ZATrueck' : 0, | ||
Zeile 3.450: | Zeile 242: | ||
const __LIGAEXTRA = getLigaExtra(currZAT.saison); | const __LIGAEXTRA = getLigaExtra(currZAT.saison); | ||
const __LIGAFIRST = 3 - (__LIGAEXTRA[0] % 2); | const __LIGAFIRST = 3 - (__LIGAEXTRA[0] % 2); | ||
let zusatz = ""; | |||
for (let i = anzZAT; i > 0; i--) { | for (let i = anzZAT; i > 0; i--) { | ||
Zeile 3.458: | Zeile 251: | ||
const __POS = __LIGAEXTRA.indexOf(currZAT.ZAT); | const __POS = __LIGAEXTRA.indexOf(currZAT.ZAT); | ||
if ( | if (__POS > -1) { | ||
if (__POS < 2 * (currZAT.ligaSize % 9)) { | if (__POS < 2 * (currZAT.ligaSize % 9)) { | ||
currZAT.ligaSpieltag++; | currZAT.ligaSpieltag++; | ||
Zeile 3.464: | Zeile 257: | ||
} | } | ||
} | } | ||
if ((currZAT.ZAT > 12) && | if ((currZAT.ZAT > 12) && (currZAT.ZAT % 10 == 5)) { // passt fuer alle Saisons: 12, 20, 30, 40, 48, 58, 68 / 3, 15, 27, 39, 51, 63, 69 | ||
currZAT.pokalRunde++; | currZAT.pokalRunde++; | ||
} | } | ||
if | if ((currZAT.ZAT + currZAT.ZATkorr) % 6 == 4) { | ||
if (currZAT.ZAT < 63) { | if (currZAT.ZAT < 63) { | ||
currZAT.ZATrueck = currZAT.ZAT + 2; | currZAT.ZATrueck = currZAT.ZAT + 2; | ||
Zeile 3.473: | Zeile 266: | ||
currZAT.hinRueck = 0; | currZAT.hinRueck = 0; | ||
} else { | } else { | ||
currZAT.euroRunde = | currZAT.euroRunde = 10; // Finale | ||
currZAT.hinRueck = 2; | currZAT.hinRueck = 2; | ||
} | } | ||
} | } | ||
if (currZAT.ZAT | if (currZAT.ZAT == currZAT.ZATrueck) { | ||
currZAT.hinRueck = 1; // 5, 7; 11, 13; (17, 19) / 23, 25; 29, 31; 35, 37; 41, 43; 47, 49; 53, 55; 59, 61; 69 | currZAT.hinRueck = 1; // 5, 7; 11, 13; (17, 19) / 23, 25; 29, 31; 35, 37; 41, 43; 47, 49; 53, 55; 59, 61; 69 | ||
if (currZAT.saison < 3) { // 4, 6; 10, 14*; (16, 22*) / 24**, 26; 34, 36; 38*, 42; 44*, 50; 52, 54; 56*, 60; 62*, 66; 70 | if (currZAT.saison < 3) { // 4, 6; 10, 14*; (16, 22*) / 24**, 26; 34, 36; 38*, 42; 44*, 50; 52, 54; 56*, 60; 62*, 66; 70 | ||
if (currZAT.ZAT | if (currZAT.ZAT == 22) { | ||
currZAT.ZATkorr = 4; | currZAT.ZATkorr = 4; | ||
} else if ((currZAT.ZAT - 6) % 20 > 6) { | } else if ((currZAT.ZAT - 6) % 20 > 6) { | ||
Zeile 3.487: | Zeile 280: | ||
currZAT.ZATkorr = 0; | currZAT.ZATkorr = 0; | ||
} | } | ||
if ((currZAT.ZAT | if ((currZAT.ZAT == 22) || (currZAT.ZAT == 30)) { | ||
currZAT.euroRunde--; // Frueher: 3. Quali-Rueckspiel erst knapp vor 1. Hauptrunde | currZAT.euroRunde--; // Frueher: 3. Quali-Rueckspiel erst knapp vor 1. Hauptrunde | ||
} | } | ||
Zeile 3.497: | Zeile 290: | ||
// Liefert die Beschreibung des Spiels am aktuellen ZAT | // Liefert die Beschreibung des Spiels am aktuellen ZAT | ||
// currZAT: Enthaelt den Spielplanzeiger auf den aktuellen ZAT | // currZAT: Enthaelt den Spielplanzeiger auf den aktuellen ZAT | ||
// return Beschreibung des Spiels | // return Beschreibung des Spiels | ||
function getZusatz(currZAT | function getZusatz(currZAT) { | ||
let zusatz = ""; | |||
if (currZAT.gameType == | if (currZAT.gameType == "Liga") { | ||
if (currZAT.ZAT < 70) { | if (currZAT.ZAT < 70) { | ||
zusatz = currZAT.ligaSpieltag + ". Spieltag"; | |||
} else { | } else { | ||
zusatz = "Relegation"; | |||
} | } | ||
} else if (currZAT.gameType == | } else if (currZAT.gameType == "LP") { | ||
zusatz = __POKALRUNDEN[currZAT.pokalRunde]; | |||
} else if ((currZAT.gameType == "OSCQ") || (currZAT.gameType == "OSEQ")) { | |||
} else if ((currZAT.gameType == | zusatz = __QUALIRUNDEN[currZAT.euroRunde] + __HINRUECK[currZAT.hinRueck]; | ||
} else if (currZAT.gameType == "OSC") { | |||
if (currZAT.euroRunde < 8) { | |||
} else if (currZAT.gameType == | const __GRUPPENPHASE = ((currZAT.euroRunde < 5) ? "HR-Grp. " : "ZR-Grp. "); | ||
if (currZAT.euroRunde < | zusatz = __GRUPPENPHASE + "Spiel " + (((currZAT.euroRunde - 2) % 3) * 2 + 1 + currZAT.hinRueck); | ||
const __GRUPPENPHASE = ((currZAT.euroRunde < | |||
} else { | } else { | ||
zusatz = __OSCRUNDEN[currZAT.euroRunde - 8] + __HINRUECK[currZAT.hinRueck]; | |||
} | } | ||
} else if (currZAT.gameType == | } else if (currZAT.gameType == "OSE") { | ||
zusatz = __OSERUNDEN[currZAT.euroRunde - 3] + __HINRUECK[currZAT.hinRueck]; | |||
} else { | } else { | ||
zusatz = ""; // irgendwie besser lesbar! ("Friendly" bzw. "spielfrei"/"Frei"/"reserviert") | |||
} | } | ||
return | return zusatz; | ||
} | } | ||
// Ermittelt das Spiel-Ergebnis aus einer Tabellenzelle, etwa "2 : 1" | // Ermittelt das Spiel-Ergebnis aus einer Tabellenzelle, etwa "2 : 1" und liefert zwei Werte zurueck | ||
// cell: Tabellenzelle mit Eintrag "2 : 1" | // cell: Tabellenzelle mit Eintrag "2 : 1" | ||
// return { '2', '1' } im Beispiel | // return { '2', '1' } im Beispiel | ||
Zeile 3.792: | Zeile 329: | ||
} | } | ||
// Ermittelt die Spielart aus einer Tabellenzelle, etwa "Liga : Heim" | // Ermittelt die Spielart aus einer Tabellenzelle, etwa "Liga : Heim" und liefert zwei Werte zurueck | ||
// cell: Tabellenzelle mit Eintrag "Liga : Heim" | // cell: Tabellenzelle mit Eintrag "Liga : Heim" oder "Liga Heim" | ||
// return { "Liga", "Heim" } im Beispiel | // return { "Liga", "Heim" } im Beispiel | ||
function getSpielArtFromCell(cell) { | function getSpielArtFromCell(cell) { | ||
Zeile 3.800: | Zeile 337: | ||
return __SPIELART; | return __SPIELART; | ||
} | } | ||
Zeile 3.814: | Zeile 342: | ||
// currZAT: Enthaelt den Spielplanzeiger auf den aktuellen ZAT | // currZAT: Enthaelt den Spielplanzeiger auf den aktuellen ZAT | ||
// cell: Tabellenzelle mit Eintrag "2 : 1" | // cell: Tabellenzelle mit Eintrag "2 : 1" | ||
function setErgebnisFromCell(currZAT, cell) { | function setErgebnisFromCell(currZAT, cell) { | ||
const __ERGEBNIS = getErgebnisFromCell(cell); | const __ERGEBNIS = getErgebnisFromCell(cell); | ||
if (__ERGEBNIS.length | if (__ERGEBNIS.length == 2) { | ||
currZAT.gFor = parseInt(__ERGEBNIS[0], 10); | currZAT.gFor = parseInt(__ERGEBNIS[0], 10); | ||
currZAT.gAga = parseInt(__ERGEBNIS[1], 10); | currZAT.gAga = parseInt(__ERGEBNIS[1], 10); | ||
Zeile 3.825: | Zeile 352: | ||
currZAT.gAga = -1; | currZAT.gAga = -1; | ||
} | } | ||
} | } | ||
Zeile 3.836: | Zeile 361: | ||
currZAT.gameType = __SPIELART[0]; | currZAT.gameType = __SPIELART[0]; | ||
currZAT.heim = (__SPIELART.length < 2) || (__SPIELART[1] === | currZAT.heim = (__SPIELART.length < 2) || (__SPIELART[1] === "Heim"); | ||
} | |||
const __GAMETYPES = { // "Blind FSS gesucht!" | |||
"reserviert" : 0, | |||
"Frei" : 0, | |||
"spielfrei" : 0, | |||
"Friendly" : 1, | |||
"Liga" : 2, | |||
"LP" : 3, | |||
"OSEQ" : 4, | |||
"OSE" : 5, | |||
"OSCQ" : 6, | |||
"OSC" : 7 | |||
}; | |||
// Gibt die ID fuer den Namen eines Wettbewerbs zurueck | |||
// gameType: Name des Wettbewerbs eines Spiels | |||
// return OS2-ID fuer den Spieltyp (1 bis 7), 0 fuer spielfrei/Frei/reserviert, -1 fuer ungueltig | |||
function getGameTypeID(gameType) { | |||
const __ID = __GAMETYPES[gameType]; | |||
return (__ID === undefined) ? -1 : __ID; | |||
} | } | ||
Zeile 3.848: | Zeile 395: | ||
let ret = ""; | let ret = ""; | ||
if (cell.textContent != | if (cell.textContent != "Vorschau") { // Nur falls Link nicht bereits vorhanden | ||
if (__GAMETYPEID > 1) { | if (__GAMETYPEID > 1) { // nicht moeglich fuer "Friendly" bzw. "spielfrei"/"Frei"/"reserviert" | ||
const __SEARCHFUN = ":os_bericht("; | const __SEARCHFUN = ":os_bericht("; | ||
let paarung = cell.innerHTML.substr(cell.innerHTML.indexOf(__SEARCHFUN) + __SEARCHFUN.length); | let paarung = cell.innerHTML.substr(cell.innerHTML.indexOf(__SEARCHFUN) + __SEARCHFUN.length); | ||
Zeile 3.875: | Zeile 422: | ||
} | } | ||
// ======== | // Ermittelt, wie das eigene Team heißt und aus welchem Land bzw. Liga es kommt (zur Unterscheidung von Erst- und Zweitteam) | ||
// cell: Tabellenzelle mit den Parametern zum Team "<b>Willkommen im Managerbüro von TEAM</b><br>LIGA LAND<a href=..." | |||
// return Im Beispiel { 'Team' : "TEAM", 'Liga' : "LIGA", 'Land' : "LAND" }, | |||
// z.B. { 'Team' : "Choromonets Odessa", 'Liga' : "1. Liga", 'Land' : "Ukraine" } | |||
function getMyTeamFromCell(cell) { | |||
const __SEARCHSTART = " von "; | |||
const __SEARCHMIDDLE = "</b><br>"; | |||
const __SEARCHLIGA = ". Liga "; | |||
const __SEARCHEND = "<a href="; | |||
let teamParams = cell.innerHTML.substring(cell.innerHTML.indexOf(__SEARCHSTART) + __SEARCHSTART.length, cell.innerHTML.indexOf(__SEARCHEND)); | |||
let land = teamParams.substring(teamParams.indexOf(__SEARCHLIGA) + __SEARCHLIGA.length); | |||
if (land.charAt(1) == ' ') { // Land z.B. hinter "2. Liga A " statt "1. Liga " | |||
land = land.substr(2); | |||
} | |||
} | |||
const | const __TEAM = teamParams.substring(0, teamParams.indexOf(__SEARCHMIDDLE)); | ||
const __LIGA = teamParams.substring(teamParams.indexOf(__SEARCHMIDDLE) + __SEARCHMIDDLE.length, | |||
teamParams.length - land.length - 1); | |||
' | const __RET = { | ||
' | 'Team' : __TEAM, | ||
' | 'Liga' : __LIGA, | ||
'Land' : land | |||
}; | }; | ||
return __RET; | |||
return | |||
} | } | ||
Zeile 3.981: | Zeile 454: | ||
// return ZAT-Nummer im Text | // return ZAT-Nummer im Text | ||
function getZATNrFromCell(cell) { | function getZATNrFromCell(cell) { | ||
const __TEXT = | const __TEXT = cell.textContent.split(' '); | ||
let ZATNr = 0; | let ZATNr = 0; | ||
Zeile 3.994: | Zeile 467: | ||
return ZATNr; | return ZATNr; | ||
} | } | ||
// Fuegt eine Zelle ans Ende der uebergebenen Zeile hinzu und fuellt sie | // Fuegt eine Zelle ans Ende der uebergebenen Zeile hinzu und fuellt sie | ||
Zeile 4.003: | Zeile 474: | ||
// Bei Aufruf ohne Farbe wird die Standardfarbe benutzt | // Bei Aufruf ohne Farbe wird die Standardfarbe benutzt | ||
function appendCell(row, content, color) { | function appendCell(row, content, color) { | ||
row.insertCell(-1); | |||
const __COLIDX = row.cells.length - 1; | |||
row.cells[__COLIDX].textContent = content; | |||
row.cells[__COLIDX].align = "center"; | |||
row.cells[__COLIDX].style.color = color; | |||
} | } | ||
Zeile 4.034: | Zeile 490: | ||
// bilanz: Angabe, ob Bilanz-Link eingefuegt werden oll | // bilanz: Angabe, ob Bilanz-Link eingefuegt werden oll | ||
function addZusatz(row, currZAT, anzZAT = 1, bilanz = false) { | function addZusatz(row, currZAT, anzZAT = 1, bilanz = false) { | ||
const | const __CELLS = row.cells; | ||
const __COLUMNINDEX = { | const __COLUMNINDEX = { | ||
'Lbl' : 0, | |||
'Art' : 1, | |||
'Geg' : 2, | |||
'Ber' : 2, | |||
'Zus' : 3 | |||
}; | |||
currZAT.gegner = __CELLS[__COLUMNINDEX.Geg].textContent; | |||
currZAT.gegner = currZAT.gegner.substr(0, currZAT.gegner.indexOf(" (")); | |||
setSpielArtFromCell(currZAT, __CELLS[__COLUMNINDEX.Art]); | |||
if (bilanz) { | |||
addBilanzLinkToCell(__CELLS[__COLUMNINDEX.Ber], currZAT.gameType, "(Bilanz)"); | |||
} | } | ||
incZAT(currZAT, anzZAT); | |||
appendCell(row, "\xA0" + getZusatz(currZAT)); | |||
__CELLS[__COLUMNINDEX.Zus].className = __CELLS[__COLUMNINDEX.Art].className; | |||
} | } | ||
// Verarbeitet Ansicht "Haupt" (Managerbuero) | // Verarbeitet Ansicht "Haupt" (Managerbuero) | ||
function procHaupt() { | function procHaupt() { | ||
const | const __TTAGS = document.getElementsByTagName("table"); | ||
const __MYTEAM = getMyTeamFromCell(__TTAGS[1].rows[0].cells[1]); // Link mit Team, Liga, Land... | |||
loadOptions(__MYTEAM); | |||
registerMenu(); | |||
const __ZAT = firstZAT(saison, ligaSize); | |||
const __NEXTZAT = getZATNrFromCell(__TTAGS[0].rows[2].cells[0]); // "Der naechste ZAT ist ZAT xx und ..." | |||
const __CURRZAT = __NEXTZAT - 1; | |||
addZusatz(__TTAGS[2].rows[0], __ZAT, __CURRZAT, true); // "Dein letztes Spiel:" (+ __CURRZAT) | |||
addZusatz(__TTAGS[3].rows[0], __ZAT); // "Dein naechstes Spiel:" (+ 1 ZAT) | |||
} | } | ||
procHaupt(); | |||
// *** EOF *** | // *** EOF *** | ||
</pre> | </pre> |