| Foorum documentation | Contained in the Foorum distribution. |
Foorum - forum system based on Catalyst
nothing for now.
u can FETCH all code from http://github.com/fayland/foorum/tree any time any where.
Linux/Unix/Win32 both OK.
use Template for UI.
use Cache::Memcached or use Cache::FileCache or others;
HTML::BBCode, Text::Textile, Pod::Xhtml, Text::GooglewikiFormat
To keep robot out.
Welcome to fork it in http://github.com/fayland/foorum/tree and pull requests back.
Fayland Lam, <fayland at gmail.com>
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Foorum documentation | Contained in the Foorum distribution. |
package Foorum; use strict; use warnings; use Catalyst::Runtime '5.70'; use parent qw/Catalyst/; use Catalyst qw/ ConfigLoader Static::Simple Authentication Cache Session::DynamicExpiry Session Session::Store::DBIC Session::State::Cookie I18N FormValidator::Simple Captcha +Foorum::Plugin::FoorumUtils /; our $VERSION = '1.001000'; __PACKAGE__->config( { VERSION => $VERSION } ); __PACKAGE__->setup(); if ( __PACKAGE__->config->{function_on}->{page_cache} ) { __PACKAGE__->setup_plugins( ['PageCache'] ); ## set $c->language before create a key in PageCache __PACKAGE__->config->{'Plugin::PageCache'}->{key_maker} = sub { my $c = shift; # something as the same as in Root.pm # while it is called before we call sub auto in Root.pm # and we may not call this if request doesn't call $c->cache_page my $lang; $lang = $c->req->cookie('lang')->value if ( $c->req->cookie('lang') ); $lang ||= $c->user->lang if ( $c->user_exists ); $lang ||= $c->config->{default_lang}; $lang = $c->req->param('lang') if ( $c->req->param('lang') ); $lang =~ s/\W+//isg; $c->languages( [$lang] ); return '/' . $c->req->path; }; } else { { no strict 'refs'; ## no critic (ProhibitNoStrict) my $class = __PACKAGE__; *{"$class\::cache_page"} = sub {1}; *{"$class\::clear_cached_page"} = sub {1}; } } 1; __END__