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

Размер файла: 14.41Kb
<?php
// by mides, 1da.su

$title = 'Загруз-центр';
require_once 'system/sys.php';
require_once 'system/header.php';

switch ($_GET['act']) {
	default:
		tp('Загруз-центр');
		$cats_r = mysql_query("SELECT `id`, `name` FROM `loads_cats` ORDER BY `name`");
		if (mysql_num_rows($cats_r)) {
			while ($cat = mysql_fetch_assoc($cats_r)) {
				$loads = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_files` WHERE `id_cat` = '$cat[id]'"), 0);
				echo '<a href="?act=cat&amp;id='.$cat['id'].'">'.$cat['name'].'</a> ('.$loads.')<br />';
			}
		} else {
			echo 'Разделы не созданы.';
		}
		nav_main();
	break;
	
    case 'cat':
		$id = intval($_REQUEST['id']);
		$cat = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `loads_cats` WHERE `id` = '$id'"));
		if ($cat['name']) {
			tp('ЗЦ &gt; '.$cat['name']);
			$subcats_r = mysql_query("SELECT `id`, `name` FROM `loads_subcats` WHERE `id_cat` = '$id' ORDER BY `name`");
			if (mysql_num_rows($subcats_r)) {
				while ($subcat = mysql_fetch_assoc($subcats_r)) {
					$loads = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_files` WHERE `id_subcat` = '$subcat[id]'"), 0);
					echo '<a href="?act=subcat&amp;id='.$subcat['id'].'">'.$subcat['name'].'</a> ('.$loads.')<br />';
				}
			} else {
				echo 'Подразделы не созданы.';
			}
		} else {
			error('Выбранный раздел не существует.');
		}
		nav2('?', 'Загрузки');
	break;
			
	case 'subcat':
		$id = intval($_REQUEST['id']);
		$subcat = mysql_fetch_assoc(mysql_query("SELECT `id_cat`, `name` FROM `loads_subcats` WHERE `id` = '$id'"));
		if ($subcat['name']) {
			$cat = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `loads_cats` WHERE `id` = '$subcat[id_cat]'"));
			echo '<div class="title">ЗЦ &gt; '.$cat['name'].' &gt; '.$subcat['name'].'</div><div class="list">';
			$count_loads = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_files` WHERE `id_subcat` = '$id'"), 0);
			if ($count_loads > 0) {
				$page = intval($_GET['p']) ? abs(intval($_GET['p'])) : 1;
				$from = ($page - 1) * $config['onpage'];
			
				$loads_r = mysql_query("SELECT * FROM `loads_files` WHERE `id_subcat` = '$id' ORDER BY `time` DESC LIMIT $from, $config[onpage]");
				while ($load = mysql_fetch_assoc($loads_r)) {
					if (!isset($num) ) $num = 1;  
					$num++;
					$row_class = (!($num % 2)) ? 'row1' : 'row2';	
					$comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_comm` WHERE `id_load` = '$load[id]'"), 0);
					echo '<div class="'.$row_class.'">
					<a href="?act=view&amp;id='.$load['id'].'">'.$load['name'].'</a> ('.size(filesize('inc/loads/'.$load['file'])).')';
					if ($u['access'] > 1) echo ' <a href="?act=file_edit&amp;id='.$load['id'].'">ред</a>';
					if ($u['access'] == 3) echo '/<a href="?act=file_del&amp;id='.$load['id'].'">уд</a>';
					echo '<br />
					Комментарий: '.$comm.'<br />
					</div>';
				}
				navig($page, '?act=subcat&amp;id='.$id.'&amp;', $pages);
			} else {
				echo 'Пусто.';
			}
			nav2('?act=cat&amp;id='.$subcat['id_cat'], $cat['name']);
		} else {
			error('Выбранный подраздел не существует.');
			nav_main();
		}				
	break;
	
	case 'view':
		$id = intval($_REQUEST['id']);
		$load = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_files` WHERE `id` = '$id'"));
		if ($load['id']) {
			tp($load['name']);
			if ($load['desc']) echo bb($load['desc']).'<br />';
			if ($load['author']) echo '<br />Автор файла: '.$load['author'];
			if ($load['site']) echo ' (<a href="http://'.$load['site'].'">http://'.$load['site'].'</a>)';
			echo '<br />';
			echo 'Добавлено: <a href="profile.php?id='.$load['id_user'].'">'.login($load['id_user']).'</a> ('.date('d.m.y, H:i', $load['time']).')<br /><br />';
			
			$comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_comm` WHERE `id_load` = '$load[id]'"), 0);
			echo '<a href="inc/loads/'.$load['file'].'">Скачать</a> ('.size(filesize('inc/loads/'.$load['file'])).')<br />
			<a href="?act=comm&amp;id='.$load['id'].'">Комментарии</a> ('.$comm.')<br /><br />';
			
			if ($u['id']) echo 'Скопировать адрес:<br /><input name="file" type="text" value="http://'.$config['copy'].'/inc/loads/'.$load['file'].'" /><br />';
			echo 'BB-код для форума:<br /><input name="bb_code" type="text" value="[url=http://'.$config['copy'].'/loads.php?act=view&amp;id='.$load['id'].']'.$load['name'].'[/url]" /><br />';
			
			if ($u['access'] > 1) echo '<br />- <a href="?act=file_edit&amp;id='.$load['id'].'">Редактировать</a><br />';
			if ($u['access'] == 3) echo '- <a href="?act=file_del&amp;id='.$load['id'].'">Удалить</a><br />';
			
			$subcat = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `loads_subcats` WHERE `id` = '$load[id_subcat]'"));
			nav2('?act=subcat&amp;id='.$load['id_subcat'], $subcat['name']);
		} else {
			error('Выбранный файл не существует.');
			nav('?');
		}
	break;
	
	case 'file_edit':
		if ($u['access'] > 1) {
			$id = intval($_REQUEST['id']);
			$load = mysql_fetch_assoc(mysql_query("SELECT * FROM `loads_files` WHERE `id` = '$id'"));
			if ($load['id']) {
				if ($_REQUEST['ok']) {
					if ($_POST['name'] and $_POST['desc'] and $_POST['author'] and $_POST['site']) {
						$name = check($_POST['name']);
						$desc = check($_POST['desc']);
						$author = check($_POST['author']);
						$site = check($_POST['site']);
						mysql_query("UPDATE `loads_files` SET `name` = '$name', `desc` = '$desc', `author` = '$author', `site` = '$site' WHERE `id` = '$id'");
						header('location: ?act=view&id='.$id);
					} else {
						header('location: ?act=file_edit&id='.$id);
					}
				} else {
					tp('Редактирование инфо о файле');
					echo '<form action="?act=file_edit&amp;id='.$id.'&amp;ok=1" method="post">
					Название(max50):<br /><input name="name" type="text" maxlength="50" value="'.$load['name'].'" /><br />
					Описание:<br /><textarea name="desc" cols="" rows="3">'.$load['desc'].'</textarea><br />
					Автор(max20):<br /><input name="author" type="text" maxlength="20" value="'.$load['author'].'" /><br />
					Сайт(max20):<br /><input name="site" type="text" maxlength="20" value="'.$load['site'].'" /><br />
					<input name="submit" type="submit" value="Ok" />
					</form>';
					nav('?act=view&amp;id='.$id);
				}
			} else {
				error('Файл не существует.');
				nav('?');
			}
		} else {
			header('location: ?');
		}
	break;
	
	case 'file_del':
		if ($u['access'] == 3) {
			$id = intval($_REQUEST['id']);
			$load = mysql_fetch_assoc(mysql_query("SELECT `id`, `id_subcat`, `name`, `file` FROM `loads_files` WHERE `id` = '$id'"));
			if ($load['id']) {
				if ($_REQUEST['ok']) {
					unlink('inc/loads/'.$load['file']);
					mysql_query("DELETE FROM `loads_files` WHERE `id` = '$load[id]'");
					mysql_query("DELETE FROM `loads_comm` WHERE `id_load` = '$load[id]'");
					header('location: ?act=subcat&id='.$load['id_subcat']);
				} else {
					tp('Подтверждение');
					echo 'Вы действительно хотите удалить файл "'.$load['name'].'"?<br />
					<form action="?act=file_del&amp;id='.$id.'&amp;ok=1" method="post">
					<input name="submit" type="submit" value="Yeah" />
					</form>';
					nav2('?act=view&amp;id='.$load['id'], 'К файлу');
				}
			} else {
				error('Файл не существует.');
				nav('?');
			}
		} else {
			header('location: ?');
		}
	break;

	case 'comm':
		$id = intval($_REQUEST['id']);
		$load = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `loads_files` WHERE `id` = '$id'"));
		if ($load['name']) {
			echo '<div class="title">'.$load['name'].'</div><div class="list">';
			$count_comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `loads_comm` WHERE `id_load` = '$id'"), 0);
			if ($count_comm > 0) {
				$pages = ceil($count_comm/$config['onpage']);
				if (intval($_REQUEST['p'])) {
					$page = intval($_REQUEST['p']);
				} else {
					$page = 1;
				}
				$from = ($page-1)*$config['onpage'];
		
				$comm_r = mysql_query("SELECT * FROM `loads_comm` WHERE `id_load` = '$id' ORDER BY `time` DESC LIMIT $from, $config[onpage]");
				while ($comm = mysql_fetch_assoc($comm_r)) {
					if (!isset($num) ) $num = 1;  
					$num++;
					$row_class = (!($num % 2)) ? 'row1' : 'row2';	
					echo '<div class="'.$row_class.'">';
				
					echo '<a href="profile.php?id='.$comm['id_user'].'">'.login($comm['id_user']).'</a> '.online(date('d.m.y, H:i', $comm['time']), $comm['id_user']).' <a href="?act=comm_reply&amp;id='.$comm['id'].'">Отв</a>';
					if ($u['access'] > 0 or $u['id'] and $u['id'] == $comm['id_user'] and time() - $comm['time'] < $config['edit_time']) echo '|<a href="?act=comm_edit&amp;id='.$comm['id'].'">Ред</a>';
					if ($u['access'] > 0) echo '|<a href="?act=comm_del&amp;id='.$comm['id'].'">Уд</a>';
					echo '<br />'.bb($comm['msg']);
					if ($comm['edit_by']) echo '<br />_______<br /><span style="font-size: 10px;">отредактировано: '.login_simple($comm['edit_by']).' ('.date('d.m.y, H:i', $comm['edit_time']).' )</span>';
					echo '</div>';
				}
				navig($page, '?act=comm&amp;id='.$id.'&amp;', $pages);
			} else {
				echo 'Комментарий к этой новости еще нет.';
			}
			echo '</div>';
			if ($u['id']) {
				echo '<div class="main">Добавить (max250):<br />
				<form action="?act=comm_add&amp;id='.$id.'" method="post">
				<textarea name="msg" cols="" rows="3"></textarea>';
				echo '<input name="" type="submit" value="Ok">
				</form>
				</div>';
			}
		} else {
			error('Новость не существует или она была удалена.');
		}
		nav2('?act=view&amp;id='.$id, 'К файлу');
	break;
	
	case 'comm_add':
		$id = intval($_REQUEST['id']);
		$load = mysql_fetch_assoc(mysql_query("SELECT `id` FROM `loads_files` WHERE `id` = '$id'"));
		if ($load['id']) {
			if ($_POST['msg']) {
				if (time() > $_SESSION['antispam']) {
					$msg = check($_POST['msg']);
					mysql_query("INSERT INTO `loads_comm` SET `id_load` = '$id', `id_user` = '$u[id]', `msg` = '$msg', `time` = '".time()."'");
					$_SESSION['antispam'] = time() + $config['antispam'];
					header('location: ?act=comm&id='.$id);
				} else {
					error('Антиспам. Разрешено писать раз в '.$config['antispam'].' сек.');
					nav('?act=comm&amp;id='.$id);
				}
			} else {
				error('Вы не заполнили поле.');
				nav('?act=comm&amp;id='.$id);
			}
		} else {
			error('Новость не существует или она была удалена.');
			nav2('?', 'В загруз-центр');
		}
	break;
	
	case 'comm_reply':
		if ($u['id']) {
			$id = intval($_REQUEST['id']);
			$comm_r = mysql_query("SELECT `id_load`, `id_user` FROM `loads_comm` WHERE `id` = '$id'");
			$comm = mysql_fetch_assoc($comm_r);
			if ($comm['id_load']) {
				if ($_REQUEST['ok']) {
					if (time() > $_SESSION['antispam']) {
						if ($_POST['msg']) {
							$msg = check($_POST['msg']);
							mysql_query("INSERT INTO `loads_comm` SET `id_load` = '$comm[id_load]', `id_user` = '$u[id]', `msg` = '$msg', `time` = '".time()."'");
							$_SESSION['antispam'] = time() + $config['antispam'];
							header('location: ?act=comm&id='.$comm['id_load']);
						} else {
							error('Вы не заполнили поле.');
							nav('?act=comm_reply&amp;id='.$id);
						}
					} else {
						error('Антиспам. Разрешено писать раз в '.$config['antispam'].' сек.');
						nav('?act=comm&amp;id='.$comm['id_load']);
					}
				} else {
					tp('Ответ на сообщение');
					echo '<form action="?act=comm_reply&amp;id='.$id.'&amp;ok=1" method="post">
					Сообщение(max250):<br /><textarea name="msg" cols="" rows="3">[b]'.login_simple($comm['id_user']).'[/b], </textarea><br />';
					echo '<input name="submit" type="submit" value="Ok" />
					</form>';
					nav('?act=comm&amp;id='.$comm['id_load']);
				}
			} else {
				error('Комментарий, на которое вы хотите ответить, не существует.');
				nav2('?', 'в загруз-центр');
			}
		} else {
			header('location: login.php');
		}
	break;
	
	case 'comm_edit':
		if ($u['id']) {
			$id = intval($_REQUEST['id']);
			$comm_r = mysql_query("SELECT * FROM `loads_comm` WHERE `id` = '$id'");
			$comm = mysql_fetch_assoc($comm_r);
			if ($comm['id']) {
				if ($u['access'] > 0 or $u['id'] == $comm['id_user'] and time() - $comm['time'] < $config['edit_time']) {
					tp('Редактирование комментария');
					if (empty($_REQUEST['ok'])) {
						echo '<form action="?act=comm_edit&amp;id='.$id.'&amp;ok=1" method="post">
						Сообщение(max250):<br /><textarea name="msg" cols="" rows="3">'.$comm['msg'].'</textarea>
						<input name="submit" type="submit" value="Ok" />
						</form>';
						nav('?act=comm&amp;id='.$comm['id_load']);
					} else {
						if ($_POST['msg']) {
							$msg = check($_POST['msg']);
							mysql_query("UPDATE `loads_comm` SET `msg` = '$msg', `edit_by` = '$u[id]', `edit_time` = '".time()."' WHERE `id` = '$id'");
							header('location: ?act=comm&id='.$comm['id_load']);
						} else {
							error('Вы не заполнили поле.');
							nav('?act=comm_edit&amp;id='.$id);
						}
					}
				} else {
					error('Нельзя отредактировать этот комментарий.');
					nav('?act=comm_edit&amp;id='.$comm['id_load']);
				}
			} else {
				error('Комментарий не существует.');
				nav2('?', 'К загрузкам');
			}
		} else {
			header('location: login.php');
		}
	break;
	
	case 'comm_del':
		if ($u['access'] > 0) {
			$id = intval($_REQUEST['id']);
			$comm_r = mysql_query("SELECT `id_load` FROM `loads_comm` WHERE `id` = '$id'");
			$comm = mysql_fetch_assoc($comm_r);
			if ($comm['id_load']) {
				mysql_query("DELETE FROM `loads_comm` WHERE `id` = '$id'");
				header('location: ?act=comm&id='.$comm['id_load']);
			} else {
				header('location: ?');
			}
		} else {
			header('location: ?');
		}
	break;	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}

require_once 'system/tail.php';
?>