e6a46ac87f958486b1d1bcef8e80dcd872ad81fe
hiram
  Sat Jun 10 19:01:23 2023 -0700
adding silent google reCAPTCHA v3 function to hgUserSuggestion refs #31325

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index d94542a..342e9b8 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -2636,30 +2636,40 @@
 {
 va_list args;
 va_start(args, format);
 cartVaWebStartMaybeHeader(cart, db, TRUE, format, args);
 va_end(args);
 }
 
 void cartWebEnd()
 /* Write out HTML footer and get rid or error handler. */
 {
 webEnd();
 popWarnHandler();
 inWeb = FALSE;
 }
 
+void cartWebEndExtra(char *footer)
+/* Write out HTML footer and get rid or error handler, with extra text
+ * at the end of the page as desired.
+ */
+{
+webEndExtra(footer);
+popWarnHandler();
+inWeb = FALSE;
+}
+
 void cartFooter(void)
 /* Write out HTML footer, possibly with googleAnalytics too */
 {
 #ifndef GBROWSE
 googleAnalytics();	/* can't do this in htmlEnd	*/
 #endif /* GBROWSE */
 htmlEnd();		/* because it is in a higher library */
 }
 
 void cartHtmlEnd()
 /* Write out HTML footer and get rid or error handler. */
 {
 if (inWeb)
     webEnd();	/*	this does googleAnalytics for a lot of CGIs	*/
 else if (didCartHtmlStart)