Esempio n. 1
0
 public function artigosListaXlsAction()
 {
     $this->autenticacao();
     $ano = (int) $this->getRequest()->getParam("ano", 0);
     $status = $this->getRequest()->getParam("status");
     if ($ano < 1980) {
         $this->_helper->flashMessenger->addMessage(array('error' => "Ano inválido. Comece de novo. " . "Caso o erro persista, contate o administrador."));
         return $this->_helper->redirector->goToRoute(array(), 'default', true);
     }
     $model_encontro = new Application_Model_Encontro();
     $encontros = $model_encontro->buscaEncontrosPorAno($ano);
     if (empty($encontros)) {
         $this->_helper->flashMessenger->addMessage(array('warning' => "Nenhum encontro cadastrado para o ano {$ano}."));
         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" => "O relatório não possui nenhum registro."));
         return $this->_helper->redirector->goToRoute(array('module' => 'admin', 'controller' => 'relatorios', 'action' => 'index'), 'default', true);
     }
     $xls = new Sige_Xls_Exportar($rel, array('apelido_encontro', 'titulo', 'nome', 'email'), array('Evento', 'Título', 'Nome', 'E-mail'));
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $xls->exportar("relatorio_artigos_sige_" . date("Y-m-d-His") . ".xls");
 }
Esempio n. 2
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);
 }