Файл: adultscript-2.0.3-pro/files/mobile/components/video_browse.php
Строк: 81
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_mobile_video_browse extends VComponent_mobile_video
{
public function __construct()
{
parent::__construct();
}
public function render()
{
$args = $this->get_query();
$order = $args['order'];
$timeline = $args['timeline'];
$page = $args['page'];
$url = $order.'/';
if ($timeline) {
$url .= $timeline.'/';
}
if ($page > 1) {
$url .= $page.'/';
}
if (!VUri::match($url)) {
$this->notfound();
}
$sql = "SELECT v.video_id, v.title, v.slug, v.description, v.thumb, v.rating,
v.rated_by, v.total_views, v.duration
FROM #__video AS v
WHERE v.status = 1
AND v.mobile = '1'";
$sql_count = "SELECT COUNT(*) AS total_videos
FROM #__video AS v
WHERE v.status = 1
AND v.mobile = '1'";
$time_name = null;
if ($timeline) {
switch ($timeline) {
case 'today':
$sql .= " AND DATE_FORMAT(v.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$sql_count .= " AND DATE_FORMAT(v.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$time_name = __('todays').' ';
break;
case 'yesterday':
$sql .= " AND DATE_FORMAT(v.add_date, '%y-%m-%d') = DATE_ADD(CURDATE(), INTERVAL -1 DAY)";
$sql_count .= " AND DATE_FORMAT(v.add_date, '%y-%m-%d') = DATE_ADD(CURDATE(), INTERVAL -1 DAY)";
$time_name = __('yesterdays').' ';
break;
case 'week':
$time_name = __('this-weeks').' ';
break;
case 'month':
$sql .= " AND DATE_FORMAT(v.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$sql_count .= " AND DATE_FORMAT(v.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$time_name = __('this-months').' ';
break;
case 'year':
$sql .= " AND DATE_FORMAT(v.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$sql_count .= " AND DATE_FORMAT(v.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$time_name = __('this-years').' ';
break;
}
}
switch ($order) {
case 'recent':
$sql .= ' ORDER BY v.add_time DESC';
$order_name = ' '.__('most-recent');
break;
case 'popular':
$sql .= ' ORDER BY v.total_views DESC';
$order_name = __('popular');
break;
case 'discussed':
$sql .= ' ORDER BY v.total_comments DESC';
$order_name = __('most-discussed');
break;
case 'rated':
$sql .= ' ORDER BY (v.rating+v.rated_by) DESC';
$order_name = __('top-rated');
break;
case 'downloaded':
$sql .= ' ORDER BY v.total_downloads DESC';
$order_name = __('most-downloaded');
break;
case 'longest':
$sql .= ' ORDER BY v.duration DESC';
$order_name = __('longest');
break;
case 'watched':
$sql .= ' ORDER BY v.view_time DESC';
$order_name = __('being-watched');
break;
default:
$this->notfound();
}
$total_videos = $this->db->get_field($sql_count, 'total_videos');
$pagination = VPagination::get($page, $total_videos, $this->mcfg['videos_per_page']);
$videos = $this->db->get_rows($sql." LIMIT ".$pagination['limit']);
$page_add = ($page > 1) ? ' - '.__('page').' '.$page : '';
$this->tpl->menu = 'video';
$this->tpl->title = __('browse-title', array($order_name, $page_add));
$this->tpl->meta_title = __('browse-meta-title', array($order_name, $page_add, $this->mcfg['site_name']));
$this->tpl->meta_desc = __('browse-meta-desc', array($order_name, $page_add, $this->mcfg['meta_desc']));
$this->tpl->meta_keys = __('browse-meta-keys');
$this->tpl->canonical = BASE_URL.'/'.$url;
$this->tpl->slug = null;
$this->tpl->order = $order;
$this->tpl->timeline = $timeline;
$this->tpl->page = $page;
$this->tpl->videos = $videos;
$this->tpl->pagination = $pagination;
$this->tpl->load(array('header', 'video_browse', 'footer'));
$this->tpl->display();
}
}