<?php

class services {

public function __construct(){
		global $err;
		
		$act=preg_replace('/[^a-z_]/','',$_GET['act']);
		if($act){
			call_user_func(array(&$this,$act));
		} 
	}

	public function get(){
		global $DB;
		$limit=intval($_POST['limit']);
		$start=intval($_POST['start']);
		
		$dir=preg_replace("/[^(ASC|DESC)]/",'',$_POST['dir']);
		if($dir!='ASC'&&$dir!='DESC') $dir='ASC';
		$sort=$_POST['sort'];
		if(!$sort){
			$sort='id';
		}
		
		$data = $DB->selectPage($totalCount,"
								SELECT * FROM packets 
								ORDER BY $sort $dir 
								LIMIT ?d,?d",$start,$limit);
	
		$json=array("totalCount"=>$totalCount,"data"=>$data);
		echo json_encode($json);
	}
	
	public function save(){
		global $DB;
		
		$packet_id=intval($_GET[packet_id]);
		if($_POST['speed_down']!='Скорость Download')$obj["speed_down"]=$_POST['speed_down'];
		if($_POST['speed_up']!='Скорость Upload')$obj["speed_up"]=$_POST['speed_up'];
		if($_POST['price']!='Цена')$obj["price"]=$_POST['price'];
		if($obj["price"]<0) error("Цена не может быть отрицательной");
		if($packet_id==0){
			if(!$obj["speed_down"]) error("Введите скорость download!");
			if(!$obj["speed_up"]) error("Введите скорость upload!");
			if(!$obj["price"]) error("Введите цену пакета!");
			$obj["name"]=$_POST['name'];
			if(!$obj["name"]||$obj["name"]!=$_POST["name"]) error("Введите название пакета в формате [a-zA-Z0-9_]!");
			$DB->query("INSERT INTO packets set ?a",$obj);
		} else {
			$DB->query("UPDATE packets set ?a WHERE id=?d",$obj,$packet_id);
		}
		
		success();
	}
	
}

?>