| | @@ -418,21 +418,25 @@ |
| 418 | 418 | ); |
| 419 | 419 | if( db_step(&q)==SQLITE_ROW ){ |
| 420 | 420 | const char *zName = db_column_text(&q, 0); |
| 421 | 421 | const char *zUuid = db_column_text(&q, 1); |
| 422 | 422 | char *zTitle = mprintf("Wiki Page %s", zName); |
| 423 | + const char *zDate = db_column_text(&q,2); |
| 424 | + const char *zUser = db_column_text(&q,3); |
| 423 | 425 | style_header(zTitle); |
| 424 | 426 | free(zTitle); |
| 425 | 427 | login_anonymous_available(); |
| 426 | 428 | @ <div class="section">Overview</div> |
| 427 | 429 | @ <p><table class="label-value"> |
| 428 | 430 | @ <tr><th>Version:</th><td>%s(zUuid)</td></tr> |
| 429 | | - @ <tr><th>Date:</th><td>%s(db_column_text(&q, 2))</td></tr> |
| 431 | + @ <tr><th>Date:</th><td> |
| 432 | + hyperlink_to_date(zDate, "</td></tr>"); |
| 430 | 433 | if( g.okSetup ){ |
| 431 | 434 | @ <tr><th>Record ID:</th><td>%d(rid)</td></tr> |
| 432 | 435 | } |
| 433 | | - @ <tr><th>Original User:</th><td>%s(db_column_text(&q, 3))</td></tr> |
| 436 | + @ <tr><th>Original User:</th><td> |
| 437 | + hyperlink_to_user(zUser, zDate, "</td></tr>"); |
| 434 | 438 | if( g.okHistory ){ |
| 435 | 439 | @ <tr><th>Commands:</th> |
| 436 | 440 | @ <td> |
| 437 | 441 | /* @ <a href="%s(g.zBaseURL)/wdiff/%d(rid)">diff</a> | */ |
| 438 | 442 | @ <a href="%s(g.zBaseURL)/whistory?name=%t(zName)">history</a> |
| | @@ -526,11 +530,13 @@ |
| 526 | 530 | if( g.okHistory ){ |
| 527 | 531 | @ <a href="%s(g.zTop)/artifact/%s(zUuid)">[%s(zShort)]</a> |
| 528 | 532 | }else{ |
| 529 | 533 | @ [%s(zShort)] |
| 530 | 534 | } |
| 531 | | - @ %h(zCom) (By: %h(zUser)) |
| 535 | + @ %h(zCom) (By: |
| 536 | + hyperlink_to_user(zUser, zDate, " on"); |
| 537 | + hyperlink_to_date(zDate, ")"); |
| 532 | 538 | if( g.okHistory ){ |
| 533 | 539 | if( fpid ){ |
| 534 | 540 | @ <a href="%s(g.zBaseURL)/fdiff?v1=%d(fpid)&v2=%d(frid)">[diff]</a> |
| 535 | 541 | } |
| 536 | 542 | @ <a href="%s(g.zBaseURL)/annotate?mid=%d(mid)&fnid=%d(fnid)"> |
| 537 | 543 | |