<?php
class CT_pasi_description_po extends CI_Controller{
	function __construct()
	{
	  parent::__construct();
		if (!$this->dx_auth->is_logged_in()) {
			header('HTTP/1.1 401 Unauthorize');die('expire'); 
		}
		
		$uid = $this->session->userdata('DX_user_id');
		
		if(!permissionAuth(2) && $uid != RID){ 
			header('HTTP/1.1 401 Unauthorize');die('noaccess');
		} 
	} 
	function index(){	 
				
				$this->load->view('pasi_ceisa_master/view_pasi_description_po');
	}   
	
    function loaddata(){; 
		$def_col= array(); 
		$spt='dbo.SP_T_DESCRIPTION_PO'; 
		$def_col['rID']=array("db" => "rID" ,"sc" => "rID","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r1']=array("db" => "r1" ,"sc" => "r1","ctype"=>"int", "bypassvalue"=>"");
		$def_col['r2']=array("db" => "r2" ,"sc" => "r2","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r3']=array("db" => "r3" ,"sc" => "r3","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r4']=array("db" => "r4" ,"sc" => "r4","ctype"=>"text", "bypassvalue"=>"");
		$def_col['r5']=array("db" => "r5" ,"sc" => "r5","ctype"=>"date", "bypassvalue"=>"");
		$def_col['r6']=array("db" => "r6" ,"sc" => "r6","ctype"=>"text", "bypassvalue"=>"");
 		$def_col['r7']=array("db" => "r7" ,"sc" => "r7","ctype"=>"int", "bypassvalue"=>"");
 		$def_col['r8']=array("db" => "r8" ,"sc" => "r8","ctype"=>"int", "bypassvalue"=>"");
 
 
 		$search = isset($_POST['_search'])?$_POST['_search']:false; 
		$searchField = isset($_POST['searchField'])?$_POST['searchField']:''; 
		$searchString = isset($_POST['searchString'])?$_POST['searchString']:''; 
		$filters =  isset($_POST['filters'])?$_POST['filters']:''; 
	 	 
        $page = isset($_POST['page'])?$_POST['page']:1; // get the requested page 
		$limit = isset($_POST['rows'])?$_POST['rows']:10; // get how many rows we want to have into the grid 
		$sidx = isset($_POST['sidx'])?$_POST['sidx']:'rID'; // get index row - i.e. user click to sort 
		$sord = isset($_POST['sord'])?$_POST['sord']:'0'; // get the direction 
  	  
		if ($sord == 'asc') { $sord = '0'; } else if ($sord == 'desc') { $sord = '1'; } 
 		 
		if (array_key_exists($sidx, $def_col)) {  
				$fsidx=$def_col[$sidx];
				$sidx=$fsidx['db'];
		}else{
				$sidx='rID'; //DEFAULT SORT KALU GA ADA
		}
        $sidx=$sidx.'='. $sord;
		  
		$xmldoc =  XMLbasic($spt); 
		paramViewJSON($xmldoc, $limit, $page,  $sidx, $sord); 
  		 
        if ($search == 'true'){ 
            if (!empty($filters)){ 
				$array = json_decode($filters); 
                foreach($array->rules as $arr=>$k){ 
						$fcr=$def_col[$k->field]; 
	 					if ($fcr != null) 
						{ 
							if ($fcr['ctype']=='int'){ 
								$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue'])  
									addSearchNum($xmldoc,$fcr['sc'],$searchString,'2','1');  
			 					  
							} 
							elseif ($fcr['ctype']=='text'){ 
					        	$searchString = $k->data; 
								if ($searchString!=$fcr['bypassvalue']) 
							     addSearchText($xmldoc,$fcr['sc'],'1','1',$searchString); 
							}  
							elseif ($fcr['ctype']=='date'){ 
								$searchString = $k->data; 
								if (trim($searchString) != '' ){ 
									$dateArray=explode('/',$searchString);  
									$searchString = $dateArray[2].$dateArray[1].$dateArray[0]; 
								} 
								 addSearchDate($xmldoc,$fcr['sc'],$searchString,'1','1'); 
							}  
						} 
                 } 
             } 
	   }   
		$str = $xmldoc->saveXML();   
		 exec_sp_json($xmldoc, 'dbo.SP_T_DESCRIPTION_PO',$sts,$des,$rows,$detail);  
  		echo $rows; 
		}
		
		function add_data(){
		        $desc = isset($_POST['desc'])?$_POST['desc']:die('Isi description');; // get the requested page 
		  	    $item_type = isset($_POST['item_type'])?$_POST['item_type']:die('Isi type item');; // get the requested page 
		  	    $show = isset($_POST['show'])?$_POST['show']:0; // get the requested page 
		  	    $validation = isset($_POST['validation'])?$_POST['validation']:0; // get the requested page 
		  		$xmldoc =  XMLbasic('json');  
				AddField($xmldoc ,'descriptin_po',$desc);
				AddField($xmldoc ,'type_item_id',$item_type);
				AddField($xmldoc ,'show_create_bc',$show);
				AddField($xmldoc ,'check_valid_item',$validation);
				$str = $xmldoc->saveXML();   
				exec_sp_array($xmldoc, 'dbo.SP_T_DESCRIPTION_PO_ADD',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false),'stsno' => $sts, 'stsmsg' => $des)); 
		}
		
		function edit_data(){
		        $desc_old = isset($_POST['desc_old'])?$_POST['desc_old']:die('Pilih description yang akan di edit');; // get the requested page 
		  	    $desc = isset($_POST['desc'])?$_POST['desc']:die('Isi description');; // get the requested page 
		  	    $item_type = isset($_POST['item_type'])?$_POST['item_type']:die('Isi type item');; // get the requested page 
		  	    $show = isset($_POST['show'])?$_POST['show']:0; // get the requested page 
		  	    $validation = isset($_POST['validation'])?$_POST['validation']:0; // get the requested page 
			  		$xmldoc =  XMLbasic('json');  
				AddField($xmldoc ,'descriptin_po_old',$desc_old);
				AddField($xmldoc ,'descriptin_po',$desc);
				AddField($xmldoc ,'type_item_id',$item_type);
				AddField($xmldoc ,'show_create_bc',$show);
				AddField($xmldoc ,'check_valid_item',$validation);
				$str = $xmldoc->saveXML();   
				exec_sp_array($xmldoc, 'dbo.SP_T_DESCRIPTION_PO_EDIT',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false),'stsno' => $sts, 'stsmsg' => $des)); 
		}
		
		function delete_data(){
		   	    $desc = isset($_POST['desc'])?$_POST['desc']:die('Isi description');; // get the requested page 
		  		$xmldoc =  XMLbasic('json');  
	 			AddField($xmldoc ,'descriptin_po',$desc);
	 			$str = $xmldoc->saveXML();   
				exec_sp_array($xmldoc, 'dbo.SP_T_DESCRIPTION_PO_DELETE',$sts,$des,$rows,$detail); 
				echo json_encode(array('valid'=>($sts=='00'?true:false),'stsno' => $sts, 'stsmsg' => $des)); 
		}
 }