diff options
author | Andrey Nering <andrey.nering@gmail.com> | 2016-08-11 20:16:36 -0300 |
---|---|---|
committer | 无闻 <u@gogs.io> | 2016-08-11 16:16:36 -0700 |
commit | 25b23c4bc991644c7db47b484dca3bb2d2694e62 (patch) | |
tree | e73bc7c63cf91870df49cd2cb3c91c9e7ef152ea | |
parent | 7eafe3213f456bb4fcbaeea5562ab60c4ef6cf87 (diff) | |
download | gitea-25b23c4bc991644c7db47b484dca3bb2d2694e62.tar.gz gitea-25b23c4bc991644c7db47b484dca3bb2d2694e62.zip |
Do not show non-image attachment in a <img> tag. Fixes #3215 (#3311)
-rw-r--r-- | conf/locale/locale_en-US.ini | 2 | ||||
-rw-r--r-- | modules/template/template.go | 6 | ||||
-rw-r--r-- | public/less/_repository.less | 7 | ||||
-rw-r--r-- | templates/repo/issue/view_content.tmpl | 16 |
4 files changed, 29 insertions, 2 deletions
diff --git a/conf/locale/locale_en-US.ini b/conf/locale/locale_en-US.ini index 77a6411432..9632f4b2ba 100644 --- a/conf/locale/locale_en-US.ini +++ b/conf/locale/locale_en-US.ini @@ -500,6 +500,8 @@ issues.label_deletion = Label Deletion issues.label_deletion_desc = Deleting this label will remove its information in all related issues. Do you want to continue? issues.label_deletion_success = Label has been deleted successfully! issues.num_participants = %d Participants +issues.attachment.open_tab = `Click to see "%s" in a new tab` +issues.attachment.download = `Click to download "%s"` pulls.new = New Pull Request pulls.compare_changes = Compare Changes diff --git a/modules/template/template.go b/modules/template/template.go index 76ab66bcb4..6e9b15b9be 100644 --- a/modules/template/template.go +++ b/modules/template/template.go @@ -9,6 +9,8 @@ import ( "encoding/json" "fmt" "html/template" + "mime" + "path/filepath" "runtime" "strings" "time" @@ -103,6 +105,10 @@ func NewFuncMap() []template.FuncMap { "ThemeColorMetaTag": func() string { return setting.UI.ThemeColorMetaTag }, + "FilenameIsImage": func(filename string) bool { + mimeType := mime.TypeByExtension(filepath.Ext(filename)) + return strings.HasPrefix(mimeType, "image/") + }, }} } diff --git a/public/less/_repository.less b/public/less/_repository.less index cb1cc121ce..0fdc23df24 100644 --- a/public/less/_repository.less +++ b/public/less/_repository.less @@ -463,6 +463,13 @@ margin: 0; vertical-align: middle; } + span.ui.image { + font-size: 8vw; + color: #000000; + } + span.ui.image:hover { + color: #000000; + } } } diff --git a/templates/repo/issue/view_content.tmpl b/templates/repo/issue/view_content.tmpl index d2183d4164..ebd737c381 100644 --- a/templates/repo/issue/view_content.tmpl +++ b/templates/repo/issue/view_content.tmpl @@ -41,7 +41,13 @@ <div class="ui bottom attached segment"> <div class="ui small images"> {{range .Issue.Attachments}} - <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> + <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"> + {{if FilenameIsImage .Name}} + <img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}" title='{{$.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> + {{else}} + <span class="ui image octicon octicon-desktop-download" title='{{$.i18n.Tr "repo.issues.attachment.download" .Name}}'></span> + {{end}} + </a> {{end}} </div> </div> @@ -96,7 +102,13 @@ <div class="ui bottom attached segment"> <div class="ui small images"> {{range .Attachments}} - <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"><img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}"></a> + <a target="_blank" href="{{AppSubUrl}}/attachments/{{.UUID}}"> + {{if FilenameIsImage .Name}} + <img class="ui image" src="{{AppSubUrl}}/attachments/{{.UUID}}" title='{{$.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'> + {{else}} + <span class="ui image octicon octicon-desktop-download" title='{{$.i18n.Tr "repo.issues.attachment.download" .Name}}'></span> + {{end}} + </a> {{end}} </div> </div> |