#!/usr/bin/perl
#############################################################
##            ExchangeVisits    Version  3.00              ##
##            February 2003  Ust-Nera  Russia              ##
##            All rights  ScriptZaWM&RuScript              ##
##            Web  http://www.script.zawm.biz              ##
##            Support scripts script@zawm.biz              ##
#############################################################
require "config.pl";
require "allhtml.pl";
print "Content-Type: text/html\n\n";
if($ENV{'REQUEST_METHOD'} eq 'GET'){$query=$ENV{'QUERY_STRING'}}
elsif($ENV{'REQUEST_METHOD'} eq 'POST'){sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'})}
@formfields=split(/&/,$query);
sub urldecode{local($val)=@_;
$val=~s/\+/ /g;$val=~s/%([0-9a-hA-H]{2})/pack('C',hex($1))/ge;
return $val;}
foreach (@formfields){chomp($_);
($f_n,$f_v)=split(/=/,$_);
$f_n=&urldecode($f_n);
$f_v=&urldecode($f_v);
if($f_n=~/^d/ && $f_v ne '1'){$f_v = 0}
if($f_n eq 'move'){push(@td,$f_v)}else{$in{$f_n}=$f_v}}
@month = ("01", "02", "03", "04", "05", "06", "07","08", "09", "10", "11", "12");
($Seconds, $Minutes, $Hours, $DayInMonth, $Month, $ShortYear, $DayOfWeek,
$DayOfYear, $IsDST) = localtime(time);
$Year = $ShortYear + 1900;$Year=~s/^..//;
$Date = "$DayInMonth.$month[$Month].$Year";
$today = "$DayInMonth.$month[$Month].$Year";
# Проверка на наличие IP в базе блокированных пользователей
open (IPusers, "ipusers.txt");
@banlist = <IPusers>;
close(IPusers);
($this1,$this2,$this3,$this4) = split(/\./,$ENV{REMOTE_ADDR});
foreach $banlist (@banlist) {
($ip1,$ip2,$ip3,$ip4,$chop) = split(/\./,$banlist);
if ($this1 == $ip1) {
if ($this2 == $ip2) {
if ($this3 == $ip3) {
if ($this4 == $ip4) {
print "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=$htmlurl/ban.htm\">\n\n";}}}}}
# Конец проверки
&html_start;
print qq~
<table border="1" cellpadding="0" cellspacing="0" width="100%" bordercolorlight="#CCCCFF" bgcolor="#F0F0F0">
<tr><td width="100%" align="center"><b><font size="2">К о н в е р т а ц и я&nbsp;
&nbsp;&nbsp; к р е д и т о в</font></b></td></tr></table>
~;
open(PWD,"userdat.pl");
if ($flock eq "1")
{flock(PWD, 2);}
@users = <PWD>;
close(PWD);chomp(@users);
foreach (@users){($login,$pwd,$id,$status,$dr,$dc) = split(/\|/,$_);
if($in{'user'} eq $login){$userid=$id;$password{$login}=$pwd;$exist='da';$ST=$status;}}
$u = $in{'user'};
$error="<br><br><p align=center><font size=4>Пользователя $in{'user'} не существует.</font></p>";
if($exist eq 'da'){$error = '<br><p align=center><font size=4>Неправильный пароль.<br></font></p>'}
if($ST eq 'B'){$error = '<br><p align=center><font size=4>Вами нарушены правила работы в системе.<br>Ваш аккаунт заблокирован администратором.<br>
</font>Для разблокировки Вашего аккаунта свяжитесь с администратором.<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
<p>&nbsp;</p><p>&nbsp;</p><br></p>'}
if($password{$u} eq $in{'pwd'} && $exist eq 'da' && $ST eq 'A'){
open(STAT,"./users/$userid/stat.user");
if ($flock eq "1")
{flock(STAT, 2);}
@stat = <STAT>;
close(STAT);chomp(@stat);
open(WMUSER,"./users/$userid/wm.user");
if ($flock eq "1")
{flock(WMUSER, 2);}
@wmuser = <WMUSER>;
close(WMUSER);chomp(@wmuser);
if ($wmuser[0] eq ""){$wmuser[0]="0";}
open(ROT,"./system/config.pl");
if ($flock eq "1")
{flock(ROT, 2);}
@rotation = <ROT>;
close(ROT);chomp(@rotation);
if($in{'action'} eq 'start'){
print qq~
<form method="POST"><font size="-1" color="red">$errortxt</font><font color="#008080">
Курс конвертации: 1000 кредитов = $rotation[10]WM</font>
<input type="hidden" name="user" value="$in{'user'}">
<input type="hidden" name="pwd" value="$in{'pwd'}"><input type="hidden" name="action" value="next">
<center><table cellpadding="0" cellspacing="0" width="95%" bordercolorlight="#CCCCFF" border="1">
<tr><td colspan="2" align="center" bgcolor="#D8D8D8"><font size="2">Конвертация
кредитов в webmoney</font></td></tr><tr><td colspan="2">&nbsp;</td>
</tr><tr><td>&nbsp;Ваш баланс WM</td><td><b><font color="#800000">&nbsp;
</font></b><font color="#000080">$wmuser[0]</font></td>
</tr><tr><td>&nbsp;Кредитов на счету</td><td>&nbsp; <font color="#000080">$stat[1]</font>
</td></tr><tr><td>&nbsp;Число кредитов</td><td>&nbsp;<input name="much" size="12">
<font size="-1">&nbsp;[количество]</font></td></tr><tr><td colspan="2">
<p align="center"><br><input type="submit" value="Конвертировать"><br>
&nbsp;</p></td></tr><tr><td colspan="2" bgcolor="#F0F0F0">
<center><table border="0" cellpadding="0" cellspacing="1" width="99%"><tr>
<td width="100%"><font size="2">Минимальное количество для конвертации $rotation[9] кредитов.
При конвертации кредитов в webmoney с вас будет удержана комиссия в размере
$rotation[8] %.</td></tr></table></center></td></tr></table></center>
</form>
~;
}elsif($in{'action'} eq 'next'){
$error = '0';
$errortxt = '';
$com = int(($in{'much'}/100)*$rotation[8]);
$summ=$in{'much'}+$com;
if($summ > $stat[1]){$error = 1;$errortxt = "<p align=center><b>С учетом комиссии  ($rotation[8]%)  для конвертации вам необходимо $summ кредитов!</b><br>"}
if($in{'much'} < $rotation[9]){$error = 1;$errortxt = "<p align=center><b>Минимальное количество для конвертации $rotation[9] кредитов!</b><br>"}
if($in{'much'} eq ''){$error = '1';$errortxt = "<p align=center><b>Вы не ввели количество кредитов!</b><br>"}
if($in{'much'}=~/\D/g){$error = '1';$errortxt = "$errortxt <b><p align=center>Число кредитов должно содержать только целое число!<br></b>"}
if($error ne '0'){
print qq~
<form method="POST"><font size="-1" color="red">$errortxt</font><font color="#008080">
Курс конвертации: 1000 кредитов = $rotation[10]WM</font>
<input type="hidden" name="user" value="$in{'user'}">
<input type="hidden" name="pwd" value="$in{'pwd'}"><input type="hidden" name="action" value="next">
<center><table cellpadding="0" cellspacing="0" width="95%" bordercolorlight="#CCCCFF" border="1">
<tr><td colspan="2" align="center" bgcolor="#D8D8D8"><font size="2">Конвертация
кредитов в webmoney</font></td></tr><tr><td colspan="2">&nbsp;</td>
</tr><tr><td>&nbsp;Ваш баланс WM</td><td><b><font color="#800000">&nbsp;
</font></b><font color="#000080">$wmuser[0]</font></td>
</tr><tr><td>&nbsp;Кредитов на счету</td><td>&nbsp; <font color="#000080">$stat[1]</font>
</td></tr><tr><td>&nbsp;Число кредитов</td><td>&nbsp;<input name="much" size="12">
<font size="-1">&nbsp;[количество]</font></td></tr><tr><td colspan="2">
<p align="center"><br><input type="submit" value="Конвертировать"><br>
&nbsp;</p></td></tr><tr><td colspan="2" bgcolor="#F0F0F0">
<center><table border="0" cellpadding="0" cellspacing="1" width="99%"><tr>
<td width="100%"><font size="2">Минимальное количество для конвертации $rotation[9] кредитов.
При конвертации кредитов в webmoney с вас будет удержана комиссия в размере
$rotation[8] %.</td></tr></table></center></td></tr></table></center>
</form>
~;
open PWD, "userdat.pl";
if ($flock eq "1")
{flock(PWD, 2);}
@users = <PWD>;
close(PWD);chomp(@users);
foreach (@users){
($login,$userpass,$id,$status,$dr,$dc) = split(/\|/,$_);
if($user eq $login){$userid=$id}}
}
else{
$much=$in{'much'}+$com;
$convcred=($in{'much'}/1000)*$rotation[10];
$stat[1] = $stat[1]-$much;
# $stat[1]= sprintf "%.4f";
# sprintf("%.2f\n", $stat[1]);
$stat[24] = $stat[24] + $in{'much'};
$wmuser[0]=$wmuser[0]+$convcred;
open(STAT,">./users/$userid/stat.user");
if ($flock eq "1")
{flock(STAT, 2);}
foreach (@stat){
print STAT "$_\n"}
close(STAT);
open(WMUSER,">./users/$userid/wm.user");
if ($flock eq "1")
{flock(WMUSER, 2);}
foreach (@wmuser){
print WMUSER "$_\n"}
close(WMUSER);
open(SYS,"./system/sysstat.pl");
if ($flock eq "1")
{flock(SYS, 2);}
@system = <SYS>;
close(SYS);chomp(@system);
$system[0] = $system[0] - $much;
$system[1] = $system[1] + $much;
$system[4] = $system[4] + $much;
($dearn6,$earn6) = split(/\|/,$system[6]);
if($today eq $dearn6){$earn6 = $earn6 + $much;$system[6] = "$dearn|$earn6"}else{$system[6] = "$today|$much"}
($dearn,$earn) = split(/\|/,$system[9]);
if($today eq $dearn){$earn = $earn + $much;$system[9] = "$dearn|$earn"}else{$system[9] = "$today|$much"}
open (LOCK, "./system/sysstat.lock");
if ($flock eq "1")
{flock(LOCK, 2);}
@lock = <LOCK>;
close (LOCK);
chomp(@lock);
if ($lock[0]=='1') {
open (LOCK, ">./system/sysstat.lock");
if ($flock eq "1")
{flock(LOCK, 2);}
print LOCK "0";
close (LOCK);
open(SYS,">./system/sysstat.pl");
if ($flock eq "1")
{flock(SYS, 2);}
foreach (@system){
print SYS "$_\n"}
close(SYS);}
open (LOCK, ">./system/sysstat.lock");
if ($flock eq "1")
{flock(LOCK, 2);}
print LOCK "1";
close (LOCK);
print qq~
<center>
<table border="1" cellpadding="0" cellspacing="0" width="95%" bordercolorlight="#CCCCFF">
<tr><td width="100%" align="center" bgcolor="#F0F0F0"><p align=center><font color="#000080">
<font size="1"><b><br></b></font>Конвертация успешно выполнена!</font></p><p align=center>С
Вашего основного счета снято <font color=#000080>$in{'much'} </font>кредитов
и конвертировано в <font color=#000080>$convcred WM.<br>
<font color=#008080>С Вас удержано комисси</font></font><font color="#008080">я
в размере<font color=#000080> $com </font></font><font color="#008080">кредитов<font color=#000080>.<br>
</font></font><b><font color="#008080" size="1"><br></font></b></p></td></tr></table></center></div>
~;
}}
}else{
print qq~<center>$error<br></center></b>~;
if($exist ne 'da'){print "<center>$exist</center></b>"}
}
&html_end;

