|
|
|
|
|
|
IT Security and Insecurity Portal |
|
|
help with decoding please! |
|
Posted: Sun Jul 19, 2009 5:15 am |
|
|
matthewl |
Beginner |
|
|
Joined: Jul 19, 2009 |
Posts: 2 |
|
|
|
|
|
|
|
Any help would be greatly appreciated! Will send USD$15 via paypal to whoever decodes it first.
Thank you,
Matt
Code: | <?php // This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited.
$OOO0O0O00=__FILE__;$O00O00O00=__LINE__;$OO00O0000=20888;eval(gzuncompress(base64_decode('eNplj1ePgkAAhP8MCbsR44JICeHB3l17e7lQlqIIuEtRfv1p7nJ3yWXmaTLzJcNhhBB+CZlekpIYcBjjr0Dgqc1DowzCiIB6ncPv4tvQ80nGAPczFUQkydD4F8tIV6DxIn4vTb/KYye5pZQwBmyLEUX+cImTuASwjGYUeJRY7l+EijQo8Jd16sj6kdWG6rSHHkqAR6LWjvfNSdFqlJ3xduXulufM7y8O+fVmSxEdzJ4VuYdWd+Ml85PJC3y70+31B8PReDKdzRd4uVpvtrv94Xg6W7bjEs8Pwss1usVJeqcsy4vy8ayQKDXllqJqeq3BQwgNUlgR+D0EjU+nHF8j')));return;?>
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 |
|
|
|
|
|
|
|
|
|
Posted: Tue Jul 21, 2009 1:37 am |
|
|
matthewl |
Beginner |
|
|
Joined: Jul 19, 2009 |
Posts: 2 |
|
|
|
|
|
|
|
changing the eval to print gives:
$OOO0O0O00=__FILE__;$O00O00O00=__LINE__;$OO00O0000=20888;$O000O0O00=fopen($OOO0O0O00,'rb');while(--$O00O00O00)fgets($O000O0O00,1024);fgets($O000O0O00,4096);
$OO00O00O0=gzuncompress(base64_decode(strtr(fread($O000O0O00,708),'jRpc49Xs+G7KD0x6hOH18AnV3Jv5/wBITQdUPZtgENWukmb2lrFLyzeqiaCSfoMY=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));eval($OO00O00O0);
I'm not quite sure what to do with this. |
|
|
|
|
|
|
|
|
Posted: Tue Jul 21, 2009 8:17 am |
|
|
zerobytes |
Valuable expert |
|
|
Joined: Aug 30, 2008 |
Posts: 199 |
|
|
|
|
|
|
|
[code:1:be0ab67c54]
<?php
###############################################################################
###############################################################################
error_reporting(E_ERROR | E_WARNING | E_PARSE);
if(!ini_get('safe_mode'))set_time_limit(3600);
set_magic_quotes_runtime(0);
ignore_user_abort(true);
###############################################################################
$data['PostSent']=false;
$data['ScriptLoaded']=true;
###############################################################################
$data['Path']=dirname(__FILE__);
if($_SERVER['HTTPS']=='on')$data['Prot']='https';else $data['Prot']='http';
$data['Templates']="{$data['Path']}/templates";
$data['BannersPath']="{$data['Path']}/images/banners";
$data['SinBtnsPath']="{$data['Path']}/images/buttons/single";
$data['DonBtnsPath']="{$data['Path']}/images/buttons/donations";
$data['SubBtnsPath']="{$data['Path']}/images/buttons/subscriptions";
$data['ShopBtnsPath']="{$data['Path']}/images/buttons/shopcart";
if($data['Folder'])$data['Folder']="/{$data['Folder']}";
$data['Addr']="{$_SERVER['REMOTE_ADDR']}";
$data['Host']="{$data['Prot']}://{$_SERVER['HTTP_HOST']}{$data['Folder']}";
$data['Images']="{$data['Host']}/images";
$data['Banners']="{$data['Images']}/banners";
$data['SinBtns']="{$data['Images']}/buttons/single";
$data['DonBtns']="{$data['Images']}/buttons/donations";
$data['SubBtns']="{$data['Images']}/buttons/subscriptions";
$data['ShopBtns']="{$data['Images']}/buttons/shopcart";
$data['Admins']="{$data['Host']}/admins";
$data['Members']="{$data['Host']}/members";
$data['Home']="Location:{$data['Host']}/index.htm";
$data['DbPrefix']="{$data['DbPrefix']}_";
###############################################################################
function get_post(){
global $_POST;
$result=array();
foreach($_POST as $key=>$value)$result[$key]=$value;
reset($_POST);
return $result;
}
###############################################################################
function protect($buffer){
global $data, $_SERVER, $_SESSION;
if($data['ProtectHtml']&&$_SESSION['login'])return encrypt_pages($buffer);
else return $buffer;
}
function prepare($buffer){
return protect($buffer);
}
function show($template){
global $data, $post;
if(file_exists($template))include($template);
else echo("Template \"{$template}\" not found!");
}
function display($path=''){
global $data;
ob_start('prepare');
if($path)$path="/{$path}";
show("{$data['Templates']}{$path}/template.header.htm");
show("{$data['Templates']}{$path}/template.{$data['PageFile']}.htm");
show("{$data['Templates']}{$path}/template.footer.htm");
ob_end_flush();
}
function showpage($template){
global $data;
ob_start('prepare');
show("{$data['Templates']}/{$template}");
ob_end_flush();
}
function showmenu($mode, $path=''){
global $data;
$data['mode']=$mode;
if($path)$path="/{$path}";
show("{$data['Templates']}{$path}/template.menu.htm");
}
function showbanner(){
global $data;
show("{$data['Templates']}/template.banners.htm");
}
###############################################################################
$data['cid']=null;
function db_connect(){
global $data;
$data['cid']=@mysql_connect(
$data['Hostname'], $data['Username'], $data['Password']
);
if(!$data['cid']){
echo(
'<font style="font:10px Verdana;color:#FF0000">'.mysql_error().
".<br>Please contact to site administrator <a href=\"mailto:{$data['AdminEmail']}\">".
"{$data['AdminEmail']}</a>.</font>"
);
exit;
}
@mysql_select_db($data['Database'], $data['cid']);
return (bool)$data['cid'];
}
function db_disconnect(){
global $data;
return (bool)@mysql_close($data['cid']);
}
function db_query($statement,$print=false){
global $data;
if($print) echo("-->{$statement}<--<br>");
return @mysql_query($statement, $data['cid']);
}
function newid(){
global $data;
return @mysql_insert_id($data['cid']);
}
function db_count($result){
return (int)@mysql_num_rows($result);
}
function db_rows($statement,$print=false) {
$result=array();
if($print) echo("-->{$statement}<--<br>");
$query=db_query($statement);
$count=db_count($query);
for($i=0;$i<$count;$i++){
$record=@mysql_fetch_array($query, MYSQL_ASSOC);
foreach($record as $key=>$value)$result[$i][$key]=$value;
}
return $result;
}
###############################################################################
function verify_email($email){
return !(bool)ereg("^.+@.+\\..+$", $email);
}
function verify_username($username){
return !(bool)ereg("^[a-zA-Z0-9]+$", $username);
}
function gencode(){
global $data;
list($usec, $sec)=explode(' ', microtime());
$rand=(float)$sec+((float)$usec*100000);
srand($rand);
if($data['TuringNumbers']){
return (string)rand(pow(10, $data['TuringSize']-1), pow(10, $data['TuringSize'])-1);
}else{
return strtoupper(substr(md5(rand()), rand(1, 26), $data['TuringSize']));
}
}
function around($amount){
return sprintf('%6.2f', $amount);
}
function encode($number, $size){
$result='';
$length=strlen($number);
for($i=0;$i<$length-$size;$i++)$result.='X';
return $result.substr($number, $length-$size, $length);
}
function is_changed($number){
return (bool)ereg("^[0-9]+$", $number);
}
function is_number($text){
if(!is_changed($text))return true;
return (bool)is_changed($text);
}
function showselect($values, $current=null){
$result='';
foreach($values as $key=>$value){
$result.=
"<option value=\"{$key}\"".
($current!=null?($current==$key?' selected':''):'').
">{$value}</option>"
;
}
return $result;
}
function read_csv( $filename, $break) {
if ( $file=fopen($filename,'r') ) {
while ($content[]=fgetcsv($file,1024,$break));
fclose($file);
array_pop($content);
return $content;
}
}
###############################################################################
function prndate($date){
global $data;
if($date=='0000-00-00 00:00:00')return '---';
else return date($data['DateFormat'], strtotime($date));
}
function prnintg($number){
return number_format($number, 0, '', ',');
}
function prnsum($sum){
return (float)str_replace(',', '', $sum);
}
function prnsumm($summ){
global $data;
$summ=str_replace(',', '.', $summ);
return number_format(($summ>0?$summ:-$summ), $data['CurrSize'], '.', ',');
}
function prnpays($summ, $splus=true){
global $data;
if($summ<0)$color='red';else $color='green';
return
"<font color={$color}>".
($summ>=0?($splus?'+':''):'-').$data['Currency'].prnsumm($summ).
'</font>'
;
}
function prnfees($summ){
return $summ!=0?prnpays($summ):'<font color=maroon>---</font>';
}
function prntext($text){
$search = array ('@<script[^>]*?>.*?</script>@si',
'@<[\/\!]*?[^<>]*?>@si',
'@([\r\n])[\s]+@',
'@&(quot|#34);@i',
'@&(amp|#38);@i',
'@&(lt|#60);@i',
'@&(gt|#62);@i',
'@&(nbsp|#160);@i',
'@&(iexcl|#161);@i',
'@&(cent|#162);@i',
'@&(pound|#163);@i',
'@&(copy|#169);@i',
'@&#(\d+);@e');
$replace = array ('',
'',
'\1',
'"',
'&',
'<',
'>',
' ',
chr(161),
chr(162),
chr(163),
chr(169),
'chr(\1)');
return preg_replace($search, $replace, $text);
}
function balance($summ){
return prnpays($summ, false);
}
function prnuser($uid){
if($uid>0)return get_member_username($uid);
else return 'system';
}
function get_files_list($path){
$result=array();
if(@file_exists($path)){
$handle=@opendir($path);
while(($file=@readdir($handle))!==false){
if($file!='.'&&$file!='..'){
$x=strtolower(substr($file, -4));
if($x&&$x=='.jpg'||$x=='.gif'||$x=='.png')$result[]="{$file}";
}
}
}
return $result;
}
function get_html_templates(){
global $data;
$result=array('0'=>'--');
if(@file_exists($data['Templates'])){
$handle=@opendir($data['Templates']);
while(($file=@readdir($handle))!==false){
if($file!='.'&&$file!='..'){
$x=strtolower(substr($file, -4));
if($x&&$x=='.htm')$result[$file]="{$file}";
}
}
}
return $result;
}
###############################################################################
function send_email($key, $post){
global $data;
$template=db_rows(
"SELECT `name`,`value` FROM `{$data['DbPrefix']}emails`".
" WHERE `key`='{$key}'"
);
$text=$template[0]['value'];
$subject=$template[0]['name'];
if($post['username']){
$text=str_replace('[username]', $post['username'], $text);
$text=str_replace('[usersite]', "{$data['Host']}/?rid={$post['username']}", $text);
}
if($post['password'])$text=str_replace('[password]', $post['password'], $text);
if($post['fullname'])$text=str_replace('[fullname]', $post['fullname'], $text);
if($post['emailadr'])$text=str_replace('[emailadr]', $post['emailadr'], $text);
if($post['buyer'])$text=str_replace('[buyeradr]', $post['buyer'], $text);
if($post['product'])$text=str_replace('[product]', $post['product'], $text);
if($post['ccode'])$text=str_replace('[confcode]', $post['ccode'], $text);
if($post['chash'])$text=str_replace('[confhash]', $post['chash'], $text);
if($post['comments'])$text=str_replace('[comments]', $post['comments'], $text);
else $text=str_replace('[comments]', '---', $text);
if($post['uid'])$text=str_replace('[uid]', $post['uid'], $text);
$text=str_replace('[emailpage]', "{$data['Host']}/members/verifemail.htm", $text);
$text=str_replace('[email]', $post['email'], $text);
$text=str_replace('[sitename]', $data['SiteName'], $text);
$text=str_replace('[hostname]', $data['Host'], $text);
$text=str_replace('[singpage]', "{$data['Members']}/signup.htm", $text);
$text=str_replace('[confpage]', "{$data['Members']}/confirm.htm", $text);
$text=str_replace('[lognpage]', "{$data['Members']}/login.htm", $text);
$text=str_replace('[amount]', $data['Currency'].($post['amount']-$post['fees']), $text);
$header="From: {$data['AdminEmail']}\nReturn-Path: {$data['AdminEmail']}\n";
return @mail($post['email'], stripslashes($subject), stripslashes($text), $header);
}
function send_mass_email($subject, $message, $active=-1){
global $data;
$header="From: {$data['AdminEmail']}\nReturn-Path: {$data['AdminEmail']}\n";
$members=db_rows(
'SELECT `username`,`email`,`fname`,`lname`'.
" FROM `{$data['DbPrefix']}members`".
($active<0?'':" WHERE `active`={$active}")
);
foreach($members as $value){
mail($value['email'], $subject, $message, $header);
}
}
###############################################################################
function use_curl($href, $post=null){
$handle=curl_init();
curl_setopt($handle, CURLOPT_URL, $href);
if($post){
if($post){
curl_setopt($handle, CURLOPT_POST, 1);
curl_setopt($handle, CURLOPT_POSTFIELDS, $post);
}
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($handle, CURLOPT_TIMEOUT, 90);
}
$result=curl_exec($handle);
curl_close($handle);
return $result;
}
function autorize($uid, $post){
global $data;
$query=array();
array_push($query, 'x_ADC_Delim_Data=TRUE');
array_push($query, 'x_ADC_URL=FALSE');
array_push($query, 'x_Address='.urlencode($post['address']));
array_push($query, 'x_Amount='.urlencode($post['total']));
array_push($query, 'x_Card_Code='.urlencode($post['ccvv']));
array_push($query, 'x_Card_Num='.urlencode($post['cnumber']));
array_push($query, 'x_City='.urlencode($post['city']));
array_push($query, 'x_Company='.urlencode($post['company']));
array_push($query, 'x_Country='.urlencode($post['country']));
array_push($query, 'x_Cust_ID='.urlencode(get_member_username($uid)));
array_push($query, 'x_Customer_IP='.urlencode($_SERVER['REMOTE_ADDR']));
array_push($query, 'x_Customer_Organization_Type='.urlencode((strlen($post['company'])>0)?'B':'I'));
array_push($query, 'x_Description='.urlencode('Deposit to my account from Authorize.Net'));
array_push($query, 'x_Email='.urlencode($post['email']));
array_push($query, 'x_Exp_Date='.urlencode("{$post['cmonth']}/{$post['cyear']}"));
array_push($query, 'x_First_Name='.urlencode($post['fname']));
array_push($query, 'x_Last_Name='.urlencode($post['lname']));
array_push($query, 'x_Method=CC');
array_push($query, "x_Login={$data['DepositMethod']['autorize']['user']}");
array_push($query, "x_Password={$data['DepositMethod']['autorize']['pswd']}");
array_push($query, 'x_Phone='.urlencode($post['phone']));
array_push($query, 'x_Recurring_Billing=FALSE');
array_push($query, 'x_State='.urlencode($post['state']));
array_push($query, 'x_Tax_Exempt=TRUE');
array_push($query, 'x_Trans_ID=1');
array_push($query, 'x_Type=AUTH_CAPTURE');
array_push($query, 'x_Version=3.1');
array_push($query, 'x_Zip='.urlencode($post['zip']));
$query=implode('&', $query);
$cid=curl_init('https://secure.authorize.net/gateway/transact.dll');
curl_setopt($cid, CURLOPT_POST, 1);
curl_setopt($cid, CURLOPT_POSTFIELDS, $query);
curl_setopt($cid, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cid, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cid, CURLOPT_TIMEOUT, 90);
$result=curl_exec($cid);
curl_close($cid);
$rarray=array();
$rarray=explode(',', $result);
$result='Credit card transaction was denied.';
switch($rarray[0]){
case 1: $result='--DONE--';
case 2: $result='Credit card transaction was denied.';
case 3: $result="An error occurred while trying to process your information.<br><br>{$rarray[3]}";
}
return $result;
}
###############################################################################
function is_user_available($username){
global $data;
$confirms=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}confirms`".
" WHERE(`newuser`='{$username}') LIMIT 1"
);
$members=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE(`username`='{$username}') LIMIT 1"
);
return (bool)(!$confirms&&!$members);
}
function is_mail_available($email){
global $data;
$confirms=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}confirms`".
" WHERE(`newmail`='{$email}') LIMIT 1"
);
$members=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE(`email`='{$email}') LIMIT 1"
);
$emails=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}member_emails`".
" WHERE(`email`='{$email}') LIMIT 1"
);
return (bool)(!$confirms&&!$members&&!$emails);
}
function create_confirmation(
$newuser, $newpass, $newques, $newansw, $newmail,
$newfname, $newlname, $newcompany, $newregnum, $newdrvnum, $newaddress,
$newcity, $newcountry, $newstate, $newzip, $newphone, $newfax,
$sponsor=0
){
global $data;
$result=gencode();
$sponsor=($sponsor?$sponsor:0);
db_query(
"INSERT INTO `{$data['DbPrefix']}confirms`(".
'`newuser`,`newpass`,`newquestion`,`newanswer`,`newmail`,'.
($data['UseExtRegForm']?
'`newfname`,`newlname`,`newcompany`,`newregnum`,`newdrvnum`,`newaddress`,'.
'`newcity`,`newcountry`,`newstate`,`newzip`,`newphone`,`newfax`,':''
).
'`sponsor`,`confirm`'.
')VALUES('.
"'{$newuser}','{$newpass}','{$newques}','{$newansw}','{$newmail}',".
($data['UseExtRegForm']?
"'{$newfname}','{$newlname}','{$newcompany}','{$newregnum}','{$newdrvnum}',".
"'{$newaddress}','{$newcity}','{$newcountry}','{$newstate}','{$newzip}',".
"'{$newphone}','{$newfax}',":''
).
"{$sponsor},'{$result}'".
')'
);
$post['ccode']=$result;
$post['email']=$newmail;
$post['chash']=strtoupper(md5($post['ccode'].'|'.$post['email']));
send_email('CONFIRM-TO-MEMBER', $post);
}
function select_confirmation($ccode, $email, $chash=''){
global $data;
if(isset($chash)&&!empty($chash)){
$query="WHERE MD5(CONCAT(`confirm`,'|',`newmail`))='{$chash}'";
}else{
$query="WHERE(`confirm`='{$ccode}' AND `newmail`='{$email}')";
}
$confirm=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}confirms` {$query} LIMIT 1"
);
return $confirm[0]['id'];
}
function select_email_confirmation($ccode, $email, $chash=''){
global $data;
if(isset($chash)&&!empty($chash)){
$query="WHERE MD5(CONCAT(`confirm`,'|',`email`))='{$chash}'";
}else{
$query="WHERE(`confirm`='{$ccode}' AND `email`='{$email}')";
}
$confirm=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}member_emails` {$query} LIMIT 1"
);
return $confirm[0]['id'];
}
function update_confirmation($cid){
global $data;
db_query(
"DELETE FROM `{$data['DbPrefix']}confirms`".
' WHERE(TO_DAYS(NOW())-TO_DAYS(`cdate`)>=2)'
);
$confirm=db_rows('SELECT'. '`id`,`newuser`,`newpass`,`newquestion`,`newanswer`,`newmail`,'. ($data['UseExtRegForm']? '`newfname`,`newlname`,`newcompany`,`newregnum`,`newdrvnum`,`newaddress`,'. '`newcity`,`newcountry`,`newstate`,`newzip`,`newphone`,`newfax`,':'' ). '`sponsor`'. " FROM `{$data['DbPrefix']}confirms` WHERE(`id`='{$cid}')");
$confirm=$confirm[0];
foreach($confirm as $key=>$value){
$confirm[$key] = @addslashes($value);
}
db_query(
"INSERT INTO `{$data['DbPrefix']}members`(".
'`sponsor`,`username`,`password`,`email`,`question`,`answer`,'.
($data['UseExtRegForm']?
'`fname`,`lname`,`company`,`regnum`,`drvnum`,`address`,'.
'`city`,`country`,`state`,`zip`,`phone`,`fax`,':''
).
'`active`,`empty`,`cdate`'.
')VALUES('.
"{$confirm['sponsor']},'{$confirm['newuser']}','{$confirm['newpass']}','{$confirm['email']}',".
"'{$confirm['newquestion']}','{$confirm['newanswer']}',".
($data['UseExtRegForm']?
"'{$confirm['newfname']}','{$confirm['newlname']}','{$confirm['newcompany']}',".
"'{$confirm['newregnum']}','{$confirm['newdrvnum']}','{$confirm['newaddress']}',".
"'{$confirm['newcity']}','{$confirm['newcountry']}','{$confirm['newstate']}',".
"'{$confirm['newzip']}','{$confirm['newphone']}','{$confirm['newfax']}',":''
).
'1,'.($data['UseExtRegForm']?'0':'1').",'".date('Y-m-d H:i:s')."')"
);
$code=gencode();
$receiver=newid();
db_query("INSERT INTO `{$data['DbPrefix']}member_emails`
(`owner`,`email`,`active`,`primary`) VALUES
('{$receiver}','{$confirm['newmail']}',1,1)
");
db_query(
"DELETE FROM `{$data['DbPrefix']}confirms`".
" WHERE(`id`={$confirm['id']})"
);
if($data['SignupBonus']){
transaction(
-1,
$receiver,
$data['SignupBonus'],
0,
4,
1,
'Signup Bonus'
);
}
$post['username']=$confirm['newuser'];
$post['password']=$confirm['newpass'];
$post['email']=$confirm['newmail'];
send_email('SIGNUP-TO-MEMBER', $post);
if($data['ReferralPays']){
$post['email']=get_member_email($confirm['sponsor']);
send_email('DOWNLINE-CHANGE', $post);
}
$tmpays=get_unreg_member_pay($receiver,'RECEIVER');
if($tmpays[0]) update_unreg_member_pays($receiver);
}
function update_email_confirmation($eid){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}member_emails`".
" SET `confirm`='', `status`=2".
" WHERE `id`={$eid}"
);
}
function get_members_count($active=0){
global $data;
$result=db_rows(
'SELECT COUNT(`id`) AS `count`'.
" FROM `{$data['DbPrefix']}members`".
" WHERE `active`={$active}".
' LIMIT 1'
);
return $result[0]['count'];
}
function get_members_list($active=0, $start=0, $count=0, $online=false){
global $data;
$limit=($start?($count?" LIMIT {$start},{$count}":" LIMIT {$start}"):
($count?" LIMIT {$count}":''));
$members=db_rows(
"SELECT * FROM `{$data['DbPrefix']}members`".
" WHERE `active`={$active}".($online?' AND (UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`adate`)<1800)':'').
" ORDER BY `username` ASC{$limit}"
);
$result=array();
foreach($members as $key=>$value){
$result[$key]=$value;
$trans=db_rows(
'SELECT COUNT(`id`) AS `count`'.
" FROM `{$data['DbPrefix']}transactions`".
" WHERE `sender`={$result[$key]['id']}".
" OR `receiver`={$result[$key]['id']} LIMIT 1"
);
$result[$key]['transactions']=$trans[0]['count'];
$result[$key]['candelete']=$trans[0]['count']<2;
$result[$key]['email']=get_member_email($result[$key]['id'],true,true);
if($result[$key]['sponsor']){
$result[$key]['sname']=
get_member_username($result[$key]['sponsor']).'<br>('.
get_member_email($result[$key]['sponsor'],true,true).')'
;
}else $result[$key]['sname']='N/A';
}
return $result;
}
function get_members_count_where_pred($where_pred){
global $data;
$result=db_rows(
'SELECT COUNT(`id`) AS `count`'.
" FROM `{$data['DbPrefix']}members`".
" WHERE $where_pred ".
' LIMIT 1'
);
return $result[0]['count'];
}
function get_members_list_where_pred($start=0, $count=0, $where_pred){
global $data;
$limit=($start?($count?" LIMIT {$start},{$count}":" LIMIT {$start}"):
($count?" LIMIT {$count}":''));
$members=db_rows(
"SELECT * FROM `{$data['DbPrefix']}members`".
" WHERE $where_pred ".
" ORDER BY `username` ASC{$limit}"
);
$result=array();
foreach($members as $key=>$value){
$result[$key]=$value;
$trans=db_rows(
'SELECT COUNT(`id`) AS `count`'.
" FROM `{$data['DbPrefix']}transactions` ".
" WHERE `sender`={$result[$key]['id']}".
" OR `receiver`={$result[$key]['id']} LIMIT 1"
);
$result[$key]['transactions']=$trans[0]['count'];
$result[$key]['candelete']=$trans[0]['count']==0;
if($result[$key]['sponsor']){
$result[$key]['sname']=
get_member_username($result[$key]['sponsor']).'<br>('.
get_member_email($result[$key]['sponsor']).')'
;
}else $result[$key]['sname']='N/A';
}
return $result;
}
function get_member_id($username, $password='', $where=''){
global $data;
$result=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE (`username`='{$username}' OR `email`='{$username}')".
($password?" AND `password`='{$password}'":'').
($where?" AND $where":'').' LIMIT 1'
);
if(!$result){
$result=db_rows(
"SELECT `owner` as `id` FROM `{$data['DbPrefix']}member_emails`".
" WHERE `email`='{$username}' LIMIT 1"
);
if($result&&($password||$where)){
$result=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$result[0]['id']}".
($password?" AND `password`='{$password}'":'').
($where?" AND $where":'').' LIMIT 1'
);
}
}
return $result[0]['id'];
}
function get_member_email($uid, $primary=false, $confirmed=true){
global $data;
$result=db_rows(
"SELECT `email` FROM `{$data['DbPrefix']}member_emails`".
" WHERE `owner`={$uid}".
($primary?" AND `primary`='{$primary}'":'').
($confirmed?" AND `active`='{$confirmed}'":'').
' ORDER BY `primary` DESC'
);
return $result[0]['email'];
}
function count_member_emails($uid, $primary=false, $confirmed=true) {
global $data;
$result=db_rows(
'SELECT COUNT(`email`) AS `count`'.
" FROM `{$data['DbPrefix']}member_emails`".
" WHERE `owner`={$uid}".
($primary?" AND `primary`='{$primary}'":'').
($confirmed?" AND `active`='{$confirmed}'":'').
' LIMIT 1'
);
return $result[0]['count'];
}
function get_email_details($uid, $primary=false, $confirmed=true){
global $data;
$result=db_rows(
"SELECT * FROM `{$data['DbPrefix']}member_emails`".
" WHERE `owner`={$uid}".
($primary?" AND `primary`='{$primary}'":'').
($confirmed?" AND `active`='{$confirmed}'":'')
);
return $result;
}
function prnmemberemails($uid) {
global $data;
$str_add='';
$result=db_rows(
"SELECT `email` FROM `{$data['DbPrefix']}member_emails`".
" WHERE `owner`={$uid} AND `active`='1'".
' ORDER BY `primary` DESC'
);
foreach($result as $key=>$value) {
$str_add .= "<a href=mailto:{$result[$key]['email']}> {$result[$key]['email']}</a>".'<br>';
}
return $str_add;
}
function add_email($uid,$email){
global $data;
$max_email=$data['maxemails'];
$nb_emails=count_member_emails($uid,false,false);
if($nb_emails >= $max_email) return TOO_MANY_EMAILS;
elseif(verify_email($email)) return INVALID_EMAIL_ADDRESS;
elseif(email_exists($email)) return EMAIL_EXISTS;
else {
$verifcode=gencode($email);
$result=db_query(
"INSERT INTO `{$data['DbPrefix']}member_emails`".
'(`owner`,`email`,`active`,`primary`,`verifcode`) VALUES '.
"($uid,'{$email}',0,0,'{$verifcode}')"
);
if (!$result) return DB_ERROR;
$info=get_member_info($uid);
$post['email']=$email;
$post['fullname']=get_member_name($uid);
$post['ccode']=$verifcode;
$post['uid']=$uid;
$post['emailpage'];
send_email('CONFIRM-NEW-EMAIL',$post);
return SUCCESS;
}
}
function activate_email($uid, $verifcode){
global $data;
$confirm=db_rows(
"SELECT * FROM `{$data['DbPrefix']}member_emails` WHERE `owner`='$uid' AND `verifcode`='$verifcode' AND `active`=0");
if (!isset($confirm[0])) return CONFIRMATION_NOT_FOUND;
db_query("UPDATE `{$data['DbPrefix']}member_emails` SET `active`=1 WHERE `owner`={$uid} AND `verifcode`='{$verifcode}'");
$info=get_member_info($uid);
$post['email']=$confirm[0]['email'];
$post['fullname']=get_member_name($uid);
send_email('NEW-EMAIL-ACTIVATED',$post);
return SUCCESS;
}
function make_email_prim($uid, $email){
global $data;
if (verify_email($email)) return INVALID_EMAIL_ADDRESS;
$emails=get_email_details($uid,false,false);
$oldprim=get_member_email($uid,true);
foreach ($emails as $addr)
if($addr['email']==$email && $addr['primary']) return ALREADY_PRIMARY;
elseif($addr['email']==$email && !$addr['active']) return EMAIL_NOT_ACTIVE;
elseif($addr['email']==$email){
db_query("UPDATE {$data['DbPrefix']}member_emails SET `primary`=1 WHERE `owner`='{$uid}' AND `email`='{$email}'");
db_query("UPDATE {$data['DbPrefix']}member_emails SET `primary`=0 WHERE `owner`='{$uid}' AND `email`='{$oldprim}'");
db_query("UPDATE {$data['DbPrefix']}members SET `email`='{$email}' WHERE `id`='{$uid}'");
return SUCCESS;
}
return EMAIL_NOT_FOUND;
}
function get_email_detail($email, $type=ALL){
global $data;
if ($type==CONFIRMED) $result=db_rows(
"SELECT * FROM {$data['DbPrefix']}member_emails WHERE `email`='$email' AND `active`=1");
else $result=db_rows(
"SELECT * FROM {$data['DbPrefix']}member_emails WHERE `email`='$email'");
return $result[0];
}
function delete_member_email($uid, $email){
global $data;
if(verify_email($email)) return INVALID_EMAIL_ADDRESS;
$todel=get_email_detail($email);
if(!$todel) return EMAIL_NOT_FOUND;
elseif($todel['primary']) return CANNOT_DELETE_PRIMARY;
db_query("DELETE FROM {$data['DbPrefix']}member_emails WHERE owner='{$uid}' AND `email`='{$email}'");
return SUCCESS;
}
function email_exists ($email){
global $data;
$result=db_rows("SELECT owner FROM {$data['DbPrefix']}members_emails WHERE email='{$email}'");
return (bool)$result['0'];
}
function get_user_id($unoremail){
global $data;
if(verify_email($unoremail)){
$result=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE (`username`='{$unoremail}') AND `active`=1 LIMIT 1");
return $result[0]['id'];
} else {
$result=db_rows(
"SELECT `owner` FROM `{$data['DbPrefix']}member_emails` e, ".
"`{$data['DbPrefix']}members` m".
" WHERE (e.`email`='{$unoremail}' AND m.`active`=1)".
' LIMIT 1');
return $result[0]['owner'];
}
}
function get_sponsor_id($uid){
global $data;
$result=db_rows(
"SELECT `sponsor` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1"
);
return $result[0]['sponsor'];
}
function get_sponsors($uid){
global $data;
$members=db_rows(
'SELECT `id`,`username`,`email`'.
" FROM `{$data['DbPrefix']}members`".
($uid?" WHERE `id`<>{$uid} AND `sponsor`<>{$uid}":'')
);
$result=array('--');
foreach($members as $value)$result[$value['id']]="{$value['username']} ({$value['email']})";
return $result;
}
function get_member_username($uid){
global $data;
if($uid<0)return 'system';
$result=db_rows(
"SELECT `username` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1");
return $result[0]['username'];
}
function get_member_name($uid){
global $data;
if($uid<0)return 'system';
$result=db_rows(
"SELECT `fname`,`lname` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1");
return $result[0]['fname'].' '.strtoupper($result[0]['lname']);
}
function get_member_info($uid){
global $data;
$result=db_rows(
"SELECT * FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1");
$result[0]['emails']=db_rows(
"SELECT * FROM `{$data['DbPrefix']}member_emails`".
" WHERE `owner`={$uid} AND `email`<>'{$result[0]['email']}'");
return $result[0];
}
function get_member_status($uid){
global $data;
$result=db_rows(
"SELECT `status` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1"
);
return $result[0]['status'];
}
function get_ip_history($uid, $order=''){
global $data;
$result=db_rows(
"SELECT `date`,`address` FROM `{$data['DbPrefix']}visits`".
" WHERE `member`={$uid} ".($order?"ORDER BY `{$order}`":'ORDER BY `date` DESC')
);
return $result;
}
function is_member_found($username, $password){
return (bool)get_member_id($username, $password);
}
function is_member_active($username){
return (bool)get_member_id($username, '', '`active`=1');
}
function set_member_status($uid, $active){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members`".
' SET `active`='.(int)$active.
" WHERE `id`={$uid}"
);
}
function set_member_status_ex($uid, $status){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members`".
" SET `status`={$status}".
" WHERE `id`={$uid}"
);
}
function get_member_status_ex($uid){
global $data;
$record=db_rows(
"SELECT `status` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1"
);
return $record[0]['status'];
}
function set_member_inactive($username){
global $data;
set_member_status(get_member_id($username), false);
}
function delete_member($uid){
global $data;
db_query(
"DELETE FROM `{$data['DbPrefix']}members` WHERE `id`={$uid}"
);
}
function select_balance($uid){
global $data;
if($uid<0){
$isql=
'SELECT SUM(`fees`) AS `summ`'.
" FROM `{$data['DbPrefix']}transactions`".
' WHERE (`status`=1 OR `status`=6) LIMIT 1'
;
}else{
$isql=
'SELECT SUM(`amount`-`fees`) AS `summ`'.
" FROM `{$data['DbPrefix']}transactions`".
" WHERE `receiver`={$uid} AND (`status`=1 OR `status`=6) LIMIT 1"
;
}
$outgoing=db_rows(
'SELECT SUM(`amount`) AS `summ`'.
" FROM `{$data['DbPrefix']}transactions`".
" WHERE `sender`={$uid} AND (`status`=1 OR `status`=6) LIMIT 1"
);
$pending_out_unreg=db_rows(
'SELECT SUM(`amount`) AS `summ`'.
" FROM `{$data['DbPrefix']}temp_pays`".
" WHERE `sender`={$uid} AND (`status`=0) LIMIT 1"
);
$incoming=db_rows($isql);
$outgoing=(double)$outgoing[0]['summ'];
$pending_out_unreg=(double)$pending_out_unreg[0]['summ'];
$outgoing=$outgoing+$pending_out_unreg;
$incoming=(double)$incoming[0]['summ'];
return $incoming-$outgoing;
}
function set_last_access($username){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members`".
" SET `ldate`='".date('Y-m-d H:i:s')."',".
"`last_ip`='{$_SERVER['REMOTE_ADDR']}'".
' WHERE `id`='.get_member_id($username)
);
}
function set_last_access_date($uid, $reset=false){
global $data;
if(!$reset)$curr=date('Y-m-d H:i:s');else $curr=0;
db_query(
"UPDATE `{$data['DbPrefix']}members`".
" SET `adate`='{$curr}'".
" WHERE `id`={$uid}"
);
}
function save_remote_ip($uid, $address){
global $data;
db_query(
"INSERT `{$data['DbPrefix']}visits`(`member`,`date`,`address`".
")VALUES({$uid},'".date('Y-m-d H:i:s')."','{$address}')"
);
}
function is_valid_mail($email){
global $data;
$result=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}members`".
" WHERE `email`='{$email}' LIMIT 1"
);
$emails=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}member_emails`".
" WHERE(`email`='{$email}') LIMIT 1"
);
return (bool)(!$result&&!$emails);
}
function get_member_by_email($email){
global $data;
$result=db_rows(
"SELECT `password`,`question`,`answer` FROM `{$data['DbPrefix']}members`".
" WHERE `email`='{$email}'"
);
if(!$result){
$emails=db_rows(
"SELECT `owner` FROM `{$data['DbPrefix']}member_emails`".
" WHERE `email`='{$email}' LIMIT 1"
);
if($emails){
$result=db_rows(
"SELECT `password`,`question`,`answer` FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$emails[0]['owner']}"
);
}
}
return $result[0];
}
function is_info_empty($uid){
global $data;
$result=db_rows(
'SELECT `empty`'.
" FROM `{$data['DbPrefix']}members`".
" WHERE `id`={$uid} LIMIT 1"
);
return (bool)$result[0]['empty'];
}
function select_info($uid, $post){
global $data;
$result=$post;
$member=get_member_info($uid);
if(!$member){
$_SESSION['uid']=0;
$_SESSION['login']=false;
header("Location:{$data['Host']}/index.htm");
echo('ACCESS DENIED.');
exit;
}
foreach($member as $key=>$value)if(!isset($post[$key]))$result[$key]=$value;
if(!$result['active']){
$_SESSION['uid']=0;
$_SESSION['login']=false;
header("Location:{$data['Host']}/index.htm");
echo('ACCESS DENIED.');
exit;
}
return $result;
}
function insert_profile_info($post){
global $data;
if(!$post['sponsor'])$post['sponsor']=0;
db_query(
"INSERT INTO `{$data['DbPrefix']}members`(".
'`sponsor`,`username`,`password`,`email`,`active`,`empty`,'.
'`fname`,`lname`,`company`,`regnum`,`drvnum`,'.
'`address`,`city`,`country`,`state`,`zip`,`phone`,`fax`'.
')VALUES('.
"{$post['sponsor']},'{$post['username']}','{$post['password']}',".
"'{$post['email']}',0,0,'{$post['fname']}','{$post['lname']}',".
"'{$post['company']}','{$post['regnum']}','{$post['drvnum']}',".
"'{$post['address']}','{$post['city']}','{$post['country']}',".
"'{$post['state']}','{$post['zip']}','{$post['phone']}',".
"'{$post['fax']}'".
')'
);
$newid=newid();
db_query("INSERT INTO `{$data['DbPrefix']}member_emails`
(`owner`,`email`,`active`,`primary`) VALUES
('{$newid}','{$post['email']}',1,1)
");
return $newid;
}
function update_profile_info($post, $uid, $notify=true){
global $data;
if(!$post['sponsor'])$post['sponsor']=0;
db_query(
"UPDATE `{$data['DbPrefix']}members` SET ".
"`sponsor`={$post['sponsor']},".
"`empty`=0,`fname`='{$post['fname']}',`lname`='{$post['lname']}',".
"`company`='{$post['company']}',`regnum`='{$post['regnum']}',".
"`drvnum`='{$post['drvnum']}',`address`='{$post['address']}',".
"`city`='{$post['city']}',`country`='{$post['country']}',".
"`state`='{$post['state']}',`zip`='{$post['zip']}',".
"`phone`='{$post['phone']}',`fax`='{$post['fax']}',".
"`description`='{$post['description']}'".
" WHERE `id`={$uid}"
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-MEMBER-PROFILE', $post);
}
}
function update_private_info($post, $uid){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members` SET ".
"`username`='{$post['username']}',`password`='{$post['password']}',".
"`email`='{$post['email']}' WHERE `id`={$uid}"
);
}
function update_member_password($uid, $password, $notify=true){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members` SET ".
"`password`='{$password}'".
" WHERE `id`={$uid}"
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-MEMBER-PROFILE', $post);
}
}
function update_member_question($uid, $question, $answer, $notify=true){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}members` SET ".
"`question`='{$question}',`answer`='{$answer}'".
" WHERE `id`={$uid}"
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-MEMBER-PROFILE', $post);
}
}
function insert_email_info($email, $uid, $notify=true){
global $data;
db_query(
"INSERT INTO `{$data['DbPrefix']}member_emails`(".
'`owner`,`email`,`status`'.
')VALUES('.
"{$uid},'{$email}',0)"
);
if($notify)send_email_request(newid());
return newid();
}
function delete_email_info($gid){
global $data;
db_query(
"DELETE FROM `{$data['DbPrefix']}member_emails`".
" WHERE `id`={$gid}"
);
}
function send_email_request($gid){
global $data;
$emails=db_rows(
"SELECT * FROM `{$data['DbPrefix']}member_emails`".
" WHERE `id`={$gid} LIMIT 1"
);
if($emails[0]){
$post['ccode']=gencode();
db_query(
"UPDATE `{$data['DbPrefix']}member_emails`".
" SET `confirm`='{$post['ccode']}', `status`=1".
" WHERE `id`={$gid}"
);
$post['email']=$emails[0]['email'];
send_email('CONFIRM-EMAIL', $post);
}
}
function set_default_email($gid){
global $data;
$emails=db_rows(
"SELECT * FROM `{$data['DbPrefix']}member_emails`".
" WHERE `id`={$gid} LIMIT 1"
);
if($emails[0]){
db_query(
"INSERT INTO `{$data['DbPrefix']}member_emails`(".
'`owner`,`email`,`status`'.
')VALUES('.
"{$emails[0]['owner']},'".get_member_email($emails[0]['owner'])."',2)"
);
db_query(
"UPDATE `{$data['DbPrefix']}members`".
" SET `email`='{$emails[0]['email']}'".
" WHERE `id`={$emails[0]['owner']}"
);
db_query(
"DELETE FROM `{$data['DbPrefix']}member_emails`".
" WHERE `id`={$emails[0]['id']}"
);
}
}
function insert_card_info($post, $uid, $notify=true){
global $data;
db_query(
"INSERT INTO `{$data['DbPrefix']}cards`(".
'`owner`,`ctype`,`cname`,`cnumber`,`ccvv`,`cmonth`,`cyear`,'.
'`status`,`default`'.
')VALUES('.
"{$uid},'{$post['ctype']}','{$post['cname']}',".
"'{$post['cnumber']}','{$post['ccvv']}',".
"{$post['cmonth']},{$post['cyear']},".
'0,0)'
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-CARD-INFORMATION', $post);
}
return newid();
}
function update_card_info($post, $gid, $uid, $notify=true){
global $data;
$cnumber=(is_changed($post['cnumber']))?"`cnumber`='{$post['cnumber']}',":'';
$ccvv=(is_changed($post['ccvv']))?"`ccvv`='{$post['ccvv']}',":'';
db_query(
"UPDATE `{$data['DbPrefix']}cards` SET ".
"`ctype`='{$post['ctype']}',`cname`='{$post['cname']}',".
"{$cnumber}{$ccvv}".
"`cmonth`={$post['cmonth']},`cyear`={$post['cyear']}".
" WHERE `id`={$gid}"
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-CARD-INFORMATION', $post);
}
}
function delete_card($gid){
global $data;
db_query(
"DELETE FROM `{$data['DbPrefix']}cards`".
" WHERE `id`={$gid}"
);
}
function select_cards($uid, $hiden=true, $id=0, $single=false){
global $data;
$cards=db_rows(
"SELECT * FROM `{$data['DbPrefix']}cards`".
" WHERE `owner`={$uid}".
($id?" AND `id`={$id}":'').($single?' LIMIT 1':'')
);
$result=array();
foreach($cards as $key=>$value){
foreach($value as $name=>$v){
$result[$key][$name]=$v;
if($hiden){
if($name=='cnumber') $result[$key][$name]=encode($v, 4);
elseif($name=='ccvv') $result[$key][$name]=encode($v, 1);
}
}
}
return $result;
}
function insert_bank_info($post, $uid, $notify=true){
global $data;
db_query(
"INSERT INTO `{$data['DbPrefix']}banks`(".
'`owner`,`bname`,`baddress`,`bcity`,`bzip`,`bcountry`,`bstate`,'.
'`bphone`,`bnameacc`,`baccount`,`btype`,`brtgnum`,`bswift`,'.
'`status`,`default`'.
')VALUES('.
"{$uid},'{$post['bname']}','{$post['baddress']}','{$post['bcity']}',".
"'{$post['bzip']}','{$post['bcountry']}','{$post['bstate']}',".
"'{$post['bphone']}','{$post['bnameacc']}','{$post['baccount']}',".
"'{$post['btype']}','{$post['brtgnum']}','{$post['bswift']}',".
'0,0)'
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-BANK-INFORMATION', $post);
}
return newid();
}
function update_bank_info($post, $gid, $uid, $notify=true){
global $data;
db_query(
"UPDATE `{$data['DbPrefix']}banks` SET ".
"`bname`='{$post['bname']}',`baddress`='{$post['baddress']}',".
"`bcity`='{$post['bcity']}',`bzip`='{$post['bzip']}',".
"`bcountry`='{$post['bcountry']}',`bstate`='{$post['bstate']}',".
"`bphone`='{$post['bphone']}',`bnameacc`='{$post['bnameacc']}',".
"`baccount`='{$post['baccount']}',`btype`='{$post['btype']}',".
"`brtgnum`='{$post['brtgnum']}',`bswift`='{$post['bswift']}'".
" WHERE `id`={$gid}"
);
if($notify){
$post['email']=get_member_email($uid);
send_email('UPDATE-BANK-INFORMATION', $post);
}
}
function delete_bank($gid){
global $data;
db_query(
"DELETE FROM `{$data['DbPrefix']}banks`".
" WHERE `id`={$gid}"
);
}
function select_banks($uid, $id=0, $single=false){
global $data;
$banks=db_rows(
"SELECT * FROM `{$data['DbPrefix']}banks`".
" WHERE `owner`={$uid}".
($id?" AND `id`={$id}":'').($single?' LIMIT 1':'')
);
$result=array();
foreach($banks as $key=>$value){
foreach($value as $name=>$v)$result[$key][$name]=$v;
}
return $result;
}
function set_trtype($uid, $dir){
switch($dir){
case 'both':
return "(`sender`={$uid} OR `receiver`={$uid})";
case 'incoming':
return "`receiver`={$uid}";
case 'outgoing':
return "`sender`={$uid}";
}
return '';
}
function get_trans_count($where=''){
global $data;
$result=db_rows(
'SELECT COUNT(`id`) AS `count`'.
" FROM `{$data['DbPrefix']}transactions`{$where} LIMIT 1"
);
return $result[0]['count'];
}
function get_transactions_count($uid, $dir='both', $extra='1'){
$result=get_trans_count(
' WHERE '.($uid>0?set_trtype($uid, $dir).
($extra?" AND {$extra}":''):($extra?" {$extra}":''))
);
return $result;
}
function get_transactions_summ($where){
global $data;
$rows=db_rows(
'SELECT SUM(`amount`) AS `summ`, SUM(`fees`) AS `fees`'.
" FROM `{$data['DbPrefix']}transactions`".
($where?" WHERE {$where}":'').' ORDER BY `tdate` LIMIT 1'
);
$result['summ']=$rows[0]['summ'];
$result['fees']=$rows[0]['fees'];
return $result;
}
function get_transactions_summary($dateA, $dateB){
global $data;
foreach($data['TransactionType'] as $key=>$value){
$rows=get_transactions_summ(
"`type`={$key} AND".
" UNIX_TIMESTAMP(`tdate`)>={$dateA} AND".
" UNIX_TIMESTAMP(`tdate`)<{$dateB}"
);
$result[$value]['Summ']=prnpays($rows['summ']?$rows['summ']:0, false);
$result[$value]['Fees']=prnpays($rows['fees']?$rows['fees']:0, false);
}
return $result;
}
function get_transactions_year(){
global $data;
$years=db_rows(
'SELECT MIN(YEAR(`tdate`)) AS `min`, MAX(YEAR(`tdate`)) AS `max`'.
" FROM `{$data['DbPrefix']}transactions` LIMIT 1"
);
$result['min']=$years[0]['min'];
$result['max']=$years[0]['max'];
return $result;
}
function get_transactions_period(){
global $data;
$period=db_rows(
'SELECT MIN(`tdate`) AS `min`, MAX(`tdate`) AS `max`'.
" FROM `{$data['DbPrefix']}transactions` LIMIT 1"
);
$result['min']=getdate(strtotime($period[0]['min']));
$result['max']=getdate(strtotime($period[0]['max']));
return $result;
}
function can_refund($id, $uid){
global $data;
$balance=select_balance($uid);
$result=db_rows(
"SELECT `id` FROM `{$data['DbPrefix']}transactions`".
" WHERE `id`={$id} AND `receiver`={$uid}".
' AND `type`=0 AND (`status`=0 OR `status`=1)'.
" AND `amount`<{$balance}".
" AND TO_DAYS(NOW())-TO_DAYS(`tdate`)<{$data['RefundPeriod']}"
);
return $result[0];
}
function get_status_color($status){
$result='000000';
switch($status){
case 0:
$result='blue';
break;
case 1:
$result='green';
break;
case 2:
$result='red';
break;
case 3:
$result='maroon';
}
return $result;
}
function get_transactions(
$uid, $dir='both', $type=-1, $status=-1, $start=0,
$count=0, $order='', $suser='', $sdate=''
){
global $data;
if($suser||$sdata){
$start=0;
$count=0;
}
$order=($order?$order:'ORDER BY `tdate` DESC');
$limit=($start?($count?" LIMIT {$start},{$count}":" LIMIT {$start}"):
($count?" LIMIT {$count}":''));
$trans=db_rows(
'SELECT *,(TO_DAYS(NOW())-TO_DAYS(`tdate`)) as `period`'.
" FROM `{$data['DbPrefix']}transactions`".
($uid?' WHERE '.set_trtype($uid, $dir):'').
($type<0?'':($uid?' AND ':' WHERE ')."`type`={$type}").
($status<0?'':($uid||$type>=0?' AND ':' WHERE ')."`status`={$status}").
" {$order}{$limit}"
);
$result=array();
foreach($trans as $key=>$value){
if($suser){
if(
strpos(get_member_username($value['sender']), $suser)===false
&&
strpos(get_member_username($value['receiver']), $suser)===false
)continue;
}elseif($sdate){
if(strpos($value['tdate'], $sdate)===false)continue;
}
$dir=(bool)($value['sender']!=$uid);
$result[$key]['id']=$value['id'];
$result[$key]['direction']=$dir?'FROM':'TO';
$result[$key]['sender']=$value['sender'];
$result[$key]['senduser']=prnuser($value['sender']);
$result[$key]['receiver']=$value['receiver'];
$result[$key]['recvuser']=prnuser($value['receiver']);
$result[$key]['userid']=$dir?$value['sender']:$value['receiver'];
$result[$key]['username']=prnuser($result[$key]['userid']);
$result[$key]['oamount']=$dir?$value['amount']:-$value['amount'];
$result[$key]['amount']=prnpays($result[$key]['oamount']);
$result[$key]['tdate']=prndate($value['tdate']);
$result[$key]['period']=$value['period'];
$result[$key]['ostatus']=$value['status'];
$result[$key]['type']=$data['TransactionType'][$value['type']];
$result[$key]['status']=
'<font color='.get_status_color($value['status']).'>'.
$data['TransactionStatus'][$value['status']].
'</font>'
;
if($value['fees']>0&&& |
|
_________________ Decoded by ASD @ Lost-codes.co.uk |
|
|
|
|
www.waraxe.us Forum Index -> PHP script decode requests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT
Page 1 of 1
|
|
|
Powered by phpBB © 2001-2008 phpBB Group
|
|
|
|
|