Вход Регистрация
Файл: app/classes/FO.php
Строк: 387
<?php
class FO extends Base {

    public static function 
index($page) {
        
        
$p Flight::page();
        
$pages $p->menu('fo_video''/porno-obmenik-video'$page"WHERE `moderation` = '0'"FO_PERPAGE);
        
        
$files Flight::db()
                ->
query("SELECT *, (SELECT COUNT(*) FROM fo_comments WHERE fo_comments.parent = fo_video.id) AS count_comments FROM `fo_video` WHERE `fo_video`.`moderation` = '0' ORDER BY `fo_video`.`id` DESC " $p->limit())
                ->
fetchAll();
        
        if (!empty(
$_SESSION['message'])) {
            
$message $_SESSION['message'];
            unset(
$_SESSION['message']);
        }
        

            
$video_moderation Flight::db()
            ->
query("SELECT COUNT(*) FROM `fo_video` WHERE moderation = '1'")
            ->
fetchColumn();

        
      
        
        
parent::view('fo/files', [
        
'title'       => 'Порно обменник видео бесплатно, файлообменник частные порно ролики, добавь свой видео на сайт бесплатно',
        
'description' => 'Секс Порно обменник видео бесплатно, файлообменник ххх частные порно ролики, ты тоже добавь свой видео на сайт бесплатно',
        
'keywords'    => 'обменник, порно, видео, файлообменник, добивить, бесплатно, свой, ххх, секс, ролик, обменник, смартфон',
        
'files' => $files,
        
'fo_status' => FO_STATUS,
        
'nav'         => '<div class="new"><b>Показать самые:</b> <a href="/porno-obmenik-video/top/views/">Просматриваемые</a> / <a href="/porno-obmenik-video/top/down/">Скачиваемые</a> / <a href="/porno-obmenik-video/top/rating/">Популярные</a> / Новые</div>',
        
'pagination' => $pages,
        
'message' => (!empty($message) ? $message ''),
        
'err' => (!empty($err) ? $err : array()),
        
'video_moderation' => $video_moderation
        
]);        
    }
    
    public static function 
top($sort$page) {

            
$video_moderation Flight::db()
            ->
query("SELECT COUNT(*) FROM `fo_video` WHERE moderation = '1'")
            ->
fetchColumn();
        switch (
$sort) {
            
            case 
'new':
                
$p Flight::page();
                
                
$pages $p->menu('fo_video''/porno-obmenik-video/top/new'$page"WHERE `moderation` = '0'"FO_PERPAGE);
                
                
$files Flight::db()
                ->
query("SELECT *, (SELECT COUNT(*) FROM fo_comments WHERE fo_comments.parent = fo_video.id) AS count_comments FROM `fo_video` WHERE `fo_video`.`moderation` = '0' ORDER BY `fo_video`.`id` DESC " $p->limit())
                ->
fetchAll();
                
                
parent::view('fo/files', [
                
'files'       => $files,
                
'title'       => 'Новые порно видео пользователей в файлообменнике частные новинки',
                
'description' => 'новинки видео, свежые ролики пользователей, добавь свой новый секс в обменник',
                
'keywords'    => 'пользователи, я, добавить, новый, видео, ххх, на, сайт, бесплатно, обменник, файлов',
                
'pagination'  => $pages,
                
'top_type'    => 'new',
                
'nav'         => '<div class="new"><b>Показать самые:</b> <a href="/porno-obmenik-video/top/views/">Просматриваемые</a> / <a href="/porno-obmenik-video/top/down/">Скачиваемые</a> / <a href="/porno-obmenik-video/top/rating/">Популярные</a> / Новые</div>',
                
'fo_status' => FO_STATUS,
                
'message' => (!empty($message) ? $message ''),
                
'err' => (!empty($err) ? $err : array()),
                
'video_moderation' => $video_moderation
                
]);        
                break;
            
            case 
'views':
                
                
$p Flight::page();
                
                
$pages $p->menu('fo_video''/porno-obmenik-video/top/views'$page"WHERE `moderation` = '0'"FO_PERPAGE);
                
                
$files Flight::db()
                ->
query("SELECT *, (SELECT COUNT(*) FROM fo_comments WHERE fo_comments.parent = fo_video.id) AS count_comments FROM `fo_video` WHERE `fo_video`.`moderation` = '0' ORDER BY `fo_video`.`view_count` DESC " $p->limit())
                ->
fetchAll();
                
                
parent::view('fo/files', [
                
'files'       => $files,
                
'title'       => 'Просматриваемые видео пользователей сайта',
                
'description' => 'Самые просматриваемые видео пользователей сайта, смотрят видео посетителей обменника ххх',
                
'keywords'    => 'самые, просматриваемые, смотреть, смотрят, больше, посетителей, видео, ххх, файлообменник, добавить, секс',
                
'pagination'  => $pages,
                
'top_type'    => 'new',
                
'nav'         => '<div class="new"><b>Показать самые:</b> Просматриваемые / <a href="/porno-obmenik-video/top/down/">Скачиваемые</a> / <a href="/porno-obmenik-video/top/rating/">Популярные</a> / <a href="/porno-obmenik-video/top/new/">Новые</a></div>',
                
'fo_status' => FO_STATUS,
                
'message' => (!empty($message) ? $message ''),
                
'err' => (!empty($err) ? $err : array()),
                
'video_moderation' => $video_moderation
                
]); 
                break;
                
            case 
'down':
                
$p Flight::page();
                
                
$pages $p->menu('fo_video''/porno-obmenik-video/top/views'$page"WHERE `moderation` = '0'"FO_PERPAGE);
                
                
$files Flight::db()
                ->
query("SELECT *, (SELECT COUNT(*) FROM fo_comments WHERE fo_comments.parent = fo_video.id) AS count_comments FROM `fo_video` WHERE `fo_video`.`moderation` = '0' ORDER BY `fo_video`.`load_count` DESC " $p->limit())
                ->
fetchAll();
                
                
parent::view('fo/files', [
                
'files'       => $files,
                
'title'       => 'Скачиваемые видео посетителей сайта, скачивают файлы из обменника',
                
'description' => 'больше всего Скачиваемые видео посетителей сайта, скачивают файлы из обменника, скачать видео из файлообменника бесплатно на смартфон',
                
'keywords'    => 'скачать, видео, секс, порнуха, эротика, смартфон, ххх',
                
'pagination'  => $pages,
                
'top_type'    => 'down',
                
'nav'         => '<div class="new"><b>Показать самые:</b> <a href="/porno-obmenik-video/top/views/">Просматриваемые</a> / Скачиваемые / <a href="/porno-obmenik-video/top/rating/">Популярные</a> / <a href="/porno-obmenik-video/top/new/">Новые</a></div>',
                
'fo_status' => FO_STATUS,
                
'message' => (!empty($message) ? $message ''),
                
'err' => (!empty($err) ? $err : array()),
                
'video_moderation' => $video_moderation
                
]);
                break;
                
            default:
                
$p Flight::page();
                
                
$pages $p->menu('fo_video''/porno-obmenik-video/top/views'$page"WHERE `moderation` = '0'"FO_PERPAGE);
                
                
$files Flight::db()
                ->
query("SELECT *, (SELECT COUNT(*) FROM fo_comments WHERE fo_comments.parent = fo_video.id) AS count_comments FROM `fo_video` WHERE `fo_video`.`moderation` = '0' ORDER BY `fo_video`.`rating` DESC " $p->limit())
                ->
fetchAll();
                
                
parent::view('fo/files', [
                
'files'       => $files,
                
'title'       => 'Популярные порно видео пользователей файлообменник, самые лучшие ролики ххх',
                
'description' => 'Топ супер лучшие Популярные порно видео пользователей файлообменник, самые лучшие ролики секс обменника ххх',
                
'keywords'    => 'топ, супер, лучшее, популярное, видео, секс, обменник',
                
'pagination'  => $pages,
                
'top_type'    => 'rating',
                
'nav'         => '<div class="new"><b>Показать самые:</b> <a href="/porno-obmenik-video/top/views/">Просматриваемые</a> / <a href="/porno-obmenik-video/top/down/">Скачиваемые</a> / Популярные / <a href="/porno-obmenik-video/top/new/">Новые</a></div>',
                
'fo_status' => FO_STATUS,
                
'message' => (!empty($message) ? $message ''),
                
'err' => (!empty($err) ? $err : array()),
                
'video_moderation' => $video_moderation
                
]);
                break;
            
        }        
    }
    
    public static function 
upload() {
        
        global 
$FO_whiteList;
        
        if (!
FO_STATUS) {
            
header("Location: /");
            exit;
        }
        
        if (!empty(
$_POST)) {
            
            
$ip $_SERVER['REMOTE_ADDR'];
            
$agent $_SERVER['HTTP_USER_AGENT'];
            
$frame 25;
            
$max_size 1048576 FO_MAXSIZE;
            
$root $_SERVER['DOCUMENT_ROOT'];
            
$err = array();
            
$file $_FILES['file'];
            
$name trim(htmlspecialchars($_POST['name']));
            
$name_f trim(htmlspecialchars($_POST['name_f']));
            
$desc_f trim(htmlspecialchars($_POST['desc_f']));
            
$comments = (empty($_POST['comments']) ? '' trim(htmlspecialchars($_POST['comments'])));
            
$captcha $_POST['captcha'];
            
$ext pathinfo($file['name'], PATHINFO_EXTENSION);
            
$size $file['size'];
            
            if (
$_SESSION['rand_code'] != $captcha) {
                
$err[] = '<b><span style="color: red;">Проверочное число введено не верно</span></b>';
            }
            
            if (empty(
$file['name'])) {
                
$err[] = '<b><span style="color: red;">Не выбран файл</span></b>';
            }
            
            if (empty(
$name)) {
                
$err[] = '<b><span style="color: red;">Заполните поле "Ваше имя"</span></b>';
            }
            
            if (empty(
$name_f)) {
                
$err[] = '<b><span style="color: red;">Заполните поле "Название видео"</span></b>';
            }
            
            if (empty(
$desc_f)) {
                
$err[] = '<b><span style="color: red;">Заполните поле "Описание видео"</span></b>';
            }
            
            if (empty(
$captcha)) {
                
$err[] = '<b><span style="color: red;">Не введен проверочный код</span></b>';
            }
            
            if (!
in_array($ext$FO_whiteList)) {
                
$err[] = '<b><span style="color: red;">Не допустимое расширение файла</span></b>';
            }
            
            if (
$file['size'] > $max_size) {
                
$err[] = '<b><span style="color: red;">Размер файла превышает ' FO_MAXSIZE ' мб</span></b>';
            }
            
            if (
strlen($desc_f) > 600) {
                
$err[] = '<b><span style="color: red;">Длина описания превышает 600 символов</span></b>';
            }
            
            if (empty(
$err)) {
                
// Все ОК
                
                
                
$alias Base::str2url($name_f);
                
$alias Base::uniqu_alias($alias);
                
$alias_path PREFIX $alias;                
                
                
move_uploaded_file($file['tmp_name'], $root '/public/video_fo/' $alias_path '.' $ext);

                
$img_path $root '/public/screen_fo/'.$alias.'.png';
                
                
$movie = new ffmpeg_movie($root '/public/video_fo/' $alias_path '.' $ext);
                
$image $movie->getFrame($frame);
                
$selfimg $image->toGDImage();
    
                
imagepng($selfimg$img_path);
                
imagedestroy($selfimg);
    
                
parent::resize($img_path$img_path175144);
                
parent::watermark($img_path$img_path);
    
                
$duration $movie->getDuration();
                
                
$sizing $movie->getFrameHeight().'x'.$movie->getFrameWidth();
                

                
$sett Flight::db()
                ->
query("SELECT cron_del FROM `fo_settings`")
                ->
fetch();
                
                
$sql "
                INSERT INTO fo_video
                (alias, ext, size, file_name, file_desc, file_comments, user_name, user_ip, user_agent, duration, sizing, date_upload, last_load, rating, moderation, cron_del)
                VALUES
                ('
{$alias}', '{$ext}', '{$size}', :name_f, :desc_f, :comments, :name, '{$ip}', :uagent, '{$duration}', '{$sizing}', UNIX_TIMESTAMP(), 0, 0, '".FO_MODER."', '".$sett['cron_del']."')
                "
;
                             
                
$result Flight::db()->prepare($sql);
                
$result->bindValue(":name_f"$name_fPDO::PARAM_STR);
                
$result->bindValue(":desc_f"$desc_fPDO::PARAM_STR);
                
$result->bindValue(":comments"$commentsPDO::PARAM_INT);
                
$result->bindValue(":name"$namePDO::PARAM_STR);
                
$result->bindValue(":uagent"$agentPDO::PARAM_STR);
                
$result->execute(); 
                
                if (
FO_MODER) {
                    
$_SESSION['message'] = '<b><span style="color: green;">Ваше видео успешно загружено! видео появится на сайте после проверки администрации сайта!</span></b>';
                } else {
                    
$_SESSION['message'] = '<b><span style="color: green;">Ваше видео успешно загружено!</span></b>';
                }
                
                
$string '';
                
                for (
$i 0$i 5$i++) {
                    
// this numbers refer to numbers of the ascii table (lower case)
                    
$string .= chr(rand(97122));
                }
                
                
$_SESSION['rand_code'] = $string;
                
                
$_SESSION['captcha_time'] = time() + 600;
                
                
header("Location: /porno-obmenik-video");
                exit;
            }
        }
        
        
$post = array();
        
$post['name'] = (!empty($_POST['name']) && !empty($err) ? trim(htmlspecialchars($_POST['name'])) : NULL);
        
$post['name_f'] = (!empty($_POST['name_f']) && !empty($err) ? trim(htmlspecialchars($_POST['name_f'])) : NULL);
        
$post['desc_f'] = (!empty($_POST['desc_f']) && !empty($err) ? trim(htmlspecialchars($_POST['desc_f'])) : NULL);
        
$post['comments'] = (!empty($_POST['comments']) && !empty($err) ? 'checked' NULL);
        
        
parent::view('fo/upload', [
        
'title'       => 'Добавить свое видео в порно обменник сайта, частное секс видео добавить личное, файлообменник бесплатно',
        
'description' => 'Бесплатно Добавить свое видео в порно обменник сайта, частное секс видео добавить личное, файлообменник бесплатно, файл на сайт свой',
        
'keywords'    => 'бесплатно, добавить, видео, в, обменник, загрузить, upload, на, сайт, видео, ххх, личное, секс, файлообменник,',
        
'maxsize' => FO_MAXSIZE,
        
'post' => $post,
        
'err' => (!empty($err) ? $err : array()),
        
'message' => ''
        
]);
        
    }
    
    public static function 
video($url$page) {
        
        
        
$result Flight::db()->prepare("SELECT * FROM `fo_video` WHERE alias = :url".(!empty($_COOKIE['admin_verify']) && $_COOKIE['admin_verify'] == md5(PASSWORD)  ? " && moderation = '0'" NULL)."");
        
$result->bindValue(":url"$urlPDO::PARAM_STR);
        
$result->execute(); 
        
$file $result->fetch(PDO::FETCH_ASSOC);
        
        if (empty(
$file)) {
            
header("Location: /");
            exit;
        }

        if (
Flight::request()->cookies->uniq != 'fo_' $file['id']) {
                
            
Flight::db()
            ->
query("UPDATE `fo_video` SET `view_count` = `view_count` + 1 WHERE `id` = {$file['id']}");
            
            
setcookie('uniq''fo_' $file['id'], time() + 3600 24'/');
        
        }

        
/* Рейтинг */
        
$check Flight::db()
        ->
query("SELECT id FROM `fo_rating_list` WHERE ip = '{$_SERVER['REMOTE_ADDR']}' && video_id = '{$file['id']}'")
        ->
fetchAll();
        
        
/* Счетчик рейтинга (+ и -)*/
        
$total_plus Flight::db()
        ->
query("SELECT id FROM `fo_rating_list` WHERE video_id = '{$file['id']}' && type = 'plus'")
        ->
fetchAll();
        
$total_plus count($total_plus);
        
        
$total_minus Flight::db()
        ->
query("SELECT id FROM `fo_rating_list` WHERE video_id = '{$file['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' ? ($file['rating'] + 1) : ($file['rating'] - 1));
                
$typeRating = ($_GET['rating'] == 'plus' 'plus' 'minus');
                
Flight::db()
                ->
query("UPDATE `fo_video` SET `rating` = '{$updRating}' WHERE `id` = {$file['id']}");
                
                
Flight::db()->query("
                    INSERT INTO `fo_rating_list`
                    (video_id, type, date, ip)
                    VALUES
                    ('
{$file['id']}', '{$typeRating}', UNIX_TIMESTAMP(), '{$_SERVER['REMOTE_ADDR']}')
                    "
);
                    
                
$message 'Вы успешно проголосовали ' . ($typeRating == 'plus' '+1' '-1');
            } else {
                
$message 'Вы уже голосовали за это видео';
            }
        } else {
            
$message null;
        } 
            
        
/* Добавление комментария */
        
if (!empty($_POST['send']) && !empty($file['file_comments'])) {
            
$array = array();
            
$ip $_SERVER['REMOTE_ADDR'];
            
$agent $_SERVER['HTTP_USER_AGENT'];
            
$name trim(htmlspecialchars($_POST['name']));
            
$text trim(htmlspecialchars($_POST['text']));
            
            if (empty(
$name) OR empty($text)) {
                
$err[] = '<b><span style="color: red;">Заполните все поля</span></b>';
            }
            
            if (!empty(
$text) && strlen($text) > 1000) {
                
$err[] = '<b><span style="color: red;">Длина комментария превышает 1000 символов</span></b>';
            }
            
            if (
$_POST['captcha'] != $_SESSION['rand_code']) {
                
$err[] = '<b><span style="color: red;">Проверочное число введено не верно</span></b>';
            }
            
            if (empty(
$err)) {

                
$sql "INSERT INTO fo_comments 
                (com_name, com_text, parent, ip, uagent, date) 
                VALUES 
                (:name, :text, :file_id, '
{$ip}', :uagent, UNIX_TIMESTAMP())";   
                             
                
$result Flight::db()->prepare($sql);
                
$result->bindValue(":name"$namePDO::PARAM_STR);
                
$result->bindValue(":text"$textPDO::PARAM_STR);
                
$result->bindValue(":file_id"$file['id'], PDO::PARAM_INT);
                
$result->bindValue(":uagent"$agentPDO::PARAM_STR);
                
                
$result->execute(); 
                
                
$message '<b><span style="color: green;">Комментарий успешно добавлен</span></b>';
                
                
$string '';
                
                for (
$i 0$i 5$i++) {
                    
// this numbers refer to numbers of the ascii table (lower case)
                    
$string .= chr(rand(97122));
                }
                
                
$_SESSION['rand_code'] = $string;
                
                
$_SESSION['captcha_time'] = time() + 600;
                
                
//header("Location: /porno-obmenik-video/" . $file['alias']);
            
}
        }
        
        
/* Удаление комментария */
        
if (!empty($_GET['com_del']) && !empty($_COOKIE['admin_verify']) && $_COOKIE['admin_verify'] == md5(PASSWORD)) {
            
$sql "DELETE FROM fo_comments WHERE id = :com_id";
            
$result Flight::db()->prepare($sql);
            
$result->bindValue(":com_id"$_GET['com_del'], PDO::PARAM_INT);
            
$result->execute(); 
            
$message 'Комментарий успешно удален';
        }

        
$p Flight::page();
        
        
$pages $p->menu('fo_comments''/porno-obmenik-video/' $file['alias'], $page"WHERE `parent` = {$file['id']}"FO_PERPAGE_COM);
        
        
$comments Flight::db()
        ->
query("SELECT * FROM `fo_comments` WHERE parent = '{$file['id']}' ORDER BY id DESC " $p->limit())
        ->
fetchAll();        

        
$post['name'] = (!empty($_POST['name']) && !empty($err) ? trim(htmlspecialchars($_POST['name'])) : NULL);
        
$post['text'] = (!empty($_POST['text']) && !empty($err) ? trim(htmlspecialchars($_POST['text'])) : NULL);
        
        
        
parent::view('fo/video', [
        
'title'       => $file['file_name'],
        
'description' => '',
        
'keywords'    => '',
        
'video' => $file,
        
'comments' => $comments,
        
'message'     => $message,
        
'check_rating' => (empty($check) ? 1),
        
'rating_plus' => $total_plus,
        
'rating_minus' => $total_minus,
        
'pagination' => $pages,
        
'post' => $post,
        
'err' => (!empty($err) ? $err : array()),
        
'admin' => (!empty($_COOKIE['admin_verify']) && $_COOKIE['admin_verify'] == md5(PASSWORD) ? true false)
        ]); 
                
    }
    
    public static function 
download($url) {

        
$result Flight::db()->prepare("SELECT * FROM `fo_video` WHERE alias = :alias");
        
$result->bindValue(":alias"$urlPDO::PARAM_STR);
        
$result->execute(); 
        
$file $result->fetch(PDO::FETCH_ASSOC);  
        
        if (empty(
$file)) {
            
header("Location: /");
            exit;
        }
        
        
Flight::db()
        ->
query("UPDATE `fo_video` SET `last_load` = UNIX_TIMESTAMP(), `load_count` = `load_count` + 1 WHERE `id` = {$file['id']}");
        
Flight::redirect('/public/video_fo/'.PREFIX $file['alias'].'.' $file['ext']);        
    }
    
    public static function 
online_fo($url) {
        
$result Flight::db()->prepare("SELECT * FROM `fo_video` WHERE alias = :alias");
        
$result->bindValue(":alias"$urlPDO::PARAM_STR);
        
$result->execute(); 
        
$file $result->fetch(PDO::FETCH_ASSOC); 
        
        if (empty(
$file) OR $file['ext'] != 'mp4') {
            
header("Location: /");
            exit;
        }  
        
        
parent::view('fo/online', [
        
'title'       => $file['file_name'],
        
'description' => 'Смотреть онлайн видео бесплатно',
        
'keywords'    => 'смотреть, секс, бесплатно, онлайн, видео, порно',
        
'video'       => $file,
        
'prefix'      => PREFIX
        
]);              
    }
    

}
Онлайн: 0
Реклама