view release on metacpan or search on metacpan
);
}
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
Apache::AxKit::Provider::PodSAX - Dynamically Serve POD Files as XML
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/AxKit/Provider/RDBMS.pm view on Meta::CPAN
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Apache::AxKit::Provider::RDBMS - Perl extension AxKit
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/AxKit/Provider/XMLDOMProvider.pm view on Meta::CPAN
}
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Apache::AxKit::Provider::XMLDOMProvider - AxKit Provider for remote XML-DOMs available via HTTP
view all matches for this distribution
view release on metacpan or search on metacpan
It uses HTML::Template, so it is easy to design new layouts. There are
some samples included with the distribution.
All diary entries are stored as plain text files, there's no database
stuff going on here. This is to make it simple to add entries - any
editor can be used to write entries.
To use, decide on a directory which is to hold your weblog entries,
and set PerlHandler like in the example. The alias isn't nessasary,
but I like it that way.
view all matches for this distribution
view release on metacpan or search on metacpan
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
view all matches for this distribution
view release on metacpan or search on metacpan
Centipaid.pm view on Meta::CPAN
# centipaid.com payment system without making changes to their
# existing website.
#
# centipaid offers a micropayment solution that allows users
# to pay for online access using an internet stamp, inctead of
# paying using a credit card number, which requieres the user
# to divulge their credit card number to the site operator.
# for more information on the micro-payment system please visit
# http://www.centipaid.com/
#
#
# This module may be distributed under the GPL v2 or later.
Centipaid.pm view on Meta::CPAN
internet stamps.
Centipaid.com offers websites the flexibility to charge small amounts
of money, also refered to as B<micropayment>, to users wishing to
access to their web services without the complexity of setting up
e-commerce enabled site, or to deal with expensive credit card
processing options. Users benefit from not having to reveal their
identity or credit card information everytime they decide to visit a
website. Instead, centipaid allows users to simply pay using
a pre-paid internet stamp, by simply uploading the stamp to centipaid's
site. The stamps are valid in all sites using centipaid.com payment
system.
view all matches for this distribution
view release on metacpan or search on metacpan
# All modules must return a true value
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
Apache::CodeRed - Responds to CodeRed worm attacks with e-mail warnings
view all matches for this distribution
view release on metacpan or search on metacpan
0.07 Sun Jul 20 14:30:00 2003
- unnecessary warnings were patched with diff-file contributed by Rob Bloodgood.
0.06 Wed Jan 15 16:59:00 2003
- file TODO has been added to distribution
- documentation is edited.
5559 Jun 23 23:16 Apache-CompressClientFixup-0.06.tar.gz
0.05 Mon Jan 13 11:12:00 2003
- Partial Request branch is modified in order to make it configurable.
- documentation is edited.
5107 Jan 13 14:51 Apache-CompressClientFixup-0.05.tar.gz
0.04 Tue Jan 07 21:23:00 2003
- MSIE over SSL is modified in order to make it configurable.
- documentation is edited.
- article "ContentCompressionClients" deleted from the package.
4660 Jan 7 22:17 Apache-CompressClientFixup-0.04.tar.gz
0.03 Thu Jan 02 23:00:00 2003
- MSIE over SSL is modified.
- documentation is edited.
8064 Jan 2 23:31 Apache-CompressClientFixup-0.03.tar.gz
0.02 Sun Oct 20 22:51:00 2002
- further development in accordance with the results of discussion on "ContentCompressionClients".
- documentation is edited and incorporated.
- Thanks to Bob Eng for the link to Microsoft Knowledge Base articles Q313712/Q312496.
7855 Nov 10 23:09 Apache-CompressClientFixup-0.02.tar.gz
0.01 Tue Jun 11 13:10:11 2002
- original version; created by h2xs 1.21 with options
view all matches for this distribution
view release on metacpan or search on metacpan
t/httpd02.conf view on Meta::CPAN
<IfModule mod_negotiation.c>
LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
</IfModule>
#
# AddType allows you to tweak mime.types without actually editing it, or to
# make certain files to be certain types.
#
# For example, the PHP 3.x module (not part of the Apache distribution - see
# http://www.php.net) will typically use:
#
t/httpd02.conf view on Meta::CPAN
# Set to one of: Off | On | Full | Block
#
# ProxyVia On
#
# To enable the cache as well, edit and uncomment the following lines:
# (no caching without CacheRoot)
#
# CacheRoot "/var/cache/httpd"
# CacheSize 5
# CacheGcInterval 4
view all matches for this distribution
view release on metacpan or search on metacpan
can assist you with protecting a server, but it doesn't come without
its own set of issues. Debugging applications running on a box with
SELinux on it takes a couple of extra steps and unfortunately the
instructions that follow have only been tested on RedHat/Fedora.
1) You need to edit/create the file "local.te" and add the following:
if (httpd_tty_comm) {
allow { httpd_t } admin_tty_type:chr_file { ioctl getattr }; }
2) Reload your security policy.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/AuthDBI.pm view on Meta::CPAN
#Using Two (or more) Methods Will Allow for Fallback to older Methods
'Auth_DBI_encryption_method'=> 'sha1hex/md5/crypt',
'Auth_DBI_uidcasesensitive' => 'on',
'Auth_DBI_pwdcasesensitive' => 'on',
'Auth_DBI_placeholder' => 'off',
'Auth_DBI_expeditive' => 'on',
);
# stores the configuration of current URL.
# initialized during authentication, eventually re-used for authorization.
my $Attr = {};
lib/Apache/AuthDBI.pm view on Meta::CPAN
$user_sent = lc $user_sent if $Attr->{uidcasesensitive} eq "off";
# select code to return if authorization is denied:
my $authz_denied;
if (MP2) {
$authz_denied = $Attr->{expeditive} eq 'on' ?
Apache2::Const::FORBIDDEN() : Apache2::Const::AUTH_REQUIRED();
}
else {
$authz_denied = $Attr->{expeditive} eq 'on' ?
Apache::Constants::FORBIDDEN() : Apache::Constants::AUTH_REQUIRED();
}
# check if requirements exists
my $ary_ref = $r->requires;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/DnsZone.pm view on Meta::CPAN
}
# no A record exists that has the same address, no CNAME record exists with the same name
return 1;
}
sub check_before_edit_A {
my $dom_id = shift;
my $a_id = shift;
my $new_host = shift;
my $new_address = shift;
Debug(5, qq{check_before_edit_A($dom_id, $a_id, $new_host, $new_address) called});
my ($old_name, $old_address, $old_ttl) = $dbh->a_lookup($dom_id, $a_id);
return 1 if $old_name eq $new_host && $old_address eq $new_address;
if ($dbh->is_duplicate_A($dom_id, $new_host, $new_address)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
# no A record exists that has the same address, no CNAME record exists with the same name
return 1;
}
sub check_before_edit_AAAA {
my $dom_id = shift;
my $a_id = shift;
my $new_host = shift;
my $new_address = shift;
Debug(5, qq{check_before_edit_AAAA($dom_id, $a_id, $new_host, $new_address) called});
my ($old_name, $old_address, $old_ttl) = $dbh->aaaa_lookup($dom_id, $a_id);
return 1 if $old_name eq $new_host && $old_address eq $new_address;
if ($dbh->is_duplicate_AAAA($dom_id, $new_host, $new_address)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
return 0;
}
return 1;
}
sub check_before_edit_CNAME {
my $dom_id = shift;
my $cname_id = shift;
my $new_host = shift;
my $new_cname = shift;
Debug(5, qq{check_before_edit_CNAME($dom_id, $cname_id, $new_host, $new_cname) called});
my ($old_host, $old_cname, $old_ttl) = $dbh->cname_lookup($dom_id, $cname_id);
return 1 if $old_host eq $new_host && $old_cname eq $new_cname;
return 1 if $old_host eq $new_host;
if ($dbh->does_A_exist($dom_id, $new_host)) {
return 0;
lib/Apache/DnsZone.pm view on Meta::CPAN
return 0;
}
return 1;
}
sub check_before_edit_MX {
my $dom_id = shift;
my $mx_id = shift;
my $new_host = shift;
my $new_exchanger = shift;
my $new_preference = shift;
Debug(5, qq{check_before_edit_MX($dom_id, $mx_id, $new_host, $new_exchanger, $new_preference) called});
my ($old_name, $old_exchanger, $old_preference, $old_ttl) = $dbh->mx_lookup($dom_id, $mx_id);
return 1 if $old_name eq $new_host && $old_preference eq $new_preference;
if ($dbh->is_duplicate_MX($dom_id, $new_host, $new_preference)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
return 0;
}
return 1;
}
sub check_before_edit_NS {
my $dom_id = shift;
my $ns_id = shift;
my $new_host = shift;
my $new_ns = shift;
Debug(5, qq{check_before_edit_NS($dom_id, $ns_id, $new_host, $new_ns) called});
my ($old_name, $old_nameserver, $old_ttl) = $dbh->ns_lookup($dom_id, $ns_id);
return 1 if $old_name eq $new_host && $old_nameserver eq $new_ns;
if ($dbh->is_duplicate_NS($dom_id, $new_host, $new_ns)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
# no PTR record exists that has the same address
return 1;
}
sub check_before_edit_PTR {
my $dom_id = shift;
my $ptr_id = shift;
my $new_host = shift;
my $new_reverse = shift;
Debug(5, qq{check_before_edit_PTR($dom_id, $ptr_id, $new_host, $new_reverse) called});
my ($old_name, $old_reverse, $old_ttl) = $dbh->ptr_lookup($dom_id, $ptr_id);
return 1 if $old_name eq $new_host && $old_reverse eq $new_reverse;
if ($dbh->is_duplicate_PTR($dom_id, $new_host, $new_reverse)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
return 0;
}
return 1;
}
sub check_before_edit_TXT {
my $dom_id = shift;
my $txt_id = shift;
my $new_host = shift;
my $new_txt = shift;
Debug(5, qq{check_before_edit_TXT($dom_id, $txt_id, $new_host, $new_txt) called});
my ($old_name, $old_txt, $old_ttl) = $dbh->txt_lookup($dom_id, $txt_id);
return 1 if $old_name eq $new_host && $old_txt eq $new_txt;
if ($dbh->is_duplicate_TXT($dom_id, $new_host, $new_txt)) {
return 0;
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
}
if ($action eq 'view') {
Debug(3, qq{pushing view_domain() to PerlHandler});
$r->push_handlers(PerlHandler => \&view_domain);
} elsif ($action eq 'edit') {
Debug(3, qq{pushing edit_record() to PerlHandler});
$r->push_handlers(PerlHandler => \&edit_record);
} elsif ($action eq 'add') {
Debug(3, qq{pushing add_record() to PerlHandler});
$r->push_handlers(PerlHandler => \&add_record);
} elsif ($action eq 'delete') {
Debug(3, qq{pushing delete_record() to PerlHandler});
lib/Apache/DnsZone.pm view on Meta::CPAN
$dbh->close();
return REDIRECT;
}
# check for record_id & type
unless (apr()->param('type')) {
$r->log_reason("No type specified for edit");
output_redirect($r, 1, '/admin');
$dbh->close();
return REDIRECT;
}
my $type = uc apr()->param('type');
lib/Apache/DnsZone.pm view on Meta::CPAN
$dbh->close();
return REDIRECT;
}
# check for record_id & type
unless (apr()->param('type')) {
$r->log_reason("No type specified for edit");
output_redirect($r, 1, '/admin');
$dbh->close();
return REDIRECT;
}
my $type = uc apr()->param('type');
lib/Apache/DnsZone.pm view on Meta::CPAN
$dbh->close();
return OK;
}
}
sub edit_record {
my $r = shift || Apache->request();
Debug(3, qq{calling edit_record()});
init($r);
my $user = $r->connection->user;
my ($uid, $email, $lang_id, $lang) = $dbh->get_user_info($user);
# same as in view_domain() maybe a function should be built for this?
lib/Apache/DnsZone.pm view on Meta::CPAN
$dbh->close();
return REDIRECT;
}
# check for record_id & type
unless (apr()->param('type')) {
$r->log_reason("No type specified for edit");
output_redirect($r, 1, '/admin');
$dbh->close();
return REDIRECT;
}
my $type = uc apr()->param('type');
lib/Apache/DnsZone.pm view on Meta::CPAN
$dbh->close();
return REDIRECT;
}
if (apr()->param('button') && lc(apr()->param('button')) eq lc($lang{'SUBMIT'})) {
Debug(5, qq{This is a submit of edit_record request});
for ($type) {
if (/^SOA$/) {
my $soa_email = apr()->param('soa_email');
my $refresh = apr()->param('refresh');
my $retry = apr()->param('retry');
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'soa/edit.tpl');
$tpl->assign(ADMIN_EMAIL_VALUE => encode_entities(apr()->param('soa_email')));
$tpl->assign(REFRESH_VALUE => encode_entities(apr()->param('refresh')));
$tpl->assign(RETRY_VALUE => encode_entities(apr()->param('retry')));
$tpl->assign(EXPIRE_VALUE => encode_entities(apr()->param('expire')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('default_ttl')));
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_A($dom_id, $record_id, $host, $ip)) {
# update dns! and sql
# check wheter name is the same? so no need for update?
# check wheter an excact copy exists in dns to avoid errors
if (is_updated_A($dom_id, $record_id, $host, $ip, $ttl)) {
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'a/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host'))); # maybe it needs to fully qualify it if it was okay?
$tpl->assign(IP_ADDRESS_VALUE => encode_entities(apr()->param('ip')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
# do the red-marker assignment
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_AAAA($dom_id, $record_id, $host, $ipv6)) {
# update dns! and sql
# check wheter name is the same? so no need for update?
# check wheter an excact copy exists in dns to avoid errors
if (is_updated_AAAA($dom_id, $record_id, $host, $ipv6, $ttl)) {
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'aaaa/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host'))); # maybe it needs to fully qualify it if it was okay?
$tpl->assign(IPV6_ADDRESS_VALUE => encode_entities(apr()->param('ipv6')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
# do the red-marker assignment
lib/Apache/DnsZone.pm view on Meta::CPAN
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
# do the update dance!
if ($all_set && check_before_edit_CNAME($dom_id, $record_id, $host, $cname)) {
# update dns! and sql
# check wheter name is the same? so no need for update?
# check wheter an excact copy exists in dns to avoid errors
if (is_updated_CNAME($dom_id, $record_id, $host, $cname, $ttl)) {
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'cname/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host')));
$tpl->assign(CNAME_VALUE => encode_entities(apr()->param('cname')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
my $error_text = $lang{ERROR_CORRECT};
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_MX($dom_id, $record_id, $host, $exchanger, $preference)) {
if (is_updated_MX($dom_id, $record_id, $host, $exchanger, $preference, $ttl)) {
if (dns_update_MX($dom_id, $record_id, $host, $exchanger, $preference, $ttl)) {
Debug(2, qq{dns_update_MX succeded\n});
} else {
Debug(2, qq{dns_update_MX failed\n});
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'mx/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host')));
$tpl->assign(MX_VALUE => encode_entities(apr()->param('exchanger')));
$tpl->assign(PREFERENCE_VALUE => encode_entities(apr()->param('preference')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_NS($dom_id, $record_id, $zone, $nameserver)) {
if (is_updated_NS($dom_id, $record_id, $zone, $nameserver, $ttl)) {
if (dns_update_NS($dom_id, $record_id, $zone, $nameserver, $ttl)) {
Debug(2, qq{dns_update_NS succeded\n});
} else {
Debug(2, qq{dns_update_NS failed\n});
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'ns/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('zone')));
$tpl->assign(NS_VALUE => encode_entities(apr()->param('nsdname')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
my $error_text = $lang{ERROR_CORRECT};
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_PTR($dom_id, $record_id, $host, $reverse)) {
# update dns! and sql
# check wheter name is the same? so no need for update?
# check wheter an excact copy exists in dns to avoid errors
if (is_updated_PTR($dom_id, $record_id, $host, $reverse, $ttl)) {
lib/Apache/DnsZone.pm view on Meta::CPAN
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'ptr/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host'))); # maybe it needs to fully qualify it if it was okay?
$tpl->assign(REVERSE_HOST_VALUE => encode_entities(apr()->param('reverse')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
# do the red-marker assignment
lib/Apache/DnsZone.pm view on Meta::CPAN
}
my $ttl = apr()->param('ttl');
if (!check_ttl($ttl)) {
$all_set = 0;
}
if ($all_set && check_before_edit_TXT($dom_id, $record_id, $host, $txtdata)) {
if (is_updated_TXT($dom_id, $record_id, $host, $txtdata, $ttl)) {
if (dns_update_TXT($dom_id, $record_id, $host, $txtdata, $ttl)) {
Debug(2, qq{dns_update_TXT succeded\n});
} else {
Debug(2, qq{dns_update_TXT failed\n});
lib/Apache/DnsZone.pm view on Meta::CPAN
my $page_title = $lang{PAGE_EDIT};
$page_title =~ s/\$record/$type/;
$page_title =~ s/\$domain/$domain/;
$tpl->assign(TITLE => $page_title);
$tpl->define(record => 'txt/edit.tpl');
$tpl->assign(HOST_VALUE => encode_entities(apr()->param('host')));
$tpl->assign(TXT_VALUE => encode_entities(apr()->param('txtdata')));
$tpl->assign(TTL_VALUE => encode_entities(apr()->param('ttl')));
my $error_text = $lang{ERROR_CORRECT};
lib/Apache/DnsZone.pm view on Meta::CPAN
output_redirect($r, 1, qq{/admin?action=view&dom_id=$dom_id});
$dbh->close();
return REDIRECT;
} else {
# is view
Debug(5, qq{This is a view of edit_record request});
my $tpl = new CGI::FastTemplate($cfg->{'cfg'}->{DnsZoneTemplateDir});
$tpl->define(layout => 'layout.tpl', menu => 'menu.tpl');
$tpl->assign(%lang);
$tpl->assign(DEBUG => '');
lib/Apache/DnsZone.pm view on Meta::CPAN
$tpl->assign(EXPLANATION => $lang{EDIT_FIELDS});
for ($type) {
if (/^SOA$/) {
my ($auth_ns, $soa_email, $serial, $refresh, $retry, $expire, $default_ttl) = $dbh->soa_lookup($dom_id);
$soa_email =~ s/\./\@/;
$tpl->define(record => 'soa/edit.tpl');
$tpl->assign(AUTH_NS_VALUE => $auth_ns);
$tpl->assign(SERIAL_VALUE => $serial);
$tpl->assign(ADMIN_EMAIL_VALUE => $soa_email);
$tpl->assign(REFRESH_VALUE => $refresh);
$tpl->assign(RETRY_VALUE => $retry);
$tpl->assign(EXPIRE_VALUE => $expire);
$tpl->assign(TTL_VALUE => $default_ttl);
}
elsif (/^A$/) {
my ($name, $address, $ttl) = $dbh->a_lookup($dom_id, $record_id);
$tpl->define(record => 'a/edit.tpl');
$tpl->assign(HOST_VALUE => $name);
$tpl->assign(IP_ADDRESS_VALUE => $address);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^AAAA$/) {
my ($name, $address, $ttl) = $dbh->aaaa_lookup($dom_id, $record_id);
$tpl->define(record => 'aaaa/edit.tpl');
$tpl->assign(HOST_VALUE => $name);
$tpl->assign(IPV6_ADDRESS_VALUE => $address);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^CNAME$/) {
my ($name, $cname, $ttl) = $dbh->cname_lookup($dom_id, $record_id);
$tpl->define(record => 'cname/edit.tpl');
$tpl->assign(HOST_VALUE => $name);
$tpl->assign(CNAME_VALUE => $cname);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^MX$/) {
my ($name, $exchanger, $preference, $ttl) = $dbh->mx_lookup($dom_id, $record_id);
$tpl->define(record => 'mx/edit.tpl');
$tpl->assign(HOST_VALUE => $name);
$tpl->assign(MX_VALUE => $exchanger);
$tpl->assign(PREFERENCE_VALUE => $preference);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^NS$/) {
my ($name, $nsdname, $ttl) = $dbh->ns_lookup($dom_id, $record_id);
$tpl->define(record => 'ns/edit.tpl');
$tpl->assign(ZONE_VALUE => $name);
$tpl->assign(NS_VALUE => $nsdname);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^PTR$/) {
my ($name, $ptrdname, $ttl) = $dbh->ptr_lookup($dom_id, $record_id);
$tpl->define(record => 'ptr/edit.tpl');
$tpl->assign(HOST_VALUE => $ptrdname);
$tpl->assign(REVERSE_HOST_VALUE => $name);
$tpl->assign(TTL_VALUE => $ttl);
}
elsif (/^TXT$/) {
my ($name, $txtdata, $ttl) = $dbh->txt_lookup($dom_id, $record_id);
$txtdata = encode_entities($txtdata);
$tpl->define(record => 'txt/edit.tpl');
$tpl->assign(HOST_VALUE => $name);
$tpl->assign(TXT_VALUE => $txtdata);
$tpl->assign(TTL_VALUE => $ttl);
}
}
lib/Apache/DnsZone.pm view on Meta::CPAN
$tpl->assign(SOA_RETRY_VALUE => $retry);
$tpl->assign(SOA_EXPIRE_VALUE => $expire);
$tpl->assign(SOA_TTL_VALUE => $default_ttl);
if ($rec_lock == 0) {
$tpl->assign(SOA_EDIT => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=SOA">$lang{EDIT}</a> ]});
} else {
$tpl->assign(SOA_EDIT => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(SOA_RR => "view_domain_soa");
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(A_HOST_VALUE => $A_name);
$tpl->assign(A_IP_VALUE => $A_address);
$tpl->assign(A_TTL_VALUE => $A_ttl);
if ($A_rec_lock == 0) {
$tpl->assign(A_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=A&record_id=$A_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=A&record_id=$A_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(A_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(A_RECORD => ".view_domain_a_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(AAAA_HOST_VALUE => $AAAA_name);
$tpl->assign(AAAA_IPV6_VALUE => $AAAA_address);
$tpl->assign(AAAA_TTL_VALUE => $AAAA_ttl);
if ($AAAA_rec_lock == 0) {
$tpl->assign(AAAA_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=AAAA&record_id=$AAAA_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=AAAA&record_id=$AAAA_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(AAAA_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(AAAA_RECORD => ".view_domain_aaaa_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(CNAME_HOST_VALUE => $CNAME_name);
$tpl->assign(CNAME_CNAME_VALUE => $CNAME_cname);
$tpl->assign(CNAME_TTL_VALUE => $CNAME_ttl);
if ($CNAME_rec_lock == 0) {
$tpl->assign(CNAME_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=CNAME&record_id=$CNAME_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=CNAME&record_id=$CNAME_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(CNAME_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(CNAME_RECORD => ".view_domain_cname_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
$tpl->assign(MX_HOST_VALUE => $MX_name);
$tpl->assign(MX_MX_VALUE => $MX_exchanger);
$tpl->assign(MX_PREFERENCE_VALUE => $MX_preference);
$tpl->assign(MX_TTL_VALUE => $MX_ttl);
if ($MX_rec_lock == 0) {
$tpl->assign(MX_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=MX&record_id=$MX_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=MX&record_id=$MX_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(MX_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(MX_RECORD => ".view_domain_mx_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(NS_ZONE_VALUE => $NS_name);
$tpl->assign(NS_NS_VALUE => $NS_nsdname);
$tpl->assign(NS_TTL_VALUE => $NS_ttl);
if ($NS_rec_lock == 0) {
$tpl->assign(NS_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=NS&record_id=$NS_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=NS&record_id=$NS_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(NS_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(NS_RECORD => ".view_domain_ns_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(PTR_REVERSE_HOST_VALUE => $PTR_name);
$tpl->assign(PTR_HOST_VALUE => $PTR_ptrdname);
$tpl->assign(PTR_TTL_VALUE => $PTR_ttl);
if ($PTR_rec_lock == 0) {
$tpl->assign(PTR_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=PTR&record_id=$PTR_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=PTR&record_id=$PTR_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(PTR_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(PTR_RECORD => ".view_domain_ptr_record");
}
lib/Apache/DnsZone.pm view on Meta::CPAN
}
$tpl->assign(TXT_HOST_VALUE => $TXT_name);
$tpl->assign(TXT_TXT_VALUE => $TXT_txt);
$tpl->assign(TXT_TTL_VALUE => $TXT_ttl);
if ($TXT_rec_lock == 0) {
$tpl->assign(TXT_CHANGE => qq{[ <a href="/admin?action=edit&dom_id=$dom_id&type=TXT&record_id=$TXT_id">$lang{EDIT}</a> | <a href="/admin?action=delete&dom_id=$dom_id&type=TXT&record_id=$TXT_id">$lang{REMOVE}</a> ]});
} else {
$tpl->assign(TXT_CHANGE => qq{<i>$lang{LOCKED}</i>});
}
$tpl->parse(TXT_RECORD => ".view_domain_txt_record");
}
view all matches for this distribution
view release on metacpan or search on metacpan
0.16 Sat Oct 09 19:30:00 2004
- bugfix. Content-Type was overwritten to default text/html during the streaming of a static
file because $r->header_out('Content-Type') was not set, however $r->content_type is set
properly in PerlLibTreeTrans URI_Translation_Handler. Fixed in two places.
- documentation was lightly edited, especially regarding the details of module installation
and appropriate mod_perl configuration. Thanks to Kevin Austin for the hints.
- README was reformatted back to plain text.
- META.yml was created manually and added to MANIFEST.
0.15 Sun May 02 15:11:00 2004
within the Filter chain. Documentation and the code were cleaned up in order to make sure
that UseCGIHeadersFromScript does not affect functionality inside the Filter chain.
23843 May 11 00:28 Apache-Dynagzip-0.15.tar.gz
0.14 Sat Apr 24 22:50:00 2004
- documentation was edited in order to make it more clear, especially
regarding previous code changes.
23642 Apr 30 21:15 Apache-Dynagzip-0.14.tar.gz
0.13 Mon Apr 05 22:40:00 2004
- bugfix. Richard Chen discovered the unconditional retrievement of HTTP headers
30927 Jul 20 01:09 Apache-Dynagzip-0.10.tar.gz
0.09 Sun Jan 05 01:45:00 2003
- Vlad Jebelev's patch was applied in order to serve possible dynamic Apache downgrade to HTTP/1.0
(especially processing MSIE requests over SSL).
- documentation was edited.
30564 Jan 5 02:45 Apache-Dynagzip-0.09.tar.gz
0.08 Sat Dec 07 23:15:00 2002
- bugfix. The bug was affecting the transmissions of plain static files only
when gzip compression is turned off and light compression is turned on.
30155 Dec 8 00:24 Apache-Dynagzip-0.08.tar.gz
0.07 Sun Aug 11 14:58:00 2002
- advanced control over the client/proxy cache is provided vith Vary extra value
optionally inputed from the configuration file.
- documentation is edited.
29819 Oct 6 14:16 Apache-Dynagzip-0.07.tar.gz
0.06 Mon Jun 24 13:05:00 2002
- HTTP/1.0 bug is fixed. No chunks for HTTP/1.0 since now.
Just no Content-Length, and Connection: close instead.
gzip compression is provided for HTTP/1.0 in accordance with Accept-Encoding.
- light compression exception for <PRE>...</PRE> tag is implemented.
- documentation is edited appropriately.
26322 Jul 24 16:17 Apache-Dynagzip-0.06.tar.gz
0.05 Sat Jun 15 18:00:00 2002
- Makefile.PL is fixed in order to survive CPAN tests
25110 Jun 15 18:28 Apache-Dynagzip-0.05.tar.gz
0.03 Sun May 26 14:26:00 2002
- fundamental revision of the code to avoid possible copyright questions from Outlook Technologies, Inc.
My own decision to publish the code on CPAN could never be considered an any kind of competition with OLT
business, since my layoff clearly demonstrates the fact, that OLT has no business interests
in this market of products and services, and does not plan to work on this market in future.
- documentation is edited appropriately.
23002 Jun 3 12:17 Apache-Dynagzip-0.03.tar.gz
0.02 Fri Mar 22 12:07
- documentation is edited - thanks to Tom Evans <tevans@outlook.net> for README Abstract.
11169 Apr 27 13:16 Apache-Dynagzip-0.02.tar.gz
0.01 Mon Jan 14 10:31:52 2002
- original version; created by h2xs 1.21 with options
-A -X -n Apache::Dynagzip
view all matches for this distribution
view release on metacpan or search on metacpan
ApacheSoftwareLicense view on Meta::CPAN
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
view all matches for this distribution
view release on metacpan or search on metacpan
t/htdocs/index.html view on Meta::CPAN
<!-- WARNING: this file is generated, do not edit
01: /Library/Perl/Apache/TestConfig.pm:745
02: /Library/Perl/Apache/TestConfig.pm:763
03: /Library/Perl/Apache/TestConfig.pm:1055
04: /Library/Perl/Apache/TestConfig.pm:1258
05: /Library/Perl/Apache/TestRun.pm:409
view all matches for this distribution
view release on metacpan or search on metacpan
Resumable.pm view on Meta::CPAN
#doit;
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
Apache::File::Resumable - example of how to serve resumable files under modperl
view all matches for this distribution
view release on metacpan or search on metacpan
FileManager.pm view on Meta::CPAN
=head1 DESCRIPTION
The Apache::FileManager module is a simple HTML file manager. It provides
file manipulations such as cut, copy, paste, delete, rename, extract archive,
create directory, create file, edit file, and upload files.
Apache::FileManager also has the ability to rsync the server htdocs tree to
another server. With the click of a button.
=head1 PREREQUISITES
FileManager.pm view on Meta::CPAN
#2 become root
#3 give web server user (typically nobody) a home area
I made mine /usr/local/apache/nobody
- production_server> mkdir /usr/local/apache/nobody
- edit passwd file and set new home area for nobody
- production_server> mkdir /usr/local/apache/nobody/.ssh
#4 log onto the development server
#5 become root
#6 give web server user (typically nobody) a home area
- dev_server> mkdir /usr/local/apache/nobody
- dev_server> chown -R nobody.nobody /usr/local/apache/nobody
- edit passwd file and set new home area for nobody
- dev_server> su - nobody
- dev_server> ssh-keygen -t dsa (don't use passphrase)
- dev_server> ssh production_server
(will fail but will make known_hosts file)
- log out from user nobody back to root user
FileManager.pm view on Meta::CPAN
sub view_pre_editfile {
my $o = shift;
my $editfile = r->param('FILEMANAGER_editfile');
my $base = "http://".r->server->server_hostname."/$editfile";
$editfile =~ /([^\/]+)$/;
my $filename = $1;
my $fh;
if (-T $filename && -w $filename) {
$fh = IO::File->new("< ".$filename);
FileManager.pm view on Meta::CPAN
<!-- Styles -->
".$o->html_style_sheet()."
<FORM NAME=FileManagerEditFile ACTION='".r->uri."' METHOD=POST>
".$o->html_hidden_fields()."
<INPUT TYPE=HIDDEN NAME=FILEMANAGER_editfile VALUE=\"".r->param('FILEMANAGER_editfile')."\">
<!-- Header -->
<TABLE WIDTH=100% CELLPADDING=0 CELLSPAING=0><TR>
<TD><FONT COLOR=#3a3a3a><B>$base</B></FONT></TD>
</TR></TABLE>
FileManager.pm view on Meta::CPAN
<TD ALIGN=CENTER><INPUT TYPE=BUTTON VALUE='save' onclick=\"var f = window.document.FileManagerEditFile; f.FILEMANAGER_cmd.value = 'savefiledata'; f.submit(); return false;\"></TD>
</TR></TABLE>
</TD></TR>
<!-- file edit box -->
<TR><TD ALIGN=CENTER BGCOLOR=#efefef>
<TEXTAREA NAME=FILEMANAGER_filedata COLS=$$o{EDIT_COLS} ROWS=$$o{EDIT_ROWS}>$data</TEXTAREA>
</TD></TR>
<!-- Toolbar -->
FileManager.pm view on Meta::CPAN
function get_num_checked() {
var sel_ar = get_sel_ckbox_array();
return sel_ar.length;
}
//function to edit file
function edit_file () {
var sel_ar = get_sel_ckbox_array();
//make sure there is 1 and only 1 selected file
if (sel_ar.length != 1) {
window.alert('Please select ONE file to edit by clicking on a check box with the mouse.');
}
else {
var f= window.document.FileManager;
var cd = escape(f.FILEMANAGER_curr_dir.value);
var editfile = escape(sel_ar[0].value);
var w = window.open('".r->uri."?FILEMANAGER_cmd=editfile&FILEMANAGER_curr_dir='+cd+'&FILEMANAGER_editfile='+editfile, 'FileManagerEditFile', 'scrollbars,resizable');
sel_ar[0].checked = false;
w.focus();
}
}
FileManager.pm view on Meta::CPAN
#Refresh
"<A HREF=# onclick=\"var f=window.document.FileManager; f.submit(); return false;\"><FONT COLOR=WHITE><B>refresh</B></FONT></A>",
#Edit
"<A HREF=# onclick=\"window.edit_file(); return false;\"><FONT COLOR=WHITE><B>edit</B></FONT></A>",
#Cut
"<A HREF=# onclick=\"window.save_names('cut'); return false;\"><FONT COLOR=WHITE><B>cut</B></FONT></A>",
#Copy
FileManager.pm view on Meta::CPAN
var cd = f.FILEMANAGER_curr_dir.value;
if (cd != '') {
rv = cd+'/'+rv;
}
if ((rv != null)&&(rv != '')) {
var w = window.open('".r->uri."?FILEMANAGER_cmd=editfile&FILEMANAGER_curr_dir='+escape(cd)+'&FILEMANAGER_editfile='+escape(rv), 'FileManagerEditFile', 'scrollbars,resizable');
w.focus();
} else if (rv == '') {
window.alert('can not create blank file names');
}
return false;
FileManager.pm view on Meta::CPAN
# -- Commands (called via form input from method execute_cmds or manually) -- #
###############################################################################
sub cmd_savefiledata {
my $o = shift;
my $base = r->param('FILEMANAGER_editfile');
$base =~ /([^\/]+)$/;
my $filename = $1;
remove $filename;
my $fh = IO::File->new("> ".$filename);
print $fh scalar(r->param('FILEMANAGER_filedata'));
$$o{MESSAGE} = "file saved";
$$o{view} = "pre_editfile";
return undef;
}
sub cmd_editfile {
my $o = shift;
my $base = r->param('FILEMANAGER_editfile');
$base =~ /([^\/]+)$/;
my $filename = $1;
if (! -e $filename) {
my $fh = IO::File->new("> ".$filename);
FileManager.pm view on Meta::CPAN
window.opener.document.FileManager.submit();
}
");
}
}
$$o{view} = "pre_editfile";
}
sub cmd_paste {
view all matches for this distribution
view release on metacpan or search on metacpan
Thumbnail.pm view on Meta::CPAN
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
Apache::GD::Thumbnail - Apache module which generates on-the-fly thumbnails using GD and libjpeg
view all matches for this distribution
view release on metacpan or search on metacpan
- Comments for each picture changed to be in
picture.jpg.comments (Thomas Eibner)
- Scale thumbnails correct when images are rotated 90-degrees. (Me)
0.2 Sun Oct 14 19:57:06 2001
- addcomments.pl renamed to gallery-editcomments.pl
- Added "viewing picture X of Y" when viewing images
- Switched to using Imlib2 instead of GD. Apache::Gallery
now supports all the image formats Imlib2 supports.
- Added gallery-buildcache.pl script to generated thumbnails
(Usefull if your browser times out the first time you
visit a new gallery)
0.1.1 Sat Sep 30 01:10:03 2001
- Added src/addcomments.pl script for editing picture
comments.
- Templates have been updated by Erwin Lansing and
Thomas Kjaer and are now much nicer by default!
view all matches for this distribution
view release on metacpan or search on metacpan
Apache/Geo/IP.pm view on Meta::CPAN
IP blocks as keys, and countries as values. This database should be more
complete and accurate than reverse DNS lookups.
This module can be used to automatically select the geographically
closest mirror, to analyze your web server logs
to determine the countries of your visiters, for credit card fraud
detection, and for software export controls.
To find a country for an IP address, this module a finds the Network
that contains the IP address, then returns the country the Network is
assigned to.
view all matches for this distribution
view release on metacpan or search on metacpan
Perishable.pm view on Meta::CPAN
# Autoload methods go after =cut, and are processed by the autosplit program.
1;
__END__
# Below is stub documentation for your module. You better edit it!
=head1 NAME
Apache::Htpasswd::Perishable - Perl extension for expiring htaccess entries
view all matches for this distribution
view release on metacpan or search on metacpan
ppport.h -- Perl/Pollution/Portability Version 3.03
Automatically created by Devel::PPPort running under
perl 5.008006 on Wed Sep 21 13:03:29 2005.
Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
includes in parts/inc/ instead.
Use 'perldoc ppport.h' to view the documentation below.
----------------------------------------------------------------------
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/JAF.pm view on Meta::CPAN
sub disable_footer { undef $_[0]->{footer} }
sub disable_header_footer { $_[0]->disable_header(); $_[0]->disable_footer(); }
sub download_type { $_[0]->{type} = 'application/x-force-download'; }
sub download_it { $_[0]->disable_header_footer(); $_[0]->download_type(); }
### methods for JAF database editing
sub default_record_edit {
my ($self, $tbl, $options) = @_;
if ($self->{r}->method() eq 'POST' && $self->param('act') eq 'edit') {
$tbl->update({
$tbl->{key} => $self->param($tbl->{key}),
map {defined $self->{r}->param($_) ? ($_ => $self->param($_)) : $options->{checkbox} && exists $options->{checkbox}{$_} ? ($_ => $options->{checkbox}{$_}) : ()} @{$tbl->{cols}}
}, $options);
}
}
sub default_table_edit {
my ($self, $tbl, $options) = @_;
if ($self->{r}->method() eq 'POST' && $self->param('act') eq 'edit') {
for (my $i=1; defined $self->param("$tbl->{key}_$i"); $i++) {
$tbl->delete({
$tbl->{key} => $self->param("$tbl->{key}_$i")
}, $options) if $self->param("dowhat_$i") eq 'del';
$tbl->update({
view all matches for this distribution
view release on metacpan or search on metacpan
Language/Constants.pm view on Meta::CPAN
# Autoload methods go after =cut, and are processed by the autosplit program.
1;
__END__
# Below is the stub of documentation for your module. You better edit it!
=head1 NAME
Apache::Language::Constants - Apache::Language constants for use by LanguageHandlers
view all matches for this distribution
view release on metacpan or search on metacpan
# This Makefile is for the Apache::LoadAvgLimit extension to perl.
#
# It was generated automatically by MakeMaker version
# 6.62 (Revision: 66200) from the contents of
# Makefile.PL. Don't edit this file, edit Makefile.PL instead.
#
# ANY CHANGES MADE HERE WILL BE LOST!
#
# MakeMaker ARGV: ()
#
view all matches for this distribution
view release on metacpan or search on metacpan
perl Makefile.PM
make
make test
make install
You'll then need to edit your httpd.conf (or appropriate Apache config file)
<Location /path>
PerlLogHandler Apache::LogIgnore
PerlSetVar DebugFlag 1
PerlSetVar IgnoreHost 192.168.0.2
view all matches for this distribution
view release on metacpan or search on metacpan
$user_sent = lc($user_sent) if $Attr->{uidcasesensitive} eq "off";
# select code to return if authorization is denied:
my ($authz_denied);
if (MP2) {
$authz_denied = $Attr->{expeditive} eq 'on' ? Apache2::Const::FORBIDDEN() : Apache2::Const::AUTH_REQUIRED();
} else {
$authz_denied = $Attr->{expeditive} eq 'on' ? Apache::Constants::FORBIDDEN() : Apache::Constants::AUTH_REQUIRED();
}
# check if requirements exists
my ($ary_ref) = $r->requires;
unless ($ary_ref) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/Logmonster.pm view on Meta::CPAN
if ( !$util->clean_tmp_dir( $tmpdir, debug => 1, fatal=>0 ) ) {
croak "\nfailed to clean out $tmpdir";
}
}
die "\nFATAL: you must edit logmonster.conf and set default_vhost!\n"
if ! defined $conf->{'default_vhost'};
if ( $conf->{'time_offset'} ) {
my ( $dd, $mm, $yy, $lm, $hh, $mn ) = $util->get_the_date( debug=>0 );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Apache/MONITOR.pm view on Meta::CPAN
<body>
$msg
<a href="$monitored_uri">$monitored_uri</a>
<br />
<br />
To edit or remove your subscription, visit the
<a href="$mon_url">monitor page</a>
</body>
</html>
});
}
view all matches for this distribution
view release on metacpan or search on metacpan
my $self = shift;
my $dir = shift; # actually not used
my $mp3s = shift;
#allow masking of 'Authored by Lincoln...' and helplink.
return if $self->r->dir_config('SuppressCredits');
print
table({-width=>'100%',-border=>0},
TR(
td({$self->aleft},
view all matches for this distribution