<ul><li>Root cause: table/options/modal partial files are included from both global scope (page load) and class method scope (AJAX via AnnouncementController). PHP class methods do not inherit global variables — $domainsite_params, $announcementsmodid, etc. were undefined in AJAX path</li><li>Fixed table_announcements.php: added $domainsite_params/$announcementsmodid guards at top</li><li>Fixed table_seen_announcements.php: added $domainsite_params/$announcementsmodid/$filterByAnnouncement guards</li><li>Fixed table_categories.php: added $domainsite_params/$announcementsmodid/$categories guards; removed dead commented-out PHP expression $AnnouncementsItemID which was still evaluated inside HTML comment causing Warning on line 54</li><li>Fixed options/announcements.php: added $domainsite_params/$announcementsmodid guards</li><li>Fixed options/categories.php: added $domainsite_params/$announcementsmodid guards</li><li>Fixed modals/announcement_modal.php: added $domainsite_params/$announcementsmodid guards; guarded extract($authorData) with null check</li><li>Verified: 0 errors on page load + all 5 AJAX controller endpoints (getAnnouncementsTable, getAnnouncementCategoriesTable, getAnnouncementSeenTable, reloadAnnouncementOption, reloadCategoryOption)</li></ul>