mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-24 01:22:21 +00:00
ce9dee5a1e
Since #23493 has conflicts with latest commits, this PR is my proposal for fixing #23371 Details are in the comments And refactor the `modules/options` module, to make it always use "filepath" to access local files. Benefits: * No need to do `util.CleanPath(strings.ReplaceAll(p, "\\", "/"))), "/")` any more (not only one before) * The function behaviors are clearly defined
35 lines
895 B
Go
35 lines
895 B
Go
// Copyright 2016 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
//go:build !bindata
|
|
|
|
package options
|
|
|
|
import (
|
|
"code.gitea.io/gitea/modules/setting"
|
|
)
|
|
|
|
// Dir returns all files from static or custom directory.
|
|
func Dir(name string) ([]string, error) {
|
|
if directories.Filled(name) {
|
|
return directories.Get(name), nil
|
|
}
|
|
|
|
result, err := listLocalDirIfExist([]string{setting.CustomPath, setting.StaticRootPath}, "options", name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return directories.AddAndGet(name, result), nil
|
|
}
|
|
|
|
// fileFromOptionsDir is a helper to read files from custom or static path.
|
|
func fileFromOptionsDir(elems ...string) ([]byte, error) {
|
|
return readLocalFile([]string{setting.CustomPath, setting.StaticRootPath}, "options", elems...)
|
|
}
|
|
|
|
// IsDynamic will return false when using embedded data (-tags bindata)
|
|
func IsDynamic() bool {
|
|
return true
|
|
}
|