Файл: adultscript-2.0.3-pro/files/mobile/components/photo_browse.php
Строк: 73
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_mobile_photo_browse extends VComponent_mobile_photo
{
public function __construct()
{
parent::__construct();
}
public function render()
{
$args = $this->get_query(false, 1);
$order = $args['order'];
$timeline = $args['timeline'];
$page = $args['page'];
if ($order == 'recent' && VUri::request(1) == '') {
VF::redirect(MOBILE_URL.'/photo/recent/', '301');
}
$url = 'photo/'.$order.'/';
if ($timeline) {
$url .= $timeline.'/';
}
if ($page > 1) {
$url .= $page.'/';
}
if (!VUri::match($url)) {
$this->notfound();
}
$sql = "SELECT a.album_id, a.title, a.slug, a.rating, a.rated_by, a.total_views,
a.total_photos, a.add_time, a.type, u.username
FROM #__photo_albums AS a
LEFT JOIN #__user AS u ON (u.user_id = a.user_id)
WHERE a.status = '1'";
$sql_count = "SELECT COUNT(*) AS total_albums
FROM #__photo_albums AS a
WHERE a.status = '1'";
$time_name = '';
if ($timeline) {
switch ($timeline) {
case 'today':
$sql .= " AND DATE_FORMAT(a.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$sql_count .= " AND DATE_FORMAT(a.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$time_name = __('todays').' ';
break;
case 'yesterday':
$sql .= " AND DATE_FORMAT(a.add_date, '%y-%m-%d') = DATE_ADD(CURDATE(), INTERVAL -1 DAY)";
$sql_count .= " AND DATE_FORMAT(a.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(a.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$sql_count .= " AND DATE_FORMAT(a.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$time_name = __('this-months').' ';
break;
case 'year':
$sql .= " AND DATE_FORMAT(a.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$sql_count .= " AND DATE_FORMAT(a.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$time_name = __('this-years').' ';
break;
}
}
switch ($order) {
case 'recent':
$sql .= ' ORDER BY a.album_id DESC';
$order_name = ' '.__('most-recent');
break;
case 'popular':
$sql .= ' ORDER BY a.total_views DESC';
$order_name = ' '.__('popular');
break;
case 'discussed':
$sql .= ' ORDER BY a.total_comments DESC';
$order_name = ' '.__('most-discussed');
break;
case 'rated':
$sql .= ' ORDER BY (a.rating+a.rated_by) DESC';
$order_name = ' '.__('top-rated');
break;
case 'favorited':
$sql .= ' ORDER BY a.total_favorites DESC';
$order_name = ' '.__('most-favorites');
break;
default:
VModule::load('404', TRUE);
}
$total_albums = $this->db->get_field($sql_count, 'total_albums');
$pagination = VPagination::get($page, $total_albums, VF::cfg_item('module.mobile.albums_per_page'));
$sql = $sql. ' LIMIT '.$pagination['limit'];
if (!$albums = $this->cache->get($sql, 3600)) {
$albums = $this->db->get_rows($sql);
$this->cache->store($sql, $albums, 3600);
}
$page_add = ($page > 1) ? ' - '.__('page').' '.$page : '';
$this->tpl->menu = 'photo';
$this->tpl->title = __('photos-title', array($time_name.$order_name, $page_add));
$this->tpl->meta_title = __('photos-meta-title', array($time_name.$order_name, $page_add, $this->mcfg['site_name']));
$this->tpl->meta_desc = __('photos-meta-desc', array($time_name.$order_name, $page_add, $this->mcfg['meta_desc']));
$this->tpl->meta_keys = __('photos-meta-keys', array($this->mcfg['meta_keys']));
$this->tpl->canonical = BASE_URL.'/'.$url;
$this->tpl->order = $order;
$this->tpl->timeline = $timeline;
$this->tpl->slug = null;
$this->tpl->albums = $albums;
$this->tpl->pagination = $pagination;
$this->tpl->load(array('header', 'photo_browse', 'footer'));
$this->tpl->display();
}
}