Next BP 24.174.2

Atualizacao_Versao_DAO extends DAO
in package

Gerenciador de versoes do Next BP.

Uso exclusivo em linha de comando (webservice/cli.php -v). Esta classe deliberadamente nao possui rota HTTP: download, extracao e restauracao de arquivos nao podem ser acionados pela web.

Tags
author

Bighetti

Table of Contents

Constants

BACKUP_EXCLUSOES  = ['webservice/uploads', 'webservice/log', 'webservice/config']
Diretorios do cliente que o backup nao copia.
DIR_DADOS  = 'bp_versoes'
INDICE_BUILDS  = 'builds.json'
INDICE_RELEASES  = 'releases.json'
LIMITE_BLOQUEIOS_CONSOLE  = 50
LIMITE_LISTAGEM  = 10
MANIFESTO_BACKUP  = '__backup_manifesto.json'
Metadado interno do backup - nunca deve ser gravado em APP_PATH.
RAIZES_INSTALADOR  = ['asset-manifest.json', 'assets', 'beta', 'index.html', 'index.php', 'langs', 'static', 'swagger', 'versoes.txt', 'webservice', 'websocket']
Raizes de primeiro nivel publicadas pelo instalador (make/make_zip.php).
URL_BASE_PADRAO  = 'https://download-bp.nextsi.com.br/'

Properties

$_erp_empresa  : mixed
$_erp_filial  : mixed
$_erp_grupo  : mixed
$api_token  : mixed
$dir_dao  : mixed
$emp  : mixed
$idioma  : mixed
$instance_token  : mixed
$login_anonimo  : mixed
$token_job  : mixed
$viewcode  : mixed

Methods

__construct()  : mixed
api_token()  : mixed
atualizar()  : mixed
Fluxo completo: resolve a versao, testa permissoes, faz backup, extrai e executa o -dbu. Retorna o codigo de saida.
atualizar_mais_recente()  : mixed
Descobre a versao mais recente do indice e atualiza para ela. Quando a versao instalada ja e a mais recente, encerra sem tocar em nada e devolve 0 - assim o comando pode ir direto no cron para atualizacao automatica sem gerar alarme falso a cada execucao.
AutoLoad()  : mixed
backup_criar()  : mixed
backup_info()  : mixed
backup_localizar_ultimo()  : mixed
backup_restaurar()  : mixed
baixar()  : mixed
Baixa (ou reaproveita do cache) o instalador da versao informada.
ConvertBase64()  : mixed
Delete_Token_JOB()  : mixed
DxParamsAddFilter()  : mixed
emp()  : mixed
get_login_anonimo()  : mixed
getFormData()  : mixed
getJsonData()  : mixed
instance_token()  : mixed
isJsonRequest()  : mixed
listar()  : mixed
LoadDAO()  : mixed
LoadHTML()  : mixed
LoadMail()  : mixed
LoadModel()  : mixed
LoadPDF()  : mixed
ReadBodyParams()  : mixed
ReadDxParams()  : mixed
ReadFile()  : mixed
ReadFiles()  : mixed
ReadGet()  : mixed
ReadPost()  : mixed
ReadRequest()  : mixed
set_login_anonimo()  : mixed
Start_Token_JOB()  : mixed
testar_permissoes()  : mixed
Acao --testar-permissoes: roda o mesmo motor do --update sem alterar nada. Retorna a lista de bloqueios (vazia = tudo liberado).
versao_instalada()  : mixed
WhatRequest()  : mixed
limite_sql()  : mixed
Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.
lista_ids_sql()  : mixed
Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.
normalizar_ids()  : array<string|int, mixed>
Normaliza uma lista de ids para interpolação segura em um IN (...).

Constants

BACKUP_EXCLUSOES

Diretorios do cliente que o backup nao copia.

public mixed BACKUP_EXCLUSOES = ['webservice/uploads', 'webservice/log', 'webservice/config']

MANIFESTO_BACKUP

Metadado interno do backup - nunca deve ser gravado em APP_PATH.

public mixed MANIFESTO_BACKUP = '__backup_manifesto.json'

RAIZES_INSTALADOR

Raizes de primeiro nivel publicadas pelo instalador (make/make_zip.php).

public mixed RAIZES_INSTALADOR = ['asset-manifest.json', 'assets', 'beta', 'index.html', 'index.php', 'langs', 'static', 'swagger', 'versoes.txt', 'webservice', 'websocket']

Properties

$instance_token

protected static mixed $instance_token

$login_anonimo

protected static mixed $login_anonimo = false

Methods

atualizar()

Fluxo completo: resolve a versao, testa permissoes, faz backup, extrai e executa o -dbu. Retorna o codigo de saida.

public atualizar(mixed $versao[, mixed $homolog = false ][, mixed $alvo = null ][, mixed $restaurar_em_falha = false ][, mixed $cli = true ]) : mixed

$restaurar_em_falha: se a EXTRACAO falhar, restaura o backup recem-criado sem intervencao (o -dbu ainda nao rodou, entao o banco esta intacto). Uma falha no -dbu nao dispara restauracao automatica: o banco pode ja ter mudado e a decisao passa a ser do operador.

Parameters
$versao : mixed
$homolog : mixed = false
$alvo : mixed = null
$restaurar_em_falha : mixed = false
$cli : mixed = true

atualizar_mais_recente()

Descobre a versao mais recente do indice e atualiza para ela. Quando a versao instalada ja e a mais recente, encerra sem tocar em nada e devolve 0 - assim o comando pode ir direto no cron para atualizacao automatica sem gerar alarme falso a cada execucao.

public atualizar_mais_recente([mixed $homolog = false ][, mixed $alvo = null ][, mixed $restaurar_em_falha = false ][, mixed $cli = true ]) : mixed

Retorna o codigo de saida (0 sucesso / nada a fazer, 1 falha).

Parameters
$homolog : mixed = false
$alvo : mixed = null
$restaurar_em_falha : mixed = false
$cli : mixed = true

AutoLoad()

public static AutoLoad(mixed $className) : mixed
Parameters
$className : mixed

backup_criar()

public backup_criar([array<string|int, mixed> $entradas_extra = [] ][, mixed $versao_alvo = null ][, mixed $cli = true ]) : mixed
Parameters
$entradas_extra : array<string|int, mixed> = []
$versao_alvo : mixed = null
$cli : mixed = true

backup_info()

public backup_info([mixed $verificar = false ][, mixed $cli = true ]) : mixed
Parameters
$verificar : mixed = false
$cli : mixed = true

backup_restaurar()

public backup_restaurar([mixed $limpar = false ][, mixed $cli = true ]) : mixed
Parameters
$limpar : mixed = false
$cli : mixed = true

baixar()

Baixa (ou reaproveita do cache) o instalador da versao informada.

public baixar(mixed $versao[, mixed $homolog = false ][, mixed $alvo = null ][, mixed $forcar = false ][, mixed $cli = true ]) : mixed

Retorna o caminho absoluto do zip.

Parameters
$versao : mixed
$homolog : mixed = false
$alvo : mixed = null
$forcar : mixed = false
$cli : mixed = true

ConvertBase64()

public static ConvertBase64(mixed $name, mixed &$request_params) : mixed
Parameters
$name : mixed
$request_params : mixed

Delete_Token_JOB()

public static Delete_Token_JOB() : mixed

DxParamsAddFilter()

public DxParamsAddFilter(mixed &$params, mixed $campo, mixed $condicao, mixed $valor) : mixed
Parameters
$params : mixed
$campo : mixed
$condicao : mixed
$valor : mixed

get_login_anonimo()

public static get_login_anonimo() : mixed

getFormData()

public static getFormData([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

getJsonData()

public static getJsonData([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

instance_token()

public static instance_token() : mixed

isJsonRequest()

public static isJsonRequest() : mixed

listar()

public listar([mixed $homolog = false ][, mixed $cli = true ][, mixed $tudo = false ]) : mixed
Parameters
$homolog : mixed = false
$cli : mixed = true
$tudo : mixed = false

LoadDAO()

public static LoadDAO(mixed $dao_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$dao_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadHTML()

public static LoadHTML(mixed $html_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$html_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadMail()

public static LoadMail(mixed $mail_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$mail_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadModel()

public static LoadModel(mixed $model_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$model_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

LoadPDF()

public static LoadPDF(mixed $pdf_class_required[, mixed $auto_construct = false ][, mixed $auto_load = false ]) : mixed
Parameters
$pdf_class_required : mixed
$auto_construct : mixed = false
$auto_load : mixed = false

ReadBodyParams()

public ReadBodyParams([mixed $param = null ]) : mixed
Parameters
$param : mixed = null

ReadFile()

public ReadFile(mixed $name[, mixed $default = null ][, mixed $arrAcceptedMimeTypes = [] ]) : mixed
Parameters
$name : mixed
$default : mixed = null
$arrAcceptedMimeTypes : mixed = []

ReadFiles()

public ReadFiles(mixed $name) : mixed
Parameters
$name : mixed

ReadGet()

public ReadGet(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

ReadPost()

public ReadPost(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

ReadRequest()

public ReadRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

set_login_anonimo()

public static set_login_anonimo(mixed $value) : mixed
Parameters
$value : mixed

Start_Token_JOB()

public static Start_Token_JOB(mixed $new_token) : mixed
Parameters
$new_token : mixed

testar_permissoes()

Acao --testar-permissoes: roda o mesmo motor do --update sem alterar nada. Retorna a lista de bloqueios (vazia = tudo liberado).

public testar_permissoes([mixed $versao = null ][, mixed $homolog = false ][, mixed $alvo = null ][, mixed $do_backup = false ][, mixed $cli = true ]) : mixed
Parameters
$versao : mixed = null
$homolog : mixed = false
$alvo : mixed = null
$do_backup : mixed = false
$cli : mixed = true

WhatRequest()

public WhatRequest(mixed $name[, mixed $default = null ]) : mixed
Parameters
$name : mixed
$default : mixed = null

limite_sql()

Normaliza um valor que será interpolado em LIMIT/OFFSET, onde o PDO também não aceita parâmetro nomeado. Negativos viram 0, pois quebrariam a consulta.

protected limite_sql(mixed $valor[, mixed $padrao = 0 ]) : mixed
Parameters
$valor : mixed
$padrao : mixed = 0

lista_ids_sql()

Monta o conteúdo de um IN (...) a partir de ids já validados como inteiros.

protected lista_ids_sql(mixed $valor) : mixed

Sem nenhum id aproveitável devolve o literal NULL, para o IN não casar com nada em vez de gerar SQL inválido.

Parameters
$valor : mixed

normalizar_ids()

Normaliza uma lista de ids para interpolação segura em um IN (...).

protected normalizar_ids(mixed $valor) : array<string|int, mixed>

Aceita array, string separada por vírgula ou escalar, e descarta tudo que não for numérico.

Use sempre que um valor vindo da request precisar entrar concatenado no SQL: os parâmetros nomeados do PDO não funcionam dentro de um IN (...) de tamanho variável, e é justamente aí que a concatenação crua costuma aparecer.

Parameters
$valor : mixed
Return values
array<string|int, mixed> —

Lista de inteiros reindexada; vazia quando nada é aproveitável.


        
On this page

Search results