EduTrack Learners module source audit - 17 October 2026

Source: previously generated EduTrack_Learners_Complete_View_Restored.zip
Coverage: all PHP files in uploaded Learners package, referenced per-page layout files, PHP syntax, and static inspection of OTP page.

IMPORTANT: This is a STATIC source audit. No live server, SMTP, browser, database or OTP delivery was tested. No promise of zero runtime errors is possible.

Findings:
- Multiple page-specific stylesheets use hard-coded margin-left:240px and inconsistent content-wrapper selectors.
- The prior module-ui.php only defined theme variables for five main-page classes; Verify ID and many subpages were excluded.
- Verify ID has a separate stylesheet but lacked restored card/typography styles.
- Verification PHP checks role, request ID, pending status, expiry and OTP; a nonpending request cannot be approved by simply altering CSS.
- The displayed "Loading..." may originate from the shared includes/loader.php, which is not contained in this archive and could not be checked.
- Updated CSS-loader content scope and Verify ID page CSS; no user or learner data changes and no OTP authorization edits.

PHP source files checked: 62
PHP syntax errors: 0
Pages with module-ui loader: 38
Pages missing referenced per-page CSS: 0

Pages and CSS files:
 - import.php => import-0.css (exists=True)
 - view.php => view-0.css (exists=True)
 - tasks.php => tasks-0.css (exists=True)
 - progress.php => progress-0.css (exists=True)
 - index.php => index-0.css (exists=True)
 - edit.php => edit-0.css (exists=True)
 - announcements.php => announcements-1.css (exists=True)
 - settings.php => settings-0.css (exists=True)
 - portal.php => portal-2.css (exists=True)
 - add.php => add-0.css (exists=True)
 - certificates.php => certificates-0.css (exists=True)
 - results.php => results-0.css (exists=True)
 - finance.php => finance-0.css (exists=True)
 - evidence.php => evidence-0.css (exists=True)
 - profile.php => profile-0.css (exists=True)
 - delete.php => delete-0.css (exists=True)
 - statements.php => statements-0.css (exists=True)
 - verify-id-change.php => verify-id-change-0.css (exists=True)
 - induction.php => induction-0.css (exists=True)
 - documents/index.php => documents-index-1.css (exists=True)
 - eisa/index.php => eisa-index-0.css (exists=True)
 - communication/index.php => communication-index-0.css (exists=True)
 - sessions/view.php => sessions-view-0.css (exists=True)
 - sessions/index.php => sessions-index-0.css (exists=True)
 - poe/index.php => poe-index-0.css (exists=True)
 - poe/view-logbook.php => poe-view-logbook-1.css (exists=True)
 - logbook/index.php => logbook-index-1.css (exists=True)
 - programme/view.php => programme-view-0.css (exists=True)
 - programme/lesson.php => programme-lesson-0.css (exists=True)
 - programme/topic.php => programme-topic-0.css (exists=True)
 - programme/index.php => programme-index-3.css (exists=True)
 - programme/module-feedback.php => programme-module-feedback-0.css (exists=True)
 - invoices/index.php => invoices-index-0.css (exists=True)
 - fisa/index.php => fisa-index-0.css (exists=True)
 - my-teacher/index.php => my-teacher-index-1.css (exists=True)
 - reports/index.php => reports-index-0.css (exists=True)
 - reports/certificate_sor.php => reports-certificate_sor-0.css (exists=True)
 - reports/enrollment_confirmation.php => reports-enrollment_confirmation-1.css (exists=True)

Syntax errors:
none

SAFE INSTALL:
1. Back up entire live modules/learners folder and retain a rollback ZIP.
2. Compare your live files with this source-based package before overwriting anything.
3. Upload the package only to staging and test page routes, responsive breakpoints, forms, OTP and live import.
4. Inspect includes/loader.php and shared header/sidebar styles if Loading... persists.
5. After staging tests pass, publish to production with a rollback plan.
