View file www/admin/pincodes/add.php

File size: 3.68Kb
<?
define("ADMIN_AUTHORIZATION",1);
include("../../../includes/common.php");

$table = "pincode_collections";

$id = trim($_GET['id']=="")?trim($_POST['id']):trim($_GET['id']);

$CheckObj=new TCheckForm;

/*getting row*/
if($id>0){
	$row = mysql_fetch_object(mysql_query("select * from $table where id=$id"));
	$name=$row->name;
	$currency_id=$row->currency_id;
	$sell_price=$row->sell_price;
	$buy_price=$row->buy_price;
}
else{
	$id=-1;
}

/* generating fields */
$fields=Array();
if ($id>0) {
    $fields[id]=Array($id,'ID:');
}

$curr_opts = "";
$res = mysql_query("select * from currencies order by name");
while($row=mysql_fetch_object($res)){
	$curr_opts .= "<option value=\"$row->id\" ".($ex_id==$row->id?"selected":"").">$row->name</option>\n";
}

$fields = Array_Merge($fields,Array(
	"name" => Array('<input type="text" size=60 class="text_input">','Название:'),
	"currency_id" => Array("<select>
					<option value=\"-1\">-выберите-</option>
					$curr_opts
					</select>",'Валюта:'),
	"sell_price" => Array('<input type="text" size=10 class="text_input">','Цена продажи:'),
	"buy_price" => Array('<input type="text" size=10 class="text_input">','Цена покупки:')
));


if(isset($_POST['subm'])){
	reset ($_POST);
	while (list($key, $value) = each ($_POST)) {
		$$key = $value;
	}
	$error = $CheckObj->LocalCheck();
	
	if($id<0&&is_string($_POST['name'])&&((string)((integer)$_POST['price']) == $_POST['price'])&&(integer)$_POST['currency_id']>0)
	{		
		$row = mysql_fetch_object(mysql_query("select * from $table where name='".$_POST['name']."'"));
		echo mysql_error();
		
		if($row->id!=""){
			$error .="Коллекция с таким названием уже существует.<br>\n";
		}
		else{
			$row = mysql_fetch_object(mysql_query("select * from currencies where id=".$_POST['currency_id']));
			if($row->id==""){
				$error .="Укажите правильно валюту.<br>\n";
			}

			if($_POST['price'] <= 0){
				$error .="Цена долна быть положительным числом.<br>\n";
			}
		}
	}

	if(!(is_string($_POST['name']) && !empty($_POST['name']))){
		$error .= "Укажите название коллекции.<br>\n";
	}
	
	if(!((string)((integer)$_POST['currency_id']) == $_POST['currency_id'] && (integer)$_POST['currency_id'] > 0)){
		$error .= "Выберите правильно валюту.<br>\n";
	}
	
	if(!(is_numeric($_POST['sell_price']) && (double)$_POST['sell_price'] > 0)){
		$error .= "Укажите положительную сумму в качестве цены.<br>\n";
	}

	if(!(is_numeric($_POST['buy_price']) && (double)$_POST['buy_price'] > 0)){
		$error .= "Укажите положительную сумму в качестве цены.<br>\n";
	}
	
	if($error==""){
		
		$arr = Array(
			"name" =>$name,  
			"currency_id" =>$currency_id,   
			"sell_price" =>round(floatval($sell_price), 2),
			"buy_price" =>round(floatval($buy_price), 2)
		);
		
		if(($id<0?AddRecord($table,$arr,TRUE):UpdateRecord($table,$arr,$id)) ){
			$_SESSION['STATUS_MSG'] = "Информация успешно сохранена!";
			header("Location: ./index.php");
			exit;
		}
		else{
			$_SESSION['ERROR_MSG'] = "Ошибка при работе с базой данных.";
			header("Location: ./index.php");
			exit;
		}
	}
}


$pass="";
$c_pass="";
foreach($fields as $key=>$value){
	$$key=htmlspecialchars(stripslashes($$key));
	$smarty->assign($key,$$key);
}

/* smarty */
$smarty->assign('id',$id);

$page_title = $id>0?"Редактирование коллекции ПИН-кодов":"Добавление новой коллекции ПИН-кодов";
$smarty->assign('index_page','./index.php?l_pager');
$smarty->assign('page_title',$page_title);
$smarty->assign('top_menu_tpl',"admin_pincollections_menu.tpl");

$smarty->assign('error',$error);
$smarty->assign('status',$status);

/* table template */
$smarty->assign('fields',$fields);
$smarty->assign('table_width',"95%");
$smarty->assign('main_tpl',"admin_add_form.tpl");
/* display content */
$smarty->display('admin_index.tpl');


?>