# ================================================================== # Gossamer List - enhanced mailing list management system # # Website : http://gossamer-threads.com/ # Support : http://gossamer-threads.com/scripts/support/ # CVS Info : # Revision : $Id: HTML.pm,v 1.10 2004/03/01 21:38:38 bao Exp $ # # Copyright (c) 2004 Gossamer Threads Inc. All Rights Reserved. # Redistribution in part or in whole strictly prohibited. Please # see LICENSE file for full details. # ================================================================== # package GList::HTML; use strict; use GList q/:objects/; sub date_get { #---------------------------------------------------------------------- # my ($fld_name, $type) = @_; my $tags = GT::Template->tags; my $format = $tags->{usr_date_format}; $format =~ s/\#/\%/g; $format ||= '%mm%-%dd%-%yyyy%'; $format .= ' %hh%:%MM%:%ss%' if ( $type ); require GT::Date; ( $fld_name ) or return GT::Date::date_get(time, $format); my $record = $tags->{results}[$tags->{row_num} - 1]; return GT::Date::date_get($record->{$fld_name} || $tags->{$fld_name}, $format); } sub html_unescape { #-------------------------------------------------------------------- # my $content = shift; $content =~ s/\n/
/g; return $content; } sub generate_attachments { #--------------------------------------------------------------------- # my $col = shift || 'msg_id'; my $tags = GT::Template->tags; my $val = $tags->{results}[$tags->{row_num} - 1]->{$col}; ( $val ) or return; my $sth; if ( $col eq 'msg_id' ) { $sth = $tags->{html}->{sql}->table('MessageAttachments')->select({ att_message_id_fk => $val }); } else { $sth = $tags->{html}->{sql}->table('MailingAttachments')->select({ mat_mailing_id_fk => $val }); } my $attachments; while ( my $rs = $sth->fetchrow_hashref ) { push @$attachments, $rs; } return { attachments => ( !$attachments ) ? 0 : $attachments }; } sub generate_years { #------------------------------------------------------------------- # my $tags = GT::Template->tags; my $min = $tags->{html}->{sql}->table('MailingIndex')->select(['MIN(mli_done)'])->fetchrow_array || time; require GT::Date; my $yy_min = GT::Date::date_get($min, '%yyyy%'); my $yy_max = GT::Date::date_get(time, '%yyyy%'); my @output; for my $i ( $yy_min .. $yy_max ) { push @output, { y => $i }; } return { loop_years => \@output }; } 1;