<?
class Filter {

  public $sm = array("laugh"=>1,"fingal"=>1,"eek"=>1,"smoke"=>1,"hi"=>1,"bye"=>1,"king"=>1,"king2"=>1,"boks2"=>1,"boks"=>1,"gent"=>1,"lady"=>1,"tongue"=>1,"smil"=>1,"rotate"=>1,"ponder"=>1,"bow"=>1,"angel"=>1,"angel2"=>1,"hello"=>1,"dont"=>1,"idea"=>1,"mol"=>1,"super"=>1,"beer"=>1,"drink"=>1,"baby"=>1,"tongue2"=>1,"sword"=>1,"agree"=>1,"loveya"=>1,"kiss"=>1,"kiss2"=>1,"kiss3"=>1,"kiss4"=>1,"rose"=>1,"love"=>1,"love2"=>1,"confused"=>1,"yes"=>1,"no"=>1,"shuffle"=>1,"nono"=>1,"maniac"=>1,"privet"=>1,"ok"=>1,"ninja"=>1,"pif"=>1,"smash"=>1,"alien"=>1,"pirate"=>1,"gun"=>1,"trup"=>1,"mdr"=>1,"sneeze"=>1,"mad"=>1,"friday"=>1,"cry"=>1,"grust"=>1,"rupor"=>1,"fie"=>1,"nnn"=>1,"row"=>1,"red"=>1,"lick"=>1,"help"=>1,"wink"=>1,"jeer"=>1,"tease"=>1,"nunu"=>1,"inv"=>1,"duel"=>1,"susel"=>1,"nun"=>1,"kruger"=>1,"flowers"=>1,"horse"=>1,"hug"=>1,"str"=>1,"alch"=>1,"pal"=>1,"mag"=>1,"sniper"=>1,"vamp"=>1,"doc"=>1,"doc2"=>1,"sharp"=>1,"naem"=>1,"naem2"=>1,"naem3"=>1,"invis"=>1,"chtoza"=>1,"beggar"=>1,"sorry"=>1,"sorry2"=>1,"creator"=>1,"grace"=>1,"dustman"=>1,"carreat"=>1,"lordhaos"=>1,"ura"=>1,"elix"=>1,"dedmoroz"=>1,"snegur"=>1,"showng"=>1,"superng"=>1,"podz"=>1,"sten"=>1,"devil"=>1,"cat"=>1,"owl"=>1,"lightfly"=>1,"snowfight"=>1,"rocket"=>1,"ball"=>1,"smile"=>1,"fuck"=>1);
  public $abuse = array("лох"=>1,"мудак"=>2);

  public function e($t) {
	mysql_query('INSERT INTO `chat` (`text`, `city`, `to`, `type`, `new`, `time`) VALUES ("#'.date('d.m.Y').' %'.date('H:i:s').': <b>'.mysql_real_escape_string($t).'</b>", "capitalcity", "The Kite Runner", "6", "1", "-1")');
  }

  public function setOnline($online, $uid, $afk) {
    $add = 0;
	if(time()-$online >= 1) {
	  if(time()-$online < 60) {
		$add += time()-$online;
	  } else {
		$add += 60;
	  }
	}

	$afk = 0;
	if($add > 0) {
	  $on = mysql_fetch_array(mysql_query('SELECT * FROM `online` WHERE `id` = "'.$uid.'" LIMIT 1'));
	  if(isset($on['id'])) {
		$mt = 0;
		$lst = time();
		mysql_query('UPDATE `online` SET `date` = "'.$lst.'" WHERE `id` = "'.$on['id'].'" LIMIT 1');
	  }
	}
  }

  public function mystr($string) {
	$str = strtolower($string);
	if(strtolower('S') != 's') {
	  $ru  = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЭЮЯЬЪ';
	  $ru2 = 'абвгдеёжзийклмнопрстуфхцчшщъьыэюяьъ';
	  $en  = 'QWERTYUIOPASDFGHJKLZXCVBNM';
	  $en2 = 'qwertyuiopasdfghjklzxcvbnm';
	  $i = 0;
	  while($i < 33) {
		if(isset($ru[$i])) {
		  $str = strtr($str, $ru[$i], $ru2[$i]);
		}
		if(isset($en[$i])) {
		  $str = strtr($str, $en[$i], $en2[$i]);
		}
		$i++;
	  }
	}
	return $str;
  }
	
  public function reverse_i($str)  { 
	$newstr = $str;
	return $newstr; 
  }
	
  public function spamFiltr($txt) {
	$nospam = 0;
	$txt = str_replace('&gt;', '', $txt);
	$txt = str_replace('&lt;', '', $txt);
	$txt = str_replace('&quot;', '', $txt);
	$txt = $this->mystr($txt);
	$i = 0;
	$j = 0;
	while($i <= count($this->sm)) {
	  if(isset($this->sm[$i])) {
		$txt = preg_replace('/:'.$this->sm[$i].':/', "", $txt);
	  }
	  $i++;
	}

	$spam = file_get_contents('spambase.txt',"r");		
	$testEN = preg_replace('/[^a-z]*/i', '', $txt);
	$testEN2 = $txt;
	$testEN2 = str_replace('Р°','a',$testEN2);
	$testEN2 = str_replace('Р±','b',$testEN2);
	$testEN2 = str_replace('СЃ','c',$testEN2);
	$testEN2 = str_replace('РІ','b',$testEN2);
	$testEN2 = str_replace('Рµ','e',$testEN2);
	$testEN2 = str_replace('С‚','t',$testEN2);
	$testEN2 = str_replace('Рѕ','o',$testEN2);
	$testEN2 = str_replace('СЂ','p',$testEN2);
	$testEN2 = str_replace('Рј','m',$testEN2);
	$testEN2 = str_replace('РЅ','h',$testEN2);
	$testEN2 = str_replace('Сѓ','y',$testEN2);
	$testEN2 = str_replace('Рє','k',$testEN2);
	$testEN2 = str_replace('Рё','u',$testEN2);
	$testEN2 = str_replace('С…','x',$testEN2);
	$testEN2 = str_replace('()','o',$testEN2);
	$testEN2 = str_replace('0','o',$testEN2);
	$testEN2 = preg_replace('/[^a-z]*/i', '', $testEN2);		
	$testRU = preg_replace('/[^Р°-СЏ]*/i', '', $txt);

	$testRU2 = $txt;
	$testRU2 = str_replace('a','Р°',$testRU2);
	$testRU2 = str_replace('b','Р±',$testRU2);
	$testRU2 = str_replace('c','СЃ',$testRU2);
	$testRU2 = str_replace('b','РІ',$testRU2);
	$testRU2 = str_replace('e','Рµ',$testRU2);
	$testRU2 = str_replace('t','С‚',$testRU2);
	$testRU2 = str_replace('o','Рѕ',$testRU2);
	$testRU2 = str_replace('p','СЂ',$testRU2);
	$testRU2 = str_replace('m','Рј',$testRU2);
	$testRU2 = str_replace('h','РЅ',$testRU2);
	$testRU2 = str_replace('y','Сѓ',$testRU2);
	$testRU2 = str_replace('k','Рє',$testRU2);
	$testRU2 = str_replace('x','С…',$testRU2);
	$testRU2 = str_replace('u','Рё',$testRU2);
	$testRU2 = str_replace('()','Рѕ',$testRU2);
	$testRU2 = str_replace('0','Рѕ',$testRU2);
	$testRU2 = preg_replace('/[^Р°-СЏ]*/i', '', $testRU2);
	$i = 0; $spe = explode('|',$spam);
	while($i <= count($spe)) {
	  if(isset($spe[$i]) && $spe[$i] != '' && $spe[$i] != 'capitalcity.old-dark.ru') {
	    if(preg_match("/".($spe[$i])."/i", ($testEN))) {
		  $nospam .= '%'.$spe[$i];
		} elseif(preg_match("/".($spe[$i])."/i", ($testRU))) {
		  $nospam .= '%'.$spe[$i];
		} elseif(preg_match("/".($spe[$i])."/i", ($testEN2))) {
		  $nospam .= '%'.$spe[$i];
		} elseif(preg_match("/".($spe[$i])."/i", ($testRU2))) {
		  $nospam .= '%'.$spe[$i];
		}
	  }
	  $i++;
	}
	return $nospam;
  }

  public function getSmiles($txt, $lg) {
	$i = 0; $j = 0;
	$txt = ' '.$txt; $h = explode(':', $txt);
	while($i <= count($this->sm)) {
	  if(isset($h[$i])) {
        if(isset($this->sm[$h[$i]])) {
		  if($j < 6) {
			$clk = 'onclick=\"top.addSm(\''.$h[$i].'\');\" style=\"cursor: pointer;\"';
			$h[$i] = '*not_dbl_ponts*<img '.$clk.' src=\"//img.capitalcity.old-dark.ru/i/smile/'.$h[$i].'.gif\" .>*not_dbl_ponts*';
			$j++;
		  }
		}
	  }
	  $i++;
	}
	$txt = implode($h, ':');
	$txt = str_replace(':*not_dbl_ponts*', '', $txt);
	$txt = str_replace('*not_dbl_ponts*:', '', $txt);
	$txt = str_replace('*not_dbl_ponts*', '', $txt);
	$txt = trim($txt,' ');
	return $txt;
  }
	
  public function __clone() {
	trigger_error('Дублирование не допускается.', E_USER_ERROR);
  }
}

$filter = new Filter();
?>