1
0
Fork 0
mirror of https://github.com/Eggbertx/gochan.git synced 2025-09-16 07:56:24 -07:00
gochan/src/gochan.go

72 lines
1.7 KiB
Go
Raw Normal View History

2013-02-02 15:01:01 -08:00
package main
import (
"flag"
"fmt"
2018-04-06 01:03:57 -07:00
"os"
"strings"
2013-02-02 15:01:01 -08:00
)
var versionStr string
var buildtimeString string // set in Makefile, format: YRMMDD.HHMM
2013-02-02 15:01:01 -08:00
func main() {
defer closeHandle(db)
initConfig()
connectToSQLServer()
parseCommandLine()
printf(0, "Starting gochan v%s.%s, using verbosity level %d\n", versionStr, buildtimeString, config.Verbosity)
println(0, "Loading and parsing templates...")
2019-06-13 16:36:02 -07:00
if err := initTemplates("all"); err != nil {
handleError(0, customError(err))
2018-04-06 01:03:57 -07:00
os.Exit(2)
}
initServer()
2015-12-24 23:26:13 -08:00
}
func parseCommandLine() {
var newstaff string
var delstaff string
var rank int
var err error
flag.StringVar(&newstaff, "newstaff", "", "<newusername>:<newpassword>")
flag.StringVar(&delstaff, "delstaff", "", "<username>")
flag.IntVar(&rank, "rank", 0, "New staff member rank, to be used with -newstaff or -delstaff")
flag.Parse()
if newstaff != "" {
arr := strings.Split(newstaff, ":")
if len(arr) < 2 || delstaff != "" {
flag.Usage()
os.Exit(2)
}
printf(0, "Creating new staff: '%s', with password: '%s' and rank: %d\n", arr[0], arr[1], rank)
if err = newStaff(arr[0], arr[1], rank); err != nil {
handleError(0, err.Error())
os.Exit(2)
}
os.Exit(0)
}
if delstaff != "" {
if newstaff != "" {
flag.Usage()
os.Exit(2)
}
printf(0, "Are you sure you want to delete the staff account '%s'?[y/N]: ", delstaff)
var answer string
fmt.Scanln(&answer)
answer = strings.ToLower(answer)
if answer == "y" || answer == "yes" {
if err = deleteStaff(delstaff); err != nil {
printf(0, "Error deleting '%s': %s\n", delstaff, err.Error())
os.Exit(2)
}
} else {
println(0, "Not deleting.")
}
os.Exit(0)
}
}