Просмотр файла recip/index.php

Размер файла: 7.1Kb
<?
require( $_SERVER['DOCUMENT_ROOT']."/function.hit");
ob_start("rus");
header("Content-type: text/vnd.wap.wml; charset=UTF-8");
print '<?xml version="1.0"?>';
if (!empty($nm)) $nm= hvatit($nm,10);
if (!empty($tx)) $tx= hvatit($tx,500);
if (!empty($ad)) $ad= hvatit($ad,500);
if (empty($ml)) $ml="";
include("paroli.hit");
$adminka="No";
if (!empty($nm)) if ($nm==$autor[0])
if (!empty($ml)) if ($ml==$autor[1])
if (!empty($tx)) if ($tx==$autor[2]) {
$adminka="Yes";
$filename="admin.dat";
$id_admina= identific();
$fp= fopen($filename, "w");
fputs($fp, $id_admina);
fclose($fp);
}
if (!empty($id)) {
list($id_admina)= file("admin.dat");
if ($id_admina==$id) $adminka="Yes";
    else {
$id_admina= identific();
$fp= fopen($filename, "w");
fputs($fp, $id_admina);
fclose($fp);
}
}

if (($adminka=="Yes")&&(isset($ad))&&(isset($num))){
$fp = file("index.dat");             // админ ответил на пост юзера
$total= count($fp);
$tuda= (int)$fp[$num-1];
$fp[$num-1]= substr("0000000".filesize("gostev.dat"), -7).chr(13).chr(10);
$mas=false;
foreach($fp as $a) $mas[]=trim($a);
saveserg("index.dat",$mas);    // тут происходит изменение файла индексов так как админ дал ответ
$fp = fopen ("index.dat", "a+"); // это новый обнаруженный глюк после добавления сообщений
fputs($fp, chr(13).chr(10));
fclose($fp);
$fp= fopen("gostev.dat", "r");
fseek ($fp,$tuda, SEEK_SET);
$p = fgets($fp);
fclose($fp);
list($data,$name,$mail,$text,$answer)=explode("#|#",$p);
list($plus,$name)=explode("#::#",$name);
$name= "+#::#$name";
$fp = fopen("gostev.dat", "a+");
fputs($fp, "$data#|#$name#|#$mail#|#$text#|#$ad#|#".chr(13).chr(10));
fclose($fp);
$go= "";
}


if (!empty($ln) && ($adminka=="No")) {
if (empty($ms)) $ms= "";
if (empty($sid)) $sid= "";
$ln= hvatit($ln, 500);
$ms= hvatit($ms, 500);
$sid= hvatit($sid, 64);
$a= parse_url(host($ln));
if (empty($a["scheme"])) list($a)= explode("/", $a["path"]);
 else $a= $a["host"];
$sock = @fsockopen($a, 80, $errno, $errstr, 30);
if (!$sock) die(error("$errstr ($errno)\n"));
fclose($sock);
$mas= false;
if (empty($sid)) $sid= "first";
list($num)= opredelenie($sid);
$filename="index.dat";
$fp = file($filename);
$total=count($fp);
$num= abs($num);
if ($num>($total-1)) $num= max($total-1,0);
$fp = array_reverse($fp);
$s= @(int)$fp[$num];
$fp= fopen("gostev.dat", "r");
fseek ($fp,$s, SEEK_SET);
$p= fgets($fp);
fclose($fp);
@list($mas[], $mas[], $mas[], $mas[], $mas[])= explode("#:#", $p);
$mas[]= $ms."#|#".$ln;
$mas= join("#:#",array_reverse($mas));
}

if (empty($go)) $go="";

if ($adminka=="No") if (!empty($mas)) $go="rec";

$er1=0;
$er2=0;
if ($go=="rec"){
// сохранение новой регистрации
$go= " ";
if (spamery()) {
if (proverkapovtora($ms."#|#".$ln)) {
// проверка  окончена
$fp = fopen ("index.dat", "a+");
fputs($fp, substr("0000000".filesize("gostev.dat"), -7).chr(13).chr(10));
fclose($fp);
$fp = fopen("gostev.dat", "a+");
fputs($fp, $mas.chr(13).chr(10));
fclose($fp);
$ident= substr(identific(),0,5);

$fp = fopen("ident.dat", "a+");
if (filesize("ident.dat")<5) fputs($fp, "first".chr(13).chr(10));
else fputs($fp, $ident.chr(13).chr(10));
fclose($fp);
$sid= $ident;
$go= "rec";
}
}else $go= "spam";
}

if($go=="text"){
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="Краткое описание">
<p>
На своём сайте, вы размещаете ссылку, полученную при регистрации в сервисе.
<br/>
При этом ваша регистрация становится первой с списке. А последняя вылетает.
<br/>
Если кто то зарегистрируется под вашим номером Вы станете вторым.
<br/>
Чем больше регистраций будет под вашим номером, тем больше пользователей увидят ссылку на ваш сайт.
<br/>
<a href="<? print $PHP_SELF.sluchaj("?")."go=add"; if (!empty($sid)) print "&amp;sid=$sid";?>">
Регистрация
</a>
</p>
</card>
</wml>
<?
}else if ($go=="add"){
if (empty($num)) $num=0;
$num= (int)$num;
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="Регистрация">
<p align="center">
Cсылка
<br/>
<input name="link" emptyok="true" title="Обязательно" type="text" maxlength="200"/>
<br/>
Описание
<br/>
<input name="mess" emptyok="true" title="=" type="text" maxlength="500"/>
</p>
<p align="center">
<anchor>
Добавить
<go method="post" href="<? print $PHP_SELF.sluchaj("?");?>">
<postfield name="ln" value="$(link)"/>
<postfield name="ms" value="$(mess)"/>
<? if (!empty($sid)) print '<postfield name="sid" value="'.$sid.'"/>'; ?>
</go>
</anchor>
</p>
</card>
</wml>
<?
}else{
if (empty($sid)) $sid= "first";
list($num, $nextsid)= opredelenie($sid);
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="<? if ($adminka<>"Yes") print "Лучшие ссылки"; else print "Привет Админ!"; ?>" <? if ($go=="rec") print ' newcontext="true"';?>>
<?
if ($adminka<>"Yes"){
?>
<p align="center">
Всё самое лучшее
</p>
<do name="b1" type="options" label="Регистрация">
<go href="<? print $PHP_SELF.sluchaj("?")."go=add"; if (!empty($sid)) print "&amp;sid=$sid";?>"/>
</do>
<?
}
print "<p>";
if ($go=="rec") print "Сообщение успешно добавлено.<br/>";
if (!empty($ident)) print "Используйте эту ссылку на своём сайте<br/><b>http://".getenv('SERVER_NAME').$PHP_SELF."?sid=$ident</b><br/>";
if ($go=="spam") print "Хватит спамить гостевую!<br/>";

$filename="gostev.dat";
if (!file_exists($filename))
{
$fp = fopen($filename, "w");
fclose($fp);
}
$filename="index.dat";
if (!file_exists($filename))
{
$fp= fopen($filename, "w");
fclose($fp);
}
$fp = file($filename);

$total=count($fp);
if (!empty($total)) {
$num= abs($num);
if ($num>($total-1)) $num= max($total-1,0);
if ($adminka<>"Yes"){
$fp = array_reverse($fp);
$s=false;
for($i=$num; $i<min($num+$nums,$total); $i++) $s[($total-$i)]=(int)$fp[$i];
$fp= fopen("gostev.dat", "r");
$p=false;
foreach($s as $a => $i){
fseek ($fp,$i, SEEK_SET);
$p[$a] = fgets($fp);
}
fclose($fp);
$p= explode("#:#", $p[$a]);

}
$er1=0;
if ($total) foreach ($p as $i){
if (!$i) break;
list($plus,$name)= explode("#|#",$i);
print vydel($name, $plus)."<br/>";
}
?>
<br/>
<a href="<? print $PHP_SELF.sluchaj("?")."&amp;sid=$nextsid";?>">
&gt;&gt;
</a>
<?
}else print "Ссылок пока еще нет<br/><br/>";
?>
<br/>
<a href="<? print $PHP_SELF.sluchaj("?")."go=add"; if (!empty($sid)) print "&amp;sid=$sid";?>">
Регистрация
</a>
<br/>
<a href="<? print $PHP_SELF.sluchaj("?")."go=text"; if (!empty($sid)) print "&amp;sid=$sid";?>">
Описание
</a>
</p>
</card>
</wml>
<?
}
// конец кода WML ***********************************
ob_end_flush();

function opredelenie($a){
$filename="ident.dat";           // удаление поста админом гостевой
if (!file_exists($filename))
{
$fp = fopen($filename, "w");
fclose($fp);
}
$c= array_reverse(array_map("trim",file($filename)));
$b= array_search($a, $c);
return array($b, @$c[$b-1]);
}

function error($a){
?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="Ошибка!">
<p align="center">
Нет такой ссылки
<br/>
<?
print $a;
?>
</p>
</card>
</wml>
<?
// конец кода WML ***********************************
ob_end_flush();
exit;
}

function host($a){
$a= vydel($a);
$a= explode('<a href="http://', $a);
list($a)= explode('">', $a[1]);
return $a;
}