aboutsummaryrefslogtreecommitdiff
path: root/v0.9.5/patches/02_bloated_i18n_implementation.patch
diff options
context:
space:
mode:
Diffstat (limited to 'v0.9.5/patches/02_bloated_i18n_implementation.patch')
-rw-r--r--v0.9.5/patches/02_bloated_i18n_implementation.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/v0.9.5/patches/02_bloated_i18n_implementation.patch b/v0.9.5/patches/02_bloated_i18n_implementation.patch
new file mode 100644
index 0000000..4e22e8c
--- /dev/null
+++ b/v0.9.5/patches/02_bloated_i18n_implementation.patch
@@ -0,0 +1,153 @@
+diff --git a/bloat.go b/bloat.go
+index e89675f..ca4a76f 100644
+--- a/bloat.go
++++ b/bloat.go
+@@ -14,3 +14,148 @@
+ // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ package main
++
++import (
++ "net/http"
++ "regexp"
++ "log"
++ "humungus.tedunangst.com/r/webs/login"
++)
++
++type i18n struct {
++ Home string
++ Atme string
++ First string
++ Combos string
++ Chatter string
++ Tags string
++ Events string
++ Longago string
++ Saved string
++ Honkers string
++ Hcfs string
++ Account string
++ Morestuff string
++ Myhonks string
++ About string
++ Front string
++ Funzone string
++ Xzone string
++ Help string
++ Search string
++ Login string
++
++ Newhonk string
++}
++
++func getLangCookie(r *http.Request) string {
++ langCookie, err := r.Cookie("lang")
++ if err != nil {
++ return "en"
++ }
++ return langCookie.Value
++}
++
++
++
++func setLangCookie (w http.ResponseWriter, r *http.Request) {
++ var lang string
++ lang = r.FormValue("lang")
++ var IsLetter = regexp.MustCompile(`^([a-z]+)$`).MatchString
++
++ if !IsLetter(lang) {
++ lang = "wrong" // so !=2 is triggered
++ if debugMode {
++ log.Printf("lang cookie value is not letters")
++ }
++ }
++
++ if len(lang) != 2 {
++ if debugMode {
++ log.Printf("lang cookie value is too long or too short. defaulting to eng")
++ }
++ lang = "en"
++ }
++
++ maxage := 3600 * 24 * 30 * 12
++ if !debugMode {
++ http.SetCookie(w, &http.Cookie{
++ Name: "lang",
++ Value: lang,
++ MaxAge: maxage,
++ Secure: true,
++ HttpOnly: true,
++ })
++ } else {
++ http.SetCookie(w, &http.Cookie{
++ Name: "lang",
++ Value: lang,
++ MaxAge: maxage,
++ Secure: false,
++ HttpOnly: true,
++ })
++ }
++
++
++ u := login.GetUserInfo(r)
++ if u == nil {
++ http.Redirect(w, r, "/", http.StatusSeeOther)
++ }
++}
++
++func setLangStr (lang string) interface{} {
++ switch lang {
++ case "fr" :
++ tlStr := i18n{
++ "accueil",
++ "mentions",
++ "premier (first)",
++ "combos",
++ "discutaille",
++ "balises",
++ "événements",
++ "il y a longtemps",
++ "sauvegardés",
++ "klaxonneurs",
++ "filtrer (hcfs)",
++ "compte",
++ "plus de choses",
++ "profil",
++ "à propos",
++ "tout le réseau connu",
++ "zone fun",
++ "récup",
++ "aide",
++ "rechercher",
++ "connexion",
++ "klaxonner",
++ }
++ return tlStr
++ default:
++ tlStr := i18n{
++ "home",
++ "@me",
++ "first",
++ "combos",
++ "chatter",
++ "tags",
++ "events",
++ "long ago",
++ "saved",
++ "honkers",
++ "filters",
++ "account",
++ "more stuff",
++ "my honks",
++ "about",
++ "front",
++ "funzone",
++ "xzone",
++ "help",
++ "search",
++ "login",
++ "new honk",
++ }
++ return tlStr
++ }
++}