Jacek Kowalski
2012-06-25 3f9e0f0659df5e243943cf00112794ea32bfdab4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?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;
    }
}
?>