[Req] Paid - Заявка за скрипт

Forgotten

New Member
Joined
Apr 6, 2009
Messages
9
Reaction score
7
Здравейте,

Необходим ми е скрипт за MU Web-Shop, така че да се позволи зареждане на кредити чрез SMS. За основа искам да се използва системата на Fortumo. Техническата им характеристика(API) можете да видите на адрес:
http://fortumo.bg/main/about_premium

Както се очаква, изискването е да може след изпращане на SMS с username съответният потребител да получи определен брой кредити за Web Shop-a. След това той сам си решава за какво и как да ги ползва.

Естествено, не очаквам това да стане без пари и ще платя за изграждането на скрипта, но очаквам коректност и добра изработка.

За повече информация и предложения, пишете на [email protected] или на ЛС тук.


Поздрави,
Forrgotten
 
Благодаря на всички отзовали се. Темата може да бъде затворена.
 
Благодаря на всички отзовали се. Темата може да бъде затворена.

може ли да я споделиш и за другите който в бъдеще ще искат да ползват услугите им
 
Естествено! Извинявай, че чак сега погледнах тук.

PHP:
<?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; // Изкарваме отговорът

?>



Пишши като се закачиш:)

Поздрави,
Йордан
 
  • Like
Reactions: ivowe3