<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Palestrantes_model extends CI_Model {
	private $id;
	private $nome;
	private $foto;

	public function __construct() {
		parent::__construct();
	}

	public function setId($id) {
		$this->id = $id;
	}
	public function getId() {
		return $this->id;
	}
	public function setNome($nome) {
		$this->nome = $nome;
	}
	public function getNome() {
		return $this->nome;
	}
	public function setFoto($foto) {
		$this->foto = $foto;
	}
	public function getFoto() {
		return $this->foto;
	}
	
	private function salvar() {
		$id = $this->input->post('id');
		$nome = $this->input->post('nome');
		$foto = $this->input->post('foto');
		$this->setId($id);
		$this->setNome($nome);
		$this->setFoto($foto);


		$this->db->set('nome',$this->getNome());
		$this->db->set('foto',$this->getFoto());

		if ( empty( $this->id ) ) {
			$query = $this->db->insert('palestrantes');
			if ( $query == TRUE ) {
				$this->setId($this->db->insert_id());
				return TRUE;
			} else {
				return FALSE;
			}
		} else {
			$this->db->where('id',$this->getId());
			$query = $this->db->update('palestrantes');
			return $query;
		}

	}

	private function salvar_detalhes() {
		$palestrantes_id = $this->getId();
		$idioma = $this->input->post('idioma');
		$pequena_descricao = $this->input->post('pequena_descricao');
		$descricao = $this->input->post('descricao');

		if (empty($idioma))
			$idioma = 'pt';

		$this->db->where('palestrantes_id',$palestrantes_id);
		$this->db->where('idioma',$idioma);
		$query = $this->db->get('palestrantes_detalhes');

		$this->db->set('pequena_descricao',$pequena_descricao);
		$this->db->set('descricao',$descricao);
		$this->db->set('idioma',$idioma);
		$this->db->set('palestrantes_id',$palestrantes_id);

		if ( $query->num_rows() > 0 ) {
			$query = $query->row_array();
			$this->db->where('id',$query['id']);
			$rowset = $this->db->update('palestrantes_detalhes');
		} else {
			$this->db->insert('palestrantes_detalhes');
		}
	}

	public function salvar_palestrante() {
		$this->db->trans_begin();

		$this->salvar();
		$this->salvar_detalhes();
		
		if ( $this->db->trans_status() === FALSE ) {
			$this->db->trans_rollback();
			return array('status'=>'fail','msg'=>'Não foi possível salvar, tente novamente mais tarde', 'id' => '');
		} else {
			$this->db->trans_commit();
			return array('status'=>'ok','msg'=>'Salvo com sucesso', 'id' => $this->getId());
		}
	}

	public function grid_palestrantes() {
		$this->db->select('
			palestrantes.id,
			palestrantes.nome,
			palestrantes.foto
		');
		$query = $this->db->get('palestrantes')->result_array();

		$dados = array();

		foreach ($query as $key => $value) {
			$dados[$key]['id'] = $value['id'];
			$dados[$key]['nome'] = $value['nome'];
			$dados[$key]['foto'] = base_url('files/get/'.$value['foto']);
		}

		$retorno['status'] = 'ok';
		$retorno['msg'] = sizeof($dados) . " registros encontrados";
		$retorno['dados'] = $dados;

		return $retorno;
	}

	public function get_palestrante($id) {
		$this->db->where('palestrantes.id',$id);
		$this->db->select('
			palestrantes.id,
			palestrantes.nome,
			palestrantes.foto,
			palestrantes_detalhes.idioma,
			palestrantes_detalhes.descricao,
			palestrantes_detalhes.pequena_descricao
		');
		$this->db->join('palestrantes_detalhes','palestrantes_detalhes.palestrantes_id = palestrantes.id AND palestrantes_detalhes.idioma = "pt"','LEFT');
		$query = $this->db->get('palestrantes')->row_array();
		return $query;
	}

	public function trocar_idioma_palestrante() {
		$palestrantes_id = $this->input->post('id');
		$idioma = $this->input->post('idioma');
		if (empty($idioma))
			$idioma = 'pt';
	
		$descricao = '';
		$pequena_descricao = '';
	
		if (!empty($palestrantes_id)) {
			$this->db->where('palestrantes_id',$palestrantes_id);
			$this->db->where('idioma',$idioma);
			$row = $this->db->get('palestrantes_detalhes');
			if ($row->num_rows() > 0) {
				$row = $row->row_array();
				$descricao = $row['descricao'];
				$pequena_descricao = $row['pequena_descricao'];
			}	
		}

		$retorno['status'] = 'ok';
		$retorno['msg'] = '';
		$retorno['dados']['id'] = $palestrantes_id;
		$retorno['dados']['idioma'] = $idioma;
		$retorno['dados']['descricao'] = $descricao;
		$retorno['dados']['pequena_descricao'] = $pequena_descricao;

		return $retorno;
	}

	public function get_all_palestrantes($idioma) {
		// $idioma = $this->input->post('idioma');

		if (empty($idioma))
			$idioma = 'pt';

		$this->db->select('
			palestrantes.id,
			palestrantes.nome,
			palestrantes.foto,
			palestrantes_detalhes.pequena_descricao,
			palestrantes_detalhes.descricao,
			palestrantes_detalhes.idioma
		');
		$this->db->join('palestrantes_detalhes','palestrantes_detalhes.palestrantes_id = palestrantes.id AND palestrantes_detalhes.idioma = "'.$idioma.'"','LEFT');
		$dados = $this->db->get('palestrantes')->result_array();

		foreach ($dados as $key => $value) {
			$dados[$key]['foto'] = base_url('files/get/'.$value['foto']);
		}

		$retorno['status'] = 'ok';
		$retorno['msg'] = sizeof($dados) . " registros encontrados";
		$retorno['dados'] = $dados;
		return $retorno;
	}

}

/* End of file Palestrantes_model.php */
/* Location: ./application/models/Palestrantes_model.php */