From: Michael Andreen Date: Fri, 5 Jan 2007 22:20:54 +0000 (+0000) Subject: some restructuring, put intel messages in forum board instead of separate table X-Git-Url: https://ruin.nu/git/?a=commitdiff_plain;h=b1e161e396d3c759403c6e3cbd8da1be7fe84715;p=ndwebbie.git some restructuring, put intel messages in forum board instead of separate table --- diff --git a/ND/Web/Forum.pm b/ND/Web/Forum.pm index 8e19419..8eca745 100644 --- a/ND/Web/Forum.pm +++ b/ND/Web/Forum.pm @@ -27,7 +27,7 @@ require Exporter; our @ISA = qw/Exporter/; -our @EXPORT = qw/viewForumThread addForumPost markThreadAsRead/; +our @EXPORT = qw/viewForumThread addForumPost addForumThread markThreadAsRead/; sub viewForumThread { my ($thread) = @_; @@ -71,6 +71,21 @@ sub addForumPost { return 1; } +sub addForumThread { + my ($dbh,$board,$uid,$subject) = @_; + + my $insert = $dbh->prepare(q{INSERT INTO forum_threads (fbid,subject) VALUES($1,$2)}); + + if ($insert->execute($board->{id},escapeHTML($subject))){ + my $id = $dbh->last_insert_id(undef,undef,undef,undef,"forum_threads_ftid_seq"); + return $dbh->selectrow_hashref(q{SELECT ftid AS id, subject, $2::boolean AS post FROM forum_threads WHERE ftid = $1} + ,undef,$id,$board->{post}) + or $ND::ERROR .= p($dbh->errstr); + }else{ + $ND::ERROR .= p($dbh->errstr); + } +} + sub markThreadAsRead { my ($thread) = @_; my $rows = $ND::DBH->do(q{UPDATE forum_thread_visits SET time = now() diff --git a/addintel.pl b/addintel.pl index 405bece..fe21d04 100644 --- a/addintel.pl +++ b/addintel.pl @@ -19,6 +19,7 @@ use strict; use warnings FATAL => 'all'; +use ND::Web::Forum; $ND::TEMPLATE->param(TITLE => 'Add Intel and Scans'); @@ -61,11 +62,9 @@ if (defined param('cmd')){ } } if (param('cmd') eq 'submit_message'){ - my $query = $DBH->prepare(q{INSERT INTO intel_messages (uid,message) VALUES(?,?)}); - if($query->execute($ND::UID,escapeHTML(param('intel')))){ - $error .= 'Intel messaged added'; - }else{ - $error .= $DBH->errstr; + my $board = {id => 12}; + if (my $thread = addForumThread $DBH,$board,$ND::UID,param('subject')){ + $error .= p 'Intel message added' if addForumPost $DBH,$thread,$ND::UID,param('intel') } } } diff --git a/forum.pl b/forum.pl index a9f1be1..eb59bac 100644 --- a/forum.pl +++ b/forum.pl @@ -52,14 +52,7 @@ if(param('t')){ if (defined param('cmd') && param('cmd') eq 'forumpost'){ $DBH->begin_work; if ($board && $board->{post}){ - my $insert = $DBH->prepare(q{INSERT INTO forum_threads (fbid,subject) VALUES($1,$2)}); - if ($insert->execute($board->{id},escapeHTML(param('subject')))){ - $thread = $DBH->selectrow_hashref($findThread,undef, - $DBH->last_insert_id(undef,undef,undef,undef,"forum_threads_ftid_seq"),$ND::UID) - or $ERROR .= p($DBH->errstr); - }else{ - $ERROR .= p($DBH->errstr); - } + $thread = addForumThread $DBH,$board,$ND::UID,param('subject'); } if ($thread && $thread->{post}){ addForumPost($DBH,$thread,$ND::UID,param('message')); diff --git a/templates/addintel.tmpl b/templates/addintel.tmpl index 87f9afc..a0483b6 100644 --- a/templates/addintel.tmpl +++ b/templates/addintel.tmpl @@ -18,5 +18,6 @@ -
+
Subject: +