!gallery_is_expired($g))); $stats = array_map(fn($g) => gallery_stats($g['slug']), $galleries); $views = array_sum(array_column($stats, 'views')); $downloads = array_sum(array_column($stats, 'downloads')); // Computed from the galleries already loaded above rather than by rescanning: // this is the page an operator lands on after an update, so it is where a // pending migration should announce itself. $pending = array_filter($galleries, fn($g) => migrate_pending_for($g) !== []); admin_header('Dashboard'); flash_render(); ?>

Dashboard

galler a one-time data migration after the last software update. Run it now →
Showreel images Manage →
Galleries ( active) Manage →
Gallery views Per gallery →
Archive downloads Per gallery →
Front page Edit →
Data format Migration →

Tip: create a gallery under Galleries, then share its link with your client. Password and expiry date are optional per gallery.