Lines 608-613
sub _parseletter_sth {
Link Here
|
608 |
|
608 |
|
609 |
sub _parseletter { |
609 |
sub _parseletter { |
610 |
my ( $letter, $table, $values ) = @_; |
610 |
my ( $letter, $table, $values ) = @_; |
|
|
611 |
my $dbh = C4::Context->dbh; |
612 |
my $is_date_sql = q{ |
613 |
SELECT COUNT(*) |
614 |
FROM INFORMATION_SCHEMA.COLUMNS |
615 |
WHERE TABLE_NAME = ? |
616 |
AND COLUMN_NAME = ? |
617 |
AND TABLE_SCHEMA = ? |
618 |
AND DATA_TYPE IN ( 'date', 'datetime', 'timestamp' ) |
619 |
}; |
611 |
|
620 |
|
612 |
if ( $table eq 'reserves' && $values->{'waitingdate'} ) { |
621 |
if ( $table eq 'reserves' && $values->{'waitingdate'} ) { |
613 |
my @waitingdate = split /-/, $values->{'waitingdate'}; |
622 |
my @waitingdate = split /-/, $values->{'waitingdate'}; |
Lines 634-639
sub _parseletter {
Link Here
|
634 |
#but excludes items. Removed unneeded global and lookahead. |
643 |
#but excludes items. Removed unneeded global and lookahead. |
635 |
|
644 |
|
636 |
my $replacedby = defined ($val) ? $val : ''; |
645 |
my $replacedby = defined ($val) ? $val : ''; |
|
|
646 |
|
647 |
my ( $is_date ) = $dbh->selectrow_array( $is_date_sql, undef, ( $table, $field, C4::Context->config("database") ) ); |
648 |
$replacedby = output_pref({ dt => dt_from_string( $replacedby ), dateonly => 1 }) if ( $replacedby && $is_date ); |
649 |
|
637 |
($letter->{title} ) and do { |
650 |
($letter->{title} ) and do { |
638 |
$letter->{title} =~ s/$replacetablefield/$replacedby/g; |
651 |
$letter->{title} =~ s/$replacetablefield/$replacedby/g; |
639 |
$letter->{title} =~ s/$replacefield/$replacedby/g; |
652 |
$letter->{title} =~ s/$replacefield/$replacedby/g; |
640 |
- |
|
|