/** * Método para buscar os documentos (comprovantes) do PRONAC * @access public * @param void * @return void */ public function cadastrardocumentosAction() { $this->view->combotipodocumento = Tipodocumento::buscar(); // caso o formulário seja enviado via post if ($this->getRequest()->isPost()) { // recebe os dados via post $post = Zend_Registry::get('post'); $pronac = $post->pronac; $tipoDocumento = $post->tipoDocumento; $titulo = $post->titulo; $descricao = $post->descricao; // pega as informações do arquivo $arquivoNome = $_FILES['arquivo']['name']; // nome $arquivoTemp = $_FILES['arquivo']['tmp_name']; // nome temporário $arquivoTipo = $_FILES['arquivo']['type']; // tipo $arquivoTamanho = $_FILES['arquivo']['size']; // tamanho if (!empty($arquivoNome)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão } if (!empty($arquivoTemp)) { $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } try { // integração MODELO e VISÃO // busca o PRONAC de acordo com o id no banco $resultado = Pronac::buscar($pronac); // caso o PRONAC não esteja cadastrado if (!$resultado) { parent::message("Registro não encontrado!", "buscarpronac"); } else { $this->view->buscarpronac = $resultado; } // valida os campos vazios if (empty($tipoDocumento)) { throw new Exception("Por favor, informe o tipo de documento!"); } else { if (empty($descricao)) { throw new Exception("Por favor, informe a descrição do documento!"); } else { if (empty($arquivoTemp)) { throw new Exception("Por favor, informe o arquivo!"); } else { if ($arquivoExtensao == 'exe' || $arquivoExtensao == 'bat' || $arquivoTipo == 'application/exe' || $arquivoTipo == 'application/x-exe' || $arquivoTipo == 'application/dos-exe') { throw new Exception("A extensão do arquivo é inválida!"); } else { if ($arquivoTamanho > 10485760) { throw new Exception("O arquivo não pode ser maior do que 10MB!"); } else { // cadastra dados do arquivo $sql = "INSERT INTO BDCORPORATIVO.scCorp.tbArquivo (nmArquivo, sgExtensao, dsTipo, nrTamanho, dtEnvio, dsHash, stAtivo) " . "VALUES ('" . $arquivoNome . "', '" . $arquivoExtensao . "', '" . $arquivoTipo . "', '" . $arquivoTamanho . "', GETDATE(), '" . $arquivoHash . "', 'A')"; $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $resultado = $db->query($sql); // pega o id do arquivo $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $idGerado = $db->fetchOne("SELECT MAX(idArquivo) AS id FROM BDCORPORATIVO.scCorp.tbArquivo"); // insere o binário do arquivo $sql = "INSERT INTO BDCORPORATIVO.scCorp.tbArquivoImagem " . "VALUES ({$idGerado}, {$arquivoBinario})"; $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $resultado = $db->query($sql); // insere informações do documento $sql = "INSERT INTO BDCORPORATIVO.scSac.tbComprovanteExecucao (idPRONAC, idTipoDocumento, nmComprovante, dsComprovante, idArquivo, idSolicitante, dtEnvioComprovante, stParecerComprovante, stComprovante) " . "VALUES ({$pronac}, {$tipoDocumento}, '{$titulo}', '{$descricao}', {$idGerado}, 9997, GETDATE(), 'AG', 'A')"; $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $resultado = $db->query($sql); if ($resultado) { parent::message("Cadastro realizado com sucesso!", "anexardocumentos/buscardocumentos?pronac=" . $pronac); } else { throw new Exception("Erro ao realizar cadastro"); } } } } } } } catch (Exception $e) { $this->view->message = $e->getMessage(); $this->view->message_type = "ERROR"; $this->view->tipoDocumento = $tipoDocumento; $this->view->titulo = $titulo; $this->view->descricao = $descricao; } } else { // recebe o pronac via get $get = Zend_Registry::get('get'); $pronac = $get->pronac; try { // verifica se o pronac veio vazio if (empty($pronac)) { parent::message("Por favor, informe o PRONAC!", "buscarpronac"); } else { // integração MODELO e VISÃO // busca o PRONAC de acordo com o id no banco $resultado = Pronac::buscar($pronac); // caso o PRONAC não esteja cadastrado if (!$resultado) { parent::message("Registro não encontrado!", "buscarpronac"); } else { $this->view->buscarpronac = $resultado; } } // fecha else } catch (Exception $e) { $this->view->message = $e->getMessage(); } } }
public function setTipodocumento(Tipodocumento $v = null) { if ($v === null) { $this->setFkTipodocumentoId(0); } else { $this->setFkTipodocumentoId($v->getId()); } $this->aTipodocumento = $v; if ($v !== null) { $v->addAlumno($this); } return $this; }
public static function addInstanceToPool(Tipodocumento $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } self::$instances[$key] = $obj; } }