Файл: adultscript-2.0.3-pro/files/mobile/components/pornstar_browse.php
Строк: 81
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_mobile_pornstar_browse extends VComponent_mobile_pornstar
{
public function __construct()
{
parent::__construct();
}
public function render()
{
// special case here...
if (MOBILE_CUR == MOBILE_URL.'/pornstar/recent/') {
VF::redirect(MOBILE_URL.'/pornstar/', 301);
}
$args = $this->get_query();
$letter = $args['letter'];
$order = $args['order'];
$page = $args['page'];
// need to do some checks here...
$url = ($letter != 'all') ? $letter.'/' : '';
if ($order == 'recent' && strlen($letter) === 1) {
if (strpos(MOBILE_CUR, 'recent') !== FALSE) {
$url .= 'recent/';
}
} elseif ($order == 'recent' && $page === 1) {
$url .= '';
} else {
$url .= $order.'/';
}
if ($page !== 1) {
$url .= $page.'/';
}
if (!VUri::match('pornstar/'.$url)) {
$this->notfound();
}
$sql = "SELECT model_id, name, slug, ext, total_videos, total_views, total_albums
FROM #__model
WHERE status = '1'";
$sql_count = "SELECT COUNT(*) AS total_models
FROM #__model
WHERE status = '1'";
$letter_name = '';
if ($letter != 'all') {
$sql .= " AND slug LIKE '".$letter."%'";
$sql_count .= " AND slug LIKE '".$letter."%'";
$letter_name = ' '.__('with-letter', array(strtoupper($letter)));
}
$order_name = '';
switch ($order) {
case 'recent':
$sql .= " ORDER BY model_id DESC";
$order_name = __('most-recent');
break;
case 'popular':
$sql .= " ORDER BY total_views DESC";
$order_name = __('most-popular');
break;
case 'name':
$sql .= " ORDER BY slug ASC";
$order_name = __('alphabetically');
break;
case 'favorites':
$sql .= " ORDER BY total_favorites DESC";
$order_name = __('most-favorites');
break;
case 'rated':
$sql .= " ORDER BY (rating*rated_by) DESC";
$order_name = __('top-rated');
break;
case 'discussed':
$sql .= " ORDER BY total_comments DESC";
$order_name = __('most-discussed');
break;
default:
$this->notfound();
}
$total_models = $this->db->get_field($sql_count, 'total_models');
$pagination = VPagination::get($page, $total_models, VF::cfg_item('module.mobile.pornstars_per_page'));
$sql = $sql.' LIMIT '.$pagination['limit'];
if (!$pornstars = $this->cache->get($sql, 3600)) {
$pornstars = $this->db->get_rows($sql);
if ($pornstars) {
$this->cache->store($sql, $pornstars, 3600);
}
}
$page_name = ($page > 1) ? ' '.__('page').' '.$page : '';
$this->tpl->menu = 'pornstar';
$this->tpl->title = $order_name.' '.__('pornstars').$letter_name.$page_name;
$this->tpl->meta_title = __('pornstar-browse-meta-title', array($order_name, $letter_name.$page_name));
$this->tpl->canonical = BASE_URL.'/'.$url;
$this->tpl->order = $order;
$this->tpl->letter = $letter;
$this->tpl->page = $page;
$this->tpl->letters = range('a', 'z');
$this->tpl->pornstars = $pornstars;
$this->tpl->pagination = $pagination;
$this->tpl->load(array('header', 'pornstar_browse', 'footer'));
$this->tpl->display();
}
}