<?php 
 | 
include('./data/tv/xmltv_parse.php'); 
 | 
  
 | 
class tv extends xmltv_parse implements module { 
 | 
    static function register_cmd() { 
 | 
        return array( 
 | 
            't' => 'cmd_tv', 
 | 
            'tv' => 'cmd_tv', 
 | 
            'program' => 'cmd_tv', 
 | 
            'tvp' => 'cmd_tv', 
 | 
            'tvp1' => 'cmd_tv', 
 | 
            'tvp2' => 'cmd_tv', 
 | 
            'tvn' => 'cmd_tv', 
 | 
            'axn' => 'cmd_tv', 
 | 
            'polsat' => 'cmd_tv', 
 | 
            'polsta' => 'cmd_tv', 
 | 
            'l' => 'cmd_list', 
 | 
            'list' => 'cmd_list', 
 | 
            'lita' => 'cmd_list', 
 | 
            'lista' => 'cmd_list', 
 | 
        ); 
 | 
    } 
 | 
     
 | 
    static function parse_date(&$txt) { 
 | 
        $known = array( 
 | 
            'teraz' => 'now', 
 | 
            'dzis' => 'today', 
 | 
            'dzisiaj' => 'today', 
 | 
            'jutro' => 'tomorrow', 
 | 
            'pojutrze' => 'tomorrow +1 day', 
 | 
            'po jutrze' => 'tommorow +1 day', 
 | 
            'poniedzialek' => 'Monday', 
 | 
            'wtorek' => 'Tuesday', 
 | 
            'sroda' => 'Wednesday', 
 | 
            'czwartek' => 'Thursday', 
 | 
            'piatek' => 'Friday', 
 | 
            'sobota' => 'Saturday', 
 | 
            'niedziela' => 'Sunday', 
 | 
        ); 
 | 
        for($i=0; $i<3; $i++) { 
 | 
            $known[date('d.m', strtotime('+'.$i.' day'))] = 'today +'.$i.' day'; 
 | 
            $known[date('j.m', strtotime('+'.$i.' day'))] = 'today +'.$i.' day'; 
 | 
        } 
 | 
        foreach($known as $test => $time) { 
 | 
            if(substr($txt, -strlen($test))==$test) { 
 | 
                $txt = trim(substr($txt, 0, -strlen($test))); 
 | 
                return strtotime($time); 
 | 
            } 
 | 
            elseif(substr($txt, 0, strlen($test))==$test) { 
 | 
                $txt = trim(substr($txt, strlen($test))); 
 | 
                return strtotime($time); 
 | 
            } 
 | 
        } 
 | 
         
 | 
        return time(); 
 | 
    } 
 | 
     
 | 
    static function help($cmd=NULL) { 
 | 
        if($cmd === NULL) { 
 | 
            GGapi::putRichText('tv ', TRUE); 
 | 
            GGapi::putRichText('kanał [kiedy]', FALSE, TRUE); 
 | 
            GGapi::putRichText("\n".'   Program telewizyjny dla stacji '); 
 | 
            GGapi::putRichText('kanał'."\n", FALSE, TRUE); 
 | 
            GGapi::putRichText('lista ', TRUE); 
 | 
            GGapi::putRichText("\n".'   Lista dostępnych stacji telewizyjnych'."\n\n"); 
 | 
        } 
 | 
        elseif(substr($cmd, 0, 1) == 'l') { 
 | 
            GGapi::putRichText('lista ', TRUE); 
 | 
            GGapi::putRichText("\n".'   Podaje listę dostępnych w komendzie '); 
 | 
            GGapi::putRichText('tv', TRUE); 
 | 
            GGapi::putRichText(' stacji telewizyjnych'."\n\n"); 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            GGapi::putRichText('tv ', TRUE); 
 | 
            GGapi::putRichText('kanał [kiedy]', FALSE, TRUE); 
 | 
            GGapi::putRichText(' (alias: '); 
 | 
            GGapi::putRichText('program', TRUE); 
 | 
            GGapi::putRichText(')'."\n".'   Podaje program  dla stacji '); 
 | 
            GGapi::putRichText('kanał', FALSE, TRUE); 
 | 
            GGapi::putRichText(' na '); 
 | 
            GGapi::putRichText('[kiedy]'."\n\n", FALSE, TRUE); 
 | 
            GGapi::putRichText('Przykład', FALSE, FALSE, TRUE); 
 | 
            GGapi::putRichText("\n".'tv TVP 1'."\n".'tv TVP 1 sobota'); 
 | 
        } 
 | 
    } 
 | 
     
 | 
    static function cmd_list($name, $args) { 
 | 
        self::$aliases = './data/tv/aliases'; 
 | 
         
 | 
        GGapi::putRichText('Dostępne stacje telewizyjne:', TRUE); 
 | 
        GGapi::putRichText("\n".implode("\n", self::channels())); 
 | 
    } 
 | 
     
 | 
    static function cmd_tv($name, $args) { 
 | 
        self::$file = './data/tv/xmltv-utf.xml'; 
 | 
        self::$aliases = './data/tv/aliases'; 
 | 
         
 | 
        $time = self::parse_date($args); 
 | 
         
 | 
        if(empty($args)) { 
 | 
            $args = $name; 
 | 
        } 
 | 
         
 | 
        $tv = self::aliases($args); 
 | 
         
 | 
        if(!$tv) { 
 | 
            GGapi::putText('Nieznana stacja telewizyjna. Spróbuj:'."\n".'tv TVP 1'."\n".'tv Discovery'."\n\n".'lub wpisz '); 
 | 
            GGapi::putRichText('lista', TRUE); 
 | 
            GGapi::putRichText(' by uzyskać listę dostępnych stacji telewizyjnych'); 
 | 
            return; 
 | 
        } 
 | 
         
 | 
        GGapi::putRichText('Program stacji '.$tv."\n", TRUE, FALSE, TRUE); 
 | 
        self::schedule($tv, $time); 
 | 
    } 
 | 
} 
 | 
?> 
 |