- shared/platform-tools: ea3616a → 12f26fd (27 commits). Traz o módulo de audit (f761d99, o pin da frota), «manter sessão iniciada», o registo de segurança da frota (o gancho que o login já tinha passa a funcionar) e a correção do IP do cliente encontrada nesta auditoria (último X-Forwarded-For / X-Real-IP), promovida ao partilhado. client_ip() da app delega nele. - config/functions_audit.php: audit() sobre platform_audit(); tabela audit_log criada no primeiro uso, segredos ocultados, nunca parte a ação. - Registado: login, falha de login, bloqueio por excesso de tentativas, logout, pedidos de recuperação, mudança/definição de palavra-passe, registo e criação de utilizadores, convites, perfil (antes/depois), todas as definições (db_update_setting, com valor anterior), cada passo da lixeira (apagar, restaurar, eliminar de vez) e ações nas mensagens. - Sistema → Auditoria (views/sysadmin/audit.php), só sysadmin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
902 B
PHP
22 lines
902 B
PHP
<?php
|
|
// Self-bootstrapping remote-ops endpoint for the id.andmore.pt fleet plane —
|
|
// config/ stack (fitme3070, fotografia, dsa, moremio, tickets).
|
|
//
|
|
// Assumed location: <host>/shared/platform-tools/api/agent.php
|
|
// dirname(__DIR__, 3) === <host>
|
|
// The per-platform stub at <host>/api/agent.php is a one-line require of this file.
|
|
//
|
|
// The action set lives in functions_agent.php, so a host that needs its own
|
|
// stub (surf sets MIGRATIONS_DIR first) still shares it.
|
|
|
|
$repo_root = dirname(__DIR__, 3);
|
|
require_once $repo_root . '/config/db.php'; // opens $pdo, starts the session
|
|
require_once $repo_root . '/config/functions.php'; // env(), helpers, migrations stub
|
|
require_once __DIR__ . '/../functions_agent.php';
|
|
|
|
$secret = (string) (function_exists('env')
|
|
? (env('HUB_OPS_SECRET', '') ?: '')
|
|
: (getenv('HUB_OPS_SECRET') ?: ''));
|
|
|
|
agent_dispatch($pdo, $repo_root, $secret);
|