X-Git-Url: https://git.chrismorgan.info/gitweb/blobdiff_plain/e6059930ceff6bdc530f5ae01879f53b6380894f..refs/heads/master:/gitweb.cgi?ds=inline
diff --git a/gitweb.cgi b/gitweb.cgi
index 43fcbc7..5af873c 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")));
 	}
 }
@@ -4134,19 +4123,24 @@ sub print_nav_breadcrumbs_path {
 		print $cgi->a({-href => href(project => undef,
 		                             project_filter => $dirprefix,
 		                             action => "project_list")},
-			      esc_html($part)) . " / ";
+			      esc_html($part)) . "/";
 	}
 }
 
 sub print_nav_breadcrumbs {
 	my %opts = @_;
+	my $sep = to_utf8("  âºÂ  ");
 
+	my $first = 1;
 	for my $crumb (@extra_breadcrumbs, [ $home_link_str => $home_link ]) {
-		print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]) . " / ";
+		print $sep unless $first;
+		$first = 0;
+		print $cgi->a({-href => esc_url($crumb->[1])}, $crumb->[0]);
 	}
 	if (defined $project) {
 		my @dirname = split '/', $project;
 		my $projectbasename = pop @dirname;
+		print $sep;
 		print_nav_breadcrumbs_path(@dirname);
 		print $cgi->a({-href => href(action=>"summary")}, esc_html($projectbasename));
 		if (defined $action) {
@@ -4155,13 +4149,14 @@ sub print_nav_breadcrumbs {
 				$action_print = $cgi->a({-href => href(action=>$action)},
 					$action);
 			}
-			print " / $action_print";
+			print "$sep$action_print";
 		}
 		if (defined $opts{-action_extra}) {
-			print " / $opts{-action_extra}";
+			print "$sep$opts{-action_extra}";
 		}
 		print "\n";
 	} elsif (defined $project_filter) {
+		print $sep;
 		print_nav_breadcrumbs_path(split '/', $project_filter);
 	}
 }
@@ -4260,7 +4255,7 @@ sub git_end_subhead_html {
 }
 
 sub git_footer_html {
-	my $feed_class = 'rss_logo';
+	my $feed_class = 'feed_logo';
 
 	print "