Просмотр файла modules/loads/index.php

Размер файла: 13.36Kb
<?php

// Уведомление о закрытии форума
if ($system['forum_module'] == '2' && $user['level'] < 14) {
  # Шапка модуля
  require_once(HOME .'/incfiles/header.php');
  
  echo '<div class="title">Технические работы</div>
  <div class="menu">
  '. output($system['forum_module_about']) .'
  </div>';
  
  echo '<div class="block">
  &raquo; <a href="/">На главную</a>
  </div>';
  
  # Ноги модуля
  require_once(HOME .'/incfiles/footer.php');
}

if (isset($_GET['dir_id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id` = '". num($_GET['dir_id']) ."'"), 0) != 1) $dir_id = 0;

$dir_id = num($_GET['dir_id']);

// задаем имя
if ($dir_id > 0) $dir_name = mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir_id'"),0);

# Создание объекта
if (isset($_GET['create_object']) && (!isset($user) || ($user['level'] < 14 && $user['level'] != 10))) {
	header('Location: /loads/index.php');
}

# Изменение объекта
if (isset($_GET['edit_id']) && (!isset($user) || ($user['level'] < 14 && $user['level'] != 10) || mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id` = '". num($_GET['edit_id']) ."'"), 0) == 0)) {
	header('Location: /loads/index.php');
}

# Удаление объекта
if (isset($_GET['del_id']) && (!isset($user) || ($user['level'] < 14 && $user['level'] != 10) || mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id` = '". num($_GET['del_id']) ."'"), 0) == 0)) {
	header('Location: /loads/index.php');
}

/**
 * Удаление объекта
 */
if (isset($_GET['del_id']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10) && mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `id` = '". num($_GET['del_id']) ."'"), 0) != 0 && isset($_POST['no'])) {
	header('Location: /loads/index.php');
}

# Заголовок модуля
$system['page_title'] = (isset($dir_name)?$dir_name:'Загрузки');

# Шапка модуля
require_once(HOME .'/incfiles/header.php');

# Создание объекта
if (isset($_POST['create']) && isset($_GET['create_object']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
	# Тип объекта
	$type = num($_POST['type']);

	# Название
    $name = txt($_POST['name']);

    if (empty($name)) $err .= 'Не введено название<br />';

    # Проверка длины логина
    if (!empty($name) && (strlen_rus($name) < 3 || strlen_rus($name) > 64)) $err .= 'Неверная длина названия. Допустимо от 3 до 64 символов<br />';

    # Проверка занятости логина
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `dir_id` = '$dir_id' AND `name` = '". input($name) ."'"), 0) != 0) $err .= 'Такой объект уже существует.<br />';

    if (!isset($err)) {
    	# Сохраняем данные
        mysql_query("INSERT INTO `loads` SET `dir_id` = '$dir_id', `type` = '$type', `name` = '". input($name) ."', `time` = '". time() ."'");

        echo '<div class="title">Добавление объекта</div>
        <div class="menu">
        Ваш объект успешно добавлен.
        </div>';

		if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

		echo '<div class="block">
		&raquo; <a href="/loads/index.php?dir_id='. $dir_id .'">В папку с объектом</a><br />
		'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
		&raquo; <a href="/">На главную</a>
		</div>';

		# Ноги модуля
		require_once(HOME .'/incfiles/footer.php');
    }
}

# Изменение объекта
if (isset($_POST['edit']) && isset($_GET['edit_id']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
	# Тип объекта
	$type = num($_POST['type']);

	# Название
    $name = txt($_POST['name']);

    if (empty($name)) $err .= 'Не введено название<br />';

    # Проверка длины логина
    if (!empty($name) && (strlen_rus($name) < 3 || strlen_rus($name) > 64)) $err .= 'Неверная длина названия. Допустимо от 3 до 64 символов<br />';

    # Проверка занятости логина
    if (mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `dir_id` = '$dir_id' AND `name` = '". input($name) ."' AND `id` != '". num($_GET['edit_id']) ."'"), 0) != 0) $err .= 'Такой объект уже существует.<br />';

    if (!isset($err)) {
    	# Сохраняем данные
        mysql_query("UPDATE `loads` SET `type` = '$type', `name` = '". input($name) ."' WHERE `dir_id` = '$dir_id' AND `id` = '". num($_GET['edit_id']) ."'");

        echo '<div class="title">Изменение объекта</div>
        <div class="menu">
        Ваш объект успешно изменен.
        </div>';

		if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

		echo '<div class="block">
		&raquo; <a href="/loads/index.php?dir_id='. $dir_id .'">В папку с объектом</a><br />
		'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
		&raquo; <a href="/">На главную</a>
		</div>';

		# Ноги модуля
		require_once(HOME .'/incfiles/footer.php');
    }
}

/**
 * Удаление объекта
 */
if (isset($user) && ($user['level'] >= 14 || $user['level'] == 10) && isset($_GET['del_id']) && mysql_result(mysql_query("SELECT * FROM `loads` WHERE `id` = '". num($_GET['del_id']) ."'"), 0) != 0 && isset($_POST['yes']))
{
  mysql_query("DELETE FROM `loads` WHERE `id` = '". num($_GET['del_id']) ."'");
  mysql_query("DELETE FROM `loads` WHERE `dir_id` = '". num($_GET['del_id']) ."'");
  mysql_query("DELETE FROM `loads_files` WHERE `obj_id` = '". num($_GET['del_id']) ."'");

  echo '<div class="title">Удаление объекта</div>
  <div class="menu">
  Объект успешно удален.
  </div>';

		if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

		echo '<div class="block">
		&raquo; <a href="/loads/index.php?dir_id='. $dir_id .'">В папку с объектом</a><br />
		'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
		&raquo; <a href="/">На главную</a>
		</div>';

  # Ноги модуля
  require_once(HOME .'/incfiles/footer.php');
}

error($err);

if (isset($_GET['create_object']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
	echo '<div class="title">Создание объекта</div>
	<form method="post" action="/loads/index.php?dir_id='. $dir_id .'&amp;create_object">
	<div class="menu">
    Тип объекта:<br />
    <select name="type" size="1">
	<option value="1">Папка</option>
	<option value="2">Файл</option>
	</select><br />
	Название:<br />
	<input type="text" name="name" /><br />
	<input type="submit" name="create" value="Создать" />
	</div>
	</form>';

	if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

	echo '<div class="block">
	'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
	&raquo; <a href="/">На главную</a>
	</div>';

	# Ноги модуля
	require_once(HOME .'/incfiles/footer.php');
}

// изменение объекта
if (isset($_GET['edit_id']) && isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
	# Массив с инфой об объекте
	$obj = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads` WHERE `id` = '". num($_GET['edit_id']) ."' LIMIT 1"));

	echo '<div class="title">Изменение объекта</div>
	<form method="post" action="/loads/index.php?dir_id='. $dir_id .'&amp;edit_id='. num($_GET['edit_id']) .'">
	<div class="menu">
    Тип объекта:<br />
    <select name="type" size="1">
	<option value="1"'. ($obj['type'] == 1?' selected="selected"':NULL) .'>Папка</option>
	<option value="2"'. ($obj['type'] == 2?' selected="selected"':NULL) .'>Файл</option>
	</select><br />
	Название:<br />
	<input type="text" name="name" value="'. output($obj['name']) .'" /><br />
	<input type="submit" name="edit" value="Изменить" />
	</div>
	</form>';

	if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

	echo '<div class="block">
	'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
	&raquo; <a href="/">На главную</a>
	</div>';

	# Ноги модуля
	require_once(HOME .'/incfiles/footer.php');
}

// удаление объекта
if (isset($_GET['del_id']) && isset($user) && $user['level'] >= 14) {
	echo '<div class="title">Удаление объекта</div>
	<form method="post" action="/loads/index.php?dir_id='. $dir_id .'&amp;del_id='. num($_GET['del_id']) .'">
	<div class="menu">
	<!-- Подтвержаете удаление объекта?<br />
	<input type="submit" name="yes" value="Да" /> <input type="submit" name="no" value="Нет" /> --> Удаление временно отключено.
	</div>
	</form>';

	if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

	echo '<div class="block">
	'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
	&raquo; <a href="/">На главную</a>
	</div>';

	# Ноги модуля
	require_once(HOME .'/incfiles/footer.php');
}

echo '<div class="title">'. (isset($dir_name)?$dir_name:'Загрузки') .'</div>';

# Кол-во новостей
$k_loads = mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `dir_id` = '$dir_id'"), 0);

# Старт навигации
nav_start($k_loads, 10);

if ($k_loads == 0)
{
	echo '<div class="menu">Папка пуста</div>';
}
else
{
    //$sql_loads = mysql_query("SELECT * FROM `loads` WHERE `dir_id` = '$dir_id' ORDER BY type ASC, time DESC, name ASC LIMIT $start, 10");
    
    $sql_loads = mysql_query("SELECT * FROM `loads` WHERE `dir_id` = '$dir_id' ORDER BY type ASC, name ASC LIMIT $start, 10");

    while ($load = mysql_fetch_assoc($sql_loads))
    {
      if ($load['type'] == 2 && mysql_result(mysql_query("SELECT COUNT(*) FROM `loads_files` WHERE `file_id` ='$load[id]'"), 0) != 0) $ext = mysql_result(mysql_query("SELECT `ext` FROM `loads_files` WHERE `file_id` ='$load[id]' ORDER BY time DESC LIMIT 1"), 0);
    
        echo '<div class="menu">
        '. ($load['type'] == '1'?(isset($user) && $settings['img_site'] == 2?'[d]':'<img src="/design/icons/loads/dir.png" alt="" /> '):(isset($user) && $settings['img_site'] == 2?NULL:(!isset($ext)?'<img src="/design/icons/loads/file.png" alt="" /> ':'<img src="/design/icons/files/'. $ext .'.png" alt="'. $ext .'" /> '))) .' <a href="'. ($load['type'] == '1'?'/loads/index.php?dir_id='. $load['id']:'/loads/file.php?file_id='. $load['id']) .'">'. $load['name'] .'</a>'. ($load['type'] == '1' && mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `dir_id` = '$load[id]' AND `type` = '2'"),0) != 0?' ('. mysql_result(mysql_query("SELECT COUNT(*) FROM `loads` WHERE `dir_id` = '$load[id]'"),0) .')':NULL) . (isset($user) && ($user['level'] >= 14 || $user['level'] == 10)?' [<a href="/loads/index.php?dir_id='. $dir_id .'&amp;edit_id='. $load['id'] .'">изм</a>] [<a href="/loads/index.php?dir_id='. $dir_id .'&amp;del_id='. $load['id'] .'">уд</a>]':NULL) . ($load['time'] > (time()-24*3600) && $load['type'] == '2'?' <span class="green">new!</span>':NULL) .'
		</div>';
    }

    # Вывод навигации
    view_nav('?dir_id='. $dir_id .'&amp;');
}

if ($dir_id > 0) $dir2 = mysql_result(mysql_query("SELECT `dir_id` FROM `loads` WHERE `id` = '$dir_id'"),0);

echo '<div class="block">
'. ($dir_id > 0?'&raquo; <a href="/loads/index.php?dir_id='. $dir2 .'">'. ($dir2 == 0?'Загрузки':mysql_result(mysql_query("SELECT `name` FROM `loads` WHERE `id` = '$dir2'"),0)) .'</a><br />':NULL) .'
&raquo; <a href="/">На главную</a>
</div>';

if (isset($user) && ($user['level'] >= 14 || $user['level'] == 10)) {
	echo '<div class="block">&raquo; <a href="/loads/index.php?dir_id='. $dir_id .'&amp;create_object">Создать объект</a></div>';
}

# Ноги модуля
require_once(HOME .'/incfiles/footer.php');

?>