<?php
	include 'config.php';
	// the function returns an MD5 of parameters passed
	// функция возвращает MD5 переданных ей параметров
	function ref_sign() {
		$params = func_get_args();
		$prehash = implode("::", $params);
		return md5($prehash);
	}
	
	// filtering junk off acquired parameters
	// парсим полученные параметры на предмет мусора
	foreach($_REQUEST as $request_key => $request_value) { 
		$_REQUEST[$request_key] = substr(strip_tags(trim($request_value)), 0, 250);
	}
	
	// service secret code
	// секретный код сервиса
	$secret_code = "cnfhsqrke,";
	
	// collecting required data
	// собираем необходимые данные
	$purse        = $_REQUEST["s_purse"];        // sms:bank id        идентификатор смс:банка
	$order_id     = $_REQUEST["s_order_id"];     // operation id       идентификатор операции
	$amount       = $_REQUEST["s_amount"];       // transaction sum    сумма транзакции
	$clear_amount = $_REQUEST["s_clear_amount"]; // billing algorithm  алгоритм подсчета стоимости
	$inv          = $_REQUEST["s_inv"];          // operation number   номер операции
	$phone        = $_REQUEST["s_phone"];        // phone number       номер телефона
	$sign         = $_REQUEST["s_sign_v2"];      // signature          подпись
	
	// making the reference signature
	// создаем эталонную подпись
	$reference = ref_sign($secret_code, $purse, $order_id, $amount, $clear_amount, $inv, $phone);
	
	// validating the signature
	// проверяем, верна ли подпись
	if($sign == $reference) {
		// success, proceeding
		// обрабатываем полученные данные
		$thing = substr($order_id,0,3);
		$owner = substr($order_id,3,strlen($order_id)-3);
		switch ($thing) {
			case "101":
				mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Раритетная открытка', 200, 1,'card03.gif');");
			break;
			case "102":
				mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель', 3, 1,1,3,'el1.gif');");
			break;
			case "103":
				mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель с игрушками', 3, 1,1,5,'elka_w2.gif');");
			break;
			case "104":
				mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Сувенир <Сфера БК>', 200, 1,'shar6.gif');");
			break;
			case "105":
				mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`,`goden`,`dategoden`,`magic`) values ('{$owner}','Бутерброд &quot;Новогодний&quot;', 50, 5,'food_l8.gif','15','".(time()+1296000)."',8);");
			break;
		}
	}
//	else {
		// failure, reporting error
		// неправильно составлен запрос
	//}
?>