#!/usr/bin/perl
# ------------------- NoDeny ------------------
# Copyright (Я) Volik Stanislav, 2008, 2009
# Read license http://nodeny.com.ua/license.txt
# ---------------------------------------------
$VER=49.32;
$VER==$VER_chk or &VerWrong($F{a});
$PR{88} or &Error('мЕР ОПЮБ МЮ ЯНГДЮМХЕ СВЕРМШУ ГЮОХЯЕИ.');
&LoadMoneyMod;
$mid=int $F{mid};
if( $mid )
{
$p=sql_select_line($dbh,"SELECT *,AES_DECRYPT(passwd,'$Passwd_Key') AS pass FROM users WHERE id=$mid",'дЮММШЕ НЯМНБМНИ ГЮОХЯХ',"ЯЙПШР: select from users where id=$mid");
$p or &Error("сЙЮГЮММЮЪ НЯМНБМЮЪ ГЮОХЯЭ id=$mid МЕ ЯСЫЕЯРБСЕР!");
$p->{mid} && &Error("мЕКЭГЪ ЯНГДЮРЭ ЮКХЮЯМСЧ ГЮОХЯЭ ДКЪ ЮКХЮЯМНИ.");
($grp,$paket,$paket3)=&Get_fields('grp','paket','paket3');
$UGrp_allow{$grp}<2 && &Error("с БЮЯ МЕР ОПЮБ МЮ ЯНГДЮМХЕ СВЕРМШУ ГЮОХЯЕИ Б ГЮЙЮГЮММНИ ЦПСООЕ. бНГЛНФМН, РНКЭЙН ВРН ЩРХ ОПЮБЮ АШКХ ГЮАПЮМШ.",$go_back);
($name,$fio,$passwd)=&Get_filtr_fields('name','fio','pass');
$origpasswd=$br.'оЮПНКЭ НЯМНБМНИ ГЮОХЯХ:'.$br.' '.&input_t('passwd3',$passwd,20,30);
$OUT.=$br.&MessX(&Printf('яНГДЮМХЕ ЮКХЮЯМНИ ГЮОХЯХ ДКЪ КНЦХМЮ: [bold], тхн: [bold], id: [bold]',$name,$fio,$mid),0,1);
}
else
{ # мЮИДЕЛ ОЮЙЕР, Й ЙНРНПНЛС ЮДЛХМ ХЛЕЕР ДНЯРСО
%tarifs=();
$first_pkt=0;
foreach( 1..$m_tarif )
{
next if !$Plan_name[$_] || !$Plan_allow_show[$_];
$first_pkt||=$_;
$tarifs{$_}=$Plan_name_short[$_];
}
$paket=int $F{paket};
$paket=$first_pkt if !$Plan_allow_show[$paket]; # ЯФСКЭМХВЮК - ОЮЙЕР АСДЕР ОЕПБШЛ ХГ ЯОХЯЙЮ
$pakets=join '',map{ &tag('option',$tarifs{$_},"value=$_".($paket==$_ && ' selected')) } sort {$tarifs{$a} cmp $tarifs{$b}} keys %tarifs;
$pakets=&tag('select',$pakets,'name=paket size=1');
$fio=$origpasswd='';
$OUT.=&Mess3('row2',&bold('яНГДЮМХЕ СВЕРМНИ ГЮОХЯХ ЙКХЕМРЮ')).$br;
@grps=grep{ $_ && $UGrp_allow{$_}>1 } keys %UGrp_name;
$F{grp}=$grps[0] if $#grps==0; # ЕЯКХ ЮДЛХМС ДНЯРСОМЮ БЯЕЦН НДМЮ ЦПСООЮ, ЯВХРЮЕЛ, ВРН НМ ЕЕ Х БШАПЮК
if( defined $F{grp} )
{
$grp=int $F{grp};
$UGrp_allow{$grp}<2 && &Error('с БЮЯ МЕР ОПЮБ МЮ ЯНГДЮМХЕ СВЕРМШУ ГЮОХЯЕИ Б ГЮЙЮГЮММНИ ЦПСООЕ. бНГЛНФМН РНКЭЙН ВРН ЩРХ ОПЮБЮ АШКХ ГЮАПЮМШ.',$go_back);
}
else
{
$out1=$out2='';
foreach $g (sort {$UGrp_name{$a} cmp $UGrp_name{$b}} keys %UGrp_name)
{
next if $UGrp_allow{$g}<2 || !$g;
$h="";
$UGrp{$g}=~/^2$|^2,|,2,|,2$/? ($out2.=$h) : ($out1.=$h);
}
$out=&tag('select',$out1.$out2,'name=grp size=1');
$out=&Center(&Table('table2',&RRow('row1','ll',$out,&submit_a('дЮКЕЕ →'))));
$OUT.=&MessX(&form('!'=>1,"бШАЕПХРЕ ЦПСООС ЙКХЕМРЮ, Б ЙНРНПНИ ЯНАХПЮЕРЕЯЭ ЯНГДЮРЭ СВЕРМСЧ ГЮОХЯЭ:".$br3.$out));
&Exit;
}
$paket3=int $F{paket3};
$paket3=0 if !defined($Plans3{$paket3}) || $Plans3{$paket3}{usr_grp}!~/,$grp,/;
$pakets3=join '',map {""}
sort {$Plans3{$a}{name} cmp $Plans3{$b}{name}} keys %Plans3;
$pakets3&&=&tag('select',"$pakets3",'name=paket3 size=1');
}
%fileds=('mid'=>$mid,'grp'=>$grp,'paket'=>$paket,'paket3'=>$paket3);
$p=sql_select_line($dbh,"SELECT * FROM user_grp WHERE grp_id=$grp",'дЮММШЕ ЙКХЕМРЯЙНИ ЦПСООШ');
if( $p )
{
$grp_block_limit=$p->{grp_block_limit};
$grp_nets=$p->{grp_nets};
@nets=split /\n/,$grp_nets if $grp_nets;
}
else
{
$grp_block_limit=0;
$grp_nets='';
@nets=();
}
{# ОПНБЕПЙЮ ОЮПНКЪ, ip
$need_form=0;
$ip_str='IP';
$Ffio=&trim(defined $F{fio}? $F{fio} : $fio);
$Fcontract_date=int $F{contract_date};
$Fcontract_date=0 if $Fcontract_date<0 || $Fcontract_date>31;
$Fpassnum=int $F{passnum};
$Fpasswd=$Fpassnum>2? $F{passwd3} : $Fpassnum>1? $F{passwd2} : $Fpassnum>0? $F{passwd1} : $F{passwd0};
if( defined $Fpasswd )
{
if( !$Fpasswd )
{
&Message('оСЯРНИ ОЮПНКЭ МЕ ПЮГПЕЬЕМ.','','бМХЛЮМХЕ');
$need_form=1;
}
elsif( length($Fpasswd)<4 )
{
&Message('пЕЙНЛЕМДСЕРЯЪ ДКЪ АЕГНОЮЯМНЯРХ ХЯОНКЭГНБЮРЭ ОЮПНКХ ДКХММНИ МЕ ЛЕМЕЕ 4У ЯХЛБНКНБ.','','оПЕДСОПЕФДЕМХЕ');
}
}
$Fip=&trim($F{ip});
unless (defined $F{ip})
{
$need_form=1;
last;
}
if( $Fip!~/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/ || $1>255 || $2>255 || $3>255 || $4>255 )
{
&Message($Fip? 'IP-ЮДПЕЯ СЙЮГЮМ МЕБЕПМН.' : 'мЕ СЙЮГЮМ ip-ЮДПЕЯ','','бМХЛЮМХЕ');
$ip_str=&tag('span','IP','class=error');
$need_form=1;
last;
}
$sortip=$2*65536 + $3*256 + $4;
if( $grp_nets && !&Check_Ip_in_Nets($Fip,@nets) )
{
&Message('IP МЕ ОНОЮДЮЕР Б ЯОХЯНЙ ПЮГПЕЬЕММШУ ОНДЯЕРЕИ ДКЪ ДЮММНИ ЦПСООШ.','','бМХЛЮМХЕ');
$ip_str=&tag('span','IP','class=error');
$need_form=1;
last;
}
$p=&sql_select_line($dbh,"SELECT * FROM users WHERE ip='$Fip'",'яСЫЕЯРБСЕР КХ ЙКХЕМР Я РЮЙХЛ ФЕ ip?');
if( $p )
{
&Message('йКХЕМР Я СЙЮГЮММШЛ ip СФЕ ГЮПЕЦХЯРПХПНБЮМ. бНГЛНФМН ОНЙЮ БШ ББНДХКХ ДЮММШЕ, СЙЮГЮММШИ ip АШК ГЮМЪР.','','бМХЛЮМХЕ');
$ip_str=&tag('span','IP','class=error');
$need_form=1;
last;
}
}
{
$need_form or last;
$allow_nets='';
if( $grp_nets )
{
&LoadNetMod;
$first_ip='';
foreach $net (split /\n/,$grp_nets)
{
($h)=&nNet_GetNextIp($net);
$first_ip||=$h;
$allow_nets.=&RRow('*','ll',$net,!!$h && &ahref('#',$h,qq{OnClick="javascript:document.getElementById(1).value='$h'"}));
}
$allow_nets=&Table('tbg3',&RRow('tablebg','cc','оНДЯЕРЭ','яБНАНДМШИ ip').$allow_nets) if $allow_nets;
}
$i=0;
$contact_sel='';
foreach( ' (ЯЕЦНДМЪ)',' (БВЕПЮ)',' (ОНГЮБВЕПЮ)','','','','','','','' )
{
$contact_sel.="";
}
# ТНПЛХПСЕЛ ЯКСВЮИМШИ ОЮПНКЭ
$rpass1=$rpass2='';
$len=9+int(rand 3);
for ($i=0; $i<$len; $i++) {$rpass1.=(0..9,'A'..'Z','a'..'z','@','.',',','-','=','%','$','(',')',':','_','?','+','#')[rand 76]}
for ($i=0; $i<$len-3; $i++) {$rpass2.=(0..9,'A'..'Z','a'..'z')[rand 62]}
$sth=&sql($dbh,"SELECT ip FROM users",'оНКСВХЛ ЯОХЯНЙ ip БЯЕУ ЮАНМЕМРНБ');
$U{$_->{ip}}=1 while $_=$sth->fetchrow_hashref;
$i=0;
$out_lft=$h='';
$old_region=0;
$sth=&sql($dbh,"SELECT * FROM points,p_street WHERE points.street=p_street.street ORDER BY p_street.region,p_street.name_street,points.house",'яОХЯНЙ СКХЖ');
while( $p=$sth->fetchrow_hashref )
{
($street,$box,$house,$net,$region)=&Get_fields qw(
street box house net region);
$house.='('.&Filtr_out($p->{block}).')' if $p->{block};
$nstreet=&Filtr_out($p->{name_street});
if( $old_region!=$region )
{
$r=$Regions{$region};
chop $r;
$out_lft.=$h.&RRow('head','c',$r);
$h='';
}
$old_region=$region;
$out_lft.="$h
<$td>$nstreet
".
"" if $i!=$street;
$i=$street;
$h||=' |
';
# ОНОШРЮЕЛЯЪ МЮИРХ ЯБНАНДМШИ ip
$ip='';
if( $net=~/^(\d+\.\d+\.\d+\.)(\d+)$/ && $2<254 )
{
$net=$1;
for( $x=$2+1; $x<255; $x++ )
{
next if $U{"$net$x"};
$ip="$net$x";
last;
}
}else
{
$net='';
}
$out_lft.=&PRow."рНВЙЮ: $box | дНЛ: $house | оНДЯЕРЭ: ".($net? "$net" : "мехгбеярмю").
" | IP: ".($ip? qq{$ip} : 'МЕР БЮПХЮМРНБ')." | ";
}
$out_lft.=$h;
$out=&div('message',&form('!'=>1,%fileds,&Table('tbg3',
&RRow('*','ll ','тхн ЙКХЕМРЮ',&input_t('fio',$Ffio,36,255),'').
&RRow('*','ll ','дЮРЮ ГЮЙКЧВЕМХЪ ЙНМРПЮЙРЮ',"",'').
&RRow('*','lll',$ip_str,&input_t('ip',$Fip || ($Auto_ip>0 && $first_ip),36,16,'id=1'),$allow_nets?
' б ЦПСООЕ ЙКХЕМРЮ ПЮГПЕЬЮЕРЯЪ МЮГМЮВЮРЭ ip ЮДПЕЯЮ Б РЮЙХУ ДХЮОЮГНМЮУ:'.$br2.$allow_nets :
' мЕР НЦПЮМХВЕМХИ ОН ДХЮОЮГНМС ЮДПЕЯНБ').
&RRow('*','lll','оЮПНКЭ',
' '.&input_t('passwd0',$Fpasswd,20,30).$br.
' '.&input_t('passwd1',$rpass1,20,30).$br.
' '.&input_t('passwd2',$rpass2,20,30).$origpasswd,
'бБЕДХРЕ ОЮПНКЭ ХКХ БШАЕПХРЕ НДХМ ХГ ОПЕДКНФЕММШУ ЯЦЕМЕПХПНБЮММШУ ЯКСВЮИМШЛ НАПЮГНЛ').
(!$mid && &RRow('*','lll',$Plan2_Title || 'рЮПХТМШИ ОКЮМ',$pakets,'')).
(!$mid && $pakets3 && &RRow('*','lll',$Plan3_Title || 'дНОНКМХРЕКЭМШИ РЮПХТМШИ ОКЮМ',$pakets3,''))
).$br2.&submit_a('дЮКЕЕ →').$br));
if( !$out_lft )
{
$OUT.=$out.$go_back;
&Exit;
}
$OUT.=&Table('width100',
&tag('tr',
&tag('td',&Table('tbg width100',$out_lft),'valign=top width=36%').
&tag('td',$out,'valign=top')
)
).$go_back;
&Exit;
}
$fileds{passwd0}=$Fpasswd;
$Fpasswd=&Filtr_mysql($Fpasswd);
$fileds{contract_date}=$Fcontract_date;
$Fcontract_date=$t-$Fcontract_date*86400;
$fileds{fio}=$Ffio;
$title="тхн: ".&bold(&Filtr_out($Ffio) || 'МЕ СЙЮГЮМШ').$br2;
$fileds{ip}=$Fip;
{# === оПНБЕПЙЮ КНЦХМЮ
if( $PR{120} )
{ # КНЦХМ МЕ БШАХПЮЕР ЮДЛХМ, ОПХЯБЮХБЮЕРЯЪ ЮБРНЛЮРХВЕЯЙХ
$login=lc( &translit(&Filtr($Ffio)) ) || $Fip;
$login=~s|^([^ ]+) +.*$|$1|; # НЯРЮБХЛ РНКЭЙН ТЮЛХКХЧ
$sth=&sql($dbh,"SELECT name FROM users WHERE name LIKE '$login%'");
$L{lc($p->{name})}=1 while $p=$sth->fetchrow_hashref;
if( $L{$login} )
{ # МЮИДЕЛ МЕГЮМЪРШИ КНЦХМ БХДЮ КНЦХМ_ВХЯКН
$i=1;
$i++ while ( $L{"${login}_$i"} );
$login.="_$i";
}
$Flogin=$login;
last;
}
$Flogin=$F{login};
defined $Flogin or last;
$Flogin=&trim($Flogin);
$Block_space_login && $Flogin=~s|\s||g && &Message('б КНЦХМЕ САПЮМШ ОПНАЕКШ.','','бМХЛЮМХЕ');
$login=&Filtr($Flogin);
$Flogin ne $login && &Message("б КНЦХМЕ САПЮМШ МЕДНОСЯРХЛШЕ ЯХЛБНКШ. мНБШИ КНЦХМ: $login",'','бМХЛЮМХЕ');
$Flogin='';
if( length($login)<3 )
{
&Message('кНЦХМШ ЛЕМЕЕ 3У ЯХЛБНКНБ МЕ ПЮГПЕЬЕМШ.','','бМХЛЮМХЕ');
last;
}
$p=&sql_select_line($dbh,"SELECT name FROM users WHERE name='$login'",'яСЫЕЯРБСЕР КХ ЙКХЕМР Я РЮЙХЛ ФЕ КНЦХМНЛ?');
if( $p )
{
&Message("сФЕ ЯСЫЕЯРБСЕР ЙКХЕМР Я КНЦХМНЛ ".&bold($login),'','бМХЛЮМХЕ');
last;
}
$fileds{login}=$Flogin=$login;
}
sub push_login
{
length($_[0])>2 && !(grep{$_ eq $_[0]} @logins) && push @logins,$_[0];
}
{# === бБНД КНЦХМЮ
$Flogin && last;
@logins=();
$h1=$h=lc( &Filtr($Ffio||$Fip) );
if( $h1=~s/^([^ ]+) +([^ ]*).*$/$1_$2/ )
{
$h=$1;
&push_login(&translit($h1));
&push_login($h);
}
$h3=$h2=&translit($h);
@logins,&push_login($h2);
$h3=~s|[euioa]||g && &push_login($h3); # КНЦХМ АЕГ ЦКЮЯМШУ АСЙБ
&push_login($h1);
@f=$Block_space_login? ('_2','_pc2','_pc3','_comp_2','_comp_3','_notebook','_apoint','_router','_alias','_out_ip','.') :
('_2',' pc2',' pc3',' comp 2',' comp 3',' out ip','_pc2','_pc3','_notebook','_apoint','_router','_alias','_out_ip','.');
push @logins,$h2.$_ foreach @f;
$out="$title бШАЕПХРЕ НДХМ ХГ БЮПХЮМРНБ КНЦХМЮ:".$br2.&input_t('login','',36,36,'id=1').$br2;
foreach $login (@logins)
{
%L=();
$sth=&sql($dbh,"SELECT name FROM users WHERE name LIKE '$login%'");
$L{&lc_rus(lc($p->{name}))}=1 while $p=$sth->fetchrow_hashref;
$h=&lc_rus(lc($login));
if( $L{$h} )
{
$i=0;
$i++ while ($L{"$h$i"});
$login="$login$i";
}
$h=&Filtr_out($login);
$out.=&ahref('#',$h,qq{OnClick="javascript:document.getElementById(1).value='$h'"}).$br;
}
$OUT.=&MessX(&form('!'=>1,%fileds,$out.$br.&submit_a('дЮКЕЕ →'))).$go_back;
&Exit;
}
$balance=0;
# === оПЕДСЯРЮМНБКЕММШЕ ОНДЙКЧВЕМХЪ ===
{
$newuser_opt=&sql_select_line($dbh,"SELECT * FROM newuser_opt WHERE opt_enabled>0 LIMIT 1",'еЯРЭ КХ ОПЕДСЯРЮМНБКЕММШЕ ОНДЙКЧВЕМХЪ?');
$newuser_opt or last;
# Б РЮПХТЕ СЙЮГЮМН ОПЕДСЯРЮМНБКЕММНЕ ОНДЙКЧВЕМХЕ ХКХ ЕЦН СЙЮГЮК ЮДЛХМ
$Fopt=$mid? int $F{opt} : $Plan_newuser_opt[$paket] || int $F{opt};
last if !$Fopt && defined($F{opt}) && $PR{118}; # ЮДЛХМС ПЮГПЕЬЕМН МЕ ХЯОНКЭГНБЮРЭ ОПЕДСЯРЮМНБКЕММШЕ ОНДЙКЧВЕМХЪ
{
if( !$Fopt )
{
defined $F{opt} && &Message("бШ ДНКФМШ БШАПЮРЭ ОПЕДСЯРЮМНБКЕММНЕ ОНДЙКЧВЕМХЕ МХФЕ",'','');
last;
}
$p=&sql_select_line($dbh,"SELECT * FROM newuser_opt WHERE id=$Fopt AND opt_enabled>0");
if( !$p )
{
$Plan_newuser_opt[$paket] && &Error("нЬХАЙЮ Б РЮПХТМНЛ ОКЮМЕ. оПЕДСЯРЮМНБКЕММНЦН ОНДЙКЧВЕМХЪ ╧ $Fopt МЕ ЯСЫЕЯРБСЕР. нАПЮРХРЕЯЭ Й ЦКЮБМНЛС ЮДЛХМХЯРПЮРНПС.",$go_back);
&Message("оПЕДСЯРЮМНБКЕММНЕ ОНДЙКЧВЕМХЕ ╧ $Fopt МЕ ЯСЫЕЯРБСЕР КХАН МЕЮЙРХБМН. бШАЕПХРЕ МСФМНЕ Б ЯОХЯЙЕ МХФЕ",'','');
$Fopt=0;
last;
}
# дЮММШЕ БШАПЮММНЦН ОПЕДСЯРЮМНБКЕММНЦН ОНДЙКЧВЕМХЪ
$fileds{opt}=$Fopt;
($id,$opt_time,$pay_sum,$pay_comment,$pay_reason,$opt_action,$opt_time)=&Get_fields('id','opt_time','pay_sum','pay_comment','pay_reason','opt_action','opt_time');
$balance=$Fopt && $pay_sum? $pay_sum : 0;
$pay_reason=~/^([^\$]*)\$(.*)$/ or last;
# ОКЮРЕФ "ЯМЪРХЕ ГЮ ОНДЙКЧВЕМХЕ" РПЕАСЕР НАЪГЮРЕКЭМНЦН ЙНЛЛЕМРЮПХЪ ЯН ЯРНПНМШ ЮДЛХМЮ
unless( defined $F{reason} )
{
$OUT.=&MessX(
&form('!'=>1,%fileds,
"дКЪ ОКЮРЕФЮ ЯМЪРХЪ ГЮ ОНДЙКЧВЕМХЕ МЕНАУНДХЛН НАЪГЮРЕКЭМН СЯРЮМНБХРЭ ЙНЛЛЕМРЮПХИ:".$br2.
&Filtr_out($1).&input_t('reason','',50,50).&Filtr_out($2).$br2.&submit_a('дЮКЕЕ →')
)
).$go_back;
&Exit;
}
}
$Fopt && last; # ОПЕД.ОНДЙКЧВЕМХЕ БШАПЮМН Х НМН ЯСЫЕЯРБСЕР
# яОХЯНЙ ОПЕДСЯРЮМНБКЕММШУ ОНДЙКЧВЕМХИ
$url=$scrpt;
$url.="&$_=".&URLEncode($fileds{$_}) foreach keys %fileds; # URLEncode МСФЕМ ДКЪ ЯХЛБНКЮ '='
$out='';
# opt_enabled:
# 0 - ОПЕДСЯРЮМНБКЕММНЕ ОНДЙКЧВЕМХЕ ГЮАКНЙХПНБЮМН
# 1 - РНКЭЙН ДКЪ НЯМНБМНИ ГЮОХЯХ
# 2 - РНКЭЙН ДКЪ ЮКХЮЯМНИ ГЮОХЯХ
$sth=&sql($dbh,"SELECT * FROM newuser_opt WHERE opt_enabled=".($mid? 2 : 1));
while( $p=$sth->fetchrow_hashref )
{
($id,$opt_time,$pay_sum)=&Get_fields('id','opt_time','pay_sum');
($opt_name,$opt_comment)=&Get_filtr_fields('opt_name','opt_comment');
$out.=&RRow('*','lrl',&ahref("$url&opt=$id",$opt_name),$pay_sum||' ',$opt_comment);
}
$out.=&RRow('*','lll',&ahref("$url&opt=0",'оПНЯРН ЯНГДЮРЭ СВЕРМСЧ ГЮОХЯЭ'),'','') if $PR{118};
$OUT.=&div('message',&Table('tbg3',&RRow('tablebg','ccc','рХО ОНДЙКЧВЕМХЪ',"яРНХЛНЯРЭ, $gr",'сЯКНБХЪ').$out)).$go_back;
&Exit;
}
$Ffio=&Filtr_mysql($Ffio);
$sql="INSERT INTO users SET ".
"mid=$mid,".
"ip='$Fip',sortip=$sortip,".
"fio='$Ffio',".
"passwd=AES_ENCRYPT('$Fpasswd','$Passwd_Key'),".
"limit_balance=".($mid? 0 : $grp_block_limit).','.
"block_if_limit=".($mid? 0 : 1).','.
"grp=$grp,".
"state='on',".
"balance=0,".
"auth='no',".
"contract='',".
"contract_date=$Fcontract_date,".
"paket=$paket,".
"paket3=$paket3,".
"cstate=9,".
"start_day=-1,".
"modify_time=$ut,".
"name='$login'";
$sth=$dbh->prepare($sql);
$sth->execute or &Error("бМСРПЕММЪЪ НЬХАЙЮ. сВЕРМЮЪ ГЮОХЯЭ ЙКХЕМРЮ МЕ ЯНГДЮМЮ.",$go_back);
$id=$sth->{mysql_insertid} || $sth->{insertid};
$mId=$mid || $id; # id НЯМНБМНИ ГЮОХЯХ
$OUT.=$br;
&OkMess("дЮММШЕ МНБНЦН ЙКХЕМРЮ БМЕЯЕМШ Б АЮГС ДЮММШУ.".$br3.&CenterA("$scrpt0&a=user&id=$id",'пЕДЮЙРХПНБЮРЭ ДЮММШЕ'));
$OUT.=$br2;
&ToLog("$Admin_UU яНГДЮМЮ ЙКХЕМРЯЙЮЪ СВЕРМЮЪ ГЮОХЯЭ id=$id, ip: $Fip, КНЦХМ: ".&commas($Flogin));
if( $balance )
{
$rows=&sql_do($dbh,"UPDATE users SET balance=balance+($balance) WHERE id=$mId LIMIT 1");
$rows<1 && &ToLog("! оНЯКЕ ЯНГДЮМХЪ СВЕРМНИ ГЮОХЯХ id=$id МЕ СДЮКНЯЭ НАМНБХРЭ АЮКЮМЯ, МЕНАУНДХЛЮ ЙНППЕЙРХПНБЙЮ АЮКЮМЯЮ ЙКХЕМРЮ id=$mId");
}
&sql_do($dbh,"INSERT INTO pays (mid,cash,type,category,admin_id,admin_ip,office,reason,time) ".
"VALUES($mId,0,50,411,$Admin_id,INET_ATON('$ip'),$Admin_office,'тхн: $Ffio, ip: $Fip',$ut)");
$tt="$ut+1";
if( $Fopt )
{
$pay_comment=&Filtr_mysql($pay_comment);
$pay_reason="$1$F{reason}$2" if $pay_reason=~/^([^\$]*)\$(.*)$/;
$pay_reason=&Filtr_mysql($pay_reason);
$category=$pay_sum>0? 10 : 100; # 100 - НОКЮРЮ ОНДЙКЧВЕМХЪ, 10 - АНМСЯ ОНДЙКЧВЕМХЪ
$pay_sum && &sql_do($dbh,"INSERT INTO pays (mid,cash,type,bonus,category,admin_id,admin_ip,office,reason,coment,time) ".
"VALUES($mId,$pay_sum,10,'y',$category,0,INET_ATON('$ip'),$Admin_office,'$pay_reason','$pay_comment',$tt)");
if( $opt_action )
{ # БМЕЯЕЛ Б ОКЮРЕФХ `ГЮОКЮМХПНБЮММНЕ ЯНАШРХЕ`
$pay_sum && &sql_do($dbh,"INSERT INTO pays (mid,cash,type,category,admin_id,admin_ip,office,reason,coment,time) ".
"VALUES($mId,0,50,430,0,INET_ATON('$ip'),$Admin_office,'$opt_action:$opt_time','',$tt)");
}
}
1;