53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Model;
|
|
|
|
class Track extends Model {
|
|
public $start;
|
|
public $itemCode;
|
|
public $title;
|
|
public $artist;
|
|
public $duration;
|
|
public $ends;
|
|
|
|
public function __construct($data) {
|
|
parent::__construct($data);
|
|
parent::ConvertToDateTime($this->start);
|
|
parent::ConvertToDateTime($this->ends);
|
|
}
|
|
|
|
private static $IDENTS = ['NIEUWSOPEN ' => 'Nieuws', 'ANWB' => 'Verkeersinformatie', 'REGIO' => 'Regionieuws', 'CB' => 'Reclame'];
|
|
|
|
public function isLayout() {
|
|
if(strlen($this->itemCode) > 0 && ($this->itemCode[0] == 'V')) {
|
|
foreach(self::$IDENTS as $ident => $display) {
|
|
if(substr($this->itemCode, 0, strlen($ident)) == $ident || substr($this->title, 0, strlen($ident)) == $ident) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
public function ends($ends = null) {
|
|
$this->ends = $ends;
|
|
}
|
|
|
|
public function secondsRemaining() {
|
|
return ($this->ends) ? ($this->ends->getTimestamp() - time()) : -1;
|
|
}
|
|
|
|
public function display() {
|
|
foreach(self::$IDENTS as $ident => $display) {
|
|
if(substr($this->itemCode, 0, strlen($ident)) == $ident || substr($this->title, 0, strlen($ident)) == $ident) {
|
|
return $display;
|
|
}
|
|
}
|
|
|
|
return $this->artist . ($this->artist ? ' - ' : '') . $this->title;
|
|
}
|
|
}
|