kivitendo/SL/Chart.pm @ acd5752a
1c603341 | Jan Büren | package SL::Chart;
|
|
use strict;
|
|||
use SL::Form;
|
|||
use SL::DBUtils;
|
|||
sub list {
|
|||
$main::lxdebug->enter_sub();
|
|||
my $self = shift;
|
|||
my %params = @_;
|
|||
my $myconfig = \%main::myconfig;
|
|||
my $form = $main::form;
|
|||
my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
|
|||
my @values = ();
|
|||
my @where = ();
|
|||
if ($params{link}) {
|
|||
if ($params{link} =~ '%') {
|
|||
push @where, "c.link LIKE ?";
|
|||
push @values, $params{link};
|
|||
} else {
|
|||
push @where, "(c.link = ?) OR (c.link LIKE ?) OR (c.link LIKE ?) OR (c.link LIKE ?)";
|
|||
push @values, $params{link}, '%:' . $params{link} . ':%', '%:' . $params{link}, $params{link} . ':%';
|
|||
}
|
|||
}
|
|||
my $where = scalar @where ? 'WHERE ' . join(' AND ', map { "($_)" } @where) : '';
|
|||
my $query =
|
|||
qq|SELECT c.id, c.accno, c.description, c.link
|
|||
FROM chart c
|
|||
$where
|
|||
ORDER BY c.accno|;
|
|||
my $charts = selectall_hashref_query($form, $dbh, $query, @values);
|
|||
$main::lxdebug->leave_sub();
|
|||
return $charts;
|
|||
}
|
|||
1;
|