Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * @author Martin Galovic (galovik) <galovikcode@gmail.com>
- */
- require_once(__DIR__.'/../lib/Rcon.php');
- use thedudeguy\Rcon;
- $parse = ['action', 'method', 'price', 'currency', 'days', 'variables', 'sms_text', 'key', 'code'];
- foreach ($parse as $p) {
- $_GET[$p] = isset($_GET[$p]) ? $_GET[$p] : null;
- }
- $ip = $_SERVER['REMOTE_ADDR'];
- // ===== NASTAVENIA ===== //
- $expectedKey = '159753'; // Sem nastavte kľúč, ktorý ste použili pri pridávaní VIP URL callback-u
- // Rcon: nastavte v server.properties
- $rconHost = '185.91.116.144:25565'; // Rcon Host
- $rconPort = 25565; // Rcon port
- $rconPassword = 'InfinityPass852456'; // Rcon properties
- // ===== KONIEC NASTAVENI =====
- /**
- * Akcia:
- * @var string
- * - 'activate' #Aktivácia VIP - volá sa pri úspešnom zakúpení a zaplatení VIP
- * - 'deactivate' #Deaktivácia VIP - volá sa pri vypršaní VIP
- */
- $action = $_GET['activate'];
- /**
- * Metóda:
- * @var string
- * - 'smssk' #Platba pomocou SMS zo Slovenska
- * - 'smscz' #Platba pomocou SMS z Českej republiky
- * - 'paypal' #Platba pomocou PayPal-u
- */
- $method = $_GET['smscz'];
- /**
- * Cena VIP:
- * @var float
- */
- $price = $_GET['69.00'];
- /**
- * Mena:
- * @var string
- * - 'eur' - euro (EUR)
- * - 'czk' - česká koruna (Kč)
- */
- $currency = $_GET['czk'];
- /**
- * Počet dní na koľko má byť VIP aktívne:
- * @var int
- */
- $days = $_GET['30'];
- /**
- * Premenné:
- * @var array
- * nazov_premennej => hodnota
- * Napr.: nick => galovik
- */
- $variables = $_GET['{nick}'];
- /**
- * Text odoslanej SMS:
- * @var string
- * Napr. SERVER PRO 57714 1 vip galovik
- */
- $smsText = $_GET['GSP 86431 69 PRO VIP'];
- /**
- * Kľúč, ktorý ste nastavili pri pridávaní callbacku
- * @var string
- */
- $key = $_GET['159753'];
- /**
- * Unikátny kód pre VIP bránu, ktorú ste vytvorili
- * @var string
- */
- $code = $_GET['86431'];
- // Validácia
- if ($key != $expectedKey) exit("Wrong key");
- $commands = array(); // for older PHP :/
- // ================ NASTAVENIE PRIKAZOV ================ //
- if ($action == 'activate') {
- // ===== AKTIVACIA ===== //
- switch ($code) {
- case 'vip_1':
- $commands[] = 'pex user :nick group set VIP'; // :nick sa automatický nahradí za premennú nick, ktorú zadal hráč
- // Môžete taktiež použiť inú premennú ako nick, napr :heslo atď
- break;
- default:
- exit("Wrong code");
- break;
- }
- }
- elseif ($action == 'deactivate') {
- // ===== DEAKTIVACIA ===== //
- switch ($code) {
- case 'vip_1':
- $commands[] = 'pex user :{nick} delete'; // :nick sa automatický nahradí za premennú nick, ktorú zadal hráč
- // Môžete taktiež použiť inú premennú ako nick, napr :heslo atď
- break;
- case 'vip_2':
- $commands[] = 'pex user :nick group set default';
- break;
- default:
- exit("Wrong code");
- break;
- }
- }
- else {
- exit("Wrong action");
- }
- // ================ KONIEC NASTAVENIA PRIKAZOV ================ //
- // Call rcon commands
- $rcon = new Rcon($rconHost, $rconPort, $rconPassword);
- if (!$rcon->connect()) exit("Unable to connect to rcon");
- if (count($commands)) {
- foreach ($commands as $command) {
- $command = command($command, $variables);
- $rcon->send_command($command);
- }
- }
- function command($command = '', $variables = []) {
- foreach ($variables as $key => $value) {
- $command = str_replace(':'.$key, $value, $command);
- }
- return $command;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement