Fossil SCM
Add a "View" submenu item on the artifact viewer for files with wiki mimetype.
Commit
0a2a1b4dde3783d17d7421af6646d93e806d5510
Parent
d4fedbb4ad3cb50…
1 file changed
+21
-3
+21
-3
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -1041,13 +1041,31 @@ | ||
| 1041 | 1041 | blob_zero(&downloadName); |
| 1042 | 1042 | object_description(rid, 0, &downloadName); |
| 1043 | 1043 | style_submenu_element("Download", "Download", |
| 1044 | 1044 | "%s/raw/%T?name=%d", g.zTop, blob_str(&downloadName), rid); |
| 1045 | 1045 | zMime = mimetype_from_name(blob_str(&downloadName)); |
| 1046 | - if( zMime && strcmp(zMime, "text/html")==0 ){ | |
| 1047 | - style_submenu_element("View", "View", | |
| 1048 | - "%s/raw?name=%d&m=text/html", g.zTop, rid); | |
| 1046 | + if( zMime ){ | |
| 1047 | + if( strcmp(zMime, "text/html")==0 ){ | |
| 1048 | + style_submenu_element("View", "View", | |
| 1049 | + "%s/raw?name=%d&m=text/html", g.zTop, rid); | |
| 1050 | + }else if( strcmp(zMime, "application/x-fossil-wiki")==0 ){ | |
| 1051 | + Stmt q; | |
| 1052 | + db_prepare(&q, | |
| 1053 | + "SELECT blob.uuid || '/' || filename.name" | |
| 1054 | + " FROM mlink, filename, blob" | |
| 1055 | + " WHERE mlink.fid=%d" | |
| 1056 | + " AND filename.fnid=mlink.fnid" | |
| 1057 | + " AND filename.name GLOB '*.wiki'" | |
| 1058 | + " AND blob.rid=mlink.mid", | |
| 1059 | + rid | |
| 1060 | + ); | |
| 1061 | + if( db_step(&q)==SQLITE_ROW ){ | |
| 1062 | + const char *zCI = db_column_text(&q, 0); | |
| 1063 | + style_submenu_element("View", "View", "%s/doc/%s", g.zTop, zCI); | |
| 1064 | + } | |
| 1065 | + db_finalize(&q); | |
| 1066 | + } | |
| 1049 | 1067 | } |
| 1050 | 1068 | @ </blockquote> |
| 1051 | 1069 | @ <hr> |
| 1052 | 1070 | @ <blockquote> |
| 1053 | 1071 | content_get(rid, &content); |
| 1054 | 1072 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1041,13 +1041,31 @@ | |
| 1041 | blob_zero(&downloadName); |
| 1042 | object_description(rid, 0, &downloadName); |
| 1043 | style_submenu_element("Download", "Download", |
| 1044 | "%s/raw/%T?name=%d", g.zTop, blob_str(&downloadName), rid); |
| 1045 | zMime = mimetype_from_name(blob_str(&downloadName)); |
| 1046 | if( zMime && strcmp(zMime, "text/html")==0 ){ |
| 1047 | style_submenu_element("View", "View", |
| 1048 | "%s/raw?name=%d&m=text/html", g.zTop, rid); |
| 1049 | } |
| 1050 | @ </blockquote> |
| 1051 | @ <hr> |
| 1052 | @ <blockquote> |
| 1053 | content_get(rid, &content); |
| 1054 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -1041,13 +1041,31 @@ | |
| 1041 | blob_zero(&downloadName); |
| 1042 | object_description(rid, 0, &downloadName); |
| 1043 | style_submenu_element("Download", "Download", |
| 1044 | "%s/raw/%T?name=%d", g.zTop, blob_str(&downloadName), rid); |
| 1045 | zMime = mimetype_from_name(blob_str(&downloadName)); |
| 1046 | if( zMime ){ |
| 1047 | if( strcmp(zMime, "text/html")==0 ){ |
| 1048 | style_submenu_element("View", "View", |
| 1049 | "%s/raw?name=%d&m=text/html", g.zTop, rid); |
| 1050 | }else if( strcmp(zMime, "application/x-fossil-wiki")==0 ){ |
| 1051 | Stmt q; |
| 1052 | db_prepare(&q, |
| 1053 | "SELECT blob.uuid || '/' || filename.name" |
| 1054 | " FROM mlink, filename, blob" |
| 1055 | " WHERE mlink.fid=%d" |
| 1056 | " AND filename.fnid=mlink.fnid" |
| 1057 | " AND filename.name GLOB '*.wiki'" |
| 1058 | " AND blob.rid=mlink.mid", |
| 1059 | rid |
| 1060 | ); |
| 1061 | if( db_step(&q)==SQLITE_ROW ){ |
| 1062 | const char *zCI = db_column_text(&q, 0); |
| 1063 | style_submenu_element("View", "View", "%s/doc/%s", g.zTop, zCI); |
| 1064 | } |
| 1065 | db_finalize(&q); |
| 1066 | } |
| 1067 | } |
| 1068 | @ </blockquote> |
| 1069 | @ <hr> |
| 1070 | @ <blockquote> |
| 1071 | content_get(rid, &content); |
| 1072 |