X-Git-Url: https://git.chrismorgan.info/gitweb/blobdiff_plain/3cca22ac8cb362e0187b9a609355db662b23f158..997771613b0b40fa6b973e741773e564fd241534:/gitweb.cgi
diff --git a/gitweb.cgi b/gitweb.cgi
index 1de74b6..28a64ea 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -519,18 +519,6 @@ our %feature = (
'override' => 0,
'default' => [0]},
- # Enable and configure ability to change common timezone for dates
- # in gitweb output via JavaScript. Enabled by default.
- # Project specific override is not supported.
- 'javascript-timezone' => {
- 'override' => 0,
- 'default' => [
- 'local', # default timezone: 'utc', 'local', or '(-|+)HHMM' format,
- # or undef to turn off this feature
- 'gitweb_tz', # name of cookie where to store selected timezone
- 'datetime', # CSS class used to mark up dates for manipulation
- ]},
-
# Syntax highlighting support. This is based on Daniel Svensson's
# and Sham Chukoury's work in gitweb-xmms2.git.
# It requires the 'highlight' program present in $PATH,
@@ -1874,7 +1862,7 @@ sub esc_html_hl_regions {
$out .= esc_html(substr($str, $pos, $begin - $pos), %opts)
if ($begin - $pos > 0);
- $out .= $cgi->span({-class => $css_class}, $escaped);
+ $out .= "$escaped";
$pos = $end;
}
@@ -1904,7 +1892,7 @@ sub esc_html_match_hl {
my @matches = matchpos_list($str, $regexp);
return esc_html($str) unless @matches;
- return esc_html_hl_regions($str, 'match', @matches);
+ return esc_html_hl_regions($str, undef, @matches);
}
@@ -1936,7 +1924,7 @@ sub esc_html_match_hl_chopped {
push @filtered, $m;
}
- return esc_html_hl_regions($chopped . $tail, 'match', @filtered);
+ return esc_html_hl_regions($chopped . $tail, undef, @filtered);
}
## ----------------------------------------------------------------------
@@ -3044,7 +3032,7 @@ sub git_populate_project_tagcloud {
$title =~ s/^/ /g;
$title =~ s/$/ /g;
if (defined $matched && $matched eq $ctag) {
- $title = qq($title);
+ $title = qq($title);
}
$cloud->add($title, href(project=>undef, ctag=>$ctag),
$ctags_lc{$ctag}->{count});
@@ -3054,7 +3042,7 @@ sub git_populate_project_tagcloud {
foreach my $ctag (keys %ctags_lc) {
my $title = esc_html($ctags_lc{$ctag}->{topname}, -nbsp=>1);
if (defined $matched && $matched eq $ctag) {
- $title = qq($title);
+ $title = qq($title);
}
$cloud->{$ctag}{count} = $ctags_lc{$ctag}->{count};
$cloud->{$ctag}{ctag} =
@@ -3594,12 +3582,13 @@ sub parse_commit_text {
$co{'age'} = $age;
$co{'age_string'} = age_string($age);
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) = gmtime($co{'committer_epoch'});
+ $co{'age_string_iso8601'} = sprintf "%4i-%02u-%02i %02u:%02u:%02uZ", 1900 + $year, $mon+1, $mday, $hour, $min, $sec;
if ($age > 60*60*24*7*2) {
$co{'age_string_date'} = sprintf "%4i-%02u-%02i", 1900 + $year, $mon+1, $mday;
- $co{'age_string_age'} = $co{'age_string'};
+ $co{'age_string_age'} = "$co{'age_string_iso8601'} ($co{'age_string'})";
} else {
$co{'age_string_date'} = $co{'age_string'};
- $co{'age_string_age'} = sprintf "%4i-%02u-%02i", 1900 + $year, $mon+1, $mday;
+ $co{'age_string_age'} = $co{'age_string_iso8601'};
}
return %co;
}
@@ -4097,11 +4086,11 @@ sub print_feed_meta {
} else {
printf(''."\n",
- esc_attr($site_name),
+ esc_attr(to_utf8($site_name)),
esc_attr(href(project=>undef, action=>"project_index")));
printf(''."\n",
- esc_attr($site_name),
+ esc_attr(to_utf8($site_name)),
esc_attr(href(project=>undef, action=>"opml")));
}
}
@@ -4318,20 +4307,13 @@ sub git_footer_html {
qq! "!. esc_attr(href()) .qq!");\n!.
qq!\n!;
} else {
- my ($jstimezone, $tz_cookie, $datetime_class) =
- gitweb_get_feature('javascript-timezone');
-
- if (gitweb_check_feature('javascript-actions') || ($jstimezone && $tz_cookie && $datetime_class)) {
+ if (gitweb_check_feature('javascript-actions')) {
print qq!\n!;
print qq!\n!;
}
@@ -4497,7 +4479,7 @@ sub git_print_header_div {
sub format_repo_url {
my ($name, $url) = @_;
- return "
$name
$url
\n";
+ return "
$name
$url
\n";
}
# Group output by placing it in a DIV element and adding a header.
@@ -4540,20 +4522,8 @@ sub git_print_section {
sub format_timestamp_html {
my $date = shift;
- my $strtime = $date->{'rfc2822'};
- my (undef, undef, $datetime_class) =
- gitweb_get_feature('javascript-timezone');
- if ($datetime_class) {
- $strtime = qq!$strtime!;
- }
-
- my $localtime_format = '(%02d:%02d %s)';
- $strtime .= ' ' .
- sprintf($localtime_format,
- $date->{'hour_local'}, $date->{'minute_local'}, $date->{'tz_local'});
-
- return $strtime;
+ return qq!!;
}
# Outputs the author name and date in long form
@@ -4878,11 +4848,11 @@ sub git_difftree_body {
my ($difftree, $hash, @parents) = @_;
my ($parent) = $parents[0];
my $have_blame = gitweb_check_feature('blame');
- print "
\n";
+ print("\n");
+
# If XSS prevention is on, we don't include README.html.
# TODO: Allow a readme in some safe format.
if (!$prevent_xss && -s "$projectroot/$project/README.html") {
+ print("\n");
print "