File size: 8.58Kb
<?
/* Mixanza Production
* Дата последнего редактирования 01.03.2018
* Модифицировал Mixanza
*/
foreach (array('start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user') as $inc) {
require_once "../../../sys/inc/$inc.php";
}
only_reg('/reg.php');
$set['title']='Файлы'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
aut();
### Проверка существует ли папка
if (isset($_GET['id']))$id=intval($_GET['id']);
$id_dir=intval($_GET['dir']);
$file=intval($_GET['id_file']);
if(isset($_GET['id']) && $pdo->query(("SELECT COUNT(*) FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"),0)->fetchColumn()==1)
{
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$dir = $pdo->query("SELECT * FROM `soo_dir` WHERE `id` = '$id_dir' AND `id_soo` = '$soo[id]' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if(isset($_GET['dir']) && $pdo->query(("SELECT COUNT(*) FROM `soo_dir` WHERE `id` = '".intval($_GET['dir'])."' AND `id_soo` = '".$soo['id']."' LIMIT 1"),0)->fetchColumn()==1)
{
$id = intval($_GET['dir']);
}else{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
err404();
include_once '../../../sys/inc/tfoot.php';
exit();
}
$soo = $pdo->query(("SELECT * FROM `soo` WHERE `id` = '$soo[id]' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
if($pdo->query(("SELECT COUNT(*) FROM `soo_bl` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' LIMIT 1"),0)->fetchColumn()!=0)
{
$set['title']='Файл'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
echo '<div class="list-group-item">';
echo '<div class="err">Вы добавлены в черный список группы и не можете просмотреть данный объект</div>';
echo '</div>';
}else{
$file_id = $pdo->query("SELECT * FROM `soo_files` WHERE `id` = '".intval($_GET['id_file'])."'")->fetch(PDO::FETCH_BOTH);
$mod = $pdo->query(("SELECT COUNT(*) FROM `soo_users` WHERE `id_soo` = '$soo[id]' AND `id_user`='$user[id]' AND `mod` = '1' LIMIT 1"),0)->fetchColumn();
if(isset($user) && $user['id']==$soo['admid'] || $user['id']==$file_id['id_user'] || $mod)
{
if (isset($_GET['act']) && $_GET['act']=='delete' && isset($_GET['ok'])){
$pdo->query("DELETE FROM `soo_files` WHERE `id` = '".intval($_GET['id_file'])."'");
unlink(H.'sys/groups/file/'.intval($_GET['id_file']).'.'.$file_id['ras'].'');
header("location: dir.php?id=".$soo['id']."&dir=".intval($_GET['dir'])."");
}
if (isset($_GET['act']) && $_GET['act']=='rename' && isset($_GET['ok'])){
if ($_POST['name']==NULL)$err[]= "Введите название папки";
if (utf8_strlen($_POST['name'])>100){$err='Название не может превышать больше 100 символов';}
if( !preg_match("#^([A-zА-я0-9\-\_\ ])+$#ui", $_POST['name']))$err[]='В объекте присутствуют запрещенные символы';
if (preg_match("#(^\ )|(\ $)#ui", $_POST['name']))$err[]='Запрещено использовать пробел в начале и конце объекта';
if(!isset($err)){
$pdo->query("UPDATE `soo_files` SET `name`='".htmlspecialchars($_POST['name'])."' WHERE `id` = '$file' LIMIT 1");
$pdo->query("UPDATE `soo_files` SET `opis`='".htmlspecialchars($_POST['msg'])."' WHERE `id` = '$file' LIMIT 1");
$pdo->query("UPDATE `soo_files` SET `metka`='".htmlspecialchars($_POST['metka'])."' WHERE `id` = '$file' LIMIT 1");
header('location: /modules/groups/file/file.php?id='.htmlspecialchars($soo['id']).'&dir='.$id_dir.'&id_file='.$file.'');}
}
err();
if (isset($_GET['act']) && $_GET['act']=='rename'){
if (isset($_POST['metka']) && ($_POST['metka'] == '0' || $_POST['metka'] == '1'))$metka = $_POST['metka'];
else $metka = 0;
$opis=NULL;
if (isset($_POST['msg']))
$opis=htmlspecialchars($_POST['msg']);
if (utf8_strlen($opis)>300){$err='Описание не может превышать больше 300 символов';}
#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo " <a href='/info.php?id=$user[id]'>$user[nick]</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/user/file/index.php?id=$user[id]'>";
echo lang('файлы');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> редактирование</div>";
echo "<div class='list-group-item'>";
echo '<form action="?id='.htmlspecialchars($soo['id']).'&dir='.$id_dir.'&id_file='.$file.'&act=rename&ok" method="post">';
echo "<b>Название</b> <font color=gray><small>(100 символов)</small></font> :<br />\n";
echo "<input class=\"form-control\" type=\"text\" name=\"name\" value='".htmlspecialchars($file_id['name'])."'/><br />\n";
echo "<b>Описание</b> <font color=gray><small>(300 символов)</small></font> :<br />\n";
echo '<textarea class="form-control" name="msg">'.htmlspecialchars($file_id['opis']).'</textarea>';
echo "<br><label><input type='checkbox' name='metka' value='1' value='".htmlspecialchars($file_id['metka'])."'/> Метка <font color=red>18+</font></label><br />
";
echo "<br /><input class=\"knopka\" type=\"submit\" value=\"Сохранить\" /><br />\n";
echo "</form>";
echo "</div>";
}
if (isset($_GET['act']) && $_GET['act']=='delete')
{
#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo " <a href='/info.php?id=$user[id]'>$user[nick]</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/user/file/index.php?$user[id]'>";
echo lang('файлы');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> удаление файла</div>";
echo "<div class='list-group-item'>";
echo "Удалить файл <b>$file_id[name]</b>?<br /><br />\n";
echo '<a class="knopka" href="?id='.htmlspecialchars($soo['id']).'&dir='.$id_dir.'&id_file='.intval($_GET['id_file']).'&act=delete&ok">Удалить</a>';
echo "</div>";
}
if ($file_id['id_user']==$user['id'] && isset($_GET['act']) && $_GET['act']=='per')
{
if (isset($_POST['id_dir'])){
$id_dir1 = intval($_POST['id_dir']);
$id_file1 = intval($_GET['id_file']);
if (!isset($err)){
$folder = $pdo->query(("SELECT * FROM `soo_dir` WHERE `id` = '$id_dir1' AND `id_soo` = '$soo[id]' LIMIT 1"))->fetch(PDO::FETCH_ASSOC);
$pdo->query("UPDATE `soo_files` SET `dir` = '$id_dir1' WHERE `id_soo`='".$soo['id']."' AND `id`='".$id_file1."'");
$_SESSION['message'] = 'Объект успешно перенесен в папку <b>'.$folder['name'].'</b>';
header("Location: file.php?id=$soo[id]&dir=$folder[id]&id_file=".intval($_GET['id_file'])."");
}
}
#Навигация
echo "<div class='card-header'>";
echo "<a href='/' data-toggle='tooltip' data-placement='right' title='" . lang('На главную') . "'><i class='fa fa-home fa-lg'></i></a> <i class='fa fa-angle-right fa-fw'></i> ";
echo " <a href='/info.php?id=$user[id]'>$user[nick]</a> <i class='fa fa-angle-right fa-fw'></i> <a href='/user/file/index.php?$user[id]'>";
echo lang('файлы');
echo "</a> <i class='fa fa-angle-right fa-fw'></i> перемещение файла</div>";
echo "<div class='list-group-item'><b>Выберите папку для перемещения:</b><br><br>";
echo "<form method='POST'>";
echo "<select name='id_dir' class='form-control' style='width: 50%;'>\n";
$q = $pdo->query("SELECT * FROM `soo_dir` WHERE `id_soo` = '$soo[id]' ORDER BY `id` DESC");
while ($post = $q->fetch(PDO::FETCH_ASSOC))
{
echo "<option value='$post[id]'".($id_dir1 == $post['id']?" selected='selected'" : null).">" . text($post['name']) . "</option>\n";
}
echo "</select>\n";
echo "<br /><button class='knopka'>Переместить</button><br /><br />";
echo "</form>";
echo "</div>";
}
}
}
}
else
{
$set['title']='Ошибка 404'; // заголовок страницы
include_once '../../../sys/inc/thead.php';
err404();
}
include_once '../../../sys/inc/tfoot.php';
?>