feat(icons): load Bootstrap Icons and Font Awesome from the shared platform-tools packs
Register the icons packs in platform_connect, add fit_icon_assets() with local fallback, and add a sysadmin 'Pacotes de icones' link to platform?tool=icons.
This commit is contained in:
1 parent
781a3a324e
commit
18676ad6d0
8 files changed
+46
-7
No files matched your search
+11
-1
@@ -96,7 +96,17 @@ try {
|
||||
// para deixar a porta aberta a usar o throttle partilhado no futuro. Ver
|
||||
// views/auth/login.php para a nota completa.
|
||||
require_once dirname(__DIR__) . '/shared/platform-tools/functions_connector.php';
|
||||
platform_connect($pdo, [
|
||||
// Pacotes de ícones partilhados (platform?tool=icons, pt_icon_assets()). Só se o
|
||||
// submódulo já os tem; sem ele os layouts caem nas cópias locais (fit_icon_assets()).
|
||||
// Flaticon NÃO está registado: o site usa PNGs (uploads/modalidades/icons), não a fonte.
|
||||
$iconsFile = dirname(__DIR__) . '/shared/platform-tools/functions_icons.php';
|
||||
if (is_file($iconsFile)) {
|
||||
require_once $iconsFile;
|
||||
}
|
||||
$iconsOpt = is_file($iconsFile)
|
||||
? ['icons' => ['packs' => ['bootstrap-icons', 'fontawesome'], 'default' => 'bootstrap-icons']]
|
||||
: [];
|
||||
platform_connect($pdo, $iconsOpt + [
|
||||
'auth' => 'shared',
|
||||
'roles' => [
|
||||
// Preserva a hierarquia que config/auth.php já tinha (sysadmin >
|
||||
|
||||
@@ -27,6 +27,7 @@ require_once __DIR__ . '/functions_migrations.php';// platform_update.php migrat
|
||||
require_once __DIR__ . '/functions_queue.php'; // message_queue + enqueue_*/flush_message
|
||||
require_once __DIR__ . '/functions_csrf.php';
|
||||
require_once __DIR__ . '/functions_html.php'; // allowlist HTML sanitiser (clean_richtext/clean_map_embed)
|
||||
require_once __DIR__ . '/functions_icons.php'; // fit_icon_assets(): pacotes de ícones partilhados + recurso local
|
||||
require_once __DIR__ . '/ci_compat.php'; // CI4 view-helper shim (script_tag/link_tag/view/esc/session)
|
||||
require_once __DIR__ . '/functions_gyms.php'; // multi-gym: gyms, URL folders, admin gym switcher
|
||||
require_once __DIR__ . '/functions_site.php'; // public-site data (site_info/offer/team/modalidades/horario)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
// Ícones: pacotes partilhados do platform-tools (pt_icon_assets()) com as cópias
|
||||
// locais como recurso quando o submódulo ainda não os tem (produção com o
|
||||
// submódulo antigo). Registo dos pacotes: config/db.php ('icons').
|
||||
//
|
||||
// $packs : ids dos pacotes a carregar (ex.: ['fontawesome'])
|
||||
// $localHrefs: <link> locais de recurso, caminhos para link_tag()/base_url()
|
||||
function fit_icon_assets(array $packs, array $localHrefs): string {
|
||||
if (function_exists('pt_icon_assets')) {
|
||||
$html = pt_icon_assets($packs);
|
||||
if ($html !== '') return $html;
|
||||
}
|
||||
$out = '';
|
||||
foreach ($localHrefs as $href) {
|
||||
$out .= '<link href="' . htmlspecialchars(base_url($href), ENT_QUOTES) . '" rel="stylesheet">' . "\n";
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
Reference in new issue
Block a user