Esempio n. 1
0
 protected function _data()
 {
     $model = new Application_Model_Encontro();
     $sessao = Zend_Auth::getInstance()->getIdentity();
     $where = $model->getAdapter()->quoteInto('id_encontro = ?', $sessao["idEncontro"]);
     $row = $model->fetchRow($where);
     $element = $this->createElement('radio', 'data', array('label' => 'Data: '));
     $data_ini = new Zend_Date($row->data_inicio);
     $data_fim = new Zend_Date($row->data_fim);
     while ($data_ini <= $data_fim) {
         $element->addMultiOption($data_ini->toString('dd/MM/YYYY'), $data_ini->toString('dd/MM/YYYY'));
         $data_ini->add(1, Zend_Date::DAY);
     }
     $element->setRequired(true)->addErrorMessage("Escolha uma data para realização do evento");
     $element->setDecorators(array('ViewHelper', 'Description', 'Errors', array('HtmlTag', ''), array('Label', '')));
     return $element;
 }
Esempio n. 2
0
 public function participanteEvento($array = array('nome' => '', 'id_encontro' => 0, 'encontro' => '', 'tipo_evento' => '', 'nome_evento' => '', 'carga_horaria' => ''))
 {
     $model_encontro = new Application_Model_Encontro();
     $encontro_obj = $model_encontro->buscaComMunicipio($array["id_encontro"]);
     $array["carga_horaria"] = floor($array["carga_horaria"]) . " hora(s)";
     $paragrafo = "      ";
     $texto = $paragrafo;
     $patterns = array('/{nome}/', '/{encontro}/', '/{tipo_evento}/', '/{nome_evento}/', '/{carga_horaria}/');
     $replacements = array($this->fullUpper($array['nome']), $array['encontro'], $array['tipo_evento'], $array['nome_evento'], $array['carga_horaria']);
     $texto .= preg_replace($patterns, $replacements, $encontro_obj["certificados_template_participante_evento"]);
     $linhas = explode("\n", wordwrap($texto, Sige_Pdf_Certificado::NUM_MAX_CARACTERES, "\n"));
     $linhas[] = "";
     // saltar linha
     $date = new Zend_Date();
     $linhas[] = $this->str_pad_left(sprintf($encontro_obj["nome_municipio"] . ", %s", $date->toString("dd 'de' MMMM 'de' y")), Sige_Pdf_Certificado::NUM_MAX_CARACTERES);
     // Get PDF document as a string
     return $this->gerarCertificado($array['id_encontro'], $linhas);
 }
Esempio n. 3
0
 public function inscricoesListaPdfAction()
 {
     $this->autenticacao();
     $id_encontro = (int) $this->getRequest()->getParam("id_encontro", 0);
     $status = $this->getRequest()->getParam("status");
     if ($id_encontro < 1) {
         $this->_helper->flashMessenger->addMessage(array('error' => "Encontro inválido. Comece de novo. " . "Caso o erro persista, contate o administrador."));
         return $this->_helper->redirector->goToRoute(array(), 'default', true);
     }
     $model_pessoa = new Application_Model_Pessoa();
     switch ($status) {
         case "confirmadas":
             // inscrições confirmadas
             $rel = $model_pessoa->buscaParticipantes($id_encontro, "ep.confirmado='t'");
             break;
         case "nao-confirmadas":
             // inscrições não confirmadas
             $rel = $model_pessoa->buscaParticipantes($id_encontro, "ep.confirmado='f'");
             break;
         default:
             $status = "todas";
             // todas as inscrições
             $rel = $model_pessoa->buscaParticipantes($id_encontro);
             break;
     }
     $model_encontro = new Application_Model_Encontro();
     $encontro = $model_encontro->fetchRow("id_encontro = {$id_encontro}");
     if (empty($encontro)) {
         $this->_helper->flashMessenger->addMessage(array('error' => "Encontro ({$encontro}) inexistente."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     if (empty($rel)) {
         $this->_helper->flashMessenger->addMessage(array("alert" => "O relatório não possui nenhum registro."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     $pdf = new Sige_Pdf_Relatorio_InscricaoEncontro($rel, array("apelido_encontro" => $encontro["apelido_encontro"], "status" => $status));
     try {
         $pdf->gerarPdf();
     } catch (Exception $e) {
         throw new Exception("Erro ao gerar PDF: " . $e->getMessage());
     }
 }
Esempio n. 4
0
 public function downloadLoteArtigosAction()
 {
     $this->autenticacao();
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $ano = (int) $this->getRequest()->getParam("ano", 0);
     $encontro = (int) $this->getRequest()->getParam("encontro", 0);
     $status = $this->getRequest()->getParam("status", "todos");
     $model_encontro = new Application_Model_Encontro();
     if ($ano < 1980 && $encontro > 0) {
         // busca por encontro
         $encontros = array($model_encontro->buscaEncontro($encontro));
     } elseif ($ano > 1980 && $encontro < 1) {
         // busca por ano
         $encontros = $model_encontro->buscaEncontrosPorAno($ano);
     } else {
         // erro
         $this->_helper->flashMessenger->addMessage(array('error' => "Parâmetro(s) inválido(s). Utilize <b>ano</b> ou <b>encontro</b>."));
         return $this->_helper->redirector->goToRoute(array(), 'default', true);
     }
     if (empty($encontros)) {
         $this->_helper->flashMessenger->addMessage(array('warning' => "Nenhum encontro cadastrado."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     // Compativel com PHP < 5.5
     $id_encontros_array = array();
     foreach ($encontros as $encontro) {
         array_push($id_encontros_array, $encontro["id_encontro"]);
     }
     // PHP >= 5.5
     // $id_encontros_array = array_column($encontros, "id_encontro");
     $model_artigo = new Application_Model_Artigo();
     $rel = $model_artigo->buscaArtigos($id_encontros_array, $status);
     if (empty($rel)) {
         $this->_helper->flashMessenger->addMessage(array("alert" => "Não há registros a serem mostrados."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     $this->_exportLoteZip($rel);
 }
Esempio n. 5
0
 public function programacaoAction()
 {
     $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', 'staging');
     $idEncontro = $config->encontro->codigo;
     $model = new Application_Model_Evento();
     $rs = $model->programacao($idEncontro);
     $export_type = $this->getRequest()->getParam('exportar', null);
     if ($export_type == 'pdf') {
         return $this->exportarProgramacao($rs);
     }
     $this->view->menu->setAtivo('schedule');
     $this->view->lista = $rs;
     $model_encontro = new Application_Model_Encontro();
     $where = $model_encontro->getAdapter()->quoteInto('id_encontro = ?', $idEncontro);
     $row = $model_encontro->fetchRow($where);
     $data_ini = new Zend_Date($row->data_inicio);
     $data_fim = new Zend_Date($row->data_fim);
     $datas_encontro = array();
     while ($data_ini <= $data_fim) {
         $datas_encontro[] = clone $data_ini;
         $data_ini->add(1, Zend_Date::DAY);
     }
     $this->view->datas_encontro = $datas_encontro;
 }