Файл: adultscript-2.0.3-pro/files/mobile/components/video_playlist.php
Строк: 48
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_mobile_video_playlist extends VComponent_mobile_video
{
public function __construct()
{
parent::__construct();
}
public function render()
{
if (!VCfg::get('video.playlists')) {
$this->notfound('Playlists disabled!');
}
$playlist_id = VUri::request(1);
$cache_id = 'playlist-'.$playlist_id;
if (!$playlist = $this->cache->get($cache_id, 3600)) {
$this->db->query("SELECT p.playlist_id, p.user_id, p.name, p.slug, p.type, p.add_time,
p.total_videos, p.duration, p.total_views, p.total_favorites,
p.likes, p.rated_by, u.username
FROM #__playlist AS p
INNER JOIN #__user AS u ON (u.user_id = p.user_id AND u.status = '1')
WHERE p.playlist_id = '".$this->db->escape($playlist_id)."'
LIMIT 1");
if ($this->db->affected_rows()) {
$playlist = $this->db->fetch_assoc();
$this->cache->store($cache_id, $playlist, 3600);
}
}
if (!$playlist) {
$this->notfound('Playlist not found!');
}
$user_id = (VAuth::loggedin()) ? (int) $_SESSION['user_id'] : 0;
$owner_id = (int) $playlist['user_id'];
$friends = true;
if ($user_id) {
if ($playlist['type'] == 'private' &&
$user_id !== (int) $owner_id) {
$this->db->query("SELECT user_id
FROM #__user_friends
WHERE user_id = ".$owner_id."
AND friend_id = ".$user_id."
AND status = 'approved'
LIMIT 1");
if (!$this->db->affected_rows()) {
$friends = false;
}
}
} else {
if ($playlist['type'] == 'private') {
$friends = false;
}
}
$videos = array();
if (!VBrowser::get('is_robot') && $friends === true) {
$this->db->query("UPDATE #__playlist
SET total_views = total_views+1
WHERE playlist_id = ".$playlist_id."
LIMIT 1");
}
if ($friends === true) {
$cache_id = 'playlist-videos-'.$playlist_id;
if (!$videos = $this->cache->get($cache_id, 3600)) {
$this->db->query("SELECT p.video_id, v.title, v.slug, v.description, v.duration, v.thumb, v.thumbs,
v.likes, v.rating, v.rated_by, v.hd, v.ext, v.add_time, v.total_views
FROM #__playlist_videos AS p
INNER JOIN #__video AS v ON (v.video_id = p.video_id AND v.status = 1)
WHERE p.playlist_id = ".$playlist_id."
ORDER BY p.add_time ASC");
if ($this->db->affected_rows()) {
$videos = $this->db->fetch_rows();
$this->cache->store($cache_id, $videos, 3600);
}
}
}
$this->tpl->menu = 'video';
$this->tpl->meta_title = __('playlist-meta-title', array($playlist['name'], VF::cfg_item('site_name')));
$this->tpl->meta_desc = __('playlist-meta-desc', array($playlist['name'], VF::cfg_item('site_name')));
$this->tpl->canonical = BASE_URL.'/playlist/'.$playlist_id.'/'.$playlist['slug'].'/';
$this->tpl->playlist = $playlist;
$this->tpl->videos = $videos;
$this->tpl->load(array('header', 'video_playlist', 'footer'));
$this->tpl->display();
}
}