git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] gitweb: use common parameter parsing and generation for "o", too.

From
Martin Waitz <tali@admingilde.org>
Date
Aug 16, 2006, 22:28 UTC
Message-ID
<11557673212235-git-send-email-tali@admingilde.org>
In-Reply-To
<11557673213372-git-send-email-tali@admingilde.org>

The "o" (list order) parameter was handled special. Now it is generated with the common href() function and parsed together with all other parameters.

Signed-off-by: Martin Waitz <tali@admingilde.org>
---
 gitweb/gitweb.perl |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 72e687e..ed6bd0e 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -91,6 +91,11 @@ if (defined $action) {
 	}
 }
 
+our $order = $cgi->param('o');
+if (defined $order && $order !~ m/project|descr|owner|age/) {
+	die_error(undef, "Unknown order parameter");
+}
+
 our $project = ($cgi->param('p') || $ENV{'PATH_INFO'});
 if (defined $project) {
 	$project =~ s|^/||;
@@ -197,6 +202,7 @@ sub href(%) {
 		hash_base => "hb",
 		page => "pg",
 		searchtext => "s",
+		order => "o",
 	);
 
 	my %params = @_;
@@ -1577,11 +1583,6 @@ ## =====================================
 ## actions
 
 sub git_project_list {
-	my $order = $cgi->param('o');
-	if (defined $order && $order !~ m/project|descr|owner|age/) {
-		die_error(undef, "Unknown order parameter");
-	}
-
 	my @list = git_get_projects_list();
 	my @projects;
 	if (!@list) {
@@ -1624,7 +1625,7 @@ sub git_project_list {
 		print "<th>Project</th>\n";
 	} else {
 		print "<th>" .
-		      $cgi->a({-href => "$my_uri?" . esc_param("o=project"),
+		      $cgi->a({-href => href(order=>"project"),
 		               -class => "header"}, "Project") .
 		      "</th>\n";
 	}
@@ -1633,7 +1634,7 @@ sub git_project_list {
 		print "<th>Description</th>\n";
 	} else {
 		print "<th>" .
-		      $cgi->a({-href => "$my_uri?" . esc_param("o=descr"),
+		      $cgi->a({-href => href(order=>"descr"),
 		               -class => "header"}, "Description") .
 		      "</th>\n";
 	}
@@ -1642,7 +1643,7 @@ sub git_project_list {
 		print "<th>Owner</th>\n";
 	} else {
 		print "<th>" .
-		      $cgi->a({-href => "$my_uri?" . esc_param("o=owner"),
+		      $cgi->a({-href => href(order=>"owner"),
 		               -class => "header"}, "Owner") .
 		      "</th>\n";
 	}
@@ -1651,7 +1652,7 @@ sub git_project_list {
 		print "<th>Last Change</th>\n";
 	} else {
 		print "<th>" .
-		      $cgi->a({-href => "$my_uri?" . esc_param("o=age"),
+		      $cgi->a({-href => href(order=>"age"),
 		               -class => "header"}, "Last Change") .
 		      "</th>\n";
 	}
-- 
1.4.2.rc2.gf055
Previous: Martin WaitzNext: Martin Waitz
Message 2 of 25 in “gitweb: continue consolidation of URL generation.”
  1. gitweb: continue consolidation of URL generation.Martin Waitz, Aug 16, 2006
  2. gitweb: use common parameter parsing and generation for "o", too.Martin Waitz, Aug 16, 2006
  3. gitweb: support for "fp" parameter.Martin Waitz, Aug 16, 2006
  4. gitweb: support for / as home_link.Martin Waitz, Aug 16, 2006
  5. gitweb: fix project list if PATH_INFO=="/".Martin Waitz, Aug 16, 2006
  6. gitweb: use action dispatcher for non-project actions, too.Martin Waitz, Aug 16, 2006
  7. Junio C HamanoAug 17, 2006
  8. Carl WorthAug 17, 2006
  9. Petr BaudisAug 18, 2006
  10. Carl WorthAug 18, 2006
  11. Jakub NarebskiAug 18, 2006
  12. Petr BaudisAug 18, 2006
  13. Martin WaitzAug 17, 2006
  14. Jakub NarebskiAug 17, 2006
  15. Martin WaitzAug 17, 2006
  16. Jakub NarebskiAug 17, 2006
  17. Jakub NarebskiAug 17, 2006
  18. Martin WaitzAug 17, 2006
  19. Jakub NarebskiAug 17, 2006
  20. Martin WaitzAug 18, 2006
  21. Jakub NarebskiAug 19, 2006
  22. Martin WaitzAug 19, 2006
  23. Jakub NarebskiAug 19, 2006
  24. Junio C HamanoAug 17, 2006
  25. Martin WaitzAug 17, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.