// key is used as technical name (like in the callbackURL) | // key is used as technical name (like in the callbackURL) | ||||
// values to display | // values to display | ||||
func GetActiveOAuth2Providers() (map[string]OAuth2Provider, error) { | func GetActiveOAuth2Providers() (map[string]OAuth2Provider, error) { | ||||
// Maybe also seperate used and unused providers so we can force the registration of only 1 active provider for each type | |||||
// Maybe also separate used and unused providers so we can force the registration of only 1 active provider for each type | |||||
loginSources, err := GetActiveOAuth2ProviderLoginSources() | loginSources, err := GetActiveOAuth2ProviderLoginSources() | ||||
if err != nil { | if err != nil { |
return rels, err | return rels, err | ||||
} | } | ||||
// GetReleasesByRepoIDAndNames returns a list of releases of repository accroding repoID and tagNames. | |||||
// GetReleasesByRepoIDAndNames returns a list of releases of repository according repoID and tagNames. | |||||
func GetReleasesByRepoIDAndNames(repoID int64, tagNames []string) (rels []*Release, err error) { | func GetReleasesByRepoIDAndNames(repoID int64, tagNames []string) (rels []*Release, err error) { | ||||
err = x. | err = x. | ||||
Desc("created_unix"). | Desc("created_unix"). |
return strings.Index(http.DetectContentType(data), "text/") != -1 | return strings.Index(http.DetectContentType(data), "text/") != -1 | ||||
} | } | ||||
// IsImageFile detectes if data is an image format | |||||
// IsImageFile detects if data is an image format | |||||
func IsImageFile(data []byte) bool { | func IsImageFile(data []byte) bool { | ||||
return strings.Index(http.DetectContentType(data), "image/") != -1 | return strings.Index(http.DetectContentType(data), "image/") != -1 | ||||
} | } | ||||
// IsPDFFile detectes if data is a pdf format | |||||
// IsPDFFile detects if data is a pdf format | |||||
func IsPDFFile(data []byte) bool { | func IsPDFFile(data []byte) bool { | ||||
return strings.Index(http.DetectContentType(data), "application/pdf") != -1 | return strings.Index(http.DetectContentType(data), "application/pdf") != -1 | ||||
} | } | ||||
// IsVideoFile detectes if data is an video format | |||||
// IsVideoFile detects if data is an video format | |||||
func IsVideoFile(data []byte) bool { | func IsVideoFile(data []byte) bool { | ||||
return strings.Index(http.DetectContentType(data), "video/") != -1 | return strings.Index(http.DetectContentType(data), "video/") != -1 | ||||
} | } |
ctx.HTML(200, tplRepoHome) | ctx.HTML(200, tplRepoHome) | ||||
} | } | ||||
// RenderUserCards render a page show users accroding the input templaet | |||||
// RenderUserCards render a page show users according the input templaet | |||||
func RenderUserCards(ctx *context.Context, total int, getter func(page int) ([]*models.User, error), tpl base.TplName) { | func RenderUserCards(ctx *context.Context, total int, getter func(page int) ([]*models.User, error), tpl base.TplName) { | ||||
page := ctx.QueryInt("page") | page := ctx.QueryInt("page") | ||||
if page <= 0 { | if page <= 0 { |