<?php

$year 
date("Y");
$strasse 717// == Martinsberger Straße

$url "http://www.azv-hof.de/kalender_$year/_land/onlinekalender_$year.php?strasse=$strasse";

$sms_empfaenger = array("49161xxxxxxxx");


$ch curl_init();
curl_setopt($chCURLOPT_URL$url);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_HEADER0);
$result curl_exec($ch);

$dom = new DOMDocument();
@
$dom->loadHTML($result);


$array = @dom_to_array($dom);

$body $array["html"][1]["body"];

$div1 $body["div"][0];
$div2 $body["div"][2];
// erste 6 monate
$table1 $div1["table"]["tr"];
// letzte 6 monate
$table2 $div2["table"]["tr"];

//erste 6 tr von table 1 wegmachen, um daten tr zu erhalten
$x 0;
while (
$x <= ) {
    
array_shift($table1);
    
$x++;
}

foreach (
$table1 as $tr) {
    
$td $tr["td"];
    
// immer 3 tds gehoeren zu einem monat. 3*6 = 18; 0-2 => jan, 3-5 = feb, etc.
    
$x 0;
    
$month 1;
    
$loop 0;
    foreach (
$td as $datafield) {

        switch(
$x) {
            case 
0:
                
$day $td[$loop]["_value"];
            break;
            case 
1:
                
$day_name $td[$loop]["_value"];
            break;
            case 
2:
                if (!empty(
$td[$loop]["img"]["src"])) {
                    
$day_event return_muell_typ($td[$loop]["img"]["src"]);
                } else {
                    if (
is_array($td[$loop]["img"])) {
                        foreach (
$td[$loop]["img"] as $img) {
                            
$day_event .= return_muell_typ($img["src"])." ";
                        }
                    }
                }
            break;
        }
        
$x++;
        if (
$x == 3) {
            
$x 0;
            
$dates[$month][$day] = $day_event;
            unset(
$day_event);
            
$month++;
        }
        
$loop++;
    }
}


foreach (
$table2 as $tr) {
    
$td $tr["td"];
    
// immer 3 tds gehoeren zu einem monat. 3*6 = 18; 0-2 => jan, 3-5 = feb, etc.
    
$x 0;
    
$month 7;
    
$loop 0;
    foreach (
$td as $datafield) {
        switch(
$x) {
            case 
0:
                
$day $td[$loop]["_value"];
            break;
            case 
1:
                
$day_name $td[$loop]["_value"];
            break;
            case 
2:
                if (!empty(
$td[$loop]["img"]["src"])) {
                    
$day_event return_muell_typ($td[$loop]["img"]["src"]);
                } else {
                    if (
is_array($td[$loop]["img"])) {
                        foreach (
$td[$loop]["img"] as $img) {
                            
$day_event .= return_muell_typ($img["src"])." ";
                        }
                    }
                }
            break;
        }
        
$x++;
        if (
$x == 3) {
            
$x 0;
            
$dates[$month][$day] = $day_event;
            unset(
$day_event);
            
$month++;
        }
        
$loop++;
    }
}

$month_lookup = (int) date("m");
$day_lookup = (int) date("d",mktime(0,0,0,date("m"),date("d")+1,date("Y")));
$result =  $dates[$month_lookup][$day_lookup];

if (!empty(
$result)) {
    
$date_tomorrow date("d.m.Y",mktime(0,0,0,date("m"),date("d")+1,date("Y")));
    
$sms_string "Morgen ($date_tomorrow) ist $result";


    foreach (
$sms_empfaenger as $to) {
      print 
"Sende \"$sms_string\" an $to\n";
      
sendsms($to,$sms_string);
    }
}

function 
return_muell_typ ($result) {
    switch (
$result) {
        case (
preg_match("/r.png/",$result)?$result:!$result):
            
$muell_typ "Rest-Muell";
        break;
        case (
preg_match("/wb.png/",$result)?$result:!$result):
            
$muell_typ "Weihnachtsbaum";
        break;
        case (
preg_match("/b.png/",$result)?$result:!$result):
            
$muell_typ "Bio-Muell";
        break;
        case (
preg_match("/p.png/",$result)?$result:!$result):
            
$muell_typ "Papier-Muell";
        break;

        default:
        break;
    }
    return (
$muell_typ);
}


function 
dom_to_array($root)
{
    
$result = array();

    if (
$root->hasAttributes())
    {
        
$attrs $root->attributes;

        foreach (
$attrs as $i => $attr)
            
$result[$attr->name] = $attr->value;
    }

    
$children $root->childNodes;

    if (
$children->length == 1)
    {
        
$child $children->item(0);

        if (
$child->nodeType == XML_TEXT_NODE)
        {
            
$result['_value'] = $child->nodeValue;

            if (
count($result) == 1)
                return 
$result['_value'];
            else
                return 
$result;
        }
    }

    
$group = array();

    for(
$i 0$i $children->length$i++)
    {
        
$child $children->item($i);

        if (!isset(
$result[$child->nodeName]))
            
$result[$child->nodeName] = dom_to_array($child);
        else
        {
            if (!isset(
$group[$child->nodeName]))
            {
                
$tmp $result[$child->nodeName];
                
$result[$child->nodeName] = array($tmp);
                
$group[$child->nodeName] = 1;
            }

            
$result[$child->nodeName][] = dom_to_array($child);
        }
    }

    return 
$result;
}

function 
sendsms($to,$string) {

// script fuer sms4.de 

$kdnr  "SMxxxx";
$pw   "xxxx";
$user "xxxxx";
$absender="xxxx";

$handynr $to;
$text $string;

$tarif 1// mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC

// URL zusammenbauen

$url "http://www.sms4.de/cgi-bin/sms_out.pl?"
 
"handynr="  UrlEncode($handynr)
 . 
"&user=" UrlEncode($user)
 . 
"&pwd=" UrlEncode($pw)
 . 
"&kdnr="  UrlEncode($kdnr)
 . 
"&text="  UrlEncode($text)
 . 
"&tarif="    UrlEncode($tarif)
 . 
"&absender="    UrlEncode($absender)
 ;
$message="";

if ( (
$f = @fopen($url"r")))  {
 
$max_zeichen=256;
 
$daten fgets($f$max_zeichen);
        while (
$daten) {
         
$message.= $daten;
         
$daten fgets($f$max_zeichen);
        }
}
else {
 echo 
"Fehler: URL $url konnte nicht geöffnet werden.";
}


}
?>