15420d4d89
Partially rewrote the forum permissions system to make it more stable. Moved config.go into it's own package in /config/ Removed Go Git as a dependency. Tweaked the GopherJS pulling. Fixed inserts where all the columns have default values. Reverted a silly tweak I made thinking that mOrder == order. Removed the /common/ hack from the patcher. Fixed a bug where the forum creator would ignore the visiblity value you provided. The tests now work again. Swapped a misplaced fmt.Println with a fmt.Printf. Fixed a bug in the installer where all the table logs would be on one line in the console. Added more logging to the installer.
107 lines
4.1 KiB
Go
107 lines
4.1 KiB
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"strconv"
|
|
|
|
"../query_gen/lib"
|
|
)
|
|
|
|
func patch0(scanner *bufio.Scanner) error {
|
|
err := execStmt(qgen.Builder.CreateTable("menus", "", "",
|
|
[]qgen.DBTableColumn{
|
|
qgen.DBTableColumn{"mid", "int", 0, false, true, ""},
|
|
},
|
|
[]qgen.DBTableKey{
|
|
qgen.DBTableKey{"mid", "primary"},
|
|
},
|
|
))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = execStmt(qgen.Builder.CreateTable("menu_items", "", "",
|
|
[]qgen.DBTableColumn{
|
|
qgen.DBTableColumn{"mid", "int", 0, false, false, ""},
|
|
qgen.DBTableColumn{"htmlID", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"cssClass", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"position", "varchar", 100, false, false, ""},
|
|
qgen.DBTableColumn{"path", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"aria", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"tooltip", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"tmplName", "varchar", 200, false, false, "''"},
|
|
qgen.DBTableColumn{"order", "int", 0, false, false, "0"},
|
|
|
|
qgen.DBTableColumn{"guestOnly", "boolean", 0, false, false, "0"},
|
|
qgen.DBTableColumn{"memberOnly", "boolean", 0, false, false, "0"},
|
|
qgen.DBTableColumn{"staffOnly", "boolean", 0, false, false, "0"},
|
|
qgen.DBTableColumn{"adminOnly", "boolean", 0, false, false, "0"},
|
|
},
|
|
[]qgen.DBTableKey{},
|
|
))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = execStmt(qgen.Builder.SimpleInsert("menus", "", ""))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
var order int
|
|
var mOrder = "mid, htmlID, cssClass, position, path, aria, tooltip, guestOnly, memberOnly, staffOnly, adminOnly"
|
|
var addMenuItem = func(data map[string]interface{}) error {
|
|
cols, values := qgen.InterfaceMapToInsertStrings(data, mOrder)
|
|
err := execStmt(qgen.Builder.SimpleInsert("menu_items", cols+", order", values+","+strconv.Itoa(order)))
|
|
order++
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "htmlID": "menu_forums", "position": "left", "path": "/forums/", "aria": "{lang.menu_forums_aria}", "tooltip": "{lang.menu_forums_tooltip}"})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "htmlID": "menu_topics", "cssClass": "menu_topics", "position": "left", "path": "/topics/", "aria": "{lang.menu_topics_aria}", "tooltip": "{lang.menu_topics_tooltip}"})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "htmlID": "general_alerts", "cssClass": "menu_alerts", "position": "right", "tmplName": "menu_alerts"})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_account", "position": "left", "path": "/user/edit/critical/", "aria": "{lang.menu_account_aria}", "tooltip": "{lang.menu_account_tooltip}", "memberOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_profile", "position": "left", "path": "{me.Link}", "aria": "{lang.menu_profile_aria}", "tooltip": "{lang.menu_profile_tooltip}", "memberOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_panel menu_account", "position": "left", "path": "/panel/", "aria": "{lang.menu_panel_aria}", "tooltip": "{lang.menu_panel_tooltip}", "memberOnly": true, "staffOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_logout", "position": "left", "path": "/accounts/logout/?session={me.Session}", "aria": "{lang.menu_logout_aria}", "tooltip": "{lang.menu_logout_tooltip}", "memberOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_register", "position": "left", "path": "/accounts/create/", "aria": "{lang.menu_register_aria}", "tooltip": "{lang.menu_register_tooltip}", "guestOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = addMenuItem(map[string]interface{}{"mid": 1, "cssClass": "menu_login", "position": "left", "path": "/accounts/login/", "aria": "{lang.menu_login_aria}", "tooltip": "{lang.menu_login_tooltip}", "guestOnly": true})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|