Index: src/cgi.c ================================================================== --- src/cgi.c +++ src/cgi.c @@ -814,11 +814,11 @@ len = atoi(PD("CONTENT_LENGTH", "0")); g.zContentType = zType = P("CONTENT_TYPE"); if( len>0 && zType ){ blob_zero(&g.cgiIn); - if( fossil_strcmp(zType,"application/x-www-form-urlencoded")==0 + if( strncmp(zType,"application/x-www-form-urlencoded",33)==0 || strncmp(zType,"multipart/form-data",19)==0 ){ z = fossil_malloc( len+1 ); len = fread(z, 1, len, g.httpIn); z[len] = 0; if( zType[0]=='a' ){ Index: src/wiki.c ================================================================== --- src/wiki.c +++ src/wiki.c @@ -258,10 +258,11 @@ Blob wiki; Manifest *pWiki = 0; const char *zPageName; char *zHtmlPageName; int n; + int ss; const char *z; char *zBody = (char*)P("w"); if( zBody ){ zBody = mprintf("%s", zBody); @@ -336,36 +337,203 @@ if( zBody==0 ){ zBody = mprintf("Empty Page"); } zHtmlPageName = mprintf("Edit: %s", zPageName); style_header(zHtmlPageName); - if( P("preview")!=0 ){ + ss = 0; + if(P("ss")) ss = atoi(P("ss")); + if( P("ssb")!=0 ){ + ss= ss ? 0 : 1; + } + if(ss){ blob_zero(&wiki); blob_append(&wiki, zBody, -1); - @ Preview:
- wiki_convert(&wiki, 0, 0); - @
- blob_reset(&wiki); + } else { + if( P("preview")!=0 ){ + blob_zero(&wiki); + blob_append(&wiki, zBody, -1); + @ Preview:
+ wiki_convert(&wiki, 0, 0); + @
+ blob_reset(&wiki); + } } for(n=2, z=zBody; z[0]; z++){ if( z[0]=='\n' ) n++; } if( n<20 ) n = 20; if( n>40 ) n = 40; - @
+ + if(ss){ + @
+ @
+ @

Preview

+ wiki_convert(&wiki, 0, 0); + blob_reset(&wiki); + @
+ @
+ } + @ login_insert_csrf_secret(); @ - @ + @
+ @
+ if(ss){ + @ @
- @ + if(!ss){ + @ + } @ @ - @
+ @ + if(ss){ + @
+ @ + } manifest_destroy(pWiki); style_footer(); } + +/* +** WEBPAGE: wikipreview +** URL: /wikipreview +** +** render the contents of w +** for use with Ajax. This is NOT +** a complete web-page! +*/ +void wikipreview_page(void){ + Blob wiki; + char *zBody = (char*)P("w"); + if( zBody ){ + zBody = mprintf("%s", zBody); + } + login_check_credentials(); + if( zBody==0 ){ + zBody = mprintf("Empty Page"); + } + blob_zero(&wiki); + blob_append(&wiki, zBody, -1); + wiki_convert(&wiki, 0, 0); + blob_reset(&wiki); +} /* ** WEBPAGE: wikinew ** URL /wikinew **