| Jifty-DBI documentation | Contained in the Jifty-DBI distribution. |
Jifty::DBI::Filter::base64 - Encodes data as base64
This filter allow you to store arbitrary data in a column of type 'text'.
If value is defined, then encodes it using encode_base64 in MIME::Base64 after passing it through encode_utf8 in Encode. Does nothing if value is not defined.
If value is defined, then decodes it using decode_base64 in MIME::Base64, otherwise do nothing.
| Jifty-DBI documentation | Contained in the Jifty-DBI distribution. |
package Jifty::DBI::Filter::base64; use warnings; use strict; use base qw|Jifty::DBI::Filter|; use Encode qw(encode_utf8 is_utf8); use MIME::Base64 ();
sub encode { my $self = shift; my $value_ref = $self->value_ref; return unless defined $$value_ref; $$value_ref = MIME::Base64::encode_base64( is_utf8($$value_ref) ? encode_utf8($$value_ref) : $$value_ref ); return 1; }
sub decode { my $self = shift; my $value_ref = $self->value_ref; return unless defined $$value_ref; $$value_ref = MIME::Base64::decode_base64($$value_ref); }
1;