Esempio n. 1
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);
 }