From f27608f2695d51f563adb6ebc8c475c6a8df53ba Mon Sep 17 00:00:00 2001 From: root Date: Wed, 17 Feb 2010 23:14:37 +0100 Subject: 0.3.5-dev --- includes/inc_vdr.php | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100755 includes/inc_vdr.php (limited to 'includes/inc_vdr.php') diff --git a/includes/inc_vdr.php b/includes/inc_vdr.php new file mode 100755 index 0000000..d36c8cc --- /dev/null +++ b/includes/inc_vdr.php @@ -0,0 +1,204 @@ +Connect(); + $allepg = $svdrp->Command("LSTE NOW"); + $svdrp->Disconnect(); + $allepgfilled = 1; + } + + $channame = $stream; + } + else + { + $infofile = $vdrrecpath .$stream ."/info"; + if (file_exists($infofile)) + $info= file_get_contents($infofile); + else + { + $infofile = $vdrrecpath .$stream ."/info.vdr"; + if (file_exists($infofile)) + $info= file_get_contents($infofile); + else + $info=""; + } + + $allepg = explode("\n", $info); + } + + if ($ischan) + $chanfound = 0; + else + $chanfound = 1; + $epgtitlefound = 0; + + $epgtitle=""; + $epgdesc=""; + + // For all epg + $count = count($allepg); + for ($i = 0; $i < $count; $i++) + { + // Find the right chan (take the first one) + if ($chanfound == 0) + { + if (strstr($allepg[$i], $stream) == $stream) + $chanfound = 1; + } + else + { + // Now find T or C + if(ereg("^C", $allepg[$i])) + { + // Check if it is our chan too, else search again + if ($ischan) + { + if(!ereg("$stream$", $allepg[$i])) + { + $chanfound = 0; + continue; + } + } + else + { + $channame = substr($allepg[$i], 2); + $channames = explode(" ", $channame); + $channame = substr($channame, strlen($channames[0])); + } + } + else if(ereg("^T", $allepg[$i])) + $epgtitle=substr($allepg[$i], 2); + else if(ereg("^D", $allepg[$i])) + $epgdesc=substr($allepg[$i], 2); + } + } + + return array($epgtitle, $epgdesc, $channame); +} + +function vdrgetchannum($chan = "NULL") +{ + global $svdrpip, $svdrpport; + + $svdrp = new SVDRP($svdrpip, $svdrpport); + $svdrp->Connect(); + $channels = $svdrp->Command("LSTC"); + $svdrp->Disconnect(); + + // Get channel number + $channels = preg_grep(quotemeta('"'.$chan.';|'.$chan.':"'), $channels); + reset($channels); + + $channels = explode(" ", $channels[key($channels)]); + $channum = $channels[0]; + + return $channum; +} + +function vdrlistcategories() +{ + global $vdrchannels; + + // All chans + print "
  • All channels
  • \r\n"; + print "
    \r\n"; + + $fp = fopen ($vdrchannels,"r"); + while ($line = fgets($fp, 1024)) + { + // Check if it is a categorie + if ($line[0] == ":") + { + // Remove : and @ + $cat = substr($line, 1, -1); + if($cat[0] == '@') + { + $cat_array = explode(' ', $cat); + $cat = substr($cat, strlen($cat_array[0])+1); + } + + $cat2 = addslashes($cat); + + print "
  • $cat
  • \r\n"; + print "
    \r\n"; + } + } + fclose($fp); +} + +function vdrlistchannels($category = "NULL") +{ + global $epgtitle; + global $vdrchannels; + + if ($category == "All") + $cat_found=1; + else + $cat_found=0; + + $fp = fopen ($vdrchannels,"r"); + while ($line = fgets($fp, 1024)) + { + if ($cat_found) + { + if ($line[0] == ":") + { + if ($category == "All") + continue; + else + break; + } + + $channels = explode(":", $line); + $channels = explode(";", $channels[0]); + $chan = $channels[0]; + + // Get EPG title + $epgtitle = NULL; + list($epgtitle, $epgdesc, $channame) = vdrgetinfostream($chan, 1); + print "
  • "; + $chan2=addslashes($chan); + print " \r\n"; + if (!file_exists('logos/'.$chan.'.png')) + print " \r\n"; + else + print " \r\n"; + print " $chan\r\n"; + print " $epgtitle\r\n
  • \r\n"; + print "
    "; + print " "; + print " "; + print " "; + print "
    \r\n"; + } + else + { + if ($line[0] == ":") + { + // Remove : and @ + $cat = substr($line, 1, -1); + if($cat[0] == '@') + { + $cat_array = explode(' ', $cat); + $cat = substr($cat, strlen($cat_array[0])+1); + } + + // Check category + if ("$cat" == "$category") + $cat_found = 1; + } + } + } + fclose($fp); +} +?> -- cgit v1.2.3