| <?php | 
| class xmltv_parse { | 
|     static $file; | 
|     static $aliases; | 
|      | 
|     static function schedule($id, $datetime=NULL) { | 
|         if($datetime === NULL) $datetime = time(); | 
|          | 
|         $dane = simplexml_load_file(self::$file); | 
|         $abc = $dane->xpath('programme[@channel=\''.$id.'\' and number(substring(@stop, 1, 12))>\''.date('YmdHi', $datetime).'\' and number(substring(@start, 1, 12))<\''.date('YmdHi', $datetime+(3600*24)).'\']'); | 
|          | 
|         $last = 0; | 
|         $concat = ''; | 
|         foreach($abc as $value) { | 
|             $now = date('d.m.Y', strtotime(substr($value['start'], 0, -6))); | 
|             if($now != $last) { | 
|                 if(!empty($concat)) GGapi::putRichText($concat); | 
|                 GGapi::putRichText("\n".$now."\n", TRUE); | 
|                 $last = $now; | 
|                 $concat = ''; | 
|             } | 
|             $concat .= date('H:i', strtotime(substr($value['start'], 0, -6))).' '.$value->title."\n"; | 
|         } | 
|          | 
|         if(!empty($concat)) GGapi::putRichText($concat); | 
|     } | 
|      | 
|     static function aliases($tv = NULL) { | 
|         $tv = funcs::utfToAscii($tv); | 
|         $dane = file(self::$aliases); | 
|          | 
|         $return = array(); | 
|         foreach($dane as $line) { | 
|             $line = trim($line); | 
|             if(empty($line) OR substr($line, 0, 1)=='#') | 
|                 continue; | 
|              | 
|             $line = explode("\t", $line); | 
|             for($i=0; $i<count($line); $i++) { | 
|                 if($tv!==NULL AND funcs::utfToAscii($line[$i])==$tv) { | 
|                     return $line[0]; | 
|                 } | 
|                 else | 
|                 { | 
|                     $return[$line[$i]] = $line[0]; | 
|                 } | 
|             } | 
|         } | 
|          | 
|         if($tv!==NULL) { | 
|             return FALSE; | 
|         } | 
|         else | 
|         { | 
|             return $return; | 
|         } | 
|     } | 
|      | 
|     static function channels() { | 
|         $dane = file(self::$aliases); | 
|          | 
|         $return = array(); | 
|         foreach($dane as $nazwa) { | 
|             $nazwa = trim($nazwa); | 
|             if(empty($nazwa) OR substr($nazwa, 0, 1)=='#') | 
|                 continue; | 
|              | 
|             $return[] = strtok($nazwa, "\t\n"); | 
|         } | 
|          | 
|         return $return; | 
|     } | 
| } | 
| ?> |