=== Meta Boxes Library === Author: Fetch Designs & DLS Software Studios Version: 1.1.1 == Installation == This library is for use inside WordPress plugins or themes. It is recommended that you update the main class name from `DLS_Meta_Boxes` to something more specific to your plugin or theme to prevent conflicts if used in multiple places in the same WordPress install. Ex: `DLSPET_Meta_Boxes` == Changelog == = 2.0.0 = * [Breaking Change] Removed the field types, hooks and AJAX handlers listed below. Code that registers these field types or uses these hooks must be updated or will no longer work. * Removed the unused `show_column` admin column, quick edit and bulk edit support, including the `dlsmb_save_bulk_edit` AJAX handler * Removed the unused `image` field type, its `dlsmb_image_data` AJAX handler and the media library tab filter * Removed the unused Google Maps `map` field type, `addMapJs()` and `assets/google-map.js` * Removed the bundled jQuery UI datepicker fallback since core always registers it * Removed the unused `timepicker` and `datetimepicker` field types and the bundled jQuery Timepicker Addon, along with the `dlsmb_timepicker_args` and `dlsmb_datetimepicker_args` filters = 1.1.1 = * Fixed checkbox meta deletion on save_post to check if meta exists in database first, preventing deletion during programmatic post creation with meta_input * Hardened the bulk edit AJAX handler with nonce verification and capability checks * Hardened `capturePreviewMetaToTransient()` with nonce verification and an `edit_post` capability check, preventing unauthenticated preview transient poisoning * Escaped select/multiselect field output (`data-placeholder` attribute and option values/labels) in `_displayInput()` to prevent stored XSS * Escaped remaining field label and option output in `_displayField()`/`_displayInput()` * Updated assets to use filetime rather than version to prevent caching issues = 1.1.0 = * Added transient-based Preview support * Added `show_when` field option for conditional visibility * Added `initial_value` field option to pre-populate fields with no saved value * Replaced Chosen jQuery library with Tom Select for multiselect fields * Fixed taxonomy tab toggle ("All" / "Most Used") * Applied PSR-12 formatting and PHPStan compliance cleanup = 1.0.0.5 = * Fixed multiselect and checkboxes in_array to check in strict mode to prevent values like "0" from causing issues * Fixed multiselect and checkboxes to allow numeric values by converting to a string when checking is_array now that strict mode is enabled * Fixed translations to include escape for improved security * Fixed checkbox label to remove duplicate opening label tag * Added field 'wrap_class' to allow appending to class attribute string on parent wrapping element * Fixed bug where textarea field id="" didn't match label for="" * Fixed issue with custom checkboxes fields not selecting the right box when clicking on the label * Fixed deprecation notice with PHP 8 due to invalid type of null on str_replace() $subject = 1.0.0.4 = * Added 'order' field with sorting * Added classed on TD and TH of repeater fields to improve selectors * Fixed contrast of sort icon on tasks in edit sheet grid * Updated translations to include escape for improved security = 1.0.0.3 = * Fixed performance issue by removing check for external jQuery UI file * Fixed Checkboxes from displaying dropdown as well * Fixed repeater output from assuming it is saved in separate metafields = 1.0.0.2 = * Fixed issue with JS failing when using deprecated .live = 1.0.0.1 = * Fixed multi-checkbox fields to use key as meta_value and sanitized dynamic ID * Fixed empty checkbox fields from saving as NULL = 1.0 = * Fixed fields not sent (like checkbox) where value is not reset on field loop * Fixed issue with repeater fields sometimes not incrementing properly when being added. * Added ability to add custom actions on repeaters * Added ability to override the default repeater output * Added filters: dlsmb_display_meta_field_value and dlsmb_update_post_metadata * Added 'dropdown' as field type (same as 'select') * Updated repeater JS logic * Updated line endings to use platform agnostic PHP_EOL constant = 0.8 = * Added JS fix on adding repeaters = 0.7 = * Added box_label_override which allows overriding the label on a single checkbox = 0.6.1 = * Added Google Map field