Example #1
0
 function editar($id = NULL)
 {
     if ($this->input->post('submit')) {
         $dados = $this->input->post();
         $respostas = array();
         for ($i = 0; $i < count($dados['respostas']['descricao']); ++$i) {
             $respostas[$i]['descricao'] = $dados['respostas']['descricao'][$i];
             if ($dados['respostas_com_cores_personalizadas'] == 't') {
                 $respostas[$i]['cor'] = $dados['respostas']['cor'][$i];
             }
         }
         $dados['respostas'] = $respostas;
     } elseif ($id) {
         $dados['enquete'] = $this->Enquetes_model->obter($id);
         $dados['respostas'] = $this->Enquetes_model->obter_respostas($id);
     }
     // Site ID
     $dados['enquete']['site_id'] = (int) $this->site_id;
     // Campo multipla_resposta
     $dados['enquete']['multipla_resposta'] = $dados['enquete']['multipla_resposta'] == 't' ? 't' : 'f';
     // Campo multiplicar_tempo
     $dados['multiplicar_tempo'] = $dados['multiplicar_tempo'] > 0 ? $dados['multiplicar_tempo'] : '1';
     // Campo intervalo_entre_votos (tempo entre um voto e outro (por IP))
     $dados['multipla_resposta'] = $dados['multipla_resposta'] > 0 ? $dados['multipla_resposta'] : '1';
     $dados['enquete']['intervalo_entre_votos'] = $dados['enquete']['intervalo_entre_votos'] > 0 ? $dados['enquete']['intervalo_entre_votos'] : '0';
     $dados['enquete']['intervalo_entre_votos'] = (int) $dados['enquete']['intervalo_entre_votos'] * (int) $dados['multiplicar_tempo'];
     // Validação
     $this->form_validation->set_rules('enquete[titulo]', 'Título', 'trim|required');
     $this->form_validation->set_rules('enquete[descricao]', 'Descrição', 'trim|required');
     $this->form_validation->set_rules('enquete[dt_inicio]', 'Data de início', 'trim|required');
     $this->form_validation->set_rules('enquete[hora_inicio]', 'Hora de início', 'trim|required');
     $this->form_validation->set_rules('enquete[ativo]', 'Ativo', 'trim|required');
     if ($this->input->post('submit')) {
         if ($this->form_validation->run()) {
             $dados['enquete']['dt_inicio'] = MY_Utils::montar_timestamp($dados['enquete']['dt_inicio'], $dados['enquete']['hora_inicio']);
             $dados['enquete']['dt_fim'] = MY_Utils::montar_timestamp($dados['enquete']['dt_fim'], $dados['enquete']['hora_fim']);
             unset($dados['enquete']['hora_inicio']);
             unset($dados['enquete']['hora_fim']);
             $id = $this->Enquetes_model->salvar($dados['enquete']);
             if ($id) {
                 $ok = $this->Enquetes_model->salvar_respostas($id, $dados['respostas']);
                 if ($ok) {
                     redirect('enquetes');
                 } else {
                     $dados['erro'] = 'Não foi possível inserir as opções de resposta';
                 }
             } else {
                 $dados['erro'] = 'Não foi possível inserir o registro.';
             }
         } else {
             $dados['erro'] = validation_errors();
         }
     }
     $this->load->view('enquetes_editar', $dados);
 }