Вход Регистрация
Файл: CMS/load/index.php
Строк: 752
<?php
define
('CMS',TRUE);
include(
'cfg.php');

if (!empty(
$id) && !empty($mod) && $mod == 'download') { // Загрузка файла

    
$row $db->selectRow("SELECT * FROM ?_downs WHERE `downs_id` = ? LIMIT 1"$id);

    if (!empty(
$row)) {

        include_once( 
ENGINE '/classes/down.class.php' );

        
$files_path ROOTPATH DS $config['files_folder'] . DS $id DS $row['downs_link'];

        if (
file_exists($files_path)) {

            if (empty(
$_SESSION[SP]['dload'][$id])) {

                
$db->query"UPDATE ?_downs SET `downs_load` = (`downs_load` + 1), `downs_last_load` = ?
                             WHERE `downs_id` = ? LIMIT 1"
SITE_TIME$id );
            }

            
$_SESSION[SP]['dload'][$id] = 1;

            
//redirect($config['site_url'] . DS . $config['files_folder'] . DS . $id . DS . $row['downs_link']);

            
Getf::download( @file_get_contents$files_path ), $row['downs_link'], truefalse );
            exit;

        }
        else {

            
$inSes->addMessage('Ошибка 404! Файл не найден или ссылка не верна!');
            
gen_red('index'''RND);
        }
    }
    else {

        
$inSes->addMessage('Ошибка 404! Файл не найден или ссылка не верна!');
        
gen_red('index'''RND);
    }
}
else if (!empty(
$mod) && $mod == 'search') { // Поиск файлов

    
$q = !empty($_REQUEST['q']) ? (string) $_REQUEST['q'] : '';

    
$logic = !empty($_REQUEST['logic']) ? check($_REQUEST['logic']) : 'or';

    
$error '';

    
$bad_querius = array("x22""x60""t""n""r""¬"); // Удаляемые символы из запроса

    
if (!empty($_REQUEST['q'])) {
 
        if (isset(
$_REQUEST['s'])) {

            if (
is_array($_REQUEST['s'])) {

                
$s $_REQUEST['s'];
            }
            else 
$s explode(';'$_REQUEST['s']);
        }
        else 
$s array_keys($categories);

        
$s array_map('intval'$s);

        if (!
in_array($logic, array('and''or'))) {

            
$logic 'or';
        }
        
$logic strtoupper$logic );

        
$q preg_replace('#[^a-zA-Zа-яА-Я0-9 -_@:;()+=.,&*!?<>#$"'/\]#siu', '', $q);
        
$q preg_replace('/s/u'' '$q);
        
$q preg_replace('/ {2,}/u'' '$q);
        
$q str_replace($bad_querius''strip_tags($q));
        if (
get_magic_quotes_gpc()) $q stripslashes($q);
        
$q trim$q );

        if ( 
$q == '' ) {

            
$inSes->addMessage('Произошла Ошибка! Вы не ввели запрос &quot;Что искать?&quot;');
            
gen_red('search'''RND);
        
//}
        //else if ( empty($s) )  {

            //$inSes->addMessage('Произошла Ошибка! Вы не выбрали категорию &quot;Где искать?&quot;');
            //gen_red('search', '', RND);
        
}
        else {

            
$q explode(' '$q);
            
array_splice($q3);
            
$escape_array = array(
                    
"x2a" => ""//*
                   
"x22" => ""//"
                   
"x2b" => ""//+
                   
"x2d" => ""//-
                   
"x7e" => ""//~
                   
"x28" => ""//(
                   
"x29" => ""//)
                   
"x3c" => ""//<
                   
"x3e" => ""  //>
                   
);

            for(
$i 0$query = array(); $i count$q ); $i++) {

                
$query[] = sprintf($lang['SEARCH_WORD'], check($q[$i]));
                
$q[$i]   = strtr($q[$i], $escape_array);
            }

            
$query implode(' ' $lang[$logic] . ' '$query);

            
$where = !empty($id) ? " AND `d`.`downs_cats_id` = '$id'" " AND `d`.`downs_cats_id` <> ''";

            for(
$i 0$part_of_query ''$sep ''$i count$q ); $i++, $sep $logic) {

                
$part_of_query .= $sep " MATCH(`d`.`downs_title`,`d`.`downs_text`) AGAINST('" mysql_escape_string($q[$i]) . "*' IN BOOLEAN MODE)";
                
$part_of_query .= $where ' ';
            }

            
$v $d = array();

            if (!empty(
$id)) {

                
$rows $db->selectPage$total"SELECT `d`.*, `c`.*
                                                  FROM ?_downs `d` LEFT JOIN ?_downs_category `c`
                                                  ON `d`.`downs_cats_id` = `c`.`cats_id`
                                                  WHERE " 
$part_of_query "
                                                  ORDER BY `d`.`downs_time` DESC
                                                  LIMIT ?d, ?d"
$from$onpage);
                if (!empty(
$rows) && $total 0) {

                    
$c $from 1;
                    
$start = ($page 1) * $onpage;
                    if (
$start 0$start 0
                    if (
$start $total 1$start $total 1;
                    
$stop $start $onpage;
                    if (
$stop $total$stop $total;

                    
$d[] = 'Поиск файлов';
                    
$d[] = 'Результаты поиска - ' $query;
                    
$v[] = '<div class="b">';
                    
$v[] = '- Всего найдено: <b>' num2name$total, array('файлов','файла','файл') ) . '</b><br />';
                    
$v[] = '- Показаны результаты с <b>' intval$start 1) . '</b>';
                    
$v[] = '  по <b>' intval$stop ) . '</b> место<br /></div>';

                    foreach(
$rows as $row) {

                        
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_link'];
                        
$filesize = !empty($row['downs_link']) ? read_file($filepath) : 0;
                        
$file_ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

                        
$v[] = '<div class="b" style="min-height: ' $config['preview_size'] . 'px;">';

                        if (
in_array($file_ext, array('jpg''jpeg''gif''png'))) {

                            
$v[] = '<div class="img">' resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_link'], $config['preview_size'], $row['downs_title']) . '</div>';
                        }
                        else if (!empty(
$row['downs_screen'])) {

                            
$v[] = '<div class="img">' resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']) . '</div>';
                        }
                        else {

                            
$v[] = '<div class="img"><img src="/images/no_photos.png" align="center" alt="" /></div>';
                        }

                        
$sex = ($row['downs_user_sex'] == 1) ? ' <span style="color:red;">(+18)</span>' '';

                        
$v[] = extensions($file_ext);
                        
$v[] = '<b><a href="' gen_uri('file'$row['downs_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
                        
$v[] = '<div class="right">(' $filesize ')</div>';
                        
$v[] = '<br />';
                        if (!empty(
$row['downs_text'])) $v[] = format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...';
                        
$v[] = '</div>';
                    }

                    
$title $rows[0]['cats_name'];
                    
show_header('Результаты поиска - ' $queryimplode(' '$d), implode(' '$d));
                    echo 
implode('',$v);

                    
$_q  'q=' request('q');
                    
$_q .= '&amp;logic=' strtolower($logic);
                    
$_q .= '&amp;' RND;

                    echo 
show_pages(gen_uri('search'$id$_q));

                }
                else {

                    
show_header('Поиск файлов');

                    
show_error('По вашему запросу ' $query ' ни чего не найдено!');
                }
            }
            else {

                
$rows $db->select("SELECT `d`.*, `c`.*, COUNT( `d`.`downs_id` ) AS `Rows`
                                     FROM ?_downs `d` LEFT JOIN ?_downs_category `c`
                                     ON `d`.`downs_cats_id` = `c`.`cats_id`
                                     WHERE " 
$part_of_query "
                                     GROUP BY `c`.`cats_id`
                                     ORDER BY `c`.`cats_id` ASC
                                     LIMIT ?d, ?d"
$from$onpage);

                if (!empty(
$rows)) {

                    foreach(
$rows as $row) {

                        
$v[] = '<div class="b">' icon('folder.png''icons');
                        
$v[] = '<a href="' gen_uri('search'$row['cats_id'], 'q=' request('q') . '&amp;logic=' strtolower($logic) . '&amp;' RND) . '">' $row['cats_name'] . '</a> (' $row['Rows'] . ')';
                        
$v[] = '</div>';
                        
$d[] = $row['cats_name'];
                    }

                    
show_header('Результаты поиска - ' $queryimplode(' '$d), implode(' '$d));
                    echo 
implode('',$v);
                }
                else {

                    
show_header('Поиск файлов');

                    
show_error('По вашему запросу ' $query ' ни чего не найдено!');
                }
            }
        }
    }
    else {

        
show_header('Поиск файлов');
    }
    
$form = new cmsForm(gen_uri('search'''RND), 'post');
    
$form->addText('Ваш запрос:''q'request('q'));
    
$form->addRadio('''logic'strtolower($logic), array('and' => 'Все слова''or' => 'Любое из слов'));
    echo 
$form->Submit('Искать');
    unset(
$form);
    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index'''RND) . '">Загруз Зона</a> | ';
    echo 
'<a href="' gen_uri('new'''RND) . '">Новые файлы</a> | ';
    echo 
'<a href="' gen_uri('top'''RND) . '">ТОП файлов</a></div>';

}
else if (!empty(
$mod) && $mod == 'new') { // Новые файлы

    
show_header('Новые файлы');

    
$rows $db->selectPage$total"SELECT * FROM ?_downs 
                                      WHERE `downs_cats_id` != '' 
                                      ORDER BY `downs_time` DESC 
                                      LIMIT ?d, ?d"
$from$onpage );

    if (!empty(
$rows) && $total 0) {

        foreach(
$rows as $row) {

            
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_link'];
            
$filesize = !empty($row['downs_link']) ? read_file($filepath) : 0;
            
$file_ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

            echo 
'<div class="b" style="min-height: ' $config['preview_size'] . 'px;">';

            if (
in_array($file_ext, array('jpg''jpeg''gif''png'))) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_link'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else if (!empty(
$row['downs_screen'])) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else {

                echo 
'<div class="img"><img src="/images/no_photos.png" align="center" alt="" /></div>';
            }

            
$sex = ($row['downs_user_sex'] == 1) ? ' <span style="color:red;">(+18)</span>' '';

            echo 
extensions($file_ext);
            echo 
'<b><a href="' gen_uri('file'$row['downs_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
            echo 
'<div class="right">(' $filesize ')</div>';
            echo 
'<br />';
            if (!empty(
$row['downs_text'])) echo format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...';
            echo 
'</div>';
        }

        echo 
show_pages('new'RND'p');

    }
    else {

        
show_error('Новых файлов пока нет!');
    }
    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index'''RND) . '">Загруз Зона</a> | ';
    echo 
'<a href="' gen_uri('top'''RND) . '">ТОП файлов</a> | ';
    echo 
'<a href="' gen_uri('search'''RND) . '">Поиск</a></div>';

}
else if (!empty(
$mod) && $mod == 'top') { // ТОП файлов

    
show_header('Популярные файлы');

    
$rows $db->selectPage$total"SELECT * FROM ?_downs 
                                      WHERE `downs_cats_id` != '' 
                                      ORDER BY `downs_load` DESC 
                                      LIMIT ?d, ?d"
$from$onpage );

    if (!empty(
$rows) && $total 0) {

        foreach(
$rows as $row) {

            
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_link'];
            
$filesize = !empty($row['downs_link']) ? read_file($filepath) : 0;
            
$file_ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

            echo 
'<div class="b" style="min-height: ' $config['preview_size'] . 'px;">';

            if (
in_array($file_ext, array('jpg''jpeg''gif''png'))) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_link'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else if (!empty(
$row['downs_screen'])) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else {

                echo 
'<div class="img"><img src="/images/no_photos.png" align="center" alt="" /></div>';
            }

            
$sex = ($row['downs_user_sex'] == 1) ? ' <span style="color:red;">(+18)</span>' '';

            echo 
extensions($file_ext);
            echo 
'<b><a href="' gen_uri('file'$row['downs_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
            echo 
'<div class="right">(' $filesize ')</div>';
            echo 
'<br />';
            if (!empty(
$row['downs_text'])) echo format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...';
            echo 
'</div>';
        }

        echo 
show_pages('top'RND'p');

    }
    else {

        
show_error('Файлов пока нет!');
    }
    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index'''RND) . '">Загруз Зона</a> | ';
    echo 
'<a href="' gen_uri('new'''RND) . '">Новые файлы</a> | ';
    echo 
'<a href="' gen_uri('search'''RND) . '">Поиск</a></div>';

}
else if (!empty(
$id) && !empty($mod) && $mod == 'send_link') { // Отправка ссылки другу

    
if ($is_logged) {

         
redirect(gen_users($log'send_link'$idRND));
    }
    else {

        
show_header('Отправка ссылки');
        
show_login('Вы не авторизованы, для отправки ссылки своим друзьям, необходимо');
        echo 
'<div class="b">' icon('return.png');
        echo 
'<a href="' gen_uri('file'$idRND) . '">Назад</a></div>';
    }
}
else if (!empty(
$id) && !empty($mod) && $mod == 'read') { // Чтение файла

    
$row = array();
    
$row $db->selectRow("SELECT ?_downs.*, ?_downs_category.*
                           FROM ?_downs LEFT JOIN ?_downs_category 
                           ON ?_downs.`downs_cats_id` = ?_downs_category.`cats_id` 
                           WHERE `downs_id` = ? LIMIT 1;"
$id);


     if (empty(
$row) || !is_array($row)) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('index'''RND);
    }

    
show_header($row['downs_title'] . ' - онлайн чтение'$row['downs_text'], $row['downs_text']);

    
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS;

    if (!
is_file($filepath $row['downs_link'])) {

        
show_error('Ошибка! Файл не найден или ссылка неверна!');
    }
    else {

        
$ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

        
$file = @file($filepath $row['downs_link']);

        
$total = @count($file);

        
$onpage = !empty($config['chars_onpage']) ? num($config['chars_onpage']) : 300;

        if (
$total 0) {

            
$start = ($page 1) * $onpage;
            if (
$start 0$start 0
            if (
$start $total 1$start $total 1;
            
$stop $start $onpage;
            if (
$stop $total$stop $total;
            
$show = array();
            for(
$n $start$n $stop$n++) {

                
$show[] = check($file[$n]);
            }
            echo 
'<div class="b">' implode('<br />',$show) . '</div>';
            echo 
show_pages(gen_uri('read'$idRND));
        }
        else {

            
show_error('К сожалению, этот документ не содержит информации!');
        }
    }

    echo 
'<div class="b">' show_back_link($row['cats_parent_all'] . ',' $row['cats_id']);
    echo 
' -&gt; <a href="' gen_uri('file'$idRND) . '">' $row['downs_title'] . '</a>';
    echo 
'</div>';

}
else if (!empty(
$id) && !empty($mod) && $mod == 'zip') {

    if (
$id 1) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('files'''RND);
    }

    
$row = array();
    
$row $db->selectRow("SELECT ?_downs.*, ?_downs_category.*
                           FROM ?_downs LEFT JOIN ?_downs_category 
                           ON ?_downs.`downs_cats_id` = ?_downs_category.`cats_id` 
                           WHERE `downs_id` = ? LIMIT 1;"
$id);


    if (empty(
$row) || !is_array($row)) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('files'''RND);
    }

    
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS;

    if (!
is_file($filepath $row['downs_link'])) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('file'$idRND);
    }

    include_once( 
ENGINE '/classes/pclzip.class.php' );

    if (!
$zip = new PclZip($filepath $row['downs_link'])) {

        
$inSes->addMessage('Ошибка! Невозможно просмотреть данный файл, т.к. он не является архивом!');
        
gen_red('file'$idRND);
    }

    if (!empty(
$_GET['file'])) {

        
$file = (abs(intval($_GET['file'])) - 1);

        
$content $zip -> extract(PCLZIP_OPT_BY_INDEX$filePCLZIP_OPT_EXTRACT_AS_STRING);

        if (!empty(
$content)) {

            include_once( 
ENGINE '/classes/down.class.php' );

            
$filecontent $content[0]['content'];
            
$filename $content[0]['filename'];
            
$ext strtolower(substr($filenamestrrpos($filename'.') + 1));
            
Getf::download$filecontent$filenametruefalse );
            exit;
        }
        else {

            
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
            
gen_red('zip'$idRND);
        }
    }

    if (!empty(
$_GET['view'])) {

        
$view = (abs(intval($_GET['view'])) - 1);

        
$content $zip -> extract(PCLZIP_OPT_BY_INDEX$viewPCLZIP_OPT_EXTRACT_AS_STRING);

        if (!empty(
$content)) {

            
$filecontent $content[0]['content'];
            
$filename $content[0]['filename'];
            
$ext strtolower(substr($filenamestrrpos($filename'.') + 1));
            
show_header('Просмотр файла - ' $filename);
            echo 
'<div class="b">' extensions($ext);
            echo 
'<b>' $filename '</b> (' size($content[0]['size']) . ')</div>';

            if (!
preg_match("/.(gif|png|bmp|wbmp|jpg|jpeg)$/"$filename)) {

                if (
$content[0]['size'] > 0) {

                    if (
is_utf($filecontent)) {

                        echo 
'<div class="b">' highlight_string($filecontent1) . '<br />';
                    }
                    else {
                        echo 
'<div class="b">' highlight_string(iconv('cp1251''UTF-8'$filecontent), 1) . '<br />';
                    }
                    echo 
'- <a href="' gen_uri('zip'$id'file=' . ($view 1)) . '">Скачать</a></div>';
                }
                else {
                    
show_error('Данный файл пустой!');
                }
            }
            else {

                echo 
'<div class="b"><img src="' gen_uri('zip'$id'file=' . ($view 1)) . '" alt="" /><br />';
                echo 
'- <a href="' gen_uri('zip'$id'file=' . ($view 1)) . '">Скачать</a></div>';
            }
        }
        else {

            
$inSes->addMessage('Ошибка! Не удалось извлечь файл!');
            
gen_red('zip'$idRND);
        }
    }
    else {

        
show_header('Просмотр архива - ' $row['downs_title'], $row['downs_text'], $row['downs_text']);

        if ((
$list $zip -> listContent()) != 0) {

            
$intotal $zip -> properties();
            
$total $intotal['nb'];
            
sort($list);

            if (
$total 0) {

                echo 
'<div class="b">';
                echo 
'Всего файлов: ' $total '</div><div class="b">';

                
$arrext = array('.xml''.wml''.asp''.aspx''.shtml''.htm''.phtml''.html''.php''.htt''.dat''.tpl''.htaccess''.pl''.js''.jsp''.css''.txt''.sql''.gif''.png''.bmp''.wbmp''.jpg''.jpeg');

                
$onpage 25;

                list(
$start,$stop) = get_page();

                for (
$i $start$i $stop$i++) {

                    if (
$list[$i]['folder'] == 1) {

                        
$filename substr($list[$i]['filename'], 0, -1);
                        echo 
icon('folder.png''icons') . '<b>Директория ' $filename '</b><br />';
                    }
                    else {

                        
$filename $list[$i]['filename'];
                        
$ext strtolower(substr($filenamestrrpos($filename'.') + 1));
                        echo 
extensions($ext);

                        if (
in_array('.' $ext$arrext)) {

                            echo 
'<a href="' gen_uri('zip'$id'view=' . ($list[$i]['index'] + 1) . '&amp;' RND) . '">' $filename '</a>';
                        }
                        else {

                            echo 
$list[$i]['filename'];
                        }
                        echo 
' (' size($list[$i]['size']) . ')<br />';
                    }
                }

                echo 
'</div>' show_pages(gen_uri('zip'$idRND));

            }
            else {
                
show_error('Ошибка! В данном архиве нет файлов!');
            }
        }
        else {
            
show_error('Ошибка! Невозможно открыть архив!');
        }
    }
    echo 
'<div class="b">' show_back_link($row['cats_parent_all'] . ',' $row['cats_id']);
    echo 
' -&gt; <a href="' gen_uri('file'$idRND) . '">' $row['downs_title'] . '</a>';
    echo 
'</div>';
}
else if (!empty(
$id) && !empty($mod) && $mod == 'file') {

    if (
$id 1) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('index'''RND);
    }

    
$prs parse_url($_SERVER['REQUEST_URI']);
    
$row = array();
    
$row $db->selectRow("SELECT ?_downs.*, ?_downs_category.*,
                          (SELECT `users_gender` FROM ?_users WHERE `users_login` = ?_downs.`downs_user`) AS `users_gender`,
                          (SELECT COUNT(1) FROM ?_users_bookmarks WHERE `book_path` = ?) AS `bookmarks`
                           FROM ?_downs LEFT JOIN ?_downs_category 
                           ON ?_downs.`downs_cats_id` = ?_downs_category.`cats_id` 
                           WHERE `downs_id` = ? LIMIT 1;"
$prs['path'], $id);


    if (empty(
$row) || !is_array($row)) {

        
$inSes->addMessage('Ошибка! Файл не найден или ссылка неверна!');
        
gen_red('index'''RND);
    }

    if (
$row['downs_user_comm'] == && $is_logged) {

        
$arr_friends $db->selectCol("SELECT `friends_login` FROM ?_friends WHERE `users_login` = ?"$log);
    }
    else 
$arr_friends = array();

    if (!empty(
$_POST['submit'])) { // Добавление комментария

        
$msg = !empty($_POST['text']) ? check($_POST['text']) : '';

        if (
$is_logged) {

            if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                if (
cms_strlen(trim($msg)) >= && cms_strlen($msg) < 1000) {

                    if (
                       (
$row['downs_user_comm'] == && $row['downs_user'] == $log) || 
                       (
$row['downs_user_comm'] == && in_array($log,$arr_friends) || 
                       (
$row['downs_user_comm'] == 0))) {

                        if (
is_quarantine($log)) {

                            if (
is_flood($log)) {

                                
$msg  antimat($msg);
                                
$msg  smiles($msg);
                                
$date date('Y-m-d H:i:s'SITE_TIME);

                                
$db->query("INSERT INTO ?_comments SET `comm_post` = ?, `comm_text` = ?, `comm_author` = ?, `comm_type` = 'load', `comm_date` = ?, `comm_ip` = ?, `comm_ua` = ?"$id$msg$log$date$ip$brow);

                                
$db->query("UPDATE ?_downs SET `downs_comments` = (`downs_comments` + 1) WHERE `downs_id` = ?;"$id);

                                
$db->query("UPDATE ?_users SET `users_allcomments` = (`users_allcomments` + 1), `users_point` = (`users_point` + ?), `users_money` = (`users_money` + ?) WHERE `users_login` = ?"$config['comm_add_point'], $config['comm_add_money'], $log);

                                
$inSes->addMessage('Сообщение успешно добавлено!''ok');

                                
gen_red('file'$idRND);

                            }
                            else 
$inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' flood_period() . ' секунд!');
                        }
                        else 
$inSes->addMessage('Карантин! Вы не можете писать в течении ' round($config['karantin'] / 3600) . ' часов!');
                    }
                    else 
$inSes->addMessage('Ошибка! Комментирование данному файлу запрещено!');
                }
                else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
            }
            else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
        }
        else 
$inSes->addMessage('Ошибка! Комментировать могут только зарегистрированные пользователи сайта!');
    }

    
show_header($row['downs_title'], $row['downs_text'], $row['downs_text']);

    
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS;

    
$is_java false$jad_url '';

    if (!
is_file($filepath $row['downs_link'])) {

        
show_error('Ошибка! Файл не найден или ссылка неверна!');
    }
    else {

        
$file_url DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_link'];
        
$filesize read_file($filepath $row['downs_link']);
        
$file_ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

        echo 
'<div class="b">';

        if (
in_array($file_ext, array('jpg''jpeg''gif''png'))) {

            echo 
'<a href="' $file_url '">';
            echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_link'], $config['preview_size'], $row['downs_title']) . '</a><br />';
        }
        else if (
$file_ext == 'flv' || $file_ext == 'mp4') {

            echo 
video_player($file_url);
        }
        else {

            if (!empty(
$row['downs_screen'])) {

                echo 
'<a href="' $row['downs_screen'] . '">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']) . '</a><br />';
            }
            else {

                echo 
'<div style="align:center;"><img src="/images/no_photos.png" align="center" alt="" /></div>';
            }

            if (
$file_ext == 'jar') {

                
$is_java = (bool) get_jad($filepath $row['downs_link'], $config['site_url'] . $file_url);
                
$jad_url $config['site_url'] . str_ireplace('.jar''.jad'$file_url);
            }
        }

        if (!empty(
$row['downs_text'])) echo nl2br(bb_code($row['downs_text']));
        else echo 
'Описание к файлу не найдено!';
        echo 
'<br /></div>';

        if (!empty(
$config['allow_downs_nav'])) {

            echo 
'<div class="c">';

            
$next $db->selectRow("SELECT `downs_id` FROM ?_downs 
                                    WHERE `downs_id` > ? AND `downs_cats_id` = ?
                                    ORDER BY `downs_id` LIMIT 1"
$row['downs_id'], $row['downs_cats_id']);

            
$prev $db->selectRow("SELECT `downs_id` FROM ?_downs 
                                    WHERE `downs_id` < ? AND `downs_cats_id` = ?
                                    ORDER BY `downs_id` DESC LIMIT 1"
$row['downs_id'], $row['downs_cats_id']);

            if (!empty(
$prev['downs_id'])) {

                echo 
'<a href="' gen_uri('file'$prev['downs_id'], RND) . '">&lt;&lt; Назад</a>';
            }
            else echo 
'&lt;&lt; Назад';

            echo 
' | ';

            if (!empty(
$next['downs_id'])) {

                echo 
'<a href="' gen_uri('file'$next['downs_id'], RND) . '">Далее &gt;&gt;</a>';
            }
            else echo 
'Далее &gt;&gt;';

            echo 
'</div>';
        }

        if (
$file_ext == 'mp3') {

            
$TaggingFormat 'UTF-8';

            require_once( 
ENGINE '/getid3/getid3.php' );
            
            
$getID3 = new getID3$v = array();
            
$getID3->setOption(array('encoding'=>$TaggingFormat));

            
$info $getID3->analyze($filepath $row['downs_link']);

            if (!empty(
$info['tags']['id3v1']['title'][0]) || !empty($info['tags']['id3v2']['title'][0])) {

                
$v[] = !empty($info['tags']['id3v1']['title'][0]) ? '- Название: ' check($info['tags']['id3v1']['title'][0]) : 
                                                                    
'- Название: ' check($info['tags']['id3v2']['title'][0]);
            }
            if (!empty(
$info['tags']['id3v1']['artist'][0]) || !empty($info['tags']['id3v2']['artist'][0])) {

                
$v[] = !empty($info['tags']['id3v1']['artist'][0]) ? '- Исполнитель: ' check($info['tags']['id3v1']['artist'][0]) : 
                                                                     
'- Исполнитель: ' check($info['tags']['id3v2']['artist'][0]);
            }
            if (!empty(
$info['tags']['id3v1']['album'][0]) || !empty($info['tags']['id3v2']['album'][0])) {

                 
$v[] = !empty($info['tags']['id3v1']['album'][0]) ? '- Альбом: ' check($info['tags']['id3v1']['album'][0]) : 
                                                                     
'- Альбом: ' check($info['tags']['id3v2']['album'][0]);
            }
            if (!empty(
$info['tags']['id3v1']['year'][0]) || !empty($info['tags']['id3v2']['year'][0])) {

                 
$v[] = !empty($info['tags']['id3v1']['year'][0]) ? '- Год: ' check($info['tags']['id3v1']['year'][0]) : 
                                                                    
'- Год: ' check($info['tags']['id3v2']['year'][0]);
            }
            if (!empty(
$info['tags']['id3v1']['genre'][0]) || !empty($info['tags']['id3v2']['genre'][0])) {

                 
$v[] = !empty($info['tags']['id3v1']['genre'][0]) ? '- Жандр: ' check($info['tags']['id3v1']['genre'][0]) : 
                                                                     
'- Жандр: ' check($info['tags']['id3v2']['genre'][0]);
            }
            
$v[] = !empty($info['bitrate']) ? '- Битрейт: ' substr($info['bitrate'],0,3) : '-';
            
$v[] = !empty($info['playtime_string']) ? '- Длина: ' $info['playtime_string'] : '-';

            if (
count($v) > 0) echo '<div class="b"><b>Инфа о треке</b><br />' implode('<br />',$v) . '</div>';
            echo 
mp3_player($file_url);

        }

        echo 
'<div class="b">' icon('dload.png''icons');
        echo 
'<a href="' gen_uri('download'$row['downs_id'], RND) . '">Скачать</a> (' $filesize ')<br />';

        if (
$is_java && $jad_url) {

            echo 
icon('dload.png''icons');
            echo 
'<a href="' $jad_url '">Скачать jad-файл</a><br />';
        }
        else if (
$file_ext == 'txt') {

            echo 
icon('post_new.png''icons');
            echo 
'<a href="' gen_uri('read'$idRND) . '">Читать онлайн</a><br />';
        }
        else if (
$file_ext == 'zip') {

            echo 
icon('post_new.png''icons');
            echo 
'<a href="' gen_uri('zip'$idRND) . '">Просмотр архива</a><br />';
        }
        echo 
'</div>';
        echo 
'<div class="b">';
        echo 
'<b>Закачек:</b> ' num($row['downs_load']) . '<br />';
        echo 
'Файл добавлен обитателем: ' user_visit_icon($row['downs_user'], $row['users_gender']);
        echo 
' ' users_anketa($row['downs_user']) . ' (' get_date($row['downs_time']) . ')<br />';
        echo 
'В папку: <img src="/images/icons/folder.png" class="icon" alt="" /> ';
        echo 
'<a href="' gen_uri('files'$row['cats_id'], RND) . '">' $row['cats_name'] . '</a>';
        echo 
'<br /></div>' show_bookmarks($row['downs_title'], ''$row['bookmarks']);

        echo 
'<div class="b">' icon('email_send.png''icons');
        echo 
'<a href="' gen_uri('send_link'$row['downs_id'], RND) . '">Отправить другу</a><br />';
        echo 
'</div>';

        
$comm_type 'load';
        
$comm_url 'file'
        
// Подключили комменты
        
include( MODULES_PATH 'comments.inc.php' );

        if (
$is_logged) {

            if (
$row['downs_user_comm'] == && $row['downs_user'] <> $log) {

                
show_error('Комментирование только для владельца!');
            }
            else if (
$row['downs_user_comm'] == 1) {

                if (!empty(
$arr_friends) && in_array($log,$arr_friends)) {

                    
$form = new cmsForm(gen_uri('file'$id'rnd=' $_SESSION['token']), 'post');
                    
$form->addTextarea('Напишите комментарий:''text'request('text'));
                    echo 
$form->Submit('Добавить''submit');
                    unset(
$form);
                }
                else {

                    
show_error('Комментирование только для друзей владельца!');
                }
            }
            else {

                
$form = new cmsForm(gen_uri('file'$id'rnd=' $_SESSION['token']), 'post');
                
$form->addTextarea('Напишите комментарий:''text'request('text'));
                echo 
$form->Submit('Добавить''submit');
                unset(
$form);
            }
        }
        else {

            
show_login('Вы не авторизованы, для комментирования, необходимо');
        }
    }

    echo 
'<div class="b">' show_back_link($row['cats_parent_all'] . ',' $row['cats_id']) . '</div>';
}
else {

    if (!empty(
$id)) {

        
$cats $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_id` = ? LIMIT 1;"$id);

        if (!empty(
$cats)) {

            
show_header('Загруз зона - ' $cats['cats_name']);

            if (
$cats['cats_user_type'] == && !empty($cats['cats_user_pass'])) show_auth_form($id$cats['cats_user_pass']);

        }
        else {

            
$inSes->addMessage('Ошибка! Категория не найдена или ссылка неверна!');
            
gen_red('files'''RND);
        }

        
$is_index false;
    }
    else {

        
show_header('Загруз Зона');

        
$is_index true;

        echo 
'<div class="b">';
        echo 
'<img src="/images/icons/folder_star.png" class="icon" alt="" /> ';
        echo 
'<a href="' gen_uri('new'''RND) . '">Новые</a> | ';
        echo 
'<a href="' gen_uri('top'''RND) . '">Популярные</a> | ';
        echo 
'<a href="' gen_uri('search'''RND) . '">Поиск</a><br />';
        echo 
'</div>';
    }

    
$sub_cats false;

    
$subs $db->select("SELECT `c`.*
                         FROM ?_downs_category `c`
                         WHERE `c`.`cats_user` = '' AND `c`.`cats_parent` = ?;"
$id);

    
//print_r($subs);

    
if (!empty($subs) && count($subs) > && $page == 1) {

        
$sub_cats true;

        foreach(
$subs as $sub) {

            echo 
'<div class="b">' icon('folder.png''icons');
            echo 
'<a href="' gen_uri('files'$sub['cats_id']) . '">' $sub['cats_name'] . '</a></b> (' $sub['cats_count'] . ')</div>';
        }
    }

    if (!empty(
$id)) $where "`downs_cats_id` = '$id'"; else $where "`downs_cats_id` != '0'";

    
$rows $db->selectPage$total"SELECT * FROM ?_downs 
                                      WHERE `downs_link` != '' AND " 
$where 
                                      ORDER BY `downs_time` DESC 
                                      LIMIT ?d, ?d"
$from$onpage );

    if (!empty(
$rows) && $total && !$is_index) {

        echo 
'<div class="b">';
        echo 
'<img src="/images/icons/folder_star.png" class="icon" alt="" /> ';
        echo 
'<b>' $cats['cats_name'] . '</b></div>';

        foreach(
$rows as $row) {

            
$filepath ROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_link'];
            
$filesize = !empty($row['downs_link']) ? read_file($filepath) : 0;
            
$file_ext strtolower(substr(strrchr($row['downs_link'], '.'), 1));

            echo 
'<div class="b" style="min-height: ' $config['preview_size'] . 'px;">';

            if (
in_array($file_ext, array('jpg''jpeg''gif''png'))) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_link'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else if (!empty(
$row['downs_screen'])) {

                echo 
'<div class="img">';
                echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']);
                echo 
'</div>';
            }
            else {

                echo 
'<div class="img"><img src="/images/no_photos.png" align="center" alt="" /></div>';
            }

            
$sex = ($row['downs_user_sex'] == 1) ? ' <span style="color:red;">(+18)</span>' '';

            echo 
extensions($file_ext);
            echo 
'<b><a href="' gen_uri('file'$row['downs_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
            echo 
'<div class="right">(' $filesize ')</div>';
            echo 
'<br />';
            if (!empty(
$row['downs_text'])) echo format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...';
            echo 
'</div>';
        }

        echo 
show_pages(gen_uri('files'$idRND));

    }
    else if (!
$sub_cats) {

        
show_error('В данном разделе еще нет файлов!');
    }

    if (!empty(
$cats['cats_parent_all'])) echo '<div class="b">' show_back_link($cats['cats_parent_all']) . '</div>';
}

    
show_footer();
?>
Онлайн: 1
Реклама