Вход Регистрация
Файл: CMS/comm/comm_file.php
Строк: 306
<?php

if (!defined('CMS')) { die('Access Denied!'); }

$data = array();
$data $db->selectRow("SELECT ?_comm_comm.*, ?_comm_category.*
                       FROM ?_comm_comm LEFT JOIN ?_comm_category 
                       ON ?_comm_comm.`comm_cats_id` = ?_comm_category.`cats_id` 
                       WHERE `comm_url` = ? LIMIT 1;"
$soo);


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

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

if (empty(
$data['comm_obmen'])) {

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

$users      = array();
$arr_admins = @explode(','$data['comm_admins']);

if (
$is_logged) {

    
$users $db->selectRow("SELECT * FROM ?_comm_users WHERE `cu_comm` = ? AND `cu_user` = ? LIMIT 1;"$data['comm_id'], $log);

    if (
$data['comm_user'] == $log) {

        
$is_admin_soo true;
        
$is_moder_soo true;
    }

    if (
in_array($log$arr_admins) && $users['cu_admin'] == 1) {

        
$is_moder_soo true;
    }
}

if (
$data['comm_status'] == && empty($users)) {

    
$inSes->addMessage('Файлы доступны только участникам сообщества!');
    
gen_red('index'''RND);
}

$prs parse_url($_SERVER['REQUEST_URI']);
$row = array();
$row $db->selectRow("SELECT `f`.*, `d`.*, `c`.*, `u`.`users_gender`,
                      (SELECT COUNT(1) FROM ?_users_bookmarks WHERE `book_path` = ?) AS `bookmarks`
                       FROM ?_comm_files `f`
                       LEFT JOIN ?_downs `d` ON `f`.`files_downs` = `d`.`downs_id`
                       LEFT JOIN ?_comm_files_category `c` ON `f`.`files_cats_id` = `c`.`cats_id`
                       LEFT JOIN ?_users `u` ON `d`.`downs_user` = `u`.`users_login`
                       WHERE `f`.`files_comm` = ? 
                       AND `f`.`files_id` = ?"
$prs['path'], $data['comm_id'], $id);


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

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

# Действия создателя сообщества
if ($is_admin_soo) {

    if (!empty(
$_POST['move_file'])) {

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

            
$new_cat = !empty($_POST['new_cat'])  ? num($_POST['new_cat']) : 0;

            if (
$new_cat 0) {

                
$is_cat = (int) $db->selectCell("SELECT `cats_id` FROM ?_comm_files_category
                                                 WHERE `cats_comm` = ? AND `cats_id` = ?"
$data['comm_id'], $new_cat);

                if (
$is_cat 0) {

                    
$db->query("UPDATE ?_comm_files SET `files_cats_id` = ?
                                WHERE `files_comm` = ? AND `files_id` = ?"
$new_cat$data['comm_id'], $id);

                    
$db->query("UPDATE ?_comm_files_category SET `cats_count` = (SELECT COUNT(*) FROM ?_comm_files WHERE ?_comm_files_category.`cats_id` = ?_comm_files.`files_cats_id` AND ?_comm_files.`files_comm` = ?);"$data['comm_id']);


                    
$inSes->addMessage('Файл успешно перемещён!''ok');

                    
gen_red('files'$new_catRND);
                }
                else 
$inSes->addMessage('Ошибка! Запрашиваемая категория не найдена!');
            }
            else {

                
$db->query("UPDATE ?_comm_files SET `files_cats_id` = '0'
                            WHERE `files_comm` = ? AND `files_id` = ?"
$data['comm_id'], $id);

                
$db->query("UPDATE ?_comm_files_category SET `cats_count` = (SELECT COUNT(*) FROM ?_comm_files WHERE ?_comm_files_category.`cats_id` = ?_comm_files.`files_cats_id` AND ?_comm_files.`files_comm` = ?);"$data['comm_id']);

                
$inSes->addMessage('Файл успешно перемещён!''ok');

                
gen_red('files'''RND);
            }
        }
        else 
$inSes->addMessage('Неверный идентификатор сессии, повторите действие!');
    }

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

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

            
$db->query("DELETE FROM ?_comm_files WHERE `files_comm` = ? AND `files_id` = ?"$data['comm_id'], $id);

            
$db->query("UPDATE ?_comm_files_category SET `cats_count` = (SELECT COUNT(*) FROM ?_comm_files WHERE ?_comm_files_category.`cats_id` = ?_comm_files.`files_cats_id` AND ?_comm_files.`files_comm` = ?);"$data['comm_id']);

            
$inSes->addMessage('Файл успешно удалён!''ok');

            
gen_red('files'''RND);
        }
        else 
$inSes->addMessage('Неверный идентификатор сессии, повторите действие!');
    }
}

# Удаление комментов
if ($is_moder_soo) {

    if (!empty(
$_POST['del'])) {

        
$del intar($_POST['del']);

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

            if (!empty(
$del)) {

                
$del is_array($del) ? $del : array($del);

                
$del implode(','$del);

                
$db->query("DELETE FROM ?_comments WHERE `comm_id` IN(" $del ") AND `comm_type` = 'soo_files' AND `comm_post` = ?"$id);

                
$db->query("OPTIMIZE TABLE ?_comments;");

                
$inSes->addMessage('Выбранные комментарии успешно удалены!''ok');
            }
            else 
$inSes->addMessage('Ошибка! Отстутствуют выбранные комментарии для удаления!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');

        
gen_red('file'$idRND);
    }
}

# Добавление комментария
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 (
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` = 'soo_files', `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('Ошибка! Комментировать могут только зарегистрированные пользователи сайта!');
}

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

if (!empty(
$row['downs_user_sex'])) echo show_xxx_form($row['cats_id']);

$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 $config['site_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));

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

        echo 
'<div class="b"><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 /></div>';
    }
    else if (
$file_ext == 'flv' || $file_ext == 'mp4') {

        echo 
video_player($file_url);
    }
    else {

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

            echo 
'<div class="b" style="min-height: ' $config['preview_size'] . ';"><table><tr><td>';
            echo 
'<div class="img"><a href="' DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_screen'] . '">';
            echo 
resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']) . '</a></div></td>';
        }
        else {

            echo 
'<div class="b" style="min-height: ' $config['preview_size'] . ';"><table><tr><td>';
            echo 
'<div class="img"><img src="/images/no_photos.png" align="center" alt="" /></div></td>';
        }
        echo 
'</tr></table></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 '<div class="b">' nl2br(bb_code($row['downs_text']));
    else echo 
'<div class="b">Описание к файлу не найдено!';
    echo 
'<br /></div>';

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

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

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

        
$prev $db->selectRow("SELECT `downs_id` FROM ?_downs 
                                WHERE `downs_user` = ? AND `downs_id` < ? ORDER BY `downs_id` DESC LIMIT 1"
$uz$row['downs_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">';
    echo 
icon('dload.png''icons');
    echo 
'<a href="/load/' 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 />';
    }

    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 />';

    if (!empty(
$row['cats_id']) && !empty($row['cats_name'])) {

        echo 
'В папку: ' icon('folder.png''icons');
        echo 
'<a href="' gen_uri('files'$row['cats_id'], RND) . '">' $row['cats_name'] . '</a></div>';
    }
    else {

        echo 
icon('folder.png''icons');
        echo 
'<a href="' gen_uri('files'''RND) . '">Файлы сообщества</a></div>';
    }

    if (
$is_admin_soo) {

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

            
$arr_cat    = array();
            
$arr_cats   $db->select("SELECT * FROM ?_comm_files_category WHERE `cats_comm` = ?"$data['comm_id']);
            
$arr_cat[0] = 'Корневая';

            if (!empty(
$arr_cats)) {

                foreach(
$arr_cats as $cat) {
                    
$arr_cat[$cat['cats_id']] = $cat['cats_name'];
                }
            }
            if (!empty(
$arr_cat[$row['files_cats_id']])) unset($arr_cat[$row['files_cats_id']]);
            
$form = new cmsForm(gen_uri('file'$id'rnd=' $_SESSION['token']), 'post'' id="move"');
            
$form->addSelect('<b>Выберите папку:</b>''new_cat'''$arr_cat);
            echo 
$form->Submit(array('Переместить','Отмена'), array('move_file','cancel'));
            unset(
$form);
            
        }
        else {

            echo 
'<div class="b">';
            echo 
' [<a href="' gen_uri('file'$id'move=1&amp;' RND '#move') . '">Переместить</a> | ';
            echo 
' [<a href="' gen_uri('file'$id'del_file=1&amp;rnd=' $_SESSION['token']) . '">Удалить</a>]</div>';
        }
    }

    echo 
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 'soo_files';
    
$comm_url 'file'
    
// Подключили комменты
    
include( dirname(__FILE__) . '/comm_comments.php' );

    if (
$is_logged) {

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

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

    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="../' gen_uri('index'''RND) . '">Сообщества</a> | ';
    echo 
'<a href="../' gen_uri('cats'$data['cats_id'], RND) . '">' $data['cats_name'] . '</a> | ';
    echo 
'<a href="' gen_uri('index'''RND) . '">' $data['comm_name'] . '</a> | ';
    echo 
'<a href="' gen_uri('files'''RND) . '">Файлы</a>';

    if (!empty(
$row['cats_id']) && !empty($row['cats_name'])) {

        echo 
' | <a href="' gen_uri('files'$id'cat=' $row['cats_id'] . '&amp;' RND) . '">' $row['cats_name'] . '</a>';
    }
    echo 
'</div>';

?>
Онлайн: 1
Реклама