Fossil SCM
Make use of new attachment target type detection to slightly simplify how /artifacts renders attachments.
Commit
efe251332943eb7f39dbeba1fb67e925e7f13786f810a0b13266855faedde88e
Parent
fed106e8b6121f9…
1 file changed
+9
-16
+9
-16
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1871,46 +1871,39 @@ | ||
| 1871 | 1871 | @ Also attachment "%h(zFilename)" to |
| 1872 | 1872 | }else{ |
| 1873 | 1873 | @ Attachment "%h(zFilename)" to |
| 1874 | 1874 | } |
| 1875 | 1875 | objType |= OBJTYPE_ATTACHMENT; |
| 1876 | - if( fossil_is_artifact_hash(zTarget) ){ | |
| 1877 | - if( forumpost_head_rid2(zTarget)>0 ){ | |
| 1876 | + switch( attachment_target_type(zTarget) ){ | |
| 1877 | + case CFTYPE_FORUM: | |
| 1878 | 1878 | if( g.perm.Hyperlink && g.anon.RdForum ){ |
| 1879 | 1879 | @ forum post [%z(href("%R/forumpost/%!S",zTarget))%S(zTarget)</a>] |
| 1880 | 1880 | }else{ |
| 1881 | 1881 | @ forum post [%S(zTarget)] |
| 1882 | 1882 | } |
| 1883 | - }else if ( db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", | |
| 1884 | - zTarget) | |
| 1885 | - ){ | |
| 1883 | + break; | |
| 1884 | + case CFTYPE_TICKET: | |
| 1886 | 1885 | if( g.perm.Hyperlink && g.anon.RdTkt ){ |
| 1887 | 1886 | @ ticket [%z(href("%R/tktview?name=%!S",zTarget))%S(zTarget)</a>] |
| 1888 | 1887 | }else{ |
| 1889 | 1888 | @ ticket [%S(zTarget)] |
| 1890 | 1889 | } |
| 1891 | - }else if( db_exists("SELECT 1 FROM tag WHERE tagname='event-%q'", | |
| 1892 | - zTarget) | |
| 1893 | - ){ | |
| 1890 | + break; | |
| 1891 | + case CFTYPE_EVENT: | |
| 1894 | 1892 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1895 | 1893 | @ tech note [%z(href("%R/technote/%h",zTarget))%S(zTarget)</a>] |
| 1896 | 1894 | }else{ |
| 1897 | 1895 | @ tech note [%S(zTarget)] |
| 1898 | 1896 | } |
| 1899 | - }else{ | |
| 1897 | + break; | |
| 1898 | + case CFTYPE_WIKI: | |
| 1899 | + default /* historical behavior - assume wiki */: | |
| 1900 | 1900 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1901 | 1901 | @ wiki page [%z(href("%R/wiki?name=%t",zTarget))%h(zTarget)</a>] |
| 1902 | 1902 | }else{ |
| 1903 | 1903 | @ wiki page [%h(zTarget)] |
| 1904 | 1904 | } |
| 1905 | - } | |
| 1906 | - }else{ | |
| 1907 | - if( g.perm.Hyperlink && g.anon.RdWiki ){ | |
| 1908 | - @ wiki page [%z(href("%R/wiki?name=%t",zTarget))%h(zTarget)</a>] | |
| 1909 | - }else{ | |
| 1910 | - @ wiki page [%h(zTarget)] | |
| 1911 | - } | |
| 1912 | 1905 | } |
| 1913 | 1906 | @ added by |
| 1914 | 1907 | hyperlink_to_user(zUser,zDate," on"); |
| 1915 | 1908 | hyperlink_to_date(zDate,"."); |
| 1916 | 1909 | cnt++; |
| 1917 | 1910 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1871,46 +1871,39 @@ | |
| 1871 | @ Also attachment "%h(zFilename)" to |
| 1872 | }else{ |
| 1873 | @ Attachment "%h(zFilename)" to |
| 1874 | } |
| 1875 | objType |= OBJTYPE_ATTACHMENT; |
| 1876 | if( fossil_is_artifact_hash(zTarget) ){ |
| 1877 | if( forumpost_head_rid2(zTarget)>0 ){ |
| 1878 | if( g.perm.Hyperlink && g.anon.RdForum ){ |
| 1879 | @ forum post [%z(href("%R/forumpost/%!S",zTarget))%S(zTarget)</a>] |
| 1880 | }else{ |
| 1881 | @ forum post [%S(zTarget)] |
| 1882 | } |
| 1883 | }else if ( db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", |
| 1884 | zTarget) |
| 1885 | ){ |
| 1886 | if( g.perm.Hyperlink && g.anon.RdTkt ){ |
| 1887 | @ ticket [%z(href("%R/tktview?name=%!S",zTarget))%S(zTarget)</a>] |
| 1888 | }else{ |
| 1889 | @ ticket [%S(zTarget)] |
| 1890 | } |
| 1891 | }else if( db_exists("SELECT 1 FROM tag WHERE tagname='event-%q'", |
| 1892 | zTarget) |
| 1893 | ){ |
| 1894 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1895 | @ tech note [%z(href("%R/technote/%h",zTarget))%S(zTarget)</a>] |
| 1896 | }else{ |
| 1897 | @ tech note [%S(zTarget)] |
| 1898 | } |
| 1899 | }else{ |
| 1900 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1901 | @ wiki page [%z(href("%R/wiki?name=%t",zTarget))%h(zTarget)</a>] |
| 1902 | }else{ |
| 1903 | @ wiki page [%h(zTarget)] |
| 1904 | } |
| 1905 | } |
| 1906 | }else{ |
| 1907 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1908 | @ wiki page [%z(href("%R/wiki?name=%t",zTarget))%h(zTarget)</a>] |
| 1909 | }else{ |
| 1910 | @ wiki page [%h(zTarget)] |
| 1911 | } |
| 1912 | } |
| 1913 | @ added by |
| 1914 | hyperlink_to_user(zUser,zDate," on"); |
| 1915 | hyperlink_to_date(zDate,"."); |
| 1916 | cnt++; |
| 1917 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1871,46 +1871,39 @@ | |
| 1871 | @ Also attachment "%h(zFilename)" to |
| 1872 | }else{ |
| 1873 | @ Attachment "%h(zFilename)" to |
| 1874 | } |
| 1875 | objType |= OBJTYPE_ATTACHMENT; |
| 1876 | switch( attachment_target_type(zTarget) ){ |
| 1877 | case CFTYPE_FORUM: |
| 1878 | if( g.perm.Hyperlink && g.anon.RdForum ){ |
| 1879 | @ forum post [%z(href("%R/forumpost/%!S",zTarget))%S(zTarget)</a>] |
| 1880 | }else{ |
| 1881 | @ forum post [%S(zTarget)] |
| 1882 | } |
| 1883 | break; |
| 1884 | case CFTYPE_TICKET: |
| 1885 | if( g.perm.Hyperlink && g.anon.RdTkt ){ |
| 1886 | @ ticket [%z(href("%R/tktview?name=%!S",zTarget))%S(zTarget)</a>] |
| 1887 | }else{ |
| 1888 | @ ticket [%S(zTarget)] |
| 1889 | } |
| 1890 | break; |
| 1891 | case CFTYPE_EVENT: |
| 1892 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1893 | @ tech note [%z(href("%R/technote/%h",zTarget))%S(zTarget)</a>] |
| 1894 | }else{ |
| 1895 | @ tech note [%S(zTarget)] |
| 1896 | } |
| 1897 | break; |
| 1898 | case CFTYPE_WIKI: |
| 1899 | default /* historical behavior - assume wiki */: |
| 1900 | if( g.perm.Hyperlink && g.anon.RdWiki ){ |
| 1901 | @ wiki page [%z(href("%R/wiki?name=%t",zTarget))%h(zTarget)</a>] |
| 1902 | }else{ |
| 1903 | @ wiki page [%h(zTarget)] |
| 1904 | } |
| 1905 | } |
| 1906 | @ added by |
| 1907 | hyperlink_to_user(zUser,zDate," on"); |
| 1908 | hyperlink_to_date(zDate,"."); |
| 1909 | cnt++; |
| 1910 |