projects
/
matthijs
/
upstream
/
blosxom.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add initial static_basic static test case.
[matthijs/upstream/blosxom.git]
/
blosxom.cgi
diff --git
a/blosxom.cgi
b/blosxom.cgi
index 685274659872314cbbbcd98707fa035354413a0a..37480ba3cb53f0508f1d36a852a13820b700e1f6 100755
(executable)
--- a/
blosxom.cgi
+++ b/
blosxom.cgi
@@
-79,7
+79,7
@@
$static_entries = 0;
# --------------------------------
use vars
# --------------------------------
use vars
- qw! $version $blog_title $blog_description $blog_language $blog_encoding $datadir $url %template $template $depth $num_entries $file_extension $default_flavour $static_or_dynamic $config_dir $plugin_list $plugin_path $plugin_dir $plugin_state_dir @plugins %plugins $static_dir $static_password @static_flavours $static_entries $path_info $path_info_yr $path_info_mo $path_info_da $path_info_mo_num $flavour $static_or_dynamic %month2num @num2month $interpolate $entries $output $header $show_future_entries %files %indexes %others !;
+ qw! $version $blog_title $blog_description $blog_language $blog_encoding $datadir $url %template $template $depth $num_entries $file_extension $default_flavour $static_or_dynamic $config_dir $plugin_list $plugin_path $plugin_dir $plugin_state_dir @plugins %plugins $static_dir $static_password @static_flavours $static_entries $path_info $path_info_yr $path_info_mo $path_info_da $path_info_mo_num $flavour $static_or_dynamic %month2num @num2month $interpolate $entries $output $header $show_future_entries %files %indexes %others
$encode_xml_entities
!;
use strict;
use FileHandle;
use strict;
use FileHandle;
@@
-90,6
+90,9
@@
use CGI qw/:standard :netscape/;
$version = "2.0.2";
$version = "2.0.2";
+# Should I encode entities for xml content-types? (plugins can turn this off if they do it themselves)
+$encode_xml_entities = 1;
+
# Load configuration from $ENV{BLOSXOM_CONFIG_DIR}/blosxom.conf, if it exists
my $blosxom_config;
if ( $ENV{BLOSXOM_CONFIG_FILE} && -r $ENV{BLOSXOM_CONFIG_FILE} ) {
# Load configuration from $ENV{BLOSXOM_CONFIG_DIR}/blosxom.conf, if it exists
my $blosxom_config;
if ( $ENV{BLOSXOM_CONFIG_FILE} && -r $ENV{BLOSXOM_CONFIG_FILE} ) {
@@
-510,10
+513,10
@@
sub generate {
# Define default interpolation subroutine
$interpolate = sub {
# Define default interpolation subroutine
$interpolate = sub {
-
package blosxom;
my $template = shift;
package blosxom;
my $template = shift;
- $template =~ s/(\$\w+(?:::\w+)*)/"defined $1 ? $1 : ''"/gee;
+ # Interpolate scalars, namespaced scalars, and hash/hashref scalars
+ $template =~ s/(\$\w+(?:::\w+)*(?:(?:->)?{(['"]?)[-\w]+\2})?)/"defined $1 ? $1 : ''"/gee;
return $template;
};
return $template;
};
@@
-648,7
+651,7
@@
sub generate {
}
}
}
}
- if ( $content_type =~ m{\bxml\b} ) {
+ if ( $
encode_xml_entities && $
content_type =~ m{\bxml\b} ) {
# Escape <, >, and &, and to produce valid RSS
my %escape = (
# Escape <, >, and &, and to produce valid RSS
my %escape = (
@@
-726,7
+729,7
@@
html content_type text/html; charset=$blog_encoding
html head <html>
html head <head>
html head <meta http-equiv="content-type" content="text/html;charset=$blog_encoding" />
html head <html>
html head <head>
html head <meta http-equiv="content-type" content="text/html;charset=$blog_encoding" />
-html head <link rel="alternate" type="
type="
application/rss+xml" title="RSS" href="$url/index.rss" />
+html head <link rel="alternate" type="application/rss+xml" title="RSS" href="$url/index.rss" />
html head <title>$blog_title $path_info_da $path_info_mo $path_info_yr
html head </title>
html head </head>
html head <title>$blog_title $path_info_da $path_info_mo $path_info_yr
html head </title>
html head </head>