Файл: 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&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('Вы не авторизованы, для управления файлами, необходимо');
}
?>