Файл: CMS/core/modules/users_files_add_folder.php
Строк: 67
<?php
if (!defined('CMS')) { die('Access Denied!'); }
include( dirname(__FILE__) . '/users_files.inc.php' );
if ($is_logged) {
if ($data['users_login'] == $log) {
$row = array();
$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);
}
if (!empty($_POST['add_dir'])) {
$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 (!empty($name)) {
if (cms_strlen($name) >= 3 && cms_strlen($name) < 33) {
if ($type <> 3 || (cms_strlen($pass) > 5 && cms_strlen($pass) < 32)) {
if (is_quarantine($log)) {
if (is_flood($log)) {
if ($type <> 3) $pass = '';
$max = (int) $db->selectCell("SELECT IFNULL(MAX(`cats_order`),0)+1 FROM ?_downs_category
WHERE `cats_user` = ?;", $log);
$last_id = (int) $db->query("INSERT INTO ?_downs_category SET `cats_order` = ?, `cats_parent` = ?, `cats_name` = ?, `cats_user` = ?, `cats_user_type` = ?, `cats_user_pass` = ?", $max, $id, $name, $log, $type, $pass);
if ($last_id > 0) {
$db->query("UPDATE ?_downs_category SET `cats_parent_all` = ?
WHERE `cats_id` = ?", $row['cats_parent_all'] . ',' . $last_id, $last_id);
$inSes->addMessage('Папка успешно добавлена!', 'ok');
}
else $inSes->addMessage('Ошибка! Не удалось создать папку!');
gen_red('files', $id, RND);
}
else $error = 'Антифлуд! Вы слишком часто создаете папки!';
}
else $error = 'Карантин! Вы не можете добавлять свои папки в течении ' . round($config['allow_karantin'] / 3600) . ' часов!';
}
else $error = 'Ошибка! Слишком длинный или короткий пароль (от 3 до 32 символов)!';
}
else $error = 'Ошибка! Слишком длинный или короткий заголовок (от 3 до 32 символов)!';
}
else $error = 'Ошибка! Вы не ввели название папки!';
}
else $error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
if (!empty($error)) $inSes->addMessage($error, 'error');
}
$vpass = !empty($row['cats_user_pass']) ? $row['cats_user_pass'] : '';
$fpass = '<input type="text" name="pass" value="' . $vpass . '" />';
$types = array('0' => 'Всем', '1' => 'Только мне', '2' => 'Моим друзьям', '3' => 'Только по паролю: ' . $fpass);
show_header('Создание папки');
$form = new cmsForm(gen_uri('add_folder', $id, 'rnd=' . $_SESSION['token']), 'post', ' id="form"');
$form->addText('Название (max 32):', 'name', request('name'));
$form->addRadio('Доступ к папке:', 'type', request('type',$row['cats_user_type']), $types);
echo $form->Submit(array('Создать', 'Отмена'), array('add_dir', 'cancel'));
unset($form);
echo '<div class="b">' . blink('[!]') . ' Доступ к папке действует только для текущей папки и файлов в ней.</div>';
echo '<div class="b">' . show_back_link($row['cats_parent_all'], $data['users_login']) . '</div>';
}
else {
$inSes->addmessage('Ошибка! У вас нет доступа к этой папке!');
redirect(gen_users($log, 'files', '', RND));
}
}
else {
show_header('Создание папки');
show_login('Вы не авторизованы, для создания папок, необходимо');
echo '<div class="b">' . icon('return.png');
echo '<a href="' . gen_uri('files', '', RND) . '">Файлы</a><br /></div>';
}
?>