<?php
class Bank{
	var $id;
	private $db;
	private $username;
	
	function __construct(){
		global $db, $username;
		$this->db = $db;		
		$this->username = $username;		
	}	

	function setId($id){
		$this->id = $id;
	}
	
	function deleteBank(){
		global $db;		
		if (!empty($this->id)){	
			$this->db->query("DELETE from bank WHERE bank_id='".$this->id."'");			
		}
	}

	function saveBank($bankname, $statusname, $filesname){		
		$inserts['bankname'] = $bankname;
		$inserts['status'] = $statusname;
		$inserts['logo'] = $filesname;
		$inserts['created_date'] = 'now()';
		$inserts['created_by'] = $this->username;
		$inserts['edited_date'] = 'now()';
		$inserts['edited_by'] = $this->username;
		
		$lastid = $this->db->insert("bank",$inserts);	
		return true;		
	}
		
	function updateBank($bankname, $statusname,$filesname){			
		if (!empty($this->id)){
			$updates['bankname'] = $bankname;
 			$updates['status'] = $statusname;
			$updates['logo'] = $filesname;
			$updates['edited_date'] = 'now()';
			$updates['edited_by'] = $this->username;
 			
			$this->db->update("bank",$updates,"bank_id='".$this->id."'");
			
		}
	}
	
	function searchBank($keyword,$field,$sortfield,$sortdetail,$getreturn,$page = -1){
		global $db,$general,$category;
		
		$addlimit = '';
		if ($page > 0){
			$addlimit = ' LIMIT '.($page-1)*$general['showperpageadmin'].','.$general['showperpageadmin'];
		}
		
		$sqls = array();
			
		$fields = 'bank_id';
		
		if (isset($keyword)){
			$strinarr = '';
			$groupby = '';
			
			$arr1 = array_search('bank_id',$field);
			if ($arr1 !== false){
				$strinarr = 'bank_id LIKE (\'%'.$keyword[$arr1].'%\')';
				array_push($sqls,$strinarr);
				$fields = 'bank_id';
			}
			$arr2 = array_search('bankname',$field);
			if ($arr2 !== false){
				$strinarr = 'bankname LIKE (\'%'.$keyword[$arr2].'%\')';
				array_push($sqls,$strinarr);
				$fields = 'bank_id';
 			}
			$arr3 = array_search('status',$field);
			if ($arr3 !== false){
				$strinarr = 'status LIKE (\''.$keyword[$arr3].'%\')';
				array_push($sqls,$strinarr);
				$fields = 'bank_id';
			}
		}
		
		$sql = '';
		if (sizeof($sqls) > 0){
			$sql = ' WHERE '.implode(' AND ',$sqls);
		}
		
		if ($getreturn == 'data'){
			$orders = 'DESC';
			if (!empty($sortdetail)){
				$orders = $sortdetail;
			}
		
			if (!empty($sortfield)){
				switch ($sortfield){
					case 'sortbank_id': $fields = 'bank_id'; break;
					case 'sortbankname': $fields = 'bankname'; break;
 					case 'sortlogo': $fields = 'logo'; break;
					case 'sortstatuscicil': $fields = 'statuscicil'; break;
					case 'sortstatus': $fields = 'status'; break;
					default: $fields = 'bank_id'; break;
				}
			}
			
			$dball = $db->fetch_all("SELECT * FROM bank ".$sql." ORDER BY ".$fields." ".$orders.$addlimit);
			
			return $dball;
		}
		else if ($getreturn == 'pagenav'){
			$dball = $db->fetch_one("SELECT COUNT(bank_id) AS totalrecord FROM bank".$sql);
			
			if ($dball['totalrecord'] > 0){
				$totalrecord = $dball['totalrecord'];
				$totalpage = ceil($totalrecord / $general['showperpageadmin']);
				$page = handlepage($page,$totalpage);
				$startrecord = ($page - 1) * $general['showperpageadmin'] + 1;
				$endrecord = $startrecord + $general['showperpageadmin'] - 1;
				if ($endrecord > $totalrecord){
					$endrecord = $totalrecord;
				}
			}
			else{
				$page = 0;
				$totalrecord = 0;
				$totalpage = 0;
				$startrecord = 0;
				$endrecord = 0;
			}
			
			return $page.'|^|'.$totalrecord.'|^|'.$totalpage.'|^|'.$startrecord.'|^|'.$endrecord;
		}
	}
			
	function getBankname($mode = ''){
		$sqls = array();
		if ($mode == 'partial'){
			array_push($sqls,'status = 1');
		}
		
		$sql = '';
		$datas = array();
		if (sizeof($sqls) > 0){
			$sql = ' WHERE '.implode(' AND ',$sqls);
		}
		$datas = $this->db->fetch_all("SELECT b.*, ab.rek_no, ab.rek_name, ab.bank_id, ab.account_id FROM bank b INNER JOIN account_bank ab ON b.bank_id = ab.bank_id".$sql." ORDER BY bankname");
		
		return $datas;
	}
		
	function getHeaderBank(){
		$sqls = array();
		$data = array();
		if (!empty($this->id)){
			array_push($sqls,'bank_id = \''.$this->id.'\'');
			
			$sql = '';
			if (sizeof($sqls) > 0){
				$sql = ' WHERE '.implode(' AND ',$sqls);
			}
			$data = $this->db->fetch_one("SELECT * FROM bank".$sql);
		}
		
		return $data;
	}
}
?>