From c3861426e2252b6d0171575831803a922c1188aa Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Mon, 1 Jan 2007 21:25:23 +0000 Subject: [PATCH] initial commit of the forum page --- forum.pl | 69 ++++++++++++++++++++++++++++++++++++++++++++ pages | 1 + templates/forum.tmpl | 22 ++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 forum.pl create mode 100644 templates/forum.tmpl diff --git a/forum.pl b/forum.pl new file mode 100644 index 0000000..f9960b4 --- /dev/null +++ b/forum.pl @@ -0,0 +1,69 @@ +#************************************************************************** +# Copyright (C) 2006 by Michael Andreen * +# * +# This program is free software; you can redistribute it and/or modify * +# it under the terms of the GNU General Public License as published by * +# the Free Software Foundation; either version 2 of the License, or * +# (at your option) any later version. * +# * +# This program is distributed in the hope that it will be useful, * +# but WITHOUT ANY WARRANTY; without even the implied warranty of * +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# GNU General Public License for more details. * +# * +# You should have received a copy of the GNU General Public License * +# along with this program; if not, write to the * +# Free Software Foundation, Inc., * +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +#**************************************************************************/ + +use strict; +use warnings FATAL => 'all'; + +$ND::TEMPLATE->param(TITLE => 'Forum'); + +our $BODY; +our $DBH; +my $error; + +my %thread; +#TODO: fetch thread info. + +my %board; +#TODO: fetch board info. + +if (%thread){ #Display the thread +}elsif(%board){ #List threads in this board +}else{ #List boards + $BODY->param(Overview => 1); + my $categories = $DBH->prepare(q{SELECT fcid AS id,category FROM + forum_categories}); + my $boards = $DBH->prepare(q{SELECT fb.fbid AS id,fb.board + FROM forum_boards fb NATURAL JOIN forum_access fa + WHERE fcid = $1 AND (gid = -1 OR gid IN (SELECT gid FROM groupmembers + WHERE uid = $2)) + GROUP BY fb.fbid, fb.board + }); + $categories->execute or $error .= p($DBH->errstr); + my @categories; + while (my $category = $categories->fetchrow_hashref){ + $boards->execute($category->{id},$ND::UID) or $error .= p($DBH->errstr); + my @boards; + my $i = 0; + while (my $board = $boards->fetchrow_hashref){ + $board->{Unread} = 0; + $i++; + $board->{Odd} = $i % 2; + push @boards,$board; + } + $category->{Boards} = \@boards; + delete $category->{id}; + push @categories,$category if $i > 0; + } + $BODY->param(Categories => \@categories); + +} +$BODY->param(Error => $error); + +1; + diff --git a/pages b/pages index 13b0138..d03af29 100644 --- a/pages +++ b/pages @@ -16,3 +16,4 @@ alliances memberIntel resources planetNaps +forum diff --git a/templates/forum.tmpl b/templates/forum.tmpl new file mode 100644 index 0000000..6d5019c --- /dev/null +++ b/templates/forum.tmpl @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + +
UnreadBoard
+
-- 2.39.2