<?php 
class Issue_model extends CI_Model {
	
	public function _consruct(){
		parent::_construct();
 	}

 	public function addIssue($issue_data = array()){
 		if(empty($issue_data)){
 			return 0;
 		}

 		$status = $this->db->insert('issues',$issue_data);
		return ($status)?1:0;
 	}

 	function getIssue($issue_id = '',$view_all = 0){
 		$cond = ($view_all != 0)?' status IN (0,1) ':' status IN (1) ';
 		$cond .= (!empty($issue_id))?" AND issue_id = '$issue_id'":"";

		$result = $this->db->query("SELECT * FROM issues WHERE $cond");
		if(empty($result)){
			return;
		}
		return (empty($issue_id))?$result->result():$result->row();
 	}

 	function changeStatus($issue_id = '', $status = '0'){
 		if(empty($issue_id)){
 			return 0;
 		}
 		$status = $this->db->update('issues',array('status'=>$status), array('issue_id'=>$issue_id));
 		return $status;
 	}

 	function updateIssue($issue_id = '', $issue_data = array()){
 		if(empty($issue_id) || empty($issue_data)){
 			return 0;
 		}
		
 		$status = $this->db->update('issues',$issue_data,array('issue_id'=>$issue_id));
		return ($status)?1:0;
 	}

 	function addMechIssue($issueMechData = array()){
 		if(empty($issueMechData)){
 			return 0;
 		}
 		$status = $this->db->insert('mechanic_issues',$issueMechData);
 		return ($status)?1:0;
 	}

 	function getMechanicIssues($mechanic_id = '',$iisue_id = '',$view_all = 0){
 		if(empty($mechanic_id)){
 			return 0;
 		}
 		$view = ($view_all == 0)?'0,1':'1';
 		$cond = (!empty($issue_id))?" AND ISSUE.issue_id = '$issue_id' ":"";

 		$sql = "SELECT ISSUE.*,MECH.*,M_ISSUE.*
 				FROM mechanic_issues AS M_ISSUE 
 				INNER JOIN issues AS ISSUE ON (ISSUE.issue_id = M_ISSUE.issue_id)
 				INNER JOIN mechanic AS MECH ON (MECH.mechanic_id = M_ISSUE.mechanic_id)
 				INNER JOIN admin_users AS ADMIN ON (ADMIN.id = MECH.mechanic_id)
 				WHERE M_ISSUE.mechanic_id='$mechanic_id' $cond AND 
 					  ISSUE.status IN ($view) AND M_ISSUE.status IN ($view) AND ADMIN.status IN (0,1)";
	  	$result = $this->db->query($sql);
		if(empty($result))
			return;

		return (!empty($mechanic_id) && !empty($iisue_id))?$result->row():$result->result();
 	}

 	function changeMappedIssueStatus($mechanic_id = '', $issue_id = '', $status = '0'){
 		if(empty($mechanic_id) || empty($issue_id)){
 			return 0;
 		}
 		$status = $this->db->update('mechanic_issues',
 											array('status'=>$status), 
 											array('issue_id'=>$issue_id,'mechanic_id'=>$mechanic_id));
 		return $status;
 	}

 	function updateMechIssue($mechanic_id = '', $issue_id = '', $issueMechData = array()){
 		if(empty($mechanic_id) || empty($issue_id) || empty($issueMechData)){
 			return 0;
 		}
		$status = $this->db->update('mechanic_issues',
									$issueMechData,
									array('mechanic_id'=>$mechanic_id,'issue_id'=>$issue_id));
 		return ($status)?1:0;
 	}

}
?>