<?
define("ADMIN_AUTHORIZATION",1);
include("../../../includes/common.php");
$table = "ex_currencies";
$id = trim($_GET['id']=="")?trim($_POST['id']):trim($_GET['id']);
//$res=pg_query($DB_LINK, );
/*getting row*/
if($id>0){
$row = mysql_fetch_object(mysql_query("select $table.*, currencies.symbol as currency_symbol from $table inner join currencies on currencies.id = $table.currency_id where $table.id=$id"));
$name = $row->name;
$code = $row->code;
$country = $row->country_id;
$url = $row->url;
$pos = $row->position;
$amount = $row->amount + 0;
$comission_fix = $row->comission_fix + 0;
$comission_perc = $row->comission_perc*100 + 0;
$comission_min = $row->comission_min + 0;
$who_pay_comission = $row->who_pay_comission;
$precision = $row->precision;
$curr = $row->currency_id;
$metal = $row->metal_id;
$type = $row->type;
$pincode_collection_id = $row->pincode_collection_id;
$transfare_type = $row->transfare_type;
$manual_properties = $row->manual_properties;
$stat = $row->status;
$currency_symbol = $row->currency_symbol;
$ps_comission = $row->payment_system_comission_perc*100+0;
}
else{
$id=-1;
}
if(isset($_POST['subm'])){
reset ($_POST);
while (list($key, $value) = each ($_POST)) {
$$key = $value;
}
$error = "";
if(!eregi("^[А-Яа-яA-Za-z0-9() -]+$",$_POST['name'])){
$error .= "Название валюты указано неверно.<br>\n";
}
if(!eregi("^[A-Za-z]+$",$_POST['code'])){
$error .= "Код валюты указан неверно.<br>\n";
}
if(is_numeric($_POST['country'])&&$_POST['country'] > 0){
$row = mysql_fetch_object(mysql_query("select * from countries where id=".$_POST['country']));
if($row->id==""){
$error .="Укажите страну валюты, пожалуйста.<br>\n";
}
}
elseif($_POST['country']!=0){
$error .="Укажите страну валюты, пожалуйста.<br>\n";
}
if(!eregi("^http://[^']+$",$_POST['url'])){
$error .= "Сайт валюты указан неверно.<br>\n";
}
if($_FILES["logo"]['name']!=""&&$_FILES["logo"]['type']!="image/gif"){
$error .= "Логотип должен быть GIF картинкой.<br>\n";
}
elseif(!isset($_POST['id'])&&$_FILES["logo"]['name']==""){
$error .= "Загрузите логотип, пожалуйста.<br>\n";
}
if(is_numeric($_POST['curr'])&&$_POST['curr'] > 0 ){
$row = mysql_fetch_object(mysql_query("select * from currencies where id=".$_POST['curr']));
if($row->id==""){
$error .="Укажите валюту, пожалуйста.<br>\n";
}
}
else{
if($_POST["type"] != "pincode")
{
$error .="Укажите валюту, пожалуйста.<br>\n";
}
}
if(is_numeric($_POST['metal'])&&$_POST['metal'] > 0 ){
$row = mysql_fetch_object(mysql_query("select * from metals where id=".$_POST['metal']));
if($row->id==""){
$error .="Укажите металл, пожалуйста.<br>\n";
}
}
if(!is_numeric($_POST['pos'])&&$_POST['action'] =="edit" ){
$error .="Укажите место(позицию), пожалуйста.<br>\n";
}
if(!(is_numeric($_POST['amount'])&&(double)$_POST['amount'] >= 0) && $_POST["type"]!="pincode"){
$error .="Укажите остаток на счете, пожалуйста.<br>\n";
}
if(!(is_numeric($_POST['ps_comission'])&&$_POST['ps_comission'] >= 0)){
$error .="Укажите комиссию платежной системы, пожалуйста.<br>\n";
}
if(!($_POST['who_pay_comission']==0||$_POST['who_pay_comission']==1)){
$error .="Укажите, кто платит за перевод, пожалуйста.<br>\n";
}
if(!(is_numeric($_POST['precision'])&&$_POST['precision']>=0&&$_POST['precision']<=6)){
$error .="Укажите количество знаков за запятой, пожалуйста.<br>\n";
}
if(!($_POST['type']=="ordinary"||$_POST['type']=="pincode")){
$error .="Укажите тип валюты, пожалуйста.<br>\n";
}
if(($_POST['type']=="pincode"&&!is_numeric($_POST['pincode_collection_id']))){
$error .="Укажите колекцию ПИН-кодов, пожалуйста.<br>\n";
}
if(!($_POST['transfare_type']=="auto"||$_POST['transfare_type']=="manual"||$_POST['transfare_type']=="pincode")){
$error .="Укажите способ передачи, пожалуйста.<br>\n";
}
if(($_POST['transfare_type']=="manual"&&$_POST['manual_properties']=="")){
$error .="Укажите реквизиты для ручного перевода, пожалуйста.<br>\n";
}
if(!($_POST['status']==0||$_POST['status']==1)){
$error .="Укажите статус, пожалуйста.<br>\n";
}
if($type == "pincode")
{
$row = mysql_fetch_assoc(mysql_query("select * from pincode_collections where id=$pincode_collection_id"));
$sell_price = $row["sell_price"];
$pincurr = $row["currency_id"];
$row = mysql_fetch_assoc(mysql_query("select count(*) as pincount from pincodes where collection_id=$pincode_collection_id and status='valid'"));
$pincount = $row["pincount"];
}
if($error=="")
{
$arr = Array(
"name" => addslashes($name),
"code" => addslashes(strtoupper($code)),
"country_id" => $country,
"currency_id" => $type == "pincode" ? $pincurr :$curr,
"metal_id" => $metal,
"url" => addslashes($url),
"position" => $pos,
"amount" => $type == "pincode" ? $sell_price * $pincount : $amount,
"payment_system_comission_perc" => $ps_comission/100+0,
"who_pay_comission" => $who_pay_comission,
"precision" => $precision,
"type" => $type,
"pincode_collection_id" => intval($type == "pincode" ? $pincode_collection_id : ""),
"transfare_type" => $transfare_type,
"manual_properties" => $transfare_type == "manual" ? $manual_properties : "",
"status" => $stat
);
if (0 >= $id)
{
$pos = mysql_fetch_object(mysql_query("select 1 + max(position) as pos from ex_currencies"));
$arr["position"] = $pos->pos;
}
else
{
$tmp_row = mysql_fetch_object(mysql_query("select * from ex_currencies where id=$id"));
$cur_pos = $tmp_row->position;
}
if ($id > 0)
{
$arr ["regdate"] = time();
}
$id_d = $id;
if(($id<0?AddRecord($table,$arr):UpdateRecord($table,$arr,$id)) ){
$row = mysql_fetch_row(mysql_query("select max(id) from ex_currencies"));
$id = $row[0];
/* EXCHANGES */
$tmp_res = mysql_query("select * from ex_currencies where id<>".$row[0]);
while($tmp_row = mysql_fetch_object($tmp_res))
{
if (0 >= mysql_num_rows(mysql_query("select * from ex_exchanges where
ex_currency1_id = $id and ex_currency2_id=$tmp_row->id")))
{
$query = "INSERT INTO `ex_exchanges` (`ex_currency1_id` , `ex_currency2_id` , `sys_comission_perc` , `sys_comission_fix` , `sys_comission_min` , `min_amount` , `max_amount` , `status` ) VALUES ('$id', '$tmp_row->id', '$SYS_COMISSION_PERC_DEF', '$SYS_COMISSION_FIX_DEF', '$SYS_COMISSION_MIN_DEF', '$MIN_AMOUNT_DEF', '$MAX_AMOUNT_DEF','1');";
mysql_query($query);
}
if (0 >= mysql_num_rows(mysql_query("select * from ex_exchanges where
ex_currency2_id = $id and ex_currency1_id=$tmp_row->id")))
{
$query = "INSERT INTO `ex_exchanges` (`ex_currency1_id` , `ex_currency2_id` , `sys_comission_perc` , `sys_comission_fix` , `sys_comission_min` , `min_amount` , `max_amount` , `status` ) VALUES ('$tmp_row->id','$id','$SYS_COMISSION_PERC_DEF', '$SYS_COMISSION_FIX_DEF', '$SYS_COMISSION_MIN_DEF', '$MIN_AMOUNT_DEF', '$MAX_AMOUNT_DEF','1');";
@mysql_query($query);
}
}
if($_FILES["logo"]['name']!=""){
@unlink($_SERVER["DOCUMENT_ROOT"].$CURR_IMG_PATH."/".$id_d.".gif");
@move_uploaded_file($_FILES["logo"]['tmp_name'], $_SERVER["DOCUMENT_ROOT"].$CURR_IMG_PATH."/".$id_d.".gif");
@chmod($_SERVER["DOCUMENT_ROOT"].$CURR_IMG_PATH."/".$id_d.".gif", 777);
}
if (0 < $id_d)
{
/* position */
$new_pos = $pos;
if ($new_pos<>$cur_pos)
{
if ($cur_pos>0)
{
$q = "update ex_currencies set
position=position-1 where position>".($cur_pos+0)." and id<>$id_d";
//echo $q;
mysql_query($q);
}
$q = "update ex_currencies set
position=position+1 where position>=".($new_pos+0)." and id<>$id_d";
//echo $q;
mysql_query($q);
}
//exit;
}
$_SESSION['STATUS_MSG'] = "Информация успешно сохранена!";
header("Location: ./index.php");
exit;
}
else{
$_SESSION['ERROR_MSG'] = "Ошибка при работе с базой данных.".mysql_error();
header("Location: ./index.php");
exit;
}
}
}
/* smarty */
/*
logo
*/
$logo_img_src = "";
if(file_exists($_SERVER["DOCUMENT_ROOT"].$CURR_IMG_PATH."/".$id.".gif")){
$logo_img_src = $SITE_URL.$CURR_IMG_PATH."/".$id.".gif";
}
$smarty->assign('logo_img_src',$logo_img_src);
/*
html options section
*/
$res = mysql_query("select * from countries order by name_rus");
$country_ids[0]=0;
$country_names[0]="International";
$country_ids[1]=-1;
$country_names[1]="-------------------";
$i=2;
while($row=mysql_fetch_object($res)){
$country_ids[$i]=$row->id;
$country_names[$i]=stripslashes($row->name_rus);
$i++;
}
$smarty->assign('country_ids',$country_ids);
$smarty->assign('country_names',$country_names);
$curr_ids[0]=0;
$curr_names[0]="Выберите";
$i=1;
$res = mysql_query("select * from currencies");
while($row=mysql_fetch_object($res)){
$curr_ids[$i]=$row->id;
$curr_names[$i]=stripslashes($row->name);
$i++;
}
$smarty->assign('curr_ids',$curr_ids);
$smarty->assign('curr_names',$curr_names);
$metal_ids[0]=0;
$metal_names[0]="Нет привязки";
$i=1;
$res = mysql_query("select * from metals");
while($row=mysql_fetch_object($res)){
$metal_ids[$i]=$row->id;
$metal_names[$i]=stripslashes($row->name);
$i++;
}
$smarty->assign('metal_ids',$metal_ids);
$smarty->assign('metal_names',$metal_names);
for($i=0;$i<=6;$i++){
$precision_ids[$i]=$i;
$precision_names[$i]=$i;
}
$smarty->assign('precision_ids',$precision_ids);
$smarty->assign('precision_names',$precision_names);
$row = mysql_fetch_row(mysql_query("select count(*) from ex_currencies"));
for($i=1;$i<=$row[0];$i++){
$pos_ids[$i-1]=$i;
$pos_names[$i-1]=$i;
}
$smarty->assign('pos_ids',$pos_ids);
$smarty->assign('pos_names',$pos_names);
$collect_ids[0]=0;
$collect_names[0]="Нет привязки к коллекции";
$i=1;
$res = mysql_query("select * from pincode_collections");
while($row=mysql_fetch_object($res)){
$collect_ids[$i]=$row->id;
$collect_names[$i]=stripslashes($row->name);
$i++;
}
$smarty->assign('collect_ids',$collect_ids);
$smarty->assign('collect_names',$collect_names);
/*
html options section
*/
$smarty->assign('id',$id);
$smarty->assign('currency_symbol',$currency_symbol);
$smarty->assign('ps_comission',$ps_comission);
$smarty->assign('name',$name);
$smarty->assign('code',$code);
$smarty->assign('country',$country);
$smarty->assign('url',$url);
$smarty->assign('logo',$logo);
$smarty->assign('curr',$curr);
$smarty->assign('metal',$metal);
$smarty->assign('amount',$amount);
$smarty->assign('comission_min',$comission_min);
$smarty->assign('precision',$precision);
$smarty->assign('who_pay_comission',$who_pay_comission);
$smarty->assign('type',$type);
$smarty->assign('pincode_collection_id',$pincode_collection_id);
$smarty->assign('transfare_type',$transfare_type);
$smarty->assign('manual_properties',$manual_properties);
$smarty->assign('stat',$stat);
$smarty->assign('pos',$pos);
$page_title = $id>0?"Редактирование электронной валюты":"Добавление электронной валюты";
$smarty->assign('index_page','./index.php?l_pager');
$smarty->assign('page_title',$page_title);
$smarty->assign('top_menu_tpl',"admin_excurr_menu.tpl");
$smarty->assign('error',$error);
$smarty->assign('status',$status);
/* table template */
$smarty->assign('main_tpl',"admin_excurr_add.tpl");
/* display content */
$smarty->display('admin_index.tpl');
?>