X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2FModules%2FNews.pl;h=caee5f104751e0fab85324b543997dfecb8f4292;hb=f7cae48a17d6decd0a9bd997188271daa0a885b1;hp=419dfb8f2330a1790cdcedc016cdb3ac555344b0;hpb=fdc42e4123ed1edcbbf56f7f40af2c7e8d8885c2;p=infobot.git diff --git a/src/Modules/News.pl b/src/Modules/News.pl index 419dfb8..caee5f1 100644 --- a/src/Modules/News.pl +++ b/src/Modules/News.pl @@ -15,10 +15,12 @@ # Text - Actual text. ### -use vars qw($who $chan); - package News; +use strict; + +use vars qw($who $chan); + sub Parse { my($what) = @_; $chan = undef; @@ -225,6 +227,7 @@ sub writeNews { $c = scalar keys %{ $::news{$chan} }; next unless ($c); $cc++; + my $item; foreach $item (sort keys %{ $::news{$chan} }) { $c = scalar keys %{ $::news{$chan}{$item} }; @@ -232,6 +235,7 @@ sub writeNews { $ci++; print NEWS "$chan $item\n"; + my $what; foreach $what (sort keys %{ $::news{$chan}{$item} }) { print NEWS " $what: $::news{$chan}{$item}{$what}\n"; } @@ -283,11 +287,11 @@ sub add { my $agestr = &::Time2String($::news{$chan}{$str}{Expire} - time() ); my $item = &newsS2N($str); - &::notice($who, "Added '\037$str\037' at [".localtime(time). + &::notice($who, "Added '\037$str\037' at [".gmtime(time). "] by \002$::who\002 for item #\002$item\002."); &::notice($who, "Now do 'news text $item '"); &::notice($who, "This item will expire at \002". - localtime($::news{$chan}{$str}{Expire})."\002 [$agestr from now] " + gmtime($::news{$chan}{$str}{Expire})."\002 [$agestr from now] " ); &writeNews(); @@ -363,7 +367,7 @@ sub del { sub list { if (!scalar keys %{ $::news{$chan} }) { - &::notice($who, "No News for \002$chan\002."); + &::notice($who, "No news for \002$chan\002."); return; } @@ -393,7 +397,9 @@ sub list { $newest = $t if ($t > $newest); if ($e > 1 and $e < $expire) { $expire = $e; - $eno = &newsS2N($item); + &::DEBUG("before newsS2N($_)"); + $eno = &newsS2N($_); + &::DEBUG("after newsS2N($_) == $eno"); } } my $timestr = &::Time2String(time() - $newest); @@ -440,7 +446,7 @@ sub read { } if (!scalar keys %{ $::news{$chan} }) { - &::notice($who, "No News for \002$chan\002."); + &::notice($who, "No news for \002$chan\002."); return; } @@ -464,7 +470,7 @@ sub read { return; } - my $t = localtime( $::news{$chan}{$item}{Time} ); + my $t = gmtime( $::news{$chan}{$item}{Time} ); my $a = $::news{$chan}{$item}{Author}; my $text = $::news{$chan}{$item}{Text}; my $num = &newsS2N($item); @@ -486,7 +492,7 @@ sub read { my $e; if ($_) { $e = sprintf("\037%s\037 [%s from now]", - scalar(localtime($_)), + scalar(gmtime($_)), &::Time2String($_ - time()) ); } @@ -536,7 +542,7 @@ sub mod { if ($flags eq "") { $done++ if (!$done and $mod_news =~ s/\Q$op\E/$np/); $done++ if (!$done and $mod_nnews =~ s/\Q$op\E/$np/); - } elsif ($flags eq "g") { + } elsif ($flags eq "g") { $done++ if ($mod_news =~ s/\Q$op\E/$np/g); $done++ if ($mod_nnews =~ s/\Q$op\E/$np/g); } @@ -674,7 +680,7 @@ sub set { return; } else { &::notice($who, "Set expire for \002$item\002, to ". - localtime($time) ." [".&::Time2String($time - time())."]" ); + gmtime($time) ." [".&::Time2String($time - time())."]" ); if (time() > $time) { &::DEBUG("news: hrm... time() > $time, should expire."); @@ -715,11 +721,11 @@ sub set { } sub latest { - my($tchan, $flag) = @_; + my ($tchan, $flag) = @_; - # hack hack hack. - $chan ||= $tchan; - $who = $::who; + # hack hack hack. fix later. + $chan = $tchan; + $who = $::who; # todo: if chan = undefined, guess. # if (!exists $::news{$chan}) { @@ -746,14 +752,14 @@ sub latest { $::chan = $chan; my $x = &::IsChanConf("newsNotifyAll"); - if (&::IsChanConf("newsNotifyAll") and !defined $t) { - $t = 1; - } + return if (!$x); + + # I don't understand this code ;) + $t = 1 if (!defined $t); if (!defined $t) { # &::msg($who, "News is disabled for $chan"); - &::DEBUG("news: something went really wrong."); - &::DEBUG("news: chan => $chan."); + &::DEBUG("news: $chan: something went really wrong."); return; } @@ -793,7 +799,7 @@ sub latest { if (!$flag) { return unless ($unread); - # just a temporary measure not to flood ourself off the + # just a temporary measure not to flood ourself off the # network with news until we get global notice() and msg() # throttling. if (time() - ($::cache{newsTime} || 0) < 5) { @@ -825,7 +831,7 @@ sub latest { $i = &newsS2N($_); $sorted[$i] = $_; } - + for ($i=0; $i<=scalar(@sorted); $i++) { my $news = $sorted[$i]; next unless (defined $news);