]> ruin.nu Git - ndwebbie.git/commitdiff
some restructuring, put intel messages in forum board instead of separate table
authorMichael Andreen <harv@ruin.nu>
Fri, 5 Jan 2007 22:20:54 +0000 (22:20 +0000)
committerMichael Andreen <harv@ruin.nu>
Fri, 5 Jan 2007 22:20:54 +0000 (22:20 +0000)
ND/Web/Forum.pm
addintel.pl
forum.pl
templates/addintel.tmpl

index 8e194199413b726c261636baaaec04394c12d457..8eca745423053ee6332f147d8c9df52f00a5cc7e 100644 (file)
@@ -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() 
index 405bece7b90361acb46b5ac65b4c5c7138e4eb67..fe21d0412b66dfd44aad8d39ef55c0cb8bead29f 100644 (file)
@@ -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')
                }
        }
 }
index a9f1be1bd2dfcfaa49cfe3acc9ffcd4b0c647d6e..eb59bac95b3a584f611da61fe514294f603022b4 100644 (file)
--- 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'));
index 87f9afc350880eb21eafb1766e8f6ae6fa4da9b9..a0483b6dc5b811152d50eda71a4d0e556620ccd6 100644 (file)
@@ -18,5 +18,6 @@
        <textarea rows="20" cols="50" name="intel"></textarea>
        <input type="hidden" name="cmd" value="submit_message"/>
        <input type="hidden" name="page" value="<TMPL_VAR NAME=PAGE>"/>
-       <br/><input type="submit" value="Submit"/>
+       <br/>Subject: <input type="text" name="subject" value="New intel message"/>
+       <input type="submit" value="Submit"/>
 </fieldset></form>