public function incluirarquivoAction() { $post = Zend_Registry::get('post'); if ($_FILES['arquivo']['tmp_name']) { $idArquivo = $this->anexararquivo(); $dados = array('idArquivo' => $idArquivo, 'idTipoDocumento' => 0, 'dsDocumento' => $post->observacao); //xd($dados); $tabela = new tbDocumento(); $idDocumento = $tabela->inserir($dados); if ($idDocumento) { $idDocumento = $tabela->ultimodocumento(array('idArquivo = ? ' => $idArquivo)); $idDocumento = $idDocumento->idDocumento; $dados = array('idTipoDocumento' => 0, 'idDocumento' => $idDocumento, 'idProposta' => $post->idPreProjeto, 'stAtivoDocumentoProposta' => 0); //xd($dados); $DocumentoProposta = new tbDocumentoProposta(); $DocumentoProposta->inserir($dados); } else { parent::message("Falha ao anexar", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } parent::message("Documento anexado com sucesso!", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "CONFIRM"); } else { parent::message("Documento não informado", "manterpropostaedital/enviararquivoedital?idPreProjeto=" . $post->idPreProjeto . "&edital=" . $post->edital, "ERROR"); } }
public function gravarArquivoMarcaAction() { $this->_helper->viewRenderer->setNoRender(true); $this->_helper->layout->disableLayout(); // pega as informações do arquivo $post = Zend_Registry::get('post'); $observacao = $post->observacao; $idProposta = $post->idPreProjeto; $idPronac = $post->idPronac; if (!empty($idPronac) && $idPronac != "0") { $tbProjeto = new Projetos(); $rsProjeto = $tbProjeto->find($idPronac)->current(); if (empty($rsProjeto) || count($rsProjeto) <= 0) { $mensagem = "Pronac inválido."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } if ($_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 } //VALIDA TAMANHO ARQUIVO if ($arquivoTamanho > $this->limiteTamanhoArq) { $mensagem = "O arquivo deve ser menor que 10 MB<br />"; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } //VALIDA EXTENSAO ARQUIVO if (!in_array($arquivoExtensao, explode(',', 'jpeg,jpg,gif,bmp,png,tif,raw,pdf,JPG, JPEG,GIF,BMP,PNG,TIF,RAW,PDF'))) { $mensagem = "Arquivo com extensão Inválida<br />"; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } try { $db = Zend_Registry::get('db'); $db->setFetchMode(Zend_DB::FETCH_OBJ); $db->beginTransaction(); // ==================== PERSISTE DADOS DO ARQUIVO =================// $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'I'); $tbArquivo = new tbArquivo(); $idArquivo = $tbArquivo->inserir($dadosArquivo); // ================== PERSISTE DADOS ARQUIVO - BINARIO ============// $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})")); $tbArquivoImagem = new tbArquivoImagem(); $idArquivoImagem = $tbArquivoImagem->inserir($dadosBinario); // ================= PERSISTE DADOS DO DOCUMENTO ==================// $dadosDoc = array('idArquivo' => $idArquivo, 'idTipoDocumento' => '1', 'dsDocumento' => $observacao); $tbDocumento = new tbDocumento(); $idDocumento = $tbDocumento->inserir($dadosDoc); $idDocumento = $idDocumento['idDocumento']; // ================= PERSISTE DOCUMENTO PROPOSTA ==================// if (!empty($idProposta)) { $dadosDocProposta = array('idProposta' => $idProposta, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProposta' => '0'); $tbDocProposta = new tbDocumentoProposta(); $tbDocProposta->inserir($dadosDocProposta); } // ================= PERSISTE DOCUMENTO PROJETO ===================// if (!empty($idPronac)) { $dadosDocProjeto = array('idPronac' => $idPronac, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProjeto' => '0'); $tbDocProjeto = new tbDocumentoProjeto(); $tbDocProjeto->inserir($dadosDocProjeto); } //$script = "window.parent.document.getElementById('divMensagem').innerHTML = 'Erro ao enviar arquivo.<br />';\n"; $db->commit(); $mensagem = "Arquivo enviado com sucesso."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $script .= "\$('#observacao', parent.document.body).val(''); \n \$('#arquivo', parent.document.body).val('');"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "CONFIRM", "script" => $script)); return; //echo $script; } catch (Exception $e) { $db->rollBack(); //xd($e->getMessage()); $mensagem = "Erro ao enviar arquivo."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } } else { $mensagem = "Nenhum arquivo enviado."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } } else { $mensagem = "Pronac inválido."; $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n"; $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script)); return; } }