X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND.pm;h=82a477ab5a60e17c064b9b829fd399d92bb22163;hb=bea9ca01144b2ecfdd1fb0f7efc7b21f170da8c3;hp=c54bb77a085b828793d0d6391594d932e10ba951;hpb=6d6177b5221cc6d74b58c73c91f33bc8132649db;p=ndwebbie.git diff --git a/ND.pm b/ND.pm index c54bb77..82a477a 100755 --- a/ND.pm +++ b/ND.pm @@ -24,7 +24,7 @@ use HTML::Template; use DBI; use DBD::Pg qw(:pg_types); use Apache2::Request; -use ND::Include; +use ND::Web::Include; use ND::DB; use Tie::File; use Fcntl 'O_RDONLY'; @@ -81,9 +81,6 @@ sub page { $ATTACKER = 1 if $attack; } - - our $LOG = $DBH->prepare('INSERT INTO log (uid,text) VALUES(?,?)'); - tie my @pages, 'Tie::File', "/var/www/ndawn/code/pages", mode => O_RDONLY, memory => 0 or die $!; $ND::PAGE = 'main' unless grep { /^$ND::PAGE$/ } @pages; @@ -113,6 +110,16 @@ sub page { $fleetupdate = 0 unless defined $fleetupdate; + my ($unread) = $DBH->selectrow_array(q{ + SELECT count(*) AS unread +FROM forum_boards fb NATURAL JOIN forum_threads ft + JOIN forum_posts fp USING (ftid) LEFT OUTER JOIN + (SELECT * FROM forum_thread_visits WHERE uid = $1) ftv ON ftv.ftid = ft.ftid +WHERE (ftv.time IS NULL OR fp.time > ftv.time) AND fbid > 0 AND + fbid IN (SELECT fbid FROM forum_access WHERE gid IN (SELECT groups($1))) + },undef,$UID) or $ERROR .= p($DBH->errstr); + + $TEMPLATE->param(UnreadPosts => $unread); $TEMPLATE->param(Tick => $TICK); $TEMPLATE->param(isMember => (($TICK - $fleetupdate < 24) || isScanner()) && $PLANET && isMember()); $TEMPLATE->param(isHC => isHC());