<?PHP
function check_signature($params_array, $secret) {
ksort($params_array);
$str = '';
foreach ($params_array as $k=>$v) {
if($k != 'sig') {
$str .= "$k=$v";
}
}
$str .= $secret;
$signature = md5($str);
return ($params_array['sig'] == $signature);
}
$forumtoIPs=array('81.20.151.38','81.20.148.122'); //списък с позволените IP-та на Forumto
$serverIP=$_SERVER['REMOTE_ADDR']; //взимане на IP-то на сървъра, който праща заявката
$message = $_GET['message']; //взимаме съобщението, изпратено от потребителя
## Настройки, които потребителят трябва да настрои спрямо сървърът и предпочитанията си ##
$credits = '1000'; //броят на кредитите, с които ще бъде зареден акаунта
$secret = ''; // тайният подпис
$db_serv = ''; // mssql сървърът
$db_user = ''; // потребителят за mssql сървърът
$db_pass = ''; // паролата за mssql сървърът
$db_name = ''; // името на базата данни
## Край на настройките ##
if(!in_array($serverIP,$forumtoIPs)) die("Vasheto IP ne e v spisuka s pozvolenite!"); // Проверява дали IP-то, което е заредило скрипта е същото като това на сървърите на Forumto
if(!empty($secret) && !check_signature($_GET, $secret)) die("Greshen taen podpis!"); // Проверява дали тайният подпис е правилен
if(!$message) die("Trqbva da vuvedete potrebitelsko ime!"); // Проверява дали потребителският ID номер съдържа числа т.е. дали е валиден
$conn = mssql_connect($db_serv, $db_user, $db_pass) or die('Greshka. Server-yt ima problem s Mssql. Molq oburnete se kum administrator!'); // Свързва се към mssql сървърът
mssql_select_db($db_name); // избира базата данни
$query = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$message'"); // Взимаме потребителското ID от таблицата с потребителите
if(mssql_num_rows($query)==0) // Правим проверка дали съществува
{
$otgowor = 'Greshka. Accounta e nevaliden ili nepravilno napisan'; // Съобщението, което ще бъде върнато като SMS, ако потребителят не съществува
}
else{ // Ако съществува - продължаваме
$res = mssql_query("SELECT credits FROM MEMB_CREDITS WHERE memb___id='$message'"); // Взимаме кредитите на потребителя
if(mssql_num_rows($query)==0) // правим проверка дали има запис с това потребителско име в таблицата с кредитите
{
mssql_query("INSERT INTO `MEMB_CREDITS` (`memb___id`,`credits`) VALUES ('$message','$credits'"); // ако няма правим нов запис
$otgowor = "Uspeshno sa zaredeni {$credits} credita na acc {$message} .Veche imate {$credits} credita."; // Задаваме съобщението, което ще бъде върнато като SMS отговор за Успех
}
else
{ // в противен случай ъпдейтваме стария
$row = mssql_fetch_row($res); // Изкарваме резултатите от заявката по-горе, а именно кредитите
$otgowor = "Uspeshno sa zaredeni {$credits} credita na acc {$message} .Veche imate {$row[0]} credita."; // Задаваме съобщението, което ще бъде върнато като SMS отговор за Успех
mssql_query("UPDATE MEMB_CREDITS SET credits=credits+'$credits' WHERE memb___id='$message'"); // ъпдейтва таблицата с потребителите т.е. добавя настроеният от Вас брой кредити към сегашните на потребителя
}
}
echo $otgowor; // Изкарваме отговорът
?>