Advertisement
Guest User

URL VIP CallBack

a guest
Sep 27th, 2016
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. <?php
  2. /**
  3. * @author Martin Galovic (galovik) <galovikcode@gmail.com>
  4. */
  5.  
  6. require_once(__DIR__.'/../lib/Rcon.php');
  7.  
  8. use thedudeguy\Rcon;
  9.  
  10. $parse = ['action', 'method', 'price', 'currency', 'days', 'variables', 'sms_text', 'key', 'code'];
  11. foreach ($parse as $p) {
  12. $_GET[$p] = isset($_GET[$p]) ? $_GET[$p] : null;
  13. }
  14. $ip = $_SERVER['REMOTE_ADDR'];
  15.  
  16. // ===== NASTAVENIA ===== //
  17. $expectedKey = '159753'; // Sem nastavte kľúč, ktorý ste použili pri pridávaní VIP URL callback-u
  18.  
  19. // Rcon: nastavte v server.properties
  20. $rconHost = '185.91.116.144:25565'; // Rcon Host
  21. $rconPort = 25565; // Rcon port
  22. $rconPassword = 'InfinityPass852456'; // Rcon properties
  23.  
  24. // ===== KONIEC NASTAVENI =====
  25.  
  26. /**
  27. * Akcia:
  28. * @var string
  29. * - 'activate' #Aktivácia VIP - volá sa pri úspešnom zakúpení a zaplatení VIP
  30. * - 'deactivate' #Deaktivácia VIP - volá sa pri vypršaní VIP
  31. */
  32. $action = $_GET['activate'];
  33.  
  34. /**
  35. * Metóda:
  36. * @var string
  37. * - 'smssk' #Platba pomocou SMS zo Slovenska
  38. * - 'smscz' #Platba pomocou SMS z Českej republiky
  39. * - 'paypal' #Platba pomocou PayPal-u
  40. */
  41. $method = $_GET['smscz'];
  42.  
  43. /**
  44. * Cena VIP:
  45. * @var float
  46. */
  47. $price = $_GET['69.00'];
  48.  
  49. /**
  50. * Mena:
  51. * @var string
  52. * - 'eur' - euro (EUR)
  53. * - 'czk' - česká koruna (Kč)
  54. */
  55. $currency = $_GET['czk'];
  56.  
  57. /**
  58. * Počet dní na koľko má byť VIP aktívne:
  59. * @var int
  60. */
  61. $days = $_GET['30'];
  62.  
  63. /**
  64. * Premenné:
  65. * @var array
  66. * nazov_premennej => hodnota
  67. * Napr.: nick => galovik
  68. */
  69. $variables = $_GET['{nick}'];
  70.  
  71. /**
  72. * Text odoslanej SMS:
  73. * @var string
  74. * Napr. SERVER PRO 57714 1 vip galovik
  75. */
  76. $smsText = $_GET['GSP 86431 69 PRO VIP'];
  77.  
  78. /**
  79. * Kľúč, ktorý ste nastavili pri pridávaní callbacku
  80. * @var string
  81. */
  82. $key = $_GET['159753'];
  83.  
  84. /**
  85. * Unikátny kód pre VIP bránu, ktorú ste vytvorili
  86. * @var string
  87. */
  88. $code = $_GET['86431'];
  89.  
  90. // Validácia
  91. if ($key != $expectedKey) exit("Wrong key");
  92.  
  93. $commands = array(); // for older PHP :/
  94.  
  95. // ================ NASTAVENIE PRIKAZOV ================ //
  96. if ($action == 'activate') {
  97. // ===== AKTIVACIA ===== //
  98. switch ($code) {
  99. case 'vip_1':
  100. $commands[] = 'pex user :nick group set VIP'; // :nick sa automatický nahradí za premennú nick, ktorú zadal hráč
  101. // Môžete taktiež použiť inú premennú ako nick, napr :heslo atď
  102. break;
  103. default:
  104. exit("Wrong code");
  105. break;
  106. }
  107. }
  108. elseif ($action == 'deactivate') {
  109. // ===== DEAKTIVACIA ===== //
  110. switch ($code) {
  111. case 'vip_1':
  112. $commands[] = 'pex user :{nick} delete'; // :nick sa automatický nahradí za premennú nick, ktorú zadal hráč
  113. // Môžete taktiež použiť inú premennú ako nick, napr :heslo atď
  114. break;
  115. case 'vip_2':
  116. $commands[] = 'pex user :nick group set default';
  117. break;
  118. default:
  119. exit("Wrong code");
  120. break;
  121. }
  122. }
  123. else {
  124. exit("Wrong action");
  125. }
  126. // ================ KONIEC NASTAVENIA PRIKAZOV ================ //
  127.  
  128. // Call rcon commands
  129.  
  130. $rcon = new Rcon($rconHost, $rconPort, $rconPassword);
  131.  
  132. if (!$rcon->connect()) exit("Unable to connect to rcon");
  133.  
  134. if (count($commands)) {
  135.  
  136. foreach ($commands as $command) {
  137. $command = command($command, $variables);
  138. $rcon->send_command($command);
  139. }
  140.  
  141. }
  142.  
  143. function command($command = '', $variables = []) {
  144. foreach ($variables as $key => $value) {
  145. $command = str_replace(':'.$key, $value, $command);
  146. }
  147. return $command;
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement