Файл: adultscript-2.0.3-pro/files/modules/photo/components/photos.php
Строк: 67
<?php
defined('_VALID') or die('Restricted Access!');
class VComponent_photo_photos extends VModule_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(BASE_URL.'/photo/recent/', '301');
}
$url = 'photo/'.$order.'/';
if ($timeline) {
$url .= $timeline.'/';
}
if ($page > 1) {
$url .= $page.'/';
}
if (!VUri::match($url)) {
VModule::load('404', TRUE);
}
$sql = 'SELECT p.photo_id, a.album_id, p.caption, p.total_views, p.total_comments,
p.rating, p.rated_by, p.add_date, u.username
FROM #__photo AS p
LEFT JOIN #__photo_albums AS a ON (a.album_id = p.album_id)
LEFT JOIN #__user AS u ON (u.user_id = a.user_id)
WHERE p.status = '1'';
$sql_count = 'SELECT COUNT(*) AS total_photos
FROM #__photo AS p
WHERE p.status = '1'';
$time_name = '';
if ($timeline) {
switch ($timeline) {
case 'today':
$sql .= " AND DATE_FORMAT(p.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$sql_count .= " AND DATE_FORMAT(p.add_date, '%y-%m-%d') = DATE_FORMAT(NOW(), '%y-%m-%d')";
$time_name = 'Today's ';
break;
case 'yesterday':
$sql .= " AND DATE_FORMAT(p.add_date, '%y-%m-%d') = DATE_ADD(CURDATE(), INTERVAL -1 DAY)";
$sql_count .= " AND DATE_FORMAT(p.add_date, '%y-%m-%d') = DATE_ADD(CURDATE(), INTERVAL -1 DAY)";
$time_name = 'Yesterday's ';
break;
case 'week':
$time_name = 'This Weeks's ';
break;
case 'month':
$sql .= " AND DATE_FORMAT(p.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$sql_count .= " AND DATE_FORMAT(p.add_date, '%y-%m') = DATE_FORMAT(NOW(), '%y-%m')";
$time_name = 'This Month's ';
break;
case 'year':
$sql .= " AND DATE_FORMAT(p.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$sql_count .= " AND DATE_FORMAT(p.add_date, '%y') = DATE_FORMAT(NOW(), '%y')";
$time_name = 'This Years's ';
break;
}
}
switch ($order) {
case 'recent':
$sql .= ' ORDER BY p.photo_id DESC';
$order_name = ' Most Recent';
break;
case 'popular':
$sql .= ' ORDER BY p.total_views DESC';
$order_name = ' Popular';
break;
case 'discussed':
$sql .= ' ORDER BY p.total_comments DESC';
$order_name = ' Most Discussed';
break;
case 'rated':
$sql .= ' ORDER BY (p.rating*p.rated_by) DESC';
$order_name = ' Top Rated';
break;
case 'favorited':
$sql .= ' ORDER BY p.total_favorites DESC';
$order_name = ' Most Favorited';
break;
default:
VModule::load('404', TRUE);
}
$total_photos = $this->db->get_field($sql_count, 'total_photos');
$pagination = VPagination::get($page, $total_photos, $this->pcfg['browse_per_page']);
$sql = $sql. ' LIMIT '.$pagination['limit'];
if (!$photos = $this->cache->get($sql, 3600)) {
$photos = $this->db->get_rows($sql);
$this->cache->store($sql, $photos, 3600);
}
$tpl = VF::factory('template');
$tpl->menu = 'photo';
$tpl->title = $time_name.$order_name.' Free Porn Photos';
$tpl->meta_title = $tpl->title.' at '.VF::cfg_item('site_name');
$tpl->css = array(TPL_REL.'/css/style_photo.css');
$tpl->pcfg = $this->pcfg;
$tpl->order = $order;
$tpl->timeline = $timeline;
$tpl->timename = $time_name;
$tpl->page = $page;
$tpl->categories = $this->get_photo_categories();
$tpl->photos = $photos;
$tpl->pagination = $pagination;
$tpl->load(array('header', 'photo_photos', 'footer'));
$tpl->display();
}
}