From 896249f83332ec657b35f4616d8b48047c97a0c0 Mon Sep 17 00:00:00 2001 From: Yasen Pramatarov Date: Mon, 4 May 2026 12:25:03 +0300 Subject: [PATCH] Imports classes in core code with "use" instead of full references. --- app/classes/log.php | 4 +- app/core/PluginManager.php | 8 ++-- app/helpers/logger_loader.php | 6 ++- app/pages/admin.php | 56 +++++++++++++---------- app/pages/profile.php | 6 ++- app/pages/theme.php | 13 ++++-- app/templates/admin.php | 6 +-- app/templates/maintenance.php | 5 +- app/templates/page-menu.php | 9 ++-- app/templates/theme.php | 7 +-- public_html/index.php | 71 +++++++++++++++-------------- themes/modern/views/page-footer.php | 6 ++- themes/modern/views/page-header.php | 6 ++- themes/retro/views/page-footer.php | 6 ++- themes/retro/views/page-header.php | 6 ++- 15 files changed, 130 insertions(+), 85 deletions(-) diff --git a/app/classes/log.php b/app/classes/log.php index c1f92fd..eafb7db 100644 --- a/app/classes/log.php +++ b/app/classes/log.php @@ -5,6 +5,8 @@ * Used when code does require_once '../app/classes/log.php'. */ +use App\Core\NullLogger; + // If there is already a Log plugin loaded if (class_exists('Log')) { return; @@ -24,7 +26,7 @@ class Log { if (isset($logObject) && method_exists($logObject, 'insertLog')) { $this->logger = $logObject; } else { - $this->logger = new \App\Core\NullLogger(); + $this->logger = new NullLogger(); } } diff --git a/app/core/PluginManager.php b/app/core/PluginManager.php index 9110760..eec6d3c 100644 --- a/app/core/PluginManager.php +++ b/app/core/PluginManager.php @@ -2,6 +2,8 @@ namespace App\Core; +use App\App; + class PluginManager { /** @var array */ @@ -168,7 +170,7 @@ class PluginManager } // Use App API to get database connection - $db = \App\App::db(); + $db = App::db(); $pdo = ($db instanceof \PDO) ? $db : $db->getConnection(); try { @@ -214,7 +216,7 @@ class PluginManager } // Use App API to get database connection - $db = \App\App::db(); + $db = App::db(); // If database unavailable, fallback to manifest if (!$db) { @@ -283,7 +285,7 @@ class PluginManager return false; } - $db = \App\App::db(); + $db = App::db(); if (!$db) { app_log('error', 'PluginManager::purge: Database connection not available', ['scope' => 'plugin']); return false; diff --git a/app/helpers/logger_loader.php b/app/helpers/logger_loader.php index 98ab2c0..98c3fbd 100644 --- a/app/helpers/logger_loader.php +++ b/app/helpers/logger_loader.php @@ -1,5 +1,7 @@ log($level, $message, $context); diff --git a/app/pages/admin.php b/app/pages/admin.php index ba78506..f938dfe 100644 --- a/app/pages/admin.php +++ b/app/pages/admin.php @@ -1,5 +1,11 @@ $meta) { ]; } -$sectionStatePayload = \App\Core\HookDispatcher::applyFilters('admin.sections.state', [ +$sectionStatePayload = HookDispatcher::applyFilters('admin.sections.state', [ 'sections' => $sectionRegistry, 'state' => [], 'db' => $db ?? null, @@ -125,9 +131,9 @@ if (is_array($sectionStatePayload)) { // Get plugin catalog and list of loaded plugins // with their dependencies -$pluginCatalog = \App\Core\PluginManager::getCatalog(); -$pluginLoadedMap = \App\Core\PluginManager::getLoaded(); -$pluginDependencyErrors = \App\Core\PluginManager::getDependencyErrors(); +$pluginCatalog = PluginManager::getCatalog(); +$pluginLoadedMap = PluginManager::getLoaded(); +$pluginDependencyErrors = PluginManager::getDependencyErrors(); $normalizeDependencies = static function ($meta): array { $deps = $meta['dependencies'] ?? []; @@ -154,14 +160,14 @@ $pluginAdminMap = []; foreach ($pluginCatalog as $slug => $info) { $meta = $info['meta'] ?? []; $name = trim((string)($meta['name'] ?? $slug)); - $enabled = \App\Core\PluginManager::isEnabled($slug); // Use database setting + $enabled = PluginManager::isEnabled($slug); // Use database setting $dependencies = $normalizeDependencies($meta); $dependents = array_values($pluginDependentsIndex[$slug] ?? []); $enabledDependents = array_values(array_filter($dependents, static function($depSlug) { - return \App\Core\PluginManager::isEnabled($depSlug); // Use database setting + return PluginManager::isEnabled($depSlug); // Use database setting })); $missingDependencies = array_values(array_filter($dependencies, static function($depSlug) use ($pluginCatalog) { - return !isset($pluginCatalog[$depSlug]) || !\App\Core\PluginManager::isEnabled($depSlug); // Use database setting + return !isset($pluginCatalog[$depSlug]) || !PluginManager::isEnabled($depSlug); // Use database setting })); // Check for migration files and existing tables @@ -170,7 +176,7 @@ foreach ($pluginCatalog as $slug => $info) { $existingTables = []; if ($hasMigration) { - $db = \App\App::db(); + $db = App::db(); if ($db instanceof PDO) { $stmt = $db->query("SHOW TABLES"); $allTables = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); @@ -260,7 +266,7 @@ if ($postAction === 'read_migration') { // Hooks actions for plugins if ($action !== '' && $action !== 'read_migration') { - $customActionPayload = \App\Core\HookDispatcher::applyFilters('admin.actions.handle', [ + $customActionPayload = HookDispatcher::applyFilters('admin.actions.handle', [ 'handled' => false, 'action' => $action, 'request_method' => $_SERVER['REQUEST_METHOD'] ?? 'GET', @@ -295,18 +301,18 @@ if ($postAction !== '' && $postAction !== 'read_migration') { // Maintenance actions if ($postAction === 'maintenance_on') { $msg = trim($_POST['maintenance_message'] ?? ''); - \App\Core\Maintenance::enable($msg); + Maintenance::enable($msg); Feedback::flash('NOTICE', 'DEFAULT', 'Maintenance mode enabled.', true); } elseif ($postAction === 'maintenance_off') { - \App\Core\Maintenance::disable(); + Maintenance::disable(); Feedback::flash('NOTICE', 'DEFAULT', 'Maintenance mode disabled.', true); // DB migrations actions } elseif ($postAction === 'migrate_up') { - $runner = new \App\Core\MigrationRunner($db, $migrationsDir); + $runner = new MigrationRunner($db, $migrationsDir); $applied = $runner->applyPendingMigrations(); Feedback::flash('NOTICE', 'DEFAULT', empty($applied) ? 'No pending migrations.' : 'Applied migrations: ' . implode(', ', $applied), true); } elseif ($postAction === 'migrate_apply_one') { - $runner = new \App\Core\MigrationRunner($db, $migrationsDir); + $runner = new MigrationRunner($db, $migrationsDir); $migrationName = trim($_POST['migration_name'] ?? ''); $applied = $migrationName !== '' ? $runner->applyMigrationByName($migrationName) : []; if (empty($applied)) { @@ -342,11 +348,11 @@ if ($postAction !== '' && $postAction !== 'read_migration') { $reason = 'Enable required plugins first: ' . implode(', ', $pluginMeta['missing_dependencies']); } Feedback::flash('ERROR', 'DEFAULT', $reason, false); - } elseif (!\App\Core\PluginManager::setEnabled($slug, true)) { + } elseif (!PluginManager::setEnabled($slug, true)) { Feedback::flash('ERROR', 'DEFAULT', 'Failed to enable plugin. Check database connection and error logs.', false); } else { // Automatically install plugin tables when enabling - $installResult = \App\Core\PluginManager::install($slug); + $installResult = PluginManager::install($slug); if ($installResult) { Feedback::flash('NOTICE', 'DEFAULT', sprintf('Plugin "%s" enabled and installed successfully.', $pluginMeta['name']), true); } else { @@ -357,7 +363,7 @@ if ($postAction !== '' && $postAction !== 'read_migration') { if (!$pluginMeta['can_disable']) { $reason = 'Disable dependent plugins first: ' . implode(', ', $pluginMeta['enabled_dependents']); Feedback::flash('ERROR', 'DEFAULT', $reason, false); - } elseif (!\App\Core\PluginManager::setEnabled($slug, false)) { + } elseif (!PluginManager::setEnabled($slug, false)) { Feedback::flash('ERROR', 'DEFAULT', 'Failed to disable plugin. Check database connection and error logs.', false); } else { Feedback::flash('NOTICE', 'DEFAULT', sprintf('Plugin "%s" disabled.', $pluginMeta['name']), true); @@ -370,7 +376,7 @@ if ($postAction !== '' && $postAction !== 'read_migration') { if ($slug === '' || !isset($pluginAdminMap[$slug])) { Feedback::flash('ERROR', 'DEFAULT', 'Unknown plugin specified.', false); } else { - if (\App\Core\PluginManager::install($slug)) { + if (PluginManager::install($slug)) { Feedback::flash('NOTICE', 'DEFAULT', sprintf('Plugin "%s" installed successfully.', $pluginAdminMap[$slug]['name']), true); } else { Feedback::flash('ERROR', 'DEFAULT', 'Plugin installation failed. Check migration files.', false); @@ -382,7 +388,7 @@ if ($postAction !== '' && $postAction !== 'read_migration') { if ($slug === '' || !isset($pluginAdminMap[$slug])) { Feedback::flash('ERROR', 'DEFAULT', 'Unknown plugin specified.', false); } else { - if (\App\Core\PluginManager::purge($slug)) { + if (PluginManager::purge($slug)) { Feedback::flash('NOTICE', 'DEFAULT', sprintf('Plugin "%s" purged successfully. All data and tables removed.', $pluginAdminMap[$slug]['name']), true); } else { Feedback::flash('ERROR', 'DEFAULT', 'Plugin purge failed. Check database permissions.', false); @@ -471,8 +477,8 @@ if ($postAction !== '' && $postAction !== 'read_migration') { exit; } -$maintenance_enabled = \App\Core\Maintenance::isEnabled(); -$maintenance_message = \App\Core\Maintenance::getMessage(); +$maintenance_enabled = Maintenance::isEnabled(); +$maintenance_message = Maintenance::getMessage(); $pending = []; $applied = []; @@ -492,7 +498,7 @@ if (isset($_SESSION['migration_modal_open'])) { } try { - $runner = new \App\Core\MigrationRunner($db, $migrationsDir); + $runner = new MigrationRunner($db, $migrationsDir); $pending = $runner->listPendingMigrations(); $applied = $runner->listAppliedMigrations(); @@ -602,7 +608,7 @@ if ($queryAction === 'plugin_check_page' && isset($_GET['plugin'])) { ]; // Check database tables - $db = \App\App::db(); + $db = App::db(); $pluginOwnedTables = []; $pluginReferencedTables = []; if ($db && method_exists($db, 'getConnection')) { @@ -685,7 +691,7 @@ if ($queryAction === 'plugin_check_page' && isset($_GET['plugin'])) { exit; } -$overviewPillsPayload = \App\Core\HookDispatcher::applyFilters('admin.overview.pills', [ +$overviewPillsPayload = HookDispatcher::applyFilters('admin.overview.pills', [ 'pills' => [], 'sections' => $sectionRegistry, 'section_state' => $sectionState, @@ -697,7 +703,7 @@ if (is_array($overviewPillsPayload)) { $adminOverviewPills = $overviewPillsPayload['pills'] ?? (is_array($overviewPillsPayload) ? $overviewPillsPayload : []); } -$overviewStatusesPayload = \App\Core\HookDispatcher::applyFilters('admin.overview.statuses', [ +$overviewStatusesPayload = HookDispatcher::applyFilters('admin.overview.statuses', [ 'statuses' => [], 'sections' => $sectionRegistry, 'section_state' => $sectionState, @@ -709,7 +715,7 @@ if (is_array($overviewStatusesPayload)) { $adminOverviewStatuses = $overviewStatusesPayload['statuses'] ?? (is_array($overviewStatusesPayload) ? $overviewStatusesPayload : []); } -$adminTabDotsPayload = \App\Core\HookDispatcher::applyFilters('admin.tabs.dot_indicators', [ +$adminTabDotsPayload = HookDispatcher::applyFilters('admin.tabs.dot_indicators', [ 'dots' => [], 'sections' => $sectionRegistry, 'section_state' => $sectionState, diff --git a/app/pages/profile.php b/app/pages/profile.php index 0ac975d..c8542f4 100644 --- a/app/pages/profile.php +++ b/app/pages/profile.php @@ -12,6 +12,8 @@ * - `edit`: Edit user profile details, rights, or avatar. */ +use App\Core\HookDispatcher; + require_once '../app/helpers/url_canonicalizer.php'; $action = $_REQUEST['action'] ?? ''; @@ -43,8 +45,8 @@ $profileHooksContext = [ 'user' => $userDetails[0] ?? null, ]; -if (class_exists('\\App\\Core\\HookDispatcher')) { - $profileHooksContext = \App\Core\HookDispatcher::applyFilters('profile.context', $profileHooksContext); +if (class_exists(HookDispatcher::class)) { + $profileHooksContext = HookDispatcher::applyFilters('profile.context', $profileHooksContext); } // plugins can add additional panels to the profile page diff --git a/app/pages/theme.php b/app/pages/theme.php index 9b7f27c..6552297 100644 --- a/app/pages/theme.php +++ b/app/pages/theme.php @@ -1,4 +1,7 @@ $name) { - $meta = \App\Helpers\Theme::getThemeMetadata($id); + $meta = Theme::getThemeMetadata($id); $themeData[$id] = [ 'name' => $meta['name'] ?? $name, 'description' => $meta['description'] ?? '', @@ -89,7 +92,7 @@ foreach ($themes as $id => $name) { 'path' => $meta['path'] ?? '', 'last_modified' => $meta['last_modified'] ?? null, 'file_count' => $meta['file_count'] ?? null, - 'screenshotUrl' => \App\Helpers\Theme::getAssetUrl($id, 'screenshot.png'), + 'screenshotUrl' => Theme::getAssetUrl($id, 'screenshot.png'), 'isActive' => $id === $currentTheme ]; } diff --git a/app/templates/admin.php b/app/templates/admin.php index f7fefaf..e8b25f7 100644 --- a/app/templates/admin.php +++ b/app/templates/admin.php @@ -14,9 +14,9 @@ /** @var array $adminOverviewPills */ /** @var array $adminOverviewStatuses */ /** @var array $sectionState */ -?> - ]; // Check database tables - $db = \App\App::db(); + $db = App::db(); $pluginOwnedTables = []; $pluginReferencedTables = []; if ($db && method_exists($db, 'getConnection')) { diff --git a/app/templates/maintenance.php b/app/templates/maintenance.php index a4c4ad7..cca3eaf 100644 --- a/app/templates/maintenance.php +++ b/app/templates/maintenance.php @@ -2,6 +2,9 @@ /** * Maintenance mode page */ + +use App\Core\Maintenance; + ?>
@@ -12,7 +15,7 @@

The site is temporarily unavailable due to maintenance.

- +

diff --git a/app/templates/page-menu.php b/app/templates/page-menu.php index f894686..cb54f68 100644 --- a/app/templates/page-menu.php +++ b/app/templates/page-menu.php @@ -1,5 +1,8 @@ [], 'app_root' => $app_root, 'user_id' => $userId ?? 0, @@ -17,7 +20,7 @@ if (!empty($navMainDots) && is_array($navMainDots)) { }); } -$navSettingsDotsPayload = \App\Core\HookDispatcher::applyFilters('nav.settings.dot_indicators', [ +$navSettingsDotsPayload = HookDispatcher::applyFilters('nav.settings.dot_indicators', [ 'dots' => [], 'app_root' => $app_root, 'user_id' => $userId ?? 0, @@ -28,7 +31,7 @@ if (is_array($navSettingsDotsPayload)) { $navSettingsDots = $navSettingsDotsPayload['dots'] ?? (is_array($navSettingsDotsPayload) ? $navSettingsDotsPayload : []); } -$navAccountDotsPayload = \App\Core\HookDispatcher::applyFilters('nav.account.dot_indicators', [ +$navAccountDotsPayload = HookDispatcher::applyFilters('nav.account.dot_indicators', [ 'dots' => [], 'app_root' => $app_root, 'user_id' => $userId ?? 0, diff --git a/app/templates/theme.php b/app/templates/theme.php index 8297bf4..5ea0a2f 100644 --- a/app/templates/theme.php +++ b/app/templates/theme.php @@ -9,8 +9,9 @@ * - screenshotUrl: URL to the screenshot (or null if not available) * - isActive: Whether this is the current theme */ -?> - diff --git a/public_html/index.php b/public_html/index.php index fae56a6..b4c290e 100644 --- a/public_html/index.php +++ b/public_html/index.php @@ -11,6 +11,21 @@ * Version: 0.4.1 */ +// Load application classes +use App\App; +use App\Core\ConfigLoader; +use App\Core\DatabaseConnector; +use App\Core\HookDispatcher; +use App\Core\LogThrottler; +use App\Core\Maintenance; +use App\Core\MiddlewarePipeline; +use App\Core\MigrationRunner; +use App\Core\NullLogger; +use App\Core\PluginManager; +use App\Core\PluginRouteRegistry; +use App\Core\Router; +use App\Helpers\Theme; + // error reporting, comment out in production //ini_set('display_errors', 1); //ini_set('display_startup_errors', 1); @@ -23,9 +38,6 @@ define('APP_PATH', __DIR__ . '/../app/'); require_once APP_PATH . 'core/ConfigLoader.php'; require_once APP_PATH . 'core/App.php'; require_once APP_PATH . 'core/PluginRouteRegistry.php'; -use App\Core\ConfigLoader; -use App\App; -use App\Core\PluginRouteRegistry; // Load the core datetime helper for all user-facing dates/times require_once APP_PATH . 'helpers/datetime.php'; @@ -57,8 +69,6 @@ App::set('app_root', $app_root); // Initialize HookDispatcher and plugin system require_once APP_PATH . 'core/HookDispatcher.php'; require_once APP_PATH . 'core/PluginManager.php'; -use App\Core\HookDispatcher; -use App\Core\PluginManager; // Global allowed URLs registration register_hook('filter_allowed_urls', function($urls) { @@ -106,7 +116,6 @@ require_once APP_PATH . 'classes/session.php'; // Initialize themes system after session is started require_once APP_PATH . 'helpers/theme.php'; -use app\Helpers\Theme; Session::startSession(); @@ -119,7 +128,7 @@ if (!isset($page)) { // Middleware pipeline for security, sanitization & CSRF require_once APP_PATH . 'core/MiddlewarePipeline.php'; -$pipeline = new \App\Core\MiddlewarePipeline(); +$pipeline = new MiddlewarePipeline(); App::set('middleware.pipeline', $pipeline); $pipeline->add(function() { // Apply security headers @@ -143,7 +152,6 @@ require APP_PATH . 'includes/errors.php'; // Connect to DB via DatabaseConnector (before loading plugins so their hooks are available) require_once APP_PATH . 'core/DatabaseConnector.php'; -use App\Core\DatabaseConnector; $db = DatabaseConnector::connect($config); App::set('db', $db); @@ -178,7 +186,6 @@ $allowed_urls = PluginRouteRegistry::injectAllowedPages($allowed_urls); // Dispatch routing and auth (after plugins added public/allowed entries) require_once APP_PATH . 'core/Router.php'; -use App\Core\Router; $currentUser = Router::checkAuth($config, $app_root, $public_pages, $page); if ($currentUser === null && $validSession) { $currentUser = Session::getUsername(); @@ -186,11 +193,9 @@ if ($currentUser === null && $validSession) { // Initialize Log throttler require_once APP_PATH . 'core/LogThrottler.php'; -use App\Core\LogThrottler; // Logging: default to NullLogger, plugin can override require_once APP_PATH . 'core/NullLogger.php'; -use App\Core\NullLogger; $logObject = new NullLogger(); App::set('logger', $logObject); @@ -218,7 +223,7 @@ try { $migrationsDir = APP_PATH . '../doc/database/migrations'; if (is_dir($migrationsDir) && $userId !== null && $page !== 'login') { require_once APP_PATH . 'core/MigrationRunner.php'; - $runner = new \App\Core\MigrationRunner($db, $migrationsDir); + $runner = new MigrationRunner($db, $migrationsDir); if ($runner->hasPendingMigrations()) { $pending = $runner->listPendingMigrations(); $msg = 'Database schema is out of date. There are pending migrations. Run "php scripts/migrate.php up" or use the Admin center'; @@ -276,7 +281,7 @@ if (!$pipeline->run()) { // Maintenance mode: show maintenance page to non-superusers try { require_once APP_PATH . 'core/Maintenance.php'; - if (\App\Core\Maintenance::isEnabled()) { + if (Maintenance::isEnabled()) { $isSuperuser = false; if ($validSession && isset($userId) && isset($userObject) && method_exists($userObject, 'hasRight')) { // user 1 is always superuser per implementation, but also check explicit right @@ -287,15 +292,15 @@ try { // Advise clients to retry after 10 minutes (600 seconds; configure here) header('Retry-After: 600'); // Show themed maintenance page - \App\Helpers\Theme::include('page-header'); - \App\Helpers\Theme::include('page-menu'); + Theme::include('page-header'); + Theme::include('page-menu'); include APP_PATH . 'templates/maintenance.php'; - \App\Helpers\Theme::include('page-footer'); + Theme::include('page-footer'); ob_end_flush(); exit; } else { // Superusers bypass maintenance; show a small banner - $maintMsg = \App\Core\Maintenance::getMessage(); + $maintMsg = Maintenance::getMessage(); $custom = 'Maintenance mode is enabled.'; if (!empty($maintMsg)) { $custom .= ' ' . htmlspecialchars($maintMsg) . ''; @@ -314,7 +319,7 @@ if ($validSession && isset($userId) && isset($userObject) && is_object($userObje try { $dbTheme = $userObject->getUserTheme((int)$userId); if ($dbTheme) { - \App\Helpers\Theme::setCurrentTheme($dbTheme, false); + Theme::setCurrentTheme($dbTheme, false); } } catch (\Throwable $e) { // Non-fatal if theme load fails @@ -357,10 +362,10 @@ if ($page == 'logout') { Feedback::flash('LOGIN', 'LOGOUT_SUCCESS'); // Use theme helper to include templates - \App\Helpers\Theme::include('page-header'); - \App\Helpers\Theme::include('page-menu'); + Theme::include('page-header'); + Theme::include('page-menu'); include APP_PATH . 'pages/login.php'; - \App\Helpers\Theme::include('page-footer'); + Theme::include('page-footer'); } else { // if user is logged in, we need user details and rights @@ -444,36 +449,36 @@ if ($page == 'logout') { ob_end_flush(); exit; } else { - \App\Helpers\Theme::include('page-header'); - \App\Helpers\Theme::include('page-menu'); + Theme::include('page-header'); + Theme::include('page-menu'); if ($validSession) { - \App\Helpers\Theme::include('page-sidebar'); + Theme::include('page-sidebar'); } PluginRouteRegistry::dispatch($page, $routeContext); - \App\Helpers\Theme::include('page-footer'); + Theme::include('page-footer'); } } elseif (in_array($page, $allowed_urls)) { // The page is from a core controller - \App\Helpers\Theme::include('page-header'); - \App\Helpers\Theme::include('page-menu'); + Theme::include('page-header'); + Theme::include('page-menu'); if ($validSession) { - \App\Helpers\Theme::include('page-sidebar'); + Theme::include('page-sidebar'); } if (file_exists(APP_PATH . "pages/{$page}.php")) { include APP_PATH . "pages/{$page}.php"; } else { include APP_PATH . 'templates/error-notfound.php'; } - \App\Helpers\Theme::include('page-footer'); + Theme::include('page-footer'); } else { // The page is not in allowed URLs - \App\Helpers\Theme::include('page-header'); - \App\Helpers\Theme::include('page-menu'); + Theme::include('page-header'); + Theme::include('page-menu'); if ($validSession) { - \App\Helpers\Theme::include('page-sidebar'); + Theme::include('page-sidebar'); } include APP_PATH . 'templates/error-notfound.php'; - \App\Helpers\Theme::include('page-footer'); + Theme::include('page-footer'); } } diff --git a/themes/modern/views/page-footer.php b/themes/modern/views/page-footer.php index 2213783..8c772b9 100644 --- a/themes/modern/views/page-footer.php +++ b/themes/modern/views/page-footer.php @@ -1,3 +1,7 @@ +
@@ -17,7 +21,7 @@
- + diff --git a/themes/modern/views/page-header.php b/themes/modern/views/page-header.php index 55de508..7915411 100644 --- a/themes/modern/views/page-header.php +++ b/themes/modern/views/page-header.php @@ -1,3 +1,7 @@ + @@ -15,7 +19,7 @@ - + diff --git a/themes/retro/views/page-footer.php b/themes/retro/views/page-footer.php index 21555cf..ecd2f65 100644 --- a/themes/retro/views/page-footer.php +++ b/themes/retro/views/page-footer.php @@ -1,3 +1,7 @@ +
@@ -17,7 +21,7 @@
- + diff --git a/themes/retro/views/page-header.php b/themes/retro/views/page-header.php index 55de508..7915411 100644 --- a/themes/retro/views/page-header.php +++ b/themes/retro/views/page-header.php @@ -1,3 +1,7 @@ + @@ -15,7 +19,7 @@ - +