---
phase: 04-post-launch-fixes
plan: 01
subsystem: ui
tags: [php, smarty, javascript, form]

requires: []
provides:
  - FAX field removed from public registration form and admin participant views
  - Surcharge checkboxes hidden when one-day-no-lodging option selected
  - PHP 7.2 count() warning fixed in FrontController

key-files:
  modified:
    - _rejestracja/template/partial/Index/Index.tpl
    - _rejestracja/Admin/template/partial/Calc/Reg.tpl
    - _rejestracja/Admin/template/partial/Calc/RegEdit.tpl
    - _rejestracja/core/class/FrontController.class.php

key-decisions:
  - "FAX kept in DB/model — only removed from templates; existing records preserved"
  - "showSelectDate() default-hides #conference_1; full-conference inline onclick restores it"

duration: ~15min
completed: 2026-04-28T00:00:00Z
---

# Phase 4 Plan 01: Post-Launch Fixes Summary

**FAX field removed from form and admin views; surcharge block now hidden when one-day-no-lodging is selected; PHP 7.2 count() warning fixed.**

## Performance

| Metric | Value |
|--------|-------|
| Duration | ~15 min |
| Completed | 2026-04-28 |
| Tasks | 2 completed |
| Files modified | 4 |

## Acceptance Criteria Results

| Criterion | Status | Notes |
|-----------|--------|-------|
| AC-1: FAX removed from public form | Pass | Div block with label + formField removed from Index.tpl |
| AC-2: FAX removed from admin views | Pass | Line removed from Reg.tpl and RegEdit.tpl |
| AC-3: Surcharges hidden on one-day-no-lodging | Pass | showSelectDate() hides #conference_1 by default; conference_fee_1 branch unchecks both checkboxes |
| AC-4: Surcharges shown on full conference | Pass | Full conference radio inline onclick still calls `$('#conference_1').show()` |

## Accomplishments

- Removed obsolete FAX field from public form (Index.tpl) — no longer collected or displayed to registrants
- Removed FAX display line from both admin participant views (Reg.tpl, RegEdit.tpl)
- Updated `showSelectDate()` JS: adds `$('#conference_1').hide()` as default reset, plus unchecks `#price_plus_room` and `#price_plus_person` when one-day-no-lodging is selected
- Fixed pre-existing PHP 7.2 compatibility warning in `FrontController::GenerateTitle()` — `count(null)` replaced with safe array cast

## Files Created/Modified

| File | Change | Purpose |
|------|--------|---------|
| `_rejestracja/template/partial/Index/Index.tpl` | Modified | Removed FAX field div; updated showSelectDate() JS |
| `_rejestracja/Admin/template/partial/Calc/Reg.tpl` | Modified | Removed Fax display line from participant list |
| `_rejestracja/Admin/template/partial/Calc/RegEdit.tpl` | Modified | Removed Fax display line from participant edit view |
| `_rejestracja/core/class/FrontController.class.php` | Modified | Fixed count(null) PHP 7.2 warning in GenerateTitle() |

## Decisions Made

| Decision | Rationale | Impact |
|----------|-----------|--------|
| Keep FAX in DB/model, remove only from templates | Preserves existing records; no migration needed | Historical FAX data remains accessible via DB direct query |
| Default-hide #conference_1 in showSelectDate(), keep inline .show() on full-conference radio | Minimal change — avoids refactoring working onclick; showSelectDate fires on change only | Clean toggle behaviour with fewest lines changed |

## Deviations from Plan

### Summary

| Type | Count | Impact |
|------|-------|--------|
| Auto-fixed | 1 | PHP 7.2 warning eliminated |
| Scope additions | 0 | — |
| Deferred | 0 | — |

**Total impact:** One opportunistic fix outside plan scope — essential (was causing visible red error on every page load).

### Auto-fixed Issues

**1. PHP 7.2 `count()` warning in FrontController**
- **Found during:** User reported red error immediately after APPLY
- **Issue:** `FrontController::GenerateTitle()` called `count($headers['title'])` where `$headers['title']` can be `null`; PHP 7.2+ raises E_WARNING
- **Fix:** `$t = isset($headers['title']) && is_array($headers['title']) ? $headers['title'] : [];`
- **Files:** `_rejestracja/core/class/FrontController.class.php:358`
- **Verification:** Error no longer appears on page load

## Next Phase Readiness

**Ready:**
- Milestone v0.2 complete — both client requests implemented
- No open deferred issues

**Concerns:**
- None

**Blockers:**
- None

---
*Phase: 04-post-launch-fixes, Plan: 01*
*Completed: 2026-04-28*
