• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[ModernAAC]Homepay script

kamilvt

-.-'
Joined
May 16, 2008
Messages
22
Reaction score
2
Location
P[r]oland
Hi, i rewrite script from gesior aac, now i have first Script, only homepay version

I'll add the rest later

Script first - homepay version:

PHP:
<?PHP 
require("config.php");
$ots = POT::getInstance();
$ots->connect(POT::DB_MYSQL, connection());
$SQL = $ots->getDBHandle();
$config['server']['serverName']='Astalath.pl';
####################       CONFIG      ################################################### 
#aktywacja homepay, wartosci: true / false 
$config['homepay'] = array(); 
$config['homepay_active'] = true; 
$config['homepay_active_sms'] = true; #active homepay sms system? 
$config['homepay_active_transfer'] = true; #active homepay transfer system? 
# przykladowy konfig dla SMS 
$config['homepay'][2]['acc_id']=2; 
$config['homepay'][2]['addpoints']=10; 
$config['homepay'][2]['sms_number']="79550"; 
$config['homepay'][2]['type']="sms"; 
$config['homepay'][2]['sms_text']="HPAY.NASZAUSLUGA"; 
$config['homepay'][2]['sms_cost']="10.98 zl brutto"; 

# przykladowy konfig dla przelewu 
$config['homepay'][1]['acc_id']=1; 
$config['homepay'][1]['addpoints']=10; 
$config['homepay'][1]['link']="https://ssl.homepay.pl/wplata/1-NASZAUSLUGA"; 
$config['homepay'][1]['type']="przelew"; 
$config['homepay'][1]['przelew_text']="NASZAUSLUGA"; 
$config['homepay'][1]['przelew_cost']="10.00 zl brutto"; 
################################################################################# 
# aktywacja uslugi daopay 
$config['daopay'] = array(); 
$config['daopay_active'] = false; #true/false 
# przykład configu dla daopay 
$config['daopay'][21]['appcode'] = 12345; # 
$config['daopay'][21]['prodcode'] = 'NAZWAUSLUGI'; # 
$config['daopay'][21]['addpoints'] = '100'; # 
$config['daopay'][21]['cost'] = "1 euro inc. VAT"; # 
################################################################################# 
function save_trans($file, $acc, $code) 
{ 
     $hak = fopen($file, "a"); 
     fwrite($hak, $code.'='.$acc.' 
'); 
     fclose($hak); 
} 

function check_code_homepay($code,$usluga) 
{ 
global $config; 
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0; 
$code=urlencode($code); 
$handle=fopen("http://homepay.pl/sms/check_code.php?acc_id=".(int)($config['homepay'][$usluga]['acc_id'])."&code=".$code,'r'); 

$status=fgets($handle,8); 
fclose($handle); 
return $status; 
} 

function check_tcode_homepay($code,$usluga) 
{ 
global $config; 
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0; 
$code=urlencode($code); 
$handle=fopen("http://homepay.pl/API/check_tcode.php?acc_id=".(int)($config['homepay'][$usluga]['acc_id'])."&code=".$code,'r'); 

$status=fgets($handle,8); 
fclose($handle); 
return $status; 
} 

function add_points(OTS_Account $account, $number_of_points) 
{ 
     if($account->isLoaded()) 
     { 
          $account->setCustomField('premium_points', ($account->getCustomField('premium_points')+$number_of_points)); 
          return true; 
     } 
     else 
          return false; 
} 


if(isset($_POST['submit'])){
 

################################################################################# 
$sms_type = (int) $_POST['sms_type']; 
$posted_code = trim($_POST['code']); 
$to_user = trim($_POST['to_user']); 
$verify_code = trim($_POST['verify_code']); 
################################################################################# 
$errors = array();
if(!empty($to_user)) 
{ 
     if(is_numeric($to_user)) 
     { 
          $account = new OTS_Account(); 
          $account->find($to_user); 
     } 
     else 
     { 
          $player = new OTS_Player(); 
          $player->find($to_user); 
          if($player->isLoaded()) 
               $account = $player->getAccount(); 
          else 
               $account = new OTS_Account(); 
     } 
      
     if(empty($posted_code)) 
          $errors[] = 'Prosze wpisac kod z SMSa/przelewu.'; 
          
     if(!$account->isLoaded()) 
          $errors[] = 'Konto/konto postaci o podanym nicku nie istnieje.'; 
          
    
          
          if(count($errors) == 0) 
          { 
          if($config['homepay'][$sms_type]['type']=="sms") 
               $code_info = check_code_homepay($posted_code,$sms_type); 
               else 
               $code_info = check_tcode_homepay($posted_code,$sms_type); 
                
                
               if($code_info != "1") 
                    $errors[] = 'Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu.'; 
               else 
               { 
                    if(add_points($account, $config['homepay'][$sms_type]['addpoints'])) 
                    { 
                         save_trans('trans/homepay.log', $account->getId(), $posted_code);                          
                          
                         echo '<h1><font color="red">Dodano '.$config['homepay'][$sms_type]['addpoints'].' punktow premium do konta: '.$to_user.' !</font></h1>'; 
                    } 
                    else 
                         $errors[] = 'Wystapil blad podczas dodawania punktow do konta, sproboj ponownie.'; 
               } 
          } 
     } 

if(count($errors) > 0) 
{ 
     echo 'Wystapily bledy:'; 
     foreach($errors as $error) 
          echo '<br />* '.$error; 
     echo '<hr /><hr />'; 
} 
}
if($config['homepay_active_sms']) 
{ 
     echo '<table><tr><td><h2 align="center">SMS</h2>Prosimy zapoznać się z regulaminem świadczonych usług zamieszczonym na dole tej strony.<br/><br/>'; 
     foreach($config['homepay'] as $sms) 
          if($sms['type'] == 'sms') 
               echo '<b>* Na numer <font color="green">'.$sms['sms_number'].'</font> o tresci <font color="green"><b>'.$sms['sms_text'].'</b></font> za <font color="green"><b>'.$sms['sms_cost'].'</b></font>, a za kod dostaniesz <font color="green"><b>'.$sms['addpoints'].'</b></font> punktow premium.</b><br/>'; 
     echo '</td></tr></table><br />'; 
} 
if($config['homepay_active_transfer']) 
{ 
     echo '<table><tr><td><h2 align="center">Przelew</h2>Prosimy zapoznać się z regulaminem świadczonych usług zamieszczonym na dole tej strony.<br/><br/>'; 
     foreach($config['homepay'] as $przelew) 
          if($przelew['type'] == 'przelew') 
               echo '<b>* Adres - <a href="'.$przelew['link'].'"><font color="green">'.$przelew['link'].'</font></a> - koszt <font color="green"><b>'.$przelew['przelew_cost'].'</b></font>, a za kod dostaniesz <font color="green"><b>'.$przelew['addpoints'].'</b></font> punktow premium.</b><br/>'; 
     echo '</td></tr></table><br /> 
     '; 
} 
?>
<form method="post" action="dotpay" id="enter_code"><table>
<tr><td><b>Nick postaci lub numer konta: </b></td><td><input type="text" size="20" value="<?$to_user?>" name="to_user" /></td></tr>
<tr><td><b>Kod z SMSa: </b></td><td><input type="text" id="code" size="20" value="<?$posted_code?>" name="code" /></td></tr>
<tr><td><b>Typ wyslanego SMSa: </b></td><td><select name="sms_type">
<?
foreach($config['homepay'] as $id => $sms) 
     if($sms['type'] == 'sms') 
          echo '<option value="'.$id.'">numer '.$sms['sms_number'].' - kod '.$sms['sms_text'].' - SMS za '.$sms['sms_cost'].'</option>'; 
     elseif($przelew['type'] == 'przelew') 
          echo '<option value="'.$id.'">przelew - kod '.$przelew['przelew_text'].' - za '.$przelew['przelew_cost'].'</option>'; 
echo '</select></td></tr>'; 
?>
<tr><td></td><td><input type="submit" name='submit' value="Sprawdz" /></td></tr></table></form></br></br>

<h2 align="center"><font color="green">Po zakupie itemków proszę przelogować postać, aby zapobiec utracie rzeczy.</font></h2></td></tr></table><br /> 
<table><tr><td> 
<center><img border="0" src="http://homepay.pl/theme/default/image/logo/homepay_logo26.png"></center><br /> 
<hr> 
Serwis SMS obslugiwany przez <a href="http://www.homepay.pl" target="_blank">Homepay.pl</a><br /> 

     Regulamin: <a href="http://homepay.pl/regulamin/regulamin_sms_premium/" target="_blank">http://homepay.pl/regulamin/regulamin_sms_premium/</a><br /> 
     Usluga dostepna w sieciach: Era, Orange, Play, Plus GSM.<br/> 
<hr> 
<b>Regulamin usług dostępnych na stronie:</b> 
<br/> 
<b>1.a)</b> Kiedy Twój poprawnie wysłany SMS zostanie dostarczony otrzymasz SMS zwrotny z kodem. 
<br/> 
<b>1.b)</b> Kiedy Twój przelew zostanie zaksięgowany (z kart kredytowych i bankow internetowych z listy, jest to kwestia paru sekund) na e-mail który podałeś w formularzu otrzymasz kod. 
<br/> 
<b>2.</b> Po otrzymaniu kodu SMS/przelewu i wpisaniu go wraz z nazwą konta w powyższym formularzu, na serwerze Astalath.pl podane konto zostanie automatycznie doładowane o okresloną ilość <b>punktów premium</b> które nastepnie moga byc zamienione na wirtualne przedmioty w grze Open Tibia Serwer zwaną <b>Astalath.pl</b>. 
<br/> 
<b>3.</b> Do pełnego skozystania z usługi wymagana jest przeglądarka internetowa oraz połączenie z siecią Internet. 
<br/> 
<b>4.</b> <b>Astalath.pl</b> nie odpowiada za źle wpisane tresci SMS. 
<br/> 
<b>5.</b> W razie problemów z działaniem usługi należy kontaktować się z <a href="mailto:[email protected]">[email protected]</a> 
</td></tr></table>
 
your script dont add points to accounts.
when want to check code it going to shop offert always. and still got 0 points

i changed
PHP:
<form method="post" action="daopay" id="enter_code"><table>
to

PHP:
<form method="post" action="homepay" id="enter_code"><table>

so now its says:

Code:
A PHP Error was encountered

Severity: Notice

Message: Undefined index: homepay

Filename: pages/homepay.php

Line Number: 42

Code:
A PHP Error was encountered

Severity: Notice

Message: Undefined index: verify_code

Filename: pages/homepay.php

Line Number: 80
second error can be fixed by removed line (no needed)
Code:
$verify_code = trim($_POST['verify_code']);
any one know how to fix first ?
 
Last edited:
I think this should work.

PHP:
<?PHP
### CREDITS ###
/* 
    homepay-buypoints fixed on ModernAAC
    by SunShine/SunnShine
    edited by Homepay.pl
    feel free to donate -> [email protected]
    respect the credits and my work, please
*/
###############

### NIE RUSZAC! ###
require("config.php"); 
$ots = POT::getInstance(); 
$ots->connect(POT::DB_MYSQL, connection()); 
$SQL = $ots->getDBHandle(); 
$config['homepay'] = array();
#################

### KONFIGURACJA ###

## sms ##

# smsy aktywne? true/false
$config['homepay_active_sms'] = true; 

# przykladowy konfig dla SMS
$config['homepay'][2]['acc_id']=2;
$config['homepay'][2]['addpoints']=10;
$config['homepay'][2]['sms_number']="79550";
$config['homepay'][2]['type']="sms";
$config['homepay'][2]['sms_text']="HPAY.NASZAUSLUGA";
$config['homepay'][2]['sms_cost']="10.98 zl brutto";

## przelewy ##

# przelewy aktywne? true/false
$config['homepay_active_transfer'] = false; 

# przykladowy konfig dla przelewu
$config['homepay'][1]['acc_id']=1;
$config['homepay'][1]['addpoints']=10;
$config['homepay'][1]['link']="https://ssl.homepay.pl/wplata/1-NASZAUSLUGA";
$config['homepay'][1]['type']="przelew";
$config['homepay'][1]['przelew_text']="NASZAUSLUGA";
$config['homepay'][1]['przelew_cost']="10.00 zl brutto";

####NIE RUSZAC NIZEJ JESLI NIE WIESZ CO ROBISZ

##funkcje
function save_trans($file, $acc, $code)
{
    $hak = fopen($file, "a");
    fwrite($hak, $code.'='.$acc.'');
    fclose($hak);
}

function save_nick($file, $acc)
{
    $hak = fopen($file, "a");
    if(fwrite($hak, $acc)==FALSE)
        $errors[] = 'Cos zjebales xD';
    fclose($hak);
}

function check_code_homepay($code,$usluga)
{
global $config;
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
$code=urlencode($code);
$handle=fopen("http://homepay.pl/sms/check_code.php?acc_id=".(int)($config['homepay'][$usluga]['acc_id'])."&code=".$code,'r');

$status=fgets($handle,8);
fclose($handle);
return $status;
}

function check_tcode_homepay($code,$usluga)
{
global $config;
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
$code=urlencode($code);
$handle=fopen("http://homepay.pl/API/check_tcode.php?acc_id=".(int)($config['homepay'][$usluga]['acc_id'])."&code=".$code,'r');

$status=fgets($handle,8);
fclose($handle);
return $status;
}

function add_points(OTS_Account $account, $number_of_points)
{
    if($account->isLoaded())
    {
        $account->setCustomField('premium_points', ($account->getCustomField('premium_points')+$number_of_points));
        return true;
    }
    else
        return false;
}


##reszta
$sms_type = (int) $_POST['sms_type'];
$posted_code = trim($_POST['code']);
$to_user = trim($_POST['to_user']);
$verify_code = trim(isset($_POST['verify_code']));

if(!empty($to_user))
{
    if(is_numeric($to_user))
    {
        $account = new OTS_Account();
        $account->find($to_user);
    }
    else
    {
        $player = new OTS_Player();
        $player->find($to_user);
        if($player->isLoaded())
            $account = $player->getAccount();
        else
            $account = new OTS_Account();
    }
    $errors = array();
    if(empty($posted_code))
        $errors[] = 'Prosze wpisac kod z SMSa/przelewu.';
        
    if(!$account->isLoaded())
        $errors[] = 'Konto/konto postaci o podanym nicku nie istnieje.';
        
    if(count($errors) == 0 || !isset($errors))
    {
        if(count($errors) == 0)
          {
          if($config['homepay'][$sms_type]['type']=="sms")
               $code_info = check_code_homepay($posted_code,$sms_type);
               else
               $code_info = check_tcode_homepay($posted_code,$sms_type);
               
               
               if($code_info != "1")
                    $errors[] = 'Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu.';
               else
               {
                    if(add_points($account, $config['homepay'][$sms_type]['addpoints']))
                {
                    save_trans('config/homepay.log', $account->getId(), $posted_code);    
                    echo '<h1><font color="red">Dodano '.$config['homepay'][$sms_type]['addpoints'].' punktow premium do konta: '.$to_user.' !</font></h1>';
                }
                else
                    $errors[] = 'Wystapil blad podczas dodawania punktow do konta, sproboj ponownie.';
                }
            }
        }
    }
}

if($errors)
{
    echo 'Wystapily bledy:';
    foreach($errors as $error)
    echo '<br />* '.$error;
    echo '<hr /><hr />';
}

if($config['homepay_active_sms'])
{
    echo '<h2><fieldset><font color="gold">Kup Punkty</font><br><br> <center>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wyslij SMSa:<br><br></center></h2>';



    foreach($config['homepay'] as $typ)
        if($typ['type'] == 'sms')
            echo '<br /><b><fieldset> Na numer <font color="red">'.$typ['sms_number'].'</font> o tresci <font color="red"><b>'.$typ['sms_text'].'</b></font> za <font color="red"><b>'.$typ['sms_cost'].'</b></font>, a za kod dostaniesz <font color="red"><b>'.$typ['addpoints'].'</b></font> punktow premium.</fieldset><br></b>';
    echo '
    <p style="margin:10px 0 10px 0;">
    <fieldset>Serwis SMS obslugiwany przez: <a href="http://www.homepay.pl" target="_blank">Homepay.pl</a><br />
    Regulamin: <a href="http://homepay.pl/regulamin/regulamin_sms_premium/" target="_blank">http://homepay.pl/regulamin/regulamin_sms_premium/</a><br />
Reklamacje Skladamy Tutaj : <a href="http://www.homepay.pl/reklamacje/" target="_blank">Homepay.pl/reklamacje/</a><br>
    Usluga dostepna w sieciach: Orange, Plus GSM, Era, Play.<br />
    <b>'.isset($config['server']['serverName']).'</b> nie odpowiedamy za zle wpisane tresci SMS.</fieldset><br><br /><br><br><br><hr />';
}
if($config['homepay_active_transfer'])
{
    echo '<br><h2>Przelew</h2>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wejdz na jeden z adresow i wypelnij formularz:';
    foreach($config['homepay'] as $typ)
        if($typ['type'] == 'przelew')
            echo '<br /><b>* Adres - <a href="'.$typ['link'].'"><font color="green">'.$typ['link'].'</font></a> - koszt <font color="green"><b>'.$typ['przelew_cost'].'</b></font>, a za kod dostaniesz <font color="green"><b>'.$typ['addpoints'].'</b></font> punktow premium.</b>';
    echo '<br><br>Kiedy Twoj przelew dojdzie (z kart kredytowych i bankow internetowych z listy jest to kwestia paru sekund) na e-mail ktory podales w formularzu otrzymasz kod. Kod ten mozesz wymienic na tej stronie na punkty premium w formularzu ponizej.<hr /><br />';
}
echo '<form action="?subtopic=buypoints&system=homepay" method="POST"><table>';
echo '<tr><td><b>Nazwa postaci: </b></td><td><input type="text" size="20" value="'.$to_user.'" name="to_user" /></td></tr>
<tr><td><b>Kod z SMSa: </b></td<td><input type="text" size="20" value="'.$posted_code.'" name="code" /></td></tr><tr><td><b>Typ wyslanego SMSa: </b></td><td><select name="sms_type">';
foreach($config['homepay'] as $id => $typ)
    if($typ['type'] == 'sms')
        echo '<option value="'.$id.'">numer '.$typ['sms_number'].' - kod '.$typ['sms_text'].' - SMS za '.$typ['sms_cost'].'</option>';
    elseif($typ['type'] == 'przelew')
        echo '<option value="'.$id.'">przelew - kod '.$typ['przelew_text'].' - za '.$typ['przelew_cost'].'</option>';
echo '</select></td></tr>';
echo '<tr><td></td><td><input type="submit" value="Sprawdz" /></td></tr></table></form>';


?>
 
Homepay is the Polish equivalent to Daopay or Zaypay (at least I think so). I am not sure about its legitimate status though as I have never used it, nor have I heard anything good or bad about it. Might just be because I do not speak Polish. ;-)
 
Back
Top