From 9894a9194846c9cebd0063ccac744630f9e6fcff Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 19 Nov 2016 16:35:39 +0100 Subject: [PATCH] admin: can give the static dir location --- admin/main.go | 9 +++++---- htdocs-admin | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) create mode 120000 htdocs-admin diff --git a/admin/main.go b/admin/main.go index 7016874e..be427b40 100644 --- a/admin/main.go +++ b/admin/main.go @@ -19,6 +19,7 @@ var BaseURL string var CloudDAVBase string var CloudUsername string var CloudPassword string +var StaticDir string func main() { var bind = flag.String("bind", "127.0.0.1:8081", "Bind port/socket") @@ -26,6 +27,7 @@ func main() { flag.StringVar(&BaseURL, "baseurl", "/", "URL prepended to each URL") flag.StringVar(&SubmissionDir, "submission", "./submissions/", "Base directory where save submissions") flag.StringVar(&PKIDir, "pki", "./pki/", "Base directory where found PKI scripts") + flag.StringVar(&StaticDir, "static", "./htdocs-admin/", "Directory containing static files") flag.StringVar(&fic.FilesDir, "files", "./FILES/", "Base directory where found challenges files, local part") flag.StringVar(&CloudDAVBase, "clouddav", "https://srs.epita.fr/owncloud/remote.php/webdav/FIC 2016", "Base directory where found challenges files, cloud part") @@ -35,10 +37,9 @@ func main() { log.SetPrefix("[admin] ") - var staticDir string var err error log.Println("Checking paths...") - if staticDir, err = filepath.Abs("./static/"); err != nil { + if StaticDir, err = filepath.Abs(StaticDir); err != nil { log.Fatal(err) } if fic.FilesDir, err = filepath.Abs(fic.FilesDir); err != nil { @@ -66,11 +67,11 @@ func main() { } log.Println("Changing base url...") - if file, err := os.OpenFile(path.Join(staticDir, "index.html"), os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(0644)); err != nil { + if file, err := os.OpenFile(path.Join(StaticDir, "index.html"), os.O_CREATE|os.O_WRONLY|os.O_TRUNC, os.FileMode(0644)); err != nil { log.Println("Unable to open index.html: ", err) } else if indexTmpl, err := template.New("index").Parse(indextpl); err != nil { log.Println("Cannot create template: ", err) - } else if err := indexTmpl.Execute(file, map[string]string{"urlbase": path.Clean(path.Join(BaseURL, "nuke"))[:len(path.Clean(path.Join(BaseURL, "nuke"))) - 4]}); err != nil { + } else if err := indexTmpl.Execute(file, map[string]string{"urlbase": path.Clean(path.Join(baseURL + "/", "nuke"))[:len(path.Clean(path.Join(baseURL + "/", "nuke"))) - 4]}); err != nil { log.Println("An error occurs during template execution: ", err) } diff --git a/htdocs-admin b/htdocs-admin new file mode 120000 index 00000000..21911ddc --- /dev/null +++ b/htdocs-admin @@ -0,0 +1 @@ +admin/static/ \ No newline at end of file