Fossil SCM
Improvements to the /sitemap page: Add a link to show all forks. Hide links for which the user does not have permission.
Commit
9fa68088b75552d82d110151f0cdc39615b70456
Parent
f78cba5c9994222…
2 files changed
+2
-2
+95
-61
+2
-2
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -123,12 +123,12 @@ | ||
| 123 | 123 | "A record of received artifacts and their sources"); |
| 124 | 124 | setup_menu_entry("User Log", "access_log", |
| 125 | 125 | "A record of login attempts"); |
| 126 | 126 | setup_menu_entry("Administrative Log", "admin_log", |
| 127 | 127 | "View the admin_log entries"); |
| 128 | - setup_menu_entry("Stats", "stat", | |
| 129 | - "Display repository statistics"); | |
| 128 | + setup_menu_entry("Sitemap", "sitemap", | |
| 129 | + "Links to miscellaneous pages"); | |
| 130 | 130 | setup_menu_entry("SQL", "admin_sql", |
| 131 | 131 | "Enter raw SQL commands"); |
| 132 | 132 | setup_menu_entry("TH1", "admin_th1", |
| 133 | 133 | "Enter raw TH1 commands"); |
| 134 | 134 | @ </table> |
| 135 | 135 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -123,12 +123,12 @@ | |
| 123 | "A record of received artifacts and their sources"); |
| 124 | setup_menu_entry("User Log", "access_log", |
| 125 | "A record of login attempts"); |
| 126 | setup_menu_entry("Administrative Log", "admin_log", |
| 127 | "View the admin_log entries"); |
| 128 | setup_menu_entry("Stats", "stat", |
| 129 | "Display repository statistics"); |
| 130 | setup_menu_entry("SQL", "admin_sql", |
| 131 | "Enter raw SQL commands"); |
| 132 | setup_menu_entry("TH1", "admin_th1", |
| 133 | "Enter raw TH1 commands"); |
| 134 | @ </table> |
| 135 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -123,12 +123,12 @@ | |
| 123 | "A record of received artifacts and their sources"); |
| 124 | setup_menu_entry("User Log", "access_log", |
| 125 | "A record of login attempts"); |
| 126 | setup_menu_entry("Administrative Log", "admin_log", |
| 127 | "View the admin_log entries"); |
| 128 | setup_menu_entry("Sitemap", "sitemap", |
| 129 | "Links to miscellaneous pages"); |
| 130 | setup_menu_entry("SQL", "admin_sql", |
| 131 | "Enter raw SQL commands"); |
| 132 | setup_menu_entry("TH1", "admin_th1", |
| 133 | "Enter raw TH1 commands"); |
| 134 | @ </table> |
| 135 |
+95
-61
| --- src/sitemap.c | ||
| +++ src/sitemap.c | ||
| @@ -25,89 +25,123 @@ | ||
| 25 | 25 | ** WEBPAGE: sitemap |
| 26 | 26 | ** |
| 27 | 27 | ** Show an incomplete list of web pages offered by the Fossil web engine. |
| 28 | 28 | */ |
| 29 | 29 | void sitemap_page(void){ |
| 30 | + int srchFlags; | |
| 30 | 31 | login_check_credentials(); |
| 32 | + srchFlags = search_restrict(SRCH_ALL); | |
| 31 | 33 | style_header("Site Map"); |
| 32 | 34 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 33 | 35 | @ <p> |
| 34 | 36 | @ The following links are just a few of the many web-pages available for |
| 35 | 37 | @ this Fossil repository: |
| 36 | 38 | @ </p> |
| 37 | 39 | @ |
| 38 | 40 | @ <ul> |
| 39 | 41 | @ <li>%z(href("%R/home"))Home Page</a> |
| 40 | - @ <ul> | |
| 41 | - @ <li>%z(href("%R/docsrc"))Search Project Documentation</a></li> | |
| 42 | - @ </ul></li> | |
| 43 | - @ <li>%z(href("%R/tree"))File Browser</a></li> | |
| 44 | - @ <ul> | |
| 45 | - @ <li>%z(href("%R/tree?type=tree&ci=trunk"))Tree-view, | |
| 46 | - @ Trunk Check-in</a></li> | |
| 47 | - @ <li>%z(href("%R/tree?type=flat"))Flat-view</a></li> | |
| 48 | - @ <li>%z(href("%R/fileage?name=trunk"))File ages for Trunk</a></li> | |
| 49 | - @ </ul> | |
| 50 | - @ <li>%z(href("%R/timeline?n=200"))Project Timeline</a></li> | |
| 51 | - @ <ul> | |
| 52 | - @ <li>%z(href("%R/timeline?a=1970-01-01&y=ci&n=10"))First 10 | |
| 53 | - @ check-ins</a></li> | |
| 54 | - @ <li>%z(href("%R/timeline?n=all&namechng"))All check-ins with file name | |
| 55 | - @ changes</a></li> | |
| 56 | - @ <li>%z(href("%R/reports"))Activity Reports</a></li> | |
| 57 | - @ </ul> | |
| 58 | - @ <li>%z(href("%R/brlist"))Branches</a></li> | |
| 59 | - @ <ul> | |
| 60 | - @ <li>%z(href("%R/leaves"))Leaf Check-ins</a></li> | |
| 61 | - @ <li>%z(href("%R/taglist"))List of Tags</a></li> | |
| 62 | - @ </ul> | |
| 63 | - @ </li> | |
| 64 | - @ <li>%z(href("%R/wikihelp"))Wiki</a> | |
| 65 | - @ <ul> | |
| 66 | - @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> | |
| 67 | - @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> | |
| 68 | - @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> | |
| 69 | - @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> | |
| 70 | - @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> | |
| 71 | - @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> | |
| 72 | - @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> | |
| 73 | - @ </ul> | |
| 74 | - @ </li> | |
| 75 | - @ <li>%z(href("%R/reportlist"))Tickets</a> | |
| 76 | - @ <ul> | |
| 77 | - @ <li>%z(href("%R/tktsrch"))Ticket Search</a></li> | |
| 78 | - @ <li>%z(href("%R/timeline?y=t"))Recent activity</a></li> | |
| 79 | - @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> | |
| 80 | - @ </ul> | |
| 81 | - @ </li> | |
| 82 | - @ <li>%z(href("%R/search"))Full-Text Search</a></li> | |
| 83 | - @ <li>%z(href("%R/login"))Login/Logout/Change Password</a></li> | |
| 84 | - @ <li>%z(href("%R/stat"))Repository Status</a> | |
| 85 | - @ <ul> | |
| 86 | - @ <li>%z(href("%R/hash-collisions"))Collisions on SHA1 hash | |
| 87 | - @ prefixes</a></li> | |
| 88 | - @ <li>%z(href("%R/urllist"))List of URLs used to access | |
| 89 | - @ this repository</a></li> | |
| 90 | - @ <li>%z(href("%R/bloblist"))List of Artifacts</a></li> | |
| 91 | - @ </ul></li> | |
| 42 | + if( srchFlags & SRCH_DOC ){ | |
| 43 | + @ <ul> | |
| 44 | + @ <li>%z(href("%R/docsrch"))Search Project Documentation</a></li> | |
| 45 | + @ </ul> | |
| 46 | + } | |
| 47 | + @ </li> | |
| 48 | + if( g.perm.Read ){ | |
| 49 | + @ <li>%z(href("%R/tree"))File Browser</a></li> | |
| 50 | + @ <ul> | |
| 51 | + @ <li>%z(href("%R/tree?type=tree&ci=trunk"))Tree-view, | |
| 52 | + @ Trunk Check-in</a></li> | |
| 53 | + @ <li>%z(href("%R/tree?type=flat"))Flat-view</a></li> | |
| 54 | + @ <li>%z(href("%R/fileage?name=trunk"))File ages for Trunk</a></li> | |
| 55 | + @ </ul> | |
| 56 | + } | |
| 57 | + if( g.perm.Read ){ | |
| 58 | + @ <li>%z(href("%R/timeline?n=200"))Project Timeline</a></li> | |
| 59 | + @ <ul> | |
| 60 | + @ <li>%z(href("%R/reports"))Activity Reports</a></li> | |
| 61 | + @ <li>%z(href("%R/timeline?n=all&namechng"))File name changes</a></li> | |
| 62 | + @ <li>%z(href("%R/timeline?n=all&forks"))Forks</a></li> | |
| 63 | + @ <li>%z(href("%R/timeline?a=1970-01-01&y=ci&n=10"))First 10 | |
| 64 | + @ check-ins</a></li> | |
| 65 | + @ </ul> | |
| 66 | + } | |
| 67 | + if( g.perm.Read ){ | |
| 68 | + @ <li>%z(href("%R/brlist"))Branches</a></li> | |
| 69 | + @ <ul> | |
| 70 | + @ <li>%z(href("%R/leaves"))Leaf Check-ins</a></li> | |
| 71 | + @ <li>%z(href("%R/taglist"))List of Tags</a></li> | |
| 72 | + @ </ul> | |
| 73 | + @ </li> | |
| 74 | + } | |
| 75 | + if( g.perm.RdWiki ){ | |
| 76 | + @ <li>%z(href("%R/wikihelp"))Wiki</a> | |
| 77 | + @ <ul> | |
| 78 | + if( srchFlags & SRCH_WIKI ){ | |
| 79 | + @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> | |
| 80 | + } | |
| 81 | + @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> | |
| 82 | + @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> | |
| 83 | + @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> | |
| 84 | + @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> | |
| 85 | + @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> | |
| 86 | + @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> | |
| 87 | + @ </ul> | |
| 88 | + @ </li> | |
| 89 | + } | |
| 90 | + if( g.perm.RdTkt ){ | |
| 91 | + @ <li>%z(href("%R/reportlist"))Tickets</a> | |
| 92 | + @ <ul> | |
| 93 | + if( srchFlags & SRCH_TKT ){ | |
| 94 | + @ <li>%z(href("%R/tktsrch"))Ticket Search</a></li> | |
| 95 | + } | |
| 96 | + @ <li>%z(href("%R/timeline?y=t"))Recent activity</a></li> | |
| 97 | + @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> | |
| 98 | + @ </ul> | |
| 99 | + @ </li> | |
| 100 | + } | |
| 101 | + if( srchFlags ){ | |
| 102 | + @ <li>%z(href("%R/search"))Full-Text Search</a></li> | |
| 103 | + } | |
| 104 | + @ <li>%z(href("%R/login"))Login/Logout/Change Password</a></li> | |
| 105 | + if( g.perm.Read ){ | |
| 106 | + @ <li>%z(href("%R/stat"))Repository Status</a> | |
| 107 | + @ <ul> | |
| 108 | + @ <li>%z(href("%R/hash-collisions"))Collisions on SHA1 hash | |
| 109 | + @ prefixes</a></li> | |
| 110 | + if( g.perm.Admin ){ | |
| 111 | + @ <li>%z(href("%R/urllist"))List of URLs used to access | |
| 112 | + @ this repository</a></li> | |
| 113 | + } | |
| 114 | + @ <li>%z(href("%R/bloblist"))List of Artifacts</a></li> | |
| 115 | + @ </ul> | |
| 116 | + @ </li> | |
| 117 | + } | |
| 92 | 118 | @ <li>On-line Documentation |
| 93 | 119 | @ <ul> |
| 94 | 120 | @ <li>%z(href("%R/help"))List of All Commands and Web Pages</a></li> |
| 95 | 121 | @ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li> |
| 96 | 122 | @ <li>%z(href("%R/mimetype_list"))Filename suffix to mimetype map</a></li> |
| 97 | 123 | @ </ul></li> |
| 98 | - @ <li>%z(href("%R/setup"))Administration Pages</a> | |
| 99 | - @ <ul> | |
| 100 | - @ <li>%z(href("%R/modreq"))Pending Moderation Requests</a></li> | |
| 101 | - @ <li>%z(href("%R/admin_log"))Admin log</a></li> | |
| 102 | - @ <li>%z(href("%R/cachestat"))Status of the web-page cache</a></li> | |
| 103 | - @ </ul></li> | |
| 124 | + if( g.perm.Admin ){ | |
| 125 | + @ <li>%z(href("%R/setup"))Administration Pages</a> | |
| 126 | + @ <ul> | |
| 127 | + @ <li>%z(href("%R/modreq"))Pending Moderation Requests</a></li> | |
| 128 | + @ <li>%z(href("%R/admin_log"))Admin log</a></li> | |
| 129 | + @ <li>%z(href("%R/cachestat"))Status of the web-page cache</a></li> | |
| 130 | + @ </ul></li> | |
| 131 | + } | |
| 104 | 132 | @ <li>Test Pages |
| 105 | 133 | @ <ul> |
| 106 | - @ <li>%z(href("%R/test_env"))CGI Environment Test</a></li> | |
| 107 | - @ <li>%z(href("%R/test_timewarps"))List of "Timewarp" Check-ins</a></li> | |
| 108 | - @ <li>%z(href("%R/test-rename-list"))List of file renames</a></li> | |
| 134 | + if( g.perm.Admin || db_get_boolean("test_env_enable",0) ){ | |
| 135 | + @ <li>%z(href("%R/test_env"))CGI Environment Test</a></li> | |
| 136 | + } | |
| 137 | + if( g.perm.Read && g.perm.Hyperlink ){ | |
| 138 | + @ <li>%z(href("%R/test_timewarps"))List of "Timewarp" Check-ins</a></li> | |
| 139 | + } | |
| 140 | + if( g.perm.Read ){ | |
| 141 | + @ <li>%z(href("%R/test-rename-list"))List of file renames</a></li> | |
| 142 | + } | |
| 109 | 143 | @ <li>%z(href("%R/hash-color-test"))Page to experiment with the automatic |
| 110 | 144 | @ colors assigned to branch names</a> |
| 111 | 145 | @ </ul></li> |
| 112 | 146 | @ </ul></li> |
| 113 | 147 | style_footer(); |
| 114 | 148 |
| --- src/sitemap.c | |
| +++ src/sitemap.c | |
| @@ -25,89 +25,123 @@ | |
| 25 | ** WEBPAGE: sitemap |
| 26 | ** |
| 27 | ** Show an incomplete list of web pages offered by the Fossil web engine. |
| 28 | */ |
| 29 | void sitemap_page(void){ |
| 30 | login_check_credentials(); |
| 31 | style_header("Site Map"); |
| 32 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 33 | @ <p> |
| 34 | @ The following links are just a few of the many web-pages available for |
| 35 | @ this Fossil repository: |
| 36 | @ </p> |
| 37 | @ |
| 38 | @ <ul> |
| 39 | @ <li>%z(href("%R/home"))Home Page</a> |
| 40 | @ <ul> |
| 41 | @ <li>%z(href("%R/docsrc"))Search Project Documentation</a></li> |
| 42 | @ </ul></li> |
| 43 | @ <li>%z(href("%R/tree"))File Browser</a></li> |
| 44 | @ <ul> |
| 45 | @ <li>%z(href("%R/tree?type=tree&ci=trunk"))Tree-view, |
| 46 | @ Trunk Check-in</a></li> |
| 47 | @ <li>%z(href("%R/tree?type=flat"))Flat-view</a></li> |
| 48 | @ <li>%z(href("%R/fileage?name=trunk"))File ages for Trunk</a></li> |
| 49 | @ </ul> |
| 50 | @ <li>%z(href("%R/timeline?n=200"))Project Timeline</a></li> |
| 51 | @ <ul> |
| 52 | @ <li>%z(href("%R/timeline?a=1970-01-01&y=ci&n=10"))First 10 |
| 53 | @ check-ins</a></li> |
| 54 | @ <li>%z(href("%R/timeline?n=all&namechng"))All check-ins with file name |
| 55 | @ changes</a></li> |
| 56 | @ <li>%z(href("%R/reports"))Activity Reports</a></li> |
| 57 | @ </ul> |
| 58 | @ <li>%z(href("%R/brlist"))Branches</a></li> |
| 59 | @ <ul> |
| 60 | @ <li>%z(href("%R/leaves"))Leaf Check-ins</a></li> |
| 61 | @ <li>%z(href("%R/taglist"))List of Tags</a></li> |
| 62 | @ </ul> |
| 63 | @ </li> |
| 64 | @ <li>%z(href("%R/wikihelp"))Wiki</a> |
| 65 | @ <ul> |
| 66 | @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> |
| 67 | @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> |
| 68 | @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> |
| 69 | @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> |
| 70 | @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> |
| 71 | @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> |
| 72 | @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 73 | @ </ul> |
| 74 | @ </li> |
| 75 | @ <li>%z(href("%R/reportlist"))Tickets</a> |
| 76 | @ <ul> |
| 77 | @ <li>%z(href("%R/tktsrch"))Ticket Search</a></li> |
| 78 | @ <li>%z(href("%R/timeline?y=t"))Recent activity</a></li> |
| 79 | @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 80 | @ </ul> |
| 81 | @ </li> |
| 82 | @ <li>%z(href("%R/search"))Full-Text Search</a></li> |
| 83 | @ <li>%z(href("%R/login"))Login/Logout/Change Password</a></li> |
| 84 | @ <li>%z(href("%R/stat"))Repository Status</a> |
| 85 | @ <ul> |
| 86 | @ <li>%z(href("%R/hash-collisions"))Collisions on SHA1 hash |
| 87 | @ prefixes</a></li> |
| 88 | @ <li>%z(href("%R/urllist"))List of URLs used to access |
| 89 | @ this repository</a></li> |
| 90 | @ <li>%z(href("%R/bloblist"))List of Artifacts</a></li> |
| 91 | @ </ul></li> |
| 92 | @ <li>On-line Documentation |
| 93 | @ <ul> |
| 94 | @ <li>%z(href("%R/help"))List of All Commands and Web Pages</a></li> |
| 95 | @ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li> |
| 96 | @ <li>%z(href("%R/mimetype_list"))Filename suffix to mimetype map</a></li> |
| 97 | @ </ul></li> |
| 98 | @ <li>%z(href("%R/setup"))Administration Pages</a> |
| 99 | @ <ul> |
| 100 | @ <li>%z(href("%R/modreq"))Pending Moderation Requests</a></li> |
| 101 | @ <li>%z(href("%R/admin_log"))Admin log</a></li> |
| 102 | @ <li>%z(href("%R/cachestat"))Status of the web-page cache</a></li> |
| 103 | @ </ul></li> |
| 104 | @ <li>Test Pages |
| 105 | @ <ul> |
| 106 | @ <li>%z(href("%R/test_env"))CGI Environment Test</a></li> |
| 107 | @ <li>%z(href("%R/test_timewarps"))List of "Timewarp" Check-ins</a></li> |
| 108 | @ <li>%z(href("%R/test-rename-list"))List of file renames</a></li> |
| 109 | @ <li>%z(href("%R/hash-color-test"))Page to experiment with the automatic |
| 110 | @ colors assigned to branch names</a> |
| 111 | @ </ul></li> |
| 112 | @ </ul></li> |
| 113 | style_footer(); |
| 114 |
| --- src/sitemap.c | |
| +++ src/sitemap.c | |
| @@ -25,89 +25,123 @@ | |
| 25 | ** WEBPAGE: sitemap |
| 26 | ** |
| 27 | ** Show an incomplete list of web pages offered by the Fossil web engine. |
| 28 | */ |
| 29 | void sitemap_page(void){ |
| 30 | int srchFlags; |
| 31 | login_check_credentials(); |
| 32 | srchFlags = search_restrict(SRCH_ALL); |
| 33 | style_header("Site Map"); |
| 34 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 35 | @ <p> |
| 36 | @ The following links are just a few of the many web-pages available for |
| 37 | @ this Fossil repository: |
| 38 | @ </p> |
| 39 | @ |
| 40 | @ <ul> |
| 41 | @ <li>%z(href("%R/home"))Home Page</a> |
| 42 | if( srchFlags & SRCH_DOC ){ |
| 43 | @ <ul> |
| 44 | @ <li>%z(href("%R/docsrch"))Search Project Documentation</a></li> |
| 45 | @ </ul> |
| 46 | } |
| 47 | @ </li> |
| 48 | if( g.perm.Read ){ |
| 49 | @ <li>%z(href("%R/tree"))File Browser</a></li> |
| 50 | @ <ul> |
| 51 | @ <li>%z(href("%R/tree?type=tree&ci=trunk"))Tree-view, |
| 52 | @ Trunk Check-in</a></li> |
| 53 | @ <li>%z(href("%R/tree?type=flat"))Flat-view</a></li> |
| 54 | @ <li>%z(href("%R/fileage?name=trunk"))File ages for Trunk</a></li> |
| 55 | @ </ul> |
| 56 | } |
| 57 | if( g.perm.Read ){ |
| 58 | @ <li>%z(href("%R/timeline?n=200"))Project Timeline</a></li> |
| 59 | @ <ul> |
| 60 | @ <li>%z(href("%R/reports"))Activity Reports</a></li> |
| 61 | @ <li>%z(href("%R/timeline?n=all&namechng"))File name changes</a></li> |
| 62 | @ <li>%z(href("%R/timeline?n=all&forks"))Forks</a></li> |
| 63 | @ <li>%z(href("%R/timeline?a=1970-01-01&y=ci&n=10"))First 10 |
| 64 | @ check-ins</a></li> |
| 65 | @ </ul> |
| 66 | } |
| 67 | if( g.perm.Read ){ |
| 68 | @ <li>%z(href("%R/brlist"))Branches</a></li> |
| 69 | @ <ul> |
| 70 | @ <li>%z(href("%R/leaves"))Leaf Check-ins</a></li> |
| 71 | @ <li>%z(href("%R/taglist"))List of Tags</a></li> |
| 72 | @ </ul> |
| 73 | @ </li> |
| 74 | } |
| 75 | if( g.perm.RdWiki ){ |
| 76 | @ <li>%z(href("%R/wikihelp"))Wiki</a> |
| 77 | @ <ul> |
| 78 | if( srchFlags & SRCH_WIKI ){ |
| 79 | @ <li>%z(href("%R/wikisrch"))Wiki Search</a></li> |
| 80 | } |
| 81 | @ <li>%z(href("%R/wcontent"))List of Wiki Pages</a></li> |
| 82 | @ <li>%z(href("%R/timeline?y=w"))Recent activity</a></li> |
| 83 | @ <li>%z(href("%R/wiki_rules"))Wiki Formatting Rules</a></li> |
| 84 | @ <li>%z(href("%R/md_rules"))Markdown Formatting Rules</a></li> |
| 85 | @ <li>%z(href("%R/wiki?name=Sandbox"))Sandbox</a></li> |
| 86 | @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 87 | @ </ul> |
| 88 | @ </li> |
| 89 | } |
| 90 | if( g.perm.RdTkt ){ |
| 91 | @ <li>%z(href("%R/reportlist"))Tickets</a> |
| 92 | @ <ul> |
| 93 | if( srchFlags & SRCH_TKT ){ |
| 94 | @ <li>%z(href("%R/tktsrch"))Ticket Search</a></li> |
| 95 | } |
| 96 | @ <li>%z(href("%R/timeline?y=t"))Recent activity</a></li> |
| 97 | @ <li>%z(href("%R/attachlist"))List of Attachments</a></li> |
| 98 | @ </ul> |
| 99 | @ </li> |
| 100 | } |
| 101 | if( srchFlags ){ |
| 102 | @ <li>%z(href("%R/search"))Full-Text Search</a></li> |
| 103 | } |
| 104 | @ <li>%z(href("%R/login"))Login/Logout/Change Password</a></li> |
| 105 | if( g.perm.Read ){ |
| 106 | @ <li>%z(href("%R/stat"))Repository Status</a> |
| 107 | @ <ul> |
| 108 | @ <li>%z(href("%R/hash-collisions"))Collisions on SHA1 hash |
| 109 | @ prefixes</a></li> |
| 110 | if( g.perm.Admin ){ |
| 111 | @ <li>%z(href("%R/urllist"))List of URLs used to access |
| 112 | @ this repository</a></li> |
| 113 | } |
| 114 | @ <li>%z(href("%R/bloblist"))List of Artifacts</a></li> |
| 115 | @ </ul> |
| 116 | @ </li> |
| 117 | } |
| 118 | @ <li>On-line Documentation |
| 119 | @ <ul> |
| 120 | @ <li>%z(href("%R/help"))List of All Commands and Web Pages</a></li> |
| 121 | @ <li>%z(href("%R/test-all-help"))All "help" text on a single page</a></li> |
| 122 | @ <li>%z(href("%R/mimetype_list"))Filename suffix to mimetype map</a></li> |
| 123 | @ </ul></li> |
| 124 | if( g.perm.Admin ){ |
| 125 | @ <li>%z(href("%R/setup"))Administration Pages</a> |
| 126 | @ <ul> |
| 127 | @ <li>%z(href("%R/modreq"))Pending Moderation Requests</a></li> |
| 128 | @ <li>%z(href("%R/admin_log"))Admin log</a></li> |
| 129 | @ <li>%z(href("%R/cachestat"))Status of the web-page cache</a></li> |
| 130 | @ </ul></li> |
| 131 | } |
| 132 | @ <li>Test Pages |
| 133 | @ <ul> |
| 134 | if( g.perm.Admin || db_get_boolean("test_env_enable",0) ){ |
| 135 | @ <li>%z(href("%R/test_env"))CGI Environment Test</a></li> |
| 136 | } |
| 137 | if( g.perm.Read && g.perm.Hyperlink ){ |
| 138 | @ <li>%z(href("%R/test_timewarps"))List of "Timewarp" Check-ins</a></li> |
| 139 | } |
| 140 | if( g.perm.Read ){ |
| 141 | @ <li>%z(href("%R/test-rename-list"))List of file renames</a></li> |
| 142 | } |
| 143 | @ <li>%z(href("%R/hash-color-test"))Page to experiment with the automatic |
| 144 | @ colors assigned to branch names</a> |
| 145 | @ </ul></li> |
| 146 | @ </ul></li> |
| 147 | style_footer(); |
| 148 |