From e4c766bf370f1cbe4da59bb0012ec471b0db3e52 Mon Sep 17 00:00:00 2001 From: Gianluca Bine Date: Thu, 11 Feb 2021 23:34:26 -0300 Subject: [PATCH] feature/pix qr code (#1234) --- CHANGELOG.md | 12 + README.md | 2 +- application/config/config.php | 2 +- application/controllers/Mapos.php | 4 + application/controllers/Os.php | 7 +- application/controllers/Vendas.php | 5 + application/core/MY_Controller.php | 1 + .../migrations/20210125173738_add_pix_key.php | 15 + application/database/seeds/Configuracoes.php | 5 + application/helpers/general_helper.php | 25 ++ application/helpers/validation_helper.php | 25 ++ .../libraries/Gateways/BasePaymentGateway.php | 8 +- .../libraries/Gateways/GerencianetSdk.php | 4 +- .../libraries/Gateways/MercadoPago.php | 2 +- application/models/Os_model.php | 30 ++ application/models/Vendas_model.php | 59 ++- .../views/clientes/adicionarCliente.php | 4 +- application/views/clientes/editarCliente.php | 4 +- application/views/clientes/visualizar.php | 4 +- application/views/conecte/detalhes_os.php | 3 +- application/views/mapos/configurar.php | 7 + application/views/mapos/painel.php | 114 +++--- application/views/os/editarOs.php | 59 +-- application/views/os/imprimirOs.php | 73 ++-- application/views/os/visualizarOs.php | 20 +- .../views/permissoes/editarPermissao.php | 380 +++++++++--------- application/views/tema/menu.php | 52 +-- application/views/vendas/editarVenda.php | 3 +- application/views/vendas/imprimirVenda.php | 94 ++--- composer.json | 3 +- composer.lock | 198 ++++++++- updates/update_4.30.3_to_4.31.0.sql | 1 + 32 files changed, 803 insertions(+), 422 deletions(-) create mode 100644 application/database/migrations/20210125173738_add_pix_key.php create mode 100644 updates/update_4.30.3_to_4.31.0.sql diff --git a/CHANGELOG.md b/CHANGELOG.md index dd4b2bb3d..3c26e4c89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ Todas as alterações serão documentadas neste arquivo Formato baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), e [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [4.31.0] - 2021-02-11 + +### Added +- Implementado QR Code de PIX para pagamento de os e venda em imprimirOs e imprimirVenda. [@Pr3d4dor](https://github.com/Pr3d4dor) + +### Changed +- Melhorado imprimir os e venda. [@Flexotron20](https://github.com/Flexotron20) + +### Fixed +- Colocado "*" para mostrar que campos ao criar lançamento financeiro são obrigatórios. [@cleytonasa](https://github.com/cleytonasa) +- Adicionado método de pagamento "PIX" nos lugares faltantes. [@Pr3d4dor](https://github.com/Pr3d4dor) + ## [4.30.3] - 2021-02-07 ### Fixed diff --git a/README.md b/README.md index 2353b38e4..a38ae2c3a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![MapOS](https://raw.githubusercontent.com/RamonSilva20/mapos/master/assets/img/logo.png) -![version](https://img.shields.io/badge/version-4.30.3-blue.svg?longCache=true&style=flat-square) +![version](https://img.shields.io/badge/version-4.31.0-blue.svg?longCache=true&style=flat-square) ![license](https://img.shields.io/badge/license-MIT-green.svg?longCache=true&style=flat-square) ![theme](https://img.shields.io/badge/theme-Matrix--Admin-lightgrey.svg?longCache=true&style=flat-square) ![issues](https://img.shields.io/github/issues/RamonSilva20/mapos.svg?longCache=true&style=flat-square) diff --git a/application/config/config.php b/application/config/config.php index 9adbc35f0..0a4aec4c4 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -4,7 +4,7 @@ /** * App current version */ -$config['app_version'] = '4.30.3'; +$config['app_version'] = '4.31.0'; /** * Nome do sistema diff --git a/application/controllers/Mapos.php b/application/controllers/Mapos.php index 4ffa966fa..696c29f78 100644 --- a/application/controllers/Mapos.php +++ b/application/controllers/Mapos.php @@ -345,6 +345,9 @@ public function configurar() $this->form_validation->set_rules('control_baixa', 'Controle de Baixa', 'required|trim'); $this->form_validation->set_rules('control_editos', 'Controle de Edição de OS', 'required|trim'); $this->form_validation->set_rules('control_datatable', 'Controle de Visualização em DataTables', 'required|trim'); + $this->form_validation->set_rules('pix_key', 'Chave Pix', 'trim|valid_pix_key', [ + 'valid_pix_key' => 'Chave Pix inválida!', + ]); if ($this->form_validation->run() == false) { $this->data['custom_error'] = (validation_errors() ? '
' . validation_errors() . '
' : false); @@ -359,6 +362,7 @@ public function configurar() 'control_baixa' => $this->input->post('control_baixa'), 'control_editos' => $this->input->post('control_editos'), 'control_datatable' => $this->input->post('control_datatable'), + 'pix_key' => $this->input->post('pix_key'), ]; if ($this->mapos_model->saveConfiguracao($data) == true) { $this->session->set_flashdata('success', 'Configurações do sistema atualizadas com sucesso!'); diff --git a/application/controllers/Os.php b/application/controllers/Os.php index 43c13b3c2..2f7dbd978 100644 --- a/application/controllers/Os.php +++ b/application/controllers/Os.php @@ -347,6 +347,11 @@ public function imprimir() $this->data['produtos'] = $this->os_model->getProdutos($this->uri->segment(3)); $this->data['servicos'] = $this->os_model->getServicos($this->uri->segment(3)); $this->data['emitente'] = $this->mapos_model->getEmitente(); + $this->data['qrCode'] = $this->os_model->getQrCode( + $this->uri->segment(3), + $this->data['configuration']['pix_key'], + $this->data['emitente'][0] + ); $this->load->view('os/imprimirOs', $this->data); } @@ -440,7 +445,7 @@ public function enviar_email() redirect(site_url('os/visualizar/').$this->uri->segment(3)); } } - + $enviouEmail = $this->enviarOsPorEmail($idOs, $remetentes, 'Ordem de Serviço'); if ($enviouEmail) { diff --git a/application/controllers/Vendas.php b/application/controllers/Vendas.php index dfee210d7..04ec50ba7 100644 --- a/application/controllers/Vendas.php +++ b/application/controllers/Vendas.php @@ -188,6 +188,11 @@ public function imprimir() $this->data['result'] = $this->vendas_model->getById($this->uri->segment(3)); $this->data['produtos'] = $this->vendas_model->getProdutos($this->uri->segment(3)); $this->data['emitente'] = $this->mapos_model->getEmitente(); + $this->data['qrCode'] = $this->vendas_model->getQrCode( + $this->uri->segment(3), + $this->data['configuration']['pix_key'], + $this->data['emitente'][0] + ); $this->load->view('vendas/imprimirVenda', $this->data); } diff --git a/application/core/MY_Controller.php b/application/core/MY_Controller.php index a26709ab0..4c457d809 100644 --- a/application/core/MY_Controller.php +++ b/application/core/MY_Controller.php @@ -31,6 +31,7 @@ class MY_Controller extends CI_Controller 'control_baixa' => '0', 'control_editos' => '1', 'control_datatable' => '1', + 'pix_key' => '', ], ]; diff --git a/application/database/migrations/20210125173738_add_pix_key.php b/application/database/migrations/20210125173738_add_pix_key.php new file mode 100644 index 000000000..a2021b187 --- /dev/null +++ b/application/database/migrations/20210125173738_add_pix_key.php @@ -0,0 +1,15 @@ +db->query($sql); + } + + public function down() + { + $this->db->query("DELETE FROM `configuracoes` WHERE `configuracoes`.`idConfig` = 11"); + } +} diff --git a/application/database/seeds/Configuracoes.php b/application/database/seeds/Configuracoes.php index a3dc454d8..3db169dc7 100644 --- a/application/database/seeds/Configuracoes.php +++ b/application/database/seeds/Configuracoes.php @@ -56,6 +56,11 @@ public function run() 'config' => 'control_datatable', 'valor' => '1', ], + [ + 'idConfig' => 11, + 'config' => 'pix_key', + 'valor' => '', + ], ]; foreach ($configs as $config) { diff --git a/application/helpers/general_helper.php b/application/helpers/general_helper.php index 2f9132004..0cb16b1e5 100644 --- a/application/helpers/general_helper.php +++ b/application/helpers/general_helper.php @@ -1,5 +1,7 @@ errosCadastro($entity)) { + if ($err = $this->errosCadastro($entity)) { throw new \Exception($err); } @@ -301,7 +301,7 @@ function ($total, $item) { throw new \Exception('OS ou venda com valor negativo ou zero!'); } - if($err = $this->errosCadastro($entity)) { + if ($err = $this->errosCadastro($entity)) { throw new \Exception($err); } diff --git a/application/libraries/Gateways/MercadoPago.php b/application/libraries/Gateways/MercadoPago.php index 2202c5b22..2776914d3 100644 --- a/application/libraries/Gateways/MercadoPago.php +++ b/application/libraries/Gateways/MercadoPago.php @@ -193,7 +193,7 @@ function ($total, $item) { throw new \Exception('OS ou venda com valor negativo ou zero!'); } - if($err = $this->errosCadastro($entity)) { + if ($err = $this->errosCadastro($entity)) { throw new \Exception($err); } diff --git a/application/models/Os_model.php b/application/models/Os_model.php index 7ffeb5a24..b114d6923 100644 --- a/application/models/Os_model.php +++ b/application/models/Os_model.php @@ -1,5 +1,7 @@ valorTotalOS($id); + $amount = round(floatval($result['totalServico'] + $result['totalProdutos']), 2); + + if ($amount <= 0) { + return; + } + + $pix = (new Payload()) + ->applyValidCharacters() + ->applyUppercase() + ->applyEmailWhitespace() + ->setPixKey(getPixKeyType($pixKey), $pixKey) + ->setMerchantName($emitente->nome) + ->setMerchantCity($emitente->cidade) + ->setAmount($amount) + ->setTid($id) + ->setDescription(sprintf("%s - Pagamento - OS %s", $emitente->nome, $id)) + ->setAsReusable(false); + + return $pix->getQRCode(); + } } diff --git a/application/models/Vendas_model.php b/application/models/Vendas_model.php index bc071c719..2e7c0adc0 100644 --- a/application/models/Vendas_model.php +++ b/application/models/Vendas_model.php @@ -1,4 +1,8 @@ -db->select($fields.', clientes.nomeCliente, clientes.idClientes'); @@ -27,9 +31,9 @@ public function get($table, $fields, $where = '', $perpage = 0, $start = 0, $one if ($where) { $this->db->where($where); } - + $query = $this->db->get(); - + $result = !$one ? $query->result() : $query->row(); return $result; } @@ -75,7 +79,7 @@ public function getCobrancas($id = null) $this->db->where('vendas_id', $id); return $this->db->get()->result(); } - + public function add($table, $data, $returnId = false) { $this->db->insert($table, $data); @@ -85,10 +89,10 @@ public function add($table, $data, $returnId = false) } return true; } - + return false; } - + public function edit($table, $data, $fieldID, $ID) { $this->db->where($fieldID, $ID); @@ -97,10 +101,10 @@ public function edit($table, $data, $fieldID, $ID) if ($this->db->affected_rows() >= 0) { return true; } - + return false; } - + public function delete($table, $fieldID, $ID) { $this->db->where($fieldID, $ID); @@ -108,7 +112,7 @@ public function delete($table, $fieldID, $ID) if ($this->db->affected_rows() == '1') { return true; } - + return false; } @@ -162,6 +166,41 @@ public function autoCompleteUsuario($q) echo json_encode($row_set); } } + + public function getQrCode($id, $pixKey, $emitente) + { + if (empty($id) || empty($pixKey) || empty($emitente)) { + return; + } + + $produtos = $this->getProdutos($id); + $totalProdutos = array_reduce( + $produtos, + function ($carry, $produto) { + return $carry + ($produto->quantidade * $produto->preco); + }, + 0 + ); + $amount = round(floatval($totalProdutos), 2); + + if ($amount <= 0) { + return; + } + + $pix = (new Payload()) + ->applyValidCharacters() + ->applyUppercase() + ->applyEmailWhitespace() + ->setPixKey(getPixKeyType($pixKey), $pixKey) + ->setMerchantName($emitente->nome) + ->setMerchantCity($emitente->cidade) + ->setAmount($amount) + ->setTid($id) + ->setDescription(sprintf("%s - Pagamento - Venda %s", $emitente->nome, $id)) + ->setAsReusable(false); + + return $pix->getQRCode(); + } } /* End of file vendas_model.php */ diff --git a/application/views/clientes/adicionarCliente.php b/application/views/clientes/adicionarCliente.php index 0e8fca35a..87bfa90da 100644 --- a/application/views/clientes/adicionarCliente.php +++ b/application/views/clientes/adicionarCliente.php @@ -47,8 +47,8 @@ class="fas fa-arrow-left"> Voltar
' . $custom_error . '
'; - } ?> + echo '
' . $custom_error . '
'; +} ?>
diff --git a/application/views/clientes/editarCliente.php b/application/views/clientes/editarCliente.php index 62b4147d9..6a0f6a20f 100644 --- a/application/views/clientes/editarCliente.php +++ b/application/views/clientes/editarCliente.php @@ -47,8 +47,8 @@ class="fas fa-arrow-left"> Voltar
' . $custom_error . '
'; - } ?> + echo '
' . $custom_error . '
'; +} ?>
diff --git a/application/views/clientes/visualizar.php b/application/views/clientes/visualizar.php index 2d1bef2da..58b70d082 100644 --- a/application/views/clientes/visualizar.php +++ b/application/views/clientes/visualizar.php @@ -5,8 +5,8 @@
  • Ordens de Serviço
  • permission->checkPermission($this->session->userdata('permissao'), 'eCliente')) { - echo ' Editar'; - } ?> + echo ' Editar'; +} ?> Voltar
    diff --git a/application/views/conecte/detalhes_os.php b/application/views/conecte/detalhes_os.php index debe35a70..15e9ee21f 100644 --- a/application/views/conecte/detalhes_os.php +++ b/application/views/conecte/detalhes_os.php @@ -275,7 +275,7 @@
    Obrigatório o preenchimento dos campos com asterisco.
    - +
    @@ -321,6 +321,7 @@ +
    diff --git a/application/views/mapos/configurar.php b/application/views/mapos/configurar.php index bcbb29bfc..e91f0bc83 100644 --- a/application/views/mapos/configurar.php +++ b/application/views/mapos/configurar.php @@ -141,6 +141,13 @@ Ativar ou desativar a permissão para alterar OS faturada e/ou cancelada.
    +
    + +
    + + Chave Pix para Recebimento de Pagamentos +
    +
    diff --git a/application/views/mapos/painel.php b/application/views/mapos/painel.php index 8899f8af0..5db18af54 100644 --- a/application/views/mapos/painel.php +++ b/application/views/mapos/painel.php @@ -184,10 +184,10 @@ dataFinal != null) { - echo date('d/m/Y', strtotime($o->dataFinal)); - } else { - echo ""; - } ?> + echo date('d/m/Y', strtotime($o->dataFinal)); +} else { + echo ""; +} ?> nomeCliente ?> @@ -380,72 +380,72 @@ name: 'Receita Líquida', negativeColor: '#00CED1', data: [ - [VALOR_JAN_REC - $financeiro_mes->VALOR_JAN_DES); ?>], - [VALOR_FEV_REC - $financeiro_mes->VALOR_FEV_DES); ?>], - [VALOR_MAR_REC - $financeiro_mes->VALOR_MAR_DES); ?>], - [VALOR_ABR_REC - $financeiro_mes->VALOR_ABR_DES); ?>], - [VALOR_MAI_REC - $financeiro_mes->VALOR_MAI_DES); ?>], - [VALOR_JUN_REC - $financeiro_mes->VALOR_JUN_DES); ?>], - [VALOR_JUL_REC - $financeiro_mes->VALOR_JUL_DES); ?>], - [VALOR_AGO_REC - $financeiro_mes->VALOR_AGO_DES); ?>], - [VALOR_SET_REC - $financeiro_mes->VALOR_SET_DES); ?>], - [VALOR_OUT_REC - $financeiro_mes->VALOR_OUT_DES); ?>], - [VALOR_NOV_REC - $financeiro_mes->VALOR_NOV_DES); ?>], - [VALOR_DEZ_REC - $financeiro_mes->VALOR_DEZ_DES); ?>] + [VALOR_JAN_REC - $financeiro_mes->VALOR_JAN_DES); ?>], + [VALOR_FEV_REC - $financeiro_mes->VALOR_FEV_DES); ?>], + [VALOR_MAR_REC - $financeiro_mes->VALOR_MAR_DES); ?>], + [VALOR_ABR_REC - $financeiro_mes->VALOR_ABR_DES); ?>], + [VALOR_MAI_REC - $financeiro_mes->VALOR_MAI_DES); ?>], + [VALOR_JUN_REC - $financeiro_mes->VALOR_JUN_DES); ?>], + [VALOR_JUL_REC - $financeiro_mes->VALOR_JUL_DES); ?>], + [VALOR_AGO_REC - $financeiro_mes->VALOR_AGO_DES); ?>], + [VALOR_SET_REC - $financeiro_mes->VALOR_SET_DES); ?>], + [VALOR_OUT_REC - $financeiro_mes->VALOR_OUT_DES); ?>], + [VALOR_NOV_REC - $financeiro_mes->VALOR_NOV_DES); ?>], + [VALOR_DEZ_REC - $financeiro_mes->VALOR_DEZ_DES); ?>] ] }, { name: 'Receita Bruta', negativeColor: '#32CD32', data: [ - [VALOR_JAN_REC); ?>], - [VALOR_FEV_REC); ?>], - [VALOR_MAR_REC); ?>], - [VALOR_ABR_REC); ?>], - [VALOR_MAI_REC); ?>], - [VALOR_JUN_REC); ?>], - [VALOR_JUL_REC); ?>], - [VALOR_AGO_REC); ?>], - [VALOR_SET_REC); ?>], - [VALOR_OUT_REC); ?>], - [VALOR_NOV_REC); ?>], - [VALOR_DEZ_REC); ?>] + [VALOR_JAN_REC); ?>], + [VALOR_FEV_REC); ?>], + [VALOR_MAR_REC); ?>], + [VALOR_ABR_REC); ?>], + [VALOR_MAI_REC); ?>], + [VALOR_JUN_REC); ?>], + [VALOR_JUL_REC); ?>], + [VALOR_AGO_REC); ?>], + [VALOR_SET_REC); ?>], + [VALOR_OUT_REC); ?>], + [VALOR_NOV_REC); ?>], + [VALOR_DEZ_REC); ?>] ] }, { name: 'Despesas', negativeColor: '#FF6347', data: [ - [VALOR_JAN_DES); ?>], - [VALOR_FEV_DES); ?>], - [VALOR_MAR_DES); ?>], - [VALOR_ABR_DES); ?>], - [VALOR_MAI_DES); ?>], - [VALOR_JUN_DES); ?>], - [VALOR_JUL_DES); ?>], - [VALOR_AGO_DES); ?>], - [VALOR_SET_DES); ?>], - [VALOR_OUT_DES); ?>], - [VALOR_NOV_DES); ?>], - [VALOR_DEZ_DES); ?>] + [VALOR_JAN_DES); ?>], + [VALOR_FEV_DES); ?>], + [VALOR_MAR_DES); ?>], + [VALOR_ABR_DES); ?>], + [VALOR_MAI_DES); ?>], + [VALOR_JUN_DES); ?>], + [VALOR_JUL_DES); ?>], + [VALOR_AGO_DES); ?>], + [VALOR_SET_DES); ?>], + [VALOR_OUT_DES); ?>], + [VALOR_NOV_DES); ?>], + [VALOR_DEZ_DES); ?>] ] }, { name: 'Inadimplência', negativeColor: '#8B008B', data: [ - [VALOR_JAN_REC); ?>], - [VALOR_FEV_REC); ?>], - [VALOR_MAR_REC); ?>], - [VALOR_ABR_REC); ?>], - [VALOR_MAI_REC); ?>], - [VALOR_JUN_REC); ?>], - [VALOR_JUL_REC); ?>], - [VALOR_AGO_REC); ?>], - [VALOR_SET_REC); ?>], - [VALOR_OUT_REC); ?>], - [VALOR_NOV_REC); ?>], - [VALOR_DEZ_REC); ?>] + [VALOR_JAN_REC); ?>], + [VALOR_FEV_REC); ?>], + [VALOR_MAR_REC); ?>], + [VALOR_ABR_REC); ?>], + [VALOR_MAI_REC); ?>], + [VALOR_JUN_REC); ?>], + [VALOR_JUL_REC); ?>], + [VALOR_AGO_REC); ?>], + [VALOR_SET_REC); ?>], + [VALOR_OUT_REC); ?>], + [VALOR_NOV_REC); ?>], + [VALOR_DEZ_REC); ?>] ] } ] @@ -579,8 +579,8 @@ $(document).ready(function() { var data = [ status . "', " . $o->total . "],"; - } ?> + echo "['" . $o->status . "', " . $o->total . "],"; +} ?> ]; var plot1 = jQuery.jqplot('chart-os', [data], { @@ -609,7 +609,7 @@ permission->checkPermission($this->session->userdata('permissao'), 'rFinanceiro')) { if ($estatisticas_financeiro->total_receita != null || $estatisticas_financeiro->total_despesa != null || $estatisticas_financeiro->total_receita_pendente != null || $estatisticas_financeiro->total_despesa_pendente != null) { -?> + ?> @@ -29,14 +28,32 @@ <<< - - nome; ?>
    - cnpj; ?>
    - rua . ', nº:' . $emitente[0]->numero . ', ' . $emitente[0]->bairro . ' - ' . $emitente[0]->cidade . ' - ' . $emitente[0]->uf; ?>

    E-mail: - email . ' - Fone: ' . $emitente[0]->telefone; ?> + + + + nome; ?>
    + + + + cnpj; ?>
    + + + rua . ', nº:' . $emitente[0]->numero . ', ' . $emitente[0]->bairro . ' - ' . $emitente[0]->cidade . ' - ' . $emitente[0]->uf; ?> + +
    + + + E-mail: + email . ' - Fone: ' . $emitente[0]->telefone; ?>
    + + + Vendedor: nome ?> + + #Venda: idVendas ?>

    Emissão: + faturado) : ?>
    Vencimento: @@ -51,52 +68,43 @@ - - + + + +
    +
    • Cliente
      - - nomeCliente ?>
      - - rua ?>, - numero ?>, - bairro ?>
      - - cidade ?> - - estado ?> -
    • -
    -
    -
      -
    • - -
      Vendedor
      + nomeCliente ?> - + documento ?>
      + rua ?>, + numero ?>, + bairro ?>, + cidade ?> - + estado ?>
      - - nome ?>
      - Telefone: - telefone_usuario ?>
      - Email: - email_usuario ?>
    + QR Code de Pagamento +
    +
    - - - - - - + + + + + + @@ -108,21 +116,19 @@ echo ''; echo ''; echo ''; - echo ''; + echo ''; echo ''; } ?> - - +
    Cód. de barraProdutoQuantidadePreço unit.Sub-total
    CódProdutoQtV. UN R$S.Total R$
    ' . $p->descricao . '' . $p->quantidade . '' . ($p->preco ?: $p->precoVenda) . 'R$ ' . number_format($p->subTotal, 2, ',', '.') . ' ' . number_format($p->subTotal, 2, ',', '.') . '
    Total:R$ + Total R$:
    -
    -

    Observações: -

    +
    Observações:
    @@ -136,10 +142,6 @@
    -
    -

    Valor Total: R$ - -

    diff --git a/composer.json b/composer.json index 5a64d2215..9bd43ab50 100755 --- a/composer.json +++ b/composer.json @@ -8,7 +8,8 @@ "filp/whoops": "^2.7", "mk-j/php_xlsxwriter": "^0.38.0", "mpdf/qrcode": "^1.1", - "phpoffice/phpword": "dev-master" + "phpoffice/phpword": "dev-master", + "piggly/php-pix": "^1.1" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.16", diff --git a/composer.lock b/composer.lock index 66baa113f..2c287400d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,149 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e3f6a9a7a9acfde3069d8878e4322835", + "content-hash": "eaa4687e83f2e92622f0532daf26d97b", "packages": [ + { + "name": "chillerlan/php-qrcode", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-qrcode.git", + "reference": "4968063fb3baeedb658293f89f9673fbf2499a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/4968063fb3baeedb658293f89f9673fbf2499a3e", + "reference": "4968063fb3baeedb658293f89f9673fbf2499a3e", + "shasum": "" + }, + "require": { + "chillerlan/php-settings-container": "^2.1", + "ext-mbstring": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phan/phan": "^3.2.2", + "phpunit/phpunit": "^9.4", + "setasign/fpdf": "^1.8.2" + }, + "suggest": { + "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", + "setasign/fpdf": "Required to use the QR FPDF output." + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\QRCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kazuhiko Arase", + "homepage": "https://github.com/kazuhikoarase" + }, + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + }, + { + "name": "Contributors", + "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" + } + ], + "description": "A QR code generator. PHP 7.4+", + "homepage": "https://github.com/chillerlan/php-qrcode", + "keywords": [ + "phpqrcode", + "qr", + "qr code", + "qrcode", + "qrcode-generator" + ], + "support": { + "issues": "https://github.com/chillerlan/php-qrcode/issues", + "source": "https://github.com/chillerlan/php-qrcode/tree/4.3.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2020-11-18T20:49:20+00:00" + }, + { + "name": "chillerlan/php-settings-container", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-settings-container.git", + "reference": "98ccc1b31b31a53bcb563465c4961879b2b93096" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/98ccc1b31b31a53bcb563465c4961879b2b93096", + "reference": "98ccc1b31b31a53bcb563465c4961879b2b93096", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phan/phan": "^4.0", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\Settings\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + } + ], + "description": "A container class for immutable settings objects. Not a DI container. PHP 7.4+", + "homepage": "https://github.com/chillerlan/php-settings-container", + "keywords": [ + "PHP7", + "Settings", + "container", + "helper" + ], + "support": { + "issues": "https://github.com/chillerlan/php-settings-container/issues", + "source": "https://github.com/chillerlan/php-settings-container" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2021-01-06T15:57:03+00:00" + }, { "name": "codeigniter/framework", "version": "3.1.11", @@ -1782,6 +1923,61 @@ }, "time": "2021-01-24T23:12:43+00:00" }, + { + "name": "piggly/php-pix", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/piggly-dev/php-pix.git", + "reference": "7c5787d4611e40583159cede429d3a13d7e0dff6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/piggly-dev/php-pix/zipball/7c5787d4611e40583159cede429d3a13d7e0dff6", + "reference": "7c5787d4611e40583159cede429d3a13d7e0dff6", + "shasum": "" + }, + "require": { + "chillerlan/php-qrcode": "^4.3", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^6.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Piggly\\Pix\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caique Araujo", + "email": "caique@studiopiggly.com.br", + "homepage": "https://github.com/caiquearaujo", + "role": "Developer" + } + ], + "description": "Uma biblioteca para preparar e gerar o código Pix do Banco Central do Brasil.", + "homepage": "https://github.com/piggly-dev/php-pix", + "keywords": [ + "bcb", + "emv", + "payment", + "piggly", + "pix", + "qrcode" + ], + "support": { + "issues": "https://github.com/piggly-dev/php-pix/issues", + "source": "https://github.com/piggly-dev/php-pix/tree/1.1.0" + }, + "time": "2021-02-11T19:42:31+00:00" + }, { "name": "psr/http-message", "version": "1.0.1", diff --git a/updates/update_4.30.3_to_4.31.0.sql b/updates/update_4.30.3_to_4.31.0.sql new file mode 100644 index 000000000..882f14483 --- /dev/null +++ b/updates/update_4.30.3_to_4.31.0.sql @@ -0,0 +1 @@ +INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (11, 'pix_key', '');