Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Promowane odpowiedzi

adam2350    11

Witam ,

Czy ktoś by mógł by mi podmienić kod aby działało dokładnie api sms z profit sms do micro sms.pl

kod z pliku

<?php
session_start();
//Sprawdzanie i ladowanie wymaganych plikow
if(!file_exists("config/config.php")){
    Header("Location: /?action=sklep");
    die();
} else include_once("config/config.php");
if(!file_exists("rcon.class.php")){
    Header("Location: /?action=sklep");
    die();
} else include_once("rcon.class.php");
function rcommand($ip, $port, $password, $timeout, $user, $command){
    try{
        $Rcon = new MinecraftRcon;    
        $Rcon->Connect($ip, $port, $password, $timeout);
        $Data = $Rcon->Command($command);
        if($Data === false){
            saveError($user, $command);
            throw new MinecraftRconException("Problem z pobraniem wyniku");
        } else if(StrLen($Data) == 0){
            saveError($user, $command);
            throw new MinecraftRconException("Otrzymany wynik jest pusty");
        }
        echo HTMLSpecialChars($Data);
    } catch(MinecraftRconException $e){
        echo $e->getMessage();
    }
    $Rcon->Disconnect();
}
//sprawdza czy nick jest poprawny
function hasSelectedString($string){
    if(strlen($string > 16)) return false;
    $allowedChars = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","0","1","2","3","4","5","6","7","8","9","_");
    $string = str_split($string);
    foreach($string as $letter) {
        if(!in_array($letter, $allowedChars)){
            return false;
        }
    }
    return true;
}
function saveError($user, $command){
    mysql_query("INSERT INTO sms_backup (service, command) VALUES ('$servername', '$command')");
}
//wykonuje formularz
if($_POST) {
    //Pobieranie danych z formularza
    $id = mysql_real_escape_string(strip_tags(trim($_POST['id'])));
    $username = mysql_real_escape_string(strip_tags(trim($_POST['username'])));
    $reusername = mysql_real_escape_string(strip_tags(trim($_POST['re_username'])));
    if(!(isSet($id) || isSet($username) || isSet($reusername))){
        $_SESSION['message'] = "Musisz wypełnić wszystkie pola formularzu!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if(!isSet($username)){
        $_SESSION['message'] = "Podaj swój nick!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if($username !== $reusername){
        $_SESSION['message'] = "Podane nazy użytkownika nie są identyczne!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if(!hasSelectedString($username)){
        $_SESSION['message'] = "Podany nick zawiera niedozwolone znaki!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    $query = mysql_query("SELECT command FROM sms WHERE id = '".$id."'");
    if(mysql_num_rows($query) == 0){
        $_SESSION['message'] = "Blad, wybrana usługa została źle skonfigurowana. Zgłoś to administracji!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    //Pobieranie danych z formularza
    $code = mysql_real_escape_string(strip_tags(trim($_POST['code'])));
    $key = mysql_real_escape_string(strip_tags(trim($_POST['key'])));
    $row = mysql_fetch_array($query);
    $handle =  fopen('http://profitsms.pl/check.php?apiKey='.$apiKey.'&code='.$code.'&smsNr='.$numer,'r'); 
    $status = fgets($handle,8); 
    fclose($handle); 
    switch($status){  
        case 1: 
			$time = time();
			$cmd = $row['command'];
            mysql_query("INSERT INTO sms_database (user, buy_time, smskey, service, command) VALUES ('$username', $time, '$code', '$id', '$cmd')");
            foreach(explode(";", $row['command']) as $key)
				rcommand($rconIp, $rconPort, $rconPass, 10, $username, trim(str_replace("{GRACZ}", $username, $key)));
            $_SESSION['message'] = "Twoja usluga zostala aktywowana!";
            Header("Location: /?action=sms&key=".$id."");
            die();
        break; 
        case 0: 
            $_SESSION['message'] = "Podany kod jest nieprawidłowy, bądź wybrałeś złą usługe dla otrzymanego kodu.";
            Header("Location: /?action=sms&key=".$id."");
            die();
        break;  
    }
    Header("Location: /?action=sms&key=".$id."");
    die();
}
?>

A tutaj przykładowy kod do płatności

<?php
    /*     
        Wersja demonstracyjna przykladowego 
        wykorzystania SMS API MicroSMS.pl 
        Ostatnia aktualizaja: 2/20/2015
        Dowiesz sie tutaj jak wykorzystac API w celu 
        - Sprawdzenia kodu SMS z okreslonym numerem SMS (np. wartością doładowania skarbonki)
        - Jak zbudowac formularz obierania danych od klienta
        Możliwe błedy to 
        - E,0 -> brak danych w API
        - E,1 -> jeśli nie ma kodu, bądź nie ma 8 znaków
        - E,2 -> jeśli użytokwnik bądź usługa nie istnieje bądź nie są w 1 profilu
        - E,3 -> Jeśli nie ma numeru SMS
    */
    /* 
        Jesli Twój skrypt posiada bledy stworzone 
        przez programiste, ponizsze polecenia moga wywolac
        duza ilosc wpisów na stronie dlatego, zaleca sie 
        posiadac wylaczone te opcje, przy niesprawdzonych skryptach
        do czasu wyeliminowania problemu.
    */
    error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);
    ini_set("display_errors", 1);
    /*
        Zmienna userid pozwala zidentyfikowac partnera MicroSMS
        Mozna ja znalezc w panelu administracyjnym od razu po zalogowaniu, pod 
        imieniem i nazwiskiem. Np. (ID 1)
    */
    $settings['userid'] = 0;
    /*
        serviceid to numer identyfikacyjny aktywowanej usługi SMS Premium
    */
    $settings['serviceid'] = 0;
    /* 
        Treść wiadomości SMS, na jaką klienci mają wysyłać wiadomości.
    */
    $settings['txt'] = 'MSMS.SUFIKS';
    /*
        Numer-y które mają znajdować się w sprzedaży
    */
    $microsms[] = array("netto" => 0.50,"number" => 7055,"product" => "wojownik");
    $microsms[] = array("netto" => 1.00,"number" => 7136,"product" => "strażak");
    // I inne w zależności od konfiguracji w panelu partnera
    if (isset($_POST['send']) && isset($_POST['code'])) {
        $code = addslashes($_POST['code']);
        /* 
            Weryfikujemy poprawnosc kodu SMS, 
            pamietajmy, ze MicroSMS wydaje jedynie
            kody posiadajace 8 znaków
        */
        if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
            $a = array();
            $b = array();
            foreach ($microsms as $cfg) {
                array_push($a, $cfg['number']);
                $b[$cfg['number']] = $cfg['product'];
            }
            /* 
                Laczymy sie z serwerem MicroSMS w celu
                pobrania informacji nt. kodu 
            */
            $handle = fopen("http://microsms.pl/api/check_multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid'], 'r');
            $check  = fgetcsv($handle, 1024);
            fclose($handle);
            /* 
                Musimy zweryfikowac, czy system przypadkiem 
                nie ma bledu i pelen poprawnie formularz dociera
                do MicroSMS, jesli na pierwszym tj. 0 miejscu znajduje 
                sie odpowiedz E oznacza ERROR i któras zmienna jest
                blednie uzupelniona
            */
            if ($check[0] != 'E') {
                /* 
                    W przypadku kiedy wszystkie warunki zostaly
                    spelnione mozemy wydac produkt 
                */
                if ($check[0] == 1) {
                    if (isset($b[$check[2]])) {
                        $info = 'Zakupiłeś produkt ' . $b[$check[2]];
                        // 
                        // Dalsza czesc Twojego kodu...
                        //
                    } else {
                        $info = 'Numer SMS nie został zainicjowany w skrypcie. Skontaktuj się ze sprzedawcą. ';
                    }
                } else {
                    $info = 'Podany kod jest nieprawidlowy.';
                }
            } else {
                $info = 'Nieprawidlowo skonfigurowana usluga, skontaktuj sie z administratorem sklepu.';
            }
        } else {
            $info = 'Nieprawidlowy format kodu.';
        }
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
   <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      <title>Przykladowy skrypt platnosci SMS</title>
   </head>
   <body>
      <style>
         body { font-size: 11px; font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif; font-weight: normal;  } 
         #page { width: 600px; padding: 20px; margin-left: auto; margin-right: auto; border:1px solid #c6c6c6; }
         .center { text-align: center; }
         .alert-box { color:#555; border-radius:10px; font-family:Tahoma,Geneva,Arial,sans-serif;font-size:11px; padding:10px 10px 10px 36px; margin:10px; }
         .alert-box span { font-weight:bold;text-transform:uppercase; }
         .notice { background:#e3f7fc;border:1px solid #8ed9f6; }
         .title { font-size: 20px;  font-weight:bold; }
         input[type=text], textarea {
         -webkit-transition: all 0.30s ease-in-out;
         -moz-transition: all 0.30s ease-in-out;
         -ms-transition: all 0.30s ease-in-out;
         -o-transition: all 0.30s ease-in-out;
         outline: none;
         padding: 3px 0px 3px 3px;
         margin: 5px 1px 3px 0px;
         border: 1px solid #DDDDDD;
         }
         .button {
         background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d0451b), color-stop(1, #bc3315));
         background:-moz-linear-gradient(top, #d0451b 5%, #bc3315 100%);
         background:-webkit-linear-gradient(top, #d0451b 5%, #bc3315 100%);
         background:-o-linear-gradient(top, #d0451b 5%, #bc3315 100%);
         background:-ms-linear-gradient(top, #d0451b 5%, #bc3315 100%);
         background:linear-gradient(to bottom, #d0451b 5%, #bc3315 100%);
         filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0451b', endColorstr='#bc3315',GradientType=0);
         background-color:#d0451b;
         display:inline-block;
         cursor:pointer;
         color:#ffffff;
         font-family:arial;
         font-size:13px;
         padding:6px 12px;
         text-decoration:none;
         border:0px;
         }
         .button:hover {
         background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #bc3315), color-stop(1, #d0451b));
         background:-moz-linear-gradient(top, #bc3315 5%, #d0451b 100%);
         background:-webkit-linear-gradient(top, #bc3315 5%, #d0451b 100%);
         background:-o-linear-gradient(top, #bc3315 5%, #d0451b 100%);
         background:-ms-linear-gradient(top, #bc3315 5%, #d0451b 100%);
         background:linear-gradient(to bottom, #bc3315 5%, #d0451b 100%);
         filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bc3315', endColorstr='#d0451b',GradientType=0);
         background-color:#bc3315;
         }
         .button:active {
         position:relative;
         top:1px;
         }
         table {
         border-collapse: collapse;
         width: 100%; }
         td {
         border: 2px solid #000000;
         padding: 5px;}
         .header {
         font-weight: bold;
         }  
         table#table {
         border-collapse: collapse;
         width: 100%; }
         #table td {
         border-width: 1px;
         border-style: solid;
         border-color: #dddddd;
         padding: 5px; }
         #table .header {
         font-weight: bold; }
         #table .emp { }
      </style>
      <div id="page">
         <div class="center title">Zakup produktu - demo</div>
         <br/>
         <div class="center">
            <table id="table">
               <tr class="header">
                  <td>Cena:</td>
                  <td>Numer:</td>
                  <td>Treść:</td>
                  <td>Produkt:</td>
               </tr>
               <?php foreach($microsms as $var) { ?>
               <tr class="emp">
                  <td><?php echo $var['netto']; ?> (<?php echo number_format($var['netto'] * ( 1 + 23 / 100 ), 2); ?> z VAT)</td>
                  <td><?php echo $var['number']; ?></td>
                  <td><?php echo $settings['txt']; ?></td>
                  <td><?php echo $var['product']; ?></td>
               </tr>
               <?php } ?>
            </table>
           <?php if(isset($info)) { ?><div class="alert-box notice"><?php echo $info; ?></div><?php } ?>
           <form method="post" >
               <input type="hidden" name="send" value="" />   
               <input name="code" placeholder="Kod sms" type="text" />
               <button class="button" type="submit">Sprawdz kod</button>
            </form>
            <br/><br/>
            Platnosci zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
            Korzystanie z serwisu jest jednozanczne z akceptacja <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
            Jesli nie dostales kodu zwrotnego w ciagu 30 minut skorzystaj z <a href="http://microsms.pl/customer/complaint/">formularza reklamacyjnego</a><br/><br/>
            <img src="http://microsms.pl/public/cms/img/banner.png">
         </div>
      </div>
   </body>
</html>
 

 

A i jeszcze kod z config

<?php
//USTAWIENIA
$apiKey = "";      # <-- apiKey z profitsms
$rconIp = "";                  # <-- adres ip serwera
$rconPort = 25575;                      # <-- port laczenia sie z rcon
$rconPass = "";                    # <-- haslo do laczenia sie z rcon
//Przypisywanie danych zmiennym
$host = 'localhost';					# <-- host bazy danych
$user = '';						# <-- user bazy danych
$pass =	'';						# <-- haslo do bazy
$name = '';						# <-- database
//Łączenie do MySQL
$connect = mysql_connect($host,$user,$pass) or die("Blad polaczenia z mysql, sprobuj ponownie!");
mysql_select_db($name,$connect) or die("Blad wyboru bazy danych!!");
mysql_query("SET NAMES 'utf8'");
?>

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
ShanonWEB    738

Napisz do supportu microsms.pl na pewno pomogą Ci to nieodpłatnie uruchomić :). (skonfigurować api pod itemshop)

Edytowane przez ShanonWEB

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
adam2350    11
Przed chwilą, ShanonWEB napisał:
<?php
session_start();
//Sprawdzanie i ladowanie wymaganych plikow
if(!file_exists("config/config.php")){
    Header("Location: /?action=sklep");
    die();
} else include_once("config/config.php");
if(!file_exists("rcon.class.php")){
    Header("Location: /?action=sklep");
    die();
} else include_once("rcon.class.php");
function rcommand($ip, $port, $password, $timeout, $user, $command){
    try{
        $Rcon = new MinecraftRcon;    
        $Rcon->Connect($ip, $port, $password, $timeout);
        $Data = $Rcon->Command($command);
        if($Data === false){
            saveError($user, $command);
            throw new MinecraftRconException("Problem z pobraniem wyniku");
        } else if(StrLen($Data) == 0){
            saveError($user, $command);
            throw new MinecraftRconException("Otrzymany wynik jest pusty");
        }
        echo HTMLSpecialChars($Data);
    } catch(MinecraftRconException $e){
        echo $e->getMessage();
    }
    $Rcon->Disconnect();
}
//sprawdza czy nick jest poprawny
function hasSelectedString($string){
    if(strlen($string > 16)) return false;
    $allowedChars = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","0","1","2","3","4","5","6","7","8","9","_");
    $string = str_split($string);
    foreach($string as $letter) {
        if(!in_array($letter, $allowedChars)){
            return false;
        }
    }
    return true;
}
function saveError($user, $command){
    mysql_query("INSERT INTO sms_backup (service, command) VALUES ('$servername', '$command')");
}
//wykonuje formularz
if($_POST) {
    //Pobieranie danych z formularza
    $id = mysql_real_escape_string(strip_tags(trim($_POST['id'])));
    $username = mysql_real_escape_string(strip_tags(trim($_POST['username'])));
    $reusername = mysql_real_escape_string(strip_tags(trim($_POST['re_username'])));
    if(!(isSet($id) || isSet($username) || isSet($reusername))){
        $_SESSION['message'] = "Musisz wypełnić wszystkie pola formularzu!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if(!isSet($username)){
        $_SESSION['message'] = "Podaj swój nick!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if($username !== $reusername){
        $_SESSION['message'] = "Podane nazy użytkownika nie są identyczne!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    if(!hasSelectedString($username)){
        $_SESSION['message'] = "Podany nick zawiera niedozwolone znaki!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    $query = mysql_query("SELECT command FROM sms WHERE id = '".$id."'");
    if(mysql_num_rows($query) == 0){
        $_SESSION['message'] = "Blad, wybrana usługa została źle skonfigurowana. Zgłoś to administracji!";
        Header("Location: /?action=sms&key=".$id."");
        die();
    }
    //Pobieranie danych z formularza
    $code = mysql_real_escape_string(strip_tags(trim($_POST['code'])));
    $key = mysql_real_escape_string(strip_tags(trim($_POST['key'])));
    $row = mysql_fetch_array($query);
	$handle = fopen("http://microsms.pl/api/check_multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid'], 'r');
    $check  = fgetcsv($handle, 1024);
    fclose($handle);
    switch($status){  
        case 1: 
			$time = time();
			$cmd = $row['command'];
            mysql_query("INSERT INTO sms_database (user, buy_time, smskey, service, command) VALUES ('$username', $time, '$code', '$id', '$cmd')");
            foreach(explode(";", $row['command']) as $key)
				rcommand($rconIp, $rconPort, $rconPass, 10, $username, trim(str_replace("{GRACZ}", $username, $key)));
            $_SESSION['message'] = "Twoja usluga zostala aktywowana!";
            Header("Location: /?action=sms&key=".$id."");
            die();
        break; 
        case 0: 
            $_SESSION['message'] = "Podany kod jest nieprawidłowy, bądź wybrałeś złą usługe dla otrzymanego kodu.";
            Header("Location: /?action=sms&key=".$id."");
            die();
        break;  
    }
    Header("Location: /?action=sms&key=".$id."");
    die();
}
?>

Napisz do supportu microsms.pl na pewno pomogą Ci to nieodpłatnie uruchomić :). (skonfigurować api pod itemshop)

Mógłbyś sprecyzować odpowiedź ? 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
ShanonWEB    738

Proponuję Ci napisać do supportu/obsługi w zakładce "kontakt" na stronie microsms.pl i opisać swój "problem". Jestem przekonany, że udzielą Ci poprawnej odpowiedzi - dostosują pod itemshop swoje api.

Edytowane przez ShanonWEB

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
adam2350    11
1 minutę temu, ShanonWEB napisał:

Zedytowałem ten kod i możesz go sprawdzić, lecz nie gwarantuje, że będzie poprawnie działał. Tak jak napisałem - nie daję gwarancji, że będzie to działać, jeśli okaże się, że nie działa to proponuję Ci napisać do supportu/obsługi w zakładce "kontakt" na stronie microsms.pl i opisać swój "problem". Jestem przekonany, że udzielą Ci poprawnej odpowiedzi - dostosują pod itemshop swoje api.

A gdzie wpisać id usługi i numer klienta ? 

14 minut temu, ShanonWEB napisał:

Zedytowałem ten kod i możesz go sprawdzić, lecz nie gwarantuje, że będzie poprawnie działał. Tak jak napisałem - nie daję gwarancji, że będzie to działać, jeśli okaże się, że nie działa to proponuję Ci napisać do supportu/obsługi w zakładce "kontakt" na stronie microsms.pl i opisać swój "problem". Jestem przekonany, że udzielą Ci poprawnej odpowiedzi - dostosują pod itemshop swoje api.

A gdzie wpisać id usługi i numer klienta ? 

ok

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×