public function incluirAnexoAction() { // pega as informações do arquivo $idUltimoArquivo = null; $post = Zend_Registry::get('post'); if (is_file($_FILES['arquivo']['tmp_name'])) { $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) && !empty($arquivoTemp)) { $arquivoExtensao = Upload::getExtensao($arquivoNome); // extensão $arquivoBinario = Upload::setBinario($arquivoTemp); // binário $arquivoHash = Upload::setHash($arquivoTemp); // hash } if ($arquivoTamanho > 10485760) { parent::message("O arquivo não pode ser maior do que 10MB!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ALERT"); } // cadastra dados do arquivo // cadastra dados do arquivo $tblTbDocumentoPreProjeto = new tbDocumentosPreProjeto(); $tblTbDocumentoAgentes = new tbDocumentosAgentes(); try { //Verifica se tipo de documento ja esta cadastrado $where = array(); if ($post->tipoDocumento == 1) { $tbPreProjeto = new PreProjeto(); $dadosProjeto = $tbPreProjeto->buscarAgentePreProjeto(array('idPreProjeto = ?' => $post->idPreProjeto))->current(); $where['idAgente = ?'] = $dadosProjeto->idAgente; $where['CodigoDocumento = ?'] = $post->documento; } else { $where['idProjeto = ?'] = $post->idPreProjeto; $where['CodigoDocumento = ?'] = $post->documento; } if ($post->tipoDocumento == 1) { if ($tblTbDocumentoAgentes->buscar($where)->count() > 0) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto, "ALERT"); } $dadosArquivo = array('CodigoDocumento' => $post->documento, 'idAgente' => $dadosProjeto->idAgente, 'Data' => new Zend_Db_Expr('GETDATE()'), 'imDocumento' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"), 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho); $idUltimoArquivo = $tblTbDocumentoAgentes->inserir($dadosArquivo); } else { if ($tblTbDocumentoPreProjeto->buscar($where)->count() > 0) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto, "ALERT"); } $dadosArquivo = array('CodigoDocumento' => $post->documento, 'idProjeto' => $post->idPreProjeto, 'Data' => new Zend_Db_Expr('GETDATE()'), 'imDocumento' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"), 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho, 'dsDocumento' => $post->observacao); $idUltimoArquivo = $tblTbDocumentoPreProjeto->inserir($dadosArquivo); } //REMOVER AS PENDENCIAS DE DOCUMENTO //$tblDocAnexados = new tbDocumentosPreProjeto(); //$rsDocsAnexados = $tblDocAnexados->buscar(array("idProjeto = ?"=>$post->idPreProjeto)); $tblDocumentosPendentesProjeto = new DocumentosProjeto(); $tblDocumentosPendentesProponente = new DocumentosProponente(); $tblDocumentosPendentesProjeto->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$post->documento}"); $tblDocumentosPendentesProponente->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$post->documento}"); //xd($rsDocsAnexados); // foreach($rsDocsAnexados as $anexo){ // $tblDocumentosPendentesProjeto->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // $tblDocumentosPendentesProponente->delete("idProjeto = {$post->idPreProjeto} AND CodigoDocumento = {$anexo->CodigoDocumento}"); // } } catch (Zend_Exception $e) { parent::message("Falha ao anexar arquivo!<br>{$e->getMessage()}", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } catch (Exception $e) { parent::message("Tipo de documento já cadastrado!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ALERT"); } if ($idUltimoArquivo) { parent::message("Arquivo anexado com sucesso!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "CONFIRM"); } else { parent::message("Falha ao anexar arquivo!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } } else { parent::message("Falha ao anexar arquivo! O tamanho máximo permitido é de 10MB.", "manterpropostaincentivofiscal/listarproposta?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } }