<ul>
<li>CRITICAL: domain_controlpanel admin_path for ItemID=2 was set to "/events/admin/" — wrong path causing Fatal require_once failure on every page load. Fixed: updated DB to "EventsManager/inc_event_listing_manager.php".</li>
<li>CRITICAL: EventsController.php addEvent() and updateEvent() — extract($request) with no defaults for $LocationMap, $mediaURL1–3, $EventPrice, $Feature1–5, $EventDescShort, $EventLocation, $groupid_fk, $hasMeet, $radioInline_location, $isAdmin, $rsvp, $EventID, and image/file update flags. All generated PHP Warnings. Fixed: added ?? defaults block after each extract().</li>
<li>CRITICAL: EventsController.php — $_FILES["event_images"]["error"] and $_FILES["event_files"]["error"] accessed with [0] index without is_array() guard — caused "Trying to access array offset on value of type int" Warning on every non-multipart call. Fixed: added is_array() guard on all 6 occurrences.</li>
<li>CRITICAL: EventsController.php validateFileUpload() and uploadEventFile() — foreach() on $_FILES[$filetype]["name"] without array check causing "foreach() argument must be of type array|object, string given" Fatal. Fixed: added is_array() guard before foreach in both methods.</li>
<li>HIGH: inc_event_listing_manager.php — operator precedence bug: $_SESSION["super_admin"] ?? false == 1 evaluates as $_SESSION["super_admin"] ?? (false == 1) = false always. Fixed: (($_SESSION["super_admin"] ?? false) == 1).</li>
<li>HIGH: inc_event_listing_manager.php — $_SESSION["rid"] accessed without null guard. Fixed: ?? null.</li>
<li>HIGH: list_events_data.php — DateTimeZone constructor called with full string like "America/New_York - (UTC-05:00) New York" causing Fatal Uncaught Exception. Fixed: trim(explode(" - ", ...)[0]) to extract only TZ identifier + try/catch fallback.</li>
<li>HIGH: list_events_data.php — $rsDomainid and $rsDomain undefined in include context (used in HTML button data attributes). Fixed: added ?? "" defaults at top of file.</li>
<li>MEDIUM: event_file_related_modal.php — $_REQUEST["domainid"] undefined array key used in 4 hidden input fields. Fixed: added ?? "" guard at top of file.</li>
<li>MEDIUM: event_modal.php — $liveMeet["display"] undefined array key. Fixed: ?? 0 null coalescing guard.</li>
<li>MEDIUM: events.controller.php — $EventPrice, $public, $rsvp, $network_id, $params, and settings vars missing from defaults block after extract(). Added all missing ?? defaults.</li>
<li>MEDIUM: events.controller.php — count($newrsvps[0|1|2]) on potentially null/missing key causing Fatal TypeError. Fixed: ?? [] fallbacks.</li>
<li>MEDIUM: EventsController.php — $_SESSION["activeacctid"] used without ?? guard in updateEvent notification loop. Fixed: ?? ACTVACCTID.</li>
<li>MEDIUM: EventsController.php — $realtime_notification possibly undefined when no users exist. Fixed: $realtime_notification = $realtime_notification ?? array() before json_encode in both addEvent and updateEvent.</li>
<li>JS: custom_js.php — 8 bare JSON.parse(res) calls (reloadEventsCategoriesTable, reloadEventsTable, deleteEvent, deleteCateg, addCat, updateCat, eventform submit, saveSettings) with no try/catch — any PHP warning prepended to JSON would crash silently leaving swal stuck. Fixed: all wrapped in try/catch with swal error fallback.</li>
<li>SPEED: domain_tbl_eventlistings — no index on sitelinkid_fk, siteidkey_fk, EventCategoryID_fk, groupid_fk. EXPLAIN showed type=ALL (full scan 143 rows). Added 4 indexes. Post-fix: type=ref rows=5.</li>
<li>SPEED: domain_tbl_eventcategory — no index on sitelinkid_fk, siteidkey_fk, groupid_fk. EXPLAIN showed type=ALL (full scan 73 rows). Added 3 indexes. Post-fix: type=ref rows=3.</li>
</ul>