Fossil SCM
Next and Previous submenu buttons on the /wdiff page in order to step through all versions of a wiki page.
Commit
19eaa3cae4d5b30760453eb3ca6d3497d32b9c8a2e1f7169f4b3ca0b118d48fd
Parent
869841cb04a207d…
2 files changed
+1
+6
-1
+1
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -955,10 +955,11 @@ | ||
| 955 | 955 | int i; |
| 956 | 956 | @ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td> |
| 957 | 957 | for(i=0; i<pWiki->nParent; i++){ |
| 958 | 958 | char *zParent = pWiki->azParent[i]; |
| 959 | 959 | @ %z(href("info/%!S",zParent))%s(zParent)</a> |
| 960 | + @ %z(href("%R/wdiff?id=%!S&pid=%!S",zUuid,zParent))(diff)</a> | |
| 960 | 961 | } |
| 961 | 962 | @ </td></tr> |
| 962 | 963 | } |
| 963 | 964 | tagid = wiki_tagid(pWiki->zWikiTitle); |
| 964 | 965 | if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){ |
| 965 | 966 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -955,10 +955,11 @@ | |
| 955 | int i; |
| 956 | @ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td> |
| 957 | for(i=0; i<pWiki->nParent; i++){ |
| 958 | char *zParent = pWiki->azParent[i]; |
| 959 | @ %z(href("info/%!S",zParent))%s(zParent)</a> |
| 960 | } |
| 961 | @ </td></tr> |
| 962 | } |
| 963 | tagid = wiki_tagid(pWiki->zWikiTitle); |
| 964 | if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){ |
| 965 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -955,10 +955,11 @@ | |
| 955 | int i; |
| 956 | @ <tr><th>Parent%s(pWiki->nParent==1?"":"s"):</th><td> |
| 957 | for(i=0; i<pWiki->nParent; i++){ |
| 958 | char *zParent = pWiki->azParent[i]; |
| 959 | @ %z(href("info/%!S",zParent))%s(zParent)</a> |
| 960 | @ %z(href("%R/wdiff?id=%!S&pid=%!S",zUuid,zParent))(diff)</a> |
| 961 | } |
| 962 | @ </td></tr> |
| 963 | } |
| 964 | tagid = wiki_tagid(pWiki->zWikiTitle); |
| 965 | if( tagid>0 && (ridNext = wiki_next(tagid, pWiki->rDate))>0 ){ |
| 966 |
+6
-1
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -942,11 +942,11 @@ | ||
| 942 | 942 | */ |
| 943 | 943 | void wdiff_page(void){ |
| 944 | 944 | const char *zId; |
| 945 | 945 | const char *zPid; |
| 946 | 946 | Manifest *pW1, *pW2 = 0; |
| 947 | - int rid1, rid2; | |
| 947 | + int rid1, rid2, nextRid; | |
| 948 | 948 | Blob w1, w2, d; |
| 949 | 949 | u64 diffFlags; |
| 950 | 950 | |
| 951 | 951 | login_check_credentials(); |
| 952 | 952 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| @@ -973,15 +973,20 @@ | ||
| 973 | 973 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \ |
| 974 | 974 | zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate); |
| 975 | 975 | @ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \ |
| 976 | 976 | zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate); |
| 977 | 977 | @ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2> |
| 978 | + style_submenu_element("Previous", "%R/wdiff?id=%S", zPid); | |
| 978 | 979 | }else{ |
| 979 | 980 | blob_zero(&w2); |
| 980 | 981 | @ <h2>Initial version of \ |
| 981 | 982 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\ |
| 982 | 983 | @ </h2> |
| 984 | + } | |
| 985 | + nextRid = wiki_next(wiki_tagid(pW1->zWikiTitle),pW1->rDate); | |
| 986 | + if( nextRid ){ | |
| 987 | + style_submenu_element("Next", "%R/wdiff?rid=%d", nextRid); | |
| 983 | 988 | } |
| 984 | 989 | style_header("Changes To %s", pW1->zWikiTitle); |
| 985 | 990 | blob_zero(&d); |
| 986 | 991 | diffFlags = construct_diff_flags(1); |
| 987 | 992 | text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO); |
| 988 | 993 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -942,11 +942,11 @@ | |
| 942 | */ |
| 943 | void wdiff_page(void){ |
| 944 | const char *zId; |
| 945 | const char *zPid; |
| 946 | Manifest *pW1, *pW2 = 0; |
| 947 | int rid1, rid2; |
| 948 | Blob w1, w2, d; |
| 949 | u64 diffFlags; |
| 950 | |
| 951 | login_check_credentials(); |
| 952 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| @@ -973,15 +973,20 @@ | |
| 973 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \ |
| 974 | zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate); |
| 975 | @ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \ |
| 976 | zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate); |
| 977 | @ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2> |
| 978 | }else{ |
| 979 | blob_zero(&w2); |
| 980 | @ <h2>Initial version of \ |
| 981 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\ |
| 982 | @ </h2> |
| 983 | } |
| 984 | style_header("Changes To %s", pW1->zWikiTitle); |
| 985 | blob_zero(&d); |
| 986 | diffFlags = construct_diff_flags(1); |
| 987 | text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO); |
| 988 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -942,11 +942,11 @@ | |
| 942 | */ |
| 943 | void wdiff_page(void){ |
| 944 | const char *zId; |
| 945 | const char *zPid; |
| 946 | Manifest *pW1, *pW2 = 0; |
| 947 | int rid1, rid2, nextRid; |
| 948 | Blob w1, w2, d; |
| 949 | u64 diffFlags; |
| 950 | |
| 951 | login_check_credentials(); |
| 952 | if( !g.perm.RdWiki ){ login_needed(g.anon.RdWiki); return; } |
| @@ -973,15 +973,20 @@ | |
| 973 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>" \ |
| 974 | zDate = db_text(0, "SELECT datetime(%.16g)",pW2->rDate); |
| 975 | @ between %z(href("%R/info/%s",zPid))%z(zDate)</a> \ |
| 976 | zDate = db_text(0, "SELECT datetime(%.16g)",pW1->rDate); |
| 977 | @ and %z(href("%R/info/%s",zId))%z(zDate)</a></h2> |
| 978 | style_submenu_element("Previous", "%R/wdiff?id=%S", zPid); |
| 979 | }else{ |
| 980 | blob_zero(&w2); |
| 981 | @ <h2>Initial version of \ |
| 982 | @ "%z(href("%R/whistory?name=%s",pW1->zWikiTitle))%h(pW1->zWikiTitle)</a>"\ |
| 983 | @ </h2> |
| 984 | } |
| 985 | nextRid = wiki_next(wiki_tagid(pW1->zWikiTitle),pW1->rDate); |
| 986 | if( nextRid ){ |
| 987 | style_submenu_element("Next", "%R/wdiff?rid=%d", nextRid); |
| 988 | } |
| 989 | style_header("Changes To %s", pW1->zWikiTitle); |
| 990 | blob_zero(&d); |
| 991 | diffFlags = construct_diff_flags(1); |
| 992 | text_diff(&w2, &w1, &d, 0, diffFlags | DIFF_HTML | DIFF_LINENO); |
| 993 |