Fossil SCM
On the /wikiedit screen, do not show the "Apply" button unless the user has first done a preview.
Commit
cfe761679c70cbdd30ebd186e34ddeddacc1f975248d427a2bffd71b8734adae
Parent
867fe0ea9664321…
1 file changed
+6
-1
+6
-1
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -585,10 +585,11 @@ | ||
| 585 | 585 | char *zBody = (char*)P("w"); |
| 586 | 586 | const char *zMimetype = wiki_filter_mimetypes(P("mimetype")); |
| 587 | 587 | int isWysiwyg = P("wysiwyg")!=0; |
| 588 | 588 | int goodCaptcha = 1; |
| 589 | 589 | int eType = WIKITYPE_UNKNOWN; |
| 590 | + int havePreview = 0; | |
| 590 | 591 | |
| 591 | 592 | if( P("edit-wysiwyg")!=0 ){ isWysiwyg = 1; zBody = 0; } |
| 592 | 593 | if( P("edit-markup")!=0 ){ isWysiwyg = 0; zBody = 0; } |
| 593 | 594 | if( zBody ){ |
| 594 | 595 | if( isWysiwyg ){ |
| @@ -692,10 +693,11 @@ | ||
| 692 | 693 | @ <p class="generalError">Error: Incorrect security code.</p> |
| 693 | 694 | } |
| 694 | 695 | blob_zero(&wiki); |
| 695 | 696 | blob_append(&wiki, zBody, -1); |
| 696 | 697 | if( P("preview")!=0 && zBody[0] ){ |
| 698 | + havePreview = 1; | |
| 697 | 699 | @ Preview:<hr /> |
| 698 | 700 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 699 | 701 | @ <hr /> |
| 700 | 702 | blob_reset(&wiki); |
| 701 | 703 | } |
| @@ -739,10 +741,11 @@ | ||
| 739 | 741 | } |
| 740 | 742 | @ <input type="submit" name="preview" value="Preview Your Changes" /> |
| 741 | 743 | }else{ |
| 742 | 744 | /* Wysiwyg editing */ |
| 743 | 745 | Blob html, temp; |
| 746 | + havePreview = 1; | |
| 744 | 747 | form_begin("", "%R/wikiedit"); |
| 745 | 748 | @ <div> |
| 746 | 749 | @ <input type="hidden" name="wysiwyg" value="1" /> |
| 747 | 750 | blob_zero(&temp); |
| 748 | 751 | wiki_convert(&wiki, &temp, 0); |
| @@ -754,11 +757,13 @@ | ||
| 754 | 757 | @ <br /> |
| 755 | 758 | @ <input type="submit" name="edit-markup" value="Markup Editor" |
| 756 | 759 | @ onclick='return confirm("Switching to markup-mode\nwill erase your WYSIWYG\nedits. Continue?")' /> |
| 757 | 760 | } |
| 758 | 761 | login_insert_csrf_secret(); |
| 759 | - @ <input type="submit" name="submit" value="Apply These Changes" /> | |
| 762 | + if( havePreview ){ | |
| 763 | + @ <input type="submit" name="submit" value="Apply These Changes" /> | |
| 764 | + } | |
| 760 | 765 | @ <input type="hidden" name="name" value="%h(zPageName)" /> |
| 761 | 766 | @ <input type="submit" name="cancel" value="Cancel" |
| 762 | 767 | @ onclick='confirm("Abandon your changes?")' /> |
| 763 | 768 | @ </div> |
| 764 | 769 | captcha_generate(0); |
| 765 | 770 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -585,10 +585,11 @@ | |
| 585 | char *zBody = (char*)P("w"); |
| 586 | const char *zMimetype = wiki_filter_mimetypes(P("mimetype")); |
| 587 | int isWysiwyg = P("wysiwyg")!=0; |
| 588 | int goodCaptcha = 1; |
| 589 | int eType = WIKITYPE_UNKNOWN; |
| 590 | |
| 591 | if( P("edit-wysiwyg")!=0 ){ isWysiwyg = 1; zBody = 0; } |
| 592 | if( P("edit-markup")!=0 ){ isWysiwyg = 0; zBody = 0; } |
| 593 | if( zBody ){ |
| 594 | if( isWysiwyg ){ |
| @@ -692,10 +693,11 @@ | |
| 692 | @ <p class="generalError">Error: Incorrect security code.</p> |
| 693 | } |
| 694 | blob_zero(&wiki); |
| 695 | blob_append(&wiki, zBody, -1); |
| 696 | if( P("preview")!=0 && zBody[0] ){ |
| 697 | @ Preview:<hr /> |
| 698 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 699 | @ <hr /> |
| 700 | blob_reset(&wiki); |
| 701 | } |
| @@ -739,10 +741,11 @@ | |
| 739 | } |
| 740 | @ <input type="submit" name="preview" value="Preview Your Changes" /> |
| 741 | }else{ |
| 742 | /* Wysiwyg editing */ |
| 743 | Blob html, temp; |
| 744 | form_begin("", "%R/wikiedit"); |
| 745 | @ <div> |
| 746 | @ <input type="hidden" name="wysiwyg" value="1" /> |
| 747 | blob_zero(&temp); |
| 748 | wiki_convert(&wiki, &temp, 0); |
| @@ -754,11 +757,13 @@ | |
| 754 | @ <br /> |
| 755 | @ <input type="submit" name="edit-markup" value="Markup Editor" |
| 756 | @ onclick='return confirm("Switching to markup-mode\nwill erase your WYSIWYG\nedits. Continue?")' /> |
| 757 | } |
| 758 | login_insert_csrf_secret(); |
| 759 | @ <input type="submit" name="submit" value="Apply These Changes" /> |
| 760 | @ <input type="hidden" name="name" value="%h(zPageName)" /> |
| 761 | @ <input type="submit" name="cancel" value="Cancel" |
| 762 | @ onclick='confirm("Abandon your changes?")' /> |
| 763 | @ </div> |
| 764 | captcha_generate(0); |
| 765 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -585,10 +585,11 @@ | |
| 585 | char *zBody = (char*)P("w"); |
| 586 | const char *zMimetype = wiki_filter_mimetypes(P("mimetype")); |
| 587 | int isWysiwyg = P("wysiwyg")!=0; |
| 588 | int goodCaptcha = 1; |
| 589 | int eType = WIKITYPE_UNKNOWN; |
| 590 | int havePreview = 0; |
| 591 | |
| 592 | if( P("edit-wysiwyg")!=0 ){ isWysiwyg = 1; zBody = 0; } |
| 593 | if( P("edit-markup")!=0 ){ isWysiwyg = 0; zBody = 0; } |
| 594 | if( zBody ){ |
| 595 | if( isWysiwyg ){ |
| @@ -692,10 +693,11 @@ | |
| 693 | @ <p class="generalError">Error: Incorrect security code.</p> |
| 694 | } |
| 695 | blob_zero(&wiki); |
| 696 | blob_append(&wiki, zBody, -1); |
| 697 | if( P("preview")!=0 && zBody[0] ){ |
| 698 | havePreview = 1; |
| 699 | @ Preview:<hr /> |
| 700 | wiki_render_by_mimetype(&wiki, zMimetype); |
| 701 | @ <hr /> |
| 702 | blob_reset(&wiki); |
| 703 | } |
| @@ -739,10 +741,11 @@ | |
| 741 | } |
| 742 | @ <input type="submit" name="preview" value="Preview Your Changes" /> |
| 743 | }else{ |
| 744 | /* Wysiwyg editing */ |
| 745 | Blob html, temp; |
| 746 | havePreview = 1; |
| 747 | form_begin("", "%R/wikiedit"); |
| 748 | @ <div> |
| 749 | @ <input type="hidden" name="wysiwyg" value="1" /> |
| 750 | blob_zero(&temp); |
| 751 | wiki_convert(&wiki, &temp, 0); |
| @@ -754,11 +757,13 @@ | |
| 757 | @ <br /> |
| 758 | @ <input type="submit" name="edit-markup" value="Markup Editor" |
| 759 | @ onclick='return confirm("Switching to markup-mode\nwill erase your WYSIWYG\nedits. Continue?")' /> |
| 760 | } |
| 761 | login_insert_csrf_secret(); |
| 762 | if( havePreview ){ |
| 763 | @ <input type="submit" name="submit" value="Apply These Changes" /> |
| 764 | } |
| 765 | @ <input type="hidden" name="name" value="%h(zPageName)" /> |
| 766 | @ <input type="submit" name="cancel" value="Cancel" |
| 767 | @ onclick='confirm("Abandon your changes?")' /> |
| 768 | @ </div> |
| 769 | captcha_generate(0); |
| 770 |