--- trunk/bin/irc-logger.pl 2007/12/16 20:06:47 73
+++ trunk/bin/irc-logger.pl 2007/12/20 22:46:16 75
@@ -507,8 +507,8 @@
}
if ( @tags ) {
- shift @last_tags if $#last_tags == $last_x_tags;
- push @last_tags, { tags => [ @tags ], %$arg };
+ pop @last_tags if $#last_tags == $last_x_tags;
+ unshift @last_tags, { tags => [ @tags ], %$arg };
}
}
@@ -520,7 +520,7 @@
=cut
sub seed_tags {
- my $sth = $dbh->prepare(qq{ select id,message,nick,me,time from log where message like '%//%' });
+ my $sth = $dbh->prepare(qq{ select id,message,nick,me,time from log where message like '%//%' order by time asc });
$sth->execute;
while (my $row = $sth->fetchrow_hashref) {
add_tag( %$row );
@@ -979,12 +979,12 @@
$response->content_type( 'application/' . lc($type) . '+xml' );
my $html = '';
- warn "create $type feed from ",dump( @last_tags );
+ #warn "create $type feed from ",dump( @last_tags );
my $feed = XML::Feed->new( $type );
$feed->title( "last $last_x_tags from $CHANNEL" );
-# $feed->link( "http://$http_hostname:$http_port" );
+ $feed->link( $url );
$feed->description( "collects messages which have tags// in them" );
foreach my $m ( @last_tags ) {
@@ -995,13 +995,15 @@
$feed_entry->author( $m->{nick} );
$feed_entry->link( '/#' . $m->{id} );
$feed_entry->issued( DateTime::Format::Flexible->build( $m->{time} ) );
+
+ my $message = $filter->{message}->( $m->{message} );
+ $message .= "
\n" unless $message =~ m!<(/p|br/?)>!;
+ warn "## message = $message\n";
+ from_to( $message, $ENCODING, 'UTF-8' );
+
#$feed_entry->summary(
$feed_entry->content(
- '{nick}->( $m->{nick} ) .
-# '' . $m->{nick} . ' ' .
- $filter->{message}->( $m->{message} ) .
- "
\n]]>"
+ ""
);
$feed_entry->category( join(', ', @{$m->{tags}}) );
$feed->add_entry( $feed_entry );
@@ -1097,7 +1099,7 @@