X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=ND%2FInclude.pm;h=d77121fa39e28c091c1328ed2fe1a75bbcc1f759;hb=d2b25d79058863d3604489e7a36d1c0d1a491b5c;hp=796ed68dbd10acabcc81244d97d295d335044e20;hpb=49477962790fe1b056d500783d36b6bcb5dd0707;p=ndwebbie.git diff --git a/ND/Include.pm b/ND/Include.pm index 796ed68..d77121f 100644 --- a/ND/Include.pm +++ b/ND/Include.pm @@ -20,49 +20,66 @@ package ND::Include; use strict; use warnings FATAL => 'all'; +use CGI qw{:standard}; require Exporter; our @ISA = qw/Exporter/; -our @EXPORT = qw/isMember isHC isDC isBC isOfficer isScanner isIntel parseMarkup min max listTargets - alliances intelquery generateClaimXml/; +our @EXPORT = qw/isMember isHC isDC isBC isOfficer isScanner isIntel isTech parseMarkup min max listTargets + alliances intelquery generateClaimXml markThreadAsRead/; sub isMember { - return exists $ND::GROUPS{Members}; + return exists $ND::GROUPS{Members} || isTech(); } sub isHC { - return exists $ND::GROUPS{HC}; + return exists $ND::GROUPS{HC} || isTech(); } sub isDC { - return exists $ND::GROUPS{DC}; + return exists $ND::GROUPS{DC} || isTech(); } sub isBC { - return exists $ND::GROUPS{BC}; + return exists $ND::GROUPS{BC} || isTech(); } sub isOfficer { - return exists $ND::GROUPS{Officers}; + return exists $ND::GROUPS{Officers} || isTech(); } sub isScanner { - return exists $ND::GROUPS{Scanners}; + return exists $ND::GROUPS{Scanners} || isTech(); } sub isIntel { - return exists $ND::GROUPS{Intel}; + return exists $ND::GROUPS{Intel} || isTech(); +} + +sub isTech { + return exists $ND::GROUPS{Tech}; } sub parseMarkup { my ($text) = @_; $text =~ s{\n}{\n
}g; - $text =~ s{\[B\](.*?)\[/B\]}{$1}; + $text =~ s{\[B\](.*?)\[/B\]}{$1}gi; return $text; } +sub markThreadAsRead { + my ($thread) = @_; + my $rows = $ND::DBH->do(q{UPDATE forum_thread_visits SET time = now() +WHERE uid = $1 AND ftid = $2},undef,$ND::UID,$thread); + if ($rows == 0){ + $ND::DBH->do(q{INSERT INTO forum_thread_visits (uid,ftid) VALUES ($1,$2)} + ,undef,$ND::UID,$thread) or $ND::ERROR .= p($ND::DBH->errstr); + }elsif(not defined $rows){ + $ND::ERROR .= p($ND::DBH->errstr); + } +} + sub min { my ($x,$y) = @_; return ($x > $y ? $y : $x);