CGI-WebToolkit
view release on metacpan or search on metacpan
lib/CGI/WebToolkit.pm view on Meta::CPAN
#AutoCommit => 1,
#PrintWarn => 1,
})
or __die("Could not connect to database");
return 1;
}
sub __disconnect_from_db
{
my ($self) = @_;
return $self->{'dbh'}->disconnect();
}
sub __init
{
my ($self, %options) = @_;
my $optdefaults =
{
# path parameters
publicpath => '',
publicurl => '',
privatepath => '',
cgipath => '',
cgiurl => '',
# configuration parameters
config => "",
# database parameters
engine => "mysql",
user => "guest",
name => "",
password => "",
host => "localhost",
port => "",
# template parameters
templatefallbacks => ['core'],
allowmacros => 1,
# form creation parameters
# ...
# session parameters
idparam => 'sid',
sessiontable => '',
sessiontimeout => 1800,
# user/rights management
usertable => '',
checkrights => 0,
# caching
cachetable => '',
allowclearcache => 1,
clearcacheparam => 'clearcache',
# locale
phrasetable =>'',
defaultlanguage => 'en_GB',
# workflow parameters
workflowparam => 'to',
entryaction => 'core.default',
modules => [],
# combinable files
cssfiles => [],
jsfiles => [],
# triggers
onsessionstart => '',
onsessionoutofdate => '',
# uploads
uploadmaxsize => (1024 * 1024 * 6), # 6MB
};
# check if config filename is given -> if so, load it first
# (so that it can be overwritten by settings from %options later!)
my $cfgopts = $optdefaults;
foreach my $key (keys %options) {
my $name = lc $key;
$name =~ s/^\-*//;
if ($name eq 'config') {
$cfgopts = __load_config_file( $options{$key}, $optdefaults );
}
}
my $opts = __parse_params( \%options, $cfgopts );
map { $self->{$_} = $opts->{$_} } keys %{$opts};
# add 'default' theme as last fallback if not already added
push @{$self->{'templatefallbacks'}}, 'core'
if !scalar @{$self->{'templatefallbacks'}}
|| $self->{'templatefallbacks'}->[-1] ne 'core';
$self->{'dbh'} = undef;
$self->{'session'} = undef;
$self->{'session_id'} = undef;
# caches for function refs.
$self->{'workflow_function_cache'} = {};
$self->{"template_function_cache"} = {};
$self->{"access_function_cache"} = {};
$self->__load_session();
# common placeholders
$self->{'common_placeholders'} = {
'script_url' => (exists $ENV{'SCRIPT_NAME'} ? $ENV{'SCRIPT_NAME'} : '?'),
'public_url' => $self->{'publicurl'},
'clear' => '<div class="clear"></div>',
'session_id' => $self->{'session_id'},
'do_nothing_url' => 'javascript:void(1);',
'javascript_url' => (exists $ENV{'SCRIPT_NAME'} ? $ENV{'SCRIPT_NAME'} : '').'?to=core.combine.javascript',
'css_url' => (exists $ENV{'SCRIPT_NAME'} ? $ENV{'SCRIPT_NAME'} : '').'?to=core.combine.css',
};
( run in 1.535 second using v1.01-cache-2.11-cpan-ceb78f64989 )