View file wip-site-portal/src/forum_admin.php

File size: 30.56Kb
<?
require('ini.php');
$link=connect();

$user=login('nick, forum_admin', false, true);

if(!$user or $user['forum_admin']!=1){
	head('Ошибка!', 15, 'forums.php');
	echo '<small><b>Вы не админ!</b></small>';
	foot();
	exit();
}


$sess = 'sid='.$sid.'&amp;';

@$mod=($_GET['mod'])?$_GET['mod']:$_POST['mod'];
@$tid = intval($_GET['tid']);

head('Админка форумов');

switch($mod){
	
	default:
		echo '<small>Ник:</small><br/>';
		echo '<input name="nick'.$ref.'" type="text" maxlength="30"/>';
		echo '<select name="mod'.$ref.'">';
		echo '<option value="">[Действие]</option>';
		echo '<option value="info">Информация</option>';
		echo '<option value="ban">Забанить</option>';
		echo '<option value="ban_ip">Забанить по IP</option>';
		echo '<option value="ban_only_read">Только чтение</option>';
		echo '<option value="full_ignor">Полный игнор</option>';
		echo '<option value="delete">Удалить</option>';
		echo '</select> ';
		echo '<small><anchor>OK<go href="forum_admin.php?'.$sess.'" method="post">';
		echo '<postfield name="mod" value="$(mod'.$ref.')"/>';
		echo '<postfield name="nick" value="$(nick'.$ref.')"/>';
		echo '</go></anchor><br/>';
		echo '---<br/>';
		echo '<b>Управление банами:</b><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=bans">Список банов</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=ignors">Список полного игнора</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=bans_ip">Список банов по IP</a><br/>';
		echo '---<br/>';
		echo '<b>Управление форумами:</b><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=new_forum">Создать форум</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=del_forum">Удалить форум</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=edit_forum">Изменить форум</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=pos_forum">Положения форумов</a><br/>';
		
		echo '</small>';
		break;
		
		case 'info':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		
		$select=mysql_query("SELECT * FROM `wip_users` WHERE `nick`='".$nick."';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$res=mysql_fetch_assoc($select);
		
		echo '<small>ID: '.$res['id'].'<br/>';
		echo 'Ник:</small><br/>';
		echo '<input name="nick'.$ref.'" type="text" value="'.$res['nick'].'" maxlength="30"/><br/>';
		echo '<small>Новый пароль:</small><br/>';
		echo '<input name="npass'.$ref.'" type="text" maxlength="20"/><br/>';
		echo '<small>* Имя:</small><br/>';
		echo '<input name="name'.$ref.'" type="text" value="'.$res['name'].'" maxlength="30"/><br/>';
		echo '<small>* Пол:</small> ';
		echo '<select name="sex'.$ref.'" value="'.$res['sex'].'">';
		echo '<option value="m">M</option>';
		echo '<option value="zh">Ж</option>';
		echo '</select><br/>';
		echo '<small>Дата Рождения:</small><br/>';
		echo '<input name="day" maxlength="2" format="*N" value="'.$res['day'].'" size="2"/>-';
		echo '<input name="month" maxlength="2" format="*N" value="'.$res['month'].'" size="2"/>-';
		echo '<input name="year" maxlength="4" format="*N" value="'.$res['year'].'" size="4"/><br/>';
		echo '<small>Код региона/страны: <a href="help.php?mod=city">[?]</a></small><br/>';
		echo '<input name="city'.$ref.'" type="text" format="*N" maxlength="3" size="3" value="'.$res['city'].'"/><br/>';
		echo '<small>E-mail:</small><br/>';
		echo '<input name="mail" type="text" maxlength="50" value="'.$res['mail'].'"/><br/>';
		echo '<small>* О себе:</small><br/>';
		echo '<input name="about'.$ref.'" type="text" value="'.$res['about'].'" maxlength="300"/><br/>';
		echo '<small>Постов на форуме:</small><br/>';
		echo '<input name="posts'.$ref.'" format="*N" value="'.$res['forum_posts'].'"/><br/>';
		
		if($res['forum_admin']==1) $lv='admin';
		elseif($res['forum_moder']==1) $lv='moder';
		else $lv='user';
		
		echo '<small>Уровень:</small> ';
		echo '<select name="level'.$ref.'" value="'.$lv.'">';
		echo '<option value="user">Пользовательский</option>';
		echo '<option value="admin">Админ</option>';
		echo '<option value="moder">Модер</option>';
		echo '</select><br/>';
		echo '<small><anchor>Сохранить<go href="forum_admin.php?'.$sess.'mod=info_save&amp;uid='.$res['id'].'" method="post">';
		echo '<postfield name="nick" value="$(nick'.$ref.')"/>';
		echo '<postfield name="npass" value="$(npass'.$ref.')"/>';
		echo '<postfield name="name" value="$(name'.$ref.')"/>';
		echo '<postfield name="sex" value="$(sex'.$ref.')"/>';
		echo '<postfield name="day" value="$(day'.$ref.')"/>';
		echo '<postfield name="month" value="$(month'.$ref.')"/>';
		echo '<postfield name="year" value="$(year'.$ref.')"/>';
		echo '<postfield name="city" value="$(city'.$ref.')"/>';
		echo '<postfield name="mail" value="$(mail'.$ref.')"/>';
		echo '<postfield name="about" value="$(about'.$ref.')"/>';
		echo '<postfield name="posts" value="$(posts'.$ref.')"/>';
		echo '<postfield name="level" value="$(level'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'info_save':
		@$uid=intval($_GET['uid']);
		@$nick=substr(trim(htmlspecialchars($_POST['nick'],ENT_QUOTES)),0,60);
		@$npass=substr(trim(htmlspecialchars($_POST['npass'],ENT_QUOTES)),0,60);;
		@$name=substr(trim(htmlspecialchars($_POST['name'],ENT_QUOTES)),0,60);
		@$sex=htmlspecialchars($_POST['sex'],ENT_QUOTES);
		@$day=substr(intval($_POST['day']),0,2);
		@$month=substr(intval($_POST['month']),0,2);
		@$year=substr(intval($_POST['year']),0,4);
		@$city=substr(intval($_POST['city']),0,3);
		@$mail=trim(htmlspecialchars($_POST['mail'],ENT_QUOTES));
		@$about=trim(htmlspecialchars($_POST['about'],ENT_QUOTES));
		@$posts=intval($_POST['posts']);
		@$level=trim(htmlspecialchars($_POST['level'],ENT_QUOTES));
		
		if(!$name or !$about or !$sex or !$level){
			echo '<small>Не заполнены обязательные поля!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		$select=mysql_query("select nick from wip_users where id='$uid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный юзер!</small><br/>';
		}
		$old_nick=mysql_fetch_row($select);
		
		if (preg_match("/[^a-z0-9\@\(\)\!\-\_]+/i",$nick)){
			echo '<small>Неверно введён ник!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
		}

		if($mail and !eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$mail)){
			echo '<small>Неверно введён E-mail!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
		}
		
		$select=mysql_query("select name from wip_regions where id='$city';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный код региона/страны!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		if($sex!='m' and $sex!='zh'){
			echo '<small>Неверно введен пол!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		if ($day and $month and $year){
			if ($day>31 or $day<=0 or $month<=0 or $month>12 or $year<=0 or $year<1900 or $year>=date('Y')){
				echo '<small>Неверно введена дата рождения!<br/>';
				echo '<anchor>Назад<prev/></anchor><br/></small>';
			}
		}
		
		if($level!='user' and $level!='admin' and $level!='moder'){
			echo '<small>Неверно введен уровень!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		if($old_nick[0]!=$nick){
			mysql_query("select nick from wip_users where nick='$nick';");
			if(mysql_affected_rows()>0){
				echo '<small>Такой ник уже зарегистрирован!<br/>';
				echo '<anchor>Назад<prev/></anchor><br/></small>';
				break;
			}
		}
		
		$upd_pass=false;
		if($npass){
			if (preg_match("/[^a-z0-9]+/i",$pass)){
				echo '<small>Неверно введён пароль!<br/>';
				echo '<anchor>Назад<prev/></anchor><br/></small>';
				break;
			}
			
			$upd_pass="pass='".md5($pass)."', ";
		}
		
		if($level=='admin') $upd_level=" forum_moder='0', forum_admin='1' ";
		elseif($level=='moder') $upd_level=" forum_moder='1', forum_admin='0' ";
		else $upd_level=" forum_moder='0', forum_admin='0' ";
		
		mysql_query("update wip_users set nick='$nick', $upd_pass name='$name', sex='$sex', day='$day', month='$month', year='$year', city='$city', mail='$mail', about='$about', forum_posts='$posts', $upd_level where id='$uid';");
		
		echo '<small>Информация о пользователе сохранена!</small><br/>';
		break;	
	
	case 'delete':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		@$act = $_GET['act'];
		
		$select = mysql_query("SELECT `id` FROM `wip_users` WHERE `nick`='".$nick."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$delete = mysql_query("DELETE FROM `wip_users` WHERE `nick`='".$nick."';");
		
		if($delete) echo '<small>Юзер <b>'.$nick.'</b> удалён!</small><br/>';
		else echo '<small>Ошибка удаления!</small><br/>';
		
		break;
		
	case 'ban_an_id':
		@$an_id = intval($_GET['an_id']);
		
		$select = mysql_query("SELECT `id` FROM `wip_anonymouses` WHERE `id`='".$an_id."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>ID не существует!</small><br/>';
			break;
		}
		
		if(!isset($_GET['act'])){
			echo '<small>Время &quot;только чтения&quot; для <b>an_id='.$an_id.'</b>:</small><br/>';
			echo '<select name="time'.$ref.'">';
			echo '<option value="1800">30 минут</option>';
			echo '<option value="3600">1 час</option>';
			echo '<option value="10800">3 часа</option>';
			echo '<option value="21600">6 часов</option>';
			echo '<option value="43200">12 часов</option>';
			echo '<option value="86400">24 часа</option>';
			echo '</select><br/>';
			echo '<small><a href="forum_admin.php?sid='.$sid.'&amp;mod=ban_an_id&amp;an_id='.$an_id.'&amp;time=$(time'.$ref.')&amp;act=go">OK</a></small><br/>';
			break;
		}
		
		@$time = intval($_GET['time']);
		
		if($time<1800 or $time>86400){
			echo '<small>Неверно задано время бана!</small><br/>';
			break;
		}
		
		mysql_query("UPDATE `wip_anonymouses` SET `ban`=1, `ban_time`='".(time()+$time)."' WHERE `id`='".$an_id."';");
		
		echo '<small>Аноним <b>an_id='.$an_id.'</b> забанен!</small><br/>';
		break;
	
	case 'ban':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		
		$select=mysql_query("select nick, id from wip_users where nick='$nick';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$res=mysql_fetch_row($select);
		
		echo '<small>Забанить <b>'.$res[0].'</b>:<br/>';
		echo '* Время:</small><br/>';
		echo '<input name="day'.$ref.'" maxlength="3" format="*N" value="0" size="3"/> <small>дней (0-365)</small> ';
		echo '<input name="hour'.$ref.'" maxlength="2" format="*N" value="0" size="2"/> <small>часов (0-59)</small> ';
		echo '<input name="min'.$ref.'" maxlength="2" format="*N" value="0" size="2"/> <small>минут (0-59)</small><br/>';
		echo '<small>* Причина:</small><br/>';
		echo '<input name="reason'.$ref.'" type="text" maxlength="100"/><br/>';
		echo '<small><anchor>Забанить<go href="forum_admin.php?'.$sess.'mod=ban_save&amp;uid='.$res[1].'" method="post">';
		echo '<postfield name="day" value="$(day'.$ref.')"/>';
		echo '<postfield name="hour" value="$(hour'.$ref.')"/>';
		echo '<postfield name="min" value="$(min'.$ref.')"/>';
		echo '<postfield name="reason" value="$(reason'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'ban_save':
		@$uid=intval($_GET['uid']);
		@$day=substr(intval($_POST['day']),0,3);
		@$hour=substr(intval($_POST['hour']),0,2);
		@$min=substr(intval($_POST['min']),0,2);
		@$reason=substr(trim(htmlspecialchars($_POST['reason'],ENT_QUOTES)),0,100);
		
		$select=mysql_query("select nick from wip_users where id='$uid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный юзер!</small><br/>';
		}
		$res=mysql_fetch_row($select);
		
		if(($day<0 and $day>365) or ($hour<0 and $hour>59) or ($min<0 and $min>59)){
			echo '<small>Неверно установлено время!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		if(!$reason){
			echo '<small>Вы должны ввести причину бана!<br/>';
			echo '<anchor>Назад<prev/></anchor><br/></small>';
			break;
		}
		
		$ban_time=time()+($day*86400+$hour*3600+$min*60);
		
		mysql_query("select id from wip_bans where uid='$uid' and loc='forums';");
		
		if(mysql_affected_rows()<1) mysql_query("insert into wip_bans set uid='$uid', who='$user[id]', time='$ban_time', reason='$reason', loc='forums';");
		else mysql_query("update wip_bans set who='$user[id]', time='$ban_time', reason='$reason', loc='forums' where uid='$uid';");
		
		echo '<small><b>'.$res[0].'</b> забанен!</small><br/>';
		break;
		
	case 'ban_ip':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		
		$select=mysql_query("select nick, id, ip from wip_users where nick='$nick';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$res=mysql_fetch_row($select);
		
		echo '<small>Забанить <b>'.$res[0].'</b> по IP:<br/>';
		echo 'IP адрес или маска вида xxx.xxx.xxx:</small><br/>';
		echo '<input name="ip'.$ref.'" type="text" value="'.$res['2'].'" maxlength="15"/><br/>';
		echo '<small><anchor>Забанить<go href="forum_admin.php?'.$sess.'mod=ban_ip_save&amp;uid='.$res[1].'" method="post">';
		echo '<postfield name="ip" value="$(ip'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'ban_ip_save':
		@$uid=intval($_GET['uid']);
		@$ip=substr(trim(htmlspecialchars($_POST['ip'],ENT_QUOTES)),0,15);
		
		$select=mysql_query("select nick from wip_users where id='$uid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный юзер!</small><br/>';
		}
		$res=mysql_fetch_row($select);
		
		mysql_query("select id from wip_bans where uid='$uid' and loc='forums';");
		
		if(mysql_affected_rows()<1) mysql_query("insert into wip_bans set uid='$uid', ip='$ip', loc='forums';");
		else mysql_query("update wip_bans set ip='$ip', loc='forums' where uid='$uid';");
		
		echo '<small><b>'.$res[0].'</b> забанен по IP!</small><br/>';
		break;
		
		
	case 'full_ignor':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		
		$select=mysql_query("select nick, id from wip_users where nick='$nick';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$res=mysql_fetch_row($select);
		
		mysql_query("update wip_users set forum_full_ignor=1 where id='$res[1]';");
		echo '<small><b>'.$res[0].'</b> добавлен в полный игнор!</small><br/>';
		break;
		
	case 'ban_only_read':
		@$nick=htmlspecialchars($_POST['nick'],ENT_QUOTES);
		
		mysql_query("SELECT `id` FROM `wip_users` WHERE `nick` = '".$nick."';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный ник!</small><br/>';
			break;
		}
		
		$upd = mysql_query("UPDATE `wip_users` SET `forum_cookie_ban`=1 WHERE `nick`='".$nick."';");
		
		if($upd) echo '<small>Юзеру <b>'.$nick.'</b> установлен режим &quot;только чтение&quot;.</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
	case 'bans':
		$select=mysql_query("select wip_bans.uid, wip_bans.who, wip_users.nick, wip_bans.time, wip_bans.reason from wip_bans, wip_users where wip_users.id=wip_bans.uid and wip_bans.time>'".time()."' and wip_bans.loc='forums';");
		if(mysql_affected_rows()<1){
			echo '<small>Забаненых нет!<br/>---<br/></small>';
			break;
		}
		
		echo '<small>';
		echo '<b>Список банов:</b><br/>---<br/>';
		
		while($res=mysql_fetch_assoc($select)){
			//Определяем время бана:
			$str_diff=false;
			$diff=$res['time']-time();
				
			if($diff>=3600){
				$hor=floor($diff/3600);
				if($hor!=0) $str_diff=$hor.' часов ';
			}
			
			if($diff>=60){
				$min=floor(($diff%3600)/60);
				if($min!=0) $str_diff.=$min.' минут ';
			}
				
			$sec=floor($diff%60);
			if($sec!=0) $str_diff.=$sec.' секунд ';
			/////
			
			
			$who=mysql_fetch_row(mysql_query("select nick from wip_users where id='$res[who]';"));
			echo '<a href="user.php?'.$sess.'uid='.$res['uid'].'">'.$res['nick'].'</a><br/>';
			echo '<b>Забанил:</b> '.$who[0].'<br/>';
			echo '<b>Время бана:</b> '.$str_diff.'<br/>';
			echo '<a href="forum_admin.php?'.$sess.'mod=unban&amp;uid='.$res['uid'].'">Разбанить</a><br/>';
			echo '---<br/>';
		}
		echo '</small>';
		break;
		
		
	case 'unban':
		@$uid=intval($_GET['uid']);
		
		mysql_query("select id from wip_bans where time>'".time()."' and loc='forums' and uid='$uid';");
		if(mysql_affected_rows()<1){
			echo '<small>Пользователь не значится в списке банов чата<br/>';
			echo '<anchor>Назад<prev/></anchor></small><br/>';
			break;
		}
		
		mysql_query("delete from wip_bans where uid='$uid' and loc='forums';");
		echo '<small>Пользователь разбанен!<br/>';
		echo '<anchor>Назад<prev/></anchor></small><br/>';
		break;
		
		
	case 'ignors':
		$select=mysql_query("select id,nick from wip_users where forum_full_ignor=1;");
		if(mysql_affected_rows()<1){
			echo '<small>Список полного игнора пуст!</small><br/>';
			break;
		}
		
		echo '<small>';
		echo '<b>Список полного игнора:</b><br/>---<br/>';
		
		while($res=mysql_fetch_assoc($select)) echo '<a href="user.php?'.$sess.'uid='.$res['id'].'">'.$res['nick'].'</a> <a href="forum_admin.php?'.$sess.'mod=unignor&amp;uid='.$res['id'].'">[x]</a><br/>';
		
		echo '</small>';	
		break;
	
		
	case 'unignor':
		@$uid=intval($_GET['uid']);
		
		mysql_query("select id from wip_users where id='$uid' and forum_full_ignor=1;");
		if(mysql_affected_rows()<1){
			echo '<small>Пользователь не находится в полном игноре!<br/>';
			echo '<anchor>Назад<prev/></anchor></small><br/>';
			break;
		}
		
		mysql_query("update wip_users set forum_full_ignor=0 where id='".$uid."';");
		echo '<small>Пользователь удален из полного игнора!<br/>';
		echo '<anchor>Назад<prev/></anchor></small><br/>';
		break;
		
	case 'bans_ip':
		$select=mysql_query("select id, ip from wip_bans where ip!='' and loc='forums';");
		if(mysql_affected_rows()<1){
			echo '<small>Забаненых по IP нет!<br/></small>';
			break;
		}
		
		echo '<small>';
		echo '<b>Список банов  по IP:</b><br/>---<br/>';
		
		while($res=mysql_fetch_assoc($select)) echo $res['ip'].' <a href="forum_admin.php?'.$sess.'mod=unban_ip&amp;bid='.$res['id'].'">[x]</a><br/>';

		echo '</small>';
		break;
		
	case 'unban_ip':
		@$bid=intval($_GET['bid']);
		
		$select=mysql_query("select ip from wip_bans where id='$bid';");
		if(mysql_affected_rows()<1){
			echo '<small>Неверный IP!</small><br/>';
			break;
		}
		
		$res=mysql_fetch_assoc($select);
		
		mysql_query("delete from wip_bans where id='$bid';");
		echo '<small>IP <b>'.$res['ip'].'</b> разбанен!<br/>';
		echo '<anchor>Назад<prev/></anchor></small><br/>';
		break;
		
		
	case 'topic':
		$select = mysql_query("SELECT `name`, `close`, `last`, `read`, `write` FROM `wip_forum_topics` WHERE `id`='".$tid."'");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверная тема!</small><br/>';
			break;
		}
		
		$res = mysql_fetch_assoc($select);
		
		echo '<small>Название темы:</small><br/>';
		echo '<input name="name'.$ref.'" type="text" value="'.$res['name'].'" maxlength="50"/><br/>';
		
		echo '<small>Читать могут:</small> ';
		echo '<select name="read'.$ref.'" value="'.$res['read'].'">';
		echo '<option value="1">Зарегистрированные</option>';
		echo '<option value="0">Все</option>';
		echo '</select><br/>';
		
		echo '<small>Отвечать могут:</small> ';
		echo '<select name="write'.$ref.'" value="'.$res['write'].'">';
		echo '<option value="1">Зарегистрированные</option>';
		echo '<option value="0">Все</option>';
		echo '</select><br/>';
		
		echo '<small><anchor>Сохранить<go href="forum_admin.php?'.$sess.'mod=t_edit&amp;tid='.$tid.'" method="post">';
		echo '<postfield name="name" value="$(name'.$ref.')"/>';
		echo '<postfield name="read" value="$(read'.$ref.')"/>';
		echo '<postfield name="write" value="$(write'.$ref.')"/>';
		echo '</go></anchor><br/>';
		echo '---<br/>';
		
		$str = ($res['close'] == 1) ? 'От' : 'За'; 
		echo '<a href="forum_admin.php?'.$sess.'mod=t_close&amp;tid='.$tid.'">'.$str.'крыть тему</a><br/>';
		
		$str = ($res['last'] == 'lock') ? 'От' : 'За'; 
		echo '<a href="forum_admin.php?'.$sess.'mod=t_lock&amp;tid='.$tid.'">'.$str.'крепить тему</a><br/>';
		
		echo '<a href="forum_admin.php?'.$sess.'mod=t_del&amp;tid='.$tid.'">Удалить тему</a><br/>';
		echo '<a href="forum_admin.php?'.$sess.'mod=t_move&amp;tid='.$tid.'">Переместить тему</a><br/>';
		echo '</small>';
		break;
		
	case 't_edit':
		
		$select = mysql_query("SELECT `name` FROM `wip_forum_topics` WHERE `id`='".$tid."'");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверная тема!</small><br/>';
			break;
		}
		
		@$name = mb_substr(htmlspecialchars($_POST['name'], ENT_QUOTES), 0, 50);
		@$read = ($_POST['read']==1) ? 1 : 0;
		@$write = ($_POST['write']==1) ? 1 : 0;
		
		$upd = mysql_query("UPDATE `wip_forum_topics` SET `name`='".$name."', `read`='".$read."', `write`='".$write."' WHERE `id`='".$tid."';");
		
		if($upd) echo '<small>Параметры темы сохранены!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
	case 't_close':
		
		$select = mysql_query("SELECT `close` FROM `wip_forum_topics` WHERE `id`='".$tid."'");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверная тема!</small><br/>';
			break;
		}
		
		$res = mysql_result($select, 0);
		
		if($res==1){
			$v = 0;
			$str = 'от';
		}
		
		else {
			$v = 1;
			$str = 'за';
		}
		
		$upd = mysql_query("UPDATE `wip_forum_topics` SET `close`='".$v."' WHERE `id`='".$tid."';");
		
		if($upd) echo '<small>Тема '.$str.'крыта!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
	case 't_lock':
		
		$select = mysql_query("SELECT `last` FROM `wip_forum_topics` WHERE `id`='".$tid."'");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверная тема!</small><br/>';
			break;
		}
		
		$res = mysql_result($select, 0);
		
		if($res=='lock'){
			$v = mysql_result(mysql_query("SELECT `time` FROM `wip_forum_messages` WHERE `tid`='".$tid."' ORDER BY `id` DESC LIMIT 1;"), 0);
			$str = 'от';
		}
		
		else {
			$v = 'lock';
			$str = 'за';
		}
		
		$upd = mysql_query("UPDATE `wip_forum_topics` SET `last`='".$v."' WHERE `id`='".$tid."';");
		
		if($upd) echo '<small>Тема '.$str.'креплена!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
	
	case 't_del':
		
		$select = mysql_query("SELECT `id` FROM `wip_forum_topics` WHERE `id`='".$tid."'");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверная тема!</small><br/>';
			break;
		}
		
		$del = mysql_query("DELETE FROM `wip_forum_topics` WHERE `id`='".$tid."';");
		$del = mysql_query("DELETE FROM `wip_forum_messages` WHERE `tid`='".$tid."';");
		
		if($del) echo '<small>Тема удалена!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
	case 'new_forum':
		
		echo '<small>Название форума:</small><br/>';
		echo '<input name="name'.$ref.'" type="text" maxlength="50"/><br/>';
		echo '<small>Доступен для анонимусов:</small> ';
		echo '<select name="anon'.$ref.'">';
		echo '<option value="1">Да</option>';
		echo '<option value="0">Нет</option>';
		echo '</select><br/>';
		echo '<small><anchor>Создать<go href="forum_admin.php?'.$sess.'mod=new_forum_make" method="post">';
		echo '<postfield name="name" value="$(name'.$ref.')"/>';
		echo '<postfield name="anon" value="$(anon'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'new_forum_make':
		
		@$name = htmlspecialchars(mb_substr(trim($_POST['name']), 0, 50), ENT_QUOTES);
		@$anon = ($_POST['anon']==1) ? 1 : 0;
		
		if(!$name){
			echo '<small>Не введено название форума!</small><br/>';
			break;
		}
		
		$ins = mysql_query("INSERT INTO `wip_forum_forums` SET `name`='".$name."', `pos`=99, `anon`='".$anon."';");
		
		if($ins) echo '<small>Форум создан!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
	case 'del_forum':
		
		$select = mysql_query("SELECT `id`, `name` FROM `wip_forum_forums` ORDER BY `pos`;");
		
		if(mysql_affected_rows()<1){
			echo '<small>Форумов нет!</small><br/>';
			break;
		}
		
		echo '<small>Выберите форум для удаления:</small><br/>';
		echo '<select name="fid'.$ref.'">';
		while($res = mysql_fetch_assoc($select)) echo '<option value="'.$res['id'].'">'.$res['name'].'</option>';
		echo '</select><br/>';
		echo '<small><anchor>Удалить<go href="forum_admin.php?'.$sess.'mod=del_forum_make" method="post">';
		echo '<postfield name="fid" value="$(fid'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
		
	case 'del_forum_make':
		@$fid = intval($_POST['fid']);
		
		$select = mysql_query("SELECT `name` FROM `wip_forum_forums` WHERE `id`='".$fid."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверный форум!</small><br/>';
			break;
		}
		
		$name = mysql_result($select, 0);
		
		mysql_query("DELETE `m`, `t` FROM `wip_forum_messages` AS `m`, `wip_forum_topics` AS `t` WHERE `m`.`tid`=`t`.`id` AND `t`.`fid`='".$fid."';");
		mysql_query("DELETE FROM `wip_forum_forums` WHERE `id`='".$fid."';");
		
		echo '<small>Форум <b>'.$name.' удалён!</b></small><br/>';
		break;
	
	case 'pos_forum':
		
		$select = mysql_query("SELECT `id`, `name`, `pos` FROM `wip_forum_forums` ORDER BY `pos`;");
		
		if(mysql_affected_rows()<1){
			echo '<small>Форумов нет!</small><br/>';
			break;
		}
		
		$fids = array();
		
		while($res = mysql_fetch_assoc($select)){
			echo '<input name="pos_'.$res['id'].'_'.$ref.'" type="text" size="2" value="'.$res['pos'].'" format="*N" maxlength="2"/> <small>'.$res['name'].'</small><br/>';
			$fids[] = $res['id'];
		}
		
		echo '<small><anchor>Сохранить<go href="forum_admin.php?'.$sess.'mod=pos_forum_make" method="post">';
		foreach($fids as $val) echo '<postfield name="pos_'.$val.'" value="$(pos_'.$val.'_'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
	
	case 'pos_forum_make':
		
		foreach($_POST as $key => $val){
			if(stristr($key, 'pos_')){
				$fid = explode('_', $key);
				$fid = intval($fid[1]);
				$val = intval($val);
				
				mysql_query("UPDATE `wip_forum_forums` SET `pos`='".$val."' WHERE `id`='".$fid."';");
			}
		}
		
		echo '<small>Положения форумов сохранены!</small><br/>';
		break;
		
	case 'edit_forum':
		
		@$fid = intval($_POST['fid']);
		
		if(!$fid){
			$select = mysql_query("SELECT `id`, `name` FROM `wip_forum_forums` ORDER BY `pos`;");
		
			if(mysql_affected_rows()<1){
				echo '<small>Форумов нет!</small><br/>';
				break;
			}
			
			echo '<small>Выберите форум для изменения:</small><br/>';
			echo '<select name="fid'.$ref.'">';
			while($res = mysql_fetch_assoc($select)) echo '<option value="'.$res['id'].'">'.$res['name'].'</option>';
			echo '</select><br/>';
			echo '<small><anchor>Изменить<go href="forum_admin.php?'.$sess.'mod=edit_forum" method="post">';
			echo '<postfield name="fid" value="$(fid'.$ref.')"/>';
			echo '</go></anchor></small><br/>';
			break;
		}
		
		$select = mysql_query("SELECT `name`, `anon` FROM `wip_forum_forums` WHERE `id`='".$fid."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверный форум!</small><br/>';
			break;
		}
		
		$res = mysql_fetch_assoc($select);
		
		echo '<small>Название форума:</small><br/>';
		echo '<input name="name'.$ref.'" type="text" value="'.$res['name'].'" maxlength="50"/><br/>';
		echo '<small>Доступен для анонимусов:</small> ';
		echo '<select name="anon'.$ref.'" value="'.$res['anon'].'">';
		echo '<option value="1">Да</option>';
		echo '<option value="0">Нет</option>';
		echo '</select><br/>';
		echo '<small><anchor>Сохранить<go href="forum_admin.php?'.$sess.'mod=edit_forum_make&amp;fid='.$fid.'" method="post">';
		echo '<postfield name="name" value="$(name'.$ref.')"/>';
		echo '<postfield name="anon" value="$(anon'.$ref.')"/>';
		echo '</go></anchor></small><br/>';
		break;
	
	case 'edit_forum_make':
		@$name = htmlspecialchars(mb_substr(trim($_POST['name']), 0, 50), ENT_QUOTES);
		@$anon = ($_POST['anon']==1) ? 1 : 0;
		@$fid = intval($_GET['fid']);
		
		mysql_query("SELECT `id` FROM `wip_forum_forums` WHERE `id`='".$fid."';");
		
		if(mysql_affected_rows()<1){
			echo '<small>Неверный форум!</small><br/>';
			break;
		}
		
		if(!$name){
			echo '<small>Не введено название форума!</small><br/>';
			break;
		}
		
		$upd = mysql_query("UPDATE `wip_forum_forums` SET `name`='".$name."', `anon`='".$anon."' WHERE `id`='".$fid."';");
		
		if($upd) echo '<small>Форум изменён!</small><br/>';
		else echo '<small>Ошибка!</small><br/>';
		break;
		
}



echo '<small>';
if($mod!='bans') echo '---<br/>';
if($mod) echo '<a href="forum_admin.php?sid='.$sid.'">Админка</a><br/>';
echo '<a href="forums.php?sid='.$sid.'">Форумы</a><br/>';
echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</small>';

foot();
mysql_close($link);
?>