☺唐鳳☻ > OurNet-Site > OurNet::WebBuilder

Download:
OurNet-Site-1.52.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.2   Source  

NAME ^

OurNet::WebBuilder - Web rendering for BBS-based services

SYNOPSIS ^

    use OurNet::WebBuilder;

    my $tmpl = {
        dir     => \%dir,
        article => \%article,
        cgi_url => CGI->url
    };

    my $opref = {
        '' => sub {
            return '!view';
        },

        'view' => sub {
            $tmpl->{'menu'} ||= param('curdir') || $dir{'oin'}[0]{id};
            $tmpl->{'curdir'} ||= param('curdir') || $dir{'oin'}[0]{id};
            loadboard($tmpl->{'curdir'});

            loadarticle($_->{'id'},
                        ($tmpl->{'curdir'} eq 'bbs' ? $bbs : ($oin, $tmpl->{'curdir'})))
                foreach @{$dir{$tmpl->{'curdir'}}};

            return 'view';
        }
    };

    OurNet::WebBuilder::Display($tmpl, $opref);

DESCRIPTION ^

the method Display takes $tmpl, which is a variable pool, and $opref, which is hash of mapping from 'op' to the subroutine for that 'op'.

The op routine fill in the $tmpl with the varialbes it would like the variable pool to have, and returns the name of the template file that would be used. or if the return value begins with '!', the variable pool will be transit to the specified op again.

AUTHORS ^

Autrijus Tang <autrijus@autrijus.org>

COPYRIGHT ^

Copyright 2000 by Autrijus Tang <autrijus@autrijus.org>.

All rights reserved. You can redistribute and/or modify this module under the same terms as Perl itself.

syntax highlighting: