Index: src/wiki.c ================================================================== --- src/wiki.c +++ src/wiki.c @@ -1915,11 +1915,11 @@ void wcontent_page(void){ Stmt q; double rNow; int showAll = P("all")!=0; int showRid = P("showid")!=0; - int showCkBr = P("showckbr")!=0; + int showCkBr; login_check_credentials(); if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } style_set_current_feature("wiki"); style_header("Available Wiki Pages"); @@ -1926,11 +1926,18 @@ if( showAll ){ style_submenu_element("Active", "%R/wcontent"); }else{ style_submenu_element("All", "%R/wcontent?all=1"); } - style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0); + showCkBr = db_exists( + "SELECT tag.tagname AS tn FROM tag JOIN tagxref USING(tagid) " + "WHERE ( tn GLOB 'wiki-checkin/*' OR tn GLOB 'wiki-branch/*' ) " + " AND TYPEOF(tagxref.value+0)='integer'" ); + if( showCkBr ){ + showCkBr = P("showckbr")!=0; + style_submenu_checkbox("showckbr", "Show associated wikis", 0, 0); + } wiki_standard_submenu(W_ALL_BUT(W_LIST)); db_prepare(&q, listAllWikiPages/*works-like:""*/); @