Вход Регистрация
Файл: CMS/comm/comm_files.php
Строк: 233
<?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(array(101))) {

        
$is_admin_soo true;

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

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

                
$name  = !empty($_POST['name'])  ? check($_POST['name'])  : '';
                
$about = !empty($_POST['about']) ? check($_POST['about']) : '';

                
$maxorder = (int) $db->selectCell("SELECT IFNULL(MAX(`cats_order`),0)+1 
                                                   FROM ?_comm_files_category WHERE `cats_comm` = ?;"
$data['comm_id']);

                
$last_id = (int) $db->query("INSERT INTO ?_comm_files_category SET `cats_comm` = ?, `cats_order` = ?, `cats_name` = ?, `cats_about` = ?, `cats_user` = ?"$data['comm_id'], $maxorder$name$about$data['comm_user']);

                if (
$last_id 0$inSes->addMessage('Папка успешно создана!''ok');
                else 
$inSes->addMessage('Ошибка! Не удалось добавить папку!');

                
gen_red('files'''RND);

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

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

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

                
$cat   = !empty($_POST['cat'])   ? num($_POST['cat'])     : 0;
                
$name  = !empty($_POST['name'])  ? check($_POST['name'])  : '';
                
$about = !empty($_POST['about']) ? check($_POST['about']) : '';


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

                if (
$is_cat 0) {

                    
$db->query("UPDATE ?_comm_files_category SET `cats_name` = ?, `cats_about` = ?
                                WHERE `cats_id` = ? AND `cats_comm` = ?"
$name$about$cat$data['comm_id']);

                    
$inSes->addMessage('Категория успешно изменена!''ok');

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

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

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

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

                if (
$is_cat 0) {

                    
$dels $db->select("SELECT * FROM ?_comm_files
                                         WHERE `files_cats_id` = ? AND `files_comm` = ?"
$is_cat$data['comm_id']);

                    if (!empty(
$dels)) {

                        foreach(
$dels as $del) {

                            
$db->query("DELETE FROM ?_comments WHERE `comm_post` = ? AND `comm_type` = 'soo_files';"$del['files_id']);
                        }
                    }

                    
$db->query("DELETE FROM ?_comm_files 
                                WHERE `files_cats_id` = ? AND `files_comm` = ? LIMIT 1"
$is_cat$data['comm_id']);

                    
$db->query("DELETE FROM ?_comm_files_category 
                                WHERE `cats_id` = ? AND `cats_comm` = ? LIMIT 1"
$is_cat$data['comm_id']);

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

                    
$inSes->addMessage('Категория успешно удалена!''ok');

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

    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);
}


if (!empty(
$id)) {

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

    if (!empty(
$cats)) {

        
show_header('Файлы - ' $cats['cats_name'] . ' - ' $data['comm_name']);

        
$onpage = !empty($config['files_num']) ? num($config['files_num']) : 10;

        if (
$page 1$from = ($page 1) * $onpage; else $from 0;

        
$rows $db->selectPage$total"SELECT `c`.*, `d`.*
                                          FROM ?_comm_files `c`
                                          LEFT JOIN ?_downs `d`
                                          ON `c`.`files_downs` = `d`.`downs_id`
                                          WHERE `c`.`files_comm` = ? AND `c`.`files_cats_id` = ?
                                          ORDER BY `c`.`files_time` DESC 
                                          LIMIT ?d, ?d"
$data['comm_id'], $cats['cats_id'], $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['files_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
                echo 
'<div class="right">(' $filesize ')</div>';
                echo 
'<br />';
                echo 
format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...<br />';
                echo 
'</div>';
            }
        }
        else 
show_error('К сожалению папка пока пуста :(');

        echo 
'<div class="b">' icon('add.png');
        echo 
'<a href="' gen_uri('add_file'$cats['cats_id'], RND) . '">Добавить файл</a></div>';
        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></div>';
    }
    else {

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




}
else {





    
$sub_cats false;

    
show_header('Файлы - ' $data['comm_name']);

    
$subs $db->select("SELECT * FROM ?_comm_files_category WHERE `cats_comm` = ?"$data['comm_id']);

    if (!empty(
$subs) && count($subs) > 0) {

        
$sub_cats true;

        foreach(
$subs as $sub) {

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

            if (
$is_admin_soo) {

                echo 
' [<a href="' gen_uri('files''''edit_cat=' $sub['cats_id'] . '#edit') . '">Ред.</a> | ';
                echo 
'[<a href="' gen_uri('files'$sub['cats_id'], 'del_cat=1&amp;rnd=' $_SESSION['token']) . '">Уд.</a>]';
            }
            echo 
'</div>';
        }
    }

    
$onpage = !empty($config['files_num']) ? num($config['files_num']) : 10;

    if (
$page 1$from = ($page 1) * $onpage; else $from 0;

    
$rows $db->selectPage$total"SELECT `c`.*, `d`.*
                                      FROM ?_comm_files `c`
                                      LEFT JOIN ?_downs `d`
                                      ON `c`.`files_downs` = `d`.`downs_id`
                                      WHERE `c`.`files_comm` = ? AND `c`.`files_cats_id` = '0'
                                      ORDER BY `c`.`files_time` DESC 
                                      LIMIT ?d, ?d"
$data['comm_id'], $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['files_id'], RND) . '">' $row['downs_title'] . '</a></b>' $sex;
            echo 
'<div class="right">(' $filesize ')</div>';
            echo 
'<br />';
            echo 
format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...<br />';
            echo 
'</div>';
        }
    }
    else if (!
$sub_cats) {

        
show_error('В сообществе ещё нет файлов!');
    }

    if (
$is_admin_soo) {

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

            
$cat $db->selectRow("SELECT * FROM ?_comm_files_category 
                                   WHERE `cats_id` = ? AND `cats_comm` = ? LIMIT 1"
num($_GET['edit_cat']), $data['comm_id']);

            if (!empty(
$cat)) {

                
$form = new cmsForm(gen_uri('files''''rnd=' $_SESSION['token']), 'post'' id="edit"');
                
$form->addText('Название:''name'$cat['cats_name']);
                
$form->addTextarea('Описание (max 250):''about'$cat['cats_about']);
                
$form->addHidden('cat'$cat['cats_id']);
                echo 
$form->Submit(array('Изменить','Отмена'), array('edit_dir','cancel'));
                unset(
$form);
            }
            else 
show_error('Ошибка! Папка не найдена!');
        }
        else if (!empty(
$_GET['add_dir'])) {

            
$form = new cmsForm(gen_uri('files''''rnd=' $_SESSION['token']), 'post'' id="add"');
            
$form->addText('Название:''name'request('name'));
            
$form->addTextarea('Описание (max 250):''about'request('about'));
            echo 
$form->Submit(array('Создать','Отмена'), array('add_dir','cancel'));
            unset(
$form);
        }
        else {

            echo 
'<div class="b">';
            echo 
icon('folder_add.png''icons');
            echo 
'<a href="' gen_uri('files'$id'add_dir=1&amp;' RND '#add') . '">Создать папку</a><br />';
            echo 
icon('folder_go.png''icons');
            echo 
'<a href="' gen_uri('add_file'$idRND) . '">Добавить файл</a><br />';
            echo 
'</div>';
        }
    }
    else {

        echo 
'<div class="b">' icon('add.png');
        echo 
'<a href="' gen_uri('add_file'$idRND) . '">Добавить файл</a></div>';
    }

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


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