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
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']
DIR_DADOS
public
mixed
DIR_DADOS
= 'bp_versoes'
INDICE_BUILDS
public
mixed
INDICE_BUILDS
= 'builds.json'
INDICE_RELEASES
public
mixed
INDICE_RELEASES
= 'releases.json'
LIMITE_BLOQUEIOS_CONSOLE
public
mixed
LIMITE_BLOQUEIOS_CONSOLE
= 50
LIMITE_LISTAGEM
public
mixed
LIMITE_LISTAGEM
= 10
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']
URL_BASE_PADRAO
public
mixed
URL_BASE_PADRAO
= 'https://download-bp.nextsi.com.br/'
Properties
$_erp_empresa
protected
mixed
$_erp_empresa
$_erp_filial
protected
mixed
$_erp_filial
$_erp_grupo
protected
mixed
$_erp_grupo
$api_token
protected
static mixed
$api_token
$dir_dao
protected
static mixed
$dir_dao
= NULL
$emp
protected
mixed
$emp
$idioma
protected
mixed
$idioma
$instance_token
protected
static mixed
$instance_token
$login_anonimo
protected
static mixed
$login_anonimo
= false
$token_job
protected
static mixed
$token_job
$viewcode
protected
mixed
$viewcode
Methods
__construct()
public
__construct() : mixed
api_token()
public
static api_token() : mixed
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_localizar_ultimo()
public
backup_localizar_ultimo() : mixed
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
emp()
public
emp() : 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
ReadDxParams()
public
ReadDxParams() : mixed
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
versao_instalada()
public
static versao_instalada() : mixed
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.