Fossil SCM
Fix over-quoting of wiki names. Ticket [e4a31ae35cd521b]
Commit
dec4685720199ad6eb20f4824d8ae9452be10aa4
Parent
6c6a978a537be7e…
1 file changed
+7
-9
+7
-9
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -119,11 +119,10 @@ | ||
| 119 | 119 | int rid = 0; |
| 120 | 120 | int isSandbox; |
| 121 | 121 | Blob wiki; |
| 122 | 122 | Manifest m; |
| 123 | 123 | const char *zPageName; |
| 124 | - char *zHtmlPageName; | |
| 125 | 124 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 126 | 125 | |
| 127 | 126 | login_check_credentials(); |
| 128 | 127 | if( !g.okRdWiki ){ login_needed(); return; } |
| 129 | 128 | zPageName = P("name"); |
| @@ -130,12 +129,12 @@ | ||
| 130 | 129 | if( zPageName==0 ){ |
| 131 | 130 | style_header("Wiki"); |
| 132 | 131 | @ <ul> |
| 133 | 132 | { char *zHomePageName = db_get("project-name",0); |
| 134 | 133 | if( zHomePageName ){ |
| 135 | - @ <li> <a href="%s(g.zBaseURL)/wiki?name=%s(zHomePageName)"> | |
| 136 | - @ %s(zHomePageName)</a> wiki home page.</li> | |
| 134 | + @ <li> <a href="%s(g.zBaseURL)/wiki?name=%t(zHomePageName)"> | |
| 135 | + @ %h(zHomePageName)</a> wiki home page.</li> | |
| 137 | 136 | } |
| 138 | 137 | } |
| 139 | 138 | @ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki |
| 140 | 139 | @ pages. </li> |
| 141 | 140 | @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for |
| @@ -183,12 +182,11 @@ | ||
| 183 | 182 | if( g.okHistory ){ |
| 184 | 183 | style_submenu_element("History", "History", "%s/whistory?name=%T", |
| 185 | 184 | g.zTop, zPageName); |
| 186 | 185 | } |
| 187 | 186 | } |
| 188 | - zHtmlPageName = mprintf("%h", zPageName); | |
| 189 | - style_header(zHtmlPageName); | |
| 187 | + style_header(zPageName); | |
| 190 | 188 | blob_init(&wiki, zBody, -1); |
| 191 | 189 | wiki_convert(&wiki, 0, 0); |
| 192 | 190 | blob_reset(&wiki); |
| 193 | 191 | if( !isSandbox ){ |
| 194 | 192 | manifest_clear(&m); |
| @@ -291,11 +289,11 @@ | ||
| 291 | 289 | return; |
| 292 | 290 | } |
| 293 | 291 | if( zBody==0 ){ |
| 294 | 292 | zBody = mprintf("<i>Empty Page</i>"); |
| 295 | 293 | } |
| 296 | - zHtmlPageName = mprintf("Edit: %h", zPageName); | |
| 294 | + zHtmlPageName = mprintf("Edit: %s", zPageName); | |
| 297 | 295 | style_header(zHtmlPageName); |
| 298 | 296 | if( P("preview")!=0 ){ |
| 299 | 297 | blob_zero(&wiki); |
| 300 | 298 | blob_append(&wiki, zBody, -1); |
| 301 | 299 | @ Preview:<hr> |
| @@ -486,11 +484,11 @@ | ||
| 486 | 484 | char *zSQL; |
| 487 | 485 | const char *zPageName; |
| 488 | 486 | login_check_credentials(); |
| 489 | 487 | if( !g.okHistory ){ login_needed(); return; } |
| 490 | 488 | zPageName = PD("name",""); |
| 491 | - zTitle = mprintf("History Of %h", zPageName); | |
| 489 | + zTitle = mprintf("History Of %s", zPageName); | |
| 492 | 490 | style_header(zTitle); |
| 493 | 491 | free(zTitle); |
| 494 | 492 | |
| 495 | 493 | zSQL = mprintf("%s AND event.objid IN " |
| 496 | 494 | " (SELECT rid FROM tagxref WHERE tagid=" |
| @@ -523,17 +521,17 @@ | ||
| 523 | 521 | rid1 = atoi(PD("a","0")); |
| 524 | 522 | if( !g.okHistory ){ login_needed(); return; } |
| 525 | 523 | if( rid1==0 ) fossil_redirect_home(); |
| 526 | 524 | rid2 = atoi(PD("b","0")); |
| 527 | 525 | zPageName = PD("name",""); |
| 528 | - zTitle = mprintf("Changes To %h", zPageName); | |
| 526 | + zTitle = mprintf("Changes To %s", zPageName); | |
| 529 | 527 | style_header(zTitle); |
| 530 | 528 | free(zTitle); |
| 531 | 529 | |
| 532 | 530 | if( rid2==0 ){ |
| 533 | 531 | rid2 = db_int(0, |
| 534 | - "SELECT objid FROM event JOIN tagxref ON objid=rid AND tagid=" | |
| 532 | + "SELECT objid FROM event JOIN tagxref ON objid=rid AND tagxref.tagid=" | |
| 535 | 533 | "(SELECT tagid FROM tag WHERE tagname='wiki-%q')" |
| 536 | 534 | " WHERE event.mtime<(SELECT mtime FROM event WHERE objid=%d)" |
| 537 | 535 | " ORDER BY event.mtime DESC LIMIT 1", |
| 538 | 536 | zPageName, rid1 |
| 539 | 537 | ); |
| 540 | 538 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -119,11 +119,10 @@ | |
| 119 | int rid = 0; |
| 120 | int isSandbox; |
| 121 | Blob wiki; |
| 122 | Manifest m; |
| 123 | const char *zPageName; |
| 124 | char *zHtmlPageName; |
| 125 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 126 | |
| 127 | login_check_credentials(); |
| 128 | if( !g.okRdWiki ){ login_needed(); return; } |
| 129 | zPageName = P("name"); |
| @@ -130,12 +129,12 @@ | |
| 130 | if( zPageName==0 ){ |
| 131 | style_header("Wiki"); |
| 132 | @ <ul> |
| 133 | { char *zHomePageName = db_get("project-name",0); |
| 134 | if( zHomePageName ){ |
| 135 | @ <li> <a href="%s(g.zBaseURL)/wiki?name=%s(zHomePageName)"> |
| 136 | @ %s(zHomePageName)</a> wiki home page.</li> |
| 137 | } |
| 138 | } |
| 139 | @ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki |
| 140 | @ pages. </li> |
| 141 | @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for |
| @@ -183,12 +182,11 @@ | |
| 183 | if( g.okHistory ){ |
| 184 | style_submenu_element("History", "History", "%s/whistory?name=%T", |
| 185 | g.zTop, zPageName); |
| 186 | } |
| 187 | } |
| 188 | zHtmlPageName = mprintf("%h", zPageName); |
| 189 | style_header(zHtmlPageName); |
| 190 | blob_init(&wiki, zBody, -1); |
| 191 | wiki_convert(&wiki, 0, 0); |
| 192 | blob_reset(&wiki); |
| 193 | if( !isSandbox ){ |
| 194 | manifest_clear(&m); |
| @@ -291,11 +289,11 @@ | |
| 291 | return; |
| 292 | } |
| 293 | if( zBody==0 ){ |
| 294 | zBody = mprintf("<i>Empty Page</i>"); |
| 295 | } |
| 296 | zHtmlPageName = mprintf("Edit: %h", zPageName); |
| 297 | style_header(zHtmlPageName); |
| 298 | if( P("preview")!=0 ){ |
| 299 | blob_zero(&wiki); |
| 300 | blob_append(&wiki, zBody, -1); |
| 301 | @ Preview:<hr> |
| @@ -486,11 +484,11 @@ | |
| 486 | char *zSQL; |
| 487 | const char *zPageName; |
| 488 | login_check_credentials(); |
| 489 | if( !g.okHistory ){ login_needed(); return; } |
| 490 | zPageName = PD("name",""); |
| 491 | zTitle = mprintf("History Of %h", zPageName); |
| 492 | style_header(zTitle); |
| 493 | free(zTitle); |
| 494 | |
| 495 | zSQL = mprintf("%s AND event.objid IN " |
| 496 | " (SELECT rid FROM tagxref WHERE tagid=" |
| @@ -523,17 +521,17 @@ | |
| 523 | rid1 = atoi(PD("a","0")); |
| 524 | if( !g.okHistory ){ login_needed(); return; } |
| 525 | if( rid1==0 ) fossil_redirect_home(); |
| 526 | rid2 = atoi(PD("b","0")); |
| 527 | zPageName = PD("name",""); |
| 528 | zTitle = mprintf("Changes To %h", zPageName); |
| 529 | style_header(zTitle); |
| 530 | free(zTitle); |
| 531 | |
| 532 | if( rid2==0 ){ |
| 533 | rid2 = db_int(0, |
| 534 | "SELECT objid FROM event JOIN tagxref ON objid=rid AND tagid=" |
| 535 | "(SELECT tagid FROM tag WHERE tagname='wiki-%q')" |
| 536 | " WHERE event.mtime<(SELECT mtime FROM event WHERE objid=%d)" |
| 537 | " ORDER BY event.mtime DESC LIMIT 1", |
| 538 | zPageName, rid1 |
| 539 | ); |
| 540 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -119,11 +119,10 @@ | |
| 119 | int rid = 0; |
| 120 | int isSandbox; |
| 121 | Blob wiki; |
| 122 | Manifest m; |
| 123 | const char *zPageName; |
| 124 | char *zBody = mprintf("%s","<i>Empty Page</i>"); |
| 125 | |
| 126 | login_check_credentials(); |
| 127 | if( !g.okRdWiki ){ login_needed(); return; } |
| 128 | zPageName = P("name"); |
| @@ -130,12 +129,12 @@ | |
| 129 | if( zPageName==0 ){ |
| 130 | style_header("Wiki"); |
| 131 | @ <ul> |
| 132 | { char *zHomePageName = db_get("project-name",0); |
| 133 | if( zHomePageName ){ |
| 134 | @ <li> <a href="%s(g.zBaseURL)/wiki?name=%t(zHomePageName)"> |
| 135 | @ %h(zHomePageName)</a> wiki home page.</li> |
| 136 | } |
| 137 | } |
| 138 | @ <li> <a href="%s(g.zBaseURL)/timeline?y=w">Recent changes</a> to wiki |
| 139 | @ pages. </li> |
| 140 | @ <li> <a href="%s(g.zBaseURL)/wiki_rules">Formatting rules</a> for |
| @@ -183,12 +182,11 @@ | |
| 182 | if( g.okHistory ){ |
| 183 | style_submenu_element("History", "History", "%s/whistory?name=%T", |
| 184 | g.zTop, zPageName); |
| 185 | } |
| 186 | } |
| 187 | style_header(zPageName); |
| 188 | blob_init(&wiki, zBody, -1); |
| 189 | wiki_convert(&wiki, 0, 0); |
| 190 | blob_reset(&wiki); |
| 191 | if( !isSandbox ){ |
| 192 | manifest_clear(&m); |
| @@ -291,11 +289,11 @@ | |
| 289 | return; |
| 290 | } |
| 291 | if( zBody==0 ){ |
| 292 | zBody = mprintf("<i>Empty Page</i>"); |
| 293 | } |
| 294 | zHtmlPageName = mprintf("Edit: %s", zPageName); |
| 295 | style_header(zHtmlPageName); |
| 296 | if( P("preview")!=0 ){ |
| 297 | blob_zero(&wiki); |
| 298 | blob_append(&wiki, zBody, -1); |
| 299 | @ Preview:<hr> |
| @@ -486,11 +484,11 @@ | |
| 484 | char *zSQL; |
| 485 | const char *zPageName; |
| 486 | login_check_credentials(); |
| 487 | if( !g.okHistory ){ login_needed(); return; } |
| 488 | zPageName = PD("name",""); |
| 489 | zTitle = mprintf("History Of %s", zPageName); |
| 490 | style_header(zTitle); |
| 491 | free(zTitle); |
| 492 | |
| 493 | zSQL = mprintf("%s AND event.objid IN " |
| 494 | " (SELECT rid FROM tagxref WHERE tagid=" |
| @@ -523,17 +521,17 @@ | |
| 521 | rid1 = atoi(PD("a","0")); |
| 522 | if( !g.okHistory ){ login_needed(); return; } |
| 523 | if( rid1==0 ) fossil_redirect_home(); |
| 524 | rid2 = atoi(PD("b","0")); |
| 525 | zPageName = PD("name",""); |
| 526 | zTitle = mprintf("Changes To %s", zPageName); |
| 527 | style_header(zTitle); |
| 528 | free(zTitle); |
| 529 | |
| 530 | if( rid2==0 ){ |
| 531 | rid2 = db_int(0, |
| 532 | "SELECT objid FROM event JOIN tagxref ON objid=rid AND tagxref.tagid=" |
| 533 | "(SELECT tagid FROM tag WHERE tagname='wiki-%q')" |
| 534 | " WHERE event.mtime<(SELECT mtime FROM event WHERE objid=%d)" |
| 535 | " ORDER BY event.mtime DESC LIMIT 1", |
| 536 | zPageName, rid1 |
| 537 | ); |
| 538 |