| | @@ -29,36 +29,57 @@ |
| 29 | 29 | ** That is, this page is designed to hold links that are omitted from |
| 30 | 30 | ** the main menu due to lack of space. |
| 31 | 31 | */ |
| 32 | 32 | void sitemap_page(void){ |
| 33 | 33 | int srchFlags; |
| 34 | + int inSublist = 0; |
| 35 | + int i; |
| 36 | + const struct { |
| 37 | + const char *zTitle; |
| 38 | + const char *zProperty; |
| 39 | + } aExtra[] = { |
| 40 | + { "Documentation", "sitemap-docidx" }, |
| 41 | + { "Download", "sitemap-download" }, |
| 42 | + { "License", "sitemap-license" }, |
| 43 | + { "Contact", "sitemap-contact" }, |
| 44 | + }; |
| 45 | + |
| 34 | 46 | login_check_credentials(); |
| 35 | 47 | srchFlags = search_restrict(SRCH_ALL); |
| 36 | 48 | style_header("Site Map"); |
| 37 | 49 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 38 | | -#if 0 |
| 39 | | - @ <p> |
| 40 | | - @ The following links are just a few of the many web-pages available for |
| 41 | | - @ this Fossil repository: |
| 42 | | - @ </p> |
| 43 | | - @ |
| 44 | | -#endif |
| 45 | 50 | @ <ul> |
| 46 | 51 | @ <li>%z(href("%R/home"))Home Page</a> |
| 52 | + for(i=0; i<sizeof(aExtra)/sizeof(aExtra[0]); i++){ |
| 53 | + char *z = db_get(aExtra[i].zProperty,0); |
| 54 | + if( z==0 ) continue; |
| 55 | + if( !inSublist ){ |
| 56 | + @ <ul> |
| 57 | + inSublist = 1; |
| 58 | + } |
| 59 | + @ <li>%z(href("%s",z))%s(aExtra[i].zTitle)</li> |
| 60 | + } |
| 47 | 61 | if( srchFlags & SRCH_DOC ){ |
| 48 | | - @ <ul> |
| 49 | | - @ <li>%z(href("%R/docsrch"))Search Project Documentation</a></li> |
| 50 | | - @ </ul> |
| 62 | + if( !inSublist ){ |
| 63 | + @ <ul> |
| 64 | + inSublist = 1; |
| 65 | + } |
| 66 | + @ <li>%z(href("%R/docsrch"))Documentation Search</a></li> |
| 67 | + } |
| 68 | + if( inSublist ){ |
| 69 | + @ </ul> |
| 70 | + inSublist = 0; |
| 51 | 71 | } |
| 52 | 72 | @ </li> |
| 53 | 73 | if( g.perm.Read ){ |
| 54 | 74 | @ <li>%z(href("%R/tree"))File Browser</a></li> |
| 55 | 75 | @ <ul> |
| 56 | 76 | @ <li>%z(href("%R/tree?type=tree&ci=trunk"))Tree-view, |
| 57 | 77 | @ Trunk Check-in</a></li> |
| 58 | 78 | @ <li>%z(href("%R/tree?type=flat"))Flat-view</a></li> |
| 59 | 79 | @ <li>%z(href("%R/fileage?name=trunk"))File ages for Trunk</a></li> |
| 80 | + @ <li>%z(href("%R/uvlist"))Unversioned Files</a> |
| 60 | 81 | @ </ul> |
| 61 | 82 | } |
| 62 | 83 | if( g.perm.Read ){ |
| 63 | 84 | @ <li>%z(href("%R/timeline?n=200"))Project Timeline</a></li> |
| 64 | 85 | @ <ul> |
| | @@ -70,32 +91,23 @@ |
| 70 | 91 | @ </ul> |
| 71 | 92 | } |
| 72 | 93 | if( g.perm.Read ){ |
| 73 | 94 | @ <li>%z(href("%R/brlist"))Branches</a></li> |
| 74 | 95 | @ <ul> |
| 96 | + @ <li>%z(href("%R/taglist"))Tags</a></li> |
| 75 | 97 | @ <li>%z(href("%R/leaves"))Leaf Check-ins</a></li> |
| 76 | | - @ <li>%z(href("%R/taglist"))List of Tags</a></li> |
| 77 | 98 | @ </ul> |
| 78 | 99 | @ </li> |
| 79 | 100 | } |
| 80 | | - if( g.perm.RdWiki ){ |
| 81 | | - @ <li>%z(href("%R/wikihelp"))Wiki</a> |
| 82 | | - @ <ul> |
| 83 | | - if( srchFlags & SRCH_WIKI ){ |
| 84 | | - @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> |
| 85 | | - } |
| 86 | | - @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> |
| 87 | | - @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> |
| 88 | | - @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> |
| 89 | | - @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> |
| 90 | | - @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> |
| 91 | | - @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 92 | | - @ </ul> |
| 93 | | - @ </li> |
| 101 | + if( srchFlags ){ |
| 102 | + @ <li>%z(href("%R/search"))Search</a></li> |
| 94 | 103 | } |
| 95 | 104 | if( g.perm.RdForum ){ |
| 96 | | - @ <li>%z(href("%R/forum"))Forum</a></li> |
| 105 | + @ <li>%z(href("%R/forum"))Forum</a> |
| 106 | + @ <ul> |
| 107 | + @ <li>%z(href("%R/timeline?y=f"))Recent activity</a></li> |
| 108 | + @ </ul> |
| 97 | 109 | } |
| 98 | 110 | if( g.perm.RdTkt ){ |
| 99 | 111 | @ <li>%z(href("%R/reportlist"))Tickets</a> |
| 100 | 112 | @ <ul> |
| 101 | 113 | if( srchFlags & SRCH_TKT ){ |
| | @@ -104,17 +116,56 @@ |
| 104 | 116 | @ <li>%z(href("%R/timeline?y=t"))Recent activity</a></li> |
| 105 | 117 | @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 106 | 118 | @ </ul> |
| 107 | 119 | @ </li> |
| 108 | 120 | } |
| 109 | | - if( g.perm.Read ){ |
| 110 | | - @ <li>%z(href("%R/uvlist"))Unversioned Files</a> |
| 121 | + if( g.perm.RdWiki ){ |
| 122 | + @ <li>%z(href("%R/wikihelp"))Wiki</a> |
| 123 | + @ <ul> |
| 124 | + if( srchFlags & SRCH_WIKI ){ |
| 125 | + @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> |
| 126 | + } |
| 127 | + @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> |
| 128 | + @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> |
| 129 | + @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> |
| 130 | + @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 131 | + @ </ul> |
| 132 | + @ </li> |
| 133 | + } |
| 134 | + |
| 135 | + if( !g.zLogin ){ |
| 136 | + @ <li>%z(href("%R/login"))Login</a> |
| 137 | + if( login_self_register_available(0) ){ |
| 138 | + @ <ul> |
| 139 | + @ <li>%z(href("%R/register"))Create a new account</a></li> |
| 140 | + inSublist = 1; |
| 141 | + } |
| 142 | + }else { |
| 143 | + @ <li>%z(href("%R/logout"))Logout</a> |
| 144 | + if( g.perm.Password ){ |
| 145 | + @ <ul> |
| 146 | + @ <li>%z(href("%R/logout"))Change Password</a></li> |
| 147 | + inSublist = 1; |
| 148 | + } |
| 149 | + } |
| 150 | + if( alert_enabled() && g.perm.EmailAlert ){ |
| 151 | + if( !inSublist ){ |
| 152 | + inSublist = 1; |
| 153 | + @ <ul> |
| 154 | + } |
| 155 | + if( login_is_individual() ){ |
| 156 | + @ <li>%z(href("%R/alerts"))Email Alerts</a></li> |
| 157 | + }else{ |
| 158 | + @ <li>%z(href("%R/subscribe"))Subscribe to Email Alerts</a></li> |
| 159 | + } |
| 111 | 160 | } |
| 112 | | - if( srchFlags ){ |
| 113 | | - @ <li>%z(href("%R/search"))Full-Text Search</a></li> |
| 161 | + if( inSublist ){ |
| 162 | + @ </ul> |
| 163 | + inSublist = 0; |
| 114 | 164 | } |
| 115 | | - @ <li>%z(href("%R/login"))Login/Logout/Change Password</a></li> |
| 165 | + @ </li> |
| 166 | + |
| 116 | 167 | if( g.perm.Read ){ |
| 117 | 168 | @ <li>%z(href("%R/stat"))Repository Status</a> |
| 118 | 169 | @ <ul> |
| 119 | 170 | @ <li>%z(href("%R/hash-collisions"))Collisions on hash prefixes</a></li> |
| 120 | 171 | if( g.perm.Admin ){ |
| | @@ -124,12 +175,14 @@ |
| 124 | 175 | @ <li>%z(href("%R/bloblist"))List of Artifacts</a></li> |
| 125 | 176 | @ <li>%z(href("%R/timewarps"))List of "Timewarp" Check-ins</a></li> |
| 126 | 177 | @ </ul> |
| 127 | 178 | @ </li> |
| 128 | 179 | } |
| 129 | | - @ <li>On-line Documentation |
| 180 | + @ <li>Help |
| 130 | 181 | @ <ul> |
| 182 | + @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> |
| 183 | + @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> |
| 131 | 184 | @ <li>%z(href("%R/help"))List of All Commands and Web Pages</a></li> |
| 132 | 185 | @ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li> |
| 133 | 186 | @ <li>%z(href("%R/mimetype_list"))Filename suffix to mimetype map</a></li> |
| 134 | 187 | @ </ul></li> |
| 135 | 188 | if( g.perm.Admin ){ |
| 136 | 189 | |