47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Model;
|
|
|
|
require "Program.php";
|
|
|
|
class Podcast extends Model {
|
|
public $id;
|
|
public $title;
|
|
public $content;
|
|
protected $soundfilename;
|
|
public $created;
|
|
public $program;
|
|
public $url;
|
|
public $download;
|
|
private $key;
|
|
|
|
public function __construct($data) {
|
|
parent::__construct($data);
|
|
parent::ConvertToDateTime($this->created);
|
|
|
|
$this->key = sha1($this->id . ':' . session_id() . ':' . $this->soundfilename);
|
|
$this->url = $this->id . '/' . parent::url_slug($this->title) . '?auth=' . $this->key;
|
|
|
|
if($this->program != 0) {
|
|
$this->program = new \Model\Program(['id' => $this->program, 'name' => $data->program_name, 'description' => $data->program_description]);
|
|
}
|
|
}
|
|
|
|
public function isValidAuth($key) {
|
|
return ($key == $this->key);
|
|
}
|
|
|
|
public function getSoundfile() {
|
|
return '/tmp/podcast.mp3';
|
|
}
|
|
|
|
public function excerpt() {
|
|
$hasImages = count($this->images) > 0;
|
|
$maxLength = $hasImages ? 200 : 500;
|
|
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
|
|
substr($this->content, 0, $maxLength) .
|
|
(strlen($this->content) > $maxLength ? '...' : '') .
|
|
'</p>';
|
|
}
|
|
}
|