post_type==='page'&&$p->post_status==='publish'&&get_privacy_policy_url()?$p:null; } public static function required():bool {return (bool)get_option('abece_booking_registration_privacy_acknowledgement',false)&&self::policy()!==null;} public static function overview():array {return ['acknowledgement_required'=>(bool)get_option('abece_booking_registration_privacy_acknowledgement',false),'acknowledgement_effective'=>self::required(),'registration_enabled'=>(bool)get_option('users_can_register',false),'registration_url'=>wp_registration_url(),'policy_available'=>self::policy()!==null];} public static function save(array $data):array { BookingValidator::fields($data,['acknowledgement_required']);$required=CatalogValidator::boolean($data['acknowledgement_required']??null,'acknowledgement_required');update_option('abece_booking_registration_privacy_acknowledgement',$required,false);return self::overview(); } public static function version(\WP_Post $p):string{return hash('sha256',$p->post_content);} }