Handle zone_name hooks in PrettyBlocks admin and import/export #781
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
prettyblockstable may store hook identifiers in thezone_namecolumn which represents hook names rather than numericid_hookvalues.zone_nameagainst thehooktable and warn or reject entries when the referenced hook does not exist.Description
controllers/admin/AdminEverBlockPrettyblockController.phpadd support forzone_nameby selectingCOALESCE(h.name, a.zone_name) AS hook_name, joining thehooktable onh.name = a.zone_name, and setting the correcthookFilterKey, and addnotifyMissingHooksForZoneName()to warn about missing hooks.src/Service/EverblockPrettyBlocksImportExport.phpextendresolvePrettyblocksHookField()to detectzone_nameand prefer populatedzone_namevalues, and addhookExistsByName()helper.exportPrettyblocks()to validate the selected hook exists and use a dynamic WHERE clause based on the resolved hook column, and updategetPrettyblocksHookOptions()to only return hooks that exist in thehooktable.importPrettyblocks()to skip rows whosehook/zone_namevalue has no matchinghookrecord and collect/report the list of skipped hook names.Testing
Codex Task