Файл: vsime.com/files/inc/dir_form.php
Строк: 419
<?
if (isset($user) && $ank['id']==$user['id'] || isset($moderate_files) && $user['level'] > $ank['level']) {
if (isset($_GET['delete_dir'])) {
if ($dir['id']!=0) {
if (isset($_POST['submited'])) {
if (hsc(@$_POST['mdp']) == $mdp) {
$query = mysqli_query($dbi, "SELECT * FROM `files` WHERE `counter` like '%/$dir[id]/%' AND `type` = 'file'");
while ($post = mysqli_fetch_array($query)) {
mysqli_query($dbi, "DELETE FROM `files_komm` WHERE `id_file` = '$post[id]'");
mysqli_query($dbi, "DELETE FROM `files` WHERE `id` = '$post[id]' AND `type` = 'file'");
mysqli_query($dbi, "DELETE FROM `files_zone` WHERE `id_file` = '$post[id]' AND `type` = 'file'");
mysqli_query($dbi, "DELETE FROM `files_comm` WHERE `id_file` = '$post[id]' AND `type` = 'file'");
mysqli_query($dbi, "DELETE FROM `lenta` WHERE `id_object` = '$post[id]' AND `type` = 'file'");
unlink(H."system/files/files/users/user$post[id_user]/dir$post[id_dir]/".$post['id'].".dat");
if (is_file(H."i/tmp_flv/".$post['id'].".video.flv"))unlink(H."i/tmp_flv/".$post['id'].".video.flv");
}
$query = mysqli_query($dbi, "SELECT * FROM `files` WHERE `counter` like '%/$dir[id]/%' AND `type` = 'dir'");
while ($post = mysqli_fetch_array($query)) {
if (file_exists(H."system/files/files/users/user$post[id_user]/dir$post[id]"))rmdir(H."system/files/files/users/user$post[id_user]/dir$post[id]");
mysqli_query($dbi, "DELETE FROM `files` WHERE `id` = '$post[id]' AND `type` = 'dir'");
}
mysqli_query($dbi, "DELETE FROM `files` WHERE `id` = '$dir[id]' AND `type` = 'dir'");
if (file_exists(H."system/files/files/users/user$dir[id_user]/dir$dir[id]"))rmdir(H."system/files/files/users/user$dir[id_user]/dir$dir[id]");
msg_sess("Папка ".hsc($dir['name'])." удалена");
locon("?dir=$dir[id_dir]");
exit;
} else hacked_by_Killer();
}
echo "<form method='POST'>n";
echo "<div class='freespace'>n";
echo "Подтвердите удаление папки <img src='/i/dir_type/dir.png' alt='dir' /> <b class='none'>".hsc($dir['name'])."</b><br />n";
echo "</div>n";
echo "<div class='freespace'>n";
echo "<input type='hidden' name='mdp' value='$mdp' />n";
echo "<input type='submit' name='submited' value='Удалить'> <a href='?dir=$dir[id]'>Отмена</a>n";
echo "</div>n";
echo "</form>n";
} else {
$error[] = "Нельзя удалять корневую папку!";
show_errors();
}
ex_foot();
}
if (isset($_GET['edit_dir'])) {
if ($dir['id']!=0) {
$array_files_fz = array();
$files_dir = mysqli_query($dbi, "SELECT * FROM `files` WHERE `counter` LIKE '%/$dir[id]/%' AND `type` = 'file'");
while ($post_file = mysqli_fetch_array($files_dir)) {
if (mysqli_result("SELECT COUNT(*) FROM `files_zone` WHERE `id_file` = '$post_file[id]' AND `type` = 'file'")!=0) {
$array_files_fz[] = $post_file['id'];
}
}
if (count($array_files_fz) > 0 && isset($_GET['fz']) && $_GET['fz'] == 'dd') {
if (isset($_POST['submited'])) {
if (hsc(@$_POST['mdp']) == $mdp) {
foreach ($array_files_fz AS $key => $file_id) {
mysqli_query($dbi, "DELETE FROM `files_zone` WHERE `id_file` = '$file_id' AND `type` = 'file'");
}
msg_sess("Удалено ".sklon_text(count($array_files_fz), array('файл', 'файла', 'файлов'))." из Зоны файлов");
locon(" ?dir=$dir[id]&edit_dir");
exit();
} else hacked_by_Killer();
}
echo "<form method='POST' action=''>n";
echo "<div class='freespace'>n";
echo "Вы действительно хотите удалить всё содержимое папки $dir[dir_img] <b>".hsc($dir['name'])."</b> из Зоны файлов?<br />n";
echo "</div>n";
echo "<div class='freespace'>n";
echo "<input type='hidden' name='mdp' value='$mdp' />n";
echo "<input type='submit' name='submited' value='Да, удалить' /> <a href='?dir=$dir[id]&edit_dir'>Нет</a>n";
echo "</div>n";
echo "</form>n";
ex_foot();
}
if (isset($_POST['submited']) && isset($_POST['name'])) {
if (hsc(@$_POST['mdp']) == $mdp) {
$name=$_POST['name'];
if (mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `name` = '$name' AND `id` != '$dir[id]' AND `type` = 'dir' AND `id_dir` = '$dir[id]'"))!=0)$error[]="Такая папка уже есть";
if (strlen2($name) > 50 || strlen2(trim($name)) < 1)$error[]="Название не должно быть пустым и не больше 50-ти символов";
$name = my_esc($name);
$access = 'all';
$password = NULL;
if (count($array_files_fz) == 0) {
$access = hsc($_POST['access']);
if (in_array($access, $config['access_dir_array']))$access = $access;
if ($access == 'pass') {
$password = hsc($_POST['password']);
if (strlen2(trim($password)) < 1)$error[] = "Введите пароль.";
if (strlen2($password) > 16)$error[] = "Пароль слишком длинный.";
}
}
if (!isset($error)) {
mysqli_query($dbi, "UPDATE `files` SET `name` = '$name', `access` = '$access', `password` = '$password' WHERE `id` = '$dir[id]' AND `type` = 'dir'");
locon("?dir=$dir[id]");
msg_sess("Настройки папки сохранены");
exit;
}
} else hacked_by_Killer();
}
show_errors();
echo "<form method='POST' class='multi'>n";
echo "<div class='list'>n";
echo "Название:<br/>n";
echo "<input type='text' name='name' value='".input_value($dir['name'])."'".title_link('Введите новое название папки')."><br/>n";
echo "</div>n";
if (count($array_files_fz) == 0) {
echo "<div class='list'>n";
echo "Доступ имеют:<br />n";
foreach ($config['access_dir_array'] AS $key => $value) {
echo "<label for='$value'><input type='radio' name='access' id='$value' value='$value'".($value==$dir['access']?" CHECKED":NULL)." /> ".access_img($value)." $key</label>".($value=='pass'?" <input name='password' size='16' maxlength='16' type='text' value='".input_value($dir['password'])."' />":NULL)."<br />n";
}
echo "</div>n";
}
echo "<div class='list'>n";
echo "<input type='hidden' name='mdp' value='$mdp' />n";
echo "<input type='submit' name='submited' value='Сохранить'> <a href='?dir=$dir[id]'>Назад</a>n";
echo "</div>n";
if (count($array_files_fz) > 0) {
echo "<div class='list'>n";
echo "К сожалению, вы не можете изменить режим доступа к этой папке или удалить её: в данной папке или её подпапках есть ".sklon_text(count($array_files_fz), array('файл', 'файла', 'файлов')).", которые выложены в Зону файлов. Вот некоторые из них:<br />";
echo "<ul>n";
$num = 0;
foreach ($array_files_fz AS $key => $file_id) {
$num ++;
$file = mysqli_fetch_array(mysqli_query($dbi, "SELECT * FROM `files` WHERE `id` = '$file_id'"));
echo "<li>n";
echo "<a href='?file=$file[id]'".title_link('Открыть файл').">n";
if (is_file(H.'/i/file_type/'.$file['ras'].'.png'))echo "<img src='/i/file_type/$file[ras].png' alt='$file[ras]' /> n";
else echo "<img src='/i/file_type/file.png' alt='file' /> n";
echo hsc($file['name']).".".hsc($file['ras'])."</a><br />n";
echo "</li>n";
if ($num == 10)break;
}
echo "</ul>n";
echo "Вы можете удалить все подобные файлы из Зоны обмена:<br />n";
echo "[<a href='?dir=$dir[id]&edit_dir&fz=dd'>удалить ".sklon_text(count($array_files_fz), array('файл', 'файла', 'файлов'))."</a>]";
echo "</div>n";
}
echo "</form>n";
echo "<div class='mod_grad'>n";
echo "$config[code_delete] <a href='?dir=$dir[id]&delete_dir'>Удалить папку</a><br />n";
echo "</div>n";
} else {
$error[] = "Нельзя редактировать корневую папку!";
show_errors();
}
ex_foot();
}
if (isset($_GET['add_dir'])) {
if (isset($_POST['submited']) && isset($_POST['name'])) {
if (hsc(@$_POST['mdp']) == $mdp) {
$name = $_POST['name'];
if (mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `type` = 'dir' AND `name` = '$name' AND `id_dir` = '$dir[id]' AND `id_user` = '$user[id]'"))!=0)$error[]="Такая папка уже есть";
if (strlen2($name) > 50 || strlen2(trim($name)) < 1)$error[]="Название не должно быть пустым и не больше 50-ти символов";
$name = my_esc($name);
$access = hsc($_POST['access']);
if (in_array($access, $config['access_dir_array']))$access = $access; else $access = 'all';
$password = NULL;
if ($access == 'pass') {
$password = hsc($_POST['password']);
if (strlen2(trim($password)) < 1)$error[] = "Введите пароль.";
if (strlen2($password) > 16)$error[] = "Пароль слишком длинный.";
}
if (!isset($error)) {
mysqli_query($dbi, "INSERT INTO `files` (`type`, `name`, `id_dir`, `counter`, `id_user`, `access`, `password`) VALUES ('dir', '$name', '$dir[id]', '$dir[counter]$dir[id]/', '$user[id]', '$access', '$password')");
locon("?dir=$dir[id]");
exit;
}
} else hacked_by_Killer();
}
show_errors();
echo "<form method='POST' class='multi'>n";
echo "<div class='list'>n";
echo "Название:<br/>n";
echo "<input type='text' name='name' value=''".title_link('Введите название папки')."><br/>n";
echo "</div>n";
echo "<div class='list'>n";
echo "Доступ имеют:<br />n";
foreach ($config['access_dir_array'] AS $key => $value)
{
echo "<label for='$value'><input type='radio' name='access' id='$value' value='$value'".($value=='all'?" CHECKED":NULL)." /> ".access_img($value)." $key</label>".($value=='pass'?" <input name='password' size='16' maxlength='16' type='text' value='' />":NULL)."<br />n";
}
echo "<input type='hidden' name='mdp' value='$mdp' />n";
echo "</div>n";
echo "<div class='list'>n";
echo "<input type='submit' name='submited' value='Сохранить'> <a href='?dir=$dir[id]'>Назад</a>n";
echo "</div>n";
echo "</form>n";
ex_foot();
}
}
if (isset($_GET['add_file']) && isset($user) && $user['id'] == $ank['id']) {
if (isset($_POST['submited'])) {
if (hsc(@$_POST['mdp']) == $mdp) {
$name=esc(stripcslashes(hsc($_FILES['file']['name'])));
$name=ereg_replace('(#|?)', NULL, $name);
$ras=strtolower(eregi_replace('^.*.', NULL, $name));
$name=eregi_replace('.[^.]*$', NULL, $name); // имя файла без расширения
$size=filesize($_FILES['file']['tmp_name']);
$desc=$_POST['desc'];
if (mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `id_dir` = '$dir[id]' AND `name` = '".my_esc($name)."' AND `ras` = '$ras' AND `type` = 'file' AND `id_user` = '$user[id]'"))!=0)
$error[] = 'Файл с таким названием уже есть в этой папке';
if (strlen2(trim($name)) < 1)$error[]="Название не должно быть пустым и не больше 50-ти символов";
if ($ras==NULL || $ras==$name)$error[] = "Неверное расширение";
if (!isset($error)) {
mysqli_query($dbi, "INSERT INTO `files` SET `name` = '".my_esc($name)."', `desc` = '".my_esc($desc)."', `time` = '$time', `id_dir` = '$dir[id]', `counter` = '$dir[counter]$dir[id]/', `type` = 'file', `id_user` = '$user[id]', `ras` = '$ras'");
$id_file=mysqli_insert_id($dbi);
if (!file_exists(H."system/files/files/users"))mkdir(H."system/files/files/users", 0777);
if (!file_exists(H."system/files/files/users/user$dir[id_user]"))mkdir(H."system/files/files/users/user$dir[id_user]", 0777);
if (!file_exists(H."system/files/files/users/user$dir[id_user]/dir$dir[id]"))mkdir(H."system/files/files/users/user$dir[id_user]/dir$dir[id]", 0777);
if (!@copy(trim($_FILES['file']['tmp_name']), H."system/files/files/users/user$dir[id_user]/dir$dir[id]/".$id_file.".dat"))
{
mysqli_query($dbi, "DELETE FROM `files` WHERE `id` = '$id_file' LIMIT 1");
$error[]='Ошибка при выгрузке';
} else {
$query = mysqli_query($dbi, "SELECT * FROM `readers` WHERE `id_ank` = '$user[id]' AND `files` = '1'");
while ($reader = mysqli_fetch_array($query)) {
$ank_reader = profile($reader['id_user']);
mysqli_query($dbi, "INSERT INTO `lenta` (`id_user`, `id_object`, `id_object2`, `type`, `id_ank`, `time`) VALUES ('$ank_reader[id]', '$id_file', '$dir[id]', 'file', '$user[id]', '".($time)."')");
}
msg_sess("Файл успешно добавлен<br /><a href='?dir=$dir[id]&add_file'>Добавить еще</a>");
locon("?file=$id_file");
}
}
} else hacked_by_Killer();
}
show_errors();
echo "<div class='main'>Папка: <a href='?dir=$dir[id]'><b class='none'><img src='/i/dir_type/dir.png' alt='dir' /> ".hsc($dir['name'])."</b></a><br/></div>";
echo "<div class=list><form method="post" enctype="multipart/form-data">";
echo "Выберите файл *<br />n";
echo "<input name='file' type='file'/><br />n";
echo " <label><input type='checkbox' name='adult' value='1'>Только для взрослых <span class='spared'>(+18)</span></label><br />n";
echo "Описание:<br />n";
echo "<textarea name='desc' rows='6' cols='17' style='width:85%'".title_link('Введите описание файла')."></textarea><br />n";
echo "<input class='submit' type='submit' name='submited' value='Выгрузить' /><br />n";
echo "<input type='hidden' name='mdp' value='$mdp' />n";
echo "</form></div>";
echo "<div class='list'>n";
echo "<b class='none'>*Размер файла должен быть меньше 10 MB</b>";
echo "</div>n";
?>
<div class="grand_h">
<span style="font-size:small;color:blue">
Загрузка может длиться несколько минут. Это зависит от размера файла и скорости передачи данных на вашем устройстве.
</span>
<br />
<span style="color: #218094">
Если у вас не видно выше кнопки выбора файла, значит ваш браузер не поддерживает загрузку файлов!
</span>
</div>
<?
echo "<div class='foot'>n";
echo image_back()." <a href='?dir=$dir[id]&id=$ank[id]'>Назад</a>n";
echo "</div>n";
ex_foot();
}
$selectar = array();
if (isset($_GET['select']) && isset($user) && $user['id'] == $ank['id']) {
$select = my_esc($_GET['select']);
if ($select == 'comm' && mysqli_result("SELECT COUNT(*) FROM `comm` WHERE `id` = '".intval(@$_GET['comm_id'])."'")) {
if_user('is_reg');
$comm = mysqli_fetch_array(mysqli_query($dbi, "SELECT * FROM `comm` WHERE `id` = '".intval(@$_GET['comm_id'])."'"));
if (!mysqli_result("SELECT COUNT(*) FROM `files_comm` WHERE `id` = '".intval(@$_GET['comm_dir'])."' AND `id_comm` = '$comm[id]' AND `type` = 'dir'")) {
$comm_dir = array();
$comm_dir['id'] = "0";
$comm_dir['counter'] = '/0/';
} else {
$comm_dir = mysqli_fetch_array(mysqli_query($dbi, "SELECT * FROM `files_comm` WHERE `id` = '".intval(@$_GET['comm_dir'])."' AND `id_comm` = '$comm[id]' AND `type` = 'dir'"));
}
$selectar['comm'] = 1;
$selectar['title'] = "Выберите файл";
$selectar['link_dir'] = "&select=comm&comm_id=$comm[id]&comm_dir=$comm_dir[id]";
$selectar['link_back'] = ($dir['id']!=0?"?dir=$dir[id_dir]".$selectar['link_dir']:"/comm/?act=files&id=$comm[id]&dir=$comm_dir[id]");
$selectar['link_file'] = "&select=comm&comm_id=$comm[id]&comm_dir=$comm_dir[id]";
$selectar['link_file_title'] = "Выбрать фото";
}
}
if ($dir['id']!=0 || count($selectar))echo "<div class='mod_grad'>n";
if (count($selectar)) {
echo "<div class='freespace'>n";
echo "<b>$selectar[title]</b><br />n";
echo "</div>n";
}
if ((isset($user) && $ank['id']==$user['id'] || isset($moderate_file) && $user['level'] > $ank['level']) && $dir['id']!=0)if ($config['web']==true) {
echo "<span class='right'>n";
echo "<a href='?dir=$dir[id]&edit_dir'>$config[code_edit]</a> <a href='?dir=$dir[id]&delete_dir'>$config[code_delete]</a>n";
echo "</span>n";
}
if ($dir['id']!=0)echo "<img src='/i/dir_type/dir.png' alt='dir' /> Папка: ".hsc($dir['name'])."<br />n";
if ($dir['id']!=0 || count($selectar))echo "</div>n";
$count_results=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `id_user` = '$ank[id]' AND `type` = 'file' AND `id_dir` = '$dir[id]'"));
$count_pages=count_pages($count_results);
$page=page();
$start=start_pages();
if (!count($selectar))include('multi_select_head.php');
if ($page==1)
{
$query = mysqli_query($dbi, "SELECT * FROM `files` WHERE `id_user` = '$ank[id]' AND `type` = 'dir' AND `id_dir` = '$dir[id]' ORDER BY `name` ASC");
while ($post = mysqli_fetch_array($query))
{
$count_files=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `type` = 'file' AND `counter` like '%/$post[id]/%'"));
$count_files_new=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files` WHERE `type` = 'file' AND `counter` like '%/$post[id]/%' AND `time` > '".($time-(3600*24))."'"));
$count_files_show="($count_files)".($count_files_new>0?" <span class='spared'>+$count_files_new</span>":NULL);
echo "<div class='list'>n";
echo "<img src='/i/dir_type/dir.png' alt='dir' /> <a href='?dir=$post[id]".(count($selectar) != 0?$selectar['link_file']:NULL)."'".title_link('Открыть папку').">".hsc($post['name'])."</a> $count_files_shown";
/*if (isset($user) && $ank['id']==$user['id'] || isset($moderate_file))if ($config['web']==true)
{
echo "<span class='right'>n";
echo "<a href='?dir=$post[id]&edit_dir'>$config[code_edit]</a> <a href='?dir=$post[id]&delete_dir'>$config[code_delete]</a>n";
echo "</span>n";
}*/
echo "<br />n";
echo "</div>n";
}
}
$query = mysqli_query($dbi, "SELECT * FROM `files` WHERE `id_user` = '$ank[id]' AND `type` = 'file' AND `id_dir` = '$dir[id]' ORDER BY `time` DESC, `name` ASC LIMIT $start, $config[rop]");
while ($post = mysqli_fetch_array($query))
{
$count_komm=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files_komm` WHERE$skp `id_file` = '$post[id]'"));
$count_komm_new=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `files_komm` WHERE$skp `id_file` = '$post[id]' AND `time` > '".($time-(3600*24))."'"));
$count_komm_show="$count_komm";
echo "<div class='list'>n";
echo "<div class='left'>n";
//echo H."system/files/files/users/user$post[id_user]/dir$post[id_dir]/".$post['id'].".dat";
if (isset($_SESSION['files_multi_select']) && $ank['id']==$user['id'])echo "<input type='checkbox' name='multi_select_file_$post[id]' value='1'".(in_array($post['id'], $_SESSION['files_multi_select'])?" CHECKED":NULL)." />n";
echo ffs_screen($post['id'], 'file', WapWeb_show(48, 96), WapWeb_show(48, 96));
echo "</div>n";
echo "<div class='overfl_hid'>n";
echo "<a href='?file=$post[id]".(count($selectar) != 0?$selectar['link_file']:NULL)."'".title_link((count($selectar) != 0?$selectar['link_file_title']:"Откыть файл")).">n";
if (is_file(H.'/i/file_type/'.$post['ras'].'.png'))echo "<img src='/i/file_type/$post[ras].png' alt='$post[ras]' /> n";
else echo "<img src='/i/file_type/file.png' alt='file' /> n";
echo hsc($post['name']).".".hsc($post['ras'])."</a> (".vremja($post['time']).")<br />n";
if ($count_komm > 0)echo "<img src='/i/site/message.png' /> $count_komm_shown";
echo "</div>n";
$audio_rasar = array('amr', 'mid', 'midi', 'mmf', 'mp3', 'wav', 'wma');
if (in_array($post['ras'], $audio_rasar) && $config['web']==true)
{
?>
<div class="mediaspace">
<script language="JavaScript" src="/i/swf/audio-player.js"></script>
<object type="application/x-shockwave-flash" data="/i/swf/player.swf" id=audioplayer<? echo $post['id'];?> height="24" width="530">
<param name=movie value="/i/swf/player.swf"></param>
<param name=FlashVars value="playerID=audioplayer<? echo $post['id'];?>&soundFile=<? echo "/files/download/".md5($post['id'])."/$unique_code/$mdp/".file_name_html($post['name']).".".hsc($post['ras'])."";?>">
</param>
<param name=quality value=high></param>
<param name=menu value=false></param>
<param name=wmode value=transparent></param>
</object>
</div>
<?
}
echo "<div class='clear'></div>n";
echo "</div>n";
}
pages_show("?dir=$dir[id]&id=$ank[id]&"); // Вывод страниц
if (!count($selectar))include('multi_select_foot.php');
if (!isset($_SESSION['files_multi_select']) && count($selectar) == 0)
{
if ((isset($user) && $ank['id']==$user['id'] || isset($moderate_file) && $user['level'] > $ank['level']))
{
echo "<div class='mod_grad'>n";
echo "<img src='/i/dir_type/add_file.png' /> <a href='?dir=$dir[id]&add_file'".title_link('Добавить новый файл').">Добавить файл</a><br />n";
echo "<img src='/i/dir_type/dir_add.png' /> <a href='?dir=$dir[id]&add_dir'".title_link('Добавить новую папку').">Добавить папку</a><br />n";
if ($config['web']==false)echo "$config[code_edit] <a href='?dir=$dir[id]&edit_dir'".title_link('Редактировать папку').">Редактировать папку</a><br />n";
echo "$config[code_move] <a href='?dir=$dir[id]&files_multi_select=start&mdp=$mdp'".title_link('Выбрать файлы для перемещения').">Выбрать файлы</a><br />n";
echo "</div>n";
}
}
echo "<div class='foot'>n";
if (count($selectar) == 0)
{
echo image_back()." ".($dir['id']!=0?"<a href='?dir=$dir[id_dir]".($dir['id_dir']==0?"&id=$ank[id]":NULL)."'>Назад</a>":"<a href='$config[profile_page]?id=$ank[id]'>Страничка $ank[nick]</a>")."n";
} else {
echo image_back()." <a href='$selectar[link_back]'>Назад</a>n";
}
echo "</div>n";
ex_foot();
?>