Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | The "formatted" mode for the ticket history viewer assumed that all text was Fossil-Wiki formatted. It did not account for Markdown (since that feature was added long before Markdown formatting was added). And, indeed, there is no general way for it to know what the mimetype of the text is. Hence, disable formatted mode, and show all text as plaintext. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
f1e8cd6977e0de32fc5b7e12a2492c80 |
User & Date: | drh 2020-03-22 15:33:27.527 |
Context
2020-03-22
| ||
15:58 | Further enhancements to the ticket history mechanism so that it takes into account the difference between TICKET and TICKETCHNG fields. ... (check-in: fc70ec08 user: drh tags: trunk) | |
15:33 | The "formatted" mode for the ticket history viewer assumed that all text was Fossil-Wiki formatted. It did not account for Markdown (since that feature was added long before Markdown formatting was added). And, indeed, there is no general way for it to know what the mimetype of the text is. Hence, disable formatted mode, and show all text as plaintext. ... (check-in: f1e8cd69 user: drh tags: trunk) | |
15:02 | Add the "raw" query parameter to the /tkthistory page. ... (check-in: 4c9e24fd user: drh tags: trunk) | |
Changes
Changes to src/tkt.c.
︙ | ︙ | |||
933 934 935 936 937 938 939 | /* ** WEBPAGE: tkthistory ** URL: /tkthistory?name=TICKETUUID ** ** Show the complete change history for a single ticket. Or (to put it ** another way) show a list of artifacts associated with a single ticket. ** | | < | | | > | < < < | | < < < < < < > > | 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 | /* ** WEBPAGE: tkthistory ** URL: /tkthistory?name=TICKETUUID ** ** Show the complete change history for a single ticket. Or (to put it ** another way) show a list of artifacts associated with a single ticket. ** ** By default, the artifacts are decoded and formatted. Text fields ** are formatted as text/plain, since in the general case Fossil does ** not have knowledge of the encoding. If the "raw" query parameter ** is present, then the* undecoded and unformatted text of each artifact ** is displayed. */ void tkthistory_page(void){ Stmt q; char *zTitle; const char *zUuid; int tagid; int nChng = 0; login_check_credentials(); if( !g.perm.Hyperlink || !g.perm.RdTkt ){ login_needed(g.anon.Hyperlink && g.anon.RdTkt); return; } zUuid = PD("name",""); zTitle = mprintf("History Of Ticket %h", zUuid); style_submenu_element("Status", "%s/info/%s", g.zTop, zUuid); style_submenu_element("Check-ins", "%s/tkttimeline?name=%s&y=ci", g.zTop, zUuid); style_submenu_element("Timeline", "%s/tkttimeline?name=%s", g.zTop, zUuid); if( P("raw")!=0 ){ style_submenu_element("Decoded", "%R/tkthistory/%s", zUuid); }else if( g.perm.Admin ){ style_submenu_element("Raw", "%R/tkthistory/%s?raw", zUuid); } style_header("%z", zTitle); tagid = db_int(0, "SELECT tagid FROM tag WHERE tagname GLOB 'tkt-%q*'",zUuid); if( tagid==0 ){ @ No such ticket: %h(zUuid) style_footer(); return; } if( P("raw")!=0 ){ @ <h2>Raw Artifacts Associated With Ticket %h(zUuid)</h2> }else{ @ <h2>Artifacts Associated With Ticket %h(zUuid)</h2> } db_prepare(&q, "SELECT datetime(mtime,toLocal()), objid, uuid, NULL, NULL, NULL" " FROM event, blob" " WHERE objid IN (SELECT rid FROM tagxref WHERE tagid=%d)" " AND blob.rid=event.objid" " UNION " |
︙ | ︙ | |||
1070 1071 1072 1073 1074 1075 1076 | /* ** The pTkt object is a ticket change artifact. Output a detailed ** description of this object. */ void ticket_output_change_artifact(Manifest *pTkt, const char *zListType){ int i; int wikiFlags = WIKI_NOBADLINKS; | | | < < < < < | | | 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 | /* ** The pTkt object is a ticket change artifact. Output a detailed ** description of this object. */ void ticket_output_change_artifact(Manifest *pTkt, const char *zListType){ int i; int wikiFlags = WIKI_NOBADLINKS; const char *zBlock = "<blockquote><pre class='verbatim'>"; const char *zEnd = "</pre></blockquote>"; if( zListType==0 ) zListType = "1"; @ <ol type="%s(zListType)"> for(i=0; i<pTkt->nField; i++){ Blob val; const char *z; z = pTkt->aField[i].zName; blob_set(&val, pTkt->aField[i].zValue); if( z[0]=='+' ){ @ <li>Appended to %h(&z[1]):%s(zBlock) @ %h(blob_str(&val)) @ %s(zEnd)</li> }else if( blob_size(&val)>50 || contains_newline(&val) ){ @ <li>Change %h(z) to:%s(zBlock) @ %h(blob_str(&val)) @ %s(zEnd)</li> }else{ @ <li>Change %h(z) to "%h(blob_str(&val))"</li> } blob_reset(&val); } @ </ol> |
︙ | ︙ |