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

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

include( 
dirname(__FILE__) . '/users_files.inc.php' );

if (
$id < 1) {

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

if (
$is_logged) {

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

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

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

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

        
gen_red('files', $id, RND);
    }

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

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

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

        if (
$row['cats_parent'] > 0) {

          
$is_dir = (int) $db->selectCell("SELECT COUNT(1) FROM ?_downs_category 
                                           WHERE `cats_parent` = ? AND `cats_user` = ?"
, $id, $log);
          if (
$is_dir < 1) {

            
$is_file = (int) $db->selectCell("SELECT COUNT(1) FROM ?_downs WHERE `downs_user` = ? AND `downs_user_cat` = ?", $log, $id);

            if (
$is_file < 1) {

              
$dels = $db->select("SELECT * FROM ?_downs WHERE `downs_user` = ? AND `downs_user_cat` = ?", $log, $id);

              foreach(
$dels as $dell) {

                  
deldir($files_path . DS . $dell['downs_id'], 1);

                  
$db->query("DELETE FROM ?_downs WHERE `downs_user` = ? AND `downs_id` = ?", $log, $dell['downs_id']);

              }

              
$db->query("DELETE FROM ?_downs_category WHERE `cats_id` = ? AND `cats_user` = ? LIMIT 1", $id, $log);

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

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

              
gen_red('files', '', RND);

            }
            else 
$inSes->addMessage('Ошибка! Папка содержит файлы! Сначала удалите или переместите их.');
          }
          else 
$inSes->addMessage('Ошибка! Папка содержит подпапки! Сначала удалите или переместите их.');
        }
        else 
$inSes->addMessage('Ошибка! Запрещено удалять корневую папку!');
      }
      else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

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

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

        
$type = ($type >= 0 && $type < 4) ? $type : 0;

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

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

                if (
$type <> 3 || (cms_strlen($pass) > 2 && cms_strlen($pass) < 32)) {

                    if (
$type == 0 || $row['cats_parent'] > 0) {

                        if (
$type <> 3) $pass = '';

                        
$db->query("UPDATE ?_downs_category SET `cats_name` = ?, `cats_user_type` = ?, `cats_user_pass` = ?
                                    WHERE `cats_user` = ? AND `cats_id` = ?"
, $name, $type, $pass, $log, $id);

                        
$inSes->addMessage('Данные папки успешно изменены!', 'ok');

                        
gen_red('files', $id, RND);
                    }
                    else 
$inSes->addMessage('Ошибка! Запрещено закрывать доступ к корневой папке!');
                }
                else 
$inSes->addMessage('Ошибка! Слишком длинный или короткий пароль (от 3 до 32 символов)!');
            }
            else 
$inSes->addMessage('Ошибка! Слишком длинный или короткий заголовок (от 3 до 100 символов)!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    
$fpass = '<input type="text" name="pass" value="' . $row['cats_user_pass'] . '"/>';
    
$types = array('0' => 'Всем', '1' => 'Только мне', '2' => 'Моим друзьям', '3' => 'Только по паролю: ' . $fpass);

    
show_header('Редактирование папки ' . $row['cats_name']);
    
$form = new cmsForm(gen_uri('edit_folder', $id, 'rnd=' . $_SESSION['token']), 'post', ' id="form"');
    
$form->addText('Название (max 32):', 'name', $row['cats_name']);

    if (
$row['cats_parent'] > 0) { // Если папка корневая :)

        
$form->addRadio('Доступ к папке:', 'type', $row['cats_user_type'], $types);
        echo 
$form->Submit(array('Изменить', 'Отмена'), array('submit', 'cancel'));
        unset(
$form);
        echo 
'<div class="b">' . blink('[!]') . ' Доступ к папке действует только для текущей папки и файлов в ней.</div>';
        echo 
'<div class="b">' . icon('error.gif', 'icons');
        echo 
' <a href="' . gen_uri('edit_folder', $id, 'del=1&amp;rnd=' . $_SESSION['token']) . '" onclick="return confirm('Вы действительно хотите удалить папку?')">Удалить папку</a><br /></div>';

    }
    else {

        echo 
$form->Submit(array('Изменить', 'Отмена'), array('submit', 'cancel'));
        unset(
$form);
    }

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

    
show_header('Управление файлами');
    
show_login('Вы не авторизованы, для управления файлами, необходимо');
}

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