Kód: Vybrat vše
<?php
// Skript pro příjem premium SMS z mobilniplatby.cz
// Navrženo pro Metin 2
// Autor: Vojtěch 'Heretiiik' M.
// Poslední úprava: 11.1.2014
//
// SQL pro vytvoření logu
/*
CREATE TABLE `sms_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(128) DEFAULT NULL,
`country` varchar(32) DEFAULT NULL,
`operator` varchar(32) DEFAULT NULL,
`phone` varchar(64) DEFAULT NULL,
`shortcode` varchar(32) DEFAULT NULL,
`sms` varchar(128) DEFAULT NULL,
`pokus` int(11) DEFAULT NULL,
`timestamp` varchar(128) DEFAULT NULL,
`vysledek` varchar(128) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
*/
//
//
// Načtení proměnných z URL do proměnných
$timestamp = $_GET['timestamp'];
$phone = $_GET['phone'];
$text = $_GET['sms'];
$shortcode = $_GET['shortcode'];
$country = $_GET['country'];
$operator = $_GET['operator'];
$pokus = $_GET['att'];
$uid = $_GET['id'];
// Připojení k databázi, údaje jsou v přiloženém souboru
include ('db_info.php');
mysql_connect($dbserver, $dbuser, $dbpw);
mysql_select_db($dbname);
// Zapsání do logu
$log_query = "INSERT INTO sms_log (uid, country, operator, phone, shortcode, sms, pokus, timestamp) VALUES ('$uid', '$country', '$operator', '$phone', '$shortcode', '$text', '$pokus', '$timestamp')";
$result1 = mysql_query($log_query);
// Kontrola zda SMS přišla ze správného čísla
$allowed_shortcode = array('9033350', '9033379', '9033399', '90333');
if (in_array($shortcode,$allowed_shortcode)) {
// Získání ID účtu
//$sms = substr($text, 18);
// Kontola zda id existuje
$sql_id_exist = "SELECT login as ident FROM player.account";
$existence = mysql_query($sql_id_exist);
$existujici = array();
while($row=mysql_fetch_assoc($existence)) {
$existujici[]=$row['ident'];
}
// Připsání mincí pokud ID existovalo
if(in_array($sms, $existujici)) {
// Spočítání počtu nových mincí
$get_mince_query = "SELECT * FROM player.account WHERE login='$sms' LIMIT 1";
$mince_a_query = mysql_query($get_mince_query);
while($row2 = mysql_fetch_array($mince_a_query)) {
$mince_a = $row2['coins'];
}
// Vypočítání přičítaných mincí dle shortcode
switch($shortcode) {
case '9033350':
$mince_b = 50;
break;
case '9033379':
$mince_b = 80;
break;
case '9033399':
$mince_b = 100;
break;
case '90333':
$mince_b = 300;
break;
default:
$mince_b = 0;
}
$mince_c = $mince_a + $mince_b;
// Vložení mincí
$mince_update = "UPDATE player.account SET coins='$mince_c' WHERE login='$sms'";
$result2 = mysql_query($mince_update);
//Napsání odpovědí, vše proběhlo správně
$response = "Dekujeme za Vas dar. Kod transakce: $uid";
Header ("Content-type:text/plain");
Header ("Content-length".strlen($response));
echo $response;
$vysledek = "OK";
} else {
// Odpověd při špatně zadeném ID
$response = "Litujeme, ale zadali jste neplatne ID. Kod transakce: $uid";
Header ("Content-type:text/plain");
Header ("Content-length".strlen($response));
echo $response;
$vysledek = "BAD ID";
}
} else {
// Odpověd při nepovolém čísle
$response = "Litujeme, ale pouzil jste spatne cislo. Kod transakce: $uid";
Header ("Content-type:text/plain");
Header ("Content-length".strlen($response));
echo $response;
$vysledek = "WRONG NUMBER";
}
// Zapsání výsledku do logu
$post_log = "UPDATE sms_log SET vysledek='$vysledek' WHERE uid='$uid'";
$result3 = mysql_query($post_log);
?>