コード例 #1
0
 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");
     }
 }
コード例 #2
0
 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&aacute;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&atilde;o Inv&aacute;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&aacute;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;
     }
 }