Файл: vsime.com/fotos/inc/dir_form.php
Строк: 410
<?
if ($ank['id']==$user['id'] && isset($user) || isset($moderate_foto) && $user['level'] > $ank['level'])
{
if (isset($_GET['delete_dir']))
{
if ($dir['id']!=0)
{
if(isset($_POST['submited']))
{
if ($_POST['mdp']==$mdp)
{
$query = mysqli_query($dbi, "SELECT * FROM `foto` WHERE `counter` like '%/$dir[id]/%' AND `type` = 'foto'");
while ($post = mysqli_fetch_array($query))
{
mysqli_query($dbi, "DELETE FROM `foto_komm` WHERE `id_foto` = '$post[id]'");
mysqli_query($dbi, "DELETE FROM `foto` WHERE `id` = '$post[id]' AND `type` = 'foto'");
mysqli_query($dbi, "DELETE FROM `files_zone` WHERE `id_file` = '$post[id]' AND `type` = 'foto'");
mysqli_query($dbi, "DELETE FROM `files_comm` WHERE `id_file` = '$post[id]' AND `type` = 'foto'");
mysqli_query($dbi, "DELETE FROM `lenta` WHERE `id_object` = '$post[id]' AND `type` = 'foto'");
unlink(H."system/files/fotos/d$post[id_dir]/".$post['id'].".dat");
}
$query = mysqli_query($dbi, "SELECT * FROM `foto` WHERE `counter` like '%/$dir[id]/%' AND `type` = 'dir'");
while ($post = mysqli_fetch_array($query))
{
if (file_exists(H."system/files/fotos/d$post[id]"))rmdir(H."system/files/fotos/d$post[id]");
mysqli_query($dbi, "DELETE FROM `foto` WHERE `id` = '$post[id]' AND `type` = 'dir'");
}
mysqli_query($dbi, "DELETE FROM `foto` WHERE `id` = '$dir[id]' AND `type` = 'dir'");
if (file_exists(H."system/files/fotos/d$dir[id]"))rmdir(H."system/files/fotos/d$dir[id]");
msg_sess("Папка ".hsc($dir['name'])." удалена");
locon("?dir=$dir[id_dir]");
exit;
} else hacked_by_Killer();
}
echo "<form method='POST'>n";
echo "Подтвердите удаление папки <img src='/i/dir_type/dir.png' alt='dir' /> <b class='none'>".hsc($dir['name'])."</b><br />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 "</form>n";
}
else
{
$error[] = "Нельзя удалять корневую папку!";
show_errors();
}
ex_foot();
}
if (isset($_GET['edit_dir']))
{
if ($dir['id']!=0)
{
$array_fotos_fz = array();
$fotos_dir = mysqli_query($dbi, "SELECT * FROM `foto` WHERE `counter` LIKE '%/$dir[id]/%' AND `type` = 'foto'");
while ($post_foto = mysqli_fetch_array($fotos_dir))
{
if (mysqli_result("SELECT COUNT(*) FROM `files_zone` WHERE `id_file` = '$post_foto[id]' AND `type` = 'foto'")!=0)
{
$array_fotos_fz[] = $post_foto['id'];
}
}
if (count($array_fotos_fz) > 0 && isset($_GET['fz']) && $_GET['fz'] == 'dd')
{
if(isset($_POST['submited']))
{
if ($_POST['mdp']==$mdp)
{
foreach ($array_fotos_fz AS $key => $foto_id)
{
mysqli_query($dbi, "DELETE FROM `files_zone` WHERE `id_file` = '$foto_id' AND `type` = 'foto'");
}
msg_sess("Удалено ".sklon_text(count($array_fotos_fz), array('файл', 'файла', 'файлов'))." из Зоны файлов");
locon(" ?dir=$dir[id]&edit_dir");
exit();
} else hacked_by_Killer();
}
echo "<form method='POST' action=''>n";
echo "Вы действительно хотите удалить всё содержимое папки $dir[dir_img] <b>".hsc($dir['name'])."</b> из Зоны файлов?<br />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 "</form>n";
ex_foot();
}
if(isset($_POST['submited']) && isset($_POST['name']))
{
if ($_POST['mdp']==$mdp)
{
$name=$_POST['name'];
if(mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto` 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_fotos_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 `foto` 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_or'>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_fotos_fz) == 0)
{
echo "<div class='list_or'>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_or'>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_fotos_fz) > 0)
{
echo "<div class='list_or'>n";
echo "К сожалению, вы не можете изменить режим доступа к этой папке или удалить её: в данной папке или её подпапках есть ".sklon_text(count($array_fotos_fz), array('файл', 'файла', 'файлов')).", которые выложены в Зону файлов. Вот некоторые из них:<br />";
echo "<ul>n";
$num = 0;
foreach ($array_fotos_fz AS $key => $foto_id)
{
$num ++;
$foto = mysqli_fetch_array(mysqli_query($dbi, "SELECT * FROM `foto` WHERE `id` = '$foto_id'"));
echo "<li>n";
echo "<a href='?foto=$foto[id]'".title_link('Открыть фото').">n";
if (is_file(H.'/i/file_type/'.$foto['ras'].'.png'))echo "<img src='/i/file_type/$foto[ras].png' alt='$foto[ras]' /> n";
else echo "<img src='/i/file_type/file.png' alt='foto' /> n";
echo hsc($foto['name']).".".hsc($foto['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_fotos_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 ($_POST['mdp']==$mdp)
{
$name = $_POST['name'];
if (mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto` 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 `foto` (`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_or'>n";
echo "Название:<br/>n";
echo "<input type='text' name='name' value=''".title_link('Введите название папки')."><br/>n";
echo "</div>n";
echo "<div class='list_or'>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_or'>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_foto']) && isset($user) && $ank['id'] == $user['id'])
{
if (isset($_POST['submited']))
{
if ($_POST['mdp']==$mdp)
{
if ($imgc = @imagecreatefromstring(file_get_contents($_FILES['foto']['tmp_name'])))
{
$name=trim(esc(stripcslashes(hsc($_FILES['foto']['name']))));
$name=ereg_replace('(#|?)', NULL, $name);
$ras=strtolower(eregi_replace('^.*.', NULL, $name));
$name=eregi_replace('.[^.]*$', NULL, $name); // имя фото без расширения
$size=filesize($_FILES['foto']['tmp_name']);
$desc=$_POST['desc'];
$img_x = imagesx($imgc);
$img_y = imagesy($imgc);
if ($img_x > $config['max_upload_foto_x'] || $img_y > $config['max_upload_foto_y'])$error[] = 'Размер изображения превышает ограничения в '.$config['max_upload_foto_x'].'*'.$config['max_upload_foto_y'];
if(mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto` WHERE `id_dir` = '$dir[id]' AND `name` = '$name' AND `ras` = '$ras' AND `type` = 'foto' AND `id_user` = '$user[id]'"))!=0)
$error[] = 'Фото с таким названием уже есть в этой папке';
if (strlen2($name)>50 || strlen2(trim($name)) < 1)$error[]="Название не должно быть пустым и не больше 50-ти символов";
if(!preg_match("#^([A-zА-я0-9_-. ])+$#ui", $name))$error[]='В названии присутствуют запрещенные символы';
if ($ras==NULL || $ras==$name || !preg_match("#^([A-z0-9-_() ])+$#ui", $ras))$error[] = "Неверное расширение";
} else $error[] = 'Выбранный Вами формат изображения не поддерживается';
if (!isset($error))
{
mysqli_query($dbi, "INSERT INTO `foto` SET `name` = '".my_esc($name)."', `desc` = '".my_esc($desc)."', `time` = '$time', `id_dir` = '$dir[id]', `counter` = '$dir[counter]$dir[id]/', `type` = 'foto', `id_user` = '$user[id]', `ras` = '$ras'");
$id_foto=mysqli_insert_id($dbi);
if (!file_exists(H."system/files/fotos/d$dir[id]"))mkdir(H."system/files/fotos/d$dir[id]", 0777);
if (!@copy(trim($_FILES['foto']['tmp_name']), H."system/files/fotos/d$dir[id]/".$id_foto.".dat"))
{
mysqli_query($dbi, "DELETE FROM `foto` WHERE `id` = '$id_foto' LIMIT 1");
$error[]='Ошибка при выгрузке';
}
else {
$query = mysqli_query($dbi, "SELECT * FROM `readers` WHERE `id_ank` = '$user[id]' AND `foto` = '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_foto', '$dir[id]', 'foto', '$user[id]', '".($time)."')");
}
msg_sess("Фото успешно добавлено<br /><a href='?dir=$dir[id]&add_foto'>Добавить еще</a>");
locon("?foto=$id_foto");
}
}
} 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='foto' 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' /></div>n";
echo "</form>";
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 == 'avatar') {
$selectar['avatar'] = 1;
$selectar['title'] = "Выберите аватар";
$selectar['link_dir'] = "&select=avatar";
$selectar['link_back'] =($dir['id']!=0?"?dir=$dir[id_dir]".$selectar['link_dir']:"/anketa/?act=anketa");
$selectar['link_file'] = "&select=avatar";
$selectar['link_file_title'] = "Выбрать аватар";
} elseif ($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 (($ank['id']==$user['id'] && isset($user) || isset($moderate_foto) && $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 `foto` WHERE `id_user` = '$ank[id]' AND `type` = 'foto' 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 `foto` WHERE `id_user` = '$ank[id]' AND `type` = 'dir' AND `id_dir` = '$dir[id]' ORDER BY `name` ASC");
while ($post = mysqli_fetch_array($query))
{
$count_fotos=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto` WHERE `type` = 'foto' AND `counter` like '%/$post[id]/%'"));
$count_fotos_new=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto` WHERE `type` = 'foto' AND `counter` like '%/$post[id]/%' AND `time` > '".($time-(3600*24))."'"));
$count_fotos_show="($count_fotos)".($count_fotos_new>0?" <span class='spared'>+$count_fotos_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_fotos_shown";
/*if ($ank['id']==$user['id'] && isset($user) || isset($moderate_foto))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 `foto` WHERE `id_user` = '$ank[id]' AND `type` = 'foto' 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 `foto_komm` WHERE$skp `id_foto` = '$post[id]'"));
$count_komm_new=mysqli_num_rows(mysqli_query($dbi, "SELECT * FROM `foto_komm` WHERE$skp `id_foto` = '$post[id]' AND `time` > '".($time-(3600*24))."'"));
$count_komm_show="$count_komm";
echo "<div class='list'>n";
echo "<div class='left'>n";
if (isset($_SESSION['fotos_multi_select']) && $ank['id']==$user['id'])echo "<input type='checkbox' name='multi_select_foto_$post[id]' value='1'".(in_array($post['id'], $_SESSION['fotos_multi_select'])?" CHECKED":NULL)." />n";
echo ffs_screen($post['id'], 'foto', WapWeb_show(48,96), WapWeb_show(48,96));
echo "</div>n";
echo "<div class='overfl_hid'>n";
echo "<a href='?foto=$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='foto' /> 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";
echo "<div class='clear'></div>n";
echo "</div>n";
}
pages_show("?dir=$dir[id]&id=$ank[id]".(isset($selectar['avatar'])?"&select=avatar":NULL)."&"); // Вывод страниц
if (!count($selectar))include('multi_select_foot.php');
if (!isset($_SESSION['fotos_multi_select']) && count($selectar) == 0)
{
if (($ank['id']==$user['id'] && isset($user) || isset($moderate_foto) && $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_foto'".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]&fotos_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();
?>