Fossil SCM
Remove the "tarzip" query parameter from /timeline. Make the default suggested-tarlist be "off" so that the /tarlist pages is disabled by default.
Commit
bdbf5db22224e287926955e600823d4b8467e587ec3515cc45b50d821a0a4017
Parent
983331a13a9062e…
4 files changed
+2
-2
+1
-1
+4
-10
+2
-11
+2
-2
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -1441,15 +1441,15 @@ | ||
| 1441 | 1441 | @ The example pattern above shows the union of the most recent trunk |
| 1442 | 1442 | @ check-in, the 5 most recent open leaf check-ins, and the 3 most |
| 1443 | 1443 | @ recent check-ins tagged with "release". |
| 1444 | 1444 | @ <p> |
| 1445 | 1445 | @ The /tarlist page is omitted from the <a href="%R/sitemap">/sitemap</a> |
| 1446 | - @ if the first token is "0". The default value is "1 trunk". | |
| 1446 | + @ if the first token is "0" or "off" or "no". The default value is "off". | |
| 1447 | 1447 | @ (Property: suggested-tarlist) |
| 1448 | 1448 | @ <p> |
| 1449 | 1449 | textarea_attribute("Check-ins To Show On /tarlist", 2, 80, |
| 1450 | - "suggested-tarlist", "sgtrlst", "", 0); | |
| 1450 | + "suggested-tarlist", "sgtrlst", "off", 0); | |
| 1451 | 1451 | @ <hr> |
| 1452 | 1452 | @ <p><input type="submit" name="submit" value="Apply Changes"></p> |
| 1453 | 1453 | @ </div></form> |
| 1454 | 1454 | db_end_transaction(0); |
| 1455 | 1455 | style_finish_page(); |
| 1456 | 1456 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1441,15 +1441,15 @@ | |
| 1441 | @ The example pattern above shows the union of the most recent trunk |
| 1442 | @ check-in, the 5 most recent open leaf check-ins, and the 3 most |
| 1443 | @ recent check-ins tagged with "release". |
| 1444 | @ <p> |
| 1445 | @ The /tarlist page is omitted from the <a href="%R/sitemap">/sitemap</a> |
| 1446 | @ if the first token is "0". The default value is "1 trunk". |
| 1447 | @ (Property: suggested-tarlist) |
| 1448 | @ <p> |
| 1449 | textarea_attribute("Check-ins To Show On /tarlist", 2, 80, |
| 1450 | "suggested-tarlist", "sgtrlst", "", 0); |
| 1451 | @ <hr> |
| 1452 | @ <p><input type="submit" name="submit" value="Apply Changes"></p> |
| 1453 | @ </div></form> |
| 1454 | db_end_transaction(0); |
| 1455 | style_finish_page(); |
| 1456 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1441,15 +1441,15 @@ | |
| 1441 | @ The example pattern above shows the union of the most recent trunk |
| 1442 | @ check-in, the 5 most recent open leaf check-ins, and the 3 most |
| 1443 | @ recent check-ins tagged with "release". |
| 1444 | @ <p> |
| 1445 | @ The /tarlist page is omitted from the <a href="%R/sitemap">/sitemap</a> |
| 1446 | @ if the first token is "0" or "off" or "no". The default value is "off". |
| 1447 | @ (Property: suggested-tarlist) |
| 1448 | @ <p> |
| 1449 | textarea_attribute("Check-ins To Show On /tarlist", 2, 80, |
| 1450 | "suggested-tarlist", "sgtrlst", "off", 0); |
| 1451 | @ <hr> |
| 1452 | @ <p><input type="submit" name="submit" value="Apply Changes"></p> |
| 1453 | @ </div></form> |
| 1454 | db_end_transaction(0); |
| 1455 | style_finish_page(); |
| 1456 |
+1
-1
| --- src/sitemap.c | ||
| +++ src/sitemap.c | ||
| @@ -133,11 +133,11 @@ | ||
| 133 | 133 | if( g.perm.Write && zEditGlob[0]!=0 ){ |
| 134 | 134 | @ <li>%z(href("%R/fileedit"))On-line File Editor</li> |
| 135 | 135 | } |
| 136 | 136 | @ </ul> |
| 137 | 137 | } |
| 138 | - if( g.perm.Zip && db_get_boolean("suggested-tarlist",1)!=0 ){ | |
| 138 | + if( g.perm.Zip && db_get_boolean("suggested-tarlist",0)!=0 ){ | |
| 139 | 139 | @ <li>%z(href("%R/tarlist"))Tarballs and ZIPs</a> |
| 140 | 140 | } |
| 141 | 141 | if( g.perm.Read ){ |
| 142 | 142 | @ <li>%z(href("%R/timeline"))Project Timeline</a> |
| 143 | 143 | @ <ul> |
| 144 | 144 |
| --- src/sitemap.c | |
| +++ src/sitemap.c | |
| @@ -133,11 +133,11 @@ | |
| 133 | if( g.perm.Write && zEditGlob[0]!=0 ){ |
| 134 | @ <li>%z(href("%R/fileedit"))On-line File Editor</li> |
| 135 | } |
| 136 | @ </ul> |
| 137 | } |
| 138 | if( g.perm.Zip && db_get_boolean("suggested-tarlist",1)!=0 ){ |
| 139 | @ <li>%z(href("%R/tarlist"))Tarballs and ZIPs</a> |
| 140 | } |
| 141 | if( g.perm.Read ){ |
| 142 | @ <li>%z(href("%R/timeline"))Project Timeline</a> |
| 143 | @ <ul> |
| 144 |
| --- src/sitemap.c | |
| +++ src/sitemap.c | |
| @@ -133,11 +133,11 @@ | |
| 133 | if( g.perm.Write && zEditGlob[0]!=0 ){ |
| 134 | @ <li>%z(href("%R/fileedit"))On-line File Editor</li> |
| 135 | } |
| 136 | @ </ul> |
| 137 | } |
| 138 | if( g.perm.Zip && db_get_boolean("suggested-tarlist",0)!=0 ){ |
| 139 | @ <li>%z(href("%R/tarlist"))Tarballs and ZIPs</a> |
| 140 | } |
| 141 | if( g.perm.Read ){ |
| 142 | @ <li>%z(href("%R/timeline"))Project Timeline</a> |
| 143 | @ <ul> |
| 144 |
+4
-10
| --- src/tar.c | ||
| +++ src/tar.c | ||
| @@ -980,20 +980,13 @@ | ||
| 980 | 980 | if( zType[0]!='c' ){ |
| 981 | 981 | timeline_extra(pQuery, tmFlags, zThisUser, zThisTag); |
| 982 | 982 | }else{ |
| 983 | 983 | int rid = db_column_int(pQuery, 0); |
| 984 | 984 | const char *zUuid = db_column_text(pQuery, 1); |
| 985 | - const char *zDate = db_column_text(pQuery, 2); | |
| 986 | 985 | char *zBrName = branch_of_rid(rid); |
| 987 | - static const char *zProject = 0; | |
| 988 | - int nProject; | |
| 989 | 986 | char *zNm; |
| 990 | 987 | |
| 991 | - if( zProject==0 ) zProject = db_get("project-name","unnamed"); | |
| 992 | - zNm = mprintf("%s-%sZ-%.8s", zProject, zDate, zUuid); | |
| 993 | - nProject = (int)strlen(zProject); | |
| 994 | - zNm[nProject+11] = 'T'; | |
| 995 | 988 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 996 | 989 | @ <nobr>check-in: \ |
| 997 | 990 | @ %z(href("%R/info/%!S",zUuid))<span class='timelineHash'>\ |
| 998 | 991 | @ %S(zUuid)</span></a></nobr><br> |
| 999 | 992 | if( fossil_strcmp(zBrName,"trunk")!=0 ){ |
| @@ -1008,13 +1001,14 @@ | ||
| 1008 | 1001 | if( (tmFlags & TIMELINE_GRAPH)==0 && fossil_strcmp(zBrName,"trunk")!=0 ){ |
| 1009 | 1002 | @ branch: \ |
| 1010 | 1003 | @ %z(href("%R/timeline?r=%t",zBrName))%h(zBrName)</a> |
| 1011 | 1004 | } |
| 1012 | 1005 | } |
| 1013 | - @ %z(href("%R/tarball/%!S/%t.tar.gz",zUuid,zNm))\ | |
| 1006 | + zNm = archive_base_name(rid); | |
| 1007 | + @ %z(href("%R/tarball/%!S/%s.tar.gz",zUuid,zNm))\ | |
| 1014 | 1008 | @ <button>Tarball</button></a> |
| 1015 | - @ %z(href("%R/zip/%!S/%t.zip",zUuid,zNm))\ | |
| 1009 | + @ %z(href("%R/zip/%!S/%s.zip",zUuid,zNm))\ | |
| 1016 | 1010 | @ <button>ZIP Archive</button></a> |
| 1017 | 1011 | fossil_free(zBrName); |
| 1018 | 1012 | fossil_free(zNm); |
| 1019 | 1013 | } |
| 1020 | 1014 | } |
| @@ -1060,11 +1054,11 @@ | ||
| 1060 | 1054 | if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; } |
| 1061 | 1055 | |
| 1062 | 1056 | style_set_current_feature("timeline"); |
| 1063 | 1057 | style_header("Suggested Tarballs And ZIP Archives"); |
| 1064 | 1058 | |
| 1065 | - zTarlistCfg = db_get("suggested-tarlist","1 trunk"); | |
| 1059 | + zTarlistCfg = db_get("suggested-tarlist","off"); | |
| 1066 | 1060 | db_multi_exec( |
| 1067 | 1061 | "CREATE TEMP TABLE tarlist(rid INTEGER PRIMARY KEY);" |
| 1068 | 1062 | ); |
| 1069 | 1063 | if( !g.interp ) Th_FossilInit(0); |
| 1070 | 1064 | Th_SplitList(g.interp, zTarlistCfg, (int)strlen(zTarlistCfg), |
| 1071 | 1065 |
| --- src/tar.c | |
| +++ src/tar.c | |
| @@ -980,20 +980,13 @@ | |
| 980 | if( zType[0]!='c' ){ |
| 981 | timeline_extra(pQuery, tmFlags, zThisUser, zThisTag); |
| 982 | }else{ |
| 983 | int rid = db_column_int(pQuery, 0); |
| 984 | const char *zUuid = db_column_text(pQuery, 1); |
| 985 | const char *zDate = db_column_text(pQuery, 2); |
| 986 | char *zBrName = branch_of_rid(rid); |
| 987 | static const char *zProject = 0; |
| 988 | int nProject; |
| 989 | char *zNm; |
| 990 | |
| 991 | if( zProject==0 ) zProject = db_get("project-name","unnamed"); |
| 992 | zNm = mprintf("%s-%sZ-%.8s", zProject, zDate, zUuid); |
| 993 | nProject = (int)strlen(zProject); |
| 994 | zNm[nProject+11] = 'T'; |
| 995 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 996 | @ <nobr>check-in: \ |
| 997 | @ %z(href("%R/info/%!S",zUuid))<span class='timelineHash'>\ |
| 998 | @ %S(zUuid)</span></a></nobr><br> |
| 999 | if( fossil_strcmp(zBrName,"trunk")!=0 ){ |
| @@ -1008,13 +1001,14 @@ | |
| 1008 | if( (tmFlags & TIMELINE_GRAPH)==0 && fossil_strcmp(zBrName,"trunk")!=0 ){ |
| 1009 | @ branch: \ |
| 1010 | @ %z(href("%R/timeline?r=%t",zBrName))%h(zBrName)</a> |
| 1011 | } |
| 1012 | } |
| 1013 | @ %z(href("%R/tarball/%!S/%t.tar.gz",zUuid,zNm))\ |
| 1014 | @ <button>Tarball</button></a> |
| 1015 | @ %z(href("%R/zip/%!S/%t.zip",zUuid,zNm))\ |
| 1016 | @ <button>ZIP Archive</button></a> |
| 1017 | fossil_free(zBrName); |
| 1018 | fossil_free(zNm); |
| 1019 | } |
| 1020 | } |
| @@ -1060,11 +1054,11 @@ | |
| 1060 | if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; } |
| 1061 | |
| 1062 | style_set_current_feature("timeline"); |
| 1063 | style_header("Suggested Tarballs And ZIP Archives"); |
| 1064 | |
| 1065 | zTarlistCfg = db_get("suggested-tarlist","1 trunk"); |
| 1066 | db_multi_exec( |
| 1067 | "CREATE TEMP TABLE tarlist(rid INTEGER PRIMARY KEY);" |
| 1068 | ); |
| 1069 | if( !g.interp ) Th_FossilInit(0); |
| 1070 | Th_SplitList(g.interp, zTarlistCfg, (int)strlen(zTarlistCfg), |
| 1071 |
| --- src/tar.c | |
| +++ src/tar.c | |
| @@ -980,20 +980,13 @@ | |
| 980 | if( zType[0]!='c' ){ |
| 981 | timeline_extra(pQuery, tmFlags, zThisUser, zThisTag); |
| 982 | }else{ |
| 983 | int rid = db_column_int(pQuery, 0); |
| 984 | const char *zUuid = db_column_text(pQuery, 1); |
| 985 | char *zBrName = branch_of_rid(rid); |
| 986 | char *zNm; |
| 987 | |
| 988 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 989 | @ <nobr>check-in: \ |
| 990 | @ %z(href("%R/info/%!S",zUuid))<span class='timelineHash'>\ |
| 991 | @ %S(zUuid)</span></a></nobr><br> |
| 992 | if( fossil_strcmp(zBrName,"trunk")!=0 ){ |
| @@ -1008,13 +1001,14 @@ | |
| 1001 | if( (tmFlags & TIMELINE_GRAPH)==0 && fossil_strcmp(zBrName,"trunk")!=0 ){ |
| 1002 | @ branch: \ |
| 1003 | @ %z(href("%R/timeline?r=%t",zBrName))%h(zBrName)</a> |
| 1004 | } |
| 1005 | } |
| 1006 | zNm = archive_base_name(rid); |
| 1007 | @ %z(href("%R/tarball/%!S/%s.tar.gz",zUuid,zNm))\ |
| 1008 | @ <button>Tarball</button></a> |
| 1009 | @ %z(href("%R/zip/%!S/%s.zip",zUuid,zNm))\ |
| 1010 | @ <button>ZIP Archive</button></a> |
| 1011 | fossil_free(zBrName); |
| 1012 | fossil_free(zNm); |
| 1013 | } |
| 1014 | } |
| @@ -1060,11 +1054,11 @@ | |
| 1054 | if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; } |
| 1055 | |
| 1056 | style_set_current_feature("timeline"); |
| 1057 | style_header("Suggested Tarballs And ZIP Archives"); |
| 1058 | |
| 1059 | zTarlistCfg = db_get("suggested-tarlist","off"); |
| 1060 | db_multi_exec( |
| 1061 | "CREATE TEMP TABLE tarlist(rid INTEGER PRIMARY KEY);" |
| 1062 | ); |
| 1063 | if( !g.interp ) Th_FossilInit(0); |
| 1064 | Th_SplitList(g.interp, zTarlistCfg, (int)strlen(zTarlistCfg), |
| 1065 |
+2
-11
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -1703,11 +1703,10 @@ | ||
| 1703 | 1703 | ** "like", or "regexp". |
| 1704 | 1704 | ** u=USER Only show items associated with USER |
| 1705 | 1705 | ** y=TYPE 'ci', 'w', 't', 'n', 'e', 'f', or 'all'. |
| 1706 | 1706 | ** ss=VIEWSTYLE c: "Compact", v: "Verbose", m: "Modern", j: "Columnar", |
| 1707 | 1707 | ** x: "Classic". |
| 1708 | -** tarzip Show "Tarball" and "ZIP" buttons on check-ins. | |
| 1709 | 1708 | ** advm Use the "Advanced" or "Busy" menu design. |
| 1710 | 1709 | ** ng No Graph. |
| 1711 | 1710 | ** ncp Omit cherrypick merges |
| 1712 | 1711 | ** nd Do not highlight the focus check-in |
| 1713 | 1712 | ** nsm Omit the submenu |
| @@ -1926,11 +1925,11 @@ | ||
| 1926 | 1925 | || (bisectLocal && !g.perm.Setup) |
| 1927 | 1926 | ){ |
| 1928 | 1927 | login_needed(g.anon.Read && g.anon.RdTkt && g.anon.RdWiki); |
| 1929 | 1928 | return; |
| 1930 | 1929 | } |
| 1931 | - if( zBefore || zCirca || PB("tarzip") ){ | |
| 1930 | + if( zBefore || zCirca ){ | |
| 1932 | 1931 | if( robot_restrict("timelineX") ) return; |
| 1933 | 1932 | } |
| 1934 | 1933 | if( !bisectLocal ){ |
| 1935 | 1934 | etag_check(ETAG_QUERY|ETAG_COOKIE|ETAG_DATA|ETAG_CONFIG, 0); |
| 1936 | 1935 | } |
| @@ -3259,11 +3258,10 @@ | ||
| 3259 | 3258 | } |
| 3260 | 3259 | cgi_check_for_malice(); |
| 3261 | 3260 | { |
| 3262 | 3261 | Matcher *pLeftBranch; |
| 3263 | 3262 | const char *zPattern = P("sl"); |
| 3264 | - void (*xExtra)(Stmt*,int,const char*,const char*) = 0; | |
| 3265 | 3263 | if( zPattern!=0 ){ |
| 3266 | 3264 | MatchStyle ms; |
| 3267 | 3265 | if( zMatchStyle!=0 ){ |
| 3268 | 3266 | ms = matchStyle; |
| 3269 | 3267 | }else{ |
| @@ -3271,19 +3269,12 @@ | ||
| 3271 | 3269 | } |
| 3272 | 3270 | pLeftBranch = match_create(ms,zPattern); |
| 3273 | 3271 | }else{ |
| 3274 | 3272 | pLeftBranch = match_create(matchStyle, zBrName?zBrName:zTagName); |
| 3275 | 3273 | } |
| 3276 | - if( PB("tarzip") ){ | |
| 3277 | - if( tmFlags & TIMELINE_COMPACT ){ | |
| 3278 | - tmFlags &= ~TIMELINE_COMPACT; | |
| 3279 | - tmFlags |= TIMELINE_VERBOSE; | |
| 3280 | - } | |
| 3281 | - xExtra = tarlist_extra; | |
| 3282 | - } | |
| 3283 | 3274 | www_print_timeline(&q, tmFlags, zThisUser, zThisTag, pLeftBranch, |
| 3284 | - selectedRid, secondaryRid, xExtra); | |
| 3275 | + selectedRid, secondaryRid, 0); | |
| 3285 | 3276 | match_free(pLeftBranch); |
| 3286 | 3277 | } |
| 3287 | 3278 | db_finalize(&q); |
| 3288 | 3279 | if( zOlderButton ){ |
| 3289 | 3280 | @ %z(chref("button","%s",zOlderButton))%h(zOlderButtonLabel)\ |
| 3290 | 3281 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1703,11 +1703,10 @@ | |
| 1703 | ** "like", or "regexp". |
| 1704 | ** u=USER Only show items associated with USER |
| 1705 | ** y=TYPE 'ci', 'w', 't', 'n', 'e', 'f', or 'all'. |
| 1706 | ** ss=VIEWSTYLE c: "Compact", v: "Verbose", m: "Modern", j: "Columnar", |
| 1707 | ** x: "Classic". |
| 1708 | ** tarzip Show "Tarball" and "ZIP" buttons on check-ins. |
| 1709 | ** advm Use the "Advanced" or "Busy" menu design. |
| 1710 | ** ng No Graph. |
| 1711 | ** ncp Omit cherrypick merges |
| 1712 | ** nd Do not highlight the focus check-in |
| 1713 | ** nsm Omit the submenu |
| @@ -1926,11 +1925,11 @@ | |
| 1926 | || (bisectLocal && !g.perm.Setup) |
| 1927 | ){ |
| 1928 | login_needed(g.anon.Read && g.anon.RdTkt && g.anon.RdWiki); |
| 1929 | return; |
| 1930 | } |
| 1931 | if( zBefore || zCirca || PB("tarzip") ){ |
| 1932 | if( robot_restrict("timelineX") ) return; |
| 1933 | } |
| 1934 | if( !bisectLocal ){ |
| 1935 | etag_check(ETAG_QUERY|ETAG_COOKIE|ETAG_DATA|ETAG_CONFIG, 0); |
| 1936 | } |
| @@ -3259,11 +3258,10 @@ | |
| 3259 | } |
| 3260 | cgi_check_for_malice(); |
| 3261 | { |
| 3262 | Matcher *pLeftBranch; |
| 3263 | const char *zPattern = P("sl"); |
| 3264 | void (*xExtra)(Stmt*,int,const char*,const char*) = 0; |
| 3265 | if( zPattern!=0 ){ |
| 3266 | MatchStyle ms; |
| 3267 | if( zMatchStyle!=0 ){ |
| 3268 | ms = matchStyle; |
| 3269 | }else{ |
| @@ -3271,19 +3269,12 @@ | |
| 3271 | } |
| 3272 | pLeftBranch = match_create(ms,zPattern); |
| 3273 | }else{ |
| 3274 | pLeftBranch = match_create(matchStyle, zBrName?zBrName:zTagName); |
| 3275 | } |
| 3276 | if( PB("tarzip") ){ |
| 3277 | if( tmFlags & TIMELINE_COMPACT ){ |
| 3278 | tmFlags &= ~TIMELINE_COMPACT; |
| 3279 | tmFlags |= TIMELINE_VERBOSE; |
| 3280 | } |
| 3281 | xExtra = tarlist_extra; |
| 3282 | } |
| 3283 | www_print_timeline(&q, tmFlags, zThisUser, zThisTag, pLeftBranch, |
| 3284 | selectedRid, secondaryRid, xExtra); |
| 3285 | match_free(pLeftBranch); |
| 3286 | } |
| 3287 | db_finalize(&q); |
| 3288 | if( zOlderButton ){ |
| 3289 | @ %z(chref("button","%s",zOlderButton))%h(zOlderButtonLabel)\ |
| 3290 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1703,11 +1703,10 @@ | |
| 1703 | ** "like", or "regexp". |
| 1704 | ** u=USER Only show items associated with USER |
| 1705 | ** y=TYPE 'ci', 'w', 't', 'n', 'e', 'f', or 'all'. |
| 1706 | ** ss=VIEWSTYLE c: "Compact", v: "Verbose", m: "Modern", j: "Columnar", |
| 1707 | ** x: "Classic". |
| 1708 | ** advm Use the "Advanced" or "Busy" menu design. |
| 1709 | ** ng No Graph. |
| 1710 | ** ncp Omit cherrypick merges |
| 1711 | ** nd Do not highlight the focus check-in |
| 1712 | ** nsm Omit the submenu |
| @@ -1926,11 +1925,11 @@ | |
| 1925 | || (bisectLocal && !g.perm.Setup) |
| 1926 | ){ |
| 1927 | login_needed(g.anon.Read && g.anon.RdTkt && g.anon.RdWiki); |
| 1928 | return; |
| 1929 | } |
| 1930 | if( zBefore || zCirca ){ |
| 1931 | if( robot_restrict("timelineX") ) return; |
| 1932 | } |
| 1933 | if( !bisectLocal ){ |
| 1934 | etag_check(ETAG_QUERY|ETAG_COOKIE|ETAG_DATA|ETAG_CONFIG, 0); |
| 1935 | } |
| @@ -3259,11 +3258,10 @@ | |
| 3258 | } |
| 3259 | cgi_check_for_malice(); |
| 3260 | { |
| 3261 | Matcher *pLeftBranch; |
| 3262 | const char *zPattern = P("sl"); |
| 3263 | if( zPattern!=0 ){ |
| 3264 | MatchStyle ms; |
| 3265 | if( zMatchStyle!=0 ){ |
| 3266 | ms = matchStyle; |
| 3267 | }else{ |
| @@ -3271,19 +3269,12 @@ | |
| 3269 | } |
| 3270 | pLeftBranch = match_create(ms,zPattern); |
| 3271 | }else{ |
| 3272 | pLeftBranch = match_create(matchStyle, zBrName?zBrName:zTagName); |
| 3273 | } |
| 3274 | www_print_timeline(&q, tmFlags, zThisUser, zThisTag, pLeftBranch, |
| 3275 | selectedRid, secondaryRid, 0); |
| 3276 | match_free(pLeftBranch); |
| 3277 | } |
| 3278 | db_finalize(&q); |
| 3279 | if( zOlderButton ){ |
| 3280 | @ %z(chref("button","%s",zOlderButton))%h(zOlderButtonLabel)\ |
| 3281 |