Systemstatus

Genereret: 30. July 2026 kl. 16:40:05 · Nexdoc Systems · PackTrack v4.64.0
Alle systemer kører normalt
Sidst kontrolleret: 16:40:05

Aktuel version

Version
v4.64.0
Udgivet
2026-06-29
System
PackTrack · Nexdoc Systems

Systemtjek

PHP version 8.5.9
AES-256-GCM Tilgængelig
Argon2id Understøttet
OpenSSL OpenSSL 1.1.1k FIPS 25 Mar 2021
data/ skrivbar Ja ✓
settings.json Fundet ✓
HTTPS Aktiv

Versionshistorik

v4.54.0
2026-06-22
PWA: favicon som ikon + leverandør-admin som app. (1) PWA-app-ikonet bruger nu brandets FAVICON (admin → Brand) i stedet for logoet — favicons er kvadratiske og egner sig bedre som app-ikon; centreres på et hvidt kvadrat i 192/512 + maskable. Intet favicon (eller SVG) → genereret farve-ikon. (2) Leverandør-admin (/admin/) kan nu installeres som en rigtig skrivebords-/app-genvej: eget manifest (scope /admin/, starter på admin-dashboardet, navn '<brand> Admin'), service worker og apple-meta — så I ikke skal åbne en browser. Ikon-genereringen er trukket ud i en fælles src/Pwa.php, som både tenant-scanneren og admin-PWA'en bruger (ét sted bestemmer app-ikonet). Validering: php -l + node --check + render-test af ikon-helper (favicon + fallback, gyldige PNG'er) OK. Bemærk: afinstallér/geninstallér app'en efter deploy for at nyt ikon/navn slår igennem.
v4.53.0
2026-06-22
PWA-forbedringer (3 ting). (1) Moduler åbner nu ALTID i et nyt vindue/skærm i stedet for samme vindue — så kunde-admin forbliver åben i det første vindue. Luk modulvinduet og du er tilbage i admin. På desktop-PWA bliver det et nyt standalone app-vindue; på mobil en ny fane (appen bliver liggende på admin). (2) PWA-navnet er nu et FAST brand-navn (fra admin → Brand → systemnavn, standard PackTrack) uanset enhed eller hvilken side man installerer fra — ikke længere 'Admin'/'Scan'. (3) PWA-app-ikonet bruger nu dit uploadede brand-logo (admin → Brand), centreret på et hvidt kvadrat i de nødvendige størrelser (192/512 + maskable). Er der intet logo (eller et SVG), falder det tilbage til det genererede farve-ikon. Validering: php -l + node --check + render-test af ikon-kompositionen (gyldige PNG'er) OK. Bemærk: efter deploy skal app'en afinstalleres og geninstalleres for at det nye navn/ikon slår igennem.
v4.52.0
2026-06-22
Forside: den øverste nav-knap (ved menuen) er ændret fra 'Kom i gang' til 'Log ind' og peger nu på kundesearch.php, så kunder nemt kan finde vej til deres butik. Hero-knappen og pris-knapperne peger stadig på signup.php, så nye kunder fortsat kan oprette sig. Nav-knappen er også synlig på mobil.
v4.51.0
2026-06-22
Ny: kundesearch.php — 'Find din pakkeshop' (offentlig genvejsside). Til kunder der har mistet deres unikke login-link (slettet mail, nulstillet browser/computer). Siden viser leverandørens brand-logo (fra Indstillinger → Branding) i ca. 2,5 sek., og derefter et søgefelt: kunden skriver sit butiksnavn (live-søgning fra mindst 3 tegn), vælger sin butik og trykker 'Log ind' → sendes til butikkens login-side (/tenant/index.php?t=<id>). Selvstændig fil: håndterer både live-søgningen (JSON) og selve siden. Branding (logo, systemnavn, primærfarve) hentes fra den globale brand-konfiguration. Sikkerhed: at finde en butik afslører kun dens login-side — adgang kræver stadig adgangskode/PIN; søgning kræver mindst 3 tegn og returnerer højst 10 resultater, så hele butikslisten ikke kan dumpes. Validering: php -l + node --check + funktionel test af søge-logikken OK.
v4.50.0
2026-06-22
Samlet auto-fakturering + opstartsdato-model (forud). To ting: (1) Abonnements-planlægning bygger nu på OPSTARTSDATO + afregningsinterval i stedet for en 'næste fornyelse'-dato man skal huske. Systemet beregner og VISER 'Næste faktura sendes: <dato>' direkte i kundedetaljerne. Fakturering sker FORUD — første faktura på opstartsdatoen, derefter automatisk hvert interval (måned/kvartal/halvår/år). Gælder både enkelt-kunder og samlet. (2) Ny 'Samlet auto-fakturering' pr. ejer (ét CVR, flere lokationer): slås til på ejerens hovedbutik med opstartsdato + interval, hvorefter cron dagligt tjekker forfald og sender ÉN samlet faktura forud for alle ejerens butikker (kvartal = 3× hver linje). Cron springer de enkelte butikker over for disse ejere, så der ALDRIG opstår dubletter. Idempotent via last_billed_cycle. Genbrug: den samlede faktura-logik er trukket ud i Subscription::createConsolidatedInvoice, som BÅDE den manuelle 'Samlet faktura'-knap og cron nu bruger — og den bygger linjer pr. butik via den centrale Modules::invoiceLines, så alle regler (plan, tilpasset pris, moduler) følges ét sted. Validering: php -l + node --check + ende-til-ende test (3-butiks ejer, kvartal: forfald→1 faktura med 3 sektioner=2.872,80 ekskl., idempotens, forud-cyklus) OK.
v4.49.0
2026-06-22
Tilpasset abonnementspris pr. kunde. Nyt felt 'Tilpasset abonnementspris (kr/md)' i leverandør admin → Pakkeshops → rediger kunde, lige under 'Maks. antal butikker'. Når sat, overskriver det planens grundpris på fakturaen — tilvalgte moduler lægges oveni præcis som hidtil; tom = brug planens normale pris. Designet til individuelle Enterprise-tilbud, hvor planen er sat til 0, men hvor en fast aftalt pris skal på fakturaen i stedet for 0. Genbruger den EKSISTERENDE faktureringslogik: feltet kobles blot til Modules::effectiveBasePrice's _base-override, som alle tre faktura-paths (enkelt, konsolideret, cron) allerede bruger via Modules::invoiceLines — så intet i selve faktureringen blev ændret, og den virker også for samlede multi-shop-fakturaer (pris pr. butik). Værdien er ekskl. moms, samme format som planpriserne. Validering: php -l + node --check + funktionel test af hele kæden (Enterprise 0→800, Pro rabat) OK.
v4.48.0
2026-06-22
Multi-shop — butiksgrænse pr. kunde. Leverandøren kan nu sætte en grænse for hvor mange butikker en kunde må have. Nyt felt 'Maks. antal butikker i alt' i leverandør admin → Pakkeshops → rediger kunde (under Multi-shop-kortet); 0 eller tomt = ubegrænset (bevarer nuværende adfærd). Grænsen gælder pr. kunde (email-gruppe) og propageres automatisk til alle ejerens butikker, så den er ens uanset hvilken butik kunden er logget ind på. Håndhæves server-side i create_my_shop (kan ikke omgås), og vises i kunde-admin: butiks-skifteren viser 'X af Y butikker brugt', og 'Ny butik'-knappen erstattes af en 'grænse nået'-besked når loftet er ramt. Nye butikker arver grænsen. Genbruger eksisterende multishop-endpoints (list_my_shops/create_my_shop) — intet nyt endpoint. Validering: php -l + node --check + funktionel test af håndhævelsen OK.
v4.47.0
2026-06-22
PWA — kundeadmin som ægte app + bliver-i-appen-navigation. (1) Kundeadmin (tenant-dashboardet) har nu sit eget PWA-manifest (standalone, scope /tenant/, starter på dashboardet) plus iOS-meta (apple-mobile-web-app-capable, apple-touch-icon, theme-color) og service worker — så den kan installeres som en rigtig app der dækker HELE tenant-området. Manifest/ikon/SW genbruger mobilens eksisterende PWA-endpoints (manifest parametriseret med home=admin), så intet nyt endpoint blev oprettet. (2) Navigationen til kundedisplay, label-køb, terminal, mobil og station brugte target=_blank/window.open, som altid åbner browseren og dermed sprang ud af appen. De er nu PWA-bevidste: i en installeret app navigeres i samme vindue (man bliver i appen), mens en almindelig browser stadig åbner ny fane (bevarer multiskærm på desktop, fx kundedisplay på en anden skærm). (3) Krydslinks: knap fra Selvbetjening → Køb label og fra Køb label → Selvbetjening. Validering: php -l + node --check på alle berørte filer + funktionel test af manifest-JSON OK.
v4.46.0
2026-06-22
Leverandør admin — 'Nulstil testdata'-knap (Oprydning). Ny sikker funktion til at rydde alle testdata før go-live: sletter uigenkaldeligt alle kunder + deres data (pakker, køer, medarbejdere, pickups), arkiverede kunder, fakturaer, label-salg, supportsager, API-nøgler, webhooks, audit-log, VIES-log og midlertidige spærringer. BEHOLDER bevidst: settings.json (tema/planer/moduler/cron/branding), admin.json (login), users.json (admin-team) og founder.json. Dashboard-tal (MRR/ÅRR/snit/faktureret) nulstilles automatisk, da de beregnes ud fra disse data. Sikkerhed: kun superadmin (*), kræver at man skriver bekræftelsesordet NULSTIL + en ekstra bekræftelses-dialog. Genbruger den eksisterende sti-sikrede rrmdir() i Database (ny resetTestData()-metode), så intet slettes uden for data-stien. Handlingen logges i audit EFTER rydningen, så posten bevares. Filer slettes (ikke tømmes) og genskabes tomme ved næste skrivning. Validering: php -l + node --check + funktionel test (beholder/sletter korrekt) OK.
v4.45.0
2026-06-22
Kundeskærm (display) — lyst tema. Den sidste skærm — kundedisplayet der viser kønummer og kald — er skiftet til lyst design. Skærmen er fuldt variabel-drevet, så det krævede kun at lægge den neutrale base om til faste lyse farver; accentfarverne og fontene styres fortsat fra Indstillinger → Tema, og det store kønummer står i accentfarven. Ingen hardkodet hvid tekst. Hermed kører HELE systemet lyst og ensartet: leverandør admin, kø-forside, terminal, station, mobil, selvbetjening og display — alle med samme lyse neutral-palet og dine tema-farver som accent. Validering: php -l + node --check OK.
← Nyere Side 2 af 25 Ældre →

Spørgsmål: hello@packtrack.dk · +45 49 90 15 00