89988efa3aaee03d03ae7cf106db5c9f3e45f9d7
[bse.git] / site / cgi-bin / modules / BSE / TB / MetaEntry.pm
1 package BSE::TB::MetaEntry;
2 use strict;
3 use base 'Squirrel::Row';
4
5 our $VERSION = "1.002";
6
7 sub table {
8   "bse_article_file_meta";
9 }
10
11 sub columns {
12   qw/id file_id name content_type value appdata owner_type/;
13 }
14
15 sub defaults {
16   content_type => "text/plain",
17   appdata => 1,
18 }
19
20 sub is_text {
21   $_[0]->content_type eq "text/plain"
22 }
23
24 sub is_text_type {
25   $_[0]->content_type =~ m(^text/);
26 }
27
28 sub value_text {
29   my ($self) = @_;
30
31   $self->is_text_type or return;
32
33   my $value = $self->value;
34   utf8::decode($value) or return;
35
36   return $value;
37 }
38
39 sub set_value_text {
40   my ($self, $value) = @_;
41
42   $self->is_text_type or return;
43
44   utf8::encode($value);
45
46   $self->set_value($value);
47
48   1;
49 }
50
51 1;