]> ruin.nu Git - ndwebbie.git/commitdiff
some more done
authorMichael Andreen <harv@ruin.nu>
Mon, 11 Dec 2006 17:40:11 +0000 (17:40 +0000)
committerMichael Andreen <harv@ruin.nu>
Mon, 11 Dec 2006 17:40:11 +0000 (17:40 +0000)
index.pl
main.pl
templates/main.tmpl

index e33d5094b19fb635f82237e48a12538d8ea91d2b..68276389f5ecd7b3f3bf9a43d54da2bf2e26d2fe 100755 (executable)
--- a/index.pl
+++ b/index.pl
@@ -35,7 +35,7 @@ our $PLANET = undef;
 our $TEMPLATE = undef;
 our $TICK = undef;
 
-$ND::TEMPLATE = HTML::Template->new(filename => 'skel.tmpl');
+$ND::TEMPLATE = HTML::Template->new(filename => 'templates/skel.tmpl');
 
 for my $file ("db.pl"){
        unless (my $return = do $file){
@@ -49,22 +49,39 @@ for my $file ("db.pl"){
        ,undef,$ENV{'REMOTE_USER'});
 
 ($TICK) = $DBH->selectrow_array('SELECT tick()',undef);
-$TEMPLATE->param(TICK => $TICK);
 
+my $query = $DBH->prepare('SELECT groupname,attack,gid from groupmembers NATURAL JOIN groups WHERE uid = ?');
+$query->execute($UID);
 
-print header;
+our $ATTACKER = 0;
+our @GROUPS = ();
+while (my ($name,$attack,$gid) = $query->fetchrow()){
+       push @GROUPS,{name => $name, gid => $gid};
+       $ATTACKER = 1 if $attack;
+}
+
+
+$TEMPLATE->param(Tick => $TICK);
+$TEMPLATE->param(isMember => 1);
+$TEMPLATE->param(isAttacker => $ATTACKER);
 
-my $page = 'main.pl';
+
+
+my $page = 'main';
 if (param('page') =~ /^(main)$/){
-       $page = "$1.pl";
+       $page = $1;
 }
 
-unless (my $return = do $page){
-       warn "couldn't parse $page: $@" if $@;
-       warn "couldn't do $page: $!"    unless defined $return;
-       warn "couldn't run $page"       unless $return;
+$ND::BODY = HTML::Template->new(filename => "templates/${page}.tmpl");
+
+unless (my $return = do "${page}.pl"){
+       print "couldn't parse $page: $@" if $@;
+       print "couldn't do $page: $!"    unless defined $return;
+       print "couldn't run $page"       unless $return;
 }
 
+print header;
+$ND::TEMPLATE->param(BODY => $ND::BODY->output);
 print $TEMPLATE->output;
 
 
@@ -74,5 +91,7 @@ $UID = undef;
 $PLANET = undef;
 $TEMPLATE = undef;
 $TICK = undef;
+@GROUPS = undef;
+$ND::BODY = undef;
 
 exit;
diff --git a/main.pl b/main.pl
index ef9fda8a1e36aac9a44edba2919e99e662d2af1d..249fe43cee77f1e7c71b1fa7b5e6f9f36de92d2e 100644 (file)
--- a/main.pl
+++ b/main.pl
@@ -21,4 +21,13 @@ use strict;
 
 $ND::TEMPLATE->param(TITLE => 'Main Page');
 
-$ND::TEMPLATE->param(BODY => 'FUN!');
+our $BODY;
+
+$BODY->param(Username => 'harv');
+$BODY->param(isMEMBER => 1);
+$BODY->param(isHC => 1);
+my @groups = map {name => $_->{name}}, @ND::GROUPS;
+$BODY->param(Groups => \@groups);
+
+
+1;
index eeaa27fc2905cbcea5abb1d7a44f1a88d4d7d21d..b628d221a6f693f9ce3e28880a632f118878eb36 100644 (file)
@@ -1,6 +1,6 @@
-<p>Hello <TMPL_VAR=Username>.</p>
-<fieldset> <legend>Message from HC<TMPL_IF isHC> <a href="index.pl?page=motd">EDIT</TMPL_IF></a></legend>
-       <TMPL_VAR=MOTD>
+<p>Hello <TMPL_VAR NAME=Username>.</p>
+<fieldset> <legend>Message from HC<TMPL_IF isHC> <a href="index.pl?page=motd">EDIT</a></TMPL_IF></legend>
+       <TMPL_VAR NAME=MOTD>
 </fieldset>
 <fieldset> <legend>Planet/account details</legend>
        <ul>
@@ -11,7 +11,8 @@
        <li> Scan points: <TMPL_VAR NAME=ScanPoints> </li>
        <li> Humor points: <TMPL_VAR NAME=HumorPoints> </li>
        <li> Total points: <TMPL_VAR NAME=TotalPoints> </li>
-       <li> Member of the following groups: <TMPL_VAR NAME=Groups></li>
+       </TMPL_IF>
+       <li> Member of the following groups: <TMPL_LOOP Groups><TMPL_VAR NAME=Name><TMPL_UNLESS __last__>, </TMPL_UNLESS></TMPL_LOOP></li>
        <TMPL_IF hasPLANET>
        <li>Planet: <TMPL_VAR NAME=PlanetName></li>
        <li>Size: <TMPL_VAR NAME=PlanetSize></li>