ARS-Simple
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/ARS/Simple.pm view on Meta::CPAN
{
$self->_carp('get_SQL() - ars_GetListSQL error, sql=', $self->{sql}, "\nars_errstr=$ars_errstr\n");
}
return $m;
}
sub set_max_entries
{
my ($self, $max) = @_;
if (defined $max)
{
# Just use the value given
}
elsif ($self->{max_returns})
{
$max = $self->{max_returns};
}
elsif (defined $self->{reset_limit})
{
$max = 0; # Set for unlimited returns if we have a reset limit defined
}
if (defined $max)
{
unless(ars_SetServerInfo($self->{ctl}, &ARS::AR_SERVER_INFO_MAX_ENTRIES, $max))
{
$self->_carp("set_max_entries() - Could not set the AR_SERVER_INFO_MAX_ENTRIES to $max:\n$ars_errstr\n");
}
}
}
sub _reset_max_entries
{
my $self = shift;
if (defined $self->{reset_limit})
{
$self->set_max_entries($self->{reset_limit});
}
}
sub get_fields
{
my ($self, $form) = @_;
# Check required args
unless ($form)
{
$self->_carp("get_fields() requires the 'form' as a argument\n");
return;
}
my %fids = ars_GetFieldTable($self->{ctl}, $form);
$self->_carp("get_fields() error: $ars_errstr\n") unless (%fids);
return \%fids;
}
sub update_record
{
my ($self, $args) = @_;
my $eID = $args->{eid};
my $form = $args->{form};
my %lvp = %{$args->{lvp}};
# Map lvp to use FID rather than label
foreach my $label (keys %lvp)
{
if (defined $args->{lvp}{$label})
{
$lvp{$args->{lfid}{$label}} = $lvp{$label};
delete $lvp{$label};
}
else
{
carp("update_record - label '$label' not found in lfid hash");
}
}
my $rv = ars_SetEntry($self->{ctl}, $form, $eID, 0, %lvp);
# Check for errors
unless (defined $rv && $rv == 1)
{
# Update failed
my $msg = "update_record(eid=$eID, form=$form, ...) failed:\nars_errstr=$ars_errstr\nlvp data was:\n";
foreach my $label (sort keys %{$args->{lvp}})
{
$msg .= sprintf("%30s (%10d) ---> %s\n", $label, $args->{lfid}{$label}, defined($lvp{$args->{lfid}{$label}}) ? $lvp{$args->{lfid}{$label}} : '<undefined>');
}
carp($msg);
}
return $rv;
}
sub get_ctl
{
my $self = shift;
return $self->{ctl};
}
sub _carp
{
my $self = shift;
my $msg = join('', @_);
carp $msg;
$self->{log}->exp($msg) if ($self->{log});
}
sub _init
{
my ($self, $args) = @_;
# Did we have any of the persistant variables passed
my $k = '5Jv@sI9^bl@D*j5H3@:7g4H[2]d%Ks314aNuGeX;';
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.839 second using v1.00-cache-2.02-grep-82fe00e-cpan-b63e86051f13 )