Fossil SCM

Omit "Show associated wikis" from the submenu of a [/wcontent] page if there are no associated wikis in a repository (this amends [29a24941ed9b]). Also optimize out a couple of unnecessary calls to mprintf().

george 2022-11-19 16:48 trunk merge
Commit e3c8aad9b12ac2242fdd649447957b2425be3eb9384c919a77a5ddbd1e13b11f
2 files changed +14 -7 +14 -7
+14 -7
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
19181918
void wcontent_page(void){
19191919
Stmt q;
19201920
double rNow;
19211921
int showAll = P("all")!=0;
19221922
int showRid = P("showid")!=0;
1923
- int showCkBr = P("showckbr")!=0;
1923
+ int showCkBr;
19241924
19251925
login_check_credentials();
19261926
if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
19271927
style_set_current_feature("wiki");
19281928
style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
19291929
if( showAll ){
19301930
style_submenu_element("Active", "%R/wcontent");
19311931
}else{
19321932
style_submenu_element("All", "%R/wcontent?all=1");
19331933
}
1934
- style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1934
+ showCkBr = db_exists(
1935
+ "SELECT tag.tagname AS tn FROM tag JOIN tagxref USING(tagid) "
1936
+ "WHERE ( tn GLOB 'wiki-checkin/*' OR tn GLOB 'wiki-branch/*' ) "
1937
+ " AND TYPEOF(tagxref.value+0)='integer'" );
1938
+ if( showCkBr ){
1939
+ showCkBr = P("showckbr")!=0;
1940
+ style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1941
+ }
19351942
wiki_standard_submenu(W_ALL_BUT(W_LIST));
19361943
db_prepare(&q, listAllWikiPages/*works-like:""*/);
19371944
@ <div class="brlist">
19381945
@ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
19391946
@ <thead><tr>
@@ -1953,20 +1960,20 @@
19531960
sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
19541961
char *zAge;
19551962
int wcnt = db_column_int(&q, 4);
19561963
char *zWDisplayName;
19571964
1965
+ if( !showCkBr &&
1966
+ (sqlite3_strglob("checkin/*", zWName)==0 ||
1967
+ sqlite3_strglob("branch/*", zWName)==0) ){
1968
+ continue;
1969
+ }
19581970
if( sqlite3_strglob("checkin/*", zWName)==0 ){
19591971
zWDisplayName = mprintf("%.25s...", zWName);
19601972
}else{
19611973
zWDisplayName = mprintf("%s", zWName);
19621974
}
1963
- if( !showCkBr &&
1964
- (sqlite3_strglob("checkin/*", zWName)==0 ||
1965
- sqlite3_strglob("branch/*", zWName)==0) ){
1966
- continue;
1967
- }
19681975
if( wrid==0 ){
19691976
if( !showAll ) continue;
19701977
@ <tr><td data-sortkey="%h(zSort)">\
19711978
@ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
19721979
}else{
19731980
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
1918 void wcontent_page(void){
1919 Stmt q;
1920 double rNow;
1921 int showAll = P("all")!=0;
1922 int showRid = P("showid")!=0;
1923 int showCkBr = P("showckbr")!=0;
1924
1925 login_check_credentials();
1926 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
1927 style_set_current_feature("wiki");
1928 style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
1929 if( showAll ){
1930 style_submenu_element("Active", "%R/wcontent");
1931 }else{
1932 style_submenu_element("All", "%R/wcontent?all=1");
1933 }
1934 style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
 
 
 
 
 
 
 
1935 wiki_standard_submenu(W_ALL_BUT(W_LIST));
1936 db_prepare(&q, listAllWikiPages/*works-like:""*/);
1937 @ <div class="brlist">
1938 @ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
1939 @ <thead><tr>
@@ -1953,20 +1960,20 @@
1953 sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
1954 char *zAge;
1955 int wcnt = db_column_int(&q, 4);
1956 char *zWDisplayName;
1957
 
 
 
 
 
1958 if( sqlite3_strglob("checkin/*", zWName)==0 ){
1959 zWDisplayName = mprintf("%.25s...", zWName);
1960 }else{
1961 zWDisplayName = mprintf("%s", zWName);
1962 }
1963 if( !showCkBr &&
1964 (sqlite3_strglob("checkin/*", zWName)==0 ||
1965 sqlite3_strglob("branch/*", zWName)==0) ){
1966 continue;
1967 }
1968 if( wrid==0 ){
1969 if( !showAll ) continue;
1970 @ <tr><td data-sortkey="%h(zSort)">\
1971 @ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
1972 }else{
1973
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
1918 void wcontent_page(void){
1919 Stmt q;
1920 double rNow;
1921 int showAll = P("all")!=0;
1922 int showRid = P("showid")!=0;
1923 int showCkBr;
1924
1925 login_check_credentials();
1926 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
1927 style_set_current_feature("wiki");
1928 style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
1929 if( showAll ){
1930 style_submenu_element("Active", "%R/wcontent");
1931 }else{
1932 style_submenu_element("All", "%R/wcontent?all=1");
1933 }
1934 showCkBr = db_exists(
1935 "SELECT tag.tagname AS tn FROM tag JOIN tagxref USING(tagid) "
1936 "WHERE ( tn GLOB 'wiki-checkin/*' OR tn GLOB 'wiki-branch/*' ) "
1937 " AND TYPEOF(tagxref.value+0)='integer'" );
1938 if( showCkBr ){
1939 showCkBr = P("showckbr")!=0;
1940 style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1941 }
1942 wiki_standard_submenu(W_ALL_BUT(W_LIST));
1943 db_prepare(&q, listAllWikiPages/*works-like:""*/);
1944 @ <div class="brlist">
1945 @ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
1946 @ <thead><tr>
@@ -1953,20 +1960,20 @@
1960 sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
1961 char *zAge;
1962 int wcnt = db_column_int(&q, 4);
1963 char *zWDisplayName;
1964
1965 if( !showCkBr &&
1966 (sqlite3_strglob("checkin/*", zWName)==0 ||
1967 sqlite3_strglob("branch/*", zWName)==0) ){
1968 continue;
1969 }
1970 if( sqlite3_strglob("checkin/*", zWName)==0 ){
1971 zWDisplayName = mprintf("%.25s...", zWName);
1972 }else{
1973 zWDisplayName = mprintf("%s", zWName);
1974 }
 
 
 
 
 
1975 if( wrid==0 ){
1976 if( !showAll ) continue;
1977 @ <tr><td data-sortkey="%h(zSort)">\
1978 @ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
1979 }else{
1980
+14 -7
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
19181918
void wcontent_page(void){
19191919
Stmt q;
19201920
double rNow;
19211921
int showAll = P("all")!=0;
19221922
int showRid = P("showid")!=0;
1923
- int showCkBr = P("showckbr")!=0;
1923
+ int showCkBr;
19241924
19251925
login_check_credentials();
19261926
if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
19271927
style_set_current_feature("wiki");
19281928
style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
19291929
if( showAll ){
19301930
style_submenu_element("Active", "%R/wcontent");
19311931
}else{
19321932
style_submenu_element("All", "%R/wcontent?all=1");
19331933
}
1934
- style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1934
+ showCkBr = db_exists(
1935
+ "SELECT tag.tagname AS tn FROM tag JOIN tagxref USING(tagid) "
1936
+ "WHERE ( tn GLOB 'wiki-checkin/*' OR tn GLOB 'wiki-branch/*' ) "
1937
+ " AND TYPEOF(tagxref.value+0)='integer'" );
1938
+ if( showCkBr ){
1939
+ showCkBr = P("showckbr")!=0;
1940
+ style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1941
+ }
19351942
wiki_standard_submenu(W_ALL_BUT(W_LIST));
19361943
db_prepare(&q, listAllWikiPages/*works-like:""*/);
19371944
@ <div class="brlist">
19381945
@ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
19391946
@ <thead><tr>
@@ -1953,20 +1960,20 @@
19531960
sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
19541961
char *zAge;
19551962
int wcnt = db_column_int(&q, 4);
19561963
char *zWDisplayName;
19571964
1965
+ if( !showCkBr &&
1966
+ (sqlite3_strglob("checkin/*", zWName)==0 ||
1967
+ sqlite3_strglob("branch/*", zWName)==0) ){
1968
+ continue;
1969
+ }
19581970
if( sqlite3_strglob("checkin/*", zWName)==0 ){
19591971
zWDisplayName = mprintf("%.25s...", zWName);
19601972
}else{
19611973
zWDisplayName = mprintf("%s", zWName);
19621974
}
1963
- if( !showCkBr &&
1964
- (sqlite3_strglob("checkin/*", zWName)==0 ||
1965
- sqlite3_strglob("branch/*", zWName)==0) ){
1966
- continue;
1967
- }
19681975
if( wrid==0 ){
19691976
if( !showAll ) continue;
19701977
@ <tr><td data-sortkey="%h(zSort)">\
19711978
@ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
19721979
}else{
19731980
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
1918 void wcontent_page(void){
1919 Stmt q;
1920 double rNow;
1921 int showAll = P("all")!=0;
1922 int showRid = P("showid")!=0;
1923 int showCkBr = P("showckbr")!=0;
1924
1925 login_check_credentials();
1926 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
1927 style_set_current_feature("wiki");
1928 style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
1929 if( showAll ){
1930 style_submenu_element("Active", "%R/wcontent");
1931 }else{
1932 style_submenu_element("All", "%R/wcontent?all=1");
1933 }
1934 style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
 
 
 
 
 
 
 
1935 wiki_standard_submenu(W_ALL_BUT(W_LIST));
1936 db_prepare(&q, listAllWikiPages/*works-like:""*/);
1937 @ <div class="brlist">
1938 @ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
1939 @ <thead><tr>
@@ -1953,20 +1960,20 @@
1953 sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
1954 char *zAge;
1955 int wcnt = db_column_int(&q, 4);
1956 char *zWDisplayName;
1957
 
 
 
 
 
1958 if( sqlite3_strglob("checkin/*", zWName)==0 ){
1959 zWDisplayName = mprintf("%.25s...", zWName);
1960 }else{
1961 zWDisplayName = mprintf("%s", zWName);
1962 }
1963 if( !showCkBr &&
1964 (sqlite3_strglob("checkin/*", zWName)==0 ||
1965 sqlite3_strglob("branch/*", zWName)==0) ){
1966 continue;
1967 }
1968 if( wrid==0 ){
1969 if( !showAll ) continue;
1970 @ <tr><td data-sortkey="%h(zSort)">\
1971 @ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
1972 }else{
1973
--- src/wiki.c
+++ src/wiki.c
@@ -1918,11 +1918,11 @@
1918 void wcontent_page(void){
1919 Stmt q;
1920 double rNow;
1921 int showAll = P("all")!=0;
1922 int showRid = P("showid")!=0;
1923 int showCkBr;
1924
1925 login_check_credentials();
1926 if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; }
1927 style_set_current_feature("wiki");
1928 style_header("Available Wiki Pages");
@@ -1929,11 +1929,18 @@
1929 if( showAll ){
1930 style_submenu_element("Active", "%R/wcontent");
1931 }else{
1932 style_submenu_element("All", "%R/wcontent?all=1");
1933 }
1934 showCkBr = db_exists(
1935 "SELECT tag.tagname AS tn FROM tag JOIN tagxref USING(tagid) "
1936 "WHERE ( tn GLOB 'wiki-checkin/*' OR tn GLOB 'wiki-branch/*' ) "
1937 " AND TYPEOF(tagxref.value+0)='integer'" );
1938 if( showCkBr ){
1939 showCkBr = P("showckbr")!=0;
1940 style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0);
1941 }
1942 wiki_standard_submenu(W_ALL_BUT(W_LIST));
1943 db_prepare(&q, listAllWikiPages/*works-like:""*/);
1944 @ <div class="brlist">
1945 @ <table class='sortable' data-column-types='tKN' data-init-sort='1'>
1946 @ <thead><tr>
@@ -1953,20 +1960,20 @@
1960 sqlite3_int64 iMtime = (sqlite3_int64)(rWmtime*86400.0);
1961 char *zAge;
1962 int wcnt = db_column_int(&q, 4);
1963 char *zWDisplayName;
1964
1965 if( !showCkBr &&
1966 (sqlite3_strglob("checkin/*", zWName)==0 ||
1967 sqlite3_strglob("branch/*", zWName)==0) ){
1968 continue;
1969 }
1970 if( sqlite3_strglob("checkin/*", zWName)==0 ){
1971 zWDisplayName = mprintf("%.25s...", zWName);
1972 }else{
1973 zWDisplayName = mprintf("%s", zWName);
1974 }
 
 
 
 
 
1975 if( wrid==0 ){
1976 if( !showAll ) continue;
1977 @ <tr><td data-sortkey="%h(zSort)">\
1978 @ %z(href("%R/whistory?name=%T",zWName))<s>%h(zWDisplayName)</s></a></td>
1979 }else{
1980

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button