Script Consolidation Progress
Posted on 07 Nov '25 filed under Update
After extensive testing and refinement, the long-standing issue with multiple categories has been fully resolved. This improvement now allows the use of multiple favorite fields without errors and enables members to update several favorites as desired.
The update required modifications across multiple files, significant code adjustments, and cleanup to ensure stable performance. Comprehensive testing has been completed to verify that the affected areas function correctly. Further script improvements are planned, but for now, the multi-favorites feature for both the join and update forms is fully operational.
We are currently in the process of migrating content, with additional checks and testing underway before the new public link is released. Further updates regarding the transition will be shared later this month.
The update required modifications across multiple files, significant code adjustments, and cleanup to ensure stable performance. Comprehensive testing has been completed to verify that the affected areas function correctly. Further script improvements are planned, but for now, the multi-favorites feature for both the join and update forms is fully operational.
-
Listing Admin Updates: Multi-Favorites Fix
- Database: normalized existing rows and changed mExtra to VARCHAR(255) NOT NULL DEFAULT '' (removed the "None" sentinel).
- members.php: removed logic that wrote the 'NONE' sentinel; now writes empty-string or pipe-delimited favourites and preserves existing values when appropriate.
- fun-members.inc.php (newfave): made the select render an explicit empty-value placeholder (<option value="">— Leave Unchanged —</option>) and stopped forcing required on update controls so browsers submit "" for placeholder.
- show-update.php:
- Added robust placeholder detection and merge logic that loads the current mExtra, merges submitted slots with existing slots (per-index), treats placeholder as "leave unchanged", and treats empty text inputs as explicit erase.
- Added a strict guard so mExtra is only included in the UPDATE when the merged result actually differs or when an explicit erase is requested.
- Inserted conditional UPDATE building that omits mExtra entirely when no change is needed.
- Temporarily enabled DEBUG logging to inspect $_POST and the generated SQL during testing.
- Testing: cleared cache and verified that updating a single favourite preserves the other slots, leaving placeholder preserves existing values, and explicit erase clears the field.
We are currently in the process of migrating content, with additional checks and testing underway before the new public link is released. Further updates regarding the transition will be shared later this month.


