diff options
Diffstat (limited to 'v0.9.5/patches/02_bloated_i18n_implementation.patch')
-rw-r--r-- | v0.9.5/patches/02_bloated_i18n_implementation.patch | 153 |
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 ++ } ++} |