Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | When clicking on a username in the timeline, link to a timeline that shows *all* events for that user. In other words, override the display-cookie y= query parameter by providing an explicit y=a query term. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
6313d0a828d2b7a445e49ab1d3647dc8 |
User & Date: | drh 2018-09-26 13:33:33.472 |
Context
2018-09-26
| ||
14:04 | Enable the chronological forum display for all users able to read the forum. Make chronological the default display mode for mobile devices, as determined by the user-agent string. ... (check-in: c720327a user: drh tags: trunk) | |
13:33 | When clicking on a username in the timeline, link to a timeline that shows *all* events for that user. In other words, override the display-cookie y= query parameter by providing an explicit y=a query term. ... (check-in: 6313d0a8 user: drh tags: trunk) | |
2018-09-25
| ||
17:26 | Update the built-in SQLite to the 3.25.2 release candidate, for testing. ... (check-in: 5fdd5312 user: drh tags: trunk) | |
Changes
Changes to src/timeline.c.
︙ | ︙ | |||
76 77 78 79 80 81 82 | ** is centered on that date+time. */ void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){ if( zU==0 || zU[0]==0 ) zU = "anonymous"; if( zSuf==0 ) zSuf = ""; if( g.perm.Hyperlink ){ if( zD && zD[0] ){ | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | ** is centered on that date+time. */ void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){ if( zU==0 || zU[0]==0 ) zU = "anonymous"; if( zSuf==0 ) zSuf = ""; if( g.perm.Hyperlink ){ if( zD && zD[0] ){ @ %z(href("%R/timeline?c=%T&u=%T&y=a",zD,zU))%h(zU)</a>%s(zSuf) }else{ @ %z(href("%R/timeline?u=%T&y=a",zU))%h(zU)</a>%s(zSuf) } }else{ @ %s(zU) } } /* |
︙ | ︙ | |||
578 579 580 581 582 583 584 | cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); } }else if( zType[0]=='g' || zType[0]=='w' || zType[0]=='t' || zType[0]=='f'){ cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); } if( g.perm.Hyperlink && fossil_strcmp(zDispUser, zThisUser)!=0 ){ | | | | 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); } }else if( zType[0]=='g' || zType[0]=='w' || zType[0]=='t' || zType[0]=='f'){ cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); } if( g.perm.Hyperlink && fossil_strcmp(zDispUser, zThisUser)!=0 ){ char *zLink = mprintf("%R/timeline?u=%h&c=%t&y=a", zDispUser, zDate); cgi_printf("user: %z%h</a>", href("%z",zLink), zDispUser); }else{ cgi_printf("user: %h", zDispUser); } /* Generate the "tags: TAGLIST" at the end of the comment, together ** with hyperlinks to the tag list. */ if( zTagList && zTagList[0]==0 ) zTagList = 0; if( zTagList ){ if( g.perm.Hyperlink ){ int i; const char *z = zTagList; Blob links; blob_zero(&links); while( z && z[0] ){ for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){} if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){ blob_appendf(&links, "%z%#h</a>%.2s", href("%R/timeline?r=%#t&c=%t",i,z,zDate), i,z, &z[i] ); }else{ blob_appendf(&links, "%#h", i+2, z); } if( z[i]==0 ) break; z += i+2; } |
︙ | ︙ |