Kalenderdaten aktualisieren

[insert_php]

$spparams = Array (
„sis_meinevereinsnummer“ => „1410801122“,
„sis_meinvereinspasswort“ => „564409“,
„sis_url“ => „http://www.sis-handball.de“,
„sis_timezone“ => „Europe/Vienna“,
„sis_deinvereinsname“ => „SV Erbach“,
„sis_deinvereinsnameshort“ => „SVE“,
„sis_deinvereinsurl“ => „http://s521425851.online.de/SVE_wordpress/“,
„sis_icsurl“ => „kalenderdaten“,
„sis_jahr“ => „2018“
);

/**Hier die Daten der Teams eintragen (immer der Wert nach =>).
sis_team muss den Namen aus dem Menüeintrag „Name für .ics-Datei“ haben!
sis_clubnummer und sis_clubnummer1 stehen für die Teams, mindestens eines muss angegeben werden.**/
$artauf = array(
array(„sis_team“ => „m1“, „sis_liganr“ => „001517504501508501000000000000000001000“, „sis_clubnummer“ => „001517504501508501000000000000000001004“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „m2“, „sis_liganr“ => „001517504501508501000000000000000005000“, „sis_clubnummer“ => „001517504501508501000000000000000005004“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „f1“, „sis_liganr“ => „001517504501508502000000000000000001000“, „sis_clubnummer“ => „001517504501508502000000000000000001006“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „mA“, „sis_liganr“ => „001517504501508504000000000000000001000“, „sis_clubnummer“ => „001517504501508504000000000000000001007“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „mB“, „sis_liganr“ => „001517504501508504000000000000000011000“, „sis_clubnummer“ => „001517504501508504000000000000000011004“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „mC“, „sis_liganr“ => „001517504501508504000000000000000016000“, „sis_clubnummer“ => „001517504501508504000000000000000016005“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „mD“, „sis_liganr“ => „001517504501508504000000000000000024000“, „sis_clubnummer“ => „001517504501508504000000000000000024004“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „mDAK“, „sis_liganr“ => „001517504501508504000000000000000027000“, „sis_clubnummer“ => „001517504501508504000000000000000027008“, „sis_clubnummer1“ => „001517504501508504000000000000000027008“),
array(„sis_team“ => „mE“, „sis_liganr“ => „001517504501508504000000000000000032000“, „sis_clubnummer“ => „001517504501508504000000000000000032007“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „wA“, „sis_liganr“ => „001517504501508505000000000000000001000“, „sis_clubnummer“ => „001517504501508505000000000000000001006“, „sis_clubnummer1“ => „“),
array(„sis_team“ => „wC“, „sis_liganr“ => „001517504501508505000000000000000014000“, „sis_clubnummer“ => „001517504501508505000000000000000014006“, „sis_clubnummer1“ => „“)

);

/**Variable Daten Ende**/

/**Ab hier nichts mehr ändern!!!**/
//Timezone einstellen für Datumsberechnung
date_default_timezone_set($spparams[’sis_timezone‘]);
$heute = mktime(0, 0, 0, date(„m“) , date(„d“), date(„Y“));
$futuredate = mktime(0, 0, 0, 1, 1, $spparams[’sis_jahr‘]);

$wtag = array(
„Mon“ => „Mo.“,
„Tue“ => „Di.“,
„Wed“ => „Mi.“,
„Thu“ => „Do.“,
„Fri“ => „Fr.“,
„Sat“ => „Sa.“,
„Sun“ => „So.“
);

$monat = array(
„Jan“ => „Januar“,
„Feb“ => „Februar“,
„Mar“ => „März“,
„Apr“ => „April“,
„May“ => „Mai“,
„Jun“ => „Juni“,
„Jul“ => „Juli“,
„Aug“ => „August“,
„Sep“ => „September“,
„Oct“ => „Oktober“,
„Nov“ => „November“,
„Dec“ => „Dezember“
);

//Aufrufschleife beginnen
//Array Mannschaften zählen
$teamanz = count($artauf);
echo $teamanz.‘ Mannschaften:
‚;

for ($t=0; $t < $teamanz; $t++) { $liganummer = $artauf[$t]['sis_liganr']; $sis_clubnummer = $artauf[$t]['sis_clubnummer']; $sis_clubnummer1 = $artauf[$t]['sis_clubnummer1']; $linkresults = $spparams['sis_url']."/xmlexport/xml_dyn.aspx?art=1&auf=".$liganummer."&user=".$spparams['sis_meinevereinsnummer']."&pass=".$spparams['sis_meinvereinspasswort']; $filepath=$_SERVER['DOCUMENT_ROOT'].(substr($_SERVER['DOCUMENT_ROOT'], -1) == "/" ? '' : '/').'data/'; //File laden $datei = ($filepath.'sp_sis_art_1_ln_'.$artauf[$t]['sis_liganr'].'.xml'); // echo "XML DATEI".$datei."XMLDATEI"; echo $artauf[$t]['sis_team'] . ": "; // Data Verzeichnis erstellen $datapath = $filepath; if (!file_exists($datapath)){ mkdir($datapath, 0755)or die("DataOrdner nicht erstellbar! Bitte per FTP erstellen"); } //File laden if (file_exists($datei)) { echo "Datei existiert - "; $LetzteAenderung = filemtime($datei); if ( (time() - $LetzteAenderung) > 20) {
echo „Letzte Aenderung laenger als 1800 – „;
if(file_get_contents($linkresults)) {
//Laden
$content = file_get_contents($linkresults);
//Parsen
$doc = DOMDocument::loadXML($content);
//Altes File löschen
unlink($datei);
//Speichern
$doc->save($filepath.’sp_sis_art_1_ln_‘.$artauf[$t][’sis_liganr‘].‘.xml‘);
echo „Alte XML Datei geloescht und neue Datei geschrieben – „;
}
echo „Keine Aenderung“;
}
} else {
//Laden
$content = file_get_contents($linkresults);
//Parsen
$doc = DOMDocument::loadXML($content);
//Speichern
$doc->save($filepath.’sp_sis_art_1_ln_‘.$artauf[$t][’sis_liganr‘].‘.xml‘);
echo „Neue XML Datei geschrieben
„;
}

// echo „hallo“;

$xmldatei = $datei;

$result = simplexml_load_file($xmldatei);

echo $datei;

//iCal start
$string=’BEGIN:VCALENDAR
CALSCALE:GREGORIAN
VERSION:2.0
PRODID:-//‘.$spparams[’sis_deinvereinsname‘].‘ Calendar V1.1//EN
METHOD:PUBLISH
X-WR-TIMEZONE:‘.$spparams[’sis_timezone‘].‘
‚;
//iCal end
$spielcount = 0;

foreach ($result->Spiel as $spiel) {
if((string) $spiel->Mannschaft1 === $sis_clubnummer || (string) $spiel->Mannschaft2 === $sis_clubnummer || (string) $spiel->Mannschaft1 === $sis_clubnummer1 || (string) $spiel->Mannschaft2 === $sis_clubnummer1) {
//$spdatum_exp = explode(‚-‚, (string) $spiel->SpielDatum);
//$spdatum_exp = preg_replace(‚/[^T0-9]+/‘, “,strrev(substr(strrev((string) $spiel->SpielDatum),5)));
$spdatum_exp = preg_split(‚/[^T0-9]+/‘, (string) $spiel->SpielDatum);
//print_r($spdatum_exp);
$spdatumvon_exp = preg_split(‚/[^T0-9]+/‘, (string) $spiel->SpielVon);
//Sun, 09. Oct. 2011 => date(‚D, d. M. Y‘, strtotime ($spiel->Datum))
$wtagsp = $wtag[date(‚D‘, strtotime ($spiel->SpielDatum))];
$monatsp = $monat[date(‚M‘, strtotime ($spiel->SpielDatum))];
$sdatum = mktime(0, 0, 0, date(‚m‘, strtotime ($spiel->SpielDatum)) , date(‚d‘, strtotime ($spiel->SpielDatum)), date(‚Y‘, strtotime ($spiel->SpielDatum)));
//echo ‚Datum: ‚.$sdatum.‘ – heute: ‚.$heute;
if($heute <= $sdatum && $sdatum < $futuredate) { //iCal start $string.='BEGIN:VEVENT CREATED:'.date('Ymd').'T'.date('His').'Z LAST-MODIFIED:'.date('Ymd').'T'.date('His').'Z DTSTAMP:'.date('Ymd').'T'.date('His').'Z SUMMARY:'.strtoupper($spparams['sis_deinvereinsnameshort']).' '.strtoupper($artauf[$t]['sis_team']).' Spiel: '.$spiel->Heim.‘ – ‚.$spiel->Gast.‘
LOCATION:‘.$spiel->HallenOrt.‘, ‚.$spiel->HallenStrasse.‘
DTSTART:‘.preg_replace(‚/[^T0-9]+/‘, “,strrev(substr(strrev((string) $spiel->SpielVon),5))).‘
DTEND:‘.preg_replace(‚/[^T0-9]+/‘, “,strrev(substr(strrev((string) $spiel->SpielBis),5))).‘
URL:‘.$spparams[’sis_deinvereinsurl‘].‘
DESCRIPTION:Termin: ‚.$wtagsp.‘, ‚.date(‚j.‘, strtotime ($spiel->SpielDatum)).‘ ‚.$monatsp.‘ ‚.date(‚Y‘, strtotime ($spiel->SpielDatum)).’nZeit: ‚.substr($spdatumvon_exp[2],-2).‘:‘.$spdatumvon_exp[3].‘ UhrnMannschaften: ‚.$spiel->Heim.‘ – ‚.$spiel->Gast.’nSpielort: ‚.$spiel->HallenName.’n‘.$spiel->HallenOrt.‘, ‚.$spiel->HallenStrasse.‘
TRANSP:TRANSPARENT
UID:‘.$spparams[’sis_deinvereinsnameshort‘].’_‘.strtoupper($artauf[$t][’sis_team‘]).’_Spieltermin-‚.$spdatumvon_exp[0].$spdatumvon_exp[1].substr($spdatumvon_exp[2],0,-3).‘:‘.substr($spdatumvon_exp[2],-2).$spdatumvon_exp[3].$spdatumvon_exp[4].’@‘.substr($spparams[’sis_deinvereinsurl‘], 11).‘
END:VEVENT
‚;
//iCal end

$spielcount++;

} //endif Datum
} //endif Mannschaft
}

//iCal start
$string.=’END:VCALENDAR‘;

//Verzeichnis erstellen
$path = $_SERVER[‚DOCUMENT_ROOT‘].(substr($_SERVER[‚DOCUMENT_ROOT‘], -1) == „/“ ? “ : ‚/‘).$spparams[’sis_icsurl‘];
if (!file_exists($path)){
mkdir($path, 0755)or die(„Ordner nicht erstellbar! Bitte per FTP erstellen“);
}
$handle = @fopen($path.“/“.$spparams[’sis_deinvereinsnameshort‘].“-spiele_“.$artauf[$t][’sis_team‘].“.ics“, ‚w‘);
fwrite($handle, $string);
fclose($handle);
//iCal end
echo ‚Done: ‚.$s.‘; ‚.$spielcount.‘ Spiel(e)
‚;
} // for Aufrufschleife ende

[/insert_php]