Kod PHP:
<?php
$config['profitsms'] = array();
$config['profitsms_enabled'] = true;
$config['profitsms_api_code'] = ''; //twoj API kod.
//USTAWIENIA KONFIGURACYJNE DLA PIERWSZEJ OPCJI
$config['profitsms'][0]['sms_number'] = '7055'; //nr sms
$config['profitsms'][0]['points'] = 4; // liczba punktow do dodania
$config['profitsms'][0]['sms_code'] = 'KOD.GW 2032'; // kod jaki użytkownik ma wysłać
$config['profitsms'][0]['cost'] = '0.62 brutto'; // cena
//USTAWIENIA KONFIGURACJII DLA DRUGIEJ OPCJI
$config['profitsms'][1]['sms_number'] = '7955';
$config['profitsms'][1]['points'] = 5;
$config['profitsms'][1]['sms_code'] = 'KOD.DW 2321';
$config['profitsms'][1]['cost'] = '11.07 brutto';
function check_profitsms_code($api,$code,$smsNr) {
global $config;
if(!empty($smsNr)) {
$sms_string = '&smsNr='.$smsNr;
}
if(!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
$code = urlencode($code);
$handle = fopen('http://profitsms.pl/check.php?apiKey='.$api.'&code='.$code.$sms_string,'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($_REQUEST['system'] == 'profitsms' && $config['profitsms_enabled']) {
$to_user = $_POST['login'];
$profit_options = '<select name="options">';
foreach($config['profitsms'] as $k=>$v) {
$profit_options .= '<option value="'.$k.'">'.$v['sms_code'].' na numer '.$v['sms_number'].' SMS za '.$v['cost'].'</option>';
$profit_text .= '<b>*Wysyłając SMS na numer <font color="#F93318">'.$v['sms_number'].'</font> o treści <font color="#F93318">'.$v['sms_code'].'</font>
za <font color="#F93318">'.$v['cost'].'</font> otrzymasz <font color="#F93318">'.$v['points'].'</font> punktów premium<br />';
}
//actions after submit
if(isset($_POST['ok'])) {
if(empty($_POST['login'])) {
$message[] = 'Proszę wymagane: Login użytkownika';
}
if(empty($_POST['code'])) {
$message[] = 'Pole wymagane: SMS kod';
}
if(count($message) == 0){
if(is_numeric($_POST['login']))
{
$account = new OTS_Account();
$account->find($_POST['login']);
}
else
{
$player = new OTS_Player();
$player->find($_POST['login']);
if($player->isLoaded())
$account = $player->getAccount();
else
$account = new OTS_Account();
}
if(!$account->isLoaded()) {
$message[] = 'Konto o podanym nicku nie istnieje';
} else {
if(check_profitsms_code($config['profitsms_api_code'],$_POST['code'],$config['profitsms'][$_POST['options']]['sms_number']) == 1) {
if(add_points($account,$config['profitsms'][$_POST['options']]['points'])) {
save_trans('trans/profitsms.log', $account->getId(), $_POST['code']);
$message[] = 'Do twojego konta zostało dodane '.$config['profitsms'][$_POST['options']]['points'].' punktów premium!';
} else {
$message[] = 'W chwili obecnej nie możemy dodać punktów do twojego konta. Spróboj ponownie';
}
} else {
$message[] = 'Podany kod SMS jest niepoprawny';
}
}
}
}
//end actions
if(count($message) > 0) {
foreach($message as $v) {
$getMessage .= '<tr>
<td colspan="2" align="center"><b>'.$v.'</b></td>
</tr>';
}
}
$profit_options .= '</select>';
$main_content .= '<form action="" method="post">';
$main_content .= '<table>
<tr>
<td colspan="2"><h2 align="center">SMS</h2></td>
</tr>
'.$getMessage.'
<tr>
<td colspan="2">'.$profit_text.'</td>
</tr>
<tr>
<td width="35%">
<b>Nazwa postaci lub numer konta</b></td>
<td><input type="text" name="login" value="" /></td>
</tr>
<tr>
<td width="35%">
<b>Kod z sms-a</b> </td>
<td><input type="text" name="code" value="" /></td>
</tr>
<tr>
<td width="35%">
<b>Opcja SMS<b></td>
<td>'.$profit_options.'</td>
</tr>
<tr>
<td width="35%"></td>
<td><input type="submit" name="ok" value="sprawdz" /></td>
</tr>
<tr>
<td colspan="2" align="center" style="padding:20px 0 0 0;">
- Usługa działa w sieciach: Plus, 36i6, T-Mobile, Orange, PoP, Play, Sami Swoi, Mobilking.<br>
Wlasciciel serwisu:xxxx<br>
Kontakt elektroniczny:[email protected]<br>
<br>
<center>
Serwis SMS obsługuje<a href="http://profitsms.pl/" target="_blank">ProfitSMS.pl</a>
</center>
<img src="http://profitsms.pl/design/top_logo.gif" alt="profitsms" />
</td>
</tr>
</table>';
$main_content .= '</form>';
}
?>
Kod:
$config['profitsms_enabled'] = true;
$config['profitsms_api_code'] = '';
Powyższy kod odpowiada za podstawowe dane konfiguracyjne, dzięki którym będziemy mogli połączyć się z skryptem sprawdzającym profitsms.pl
W poniższym przykładzie prezentujemy przykładową konfigurację dla schematu:
KOD.GW 2032 na numer 7055 SMS za 0,62 brutto
Wyżej wymieniona opcja pojawia się automatycznie w polu listy, po poprawnym uzupełnieniu danych konfiguracyjnych w pliku shop-buypoints.php
Przykładowa konfiguracja oferty:
Kod:
$config['profitsms'][0]['sms_number'] = '7055';
$config['profitsms'][0]['points'] = 4; //
$config['profitsms'][0]['sms_code'] = 'KOD.GW 2032';
$config['profitsms'][0]['cost'] = '0.62 brutto';
Opis parametrów:
sms_number – numer sms na który wysyłamy daną wiadomość
points – liczba punktów które zostaną dodane do konta po użyciu kodu
sms_code – nazwa usługi którą chce wykupić gracz
cost – informacja dla klienta o cenie usługi.
W celu dodania wielu usług, kopiujemy powyższy kod, zmieniając jego liczbę porządkową, czyli np. dla dwóch usług kod będzie wyglądał tak
Kod:
$config['profitsms'][0]['sms_number'] = '7055';
$config['profitsms'][0]['points'] = 4; //
$config['profitsms'][0]['sms_code'] = 'KOD.GW 2032';
$config['profitsms'][0]['cost'] = '0.62 brutto';
$config['profitsms'][1]['sms_number'] = '7055';
$config['profitsms'][1]['points'] = 10; //
$config['profitsms'][1]['sms_code'] = 'KOD.GW 3121';
$config['profitsms'][1]['cost'] = '0.62 brutto';
Po poprawnym wypełnieniu danych, należy dodać do pliku index.php następujący kod:
Kod:
case "buypoints";
$subtopic = "buypoints";
$topic = "Buy Points";
include("shop-buypoints.php");
break;
Zakładki