Вход Регистрация
Файл: CMS/core/admin/loads.php
Строк: 593
<?php

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

if (
is_admin(array(101102))) {

    include_once( 
dirname(__FILE__) . '/loads.inc.php' );

    switch (
$mod):
    default:

        
show_header('Управление загрузками');

        if (!empty(
$_SESSION[SP]['move'])) {

            
$cnt count($_SESSION[SP]['move']);
            echo 
'<div class="b">Выбрано ' num2name($cnt, array('файлов','файла','файл')) . '.<br />';
            echo 
'Выберите папку для перемещения:<br /></div>';
        }

        
$rows $db->select("SELECT `c`.* FROM ?_downs_category `c` 
                            WHERE `c`.`cats_user` = '' AND `c`.`cats_parent` = '0' 
                            ORDER BY `cats_order` ASC;"
);

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

            foreach(
$rows as $row) {

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

                if (
is_admin(array(101))) {

                    echo 
'<div class="right">';
                    echo 
'<a href="?m=load&amp;edit_dir=' $row['cats_id'] . '&amp;' RND '#form">Ред.</a> | ';
                    echo 
'<a href="?m=del_cats&amp;id=' $row['cats_id'] . '&amp;' RND '">Уд.</a> | ';
                    echo 
'<a href="?m=load&amp;up=' $row['cats_id'] . '&amp;' RND '">Вверх</a> | ';
                    echo 
'<a href="?m=load&amp;down=' $row['cats_id'] . '&amp;' RND '">Вниз</a></div>';
                }

                echo 
$row['cats_order'] . '. <a href="?m=cats&amp;id=' $row['cats_id'] . '&amp;' RND '">' $row['cats_name'] . '</a></b> ';
                echo 
'(' $row['cats_count'] . ')<br />';

                if (!empty(
$row['cats_about'])) echo bb_code($row['cats_about']);

                echo 
'</div>';
            }
        }
        else 
show_error('Разделы загрузок еще не созданы!');

        if (
is_admin(array(101))) {

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

                
$cats $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_id` = ? LIMIT 1"num($_GET['edit_dir']));

                if (!empty(
$cats)) {

                    
$form = new cmsForm('?m=load&amp;id=' num($cats['cats_id']) . '&amp;rnd=' $_SESSION['token'], 'post'' id="form"');
                    
$form->addCode('<b>Редактирование основной категории</b><br />');
                    
$form->addText('Название :''name'$cats['cats_name']);
                    
$form->addTextarea('Описание:''about'$cats['cats_about']);
                    
$form->addTextarea('Расширения файлов (через запятую):''types'$cats['cats_ext']);
                    
$form->addCheckBox('Загрузка разрешена: ''upload'$cats['cats_upload']);
                    echo 
$form->Submit(array('Изменить''Отмена'), array('edit_dir_one''cancel'));
                    unset(
$form);

                }
                else 
show_error('Ошибка! Папка не найдена!');
            }
            else if (!empty(
$_GET['add_dir'])) {

                
$form = new cmsForm('?m=load&amp;rnd=' $_SESSION['token'], 'post'' id="form"');
                
$form->addCode('<b>Создание основной категории</b><br />');
                
$form->addText('Название :''name'request('name'));
                
$form->addTextarea('Описание:''about'request('about'));
                
$form->addTextarea('Расширения файлов (через запятую):''types'request('types'));
                
$form->addCheckBox('Загрузка разрешена: ''upload');
                
$form->addHidden('parrent''0');
                echo 
$form->Submit(array('Создать''Отмена'), array('add_dir_one''cancel'));
                unset(
$form);
            }
            else {

                echo 
'<div class="b">';
                echo 
icon('add.png') . ' <a href="?m=load&amp;add_dir=1#form">Создать папку</a><br />';
                echo 
icon('mail.png') . ' <a href="?m=load&amp;restatement=1&amp;rnd=' $_SESSION['token'] . '">Пересчитать</a><br />';
                echo 
'</div>';
            }
        }

    break;
    case 
'cats':

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

        if (!empty(
$cats)) {

            
show_header('Управление загрузками - ' $cats['cats_name']);

            if (!empty(
$_SESSION[SP]['move'])) {

                
$cnt count($_SESSION[SP]['move']);

                echo 
'<div class="b">Выбрано ' num2name($cnt, array('файлов','файла','файл')) . '.<br />Выберите папку для перемещения и нажмите ';
                echo 
'<a href="?m=cats&amp;id=' $id '&amp;act=selmove&amp;rnd=' $_SESSION['token'] . '">[Переместить сюда]</a> ';
                echo 
'или <a href="?m=cats&amp;id=' $id '&amp;act=cancel&amp;rnd=' $_SESSION['token'] . '">Отмена</a></div>';
            }
            else if (
$select_files) {

                echo 
'<div class="b">Выберите файлы для перемещения:<br /></div>';
            }

            
$sub_cats false;

            
$subs $db->select("SELECT * FROM ?_downs_category WHERE `cats_parent` = ? ORDER BY `cats_order` ASC;"$id);

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

                
$sub_cats true;

                foreach(
$subs as $sub) {

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

                    if (
is_admin(array(101))) {

                        echo 
'<div class="right">';
                        echo 
'<a href="?m=cats&amp;edit_dir=1&amp;id=' $sub['cats_id'] . '&amp;' RND '#form">Ред.</a> | ';
                        echo 
'<a href="?m=del_cats&amp;id=' $sub['cats_id'] . '&amp;' RND '">Уд.</a> | ';
                        echo 
'<a href="?m=cats&amp;id=' $id '&amp;up=' $sub['cats_id'] . '&amp;' RND '">Вверх</a> | ';
                        echo 
'<a href="?m=cats&amp;id=' $id '&amp;down=' $sub['cats_id'] . '&amp;' RND '">Вниз</a></div>';
                    }
                    echo 
$sub['cats_order'] . '. <a href="?m=cats&amp;id=' $sub['cats_id'] . '&amp;' RND '">' $sub['cats_name'] . '</a></b> ';
                    echo 
'(' $sub['cats_count'] . ')<br />';
                    if (!empty(
$sub['cats_about'])) echo bb_code($sub['cats_about']);

                    echo 
'</div>';
                }
            }

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

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

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

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

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

                if (
$select_files) {

                    echo 
'<form action="?m=load&amp;id=' $id '&amp;act=mm&amp;' RND '" method="post" name="move">';
                }

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

                    echo 
'<img src="../images/icons/post_new.png.gif" class="" alt="" /> ';
                    echo 
'<b><a href="' gen_uri('file'$row['downs_id'], RND) . '">' $row['downs_title'] . '</a></b> ';
                    echo 
'<div class="right">(' $filesize ')</div>';
                    echo 
'<br />';
                    echo 
format_text($row['downs_text'],0,$config['substr_text'],'UTF-8') . '...<br />';
                    if (
$select_files) echo '<input type="checkbox" name="move[]" value="' num($row['downs_id']) . '" /> ';
                    echo 
'<a href="?m=edit_file&amp;id=' $row['downs_id'] . '&amp;' RND '">Редактировать</a><br />';
                    echo 
'</div>';

                }

                echo 
show_pages(gen_uri('category'$id));

                if (
$select_files) {

                    echo 
'<div class="b">';
                    echo 
'<input type="checkbox" name="master_box" title="Отметить всё" onclick="javascript:ckeck_uncheck_all()">';
                    echo 
'<input type="submit" class="btns" value="Переместить файлы" /></form></div>';
                    echo <<<JSCRIPT

<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
    var frm = document.move;
    if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
    for (var i=0;i<frm.elements.length;i++) {
        var elmnt = frm.elements[i];
        if (elmnt.type=='checkbox') {
            if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
        }
    }
}
-->
</script>

JSCRIPT;
                }

            }
            else if (!
$sub_cats) {

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


            if (
is_admin(array(101))) {

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

                    
$form = new cmsForm('?m=cats&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post'' id="form"');
                    
$form->addCode('<b>Редактирование подкатегории ' $cats['cats_name'] . '</b><br />');
                    
$form->addText('Название :''name'$cats['cats_name']);
                    
$form->addTextarea('Описание:''about'$cats['cats_about']);
                    
$form->addTextarea('Расширения файлов (через запятую):''types'$cats['cats_ext']);
                    
$form->addCheckBox('Загрузка разрешена: ''upload'$cats['cats_upload']);
                    echo 
$form->Submit(array('Изменить''Отмена'), array('edit_dir_one''cancel'));
                    unset(
$form);
                }
                else if (!empty(
$_GET['add_dir'])) {

                    
$extc = !empty($cats['cats_ext']) ? $cats['cats_ext'] : '';
                    
$form = new cmsForm('?m=cats&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post'' id="form"');
                    
$form->addCode('<b>Создание подкатегории в ' $cats['cats_name'] . '</b><br />');
                    
$form->addText('Название :''name'request('name'));
                    
$form->addTextarea('Описание:''about'request('about'));
                    
$form->addTextarea('Расширения файлов (через запятую):''types'request('types',$extc));
                    
$form->addCheckBox('Загрузка разрешена: ''upload'request('upload',$cats['cats_upload']));
                    
$form->addHidden('parrent'$id);
                    
$form->addHidden('parrent_all'$cats['cats_parent_all']);
                    echo 
$form->Submit(array('Создать''Отмена'), array('add_dir_one''cancel'));
                    unset(
$form);
                }
                else {

                    echo 
'<div class="b">';
                    echo 
icon('add.png') . ' <a href="?m=cats&amp;id=' $id '&amp;add_dir=1#form">Создать папку</a> | ';
                    echo 
' <a href="?m=cats&amp;id=' $id '&amp;edit_dir=1&amp;' RND '">Редактировать</a> | ';
                    echo 
' <a href="?m=new_file&amp;id=' $id '&amp' RND '">Добавить файл</a>';

                    if (
$total 0) {

                        echo 
' | <a href="?m=cats&amp;act=mm&amp;id=' $id '&amp;' RND '">Переместить</a><br />';
                    }
                    echo 
'</div>';
                }
            }

            echo 
'<div class="b">' icon('return.png') . show_back_link($cats['cats_parent_all']) . '</div>';
        }
        else {

            
$inSes->addMessage('Ошибка! Данного раздела не существует!');

            
redirect('?m=load&' RND);
        }

    break;
    case 
'del_cats':

        if (
is_admin(array(101)) && $log == $config['nickname']) {

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

            if (!empty(
$cats)) {

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

                    
redirect('?m=load&' RND);
                }
                if (!empty(
$_POST['del_dir'])) {

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

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

                        if (!empty(
$del)) {

                            
$dels is_array($del) ? $del : array($del);
                            
$dell implode(','$dels);

                            if ( 
is_writeableROOTPATH DS $config['files_folder'] ) ) {

                                
$files $db->select("SELECT * FROM ?_downs WHERE `downs_cats_id` IN (" $dell ");");

                                if (!empty(
$files)) {

                                    foreach(
$files as $file) {

                                        
deldirROOTPATH DS $config['files_folder'] . DS $file['downs_id'], );

                                        
$db->query("DELETE FROM ?_comments WHERE `comm_type` = 'load' AND `comm_post` = ?;"$file['downs_id']);

                                        
$db->query("DELETE FROM ?_downs WHERE `downs_id` = ?;"$file['downs_id']);

                                        
$db->query("DELETE FROM ?_downs_rated WHERE `rated_down` = ?;"$file['downs_id']);
                                    }
                                }

                                
$db->query("DELETE FROM ?_downs_category WHERE `cats_id` IN(" $dell ");");

                                
$db->query("OPTIMIZE TABLE ?_downs, ?_downs_category, ?_downs_rated, ?_comments;");

                                
$inSes->addmessage('Выбранные папки успешно удалены!!''ok');

                                
redirect('?m=load&' RND);
                            }
                            else 
$inSes->addmessage('Ошибка! Не установлены атрибуты доступа на дирекоторию с файлами!');
                        }
                        else 
$inSes->addmessage('Ошибка! Отсутствуют выбранные папки!');
                    }
                    else 
$inSes->addmessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
                }

                
show_header('Удаление категории ' $cats['cats_name']);

                
$dels $db->select("SELECT * FROM ?_downs_category
                                     WHERE (CONCAT(',',cats_parent_all,',') LIKE '%,
$id,%' OR `cats_parent` = '$id')
                                     ORDER BY `cats_order` ASC"
);

                
$form = new cmsForm('?m=del_cats&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post');

                if (!empty(
$dels)) {

                    
$code blink('Внимание!') . ' Вместе с папкой <b>' $cats['cats_name'] . '</b>, также будут удалены подпапки:<br />';

                    foreach(
$dels as $del) {

                        
$form->addHidden('del[]',$del['cats_id']);
                        
$code .= '- <a href="/load/' gen_uri('category'$del['cats_id'], RND) . '">' $del['cats_name'] . '</a><br />';
                    }
                    
$code .= 'А также и все файлы, находящиеся в этих папках....<br />';
                }
                else {

                    
$code  blink('Внимание!') . ' Вместе с папкой <b>' $cats['cats_name'] . '</b>, ';
                    
$code .= 'также будут удалены и все файлы, находящиеся в этой папке....<br />';
                }
                
$form->addHidden('del[]',$cats['cats_id']);
                
$form->addCode($code '<br />');
                echo 
$form->Submit(array('Да, Удалить''Отмена'), array('del_dir''cancel'));
                unset(
$form);
                echo 
'<div class="b">' blink('[!]') . ' После удаления необходимо обязательно пересчитать файлы!</div>';
            }
            else {

                
$inSes->addMessage('Ошибка! Данного раздела не существует!');
                
redirect('?m=load&' RND);
            }
        }
        else {

            
$inSes->addMessage('Ошибка! Удалять разделы могут только суперадмины!');
            
redirect('?m=load&' RND);
        }

    break;
    case 
'new_file':

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

        if (!empty(
$row)) {

            if (
$row['cats_upload'] == 1) {

                
$error '';

                
$files_path ROOTPATH DS $config['files_folder'];

                if (!
is_dir($files_path)) {

                    
mkdir($files_path,0755);
                }

                if (!
is_file($files_path '/.htaccess')) {

                    
file_put_contents($files_path '/.htaccess'"php_flag engine offn<Files ~ ".(php|php3|php4|php5|pl|cgi|phtml)$">n   Order allow,denyn   Deny from alln</Files>");
                    @
chmod($files_path '/.htaccess'0111);
                }

                
$user_cats $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_user` = ? AND `cats_parent` = '0' LIMIT 1;"$log);

                if (empty(
$user_cats)) {

                  
$user_cats['cats_id'] = (int) $db->query("INSERT INTO ?_downs_category SET `cats_name` = ?, `cats_user` = ?"'Мои файлы'$log);
                }

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

                    
redirect('?m=cats&id=' $id '&' RND);
                }
 
                if (!empty(
$_POST['upload'])) {

                    
$name = !empty($_POST['name']) ? check($_POST['name']) : '';
                    
$text = !empty($_POST['text']) ? check($_POST['text']) : '';
                    
$sex  = !empty($_POST['sex'])  ? 0;

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

                      if (
cms_strlen($name) >= && cms_strlen($name) <= 100) {

                        if (
cms_strlen($text) >= && cms_strlen($text) <= 5000) {

                          if (
is_uploaded_file($_FILES['loadfile']['tmp_name'])) {

                            
$filename check(strtolower($_FILES['loadfile']['name']));
                            
$filename tr(str_replace(' '''$filename), 1);

                            if (
cms_strlen($filename) <= 50) {

                              if (
preg_match('|^[a-z0-9_.-]+$|i'$filename)) {

                                
$arrext explode(','$row['cats_ext']);
                                
$ext    strtolower(substr(strrchr($filename'.'), 1));

                                if (
in_array($ext$arrext) && $ext != 'php') {

                                  if (!
preg_match('/.(php|pl|cgi|phtml|htaccess)/i'$filename)) {

                                    
$lastid = (int) $db->query("INSERT INTO ?_downs SET `downs_title` = ?, `downs_text` = ?, `downs_user` = ?, `downs_user_cat` = ?, `downs_cats_id` = ?, `downs_time` = ?, `downs_user_sex` = ?"$name$text$log$user_cats['cats_id'], $idSITE_TIME$sex);

                                    if (
$lastid 0) {

                                        if (!
is_dir($files_path DS $lastid)) {

                                              
mkdir($files_path DS $lastid,0755);
                                        }

                                        
$fpath $files_path DS $lastid DS $filename;

                                        
move_uploaded_file($_FILES['loadfile']['tmp_name'], $fpath);

                                        @
chmod($files_path0644);

                                        
$db->query("UPDATE ?_downs SET `downs_link` = ? WHERE `downs_id` = ?"$filename$lastid);

                                        
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` + 1) 
                                                    WHERE (`cats_id` IN(" 
$row['cats_parent_all'] . ") OR `cats_id` = ?);"$id);

                                        
$inSes->addMessage('Файл успешно загружен!''ok');

                                        
redirect('?m=edit_file&id=' $lastid '&' RND);
                                    }
                                    else 
$error 'Произошла Ошибка! В данный момент не удалось загрузить файл!';
                                  }
                                  else 
$error 'Ошибка! В названии файла присутствуют недопустимые расширения!';
                                }
                                else 
$error 'Ошибка! Недопустимое расширение файла!';
                              }
                              else 
$error 'Ошибка! В названии файла присутствуют недопустимые символы!';
                            }
                            else 
$error 'Ошибка! Слишком длинное имя файла (не более 50 символов)!';
                          }
                          else 
$error 'Ошибка! Не удалось загрузить файл!';
                        }
                        else 
$error 'Ошибка! Слишком длинное или короткое описание к файлу (от 5 до 1000 символов)!';
                      }
                      else 
$error 'Ошибка! Слишком длинный или короткий заголовок (от 3 до 100 символов)!';
                    }
                    else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';

                    if (!empty(
$error)) $inSes->addMessage($error'error');
                }

                
show_header('Добавление нового файла');
                if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
                else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
                
$form = new cmsForm('?m=new_file&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post''name="form" id="add"');
                
$form->addCode('Категория: <a href="?m=cats&amp;id=' $id '&amp;' RND '"><b>' $row['cats_name'] . '</b></a><br /><br />');
                
$form->addFile('Выберите файл:''loadfile'' style="width:98%"');
                
$form->addText('Название: (Макс. 100 символов)''name'request('name'), ' style="width:98%"');
                
$form->addCode('Описание: ');
                
$form->addCode('<small>[<a href="?m=new_file&amp;id=' $id '&amp;smiles=1">Смайлы</a>] ');
                
$form->addCode('[<a href="?m=new_file&amp;id=' $id '&amp;code=1">ББ-коды</a>]</small>');
                
$form->addCode(' [<a href="#add" onclick="document.add.msg.rows += 5;">+</a>]');
                
$form->addCode(' [<a href="#add" onclick="document.add.msg.rows -= 5;">-</a>]');
                
$form->addTextarea('''text'request('text'), ' id="msg" style="width:98%;"');
                
$form->addCheckBox(array('''Файл для взрослых (18+)'), 'sex'request('sex'));
                echo 
$form->Submit(array('Загрузить''Отмена'), array('upload''cancel'));
                unset(
$form);

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

                    echo 
'<div class="b">' blink('[!]');
                    echo 
' Разрешается добавлять файлы с расширением ' str_replace(','', '$row['cats_ext']) . '<br /></div>';
                }
                else 
show_error('Ошибка! Для папки не установлены расширения допустимых файлов!');

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

                
$inSes->addMessage('Ошибка! В эту папку запрещена загрузка!');
                
redirect('?m=cats&id=' $id '&' RND);
            }
        }
        else {

          
$inSes->addMessage('Ошибка! Папка не найдена или ссылка неверна!');
          
redirect('?m=load&' RND);
        }
    break;
    case 
'edit_file':

        
$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)) {

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

                
redirect('?m=cats&id=' $id '&' RND);
            }

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

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

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

                    
unlink_screen($files_path$row['downs_screen']);

                    
$db->query("UPDATE ?_downs SET `downs_screen` = '' WHERE `downs_id` = ?"$id);

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

                }
                else 
$inSes->addmessage('Ошибка! Скриншот к файлу не найден!');

                
redirect('?m=edit_file&id=' $id '&' RND);
            }


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

              if (!empty(
$_FILES['photo']['name'])) {

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

                  if (
is_uploaded_file($_FILES['photo']['tmp_name'])) {

                    
$photoname check(strtolower($_FILES['photo']['name']));
                    
$photoname tr($photoname,1);
                    
$photosize getimagesize($_FILES['photo']['tmp_name']);
                    
$ext       strtolower(substr(strrchr($photoname'.'), 1));

                    if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {

                      if (
$_FILES['photo']['size'] > && $_FILES['photo']['size'] <= $config['screen_file_size']) {

                        if (
$photosize[0] <= $config['photos_max_size'] && $photosize[1] <= $config['photos_max_size'] && $photosize[0] >= 100 && $photosize[1] >= 100) {
                          require_once( 
ENGINE '/classes/upload.class.php' );

                          
$handle = new upload($_FILES['photo']);

                            if (
$handle -> uploaded) {
                                
$handle -> file_src_name          $photoname;
                                
$handle -> image_resize           true;
                                
$handle -> image_ratio            true;
                                
$handle -> image_ratio_no_zoom_in true;
                                
$handle -> image_y                $config['photos_max_size'];
                                
$handle -> image_x                $config['photos_max_size'];
                                
$handle -> file_overwrite         true;

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

                                  
$handle -> image_watermark ROOTPATH $config['screen_watermark'];
                                  
$handle -> image_watermark_position 'BR';
                                }

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

                                    
unlink_screen($files_path$row['downs_screen']);

                                    
$db->query("UPDATE ?_downs SET `downs_screen` = '' WHERE `downs_id` = ?"$id);
                                }

                                
$handle -> process$files_path );

                                if (
$handle -> processed) {

                                  
$db->query("UPDATE ?_downs SET `downs_screen` = ?
                                              WHERE `downs_id` = ?"
$handle -> file_dst_name$id);
                                  
$handle -> clean();

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

                                  
redirect('?m=edit_file&id=' $id '&' RND);

                                }
                                else 
$error 'Произошла Ошибка! ' $handle -> error;
                            }
                            else 
$error 'Ошибка! Не удалось загрузить изображение!';
                        }
                        else 
$error 'Ошибка! Размер изображение должен быть от 100 до ' $config['photos_max_size'] . ' px';
                      }
                      else 
$error 'Ошибка! Вес изображения должен быть не более ' size($config['screen_file_size']);
                    }
                    else 
$error 'Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!';
                  }
                  else 
$error 'Ошибка! Не удалось загрузить изображение!';
                }
                else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';
              }
              else 
$error 'Ошибка! Вы не выбрали изображение!';

              if (!empty(
$error)) $inSes->addMessage($error'error');
            }

            
show_header('Редактирование файла');

            echo 
'<div class="b">' icon('edit.png''icons') . '<a href="../load/' gen_uri('file'$idRND) . '">Обзор файла</a>';

            if (empty(
$row['downs_link'])) {

                echo 
'</div>';
                
$form = new cmsForm('?m=new_file&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post''name="form" id="add"');
                
$form->addCode('<b>Произошла Ошибка! Файл не найден. Попробуйте загрузить его снова..</b><br />');
                
$form->addCode('Категория: <a href="?m=cats&amp;id=' $id '&amp;' RND '"><b>' $row['cats_name'] . '</b></a><br /><br />');
                
$form->addFile('Выберите файл:''loadfile'' style="width:98%"');
                
$form->addHidden('name'$row['downs_title']);
                
$form->addHidden('text'$row['downs_text']);
                
$form->addHidden('sex'$row['downs_user_sex']);
                echo 
$form->Submit(array('Загрузить''Отмена'), array('upload''cancel'));
                unset(
$form);
                
/* Удаляем файл */
                
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` - 1) 
                            WHERE `cats_id` IN(" 
$row['cats_parent_all'] . ");");
                
$db->query("DELETE FROM ?_downs WHERE `downs_id` = ?"$id);
                
$db->query("OPTIMIZE TABLE ?_downs, ?_downs_category;");
                
deldirROOTPATH DS $config['files_folder'] . DS $id);
            }
            else {

                
$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 
' / <b>' $row['downs_link'] . '</b> (' $filesize ') ';
                echo 
'(<a href="?m=del_file&amp;id=' $id '&amp;' RND '">Удалить</a>)<br /></div>';

                if (
$file_ext != 'jpg' && $file_ext != 'jpeg' && $file_ext != 'gif' && $file_ext != 'png') {

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

                        
$form = new cmsForm('?m=edit_file&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post');
                        
$form->addCode('<b>Загрузка скриншота</b><br />');
                        
$form->addFile('Прикрепить скрин (jpg,jpeg,gif,png):''photo'' accept="image/jpeg,image/gif,image/png"');
                        echo 
$form->Submit('Загрузить''add_screen');
                        unset(
$form);
                    }
                    else {

                        echo 
'<div class="b" style="min-height: ' $config['preview_size'] . ';">';
                        echo 
'<table><tr><td>';
                        echo 
'<div class="img">' resize_screen($config['files_folder'] . DS $row['downs_id'] . DS$row['downs_screen'], $config['preview_size'], $row['downs_title']) . '</div></td>';
                        echo 
'<td valign="top">&nbsp;<b>' $row['downs_screen'] . '</b> (' read_fileROOTPATH DS $config['files_folder'] . DS $row['downs_id'] . DS $row['downs_screen']) . ') (<a href="?m=edit_file&amp;del_screen=1&amp;id=' $id '&amp;' RND '">Удалить</a>)<br />';
                        echo 
'</td></tr></table></div>';
                    } 
                }
            }
            if (!empty(
$_GET['code'])) include( MODULES_PATH 'code.inc.php' );
            else if (!empty(
$_GET['smiles'])) include( MODULES_PATH 'smiles.inc.php' );
            
$form = new cmsForm('?m=edit_file&amp;id=' $id '&amp;rnd=' $_SESSION['token'], 'post''name="form" id="edit"');
            
$form->addCode('<b>Редактирование</b><br />');
            
$form->addText('Название: (Макс. 100 символов)''name'$row['downs_title'], ' style="width:98%"');
            
$form->addCode('Описание: ');
            
$form->addCode('<small>[<a href="?m=edit_file&amp;id=' $id '&amp;smiles=1">Смайлы</a>] ');
            
$form->addCode('[<a href="?m=edit_file&amp;id=' $id '&amp;code=1">ББ-коды</a>]</small>');
            
$form->addCode(' [<a href="#edit" onclick="document.edit.msg.rows += 5;">+</a>]');
            
$form->addCode(' [<a href="#edit" onclick="document.edit.msg.rows -= 5;">-</a>]');
            
$form->addTextarea('''text'$row['downs_text'], ' id="msg" style="width:98%;"');
            
$form->addCheckBox(array('''Файл для взрослых <span style="color:red;">(18+)</span>'), 'sex'$row['downs_user_sex']);
            echo 
$form->Submit(array('Изменить''Отмена'), array('submit''cancel'));
            unset(
$form);
            echo 
'<div class="b">' icon('return.png') . show_back_link($row['cats_parent_all']) . '</div>';
        }
        else {
            
$inSes->addMessage('Ошибка! Данного файла не существует!');
            
redirect('?m=load&' RND);
        }
    break;
    case 
'del_file':

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

        if (!empty(
$row)) {

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

                if ( 
is_writeableROOTPATH DS $config['files_folder'] . DS $id ) ) {

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

                        
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` - 1) 
                                    WHERE `cats_id` IN(" 
$row['cats_parent_all'] . ");");
                    }
                    else {

                        
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` - 1) 
                                    WHERE `cats_id` = ?;"
$id);
                    }

                    
$db->query("DELETE FROM ?_downs WHERE `downs_id` = ?"$id);

                    
$db->query("OPTIMIZE TABLE ?_downs, ?_downs_category;");

                    
deldirROOTPATH DS $config['files_folder'] . DS $id);

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

        
redirect('?m=load&' RND);

    break;
    case 
'del_files':

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

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

            if (
is_admin(array(101)) && $log == $config['nickname']) {

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

                    if (!empty(
$del)) {

                        
$dels is_array($del) ? $del : array($del);
                        
$dell implode(','$dels);

                        if ( 
is_writeableROOTPATH DS $config['files_folder'] ) ) {

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

                            
$db->query("DELETE FROM ?_comments WHERE `comm_type` = 'load' AND `comm_post` IN (" $dell ");");

                            
$deldowns = (int) $db->query("DELETE FROM ?_downs WHERE `downs_id` IN (" $dell ");");

                            
// Обновление счетчиков
                            
$db->query("UPDATE ?_downs_category SET `cats_count` = (`cats_count` - ?) 
                                        WHERE `cats_id` IN (" 
$row['cats_parent_all'] . ");"$deldowns);

                            foreach (
$dels as $delid) {

                                
deldirROOTPATH DS $config['files_folder'] . DS $delid);
                            }

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

        
redirect('?m=load&' RND);

    break;
    case 
'move_files':

        if (!empty(
$id)) {

            
$row '';
            
$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)) {

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

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

            }
            else {

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

        }
        else {

          
$cats['cats_name'] = 'Мои файлы';
          
show_header($cats['cats_name']);
        }

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

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

            foreach(
$subs as $sub) {

                echo 
'<div class="b"><img src="/images/icons/folder.png" class="icon" alt="" /> ';
                echo 
'<a href="' gen_uri('files'$sub['cats_id']) . '">' $sub['cats_name'] . '</a></b> (' $sub['cats_count'] . ')</div>';
            }
        }
        else 
show_error('У Вас не создано папок, перемещение не');

    break;

    endswitch;

    echo 
'<div class="b">' icon('return.png') . ' <a href="?' RND '">В админку</a><br /></div>';

    
show_footer();
}
else {

    
redirect('/?' RND);
}

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