Fossil SCM
Add the "nsm" or "No-SubMenu" query parameter to the /wiki page.
Commit
993700abaf4aa936de2bbb9ba8616e753aa828e256be8deee7c8f18072ca55dc
Parent
6e7211a26da8981…
1 file changed
+13
-3
+13
-3
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -452,11 +452,18 @@ | ||
| 452 | 452 | return g.perm.Write; |
| 453 | 453 | } |
| 454 | 454 | |
| 455 | 455 | /* |
| 456 | 456 | ** WEBPAGE: wiki |
| 457 | -** URL: /wiki?name=PAGENAME | |
| 457 | +** | |
| 458 | +** Display a wiki page. Example: /wiki?name=PAGENAME | |
| 459 | +** | |
| 460 | +** Query parameters: | |
| 461 | +** | |
| 462 | +** name=NAME Name of the wiki page to display. Required. | |
| 463 | +** nsm Omit the submenu if present. (Mnemonic: No SubMenu) | |
| 464 | +** | |
| 458 | 465 | */ |
| 459 | 466 | void wiki_page(void){ |
| 460 | 467 | char *zTag; |
| 461 | 468 | int rid = 0; |
| 462 | 469 | int isSandbox; |
| @@ -464,10 +471,11 @@ | ||
| 464 | 471 | Blob wiki; |
| 465 | 472 | Manifest *pWiki = 0; |
| 466 | 473 | const char *zPageName; |
| 467 | 474 | const char *zMimetype = 0; |
| 468 | 475 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 476 | + int noSubmenu = P("nsm")!=0; | |
| 469 | 477 | |
| 470 | 478 | login_check_credentials(); |
| 471 | 479 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| 472 | 480 | zPageName = P("name"); |
| 473 | 481 | if( zPageName==0 ){ |
| @@ -501,11 +509,11 @@ | ||
| 501 | 509 | zBody = pWiki->zWiki; |
| 502 | 510 | zMimetype = pWiki->zMimetype; |
| 503 | 511 | } |
| 504 | 512 | } |
| 505 | 513 | zMimetype = wiki_filter_mimetypes(zMimetype); |
| 506 | - if( !g.isHome ){ | |
| 514 | + if( !g.isHome && !noSubmenu ){ | |
| 507 | 515 | if( ((rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki)) |
| 508 | 516 | && wiki_special_permission(zPageName) |
| 509 | 517 | ){ |
| 510 | 518 | if( db_get_boolean("wysiwyg-wiki", 0) ){ |
| 511 | 519 | style_submenu_element("Edit", "%R/wikiedit?name=%T&wysiwyg=1", |
| @@ -520,11 +528,13 @@ | ||
| 520 | 528 | style_submenu_element("History", "%R/whistory?name=%T", zPageName); |
| 521 | 529 | } |
| 522 | 530 | } |
| 523 | 531 | style_set_current_page("%T?name=%T", g.zPath, zPageName); |
| 524 | 532 | wiki_page_header(WIKITYPE_UNKNOWN, zPageName, ""); |
| 525 | - wiki_standard_submenu(submenuFlags); | |
| 533 | + if( !noSubmenu ){ | |
| 534 | + wiki_standard_submenu(submenuFlags); | |
| 535 | + } | |
| 526 | 536 | if( zBody[0]==0 ){ |
| 527 | 537 | @ <i>This page has been deleted</i> |
| 528 | 538 | }else{ |
| 529 | 539 | blob_init(&wiki, zBody, -1); |
| 530 | 540 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 531 | 541 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -452,11 +452,18 @@ | |
| 452 | return g.perm.Write; |
| 453 | } |
| 454 | |
| 455 | /* |
| 456 | ** WEBPAGE: wiki |
| 457 | ** URL: /wiki?name=PAGENAME |
| 458 | */ |
| 459 | void wiki_page(void){ |
| 460 | char *zTag; |
| 461 | int rid = 0; |
| 462 | int isSandbox; |
| @@ -464,10 +471,11 @@ | |
| 464 | Blob wiki; |
| 465 | Manifest *pWiki = 0; |
| 466 | const char *zPageName; |
| 467 | const char *zMimetype = 0; |
| 468 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 469 | |
| 470 | login_check_credentials(); |
| 471 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| 472 | zPageName = P("name"); |
| 473 | if( zPageName==0 ){ |
| @@ -501,11 +509,11 @@ | |
| 501 | zBody = pWiki->zWiki; |
| 502 | zMimetype = pWiki->zMimetype; |
| 503 | } |
| 504 | } |
| 505 | zMimetype = wiki_filter_mimetypes(zMimetype); |
| 506 | if( !g.isHome ){ |
| 507 | if( ((rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki)) |
| 508 | && wiki_special_permission(zPageName) |
| 509 | ){ |
| 510 | if( db_get_boolean("wysiwyg-wiki", 0) ){ |
| 511 | style_submenu_element("Edit", "%R/wikiedit?name=%T&wysiwyg=1", |
| @@ -520,11 +528,13 @@ | |
| 520 | style_submenu_element("History", "%R/whistory?name=%T", zPageName); |
| 521 | } |
| 522 | } |
| 523 | style_set_current_page("%T?name=%T", g.zPath, zPageName); |
| 524 | wiki_page_header(WIKITYPE_UNKNOWN, zPageName, ""); |
| 525 | wiki_standard_submenu(submenuFlags); |
| 526 | if( zBody[0]==0 ){ |
| 527 | @ <i>This page has been deleted</i> |
| 528 | }else{ |
| 529 | blob_init(&wiki, zBody, -1); |
| 530 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 531 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -452,11 +452,18 @@ | |
| 452 | return g.perm.Write; |
| 453 | } |
| 454 | |
| 455 | /* |
| 456 | ** WEBPAGE: wiki |
| 457 | ** |
| 458 | ** Display a wiki page. Example: /wiki?name=PAGENAME |
| 459 | ** |
| 460 | ** Query parameters: |
| 461 | ** |
| 462 | ** name=NAME Name of the wiki page to display. Required. |
| 463 | ** nsm Omit the submenu if present. (Mnemonic: No SubMenu) |
| 464 | ** |
| 465 | */ |
| 466 | void wiki_page(void){ |
| 467 | char *zTag; |
| 468 | int rid = 0; |
| 469 | int isSandbox; |
| @@ -464,10 +471,11 @@ | |
| 471 | Blob wiki; |
| 472 | Manifest *pWiki = 0; |
| 473 | const char *zPageName; |
| 474 | const char *zMimetype = 0; |
| 475 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 476 | int noSubmenu = P("nsm")!=0; |
| 477 | |
| 478 | login_check_credentials(); |
| 479 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| 480 | zPageName = P("name"); |
| 481 | if( zPageName==0 ){ |
| @@ -501,11 +509,11 @@ | |
| 509 | zBody = pWiki->zWiki; |
| 510 | zMimetype = pWiki->zMimetype; |
| 511 | } |
| 512 | } |
| 513 | zMimetype = wiki_filter_mimetypes(zMimetype); |
| 514 | if( !g.isHome && !noSubmenu ){ |
| 515 | if( ((rid && g.perm.WrWiki) || (!rid && g.perm.NewWiki)) |
| 516 | && wiki_special_permission(zPageName) |
| 517 | ){ |
| 518 | if( db_get_boolean("wysiwyg-wiki", 0) ){ |
| 519 | style_submenu_element("Edit", "%R/wikiedit?name=%T&wysiwyg=1", |
| @@ -520,11 +528,13 @@ | |
| 528 | style_submenu_element("History", "%R/whistory?name=%T", zPageName); |
| 529 | } |
| 530 | } |
| 531 | style_set_current_page("%T?name=%T", g.zPath, zPageName); |
| 532 | wiki_page_header(WIKITYPE_UNKNOWN, zPageName, ""); |
| 533 | if( !noSubmenu ){ |
| 534 | wiki_standard_submenu(submenuFlags); |
| 535 | } |
| 536 | if( zBody[0]==0 ){ |
| 537 | @ <i>This page has been deleted</i> |
| 538 | }else{ |
| 539 | blob_init(&wiki, zBody, -1); |
| 540 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 541 |