<?php

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

		$obj["client_id"]=intval($_GET[client_id]);
		$client_id=intval($_GET[client_id]);
		$have= $DB->selectCell("SELECT client_id FROM internet WHERE client_id=$client_id");
		if($obj["client_id"]==$have) error("Пользователь уже имеет услугу Интернета");
		if($_POST['packet_id']!="Выберите пакет")$obj["packet_id"]=$_POST['packet_id'];
		if($_POST['time_id']!="Выберите расчётный период")$obj["time_id"]=$_POST['time_id'];
		if($_POST['vlan_id']!="Выберите Vlan")$obj["vlan_id"]=intval($_POST['vlan_id']);
		if(!$obj["time_id"]) error("Вы не выбрали расчётный период!");
		if(!$obj["packet_id"]) error("Вы не выбрали пакет!");
		if(!$obj["vlan_id"]) error("Вы не выбрали Vlan!");
		
		$DB->query("INSERT INTO internet set ?a",$obj);
 
		success();
	}
	
	public function disable(){
		global $DB;
				
		$id=intval($_GET[id]);
		if($id)
		$ip=$DB->selectCell('SELECT ip from internet WHERE id=?',$id);
		$packet=$DB->selectCell('SELECT packet_id from internet WHERE id=?',$id);
		$table=$packet+26;
		$err=exec("/usr/local/bin/sudo /sbin/ipfw table $table delete $ip",$output);
		$obj["active"]=0;
		$DB->query("UPDATE internet set ?a WHERE id=?d",$obj,$id);
		success();
		
	}
	
	public function connect(){
		global $DB;
				
		$id=intval($_GET[id]);
		$client_id=intval($_GET[client_id]);
		if($id) $client_id=$DB->selectCell('SELECT client_id from internet WHERE id=?',$id);
		$connected=$DB->selectCell('SELECT active from internet WHERE client_id=?',$client_id);
		if(!$connected)
		{
			$balance=$DB->selectCell("SELECT balance FROM clients WHERE id=$client_id");
			if($balance<0) error("У клиента минусовой балланс");
			$obj["active"]=1;
			$ip=$DB->selectCell('SELECT ip from internet WHERE client_id=?',$client_id);
			$packet=$DB->selectCell('SELECT packet_id from internet WHERE client_id=?',$client_id);
			$table=$packet+26;
			$err=exec("/usr/local/bin/sudo /sbin/ipfw table $table add $ip",$output);
			$DB->query("UPDATE internet set ?a WHERE client_id=?d",$obj,$client_id);
		}
		success();
		
	}
	
}
?>