Просмотр файла wip-site-portal/src/love.php

Размер файла: 16.31Kb
<?
require('ini.php');
$link=connect();

$user=login('nick, sex, onlim, online_sort, private_pass, rating, votes, city, year, day, month');

@$mod=$_GET['mod'];
@$s=intval($_GET['s']);

head('Знакомства');
echo '<small>';

switch($mod){
	
	default:
		
		@$contacts=mysql_fetch_row(mysql_query("select count(id), sum(msg) from wip_contacts where uid='$user[id]';"));
		@$online=mysql_fetch_row(mysql_query("select count(id) from wip_users where online>'".(time()-300)."';"));
		
		echo 'Привет <b>'.$user['nick'].'</b><br/>';
		if(@$contacts[1]) echo '<b>Вам поступило '.@$contacts[1].' новых сообщений!</b><br/>';
		else $contacts[1]=0;
		echo '<a href="contacts.php?sid='.$sid.'">Контакт-лист</a> ['.$contacts[1].'/'.$contacts[0].']<br/>';
		
		echo '---<br/>';
		
		/*# Лучшая анкета
		echo '<b>Лучшая анкета:</b><br/>';
		
		$c_best = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `wip_bests`;"), 0);
		
		if($c_best > 0){
			
			if($c_best>1) mysql_query("DELETE FROM `wip_bests` WHERE `time` < '".(time()-7200)."' AND `view`=1;");
			
			$select = mysql_query("SELECT `u`.`nick`, `b`.`uid`, `b`.`id`, `b`.`view`, `u`.`sex`, `u`.`year`, `u`.`day`, `u`.`month` FROM `wip_bests` AS `b`, `wip_users` AS `u` WHERE `b`.`uid`=`u`.`id` ORDER BY `id` LIMIT 1");
			
			if(mysql_affected_rows()>0){
				$res = mysql_fetch_assoc($select);
				
				$sexx=($res['sex']=='zh')?'Ж':'M';
				
				if($res['year']){
					$tb=mktime(0,0,0,$res['month'],$res['day'],$res['year']);
					$age='-'.floor((time()-$tb)/31536000);
				}
				else $age=false;
				
				echo '<a href="user.php?sid='.$sid.'&amp;uid='.$res['uid'].'">'.$res['nick'].'</a> ['.$sexx.$age.']<br/>';
				
				if($res['view'] == 0) mysql_query("UPDATE `wip_bests` SET `view`=1, `time`='".time()."' WHERE `id`='".$res['id']."';");
			}
		}
		else echo 'Место свободно! [<a href="help.php?sid='.$sid.'&amp;mod=bests">занять</a>]<br/>';
		###
		
		
		echo '---<br/>';*/
		
		echo '<b>Знакомства:</b><br/>';
		
		mysql_query("update wip_users set loc='love' where id='$user[id]';");
		
		
		echo '<a href="love.php?sid='.$sid.'&amp;mod=online">Онлайн</a> ['.$online[0].']<br/>';
		echo '<a href="search.php?sid='.$sid.'">Поиск любви</a><br/>';
		echo '<a href="love_room.php?sid='.$sid.'">Моя приватная комната</a><br/>';
		
		if($user['private_pass']) {
			$c_pr = mysql_result( mysql_query("SELECT COUNT(`id`) FROM `wip_users` WHERE `loc`='private_chat_".$user['id']."' AND `online` > '".(time()-300)."';"), 0);
			if ($c_pr>0) echo 'В Вашей комнате сейчас '.$c_pr.' '.word_case('человек:человека:человек', $c_pr).'<br/>';
		}
		
		echo '---<br/>';
		echo '<a href="love.php?sid='.$sid.'&amp;mod=best&amp;sex=zh">Самые популярные девушки</a><br/>';
		echo '<a href="love.php?sid='.$sid.'&amp;mod=best&amp;sex=m">Самые популярные парни</a><br/>';
		echo '<a href="love.php?sid='.$sid.'&amp;mod=history">История голосований</a><br/>';
		#echo '<b><a href="help.php?sid='.$sid.'&amp;mod=bests">Как попасть в лучшие анкеты</a></b><br/>';
		
		echo '---<br/>';
		echo '<a href="my_sets.php?sid='.$sid.'&amp;mod=anketa">Моя анкета</a><br/>';
		echo '<a href="love.php?sid='.$sid.'&amp;mod=rating">Мой рейтинг</a><br/>';
		echo '<a href="my_sets.php?sid='.$sid.'&amp;mod=love">Дополнительные данные</a><br/>';
			
		break;
		
	case 'online':
		
		@$contacts=mysql_fetch_row(mysql_query("select count(id), sum(msg) from wip_contacts where uid='$user[id]';"));
		@$online=mysql_fetch_row(mysql_query("select count(id) from wip_users where online>'".(time()-300)."';"));
		
		if(@$contacts[1]) echo '<b>Вам поступило '.@$contacts[1].' новых сообщений!</b><br/>';
		else $contacts[1]=0;
		
		echo '<a href="contacts.php?sid='.$sid.'">Контакт-лист</a> ['.$contacts[1].'/'.$contacts[0].'] | ';
		echo '<a href="love.php?sid='.$sid.'&amp;mod=online">Обновить</a><br/>';
		echo '---<br/>';
		
		/*# Лучшая анкета
		echo '<b>Лучшая анкета:</b><br/>';
		
		$c_best = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `wip_bests`;"), 0);
		
		if($c_best > 0){
			
			if($c_best>1) mysql_query("DELETE FROM `wip_bests` WHERE `time` < '".(time()-7200)."' AND `view`=1;");
			
			$select = mysql_query("SELECT `u`.`nick`, `b`.`uid`, `b`.`id`, `b`.`view`, `u`.`sex`, `u`.`year`, `u`.`day`, `u`.`month` FROM `wip_bests` AS `b`, `wip_users` AS `u` WHERE `b`.`uid`=`u`.`id` ORDER BY `id` LIMIT 1");
			
			if(mysql_affected_rows()>0){
				$res = mysql_fetch_assoc($select);
				
				$sexx=($res['sex']=='zh')?'Ж':'M';
				
				if($res['year']){
					$tb=mktime(0,0,0,$res['month'],$res['day'],$res['year']);
					$age='-'.floor((time()-$tb)/31536000);
				}
				else $age=false;
				
				echo '<a href="user.php?sid='.$sid.'&amp;uid='.$res['uid'].'">'.$res['nick'].'</a> ['.$sexx.$age.']<br/>';
				
				if($res['view'] == 0) mysql_query("UPDATE `wip_bests` SET `view`=1, `time`='".time()."' WHERE `id`='".$res['id']."';");
			}
		}
		else echo 'Место свободно! [<a href="help.php?sid='.$sid.'&amp;mod=bests">занять</a>]<br/>';
		###
		
		echo '---<br/>';*/
		
		echo 'Онлайн: '.$online[0].'<br/>---<br/>'; //Общее число онлайн ставим всегда
		
		//Если получены новые условия показа - апдейтим...
		@$sort=trim(htmlspecialchars($_GET['sort'],ENT_QUOTES));

		if($sort and $sort!='m' and $sort!='zh' and $sort!='all') $sort=false;	
		
		//...в базе...
		if($sort){
			$user['online_sort']=$sort;
			mysql_query("update wip_users set online_sort='$sort' where id='$user[id]';");
		}
		
		//...и в условии запроса
		if($user['online_sort']=='all') $cond_online=false;
		else $cond_online="sex='$user[online_sort]' and";
		/////
		
		$onlim=$user['onlim']; //Сколько выводить на страницу
		
		//Смотрим, сколько юзеров по запросу, ставим точку отсчета $n
		if (!$s or $s<=0) $s=1;
		$all=mysql_fetch_row(mysql_query("select count(id) from wip_users where $cond_online online>'".(time()-300)."';"));
		$pgs=ceil($all[0]/$onlim);
		if($s>$pgs) $s=$pgs;
		$n=($s-1)*$onlim;
		////
		
		//Если никого по запросу нет
		if($all[0]<1){
			if($user['online_sort']=='all') echo 'В онлайн никого нет<br/>'; //просто _ваще_ никого нет
			else{ //Того, кого надо, нет
				$view_sex=($user['online_sort']=='m')?'Парней':'Девушек';
				echo $view_sex.' в онлайне нет<br/>';
			}
		}
		
		//Иначе выводим список юзеров
		else {
			$select=mysql_query("select id, nick, sex, year, day, month from wip_users where $cond_online online>'".(time()-300)."' order by datereg desc limit $n,$onlim;");
			
			while($res=mysql_fetch_assoc($select)){
				$sexx=($res['sex']=='zh')?'Ж':'M';
				
				if($res['year']){
					$tb=mktime(0,0,0,$res['month'],$res['day'],$res['year']);
					$age='-'.floor((time()-$tb)/31536000);
				}
				else $age=false;
				
				echo '<a href="user.php?sid='.$sid.'&amp;uid='.$res['id'].'">'.$res['nick'].'</a> ['.$sexx.$age.']<br/>';
			}
			
			//Список страниц
			if ($all[0]>$onlim){
				echo '---<br/>';
				
				if ($pgs>3 and $s>2){
					echo '<a href="love.php?sid='.$sid.'&amp;mod=online&amp;s=1">1</a>...';
				}
				$beg=$s-1; $end=$s+1;
				if ($end>$pgs+1){
					$end=$pgs; $beg=$beg-2;
				}
				elseif ($end>$pgs){
					$end=$pgs; $beg=$beg-1;
				}
			
				for($m=$beg;$m<=$end;$m++){
					if ($m<=0){
						$end++;
					}
					
					else{
						if($m==$s){
							echo '<b>'.$m.'</b>';
						}
						else{
							echo '<a href="love.php?sid='.$sid.'&amp;mod=online&amp;s='.$m.'">'.$m.'</a>';
						}
			
						if($m!=$end){
							echo '-';
						}
					}
				
					if ($end>$pgs) $end=$pgs;
				}
			
				if ($pgs>3 and $s<=($pgs-2)){
					echo '...<a href="love.php?sid='.$sid.'&amp;mod=online&amp;s='.$pgs.'">'.$pgs.'</a>';
				}
			
				echo '<br/>';
			}
			////
		}
		////
		
		echo '---<br/>';
		
		//Условия отображения
		$sort_all=($user['online_sort']=='all')?'[всех]':'[<a href="love.php?sid='.$sid.'&amp;mod=online&amp;sort=all&amp;s='.$pgs.'">всех</a>]';
		$sort_zh=($user['online_sort']=='zh')?'[девушек]':'[<a href="love.php?sid='.$sid.'&amp;mod=online&amp;sort=zh&amp;s='.$pgs.'">девушек</a>]';
		$sort_m=($user['online_sort']=='m')?'[парней]':'[<a href="love.php?sid='.$sid.'&amp;mod=online&amp;sort=m&amp;s='.$pgs.'">парней</a>]';
		echo '<b>Показывать:</b> '.$sort_all.' '.$sort_zh.' '.$sort_m.'<br/>';
		/////
		break;
	
	case 'best':
		@$contacts=mysql_fetch_row(mysql_query("select count(id), sum(msg) from wip_contacts where uid='$user[id]';"));
		
		if(@$contacts[1]) echo '<b>Вам поступило '.@$contacts[1].' новых сообщений!</b><br/>';
		else $contacts[1]=0;
		
		echo '<a href="contacts.php?sid='.$sid.'">Контакт-лист</a> ['.$contacts[1].'/'.$contacts[0].']<br/>';
		
		@$sex=$_GET['sex'];
		if($sex!='m' and $sex!='zh'){
			echo 'Не выбран пол!<br/>';
			break;
		}
		
		$sexx=($sex=='m')?'парни':'девушки';
		echo '<b>Самые популярные '.$sexx.'</b><br/>---<br/>';
		
		$select=mysql_query("SELECT `id`, `nick`, `day`, `month`, `year`, `votes` FROM `wip_users` WHERE `sex`='".$sex."' AND `id`!=1 ORDER BY `votes` DESC LIMIT 20;");
		if(mysql_affected_rows()<1){
			echo 'Список пуст!<br/>';
			break;
		}
		
		$n=1;
		while($res=mysql_fetch_assoc($select)){
			if($res['day']){
				$tb=mktime(0,0,0,$res['month'],$res['day'],$res['year']);
				$age = floor((time()-$tb)/31536000);
				$age=' ['.$age.' лет]';
			}
			else $age=false;
			
			echo $n.') <a href="user.php?sid='.$sid.'&amp;uid='.$res['id'].'">'.$res['nick'].'</a>'.$age.' ('.$res['votes'].' '.word_case('голосов:голоса:голос', $res['votes']).')<br/>';
			$n++;
		}
		
		break;
		
	case 'votes_save':
		$select=mysql_query("select id from wip_users where sex='m' order by votes desc limit 3;");
		$best_m=false;
		while($res=mysql_fetch_assoc($select)){
			$best_m=$res['id'].';';
		}
		
		$select=mysql_query("select id from wip_users where sex='zh' order by votes desc limit 3;");
		$best_zh=false;
		while($res=mysql_fetch_assoc($select)){
			$best_zh=$res['id'].';';
		}
		
		$date=date('m;Y');
		
		mysql_query("select id from wip_love_votes where date='$date';");
		if(mysql_affected_rows()>0){
			echo 'Голосование этого месяца уже сохранено!<br/>';
			break;
		}
		
		mysql_query("insert into wip_love_votes set date='$date', best_m='$best_m', best_zh='$best_zh';");
		mysql_query("update wip_users set votes=0, votes_id='';");
		echo 'Голосование сброшено. Результаты сохранены.<br/>';
		break;
		
	case 'history':
		@$sex=htmlspecialchars($_GET['sex'],ENT_QUOTES);
		@$hid=intval($_GET['hid']);
		
		if(!$hid and !$sex){ //USSR ;)
			echo '<b>История голосований:</b><br/>---<br/>';
		
			$select=mysql_query("select id,date from wip_love_votes;");
			if(mysql_affected_rows()<1){
				echo 'Голосования ранее не проводились<br/>';
				break;
			}
			
			$month=array('Нулябрь','Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентярбрь','Октябрь','Декабрь');
			
			while($res=mysql_fetch_assoc($select)){
				$dt=explode(';',$res['date']);
				
				echo $month[intval($dt[0])].', '.$dt[1].'<br/>';
				echo 'Лучшие: <a href="love.php?sid='.$sid.'&amp;mod=history&amp;sex=zh&amp;hid='.$res['id'].'">девушки</a> | <a href="love.php?sid='.$sid.'&amp;mod=history&amp;sex=m">парни</a><br/>---<br/>';
			}
			
			@$contacts=mysql_fetch_row(mysql_query("select count(id), sum(msg) from wip_contacts where uid='$user[id]';"));
			if(@$contacts[1]) echo '<b>Вам поступило '.@$contacts[1].' новых сообщений!</b><br/>';
			else $contacts[1]=0;
			
			echo '<a href="contacts.php?sid='.$sid.'">Контакт-лист</a> ['.$contacts[1].'/'.$contacts[0].']<br/>';
			break;
		}
		
		$sex=($sex=='m')?'m':'zh';
		
		$select=mysql_query("select date,best_$sex from wip_love_votes where id='$hid';");		
		
		if(mysql_affected_rows()<1){
			echo 'Нет данных!<br/><anchor>Назад<prev/></anchor><br/>';
			break;
		}
		
		$res=mysql_fetch_assoc($select);
		
		$month=array('Нулябрь','Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентярбрь','Октябрь','Декабрь');
		$date=explode(';',$res['date']);
		$best_sex=($sex=='m')?'парни':'девушки';
		
		echo $month[intval($date[0])].', '.$date[1].', лучшие '.$best_sex.'<br/>---<br/>';
		
		$users=explode(';',$res['best_'.$sex]);
		
		$i=1;
		foreach($users as $val){
			
			if($val){
				$uid=intval($val);
				$us=mysql_fetch_assoc(mysql_query("select nick,sex,day,month,year from wip_users where id='$uid';"));
			
				if($us['day']){
					$tb=mktime(0,0,0,$us['month'],$us['day'],$us['year']);
					$age='-'.floor((time()-$tb)/31536000);
				}
				else $age=false;
				
				$sexx=($us['sex']=='zh')?'Ж':'M';
				
				echo $i.') <a href="user.php?sid='.$sid.'&amp;uid='.$uid.'">'.$us['nick'].' ['.$sexx.$age.']</a><br/>';
				$i++;
			}
			
		}
		
		echo '---<br/>';
		echo '<anchor>Назад<prev/></anchor><br/>';
		break;
		
	case 'rating':
		
		function rating_place($by, $par = false, $prec = false){
			global $user;
			
			if($par){
				$param = (!$prec) ? "`".$par."`='".$user[$par]."' AND" : "(`".$par."`<='".($user[$par] + $prec)."' AND `".$par."`>='".($user[$par] - $prec)."') AND";
			}
			else $param = false;
			
			$order_by = ($by!='all') ? "ORDER BY `".$by."` DESC" : "ORDER BY `rating` DESC, `votes` DESC";
			
			$select = mysql_query("SELECT `id` FROM `wip_users` WHERE ".$param." `id`!='1' AND `id`!='3' ".$order_by.";");
			
			$place=1;
			while($res=mysql_fetch_row($select)){
				if($res[0]==$user['id']) break;
				$place ++;
			}
			
			return $place;
		}
		
		echo '<b>Показатели Вашего рейтинга в знакомствах:</b><br/>';
		echo '[<a href="help.php?sid='.$sid.'&amp;mod=rating">что это такое?</a>]<br/>';
		echo '---<br/>';
		
		# Статистика по голосам:
		echo '<b>Голосов за текущий месяц:</b> '.$user['votes'].'<br/>';
		$str_sex = ($user['sex'] == 'm') ? 'парней' : 'девушек';
		
		echo 'Ваше место по голосам среди '.$str_sex.': '.rating_place('votes', 'sex').'<br/>';
		echo '---<br/>';
		###
		
		# Статистика по поисковому уровню
		echo '<b>Ваш поисковый уровень:</b> '.$user['rating'].'<br/>';
		echo 'Место по поисковому уровню (среди всех пользователей): '.rating_place('rating').'<br/>';
		echo '---<br/>';
		###
		
		# Расчет позиций поиска
		
		echo '<b>Приближенный расчет позиции при поиске:</b><br/>';
		
		echo 'По полу (т.е. среди '.$str_sex.'): '.rating_place('all', 'sex').' место<br/>';
		
		if($user['city']) echo 'По месту проживания: '.rating_place('all', 'city').' место<br/>';
		if($user['year']!=0){
			$tb = mktime(0, 0 , 0, $user['month'], $user['day'], $user['year']);
			$age = floor((time()-$tb)/31536000);
						
			echo 'По возрасту ('.($age-1).' - '.($age+1).' лет): '.rating_place('all', 'year', 1).' место<br/>';
		}
		###
		
		break;
		
}

echo '---<br/>';
if($mod) echo '<a href="love.php?sid='.$sid.'">Знакомства</a><br/>';
echo '<a href="enter.php?sid='.$sid.'">Главное меню</a>';
echo '</small>';
foot();

mysql_close($link);
?>