Файл: app/classes/Home.php
Строк: 271
<?php
class Home extends Base {
public static function index() {
$new = Flight::db()->query("
SELECT video.*, category.*, video.name AS vName, category.name AS cName, video.url AS vURL, category.url AS cURL
FROM video LEFT JOIN category ON category.id = video.catid ORDER BY video.id DESC LIMIT " . NEWVIDEO)
->fetchAll();
$category = Flight::db()
->query("SELECT * FROM `category` ORDER BY `pos` DESC")
->fetchAll();
foreach ($category as $key => $cat) {
$count = Flight::db()->query("
SELECT COUNT(*) AS `total`,
(SELECT COUNT(*) FROM `video` WHERE `date_upload` >= '".(time()-(3600*24*1))."' && catid = '".$cat['id']."') AS `today`,
(SELECT COUNT(*) FROM `video` WHERE (date_upload >= '".(time() - 86400 * 2)."' && date_upload <= '".(time() - 86400)."') && catid = '".$cat['id']."') AS `yesterday`,
(SELECT COUNT(*) FROM `video` WHERE date_upload >= '".(time() - 86400 * 7)."' && catid = '".$cat['id']."') AS `ned`
FROM `video` WHERE catid = '".$cat['id']."'")->fetch();
if (!empty($count['today'])) {
$category[$key]['count'] = '(' . $count['total'] . ') <span style="color: red;">+' . $count['today'] . ' </span>';
} else if (!empty($count['yesterday'])) {
$category[$key]['count'] = '(' . $count['total'] . ') <span style="color: blue;">+' . $count['yesterday'] . ' </span>';
} else if (!empty($count['ned'])) {
$category[$key]['count'] = '(' . $count['total'] . ') <span style="color: green;">+' . $count['ned'] . ' </span>';
} else {
$category[$key]['count'] = '(' . $count['total'] . ')';
}
}
$count_fo = Flight::db()->query("
SELECT COUNT(*) AS `total`,
(SELECT COUNT(*) FROM `fo_video` WHERE `date_upload` >= '".(time()-(3600*24*1))."') AS `today`,
(SELECT COUNT(*) FROM `fo_video` WHERE date_upload >= '".(time() - 86400 * 2)."' && date_upload <= '".(time() - 86400)."') AS `yesterday`
FROM `fo_video`")->fetch();
$count_fo_str = '(' . $count_fo['total'] . ')';
$count_fo_str .= (!empty($count_fo['today']) ? ' <span style="color: red;">+' . $count_fo['today'] . '</span>' : NULL);
$count_fo_str .= (!empty($count_fo['yesterday']) ? ' <span style="color: blue;">+' . $count_fo['yesterday'] . '</span>' : NULL);
parent::view('home/index', [
'title' => 'Лучшее порно скачать на телефон, смотреть порно онлайн бесплатно',
'new_video' => $new,
'rate' => parent::videoRate(),
'category' => $category,
'count_fo' => $count_fo_str,
'rand' => parent::videoRand(),
'description' => '',
'keywords' => ''
]);
}
public static function video($url) {
$result = Flight::db()->prepare("SELECT * FROM `video` WHERE url = :url");
$result->bindValue(":url", $url, PDO::PARAM_STR);
$result->execute();
$q = $result->fetch(PDO::FETCH_ASSOC);
if ($q) {
/* Рейтинг */
$check = Flight::db()
->query("SELECT id FROM `rating_list` WHERE ip = '{$_SERVER['REMOTE_ADDR']}' && video_id = '{$q['id']}'")
->fetchAll();
/* Счетчик рейтинга (+ и -)*/
$total_plus = Flight::db()
->query("SELECT id FROM `rating_list` WHERE video_id = '{$q['id']}' && type = 'plus'")
->fetchAll();
$total_plus = count($total_plus);
$total_minus = Flight::db()
->query("SELECT id FROM `rating_list` WHERE video_id = '{$q['id']}' && type = 'minus'")
->fetchAll();
$total_minus = count($total_minus);
if (isset($_GET['rating']) && in_array($_GET['rating'], array('plus', 'minus'))) {
if (empty($check)) {
$updRating = ($_GET['rating'] == 'plus' ? ($q['rating'] + 1) : ($q['rating'] - 1));
$typeRating = ($_GET['rating'] == 'plus' ? 'plus' : 'minus');
Flight::db()
->query("UPDATE `video` SET `rating` = '{$updRating}' WHERE `id` = {$q['id']}");
Flight::db()->query("
INSERT INTO `rating_list`
(video_id, type, date, ip)
VALUES
('{$q['id']}', '{$typeRating}', UNIX_TIMESTAMP(), '{$_SERVER['REMOTE_ADDR']}')
");
$message = 'Вы успешно проголосовали ' . ($typeRating == 'plus' ? '+1' : '-1');
} else {
$message = 'Вы уже голосовали за это видео';
}
} else {
$message = null;
}
if (Flight::request()->cookies->uniq != $q['id']) {
/* Статистика просмотров */
$stat = Flight::db()
->query("SELECT * FROM `statistics`")
->fetch();
$todate = date("Y-m-d"); // Текущая дата
if ($stat['date'] != $todate) {
// Записываем на ВЧЕРА
Flight::db()
->query("UPDATE `statistics` SET
`views_yesterday` = '{$stat['views_today']}',
`views_today` = 0,
`loads_yesterday` = '{$stat['loads_today']}',
`loads_today` = 0,
`online_yesterday` = '{$stat['online_today']}',
`online_today` = 0,
date = NOW()");
}
//Скачиваний за сегодня
Flight::db()
->query("UPDATE `statistics` SET `views_today` = views_today + 1");
Flight::db()
->query("UPDATE `video` SET `view_count` = `view_count` + 1 WHERE `id` = {$q['id']}");
setcookie('uniq', $q['id'], time() + 3600 * 24, '/');
}
parent::view('home/video', [
'video' => $q,
'title' => $q['name'],
'description' => $q['description'],
'keywords' => $q['keywords'],
'rands' => parent::videoRand(),
'message' => $message,
'check_rating' => (empty($check) ? 0 : 1),
'rating_plus' => $total_plus,
'rating_minus' => $total_minus
]);
} else Flight::redirect('/');
}
public static function categories($url = '', $page) {
$result = Flight::db()->prepare("SELECT * FROM `category` WHERE url = :url");
$result->bindValue(":url", $url, PDO::PARAM_STR);
$result->execute();
$q = $result->fetch(PDO::FETCH_ASSOC);
if ($q) {
$p = Flight::page();
$pages = $p->menu('video', '/category/' . $q['url'], $page, "WHERE `catid` = {$q['id']}");
$v = Flight::db()
->query("SELECT * FROM `video` WHERE `catid` = {$q['id']} ORDER BY `id` DESC ".$p->limit())
->fetchAll();
parent::view('home/category', [
'video' => $v,
'title' => $q['name'],
'description' => $q['description'],
'keywords' => $q['keywords'],
'pagination' => $pages,
'top_type' => null,
'nav' => null
]);
} else Flight::redirect('/');
}
public static function statistics() {
$total['category'] = Flight::db()
->query("SELECT COUNT(*) FROM `category`")
->fetchColumn();
$total['video'] = Flight::db()
->query("SELECT COUNT(*) FROM `video`")
->fetchColumn();
$total['video_load_count'] = Flight::db()
->query("SELECT SUM(load_count) FROM `video`")
->fetchColumn();
$total['video_view_count'] = Flight::db()
->query("SELECT SUM(view_count) FROM `video`")
->fetchColumn();
$total['video_size_count'] = Flight::db()
->query("SELECT SUM(size_mp4) FROM `video`")
->fetchColumn()
+
Flight::db()
->query("SELECT SUM(size_3gp) FROM `video`")
->fetchColumn();
$stat = Flight::db()
->query("SELECT * FROM `statistics`")
->fetch();
$online = Flight::db()
->query("SELECT COUNT(*) FROM `online`")
->fetchColumn();
$video_upload_yesterday = Flight::db()
->query("SELECT COUNT(*) FROM `video` WHERE (date_upload >= '".(time() - 86400 * 2)."' && date_upload <= '".(time() - 86400)."')")
->fetchColumn();
$video_upload_today = Flight::db()
->query("SELECT COUNT(*) FROM `video` WHERE date_upload > '".(time()-(3600*24*1))."'")
->fetchColumn();
$votes = Flight::db()->query("
SELECT COUNT(*) AS `all`,
(SELECT COUNT(*) FROM `rating_list` WHERE `type` = 'plus') AS `plus`,
(SELECT COUNT(*) FROM `rating_list` WHERE `type` = 'minus') AS `minus`
FROM `rating_list`")->fetch();
/* обменник*/
$total['fo_video_total'] = Flight::db()
->query("SELECT COUNT(*) FROM `fo_video`")
->fetchColumn();
$total['fo_video_today'] = Flight::db()
->query("SELECT COUNT(*) FROM `fo_video` WHERE date_upload > '".(time()-(3600*24*1))."'")
->fetchColumn();
$total['fo_video_yesterday'] = Flight::db()
->query("SELECT COUNT(*) FROM `fo_video` WHERE (date_upload >= '".(time() - 86400 * 2)."' && date_upload <= '".(time() - 86400)."')")
->fetchColumn();
$total['fo_video_moderation'] = Flight::db()
->query("SELECT COUNT(*) FROM `fo_video` WHERE moderation = '1'")
->fetchColumn();
$total['fo_comments_total'] = Flight::db()
->query("SELECT COUNT(*) FROM `fo_comments`")
->fetchColumn();
$total['fo_video_size'] = Flight::db()
->query("SELECT SUM(size) FROM `fo_video`")
->fetchColumn();
$total['size_total'] = $total['fo_video_size'] + $total['video_size_count'];
parent::view('home/statistics', [
'total' => $total,
'stat' => $stat,
'online' => $online,
'video_upload_yesterday' => $video_upload_yesterday,
'video_upload_today' => $video_upload_today,
'votes' => $votes,
'title' => 'Статистика сайта',
'description' => '',
'keywords' => ''
]);
}
public static function search($page) {
$result = array();
$pages = null;
if (isset($_POST['q'], $_POST['type'])) {
$type = ($_POST['type'] == 'name' ? 'name' : 'description');
$query = htmlspecialchars(trim($_POST['q']));
$_SESSION['s_type'] = $type;
$_SESSION['s_query'] = $query;
} else if (isset($_SESSION['s_type'], $_SESSION['s_query'])) {
$type = $_SESSION['s_type'];
$query = $_SESSION['s_query'];
}
if (!empty($type) && !empty($query)) {
$p = Flight::page();
$pages = $p->menu('video', '/search', $page, 0, PAGES, 0, 0, 'search');
$v = Flight::db()->prepare("SELECT video.*, category.*, category.url AS categoryURL, video.url AS videoURL, video.name AS videoNAME FROM `video` LEFT JOIN category ON category.id = video.catid WHERE video.{$type} LIKE CONCAT('%', :search, '%')".$p->limit());
$v->execute(array(':search' => $query));
$result = $v->fetchAll();
}
if (!count($result)) {
$pages = null;
}
parent::view('home/search', [
'video' => $result,
's_query' => (!empty($query) ? $query : NULL),
's_type' => (!empty($type) ? $type : NULL),
'title' => (!empty($query) ? 'Поиск по запросу: ' . $query : 'Поиск ххх видео'),
'description' => 'Поиск порно видео, бесплатный поиск секс видео и скачать на телефон, порно архив mp4 и 3gp, смотреть качественное порно ролики',
'keywords' => 'поиск , секс, ххх, видео, смотреть, трах, порнуха, трахаются, искать, секс, ищу, видео, секс, скачать, порно, видео, из, я, архив, ххх, секс, голые, горячее, секс, девушки на, телефон, смартфон, голые',
'pagination' => $pages,
'top_type' => 'search',
'nav' => null
]);
}
public static function top($sort, $page) {
switch ($sort) {
case 'new':
$p = Flight::page();
$pages = $p->menu('video', '/top/new', $page);
$v = Flight::db()
->query("SELECT video.*, category.*, category.url AS categoryURL, video.url AS videoURL, video.name AS videoNAME FROM `video` LEFT JOIN category ON category.id = video.catid ORDER BY video.id DESC ".$p->limit())
->fetchAll();
parent::view('home/category', [
'video' => $v,
'title' => 'Новые новинки порно видео только лучшее ххх видео',
'description' => 'Свежие новые порно ролики, смотреть новейшие секс видео, новые порно видео из всех категории, Новинки эротика, скачать и смотреть порно mp4 и 3gp,',
'keywords' => 'свежие, новые, видео, секс, новинки, трах, порнуха, новейшие, Все, порно, видео, сайта, скачать, порно, видео, архив, mp4, 3gp, ххх, секс, голые, горячее, секс, на, телефон, смартфон, порнушка, для, мобилки',
'pagination' => $pages,
'top_type' => 'new',
'nav' => '<div class="new"><b>Показать самые:</b> <a href="/top/views/">Просматриваемые</a> / <a href="/top/down/">Скачиваемые</a> / <a href="/top/rating/">Популярные</a> / Новые</div>'
]);
break;
case 'views':
$p = Flight::page();
$pages = $p->menu('video', '/top/views', $page);
$v = Flight::db()
->query("SELECT video.*, category.*, category.url AS categoryURL, video.url AS videoURL, video.name AS videoNAME FROM `video` LEFT JOIN category ON category.id = video.catid ORDER BY video.view_count DESC ".$p->limit())
->fetchAll();
parent::view('home/category', [
'video' => $v,
'title' => 'Просматриваемые порно видео',
'description' => 'Самые просматриваемые порно видео, порно видео которые больше всего просмотривают онлайн, огромное количество ххх файлов, порно архив mp4 и 3gp,',
'keywords' => 'просматриваемые порно видео, популярные онлайн видео, порно, видео, ххх, сайта, скачать, порно, видео, из, сайта, порнотвточкасу, архив, ххх, секс, голые, горячее, секс',
'pagination' => $pages,
'top_type' => 'views',
'nav' => '<div class="new"><b>Показать самые:</b> Просматриваемые / <a href="/top/down/">Скачиваемые</a> / <a href="/top/rating/">Популярные</a> / <a href="/top/new/">Новые</a></div>'
]);
break;
case 'down':
$p = Flight::page();
$pages = $p->menu('video', '/top/down', $page);
$v = Flight::db()
->query("SELECT video.*, category.*, category.url AS categoryURL, video.url AS videoURL, video.name AS videoNAME FROM `video` LEFT JOIN category ON category.id = video.catid ORDER BY video.load_count DESC ".$p->limit())
->fetchAll();
parent::view('home/category', [
'video' => $v,
'title' => 'Скачиваемые ххх видео',
'description' => 'Самые скачиваемые порно видео, самые лучшие видео которое скачивают на pornotv.su скачать порно архив mp4 и 3gp,',
'keywords' => 'Все, скачиваемые, скачали, порно, видео, сайта, pornotv, su, скачать, порно, видео, из, сайта, порнотвточкасу, архив, ххх, секс, голые, горячее, секс, смартфон,',
'pagination' => $pages,
'top_type' => 'down',
'nav' => '<div class="new"><b>Показать самые:</b> <a href="/top/views/">Просматриваемые</a> / Скачиваемые / <a href="/top/rating/">Популярные</a> / <a href="/top/new/">Новые</a></div>'
]);
break;
default:
$p = Flight::page();
$pages = $p->menu('video', '/top/rating', $page);
$v = Flight::db()
->query("SELECT video.*, category.*, category.url AS categoryURL, video.url AS videoURL, video.name AS videoNAME FROM `video` LEFT JOIN category ON category.id = video.catid ORDER BY video.rating DESC ".$p->limit())
->fetchAll();
parent::view('home/category', [
'video' => $v,
'title' => 'Самые популярные порно видео лучшее ххх',
'description' => 'ТОП рейтинговые порно видео сайта pornotv, все порно видео из всех категории, отборные рейтинговые порно видео на PornoTV.su огромное количество ххх файлов, порно архив',
'keywords' => 'все,порно, видео, сайта, топ, отборные, качественные, рейтинговые, рейтинг, класс, супер, pornotv, su, скачать, порно, видео, из, сайта, порнотвточкасу, архив, ххх',
'pagination' => $pages,
'top_type' => 'rating',
'nav' => '<div class="new"><b>Показать самые:</b> <a href="/top/views/">Просматриваемые</a> / <a href="/top/down/">Скачиваемые</a> / Популярные / <a href="/top/new/">Новые</a></div>'
]);
break;
}
}
public static function downmp4($id) {
$result = Flight::db()->prepare("SELECT * FROM `video` WHERE id = :id");
$result->bindValue(":id", $id, PDO::PARAM_INT);
$result->execute();
$q = $result->fetch(PDO::FETCH_ASSOC);
if ($q) {
/* Статистика скачиваний */
$stat = Flight::db()
->query("SELECT * FROM `statistics`")
->fetch();
$todate = date("Y-m-d"); // Текущая дата
if ($stat['date'] != $todate) {
// Записываем на ВЧЕРА
Flight::db()
->query("UPDATE `statistics` SET
`views_yesterday` = '{$stat['views_today']}',
`views_today` = 0,
`loads_yesterday` = '{$stat['loads_today']}',
`loads_today` = 0,
`online_yesterday` = '{$stat['online_today']}',
`online_today` = 0,
date = NOW()
");
}
//Скачиваний за сегодня
Flight::db()
->query("UPDATE `statistics` SET `loads_today` = loads_today + 1");
Flight::db()
->query("UPDATE `video` SET `last_load` = UNIX_TIMESTAMP(), `load_count` = `load_count` + 1 WHERE `id` = {$q['id']}");
Flight::redirect('/public/video/'.$q['filename'].'.mp4');
} else Flight::redirect('/');
}
public static function down3gp($id) {
$result = Flight::db()->prepare("SELECT * FROM `video` WHERE id = :id");
$result->bindValue(":id", $id, PDO::PARAM_INT);
$result->execute();
$q = $result->fetch(PDO::FETCH_ASSOC);
if ($q) {
/* Статистика скачиваний */
$stat = Flight::db()
->query("SELECT * FROM `statistics`")
->fetch();
$todate = date("Y-m-d"); // Текущая дата
if ($stat['date'] != $todate) {
// Записываем на ВЧЕРА
Flight::db()
->query("UPDATE `statistics` SET
`views_yesterday` = '{$stat['views_today']}',
`views_today` = 0,
`loads_yesterday` = '{$stat['loads_today']}',
`loads_today` = 0,
`online_yesterday` = '{$stat['online_today']}',
`online_today` = 0,
date = NOW()
");
}
//Скачиваний за сегодня
Flight::db()
->query("UPDATE `statistics` SET `loads_today` = loads_today + 1");
Flight::db()
->query("UPDATE `video` SET `last_load` = UNIX_TIMESTAMP(), `load_count` = `load_count` + 1 WHERE `id` = {$q['id']}");
Flight::redirect('/public/video/'.$q['filename'].'.3gp');
} else Flight::redirect('/');
}
public static function views($id) {
$result = Flight::db()->prepare("SELECT * FROM `video` WHERE id = :id");
$result->bindValue(":id", $id, PDO::PARAM_INT);
$result->execute();
$q = $result->fetch(PDO::FETCH_ASSOC);
if ($q) {
parent::view('home/view', [
'title' => $q['name'],
'description' => $q['description'],
'keywords' => $q['keywords'],
'video' => $q
]);
} else Flight::redirect('/');
}
}