<?php class types_model extends CI_Model{

	private $table_name	= 'tipos';			// users profiles

	public function get_types($active=null)
	{
		//$this->db->from($this->table_name);
		$this->db->select("tipos.id_tipos AS id_tipos,tipos.nombre AS nombre,fecha,graficos_tipos.nombre AS graficos_nombre, graficos_tipos.nombre_pt AS graficos_nombre_pt, graficos_tipos.nombre_en AS graficos_nombre_en");
		$this->db->from("tipos left join graficos_tipos on tipos.id_tipos = graficos_tipos.id_tipos");
		$this->db->order_by('tipos.nombre');
		$query=$this->db->get();
		return $query->result_array();
	}


	public function get_type($id)
	{
		$this->db->select("tipos.id_tipos AS id_tipos,tipos.nombre AS nombre,fecha,graficos_tipos.nombre AS graficos_nombre, graficos_tipos.nombre_pt AS graficos_nombre_pt, graficos_tipos.nombre_en AS graficos_nombre_en");
		$this->db->from("tipos left join graficos_tipos on tipos.id_tipos = graficos_tipos.id_tipos");
		$this->db->where('tipos.id_tipos', $id);
		$query=$this->db->get();
		return $query->row_array();

	}



	public function set_type($id,$data=null,$mode=null)
	{
		if (empty($data)) {return false;}

		if ($mode == 'insert') {
			$data_1 = array(
				'nombre' => $data['nombre'] ,
				'fecha' => $data['fecha']
			);
			$this->db->insert($this->table_name, $data_1);
			$id = $this->db->insert_id();
			$data_2 = array(
				'id_tipos'=> $id,
				'nombre' => $data['graficos_nombre'],
				'nombre_pt' => $data['graficos_nombre_pt'],
				'nombre_en' => $data['graficos_nombre_en']
			);
			$this->db->insert("graficos_tipos", $data_2);
			return $id;

		} else {

			if (!empty($data['nombre'])) { $data_1['t.nombre'] = $data['nombre'];}
			if (!empty($data['fecha'])) { $data_1['fecha'] = $data['fecha'];}
			if (!empty($data['graficos_nombre'])) { $data_1['gt.nombre'] = $data['graficos_nombre'];}
			if (!empty($data['graficos_nombre_pt'])) { $data_1['gt.nombre_pt'] = $data['graficos_nombre_pt'];}
			if (!empty($data['graficos_nombre_en'])) { $data_1['gt.nombre_en'] = $data['graficos_nombre_en'];}

			$this->db->where('t.id_tipos', $id);
			return $this->db->update("tipos t left join graficos_tipos gt on t.id_tipos = gt.id_tipos", $data_1);
		}

	}

	public function delete_type($id)
	{
		$tables = array($this->table_name, 'graficos_tipos');
		$this->db->where('id_tipos', $id);
		$this->db->delete($tables);
		return true;
	}

	public function get_type_log($id)
	{
		$txtSelect = '*';
		$this->db->select($txtSelect);
		$this->db->from('tipos_log');
		$this->db->where('id_tipos', $id);
		$this->db->order_by('fecha','desc');
		$query=$this->db->get();
		return $query->result_array();
	}


	public function set_type_log($data)
	{
		return $this->db->insert('tipos_log', $data);
	}


	public function is_unique($nombre, $id, $campo)
	{


		if ($campo == 'nombre') {
			$this->db->from($this->table_name);
		} else {
			$this->db->from("graficos_tipos");
		}
		$this->db->where('id_tipos !=', $id);

		if ($campo == 'graficos_nombre_pt') {
			$this->db->where('nombre_pt', $nombre);
		} elseif ($campo == 'graficos_nombre_en') {
			$this->db->where('nombre_en', $nombre);
		} else {
			$this->db->where('nombre', $nombre);
		}

		$query=$this->db->get();
		if ($query->num_rows()>0) {return false;}else { return true;}
	}


}
