Advertisement
Guest User

Untitled

a guest
Mar 31st, 2019
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. <?php
  2. ////////////////////////////
  3. //// API SQL WERSJA 1.1 ////
  4. //// 04.03.2019 ////
  5. ////////////////////////////
  6.  
  7.  
  8. // INSTRUKCJA
  9.  
  10. // KONFIGURACJA TEGO PLIKU
  11. // 1. Uzupełnij w tym pliku dane do bazy danych mysql z Zephyrus Store
  12. // 2. Wrzuć ten plik na swój serwer http (www)
  13. // 3. Wpisz w przeglądarce adres tego pliku - np. http://strona-serwera.pl/api_client_sql_zephyrus_store.php - powinien pojawić się komunikat o nieprawidłowym kluczu API
  14. // 4. Na końcu adresu dodaj ?api=TWÓJ KLUCZ API SKLEPU&funkcja=test - np. http://strona-serwera.pl/api_client_sql_zephyrus_store.php?api=hsjehdskdjlak3232k234&funkcja=test - powinien pojawić się komunikat o poprawnym połączeniu z bazą danych
  15.  
  16. // KONFIGURACJAW PANELU SKLEPCS.PL
  17. // 1. Dodaj na stronie sklepcs w panelu admina "usługę dodatkową" nazwij ją np. "Kredyty Zeph Store"
  18. // 2. Dodaj do tej usługi pakiet i nazwij go np. "100 kredytów"
  19. // 3. W meijsce "API Php" wpisz adres tego pliku, np. http://strona-serwera.pl/api_client_sql_zephyrus_store.php
  20. // 4. W miejsce "cyfra1" wpisz ile kkredytów ma dostać kupujący
  21. // 5. Możesz potworzyć kilka pakietów, w każdym podaj inna nazwę pakietu (np. 100 kredytów, 1000 kredytów, 5000 kredytów) i ustal inną cenę oraz "cyfra1"
  22. //
  23. // UWAGA: NIEKTÓRE PLUGINY WYMAGAJĄ ABY W CZASIE ZAKUPU GRACZ NIE BYŁ POŁĄCZONY Z SERWEREM.
  24. //
  25. // INSTRUKCJA JAK TO SKONFIGUROWAĆ NA PRZYKŁADZIE PLUGINU ZEPHYRUS STORE:
  26. // https://youtu.be/WsSiNmT9qcI
  27.  
  28.  
  29.  
  30.  
  31.  
  32. // KLUCZ API Z PANELU ADMINA sklepcs.pl
  33. $api_key = "2ac171fba77ea858e8063b4caa500a63";
  34.  
  35. // DANE DO BAZY DANYCH
  36. $db_host = "poprawne";
  37. $db_user = "dane";
  38. $db_pass = "do";
  39. $db_name = "bazy";
  40.  
  41.  
  42.  
  43. // SKRYPT
  44. // PRZYDATNE ZMIENNE - NIE ZMIENIAJ TEGO
  45. if ($_GET['api'] != $api_key) {
  46. echo "Zły klucz API";
  47. exit;
  48. }
  49. if (!extension_loaded('bcmath')) {
  50. echo "Brak modułu php bcmath - zainstaluj go";
  51. exit;
  52. }
  53. if (!extension_loaded('mysqli')) {
  54. echo "Brak modułu php mysqli - zainstaluj go";
  55. exit;
  56. }
  57.  
  58. $funkcja = $_GET['funkcja'];
  59. $db1 = mysqli_connect("$db_host", "$db_user", "$db_pass", "$db_name");
  60. if (mysqli_connect_errno()) {
  61. printf("Blad polaczenia z MySQL: %s\n", mysqli_connect_error());
  62. exit();
  63. }
  64. if (mysqli_ping($db1)) {
  65. //printf ("Wszystko gra");
  66. } else {
  67. printf ("Blad MySQL: %s\n", mysqli_error($db1));
  68. exit();
  69. }
  70.  
  71.  
  72. $steam64 = $_GET['steam64']; //np. 76561197980575184
  73. if (!is_numeric($steam64)) {
  74. echo "blad_2";
  75. exit;
  76. }
  77. $steamid = toSteamID($steam64); //np. STEAM_0:0:10154728
  78. $steamid_pieces = explode(":", $steamid);
  79. $steamid_bar = $steamid_pieces[2]; //końcówka z steamid, np. 10154728
  80. $userid = toUserID($steam64); //końcówka z steamid3, np. 20309456
  81. $cyfra1 = mysqli_real_escape_string($db1, $_POST['cyfra1']); //cyfra1 przekazana z sklepu
  82. $cyfra2 = mysqli_real_escape_string($db1, $_POST['cyfra2']); //cyfra2 przekazana z sklepu
  83. $tekst = mysqli_real_escape_string($db1, $_POST['tekst']); //tekst przekazany z sklepu
  84.  
  85.  
  86.  
  87.  
  88. // EDYTUJ SKRYPT NIŻEJ
  89. // MUSISZ DOSTOSOWAĆ GO ABY WYKONAŁ ODPOWIEDNIE OPERACJE NA BAZIE DANYCH. JEŚLI OPERACJA PRZEBIEGNIE PRAWIDŁOWO NALEŻY ZWRÓCIĆ "ok"
  90. if ($funkcja == "test")
  91. {
  92. echo "Połączenie z bazą działa prawidłowo";
  93. }
  94. if ($funkcja == "dodaj")
  95. {
  96. $sql = mysqli_query($db1, "UPDATE store_players SET credits = credits + $cyfra1 WHERE authid LIKE '%$steamid_bar';");
  97.  
  98.  
  99. if (mysqli_affected_rows($db1) > 0)
  100. {
  101. echo "Usluga pomyslnie dodana";
  102. }
  103. else echo "blad_0";
  104. }
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. // FUNKCJE
  114. // NIC TU NIE ZMIENIAJ CHYBA, ŻE WIESZ CO ROBISZ
  115. function toSteamID($id)
  116. {
  117. if (is_numeric($id) && strlen($id) >= 16) {
  118. $z = bcdiv(bcsub($id, '76561197960265728'), '2');
  119. } elseif (is_numeric($id)) {
  120. $z = bcdiv($id, '2'); // Actually new User ID format
  121. } else {
  122. return $id; // We have no idea what this is, so just return it.
  123. }
  124. $y = bcmod($id, '2');
  125. return 'STEAM_0:' . $y . ':' . floor($z);
  126. }
  127.  
  128.  
  129. function toUserID($id)
  130. {
  131. if (preg_match('/^STEAM_/', $id)) {
  132. $split = explode(':', $id);
  133. return $split[2] * 2 + $split[1];
  134. } elseif (preg_match('/^765/', $id) && strlen($id) > 15) {
  135. return bcsub($id, '76561197960265728');
  136. } else {
  137. return $id; // We have no idea what this is, so just return it.
  138. }
  139. }
  140.  
  141.  
  142. ?>
  143.  
  144.  
  145.  
  146.  
  147. KOD BLEDU:
  148.  
  149. błąd połączenia z API usługi (Usluga pomyslnie dodana)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement