<?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; 
 | 
    } 
 | 
} 
 | 
?> 
 |