View file element_forum/element_subforum_town.php

File size: 10.12Kb
<?php
	// Городской форум

	$my_town_id = ($subforum['lost_town'] == $user['lost_town']) ? true : false;	// Проверяем, мой город или нет
	$cache_town = cache_town($subforum['lost_town']);								// Кэш города
	$ban = BanUserCountActive($user['lost_id']);
	
	if ($my_town_id) {
		// Если мое звание меньше нужного, не впускаем
		if ($town_other[0] > $subforum['lost_town_ready'] AND $user['lost_privilege'] != 3) {
			$title = 'Доступ закрыт';
			$error1 = 'Вы не можете читать этот раздел. Руководство города ограничило к нему доступ<br/><br/><a class="button w50 white" href="/forum?go=town&id='.$id.'">К списку разделов</a>';
			require_once 'element_error_page.php';
			exit;
		}
	} else {
		// Если раздел настроен для чтение выше гостей, не впускаем
		if ($subforum['lost_town_ready'] != 8 AND $user['lost_privilege'] != 3) {
			$title = 'Доступ закрыт';
			$error1 = 'Вы не можете читать этот раздел. Руководство города ограничило к нему доступ<br/><br/><a class="button w50 white" href="/forum?go=town&id='.$id.'">К списку разделов</a>';
			require_once 'element_error_page.php';
			exit;
		}
	}
	
	require_once './element_function/element_function_forum.php';
	$count_topic = Count_Topic_Subforum($subforum['lost_id']);
	if (readcache('element_user_mesto'.$user['lost_id']) != 'Форум') writecache('element_user_mesto'.$user['lost_id'], 'Форум');		

	if ($my_town_id AND $town_other[0] == 0 AND $go == 'settings') {
		$list_z = array('Правитель', 'Казначей', 'Зодчий', 'Рыцарь', 'Оружейник', 'Дрессировщик', 'Монах', 'Стражник', 'Гость');
		krsort($list_z);
		
		$title = 'Настройки "'.$subforum['lost_name'].'"';
		require_once './element_include/element_head.php';
		require_once './element_include/element_header_user_true.php';
		
			if (isset($_GET['delete'])) {
			
				if (isset($_GET['okk'])) {
				
					if ($count_topic > 0) $error = 'В разделе есть топики. Чтобы удалить раздел, он должен быть пустой';
				
					if (!isset($error)) {
						mysql_query("DELETE FROM `element_forum_list_2` WHERE `lost_id` = '$id' LIMIT 1");
						header('Location: /forum?id='.$subforum['lost_town']);
						exit;
					} else echo '<div class="nfl p5 mb5 cntr small red mlra">'.$error.'</div>';
				
				} else {
					echo '<div class="nfl p5 mb5 mt5 small cntr error1 mlra">';
					echo 'Вы действительно хотите удалить раздел? Чтобы удалить раздел, он должен быть пустой';
					echo '<div class="mt5"><a class="button w40 mt5 mb5 mr2" href="/forum/subforum?id='.$id.'&go=settings&delete&okk">Да</a>';
					echo '<a class="button w40 ml2" href="/forum/subforum?id='.$id.'&go=settings">Нет</a></div>';
					echo '</div>';
					require_once './element_include/element_foot_user_true.php';
					exit;
				}
				
			}
		
			if (isset($_GET['ok'])) {
				$title1 = (isset($_POST['title']) AND !empty($_POST['title'])) ? htmlspecialchars(addslashes(trim($_POST['title']))) : false;
				$opis = (isset($_POST['opis']) AND !empty($_POST['opis'])) ? htmlspecialchars(addslashes(trim($_POST['opis']))) : false;
				$create_topic = $_POST['create_topic'];
				$ready = $_POST['ready'];
				$comment = $_POST['comment'];
				
				if (!$title1) $error = 'Поле \'заголовок\' обязательно для ввода<br/>';
				if (!$opis) $error .= 'Поле \'описание\' обязательно для ввода<br/>';
				if (mb_strlen($title1, 'utf-8') < 5 OR mb_strlen($title1, 'utf-8') > 20) $error .= 'Заголовок может содержать не меньше 5 и не больше 20 символов';
				if (mb_strlen($opis, 'utf-8') < 5 OR mb_strlen($opis, 'utf-8') > 40) $error .= 'Описание может содержать не меньше 5 и не больше 20 символов';
				if ($create_topic > 8 OR $create_topic < 0) $error = 'Произошла какая-то ошибка';
				if ($ready > 8 OR $ready < 0) $error = 'Произошла какая-то ошибка';
				if ($comment > 8 OR $comment < 0) $error = 'Произошла какая-то ошибка';
			
				if (!isset($error)) {

					mysql_query("UPDATE `element_forum_list_2` SET `lost_name` = '$title1',
																   `lost_sub_name` = '$opis',
																   `lost_town_ready` = '$ready',
																   `lost_town_comment` = '$comment',
															       `lost_town_topic` = '$create_topic'
																	WHERE `lost_id` = '$id' LIMIT 1");
																		 
					header('Location: /forum/subforum?id='.$id);
					exit;
				} else echo '<div class="nfl p5 mb5 cntr small red mlra">'.$error.'</div>';
			
			}
		
		echo '<div class="nfl p5 mb5 mt5 small mlra">';
		echo '<div class="cntr"><a href="/forum/subforum?id='.$id.'">Вернутсья в раздел</a></div>';
		echo '<div class="p5 white cntr">
			<form method="post" action="/forum/subforum?id='.$id.'&go=settings&ok">
				<div class="mb5">
					<span class="small white">Название раздела</span><br/>
					<input class="fdark w96 mb5" type="text" size="20" maxlength="20" value="'.$subforum['lost_name'].'" name="title"/><br/>
				</div>
				<div class="mb5">
					<span class="small white">Краткое описание раздела</span><br/>
					<input class="fdark w96 mb5" type="text" size="20" maxlength="60" value="'.$subforum['lost_sub_name'].'" name="opis"/><br/>
				</div>
				
				<div class="mb5 ccc">Кто может видеть этот раздел:<br>
				<select class="fdark mb10 w70" name="ready">';
					
				foreach ($list_z as $k => $v) {
					if ($k == $subforum['lost_town_ready']) $selected = 'selected'; else $selected = '';
					echo '<option value="'.$k.'" '.$selected.'>'.$v.'</option>';
				}
				
			echo '</select>
				</div>
				
				<div class="mb5 ccc">Кто может создавать топики в разделе:<br>
					<select class="fdark mb10 w70" name="create_topic">';

				foreach ($list_z as $k => $v) {
					if ($k == $subforum['lost_town_topic']) $selected = 'selected'; else $selected = '';
					echo '<option value="'.$k.'" '.$selected.'>'.$v.'</option>';
				}
					
			echo '</select>
				</div>
				
				<div class="mb5 ccc">Кто может комментировать этот раздел:<br>
					<select class="fdark mb10 w70" name="comment">';
					
				foreach ($list_z as $k => $v) {
					if ($k == $subforum['lost_town_comment']) $selected = 'selected'; else $selected = '';
					echo '<option value="'.$k.'" '.$selected.'>'.$v.'</option>';
				}
					
		echo '	</select>
				</div>
				
				<span class="button w50 mt5"><input type="submit" class="ttl" name="submit" value="Изменить"/></span>
			</form>
			
			<div class="mt5"><a class="button w50 error1" href="/forum/subforum?id='.$id.'&go=settings&delete">Удалить раздел</a></div>
			
		</div>';
		
		echo '</div>';
		require_once './element_include/element_foot_user_true.php';
		exit;
	}
	
	
	$title = $subforum['lost_name'];
	require_once './element_include/element_head.php';
	require_once './element_include/element_header_user_true.php';

	echo '<div class="nfl p5 mb5 mt5 small mlra">';
	echo '<div class="cntr"><img width="16" height="16" alt="" src="/images/icons/forum_new.png"/> <a href="/forum?id='.$cache_town['lost_id'].'">Форум "'.$cache_town['lost_name'].'"</a><span class="white"> / '.$subforum['lost_name'].'</span></div>';
	
	if ($count_topic > 0) {
		require_once './element_function/element_function_pagination.php';
		$page = (isset($_GET['page']) AND is_numeric($_GET['page'])) ? (int)$_GET['page'] : 1;
		$pagination = pagination(10, $page, $count_topic);
	
		echo '<div class="hr mt5 mb5"></div>';
	
		$query_topic = mysql_query("SELECT `lost_id`,`lost_name`,`lost_pric`,`lost_close`,`lost_time_comment` FROM `element_forum_topic_2` WHERE `lost_subforum` = '$id' ORDER BY `lost_pric` DESC,`lost_time_comment` DESC LIMIT $pagination[start], $pagination[num]");
		$i = 1;
			
		while ($myrrow = mysql_fetch_array($query_topic)) {
			$odd = ($i % 2) ? ' odd' : '';								// Цвет ячейки
			$bold = ($myrrow['lost_pric'] > 0) ? 'bold' : '';			// Жырный шрифт
			$close = ($myrrow['lost_close'] > 0) ? 'ccc' : 'yellow1';	// Цвет 
			$new = (Read_Topic_User($user['lost_id'], $myrrow['lost_id']) < $myrrow['lost_time_comment']) ? '_new' : '';	
				
			echo '<div class="ml5 mr5"><a class="bl p5 block'.$odd.'" href="/forum/topic?id='.$myrrow['lost_id'].'">
					<img width="16" height="16" alt="" src="/images/icons/topic'.$new.'.png"/> 
					<span class="'.$bold.' '.$close.' small">'.$myrrow['lost_name'].'</span>
				  </a></div>';
			$i++;
		}
	
		echo '<div>'.pagination_echo($pagination['page'],$pagination['total'],'/forum/subforum?id='.$id.'&page=').'</div>';
	
	} else echo '<div class="hr mt5"></div><div class="cntr mt5 ccc">В этом разделе тем не найдено</div>';
	
	echo '<div class="hr mt5 mb5"></div>';
	
	if ($my_town_id) {
		if ($town_other[0] <= $subforum['lost_town_topic'] OR $user['lost_privilege'] == 3)
			echo '<img src="/images/icons/1.gif"> <a class="" href="/forum/create?id='.$id.'">Создать топик</a><br/>';
	} else if ($subforum['lost_town_topic'] == 8 AND $ban == 0) echo '<img src="/images/icons/1.gif"> <a class="" href="/forum/create?id='.$id.'">Создать топик</a><br/>';
	
	if ($count_topic > 0) echo '<img src="/images/icons/1.gif"> <a class="" href="">Отметить все как прочитанные</a></br>';
	if ($my_town_id AND $town_other[0] == 0) echo '<img src="/images/icons/1.gif"> <a class="" href="/forum/subforum?id='.$id.'&go=settings">Настройки раздела</a></br>';
	
	
	echo '</div>';
?>