<?


	require_once "wm.inc";
	include $skinPath."init.php";
	
	$errorr = "";
	$wait = "";
	$success = "";

	function check_trans_ok($trn_id,$Ourpurse)
	{
		global $Lines;
		global $inv_pass;
		global $success, $wait, $errorr, $eLinkStyle, $skinPath;
		
		$stat = TransCheck($trn_id,$Ourpurse);
		// Вывод результата
		if ($stat == 0)
		{
			$wait .= "<br><br><center>Деньги поступят на Ваш счет в ближайшие несколько минут. Попробуйте <a href=\"javascript:window.location.reload();\" style=\"".$eLinkStyle."\">обновить</a> окно для получения информации по переводу.";
		}
		elseif ($stat == 1)
		{
			$wait .= "Деньги поступят на Ваш счет в ближайшие несколько минут. Попробуйте <a href=\"javascript:window.location.reload();\" style=\"".$eLinkStyle."\">обновить</a> окно для получения информации по переводу.";
		}
		elseif ($stat ==  2)
		{
			//Записываем завершенную сделку
			$fd = fopen( "log", "w+" );
			//Распарсиваем ее
			$i=0; $new_content = "";
			while ($i < count($Lines)-1)
			{
				list ($id,$pass,$inv,$sum,$pur,$wmi,$wmp,$amo,$stat) = split ('\|',$Lines[$i]);
				if ($pass != $inv_pass)
				{
					$new_content .=$Lines[$i]."\n";
				}
				else
				{
					$new_content .=$id."|".$pass."|".$inv."|".$sum."|".$pur."|".$wmi."|".$wmp."|".$amo."|5\n";
				}
				$i++;
			}
			fwrite($fd, $new_content);
			fclose($fd);
			$success .= "<center>Поздравляем, перевод произведен.<br><b>Деньги поступили на Ваш кошелек.</b><br><br>С Вами приятно работать!<br></center>";
		}
		else
		{
			$errorr .= "<br>При попытке снятия денег с нашего кошелька произошла непредвиденная ошибка.";
			$errorr .= "<br>Уведомление об ошибке было послано администрации WM-центра.";
			$msg = "Почему-то не переводятся деньги!";
			$res = SendMsg($wmconst__shop_wmid, $msg);
		}
	}


	if($REQUEST_METHOD != "GET")
	{
		if ((!$p) || (strlen($p) != 15) || (substr($p, 14, 15) != 1))
		{
			$errorr .= "<br>Такого номера транзакции не существует!";
			include $skinPath."check_skin.php";
			exit();
		}
		$inv_pass = $HTTP_POST_VARS["p"];
		//Проверяем наличие такой операции
		//Читаем историю переводов
		$fd = fopen("log", "r");
		$tmp=fread($fd, 10000);
		while ($tmp!="")
		{
			$index = $index.$tmp;
			$tmp=fread( $fd, 10000);
		}
		fclose($fd );
		$Lines = split("\n",$index);
		$i=0;
		while ($i < count($Lines)-1)
		{
			list ($id,$pass,$inv,$sum,$pur,$wmi,$wmp,$amo,$stat) = split ('\|',$Lines[$i]);
			if ($inv_pass == "$pass")
			{
				$our_inv = $id; $invoice = $inv; $summ = $sum; $purse=$pur; $wmid = $wmi; $wmpurse = $wmp; $amount = $amo; $inv_status = $stat;
			}
			$i++;
		}
		if ((!$invoice) || (!$our_inv) || (!$wmid) || (!$purse) || (!$amount) || (!$wmpurse))
		{
			$errorr .="<br>К сожалению, операции с номером ".$pass." не найдено. Возможно, Вы неправильно указали номер. Для получения перевода воспользуйтесь ссылкой \"Адрес Доставки\" в информации о счете.";
			include $skinPath."check_skin.php";
			exit();
		}
		//А вдруг мы ему уже заплатили?
		if ($inv_status == "5")
		{
			$errorr .= "<br>Эта операция уже завершена, перевод произведен.<br><br><center><b>Деньги поступили на Ваш кошелек.</b></center>";
			include $skinPath."check_skin.php";
			exit();
		}
		// Вызов сервисной функции модуля wm
		$statuss = InvCheck($our_inv, $wmid, $invoice, $purse);
		if ($statuss == -2)
		{
			$errorr .= "<br>Ошибка проверки состояния<br>Перепроверьте правильность Адреса Доставки.";
			include $skinPath."check_skin.php";
			exit();
		}
		if ($statuss == -1)
		{
			//Записываем удаленный счет
			$fd = fopen( "log", "w+" );
			$i=0; $new_content = "";
			while ($i < count($Lines)-1)
			{
				list ($id,$pass,$inv,$sum,$pur,$wmi,$wmp,$amo,$stat) = split ('\|',$Lines[$i]);
				if ($pass != $inv_pass)
				{
					$new_content .=$Lines[$i]."\n";
				}
				else
				{
					$new_content .=$id."|".$pass."|".$inv."|".$sum."|".$pur."|".$wmi."|".$wmp."|".$amo."|-1\n";
				}
				$i++;
			}
			fwrite($fd, $new_content);
			fclose($fd);
			$errorr .= "<br><center><b>К сожалению, Вы удалили счет №".$our_inv."</center></b><br>выписанный в \"".$namead."\",<br>WM ID: ".$wmconst__shop_wmid.", ".$purse."";
			include $skinPath."check_skin.php";
			exit();
		}
		if ($statuss ==  0)
		{
			$wait .= "<center><font color=\"red\"><b>Счет пока не оплачен!</b></font></center>";
			$wait .= "<form method=\"post\" action=\"".$urlad."check_inv.php\">Счет №".$our_inv." выписанный в ".$namead." пока не оплачен, или же средства еще не поступили на наш кошелек.<br><br><center>Пожалуйста, оплатите счет, и нажмите на кнопку:";
			$wait .= "<br><br><input type=hidden name=\"p\" value=\"$inv_pass\"><input type=submit value=\"Я оплатил счет!\" style=\"".$eButtonStyle.";width:160px;\"></form></center>";
			include $skinPath."check_skin.php";
			exit();
		}
		elseif ($statuss ==  1)
		{
			$errorr .= "<br>Счет оплачен, но деньги не получены по причине наличия протекции сделки.";
			include $skinPath."check_skin.php";
			exit();
		}
		elseif ($statuss ==  2)
		{
			$success .= "<br><p align=center><font color=\"red\"><b>Счет оплачен!</b></font></p>";
		}
		else
		{
			$errorr .= "<br>Ошибка проверки состояния<br>Пожалуйста, попробуйте повторить операцию позже.";
			include $skinPath."check_skin.php";
			exit();
		}
		if ((!$statuss) || ($statuss != 2))
		{
			$errorr .= "<br>Ошибка проверки состояния<br>Пожалуйста, попробуйте повторить операцию позже.";
			include $skinPath."check_skin.php";
			exit();
		}
		//Переводим человеку бабки:
		$trn_id  = $our_inv;
		//Ищем, с какого такого кошелька
		if (substr($wmpurse,0,1) == "Z")
		{
			$ourpurse = $purseZ;
		}
		if (substr($wmpurse,0,1) == "E")
		{
			$ourpurse = $purseE;
		}
		if (substr($wmpurse,0,1) == "R")
		{
			$ourpurse = $purseR;
		}
		$dsc = "В обмен на полученные ".$summ." WM".substr($purse,0,1);
		// Вызов сервисной функции модуля wm
		if(($inv_status != "-1") && ($inv_status != "0"))
		{
			check_trans_ok($inv_status,$ourpurse);
			include $skinPath."check_skin.php";
			exit();
		}
		list($wmtrn_n, $err) = TransCreate($ourpurse, $wmpurse, $amount, $trn_id, $dsc);
		// Вывод результата
		//Выписывание перевода
		if ($wmtrn_n>0)
		{
			$success .= "<br>Перевод выписан успешно!<BR>№ транзакции webmoney: $wmtrn_n<br>";
			//Записываем оплаченный счет
			$fd = fopen( "log", "w+" );
			$i=0; $new_content = "";
			while ($i < count($Lines)-1)
			{
				list ($id,$pass,$inv,$sum,$pur,$wmi,$wmp,$amo,$stat) = split ('\|',$Lines[$i]);
				if ($pass != $inv_pass)
				{
					$new_content .=$Lines[$i]."\n";
				}
				else
				{
					$new_content .=$id."|".$pass."|".$inv."|".$sum."|".$pur."|".$wmi."|".$wmp."|".$amo."|".$trn_id."\n";
				}
				$i++;
				}
			fwrite($fd, $new_content);
			fclose($fd );
			// Проверяем уход денег
			check_trans_ok($wmtrn_n,$ourpurse);
			include $skinPath."check_skin.php";
			exit();
		}
		else
		{
			$wait .= "<br>Ошибка перевода ($ourpurse -> $wmpurse): $err <br>Попробуйте повторить операцию позже, или <a href=\"javascript:window.location.reload();\" style=\"".$eLinkStyle."\">обновить</a> окно. Уведомление об ошибке было послано администрации WM-центра."; 
			$msg = "Ошибка транзакции с ".$wmid.", Текст ошибки: ".$err;
			$res = SendMsg($wmconst__shop_wmid, $msg);
			include $skinPath."check_skin.php";
			exit();
		}
	}
	else
	{
		$wait .= "<form method=\"post\" name=mainCheck target=Trans action=\"".$urlad."check_inv.php\" OnSubmit=\"check_inv();\"><center>Для проверки счета и получения денег в случае его оплаты, нажмите:<br><input type=hidden style=\"width:160px;\" name=\"p\" value=\"".$p."\"><br><input type=submit name=doCheck value=\"Я оплатил счет!\" style=\"".$eButtonStyle.";width:160px;\"></center></form>\n<script language=\"JavaScript\">\nfunction check_inv()\n{\nTransaction = window.open(\"\",\"Trans\",\"width=300,height=400,top=100,left=100,directories=no,location=no,menubar=no,scrollbars=no,status=no,titlebar=no,toolbar=no,resizable=no\");\nTransaction.window.focus();\nreturn true;\n}\n</script>";
		include $skinPath."check_skin.php";
		include "obmen.php";
		exit();
	}
?>