Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.79 KB | None | 0 0
  1. <?php
  2.  
  3. error_reporting(E_ALL);
  4.  
  5. ini_set('error_reporting', E_ALL);
  6. ini_set("display_errors", 1);
  7.  
  8. $settings = array(
  9. /*
  10. @nazwa: userid
  11. @opis: numer identyfikacyjny partnera nadawany po zarejestrowaniu konta (dostępny po zalogowaniu).
  12. */
  13. 'userid' => '5241',
  14. /*
  15. @nazwa: serviceid
  16. @opis: numer identyfikacyjny kanału SKS dostępny w sekcji "Kanały SMS Premium"
  17. */
  18. 'serviceid' => '5712',
  19. /*
  20. @nazwa: text
  21. @opis: treść wiadomości, która zostaje zainicjowana przez partnera w panelu. Pamiętaj, że błąd powoduje nierozliczenie płatności!
  22. */
  23. 'text' => 'MSMS.DBT',
  24. );
  25.  
  26. $data[] = array("netto" => 0.50,"number" => 71411,"product" => "wojownik");
  27. $data[] = array("netto" => 1.00,"number" => 71480,"product" => "strażak");
  28.  
  29. /*
  30. Weryfikujemy, czy formularz został wysłany
  31. */
  32. if (isset($_POST['send']) && isset($_POST['code']) && isset($_POST['nazwapostaci'])) {
  33.  
  34. $code = addslashes($_POST['code']);
  35. $nazwapostaci = $_POST['nazwapostaci'];
  36.  
  37. $servername = "localhost";
  38. $username = "username";
  39. $password = "password";
  40.  
  41. $conn = new mysqli($servername, $username, $password)
  42. if ($conn->connect_error) {
  43. die("Connection failed: " . $conn->connect_error);
  44. }
  45.  
  46. $result = $conn->query("SELECT charactername FROM MyGuests WHERE charactername='$nazwapostaci'");
  47.  
  48. if ($result->num_rows > 0) {
  49.  
  50. /*
  51. Weryfikujemy poprawność kodu
  52. */
  53. if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
  54.  
  55. $a = array();
  56. $b = array();
  57.  
  58. foreach ($data as $cfg) {
  59. array_push($a, $cfg['number']);
  60. $b[$cfg['number']] = $cfg['product'];
  61. }
  62.  
  63. /*
  64. Łączymy się z serwerem MicroSMS
  65. */
  66. $api = @file_get_contents("http://microsms.pl/api/v2/multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid']);
  67.  
  68. print_r($api);
  69. /*
  70. Jeśli wystąpi problem z połączeniem, skrypt wyświetli błąd.
  71. */
  72. if (!isset($api)) {
  73. $errormsg = 'Nie można nawiązać połączenia z serwerem płatności.';
  74. } else {
  75. /*
  76. Dekodujemy odpowiedź serwera do formatu json
  77. */
  78. $api = json_decode($api);
  79.  
  80. /*
  81. Sprawdzamy czy odpowiedź na pewno jest w formacie json
  82. */
  83. if (!is_object($api)) {
  84. $errormsg = 'Nie można odczytać informacji o płatności.';
  85. } else if (isset($api->error) && $api->error) {
  86. $errormsg = 'Kod błędu: ' . $api->error->errorCode . ' - ' . $api->error->message;
  87. } else if ($api->connect == FALSE) {
  88. $errormsg = 'Kod błędu: ' . $api->data->errorCode . ' - ' . $api->data->message;
  89. } else if (!isset($b[$api->data->number])) {
  90. $errormsg = 'Przesłany kod jest nieprawidłowy, spróbuj ponownie.';
  91. }
  92. }
  93.  
  94. if (!isset($errormsg) && isset($api->connect) && $api->connect == TRUE) {
  95. /*
  96. Jeśli kod jest prawidłowy, wydajemy produkt
  97. */
  98. if ($api->data->status == 1) {
  99. // Tutaj możesz również wykonywać inne operacje
  100. // Np. dodać zapytanie mysql, wysłać maila itp.
  101. if ($conn->query("UPDATE MyGuests SET points=points+50 WHERE charactername='$nazwapostaci') === TRUE) {
  102. $okmsg = 'Zakupiłeś produkt ' . $b[$api->data->number];
  103. } else {
  104. $errormsg = 'Wystąpił błąd komunikacji z bazą danych, skontaktuj się z administratorem!';
  105. }
  106.  
  107. } else {
  108. $errormsg = 'Przesłany kod jest nieprawidłowy, spróbuj ponownie.';
  109. }
  110. }
  111.  
  112. } else {
  113. $errormsg = 'Przesłany kod jest nieprawidłowy, przepisz go ponownie.';
  114. }
  115. } else {
  116. $errormsg = 'Nie istnieje postać o podanej nazwie!';
  117. }
  118. $conn->close();
  119. }
  120.  
  121. ?>
  122.  
  123.  
  124. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  125. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  126. <head>
  127. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  128. <title>Przykladowy skrypt platnosci SMS</title>
  129. <link href="http://microsms.pl/api/demo/css.css" rel="stylesheet" type="text/css">
  130. </head>
  131. <body>
  132. <div id="page">
  133. <div class="center title">Zakup produktu - demo</div>
  134. <br/>
  135. <div class="center">
  136.  
  137. <table id="table">
  138. <tr class="header">
  139. <td>Cena:</td>
  140. <td>Numer:</td>
  141. <td>Treść:</td>
  142. <td>Produkt:</td>
  143. </tr>
  144. <?php foreach($data as $var) { ?>
  145. <tr class="emp">
  146. <td><?php echo $var['netto']; ?> (<?php echo number_format($var['netto'] * ( 1 + 23 / 100 ), 2); ?> z VAT)</td>
  147. <td><?php echo $var['number']; ?></td>
  148. <td><?php echo $settings['text']; ?></td>
  149. <td><?php echo $var['product']; ?></td>
  150. </tr>
  151. <?php } ?>
  152. </table>
  153. <br/>
  154.  
  155. <?php if(isset($okmsg)) { ?><div class="msg ok"><?php echo $okmsg; ?></div><?php } ?>
  156. <?php if(isset($errormsg)) { ?><div class="msg error"><?php echo $errormsg; ?></div><?php } ?>
  157.  
  158. <form method="post" >
  159. <input type="hidden" name="send" value="" />
  160. <input name="nazwapostaci" placeholder="Nazwa postaci w grze" type="text" />
  161. <input name="code" placeholder="Kod sms" type="text" />
  162. <button class="button" type="submit">Sprawdź kod</button>
  163. </form>
  164. <br/><br/>
  165. Płatności zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
  166. Korzystanie z serwisu jest jednozanczne z akceptacją <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
  167. Jeśli nie dostałeś kodu zwrotnego w ciągu 30 minut skorzystaj z <a href="http://microsms.pl/customer/complaint/">formularza reklamacyjnego</a><br/><br/>
  168. <img src="http://microsms.pl/public/cms/img/banner.png">
  169. </div>
  170. </div>
  171. </body>
  172. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement