ODF-lpOD
view release on metacpan or search on metacpan
lib/ODF/lpOD/Document.pm view on Meta::CPAN
sub set_user_fields
{
my $self = shift;
foreach my $f (@_)
{
$self->set_user_field($f->{name}, $f->{value}, $f->{type});
}
return $self->get_user_fields;
}
#-----------------------------------------------------------------------------
our $AUTOLOAD;
sub AUTOLOAD
{
my $self = shift;
$AUTOLOAD =~ /.*:(.*)/;
my $method = $1;
$method =~ /^([gs]et)_(.*)/;
my $action = $1;
my $object = $META{$2};
unless ($action && $object)
{
alert "Unsupported method $method";
return undef;
}
my $e = $self->get_element($object);
if (!defined $action)
{
alert "Unsupported action";
}
elsif ($action eq 'get')
{
return $e ? $e->get_text() : undef;
}
elsif ($action eq 'set')
{
unless ($e)
{
my $body = $self->get_body;
$e = $body->append_element($object);
}
my $v = shift;
if ($object =~ /date$/)
{
unless ($v)
{
$v = iso_date;
}
else
{
$v = check_odf_value($v, 'date');
}
}
elsif ($object =~ /creator$/)
{
$v =
$v = (scalar getlogin()) ||
(scalar getpwuid($<)) ||
$<
unless $v;
}
elsif ($object =~ /generator$/)
{
$v = $0 || $$ unless $v;
}
elsif ($object =~ /cycles$/)
{
unless ($v)
{
$v = $e->get_text() || 0;
$v++;
}
}
return $e->set_text($v);
}
return undef;
}
#-----------------------------------------------------------------------------
sub store
{
my $self = shift;
my %opt =
(
storage => { compress => FALSE, string => TRUE },
@_
);
return $self->SUPER::store(%opt);
}
#=============================================================================
package ODF::lpOD::Settings;
use base 'ODF::lpOD::XMLPart';
our $VERSION = '1.000';
use constant PACKAGE_DATE => '2010-12-24T13:52:14';
use ODF::lpOD::Common;
#-----------------------------------------------------------------------------
sub post_load {}
#=============================================================================
package ODF::lpOD::Manifest;
use base 'ODF::lpOD::XMLPart';
our $VERSION = '1.001';
use constant PACKAGE_DATE => '2010-12-30T08:34:26';
use ODF::lpOD::Common;
#-----------------------------------------------------------------------------
sub post_load {}
#-----------------------------------------------------------------------------
sub get_entries
{
my $self = shift;
my %opt = @_;
my @all_entries = $self->{context}->get_element_list
( run in 1.752 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )