Fossil SCM
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.
Commit
6313d0a828d2b7a445e49ab1d3647dc816e25df9108308b0e565bbcc11484b93
Parent
5fdd53120e12a9f…
1 file changed
+4
-4
+4
-4
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -78,13 +78,13 @@ | ||
| 78 | 78 | void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){ |
| 79 | 79 | if( zU==0 || zU[0]==0 ) zU = "anonymous"; |
| 80 | 80 | if( zSuf==0 ) zSuf = ""; |
| 81 | 81 | if( g.perm.Hyperlink ){ |
| 82 | 82 | if( zD && zD[0] ){ |
| 83 | - @ %z(href("%R/timeline?c=%T&u=%T",zD,zU))%h(zU)</a>%s(zSuf) | |
| 83 | + @ %z(href("%R/timeline?c=%T&u=%T&y=a",zD,zU))%h(zU)</a>%s(zSuf) | |
| 84 | 84 | }else{ |
| 85 | - @ %z(href("%R/timeline?u=%T",zU))%h(zU)</a>%s(zSuf) | |
| 85 | + @ %z(href("%R/timeline?u=%T&y=a",zU))%h(zU)</a>%s(zSuf) | |
| 86 | 86 | } |
| 87 | 87 | }else{ |
| 88 | 88 | @ %s(zU) |
| 89 | 89 | } |
| 90 | 90 | } |
| @@ -580,11 +580,11 @@ | ||
| 580 | 580 | }else if( zType[0]=='g' || zType[0]=='w' || zType[0]=='t' || zType[0]=='f'){ |
| 581 | 581 | cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); |
| 582 | 582 | } |
| 583 | 583 | |
| 584 | 584 | if( g.perm.Hyperlink && fossil_strcmp(zDispUser, zThisUser)!=0 ){ |
| 585 | - char *zLink = mprintf("%R/timeline?u=%h&c=%t&nd&n=200", zDispUser, zDate); | |
| 585 | + char *zLink = mprintf("%R/timeline?u=%h&c=%t&y=a", zDispUser, zDate); | |
| 586 | 586 | cgi_printf("user: %z%h</a>", href("%z",zLink), zDispUser); |
| 587 | 587 | }else{ |
| 588 | 588 | cgi_printf("user: %h", zDispUser); |
| 589 | 589 | } |
| 590 | 590 | |
| @@ -601,11 +601,11 @@ | ||
| 601 | 601 | while( z && z[0] ){ |
| 602 | 602 | for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){} |
| 603 | 603 | if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){ |
| 604 | 604 | blob_appendf(&links, |
| 605 | 605 | "%z%#h</a>%.2s", |
| 606 | - href("%R/timeline?r=%#t&nd&c=%t&n=200",i,z,zDate), i,z, &z[i] | |
| 606 | + href("%R/timeline?r=%#t&c=%t",i,z,zDate), i,z, &z[i] | |
| 607 | 607 | ); |
| 608 | 608 | }else{ |
| 609 | 609 | blob_appendf(&links, "%#h", i+2, z); |
| 610 | 610 | } |
| 611 | 611 | if( z[i]==0 ) break; |
| 612 | 612 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -78,13 +78,13 @@ | |
| 78 | void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){ |
| 79 | if( zU==0 || zU[0]==0 ) zU = "anonymous"; |
| 80 | if( zSuf==0 ) zSuf = ""; |
| 81 | if( g.perm.Hyperlink ){ |
| 82 | if( zD && zD[0] ){ |
| 83 | @ %z(href("%R/timeline?c=%T&u=%T",zD,zU))%h(zU)</a>%s(zSuf) |
| 84 | }else{ |
| 85 | @ %z(href("%R/timeline?u=%T",zU))%h(zU)</a>%s(zSuf) |
| 86 | } |
| 87 | }else{ |
| 88 | @ %s(zU) |
| 89 | } |
| 90 | } |
| @@ -580,11 +580,11 @@ | |
| 580 | }else if( zType[0]=='g' || zType[0]=='w' || zType[0]=='t' || zType[0]=='f'){ |
| 581 | cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); |
| 582 | } |
| 583 | |
| 584 | if( g.perm.Hyperlink && fossil_strcmp(zDispUser, zThisUser)!=0 ){ |
| 585 | char *zLink = mprintf("%R/timeline?u=%h&c=%t&nd&n=200", zDispUser, zDate); |
| 586 | cgi_printf("user: %z%h</a>", href("%z",zLink), zDispUser); |
| 587 | }else{ |
| 588 | cgi_printf("user: %h", zDispUser); |
| 589 | } |
| 590 | |
| @@ -601,11 +601,11 @@ | |
| 601 | while( z && z[0] ){ |
| 602 | for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){} |
| 603 | if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){ |
| 604 | blob_appendf(&links, |
| 605 | "%z%#h</a>%.2s", |
| 606 | href("%R/timeline?r=%#t&nd&c=%t&n=200",i,z,zDate), i,z, &z[i] |
| 607 | ); |
| 608 | }else{ |
| 609 | blob_appendf(&links, "%#h", i+2, z); |
| 610 | } |
| 611 | if( z[i]==0 ) break; |
| 612 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -78,13 +78,13 @@ | |
| 78 | void hyperlink_to_user(const char *zU, const char *zD, const char *zSuf){ |
| 79 | if( zU==0 || zU[0]==0 ) zU = "anonymous"; |
| 80 | if( zSuf==0 ) zSuf = ""; |
| 81 | if( g.perm.Hyperlink ){ |
| 82 | if( zD && zD[0] ){ |
| 83 | @ %z(href("%R/timeline?c=%T&u=%T&y=a",zD,zU))%h(zU)</a>%s(zSuf) |
| 84 | }else{ |
| 85 | @ %z(href("%R/timeline?u=%T&y=a",zU))%h(zU)</a>%s(zSuf) |
| 86 | } |
| 87 | }else{ |
| 88 | @ %s(zU) |
| 89 | } |
| 90 | } |
| @@ -580,11 +580,11 @@ | |
| 580 | }else if( zType[0]=='g' || zType[0]=='w' || zType[0]=='t' || zType[0]=='f'){ |
| 581 | cgi_printf("artifact: %z%S</a> ",href("%R/info/%!S",zUuid),zUuid); |
| 582 | } |
| 583 | |
| 584 | if( g.perm.Hyperlink && fossil_strcmp(zDispUser, zThisUser)!=0 ){ |
| 585 | char *zLink = mprintf("%R/timeline?u=%h&c=%t&y=a", zDispUser, zDate); |
| 586 | cgi_printf("user: %z%h</a>", href("%z",zLink), zDispUser); |
| 587 | }else{ |
| 588 | cgi_printf("user: %h", zDispUser); |
| 589 | } |
| 590 | |
| @@ -601,11 +601,11 @@ | |
| 601 | while( z && z[0] ){ |
| 602 | for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){} |
| 603 | if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){ |
| 604 | blob_appendf(&links, |
| 605 | "%z%#h</a>%.2s", |
| 606 | href("%R/timeline?r=%#t&c=%t",i,z,zDate), i,z, &z[i] |
| 607 | ); |
| 608 | }else{ |
| 609 | blob_appendf(&links, "%#h", i+2, z); |
| 610 | } |
| 611 | if( z[i]==0 ) break; |
| 612 |