<?





	require_once "wm2.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")

	{



		$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();

	}

?>