function exibir($params = array()) { $enquete_id = $params['enquete_id']; $dados = array(); $dados['enquete'] = $this->Enquetes_model->obter($enquete_id); $dados['opcoes'] = $this->Enquetes_model->obter_opcoes($enquete_id); $dados['resultados'] = $this->Enquetes_model->obter_resultados($enquete_id); $this->form_validation->set_rules('resposta', 'Resposta', 'trim|required'); $this->form_validation->set_message('required', 'É necessário escolher ao menos uma opção.'); $dados['enquete']['pag_resultados'] = strlen($params['pag_resultados']) > 0 ? $params['pag_resultados'] : 'enquete/resultados'; // Agora: $agora = date('Y-m-d H:i:00'); // Se está inativa if ($dados['enquete']['ativo'] != 't') { $dados['erro'][] = 'Desculpe, mas esta enquete não está mais ativa.'; $dados['disabled'] = true; } elseif ($agora < $dados['enquete']['dt_inicio']) { $dados['erro'][] = 'Desculpe, mas esta enquete ainda não iniciou. Aguarde até: ' . MY_Utils::formata_data_hora($dados['enquete']['dt_inicio']); $dados['disabled'] = true; } elseif (strlen($dados['enquete']['dt_fim']) > 0 && $agora > $dados['enquete']['dt_fim']) { $dados['erro'][] = 'Desculpe, mas esta enquete encerrou em: ' . MY_Utils::formata_data_hora($dados['enquete']['dt_fim']); $dados['disabled'] = true; } elseif ($this->input->post('votar')) { // Obtém a(s) resposta(s) do POST $resposta = $this->input->post('resposta'); if ($this->form_validation->run()) { if ($this->pode_votar($enquete_id)) { $cod_aluno = $this->obter_codigo_aluno(); $ok = $this->Enquetes_model->gravar_voto($enquete_id, $resposta, $cod_aluno); if ($ok) { $dados['info'][] = 'Voto computado com sucesso!'; } else { $dados['erro'][] = 'Desculpe, mas não foi possível computar seu voto. Tente novamente mais tarde.'; } } else { $dados['erro'][] = 'Você já votou nesta enquete.'; } } else { $dados['erro'][] = '<b>Não foi possível computar seu voto.</b>'; $dados['erro'][] = validation_errors(); } } $this->load->view('enquete', $dados); }