<?php
///////////////////////////////////////////////////////////////////////////

require_once 'lib/tv/default_channel.php';

///////////////////////////////////////////////////////////////////////////

class IptvChannel extends DefaultChannel
{
  private $has_archive;
  private $archive_hours;
  private $is_protected;
  private $buffering_ms;
  private $timeshift_hours;
  private $session;

    ///////////////////////////////////////////////////////////////////////

  public function __construct($id, $title, $icon_url, $has_archive, 
    $is_protected, $buffering_ms, $timeshift_hours, $session = null
    )
  {
    parent::__construct($id, $title, $icon_url, null);
    $this->session = $session;
    $this->has_archive = $has_archive;
    $this->is_protected = $is_protected;
    $this->buffering_ms = $buffering_ms;
    $this->timeshift_hours = $timeshift_hours;

    $this->archive_hours = ($this->session && $this->session->archive_hours) ? $this->session->archive_hours : 14*24;
  }

    ///////////////////////////////////////////////////////////////////////

  public function has_archive()
  { return $this->has_archive; }

  public function is_protected()
  { return $this->is_protected; }

  public function get_buffering_ms()
  { return $this->buffering_ms; }

  public function get_timeshift_hours()
  { return $this->timeshift_hours; }

  public function get_past_epg_days()
  { 
    return $this->archive_hours/24;
  }

  public function get_future_epg_days()
  { return 7; }

  public function get_archive_past_sec()
  { return $this->archive_hours * 60*60; }

  public function get_archive_delay_sec()
  { 
    if($this->timeshift_hours > 0){
      return 60 * 60 * (-1 * ($this->timeshift_hours - 0.5));}
    else { 
      return 31 * 60; 
    } 

  }
}

///////////////////////////////////////////////////////////////////////////
?>
