X-Git-Url: https://git.deb.at/?p=pkg%2Fblosxom.git;a=blobdiff_plain;f=blosxom.cgi;h=ad19c9a196b65ba0f7b73000b98bad4104c4f126;hp=4bdfc4aa30a829d883cc5969713d4163f95ef4e9;hb=e509ddebed9fa275039288325945dce70833194e;hpb=e7483d449a3172827806504bb5fb620da8ad1a26 diff --git a/blosxom.cgi b/blosxom.cgi index 4bdfc4a..ad19c9a 100755 --- a/blosxom.cgi +++ b/blosxom.cgi @@ -19,6 +19,9 @@ $blog_description = "Yet another Blosxom weblog."; # What's this blog's primary language (for outgoing RSS feed)? $blog_language = "en"; +# What's this blog's text encoding ? +$blog_encoding = "UTF-8"; + # Where are this blog's entries kept? $datadir = "/Library/WebServer/Documents/blosxom"; @@ -70,13 +73,14 @@ $static_entries = 0; # -------------------------------- -use vars qw! $version $blog_title $blog_description $blog_language $datadir $url %template $template $depth $num_entries $file_extension $default_flavour $static_or_dynamic $config_dir $plugin_list $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 !; +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_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 !; use strict; use FileHandle; use File::Find; use File::stat; use Time::localtime; +use Time::Local; use CGI qw/:standard :netscape/; $version = "2.0.2"; @@ -419,8 +423,8 @@ sub generate { $path &&= "/$path"; # Date fiddling for by-{year,month,day} archive views - use vars qw/ $dw $mo $mo_num $da $ti $yr $hr $min $hr12 $ampm /; - ($dw,$mo,$mo_num,$da,$ti,$yr) = nice_date($files{"$path_file"}); + use vars qw/ $dw $mo $mo_num $da $ti $yr $hr $min $hr12 $ampm $utc_offset/; + ($dw,$mo,$mo_num,$da,$ti,$yr,$utc_offset) = nice_date($files{"$path_file"}); ($hr,$min) = split /:/, $ti; ($hr12, $ampm) = $hr >= 12 ? ($hr - 12,'pm') : ($hr, 'am'); $hr12 =~ s/^0//; $hr12 == 0 and $hr12 = 12; @@ -494,11 +498,15 @@ sub nice_date { my($unixtime) = @_; my $c_time = ctime($unixtime); - my($dw,$mo,$da,$ti,$yr) = ( $c_time =~ /(\w{3}) +(\w{3}) +(\d{1,2}) +(\d{2}:\d{2}):\d{2} +(\d{4})$/ ); + my($dw,$mo,$da,$hr,$min,$yr) = ( $c_time =~ /(\w{3}) +(\w{3}) +(\d{1,2}) +(\d{2}):(\d{2}):\d{2} +(\d{4})$/ ); + $ti="$hr:$min"; $da = sprintf("%02d", $da); my $mo_num = $month2num{$mo}; - - return ($dw,$mo,$mo_num,$da,$ti,$yr); + + my $offset = timegm(00, $min, $hr, $da, $mo_num-1, $yr-1900)-$unixtime; + my $utc_offset = sprintf("%+03d", int($offset / 3600)).sprintf("%02d", ($offset % 3600)/60) ; + + return ($dw,$mo,$mo_num,$da,$ti,$yr,$utc_offset); } @@ -508,6 +516,7 @@ html content_type text/html html head html head +html head html head html head $blog_title $path_info_da $path_info_mo $path_info_yr html head @@ -538,20 +547,22 @@ html foot rss content_type text/xml -rss head -rss head -rss head -rss head -rss head +rss head +rss head rss head -rss head $blog_title $path_info_da $path_info_mo $path_info_yr -rss head $url +rss head $blog_title +rss head $url/$path_info rss head $blog_description rss head $blog_language +rss head http://blogs.law.harvard.edu/tech/rss +rss head blosxom/$version rss story rss story $title +rss story $dw, $da $mo $yr $ti:00 $utc_offset rss story $url/$yr/$mo_num/$da#$fn +rss story $path +rss story $path/$fn rss story $body rss story @@ -564,7 +575,7 @@ error content_type text/html error head error head -error head

Error: I'm afraid this is the first I've heard of a "$flavour" flavoured Blosxom. Try dropping the "/+$flavour" bit from the end of the URL. +error head

Error: I'm afraid this is the first I've heard of a "$flavour" flavoured Blosxom. Try dropping the "/+$flavour" bit from the end of the URL.

error story

$title