Просмотр файла wchat/WAPChat/chat.php

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

////////////////////////////////////////////////////////////////////////////
////         Автор скрипта: Трофимов Дмитрий Сергеевич aka dimidrol       // 
////                E-mail: [email protected]                          //
////            Home pages: http://www.trofimov.com.ru                    //
////              WAP SAIT: http://trofimov.com.ru/wap/                   //
////////////////////////////////////////////////////////////////////////////

$messa=7; //Кол сообщений на странице чата!

header("Content-type:text/vnd.wap.wml;charset=UTF-8");
print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">
<wml>
<head><meta http-equiv=\"Cache-Control\" content=\"no-store\" forua=\"true\"/></head>
<card id=\"WAPChat\" title=\"WAPChat\">";

if($chat=="1")

{
echo "
<p>&#x0412;&#x0430;&#x0448; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D; &#x0432; &#x0447;&#x0430;&#x0442;&#x0435;:
<input title=\"login\" name=\"login\" maxlength=\"10\"/><br/>
<anchor title=\"Ok\">&#x0412;&#x0445;&#x043E;&#x0434;<br/>
<go href=\"chat.php?chat=ad\" method=\"post\">
<postfield name=\"login\" value=\"$(login)\"/>
<postfield name=\"mess\" value=\"&#x0432;&#x043E;&#x0448;&#x0435;&#x043B; &#x0432; ".date("H:i:s",time())."\"/>
</go>
</anchor></p>
";

$user_agent_string    = getenv("HTTP_USER_AGENT");            
$host                 = gethostbyaddr($REMOTE_ADDR); 
$ip                   = $REMOTE_ADDR;    
$date                 = date("d-m-Y",time());                 
$time                 = date('H:i:s',time()); 
$text = "$user_agent_string::$host::$date::$time::$ip";
$fp=fopen("counter.txt","a");
fputs($fp,"$text \r\n");
fclose($fp);

}


if($chat=="ad")


if (empty($login)) // Проверяем на наличие пустого логина
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<go href=\"chat.php?chat=1\"/>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0443;&#x043A;&#x0430;&#x0437;&#x0430;&#x0442;&#x044C; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D;!";
echo "</p>";
echo "</card>"; 
} else // Пустой логин не обнаружен идём дальше



{
$login=strip_tags($login);
$login = str_replace("$", "c", $login);
$login=trim($login);
$login = chop($login); // Избавляемся от повтор. пробелов
$text = "$login::$mess";
$text = stripslashes($text);
$text=htmlspecialchars($text); // Переводим спец. знаки в HTML совместимые
$text=strip_tags($text);
$fp=@fopen("chat.txt","a"); 
@fputs($fp,"$text \r\n"); 
@fclose($fp);
print"
<p>&#x0412;&#x044B; &#x0432;&#x043E;&#x0448;&#x043B;&#x0438;! &#x041C;&#x043E;&#x0436;&#x0435;&#x0442;&#x0435; &#x043F;&#x0440;&#x0438;&#x0441;&#x0442;&#x0443;&#x043F;&#x0438;&#x0442;&#x044C; &#x043A; &#x043F;&#x0435;&#x0440;&#x0435;&#x0433;&#x043E;&#x0440;&#x043E;&#x0432;&#x0430;&#x043C;!
<anchor title=\"add\">&#x0416;&#x041C;&#x0418;&#x0422;&#x0415; &#x0441;&#x044E;&#x0434;&#x0430;!<br/>
<go href=\"chat.php?chat=2\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor></p>
";


}



if($chat=="2")

if (empty($login)) // Проверяем на наличие пустого логина
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<go href=\"chat.php?chat=1\"/>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0443;&#x043A;&#x0430;&#x0437;&#x0430;&#x0442;&#x044C; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D;!";
echo "</p>";
echo "</card>"; 
} else // Пустой логин не обнаружен идём дальше

{

print"
<p>
<anchor title=\"add\">&#x041D;&#x0430;&#x043F;&#x0438;&#x0441;&#x0430;&#x0442;&#x044C;<br/>
<go href=\"chat.php?chat=dob\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
:
<anchor title=\"obn\">&#x041E;&#x0431;&#x043D;&#x043E;&#x0432;&#x0438;&#x0442;&#x044C;<br/>
<go href=\"chat.php?chat=2\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
:
<anchor title=\"exit\">&#x0412;&#x044B;&#x0439;&#x0442;&#x0438;<br/>
<go href=\"chat.php?chat=exit\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
</p>
";


$xfile = @file("chat.txt");
$xfile = array_reverse($xfile);
for ($i=0;$i<$messa;$i++) {
 $udata = explode("::",$xfile[$i]);
 print "<p><b>$udata[0]</b>:$udata[1]<br/></p>";
}

}

if($chat=="3")

if (empty($login)) // Проверяем на наличие пустого логина
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<go href=\"chat.php?chat=1\"/>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0443;&#x043A;&#x0430;&#x0437;&#x0430;&#x0442;&#x044C; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D;!";
echo "</p>";
echo "</card>"; 
} else // Пустой логин не обнаружен идём дальше


if (empty($mess)) // Проверяем на ввод пустого сообщения
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<do label=\"\"><prev/></do>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0432;&#x0432;&#x0435;&#x0441;&#x0442;&#x0438; &#x0441;&#x043E;&#x043E;&#x0431;&#x0449;&#x0435;&#x043D;&#x0438;&#x0435;!";
echo "</p>";
echo "</card>"; 
} else // Сообщение содержит текст идём дальше

{
$login=strip_tags($login); // Срезаем тэги с логина
$mess=strip_tags($mess);   // Срезаем тэги с пароля
$login=htmlspecialchars($login); // Переводим спец. знаки в HTML совместимые
$mess=htmlspecialchars($mess); // Переводим спец. знаки в HTML совместимые
{  // Процедура обработки смайлов
$fp=fopen("smile.txt", r);
while (!feof($fp))
{
$smile = fgets($fp, 100);
list($a,$b)=split(":::",$smile);
$b=trim($b);
$mess = preg_replace("/$a/", "$b", $mess);
$mess=trim($mess);
}
}  // Смайлы обработаны идём дальше
$text = "$login::$mess";
$text = stripslashes($text);
$fp=@fopen("chat.txt","a"); 
@fputs($fp,"$text \r\n"); 
@fclose($fp);

print"
<p>
<anchor title=\"add\">&#x041D;&#x0430;&#x043F;&#x0438;&#x0441;&#x0430;&#x0442;&#x044C;<br/>
<go href=\"chat.php?chat=dob\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
:
<anchor title=\"obn\">&#x041E;&#x0431;&#x043D;&#x043E;&#x0432;&#x0438;&#x0442;&#x044C;<br/>
<go href=\"chat.php?chat=2\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
:
<anchor title=\"exit\">&#x0412;&#x044B;&#x0439;&#x0442;&#x0438;<br/>
<go href=\"chat.php?chat=exit\" method=\"post\">
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor>
</p>
";

$xfile = @file("chat.txt");
$xfile = array_reverse($xfile);
for ($i=0;$i<$messa;$i++) {
 $udata = explode("::",$xfile[$i]);
 print "<p><b>$udata[0]</b>:$udata[1]<br/></p>";
}

}



if($chat=="dob")

if (empty($login)) // Проверяем на наличие пустого логина
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<go href=\"chat.php?chat=1\"/>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0443;&#x043A;&#x0430;&#x0437;&#x0430;&#x0442;&#x044C; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D;!";
echo "</p>";
echo "</card>"; 
} else // Пустой логин не обнаружен идём дальше

{
$maxlen=60-strlen($login); // Вычисляем максимальное число символов в сообщении
$maxsize=$maxlen+10;       // Вычисляем максимальную длину поля ввода сообщения
echo "<p>&#x0421;&#x043E;&#x043E;&#x0431;&#x0449;&#x0435;&#x043D;&#x0438;&#x0435;:
<input title=\"mess\" name=\"mess\" maxlength=\"$maxlen\" size=\"$maxsize\"/><br/>
<anchor title=\"Ok\">OK<br/>
<go href=\"chat.php?chat=3\" method=\"post\">
<postfield name=\"mess\" value=\"$(mess)\"/>
<postfield name=\"login\" value=\"$login\"/>
</go>
</anchor></p>

";

}

if($chat=="exit")

if (empty($login)) // Проверяем на наличие пустого логина
{    
echo "<card title=\"&#x041E;&#x0448;&#x0438;&#x0431;&#x043A;&#x0430;!\">";
echo "<onevent type=\"ontimer\">";
echo "<go href=\"chat.php?chat=1\"/>";
echo "</onevent>";	
echo "<timer value=\"5\"/>";
echo "<p>";
echo "&#x0412;&#x044B; &#x043E;&#x0431;&#x044F;&#x0437;&#x0430;&#x043D;&#x044B; &#x0443;&#x043A;&#x0430;&#x0437;&#x0430;&#x0442;&#x044C; &#x043B;&#x043E;&#x0433;&#x0438;&#x043D;!";
echo "</p>";
echo "</card>"; 
} else // Пустой логин не обнаружен идём дальше


{

echo "
<onevent type=\"ontimer\">
<go href=\"index.wml\"></go>
</onevent><timer value=\"5\"/>
<p>$login, &#x0434;&#x043E; &#x0441;&#x043A;&#x043E;&#x0440;&#x043E;&#x0433;&#x043E;!
</p>
";
$mess="покинул чат  в " .date("H:i:s",time());
$text = "$login::$mess";
$text=strip_tags($text);
$text = stripslashes($text);
$fp=@fopen("chat.txt","a"); 
@fputs($fp,"$text \r\n"); 
@fclose($fp);
}

print "
</card>
</wml>";

?>