# mod_cache.pl
# Functions that have been moved out of mod_proxy in apache 2.0
sub mod_cache_directives
{
local $rv;
$rv = [ [ 'CacheDefaultExpire', 0, 13.1, 'virtual', 2.0 ],
[ 'CacheEnable CacheDisable', 1, 13.1, 'virtual', 2.0 ],
# [ 'CacheIgnoreCacheControl', 0, 13.1, 'virtual', 2.0 ],
# [ 'CacheIgnoreNoLastMod', 0, 13.1, 'virtual', 2.0 ],
[ 'CacheLastModifiedFactor', 0, 13.1, 'virtual', 2.0 ],
[ 'CacheMaxExpire', 0, 13.1, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_cache");
}
require 'cache.pl';
sub edit_CacheEnable_CacheDisable
{
local $rv = "
\n".
" | $text{'cache_enable'} | \n".
"$text{'cache_type'} | \n".
"$text{'cache_url'} |
\n";
local ($c, $i = 0);
foreach $c (@{$_[0]}, @{$_[1]}, { }) {
$rv .= "\n";
$rv .= " | | \n";
$rv .= sprintf " | \n", $c->{'name'} eq 'CacheEnable' ? $c->{'words'}->[1] : $c->{'words'}->[0];
$rv .= "
\n";
$i++;
}
$rv .= "
\n";
return (2, $text{'cache_endis'}, $rv);
}
sub save_CacheEnable_CacheDisable
{
local ($i, @en, @dis);
for($i=0; defined($in{"CacheEnable_e_$i"}); $i++) {
next if (!$in{"CacheEnable_e_$i"});
$in{"CacheEnable_u_$i"} =~ /^\S+$/ || &error($text{'cache_eurl'});
if ($in{"CacheEnable_e_$i"} == 1) {
push(@en, $in{"CacheEnable_t_$i"}." ".$in{"CacheEnable_u_$i"});
}
else {
push(@dis, $in{"CacheEnable_u_$i"});
}
}
return ( \@en, \@dis );
}
sub edit_CacheIgnoreCacheControl
{
return (1, $text{'cache_control'},
&choice_input($_[0]->{'value'}, "CacheIgnoreCacheControl", "off",
"$text{'yes'},on", "$text{'no'},off"));
}
sub save_CacheIgnoreCacheControl
{
return &parse_choice("CacheIgnoreCacheControl", "off");
}
sub edit_CacheIgnoreNoLastMod
{
return (1, $text{'cache_lastmod'},
&choice_input($_[0]->{'value'}, "CacheIgnoreNoLastMod", "off",
"$text{'yes'},on", "$text{'no'},off"));
}
sub save_CacheIgnoreNoLastMod
{
return &parse_choice("CacheIgnoreNoLastMod", "off");
}