@@ -348,36 +348,74 @@
348 348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_standard_submenu(W_HELP|W_LIST|W_SANDBOX);
349 349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
search_screen(SRCH_WIKI, 0);
350 350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_footer();
351 351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
352 352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Return values from wiki_page_type() */
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKITYPE_UNKNOWN (-1)
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKITYPE_NORMAL 0
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKITYPE_BRANCH 1
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKITYPE_CHECKIN 2
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKITYPE_TAG 3
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
353 360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Add an appropriate style_header() for either the /wiki or /wikiedit page
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** for zPageName.
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Figure out what type of wiki page we are dealing with.
356 362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void wiki_page_header(const char *zPageName, const char *zExtra){
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int wiki_page_type(const char *zPageName){
358 364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_get_boolean("wiki-about",1)==0 ){
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("%s%s", zExtra, zPageName);
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return WIKITYPE_NORMAL;
360 366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
361 367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_strglob("checkin/*", zPageName)==0
362 368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& db_exists("SELECT 1 FROM blob WHERE uuid=%Q",zPageName+8)
363 369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("Notes About Checkin %S", zPageName + 8);
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Checkin Timeline","%R/timeline?f=%s",zPageName + 8);
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Checkin Info","%R/info/%s",zPageName + 8);
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return WIKITYPE_CHECKIN;
367 371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
368 372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_strglob("branch/*", zPageName)==0 ){
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("Notes About Branch %h", zPageName + 7);
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Branch Timeline","%R/timeline?r=%t",zPageName + 7);
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return WIKITYPE_BRANCH;
371 374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
372 375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_strglob("tag/*", zPageName)==0 ){
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("Notes About Tag %h", zPageName + 4);
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_submenu_element("Tag Timeline","%R/timeline?t=%t",zPageName + 4);
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return WIKITYPE_TAG;
375 377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else{
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- style_header("%s%s", zExtra, zPageName);
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return WIKITYPE_NORMAL;
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Add an appropriate style_header() for either the /wiki or /wikiedit page
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** for zPageName.
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int wiki_page_header(
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int eType, /* Page type. -1 for unknown */
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zPageName, /* Name of the page */
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zExtra /* Extra prefix text on the page header */
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ){
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( eType<0 ) eType = wiki_page_type(zPageName);
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( eType ){
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_NORMAL: {
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_header("%s%s", zExtra, zPageName);
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_CHECKIN: {
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPageName += 8;
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_header("Notes About Checkin %S", zPageName);
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Checkin Timeline","%R/timeline?f=%s", zPageName);
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Checkin Info","%R/info/%s", zPageName);
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_BRANCH: {
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPageName += 7;
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_header("Notes About Branch %h", zPageName);
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Branch Timeline","%R/timeline?r=%t", zPageName);
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_TAG: {
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPageName += 4;
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_header("Notes About Tag %h", zPageName);
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Tag Timeline","%R/timeline?t=%t",zPageName);
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
378 415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return eType;
379 417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
380 418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
381 419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
382 420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Wiki pages with special names "branch/...", "checkin/...", and "tag/..."
383 421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** requires perm.Write privilege in addition to perm.WrWiki in order
@@ -464,11 +502,11 @@
464 502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_element("History", "%s/whistory?name=%T",
465 503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zTop, zPageName);
466 504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
467 505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
468 506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_set_current_page("%T?name=%T", g.zPath, zPageName);
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_page_header(zPageName, "");
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_page_header(WIKITYPE_UNKNOWN, zPageName, "");
470 508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_standard_submenu(submenuFlags);
471 509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zBody[0]==0 ){
472 510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <i>This page has been deleted</i>
473 511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
474 512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_init(&wiki, zBody, -1);
@@ -546,10 +584,11 @@
546 584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *z;
547 585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zBody = (char*)P("w");
548 586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zMimetype = wiki_filter_mimetypes(P("mimetype"));
549 587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int isWysiwyg = P("wysiwyg")!=0;
550 588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int goodCaptcha = 1;
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int eType = WIKITYPE_UNKNOWN;
551 590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
552 591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("edit-wysiwyg")!=0 ){ isWysiwyg = 1; zBody = 0; }
553 592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("edit-markup")!=0 ){ isWysiwyg = 0; zBody = 0; }
554 593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zBody ){
555 594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( isWysiwyg ){
@@ -634,14 +673,14 @@
634 673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( P("cancel")!=0 ){
635 674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_redirectf("wiki?name=%T", zPageName);
636 675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
637 676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
638 677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zBody==0 ){
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zBody = mprintf("<i>Empty Page</i>");
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zBody = mprintf("");
640 679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
641 680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_set_current_page("%T?name=%T", g.zPath, zPageName);
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_page_header(zPageName, "Edit: ");
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ eType = wiki_page_header(WIKITYPE_UNKNOWN, zPageName, "Edit: ");
643 682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rid && !isSandbox && g.perm.ApndWiki ){
644 683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.perm.Attach ){
645 684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_element("Attach",
646 685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"%s/attachadd?page=%T&from=%s/wiki%%3fname=%T",
647 686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zTop, zPageName, g.zTop, zPageName);
@@ -652,11 +691,11 @@
652 691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !goodCaptcha ){
653 692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <p class="generalError">Error: Incorrect security code.</p>
654 693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
655 694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_zero(&wiki);
656 695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_append(&wiki, zBody, -1);
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( P("preview")!=0 ){
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( P("preview")!=0 && zBody[0] ){
658 697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ Preview:<hr />
659 698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_render_by_mimetype(&wiki, zMimetype);
660 699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <hr />
661 700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&wiki);
662 701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -665,16 +704,37 @@
665 704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
666 705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( n<20 ) n = 20;
667 706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( n>30 ) n = 30;
668 707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( !isWysiwyg ){
669 708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Traditional markup-only editing */
709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ char *zPlaceholder = 0;
710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch( eType ){
711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_NORMAL: {
712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPlaceholder = mprintf("Enter text for wiki page %s", zPageName);
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_BRANCH: {
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPlaceholder = mprintf("Enter notes about branch %s", zPageName+7);
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_CHECKIN: {
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPlaceholder = mprintf("Enter notes about check-in %.20s", zPageName+8);
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case WIKITYPE_TAG: {
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPlaceholder = mprintf("Enter notes about tag %s", zPageName+4);
725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
670 728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
form_begin(0, "%R/wikiedit");
671 729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div>Markup style:
672 730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mimetype_option_menu(zMimetype);
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ <br /><textarea name="w" class="wikiedit" cols="80"
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ rows="%d(n)" wrap="virtual">%h(zBody)</textarea>
731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ <br /><textarea name="w" class="wikiedit" cols="80" \
732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ rows="%d(n)" wrap="virtual" placeholder="%h(zPlaceholder)">\
733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ %h(zBody)</textarea>
675 734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <br />
735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ fossil_free(zPlaceholder);
676 736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( db_get_boolean("wysiwyg-wiki", 0) ){
677 737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="submit" name="edit-wysiwyg" value="Wysiwyg Editor"
678 738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ onclick='return confirm("Switching to WYSIWYG-mode\nwill erase your markup\nedits. Continue?")' />
679 739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
680 740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <input type="submit" name="preview" value="Preview Your Changes" />
@@ -1555,11 +1615,13 @@
1555 1615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1556 1616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Allowed flags for wiki_render_associated
1557 1617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1558 1618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if INTERFACE
1559 1619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define WIKIASSOC_FULL_TITLE 0x00001 /* Full title */
1560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- #define WIKIASSOC_MENU 0x00002 /* Add a submenu to the About section */
1620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKIASSOC_MENU_READ 0x00002 /* Add submenu link to read wiki */
1621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKIASSOC_MENU_WRITE 0x00004 /* Add submenu link to add wiki */
1622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #define WIKIASSOC_ALL 0x00007 /* All of the above */
1561 1623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
1562 1624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1563 1625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1564 1626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Show the default Section label for an associated wiki page.
1565 1627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -1576,18 +1638,18 @@
1576 1638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div class="section">About %s(zPrefix) %h(zName)</div>
1577 1639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1578 1640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1579 1641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1580 1642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
1581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Add an "Wiki" button in a submenu for a Wiki page.
1643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Add an "Wiki" button in a submenu that links to the read-wiki page.
1582 1644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void wiki_section_menu(
1645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void wiki_submenu_to_read_wiki(
1584 1646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPrefix, /* "branch", "tag", or "checkin" */
1585 1647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName, /* Name of the object */
1586 1648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unsigned int mFlags /* Zero or more WIKIASSOC_* flags */
1587 1649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.perm.WrWiki && (mFlags & WIKIASSOC_MENU)!=0 ){
1650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.perm.RdWiki && (mFlags & WIKIASSOC_MENU_READ)!=0 ){
1589 1651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
style_submenu_element("Wiki", "%R/wiki?name=%s/%t", zPrefix, zName);
1590 1652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1591 1653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1592 1654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1593 1655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -1609,11 +1671,16 @@
1609 1671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT rid FROM tagxref"
1610 1672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE tagid=(SELECT tagid FROM tag WHERE tagname='wiki-%q/%q')"
1611 1673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY mtime DESC LIMIT 1",
1612 1674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zPrefix, zName
1613 1675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
1614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( rid==0 ) return 0;
1676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( rid==0 ){
1677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.perm.WrWiki && g.perm.Write && (mFlags & WIKIASSOC_MENU_WRITE)!=0 ){
1678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ style_submenu_element("Add Wiki", "%R/wikiedit?name=%s/%t",
1679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zPrefix, zName);
1680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1615 1682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pWiki = manifest_get(rid, CFTYPE_WIKI, 0);
1616 1683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pWiki==0 ) return 0;
1617 1684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_strcmp(pWiki->zMimetype, "text/x-markdown")==0 ){
1618 1685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob tail = BLOB_INITIALIZER;
1619 1686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob title = BLOB_INITIALIZER;
@@ -1623,18 +1690,18 @@
1623 1690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( blob_size(&title) ){
1624 1691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div class="section">%h(blob_str(&title))</div>
1625 1692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1626 1693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_section_label(zPrefix, zName, mFlags);
1627 1694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_section_menu(zPrefix, zName, mFlags);
1695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_submenu_to_read_wiki(zPrefix, zName, mFlags);
1629 1696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
convert_href_and_output(&tail);
1630 1697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&tail);
1631 1698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&title);
1632 1699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&markdown);
1633 1700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( fossil_strcmp(pWiki->zMimetype, "text/plain")==0 ){
1634 1701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_section_label(zPrefix, zName, mFlags);
1635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_section_menu(zPrefix, zName, mFlags);
1702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_submenu_to_read_wiki(zPrefix, zName, mFlags);
1636 1703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <pre>
1637 1704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ %h(pWiki->zWiki)
1638 1705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </pre>
1639 1706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1640 1707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Blob tail = BLOB_INITIALIZER;
@@ -1647,11 +1714,11 @@
1647 1714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pBody = &tail;
1648 1715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
1649 1716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_section_label(zPrefix, zName, mFlags);
1650 1717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pBody = &wiki;
1651 1718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wiki_section_menu(zPrefix, zName, mFlags);
1719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wiki_submenu_to_read_wiki(zPrefix, zName, mFlags);
1653 1720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ <div class="wiki">
1654 1721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
wiki_convert(pBody, 0, WIKI_BUTTONS);
1655 1722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ </div>
1656 1723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&tail);
1657 1724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
blob_reset(&title);
1658 1725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!