<?
session_start();
include("../includes/common.php");
/*getting data*/
$curr_from = 0;
$curr_to = 0;
$amount = 0;
$curr_from = $_GET['from']+0;
$curr_to = $_GET['to']+0;
$amount = $_GET['amount_in']+0;
$error = $_GET['error'];
/* checking data*/
$sql_from = "select * from ex_currencies where id = ".$curr_from." and status =1;";
$sql_to = "select * from ex_currencies where id = ".$curr_to." and status =1;";
$row_from = mysql_fetch_object(mysql_query($sql_from));
$row_to = mysql_fetch_object(mysql_query($sql_to));
if (0 >= $row_from->id || 0 >= $row_to->id)
{
$error = urlencode("Ошибка при передаче данных.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
if($row_from->type == "pincode" && $row_to->type == 'pincode')
{
$error = urlencode("Обмен ПИН-кода на ПИН-код невозможен.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
if($row_from->type == "pincode")
{
$collrow = mysql_fetch_object(mysql_query("select * from pincode_collections where id=$row_from->pincode_collection_id"));
$amount = $collrow->buy_price;
}
elseif($row_to->type == 'pincode')
{
$collrow = mysql_fetch_object(mysql_query("select * from pincode_collections where id=$row_to->pincode_collection_id"));
$arr = CountIn($collrow->sell_price, $curr_from, $curr_to);
$amount = $arr["in_amount"];
}
if(!(is_numeric($curr_from)&&is_numeric($curr_to)&&is_numeric($amount)&&$curr_from > 0&&$curr_to > 0&&$amount > 0))
{
$error = urlencode("Ошибка при передаче данных.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
$row = mysql_fetch_object(mysql_query("select * from ex_exchanges where ex_currency1_id = $curr_from and ex_currency2_id = $curr_to and status =1"));
if($row->id==""){
$error = urlencode("Обмен в этом направлении не разрешён!");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
if($amount < $row->min_amount || $amount > $row->max_amount)
{
$error = urlencode("Cумма, которую вы заплатите должна быть в пределах: $row->min_amount - $row->max_amount");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
if($row_from->id==""||$row_to->id==""){
$error = urlencode("Ошибка при передаче данных.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
if($row_to->type == "pincode")
{
$rest = (double)$row_to->amount * 1.1;
}
else
{
if($row_to->code == "EGOLD"||$row_to->code == "ESILVER"||$row_to->code == "EPALLADIUM"||$row_to->code == "EPLATINUM"){
$rest = $row_to->amount*GetMetalPrice($row_to->metal_id);
}
else{
$rest = $row_to->amount;
}
}
/* getting array of count values */
$values_arr = CountOut($amount,$curr_from,$curr_to);
$tmp = CountIn($values_arr['out_amount'],$curr_from,$curr_to);
if ($row_to->type != "pincode")
{
if($rest < $values_arr['out_amount'])
{
$error = urlencode("На системном счете недостаточно средств.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
}
else
{
$pAm = mysql_fetch_object(mysql_query("select COUNT(*) as cnt from pincodes where `status`='valid' AND collection_id=$row_to->pincode_collection_id"));
if (0 >= $pAm->cnt)
{
$error = urlencode("На системном счете недостаточно средств.");
header("Location: $SITE_URL/error.php?error=$error");
exit;
}
}
/* variables */
if(!isset($user_email)){
$user_email = $_COOKIE["user_email"];
}
/* FROM CONTENTC*/
if($row_from->code == "WMR"||$row_from->code == "WMZ"||$row_from->code == "WME"||$row_from->code == "WMU"){
if($row_from->code == "WMR"){
$purse = "R";
}
elseif($row_from->code == "WMZ"){
$purse = "Z";
}
elseif($row_from->code == "WME"){
$purse = "E";
}
elseif($row_from->code == "WMU"){
$purse = "U";
}
$in_content = "Для оплаты Вы будете перенаправлены на сервер системы WebMoney.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "YMR"||$row_from->code == "PCE"||$row_from->code == "PCH"||$row_from->code == "PCD"||$row_from->code == "PCL"){
if($row_from->code == "YMR"){
$purse_name = "Яндекс.Деньги";
}
elseif($row_from->code == "PCE"||$row_from->code == "PCL"){
$purse_name = "PayCash";
}
elseif($row_from->code == "PCD"){
$purse_name = "Cyphermint";
}
elseif($row_from->code == "PCH"){
$purse_name = "i-money";
}
$in_content = "Для оплаты Вы должны запустить свой $purse_name кошелек.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "EPD"){
$in_content = "Для оплаты Вы будете перенаправлены на сервер системы E-Port.";// Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->code == "EGOLD"||$row_from->code == "ESILVER"||$row_from->code == "EPLATINUM"||$row_from->code == "EPALLADIUM"){
$in_content = "Для оплаты Вы будете перенаправлены на сервер системы E-Gold. Вы получите $row_to->name практически сразу после совершения платежа.";
}
elseif($row_from->type == "pincode")
{
$in_content = "<font color=red>Приём ПИН-кодов осуществлятся вручную (с непосредственным участием оператора)!</font><BR>Вам необходимо ввести действительный ПИН-код указанных выше оператора и номинала.<br>В течение дня оператор проверит ваш ПИН-код и после его активации выплатит Вам указанную ниже сумму.";
}
elseif($row_from->transfare_type == "manual")
{
$in_content = "<font color=red>Все операции с валютой $row_from->name осуществлятся вручную (с непосредственным участием оператора)!</font><br>Вам необходимо будет самостоятельно, используя интерфейс платёжной системы ($row_from->name) оплатить указанную выше сумму. В течение дня оператора проверит выполнение платежа и выплатит Вам ниже указанную сумму.<br>Реквизиты для оплаты будут представлены на следующем шаге офомления заказа.";
}
/* TO CONTENT */
if($row_to->code == "WMR"||$row_to->code == "WMZ"||$row_to->code == "WME"||$row_to->code == "WMU"){
if($row_to->code == "WMR"){
$purse = "R";
}
elseif($row_to->code == "WMZ"){
$purse = "Z";
}
elseif($row_to->code == "WME"){
$purse = "E";
}
elseif($row_to->code == "WMU"){
$purse = "U";
}
$js_content = 'function CheckData(){
var reg = new RegExp("^'.$purse.'[0-9]{12}$");
if (document.forms("exchange").'.strtolower($purse).'_wm_purse.value == ""||!reg.test(document.forms("exchange").'.strtolower($purse).'_wm_purse.value)){
alert("Укажите правильный кошелек '.$purse.' типа, пожалуйста.");
document.forms("exchange").'.strtolower($purse).'_wm_purse.focus();
return false;
}
reg.compile("^[0-9]{12}$");
if (document.forms("exchange").wm_id.value !=""&&!reg.test(document.forms("exchange").wm_id.value)){
alert("Указан несуществующий WM идентификатор!");
document.forms("exchange").wm_id.focus();
return false;
}
reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
document.forms("exchange").user_email.focus();
return false;
}
if(document.forms("exchange").wm_id.value==""){
if(confirm("ВНИМАНИЕ!\nВы не указали WM идентификатор! Обменник не сможет проверить корректность данных.\nЕсли Вы указали ошибочный кошелек, возврат средств будет невозможен!\nПродолжить?")){
return true;
}
else{
return false;
}
}
return true;
}';
}
elseif($row_to->code == "YMR"||$row_to->code == "PCE"||$row_to->code == "PCD"||$row_to->code == "PCL"||$row_to->code == "PCH"){
$var_name = strtolower($row_to->code)."_account";
$js_content = 'function CheckData(){
var reg = new RegExp("^[0-9]{10,15}$");
if (document.forms("exchange").'.$var_name.'.value == ""||!reg.test(document.forms("exchange").'.$var_name.'.value)){
alert("Укажите правильный номер счета, пожалуйста.");
document.forms("exchange").'.$var_name.'.focus();
return false;
}
reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
document.forms("exchange").user_email.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий номер Яндекс.Деньги счета: "+document.forms("exchange").'.$var_name.'.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
return true;
}
else{
return false;
}
}';
}
elseif($row_to->code == "EPD"){
$eport_serial = ($_COOKIE["eport_serial"]==""?$eport_serial:$_COOKIE["eport_serial"]);
$eport_number = ($_COOKIE["eport_number"]==""?$eport_number:$_COOKIE["eport_number"]);
$js_content = 'function CheckData(){
var reg = new RegExp("^[0-9]{6}$");
if (document.forms("exchange").eport_serial.value == ""||!reg.test(document.forms("exchange").eport_serial.value)){
alert("Укажите правильный серийный номер E-Port карты, пожалуйста.");
document.forms("exchange").eport_serial.focus();
return false;
}
reg.compile("^[0-9]{5}$");
if (document.forms("exchange").eport_number.value == ""||!reg.test(document.forms("exchange").eport_number.value)){
alert("Укажите правильный номер E-Port карты, пожалуйста.");
document.forms("exchange").eport_number.focus();
return false;
}
reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
document.forms("exchange").user_email.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий номер E-Port карты: "+document.forms("exchange").eport_serial.value+"-"+document.forms("exchange").eport_number.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
return true;
}
else{
return false;
}
}';
}
elseif($row_to->code == "EGOLD"||$row_to->code == "ESILVER"||$row_to->code == "EPLATINUM"||$row_to->code == "EPALLADIUM"){
$egold_account = ($_COOKIE["egold_account"]==""?$egold_account:$_COOKIE["egold_account"]);
$js_content = 'function CheckData(){
var reg = new RegExp("^[0-9]+$");
if (document.forms("exchange").egold_account.value == ""||!reg.test(document.forms("exchange").egold_account.value)){
alert("Укажите правильный номер счета в E-Gold, пожалуйста.");
document.forms("exchange").egold_account.focus();
return false;
}
reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
document.forms("exchange").user_email.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий номер счета в E-Gold: "+document.forms("exchange").egold_account.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
return true;
}
else{
return false;
}
}';
}
else if($row_to->code == "EBGOLD"||$row_to->code == "EBSILVER"||$row_to->code == "EBPLATINUM")
{
$ebullion_account = ($_COOKIE["ebullion_account"]==""?$ebullion_account:$_COOKIE["ebullion_account"]);
$js_content = 'function CheckData(){
var reg = new RegExp("^[A-Z]{1}[0-9]+$");
if (document.forms("exchange").ebullion_account.value == ""||!reg.test(document.forms("exchange").ebullion_account.value)){
alert("Укажите правильный номер счета в E-Bullion, пожалуйста.");
document.forms("exchange").ebullion_account.focus();
return false;
}
reg.compile(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/);
if (document.forms("exchange").user_email.value != ""&&!reg.test(document.forms("exchange").user_email.value)){
alert("Указан неверный e-mail адрес! "+document.forms("exchange").user_email.value);
document.forms("exchange").user_email.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий номер счета в E-Bullion: "+document.forms("exchange").ebullion_account.value+"\nПроверьте номер еще раз, пожалуйста. Если Вы указали ошибочный счет,\nвозврат средств будет невозможен!\nПродолжить?")){
return true;
}
else{
return false;
}
}';
}
elseif($row_to->type == "pincode")
{
$js_content = 'function CheckData(){
if (document.forms("exchange").user_email.value == ""){
alert("Укажите e-mail! Иначе вы не сможете получить ПИН-код.");
document.forms("exchange").user_email.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий e-mail: "+document.forms("exchange").user_email.value+"\nПроверьте его еще раз, пожалуйста. Если Вы указали ошибочный адрес,\nПИН-код не будет отправлен или будет отправлен не Вам!\nПродолжить?")){
return true;
}
else
{
return false;
}
}';
}
elseif($row_to->transfare_type == "manual")
{
$js_content = 'function CheckData(){
if (document.forms("exchange").account.value == ""){
alert("Укажите эккаунт! Иначе вы не сможете получить платёж.");
document.forms("exchange").account.focus();
return false;
}
if(confirm("ВНИМАНИЕ!\nВы указали следующий эккаунт: "+document.forms("exchange").account.value+"\nПроверьте его еще раз, пожалуйста. Если Вы указали ошибочный эккаунт,\nплатеж не будет отправлен или будет отправлен не Вам!\nПродолжить?")){
return true;
}
else
{
return false;
}
}';
}
if ($row_from->metal_id > 0)
{
$grams = (round($amount/GetMetalPrice($row_from->metal_id),6));
}
if ($row_to->metal_id>0)
{
$grams_get = round($values_arr['out_amount']/GetMetalPrice($row_to->metal_id),6);
}
//WM
$wm_id = ($_COOKIE["wm_id"]==""?$wm_id:$_COOKIE["wm_id"]);
$wm_purse = ($_COOKIE[strtolower($purse)."_wm_purse"]==""?$purse:$_COOKIE[strtolower($purse)."_wm_purse"]);
//YM
$var_val = ($_COOKIE[$var_name]==""?$$var_name:$_COOKIE[$var_name]);
//error_reporting(E_ALL);
$smarty->assign("main_class", "header1");
$smarty->assign("money_cources", get_currency_cources());
$smarty->assign("metal_cources", get_metal_cources());
$smarty->assign("title", $SETTINGS['site_name']);
$smarty->assign("info","Для совершения обмена следуйте инструкциям,
пожалуйста. Деньги поступят на Ваш счет практически сразу после оплаты. ");
$smarty->assign("purse", $purse);
$smarty->assign("js_content", $js_content);
$smarty->assign("in_content", $in_content);
$smarty->assign("curr_from", $curr_from);
$smarty->assign("curr_to", $curr_to);
$smarty->assign("user_email", $user_email);
$smarty->assign("error", urldecode($error));
$smarty->assign("amount", $amount);
$smarty->assign("row_from", $row_from);
$smarty->assign("row_to", $row_to);
$smarty->assign("grams", $grams);
$smarty->assign("grams_get", $grams_get);
$smarty->assign("wm_id", $wm_id);
$smarty->assign("wm_purse", $wm_purse);
$smarty->assign("values_arr", $values_arr);
$smarty->assign("var_name", $var_name);
$smarty->assign("var_val", $var_val);
$smarty->assign("eport_serial", $eport_serial);
$smarty->assign("eport_number", $eport_number);
$smarty->assign("egold_account", $egold_account);
//$smarty->assign("ebullion_account", $ebullion_account);
error_reporting(E_ALL);
$smarty->display("smartex_exchange.tpl");
?>