#!/bin/sh
#----------------------------------------------------------------------
#
# livescore.sh
#
# V1.4a
#
# Ermittelt alle Fussball Spielstände des aktuellen Tages
#
# Quelle:
http://www.ergebnisselive.de
#
# Aufruf ueber das Flexmenu Plugin
#
# Dazu Eintrag in der shellexec.conf:
#
# ACTION=&Fu~zball Livescores, ( /var/plugins/livescore.sh makemainmenu <fr|en|ge> <all>; if [ -f /tmp/livescore_main.inc ] ; then /var/plugins/shellexec /tmp/livescore_main.inc ; rm /tmp/livescore* ; else msgbox popup='Fehler, Menu wurde nicht erzeugt.' timeout=5 ;fi )
#
# V1.2 Ermitteln/Anzeigen der Spieldetails hinzugefuegt
#
# V1.2a Formatierung der Detailanzeige geaendert, kleinere Fehler bereinigt
#
# V1.3 Internationale Version (deutsch,englisch,franzoesisch)
#
# V1.4 Anzeige aller Spiele des aktuellen Tages, Ligen mit aktiven Spielen werden farblich markiert
# thanks elreydelaplaya

#
# V1.4a div. Fehler bereinigt: a) Carton rouge hat gefehlt, Live-Erkennung bei Halbzeit fehlerhaft
#
# Author: barabas
#----------------------------------------------------------------------
#set -x
# Details URL
http://www.ergebnisselive.de/detail/soc ... tch=476641
# onCLick="D(1,476641)
if [ -e /bin/msgbox ] ; then msgbox="/bin/msgbox"
else msgbox="/var/bin/msgbox"
fi;
tag=`date +%Y-%m-%d`
ausgabe_conf=/tmp/livescore_main.inc
ausgabe_inc=/tmp/livescore.inc
prg=$0
spieldetails=/tmp/livescore_details.sh
spieldetails_out=/tmp/livescore_spieldetails.out
tempfile=/tmp/livescore_spieldetails.tmp
sedfile=/tmp/livescore.sed
# nur aktive Spiele anzeigen
cat="notall"
# Sprachauswahl
case $2 in
"fr") # Franzoesisch
lang="fr"
url="
http://www.flashresultats.com"
rotekarte=" (~R#~S) Cart. rouge: "
start="Debut:"
spielzeit="Actuellement:"
tor=" par: "
popup="Pas de details!"
msgtext=" Aucun resultat trouve!"
msgtitle="Detail du match"
mainmenutitle="Tous les Matchs du jour"
info="Scores en direct fournis par FlashResultats.com"
halbzeit="Mi-temps"
[ "$3" = "all" ] && cat="$3"
;;
"en") # Englisch
lang="en"
url="
http://www.flashscores.co.uk"
rotekarte=" (~R#~S) Red Card: "
start="start time:"
spielzeit="act. Time:"
tor=" goal: "
popup="No details found!"
msgtext=" No match found!"
msgtitle="match details"
mainmenutitle="Football live scores"
info="Live scores powered by FlashScores.co.uk"
halbzeit="Half Time"
[ "$3" = "all" ] && cat="$3"
;;
*) # Deutsch
lang="ge"
url="
http://www.ergebnisselive.de"
rotekarte=" (~R#~S) Rote Karte: "
start="Spielbeginn:"
spielzeit="Aktuelle Spielzeit:"
tor=" Tor: "
popup="Keine Details gefunden!"
msgtext=" Kein Spiel gefunden!"
msgtitle="Spieldetails"
mainmenutitle="Fu~zball Livescores"
info="Die Live-Ergebnisse wurden von ErgebnisseLive.de bereitgestellt."
halbzeit="Halbzeit"
[ "$3" = "all" ] && cat="$3"
[ "$2" = "all" ] && cat="$2"
;;
esac
#------------------------------------------------
# Spieldetails Skript zusammenbauen
#------------------------------------------------
echo "
#!/bin/sh
wget -O- $url/detail/soccer.php?match=\$1 |\\
sed ':a
/fl">$/N; s/\\\n//; ta
/fr">$/N; s/\\\n//; ta
/"score" rowspan=".">$/N; s/\\\n//; ta
/"score">$/N; s/\\\n//; ta
/class="mstat">$/N; s/\\\n//; ta
/"right tname">$/N; s/\\\n/#Heim: /; ta
/</th>$/N; s/\\\n//; ta' |\\
sed 's/<title>/#Paarung: /
s/<span class="r">/\\\n#Aktstand: /
s/<span class="flag fl.*">/#Liga: /
s/^.*h-part">/#Halbzeit: /
s/^.*mstat-date">/#Ansto~z: /
s/^.*<td class="score">/#Akt. Stand: /
s/<th class="left tname">/#Gast: /
s/^.*class="mstat">/#Aktuell: /
s/<td class="score" rowspan=".">/#Halbzeit-Spielstand: /
s/<td class="summary fl"><div class="time-box">/#Heimaktion: /
s/<td class="summary fr"><div class="time-box">/#Gastaktion: /
s/<span class="icon soccer-ball">/$tor/g
s/<span class="icon r-card">/$rotekarte/
s/ //g
s/<[^>]*>//g
s/ö/~o/g
s/ä/~a/g
s/ü/~u/g
s/Ä/~A/g
s/Ü/~U/g
s/Ö/~O/g
s/ß/~z/g
# UTF8
s/[é,è]/e/g
s/É/E/g
# ISO8859
s/é/e/g
s/É/E/g
s/ô/o/g
s/(Tor in der Verl~angerung)//g' | sed "s/'/ min./g" |\\
sed '/^#/!d' >$tempfile
awk 'BEGIN{ FS=":" ; g=0 ; h=0 }
\$1 ~/#Paarung\$/ {paarung=\$2}
\$1 ~/#Heim\$/ {heim=\$2}
\$1 ~/#Gast\$/ {gast=\$2}
\$1 ~/#Aktuell/ {aktzeit=\$2}
\$1 ~/#Ansto~z/ {anstoss=\$2":"\$3}
\$1 ~/#Aktstand\$/ && \$2 !~/^[ ]*$/ {aktstand=\$2}
\$1 ~/#Akt. Stand\$/ && \$2 !~/^[ ]*$/ && aktstand=="" {aktstand=\$2}
\$1 ~/#Gastaktion\$/ {gastakt[g]=\$2" "\$3 ; g=g+1}
\$1 ~/#Heimaktion\$/ {heimakt[h]=\$2" "\$3 ; h=h+1}
END {
printf("~Y~l~T100%s~S~G~T290%s~S~Y~T360%s~S\\\\n~s\\\\n\\\\n",heim,aktstand,gast)
for(x=0;x<g;x++)
printf("~T370%s\\\\n",gastakt[x])
for(x=0;x<h;x++)
printf("~T100%s\\\\n",heimakt[x])
printf("\\\\n~s\\\\n$start ~T255~Y%s~S\\\\n$spielzeit ~T255~Y%s~S\\\\n",anstoss,aktzeit)
}' $tempfile >$spieldetails_out
" >$spieldetails
chmod 755 $spieldetails
#---------------------------------------------------------------
makemainmenu () {
echo "LINESPP=12
FONT=/share/fonts/micron_bold.ttf
FONTSIZE=24
WIDTH=640
HIGHT=520
MENU=$mainmenutitle $tag
INCLUDE=$ausgabe_inc
ENDMENU" >$ausgabe_conf
}
#---------------------------------------------------------------
make_include () {
url="$1"
msgtitle="$2"
popup="$3"
lang="$4"
halbzeit="$6"
if [ "$5" = "all" ] ; then
catnr=0
else
catnr=1
fi
wget -O- "$url/iframe/soccer.php?date=$tag&category=$catnr&country=0" |\
sed "s/<td class="ta fd">/\n/g
s/<span class=".. .. ..">TOR<\/span>//g
s#<span class="fl fl_..">#\nENDMENU=$0 refresh $lang $cat\nMENU=#g
s/<\/span>/\n/g
s/MouseOver=/\nMouseOver=/g" |\
sed ':a
/;">$/N; s/\n//; ta' |\
sed "s/^.*MouseOver=.*onCLick="D(1,//g
s/ //g
/^<.*$/d
s/<[^>]*>/ /g
s/);">/#/g
s/# /#/g
s/([0-9] -.*$//g
s/ \+/ /g
s/ö/oe/g
s/ä/ae/g
s/ü/ue/g
s/Ä/AE/g
s/Ü/UE/g
s/Ö/OE/g
s/ß/ss/g
# UTF8
s/[é,è]/e/g
s/É/E/g
# ISO8859
s/é/e/g
s/É/E/g
s/ô/o/g
s/ '/"/g
s/<.*$//g
s/$info//
/">/d
s/#[0-9][0-9]:[0-9][0-9]/#/g" | sed -e '1d' |\
sed "s@\(^.*\)#\(.*$\)@ACTION=\&\2,$spieldetails \1 ; if [ -f $spieldetails_out ] ; then $msgbox title="$msgtitle" size=26 msg=$spieldetails_out ; else $msgbox popup="$popup" timeout=5 ; fi @" >$ausgabe_inc
echo "ENDMENU=$0 refresh $lang $cat" >>$ausgabe_inc
# alle Ligen mit aktiven Spielen markieren
awk -v halbzeit="$halbzeit" 'BEGIN { }
$0 ~/MENU=/ {
liga=$0
}
$0 ~/[0-9]"/ || match($0,halbzeit) {
print "s/" liga "/" liga " [~YLive~S]/"
}
$0 ~/ENDMENU/ {
liga=""
}' $ausgabe_inc | sort -u >$sedfile
sed -if $sedfile $ausgabe_inc
}
# ------------------- MAIN -------------------------
case "$1" in
makemainmenu) make_include $url "$msgtitle" "$popup" $lang $cat "$halbzeit"
if [ `grep -c 'ACTION=' $ausgabe_inc` -gt 0 ] ; then
makemainmenu
else
$msgbox title="$mainmenutitle $tag" msg="$msgtext" timeout=10
fi ;;
refresh) make_include $url "$msgtitle" "$popup" $lang $cat "$halbzeit" ;;
esac