<?php class actions_types_model extends CI_Model{

	private $table_name	= 'acciones_tipos';			// users actions_types

	public function get_actions_types($active=null)
	{
		$this->db->from($this->table_name);
		if($active != null) {$this->db->where('activo', $active);}
		$this->db->order_by('nombre');
		$query=$this->db->get();
		return $query->result_array();
		
	}

	
	public function get_actions_type($id)
	{

		$txtSelect = "*, RIGHT(imagen,3) as imagen_tipo";
		$txtSelect .= ', (select username from sec_usuarios u where u.id= acciones_tipos.id_usuario_creacion) as nombre_usuario_creacion';
		$txtSelect .= ', (select username from sec_usuarios u where u.id= acciones_tipos.id_usuario_modificacion) as nombre_usuario_modificacion';	
		$this->db->select($txtSelect, FALSE);
		$this->db->from($this->table_name);
		$this->db->where('id_tipos', $id);		
		$query=$this->db->get();
		return $query->row_array();
		
	}



	public function set_actions_type($id,$data,$mode=null)
	{
		if ($mode == 'insert') {
			$this->db->insert($this->table_name, $data);
			return $this->db->insert_id();
		} else {
			$this->db->where('id_tipos', $id);
			return $this->db->update($this->table_name, $data);
		}
		
	}

	public function get_actions_type_log($id)
	{
		$txtSelect = '*';
		$this->db->select($txtSelect);
		$this->db->from('acciones_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_actions_type_log($data)
	{
		return $this->db->insert('acciones_tipos_log', $data);
	}	

	function active_actions_type ($id)
	{
		$data = array( 
		'activo' => true,
		'fecha_modificacion' => date("Y-m-d H:i:s"), 
		'id_usuario_modificacion' => $this->session->userdata('usuario_id')		
		);
		$this->db->where('id_tipos', $id);
		$this->db->update($this->table_name, $data);			
		$resultado = ($this->db->affected_rows() >0);
		// Guarda en LOG
		$historial = "Estado@@INACTIVO@@ACTIVO||";
		$data_log = array(
			'id_tipos' => $id,
			'fecha' => date("Y-m-d H:i:s"), 
			'modificador' => $this->session->userdata('usuario_nombre_apellido'),	
			'modificaciones' => $historial);		
		$this->set_actions_type_log($data_log);
		return $resultado;
		
	}

	function inactive_actions_type ($id)
	{
		$data = array( 
		'activo' => false,
		'fecha_modificacion' => date("Y-m-d H:i:s"), 
		'id_usuario_modificacion' => $this->session->userdata('usuario_id')		
		);
		$this->db->where('id_tipos', $id);
		$this->db->update($this->table_name, $data);			
		$resultado = ($this->db->affected_rows() >0);
		// Guarda en LOG
		$historial = "Estado@@ACTIVO@@INACTIVO||";
		$data_log = array(
			'id_tipos' => $id,
			'fecha' => date("Y-m-d H:i:s"), 
			'modificador' => $this->session->userdata('usuario_nombre_apellido'),	
			'modificaciones' => $historial);		
		$this->set_actions_type_log($data_log);
		return $resultado;
	}
	
	public function is_unique($nombre, $id)
	{
		$this->db->from($this->table_name);
		$this->db->where('id_tipos !=', $id);
		$this->db->where('nombre', $nombre);				
		$query=$this->db->get();
		if ($query->num_rows()>0) {return false;}else { return true;}
	}

	
}

