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

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

$mt=microtime();
require('db.php');
require('nast.php');
include_once('fsmile.php');
function antimat($string){
	$string=preg_replace('/(с|c|С|C)(у|y|Y|У)(ч|4|Ч)?(к|k|K|К|ча|чa|4a|4а)?(а|a)/i',"***",$string);
	$string=preg_replace('/(п|n|П)(и|u|И)(д|g|Д)(о|o|0|a|а|e|е)?(р|p)(а|a)?(з|c|с)?/i',"***",$string);
	$string=preg_replace('/(х|x|X|Х)(у|У|Y|y)(й|и|Й|И|u|е|e|Е|Ё|ё)(b|в)?(o|0|о|a|а)?/i',"***",$string);
	$string=preg_replace('/(п|n|П)(и|u|И)(з|3|З)(д|g|Д)?/i',"***",$string);
	$string=preg_replace('/(е|e|E|Е)(б|6|Б)(а|a|А|A)(т|л)?/i',"***",$string);
	$string=preg_replace('/(б|6|Б)(л|Л)(я|Я)(T|t|Д|т|д)/i',"***",$string);
return $string;}
@session_start();
$s=htmlspecialchars(session_id());
$ontime=time()-350;

if(!@$_SESSION['enter'])
	{
	include_once('shapka.php');
	print $beginpage;
    print "Авторизация не удалась.<br />
    Возможно вы ввели неверные логин или пароль, либо истекло время жизни сессии<br />
    <a href=\"index.php?str=$str\">Повторить ввод</a><br />";
    print $endpage;
    exit;
	}
else
	{
	//UPDATE
	$time=time();
    $info=mysql_fetch_assoc(mysql_query("SELECT * from `user` WHERE `uid`='$_SESSION[uid]' limit 1"));
//    print "SELECT * from `user` WHERE `uid`='$_SESSION[uid]' limit 1";
    if($info['ip']==mysql_real_escape_string($_SERVER['REMOTE_ADDR']) and $info['useragent']==mysql_real_escape_string(htmlspecialchars(substr($_SERVER['HTTP_USER_AGENT'],0,40))))
    mysql_query("UPDATE `user` SET `ldate`='$time',`place`='9999' WHERE `uid`='$_SESSION[uid]'");
    else
    	{
    	 $ip1=mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
         $user1=mysql_real_escape_string(htmlspecialchars(substr($_SERVER['HTTP_USER_AGENT'],0,40)));
         $ips = explode('.',$ip1);
         $longip = $ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256;
    	 mysql_query("UPDATE `user` SET `ldate`='$time',`place`='9999',`ip`='$ip1',`useragent`='$user1',`longip`='$longip' WHERE `uid`='$_SESSION[uid]'");
    	}
    //END UPDATE
	//Секретный ключ
	$key=mysql_real_escape_string(htmlspecialchars(@$_GET['key']));
	if(!$key)
	$key=mysql_real_escape_string(htmlspecialchars(@$_POST['key']));
	if($info['sequrity'])
         	{
         	$ip1=mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
         	$user1=mysql_real_escape_string(htmlspecialchars(substr($_SERVER['HTTP_USER_AGENT'],0,40)));
         	if($user1!=$info['useragent'] or $ip1!=$info['ip'])
         		{include_once('shapka.php');
         		print $beginpage;
         		print '<b>Предупреждение о безопасности!</b>
         		Ваш текущий ip адрес или браузер не совпадает с ip или браузером последнего захода.<br />
         		Если вы в последнее время не использовали ip '.$_SESSION['ip'].' и браузер '.$_SESSION['user'].' -это может означать, что кто-то заходил с вашего ника<br />
         		Рекомендуем сменить пароль<br />
         		Отключить систему безопасности можно в настройках чата<br />
         		<br />';
         		$_SESSION['user']=$user1;
         		$_SESSION['ip']=$ip1;
         		mysql_query("UPDATE `user` SET `useragent`='$_SESSION[user]',`ip`='$ip1' WHERE `uid`='$_SESSION[uid]'");
         		print "<a href=\"intim.php?str=$str&amp;ses=$s&amp;key=$key\">Продолжить</a>";
         		print $endpage;
         		exit;
         		}
         	}
	if(!$key)
		{
		include_once('shapka.php');
		
		print $beginpage;
		if($str=='wml')
			{
			$nocache=rand(1,1000);
			print "Секретный ключ:<br/>
			<input type=\"text\" name=\"key$nocache\" maxlength=\"15\" value=\"\"/><br/>";
			print "<anchor>[Войти]<go href=\"intim.php?ses=$s&amp;str=wml\" method=\"post\">
			<postfield name=\"key\" value=\"$(key$nocache)\"/>
			</go></anchor><br/>
			";
			}
		else
			{
			print '</div><form action="intim.php?str=xhtml&amp;ses='.$s.'" method="post"><div>
Секретный ключ:<br/> <input name="key" maxlength="15" value="" title="nick"/><br/>
<input class="ibutton" type="submit" value="Войти"/></div></form><div>';
			}
		print $razd."<a href=\"enter.php?str=$str&amp;ses=$s\">Прихожая</a><br />";
	    print $endpage;
		}
		elseif(preg_match("/[^\da-zA-Z_1-9]+/",$key))
			{
			include_once('shapka.php');
			print $beginpage;
			print 'Секретный ключ должен состоять только из символов латинсткого алфавита, а атакже цифр<br />';
			if($str=='wml')
			{
			$nocache=rand(1,1000);
			print "Секретный ключ:<br/>
			<input type=\"text\" name=\"key$nocache\" maxlength=\"15\" value=\"\"/><br/>";
			print "<anchor>[Войти]<go href=\"intim.php?ses=$s&amp;str=wml\" method=\"post\">
			<postfield name=\"key\" value=\"$(key$nocache)\"/>
			</go></anchor><br/>
			";
			}
		else
			{
			print '</div><form action="intim.php?str=xhtml&amp;ses='.$s.'" method="post"><div>
Секретный ключ:<br/> <input name="key" maxlength="15" value="" title="nick"/><br/>
<input class="ibutton" type="submit" value="Войти"/></div></form><div>';
			}
			print $razd."<a href=\"enter.php?str=$str&amp;ses=$s\">Прихожая</a><br />";
	   		print $endpage;
			}
			else
				{	
				$newmess=mysql_fetch_row(mysql_query("SELECT count(*) from `pmess` WHERE `to`='$_SESSION[login]' AND `status`=1"));
				$refr='<meta http-equiv="Refresh" content="'.(ceil($info['refresh']/10)).';URL='.htmlspecialchars(basename($_SERVER['REQUEST_URI'])).'"/>';
				include_once('shapka.php');
    			//Шапка
    			if($str=='xhtml')
    			{
				print $beginpage;
				if($newmess[0])
    	print "<a href=\"friend.php?str=$str&amp;ses=$s\">Новые сообщения[$newmess[0]]</a><br />";

		    	print '</div><form action="writeprivat.php?str=xhtml&amp;ses='.$s.'&amp;key='.$key.'" method="post"><div>
				Сообщение:<br/> <input name="msg" maxlength="300" value="" title="nick"/><br/>
				';
				if($info['translit'])
				print 'Транслит: <input type="checkbox" name="translit" value="1"/><br/>';
				print '<input class="ibutton" type="submit" value="отправить"/></div></form><div class="left">';
				print "<a href=\"intim.php?str=$str&amp;ses=$s&amp;key=$key\">обновить</a><br />";
    			}
    			else
    				{
    				print  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    				<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.3//EN\" 			\"http://www.wapforum.org/DTD/wml13.dtd\"><wml>
					<head><meta http-equiv=\"Cache-Control\" content=\"no-cache\" forua=\"true\"/></head>
					<card id=\"chat\" title=\"Интим\" 			ontimer=\"".$_SERVER['PHP_SELF']."?ses=$s&amp;str=wml&amp;key=$key\">
					<timer value=\"$info[refresh]\"/>
					<do type=\"options\" name=\"add\" label=\"Сказать\"><go href=\"#add\" 			method=\"get\"/></do>
					<do type=\"options\" name=\"refresh\" label=\"Обновить\"><go 	href=\"intim.php?ses=$s&amp;str=wml&amp;key=$key\" 			method=\"get\"/></do>
					<do type=\"options\" name=\"online\" label=\"Кто где?\"><go href=\"online.php?ses=$s&amp;str=wml\" method=\"get\"/></do>
					<do type=\"options\" name=\"letters\" label=\"Почта ($newmess[0])\"><go href=\"friend.php?ses=$s&amp;str=wml\" method=\"get\"/></do>
					<do type=\"options\" name=\"menu\" label=\"Прихожая\"><go href=\"enter.php?ses=$s&amp;str=wml\" method=\"get\"/></do>
					<p align=\"left\">";
    				}
    	////////////////////////////
    	
    	
    				$page=intval(@$_GET['page']);
    				$start=$page * $info['messroom'];
    				$st=$start+1;
    				$end=$start + 1 + $info['messroom'];
    				mysql_query("UPDATE `user` SET `ldate`='$time',`place`='1001',`intimkey`='$key' WHERE `uid`='$_SESSION[uid]' limit 1");
   					$result_mess=mysql_query("SELECT * from `intim` WHERE `key`='$key' AND `nick` NOT in (SELECT `login` FROM `ignor` WHERE `nick`='$_SESSION[login]') AND (`status`='0' OR `inwho`='$_SESSION[login]' or `nick`='$_SESSION[login]') ORDER by `time` DESC limit $start,$end");	
   					while($mess=mysql_fetch_assoc($result_mess))
   					{
   					if($mess['status'])
   					$pr='<b>[P!]</b>';
   					else
   					$pr='';
   					$time=date('H:i',$mess['time']);
   					print "<a href=\"anketa.php?ses=$s&amp;str=$str&amp;login=$mess[nick]&amp;key=$key\">$mess[nick]</a>$pr  ($time)&gt;
   					";
   					if($mess['inwho'])
   					print "<u>$mess[inwho]</u>, ";
   					if($info['antimat'])
   					$mess['mess']=antimat($mess['mess']);
   					if($info['smile'])
   					$mess['mess']=smileall($mess['mess']);
   					print "$mess[mess]<br />
   					";  						
   					$st++;
   					if($st>=$end)
   					break;
   					}
   					$res_onl=mysql_query("SELECT * from `user` WHERE `ldate`>$ontime AND `place`='1001' AND `intimkey`='$key'");
   					print 'Сейчас в этой комнате: ';
   					while($user=mysql_fetch_assoc($res_onl))
   						{
   						print "<a href=\"anketa.php?ses=$s&amp;str=$str&amp;login=$user[nick]\">$user[nick]</a>, ";
   						}
   					print '<br />';
   					print "<a href=\"intim.php?str=$str&amp;ses=$s\">Сменить ключ</a><br />";
   					print "<a href=\"enter.php?str=$str&amp;ses=$s\">Прихожая</a><br />";
   					//ноги:
   					if($str=='xhtml')
  					print '</p>'.$endpage;
  					else
  					{
  					$nocache=rand(1,1000);
  					echo "
  					<a href=\"intim.php?str=xhtml&amp;ses=$s&amp;key=$key\">xhtml</a>|wml<br /></p></card><card id=\"add\" title=\"Сказать\"><p align=\"left\">
							Сообщение:<br/>
					<input type=\"text\" name=\"msg$nocache\" maxlength=\"300\" value=\"\"/><br/>";
					if($info['translit'])
						{
					echo "Транслитировать:<br/>\n";
					echo "<select name=\"translit$nocache\" value=\"true\">\n";
					echo "<option value=\"true\">Да</option>\n";
					echo "<option value=\"false\">Нет</option>\n";
					echo "</select><br/>\n";
					}
					print "<anchor>[Сказать]<go href=\"writeprivat.php?ses=$s&amp;str=wml&amp;key=$key\" method=\"post\">
					<postfield name=\"msg\" value=\"$(msg$nocache)\"/>
					<postfield name=\"translit\" value=\"$(translit$nocache)\"/>
					<postfield name=\"attributs\" value=\"$(attributs$nocache)\"/>
					<postfield name=\"fsize\" value=\"$(fsize$nocache)\"/>
					<postfield name=\"emotions\" value=\"$(emotions$nocache)\"/>
					</go></anchor><br/>
					<a href=\"intim.php?ses=$s&amp;str=wml&amp;key=$key\">Назад</a><br/>
					</p></card></wml>";
					}
				}
	
    
	}


print '<!-- '.(microtime()-$mt).' -->';
?>