%PDF- %PDF-
Direktori : /data/www_bck/varak.net_bck/ampache.varak.net/lib/class/ |
Current File : //data/www_bck/varak.net_bck/ampache.varak.net/lib/class/video.class.php |
<?php /* vim:set softtabstop=4 shiftwidth=4 expandtab: */ /** * * LICENSE: GNU General Public License, version 2 (GPLv2) * Copyright 2001 - 2014 Ampache.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License v2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ class Video extends database_object implements media { public $id; public $title; public $enabled; public $file; public $size; public $video_codec; public $audio_codec; public $resolution_x; public $resolution_y; public $time; public $mime; public $tags; public $f_title; public $f_link; public $f_codec; public $f_resolution; public $f_tags; public $f_length; /** * Constructor * This pulls the shoutbox information from the database and returns * a constructed object, uses user_shout table */ public function __construct($id) { // Load the data from the database $info = $this->get_info($id); foreach ($info as $key=>$value) { $this->$key = $value; } return true; } // Constructor /** * build_cache * Build a cache based on the array of ids passed, saves lots of little queries */ public static function build_cache($ids=array()) { if (!is_array($ids) OR !count($ids)) { return false; } $idlist = '(' . implode(',',$ids) . ')'; $sql = "SELECT * FROM `video` WHERE `video`.`id` IN $idlist"; $db_results = Dba::read($sql); while ($row = Dba::fetch_assoc($db_results)) { parent::add_to_cache('video',$row['id'],$row); } } // build_cache /** * format * This formats a video object so that it is human readable */ public function format() { $this->f_title = scrub_out($this->title); $this->f_link = scrub_out($this->title); $this->f_codec = $this->video_codec . ' / ' . $this->audio_codec; $this->f_resolution = $this->resolution_x . 'x' . $this->resolution_y; $this->f_tags = ''; $this->f_length = floor($this->time/60) . ' ' . T_('minutes'); } // format public function get_stream_types() { return array('native'); } // native_stream /** * play_url * This returns a "PLAY" url for the video in question here, this currently feels a little * like a hack, might need to adjust it in the future */ public static function play_url($oid, $additional_params='',$sid='',$force_http='') { $video = new Video($oid); if (!$video->id) { return false; } $uid = intval($GLOBALS['user']->id); $oid = intval($video->id); $url = Stream::get_base_url() . "type=video&uid=" . $uid . "&oid=" . $oid; return Stream_URL::format($url . $additional_params); } // play_url /** * get_transcode_settings * * FIXME: Video transcoding is not implemented */ public function get_transcode_settings($target = null) { return false; } } // end Video class