From 039fcd2b3a765ded37555f1a6b68ed067139a25c Mon Sep 17 00:00:00 2001 From: Elias Bomberger Date: Fri, 1 Oct 2021 00:56:49 -0400 Subject: [PATCH 1/2] Make /list return sorted results --- views/stuff.qtpl | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/views/stuff.qtpl b/views/stuff.qtpl index c927b43..9013219 100644 --- a/views/stuff.qtpl +++ b/views/stuff.qtpl @@ -242,11 +242,20 @@ for u := range user.YieldUsers() {

{%s lc.Get("ui.list_heading") %}

{%s lc.GetPlural("ui.list_desc", hyphae.Count()) %}

`) -//line views/stuff.qtpl:71 +//line views/stuff.qtpl:72 qw422016.N().S(body) -//line views/stuff.qtpl:71 +//line views/stuff.qtpl:72 qw422016.N().S(` `) -//line views/stuff.qtpl:83 +//line views/stuff.qtpl:84 StreamCommonScripts(qw422016) -//line views/stuff.qtpl:83 +//line views/stuff.qtpl:84 qw422016.N().S(` `) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 } -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 func WriteBaseHTML(qq422016 qtio422016.Writer, title, body string, lc *l18n.Localizer, u *user.User, headElements ...string) { -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 StreamBaseHTML(qw422016, title, body, lc, u, headElements...) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 } -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 func BaseHTML(title, body string, lc *l18n.Localizer, u *user.User, headElements ...string) string { -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 WriteBaseHTML(qb422016, title, body, lc, u, headElements...) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 return qs422016 -//line views/stuff.qtpl:87 +//line views/stuff.qtpl:88 } -//line views/stuff.qtpl:89 +//line views/stuff.qtpl:90 func StreamTitleSearchHTML(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string, lc *l18n.Localizer) { -//line views/stuff.qtpl:89 +//line views/stuff.qtpl:90 qw422016.N().S(`

`) -//line views/stuff.qtpl:92 +//line views/stuff.qtpl:93 qw422016.E().S(lc.Get("ui.search_results_query", &l18n.Replacements{"query": query})) -//line views/stuff.qtpl:92 +//line views/stuff.qtpl:93 qw422016.N().S(`

`) -//line views/stuff.qtpl:93 +//line views/stuff.qtpl:94 qw422016.E().S(lc.Get("ui.search_results_desc")) -//line views/stuff.qtpl:93 +//line views/stuff.qtpl:94 qw422016.N().S(`

`) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 } -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 func WriteTitleSearchHTML(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string, lc *l18n.Localizer) { -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 StreamTitleSearchHTML(qw422016, query, generator, lc) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 } -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 func TitleSearchHTML(query string, generator func(string) <-chan string, lc *l18n.Localizer) string { -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 WriteTitleSearchHTML(qb422016, query, generator, lc) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 return qs422016 -//line views/stuff.qtpl:102 +//line views/stuff.qtpl:103 } // It outputs a poorly formatted JSON, but it works and is valid. -//line views/stuff.qtpl:105 +//line views/stuff.qtpl:106 func StreamTitleSearchJSON(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string) { -//line views/stuff.qtpl:105 +//line views/stuff.qtpl:106 qw422016.N().S(` `) -//line views/stuff.qtpl:107 +//line views/stuff.qtpl:108 // Lol counter := 0 -//line views/stuff.qtpl:109 +//line views/stuff.qtpl:110 qw422016.N().S(` { "source_query": "`) -//line views/stuff.qtpl:111 +//line views/stuff.qtpl:112 qw422016.E().S(query) -//line views/stuff.qtpl:111 +//line views/stuff.qtpl:112 qw422016.N().S(`", "results": [ `) -//line views/stuff.qtpl:113 +//line views/stuff.qtpl:114 for hyphaName := range generator(query) { -//line views/stuff.qtpl:113 +//line views/stuff.qtpl:114 qw422016.N().S(` `) -//line views/stuff.qtpl:114 +//line views/stuff.qtpl:115 if counter > 0 { -//line views/stuff.qtpl:114 +//line views/stuff.qtpl:115 qw422016.N().S(`, `) -//line views/stuff.qtpl:114 +//line views/stuff.qtpl:115 } -//line views/stuff.qtpl:114 +//line views/stuff.qtpl:115 qw422016.N().S(`{ "canonical_name": "`) -//line views/stuff.qtpl:115 +//line views/stuff.qtpl:116 qw422016.E().S(hyphaName) -//line views/stuff.qtpl:115 +//line views/stuff.qtpl:116 qw422016.N().S(`", "beautiful_name": "`) -//line views/stuff.qtpl:116 +//line views/stuff.qtpl:117 qw422016.E().S(util.BeautifulName(hyphaName)) -//line views/stuff.qtpl:116 +//line views/stuff.qtpl:117 qw422016.N().S(`", "url": "`) -//line views/stuff.qtpl:117 +//line views/stuff.qtpl:118 qw422016.E().S(cfg.URL + "/hypha/" + hyphaName) -//line views/stuff.qtpl:117 +//line views/stuff.qtpl:118 qw422016.N().S(`" }`) -//line views/stuff.qtpl:118 +//line views/stuff.qtpl:119 counter++ -//line views/stuff.qtpl:118 +//line views/stuff.qtpl:119 qw422016.N().S(` `) -//line views/stuff.qtpl:119 +//line views/stuff.qtpl:120 } -//line views/stuff.qtpl:119 +//line views/stuff.qtpl:120 qw422016.N().S(` ] } `) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 } -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 func WriteTitleSearchJSON(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string) { -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 StreamTitleSearchJSON(qw422016, query, generator) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 } -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 func TitleSearchJSON(query string, generator func(string) <-chan string) string { -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 WriteTitleSearchJSON(qb422016, query, generator) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 return qs422016 -//line views/stuff.qtpl:122 +//line views/stuff.qtpl:123 } -//line views/stuff.qtpl:124 +//line views/stuff.qtpl:125 func StreamBacklinksHTML(qw422016 *qt422016.Writer, query string, generator func(string) <-chan string, lc *l18n.Localizer) { -//line views/stuff.qtpl:124 +//line views/stuff.qtpl:125 qw422016.N().S(`

`) -//line views/stuff.qtpl:127 +//line views/stuff.qtpl:128 qw422016.E().S(lc.Get("ui.backlinks_query", &l18n.Replacements{"query": query})) -//line views/stuff.qtpl:127 +//line views/stuff.qtpl:128 qw422016.N().S(`

`) -//line views/stuff.qtpl:128 +//line views/stuff.qtpl:129 qw422016.E().S(lc.Get("ui.backlinks_desc")) -//line views/stuff.qtpl:128 +//line views/stuff.qtpl:129 qw422016.N().S(`

`) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 } -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 func WriteBacklinksHTML(qq422016 qtio422016.Writer, query string, generator func(string) <-chan string, lc *l18n.Localizer) { -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 StreamBacklinksHTML(qw422016, query, generator, lc) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 } -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 func BacklinksHTML(query string, generator func(string) <-chan string, lc *l18n.Localizer) string { -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 WriteBacklinksHTML(qb422016, query, generator, lc) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 return qs422016 -//line views/stuff.qtpl:137 +//line views/stuff.qtpl:138 } -//line views/stuff.qtpl:139 +//line views/stuff.qtpl:140 func StreamHelpHTML(qw422016 *qt422016.Writer, content, lang string, lc *l18n.Localizer) { -//line views/stuff.qtpl:139 +//line views/stuff.qtpl:140 qw422016.N().S(`
`) -//line views/stuff.qtpl:143 +//line views/stuff.qtpl:144 qw422016.N().S(content) -//line views/stuff.qtpl:143 +//line views/stuff.qtpl:144 qw422016.N().S(`
`) -//line views/stuff.qtpl:146 +//line views/stuff.qtpl:147 qw422016.N().S(helpTopicsHTML(lang, lc)) -//line views/stuff.qtpl:146 +//line views/stuff.qtpl:147 qw422016.N().S(`
`) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 } -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 func WriteHelpHTML(qq422016 qtio422016.Writer, content, lang string, lc *l18n.Localizer) { -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 StreamHelpHTML(qw422016, content, lang, lc) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 } -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 func HelpHTML(content, lang string, lc *l18n.Localizer) string { -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 WriteHelpHTML(qb422016, content, lang, lc) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 return qs422016 -//line views/stuff.qtpl:148 +//line views/stuff.qtpl:149 } -//line views/stuff.qtpl:150 +//line views/stuff.qtpl:151 func StreamHelpEmptyErrorHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:150 +//line views/stuff.qtpl:151 qw422016.N().S(`

`) -//line views/stuff.qtpl:151 +//line views/stuff.qtpl:152 qw422016.E().S(lc.Get("help.empty_error_title")) -//line views/stuff.qtpl:151 +//line views/stuff.qtpl:152 qw422016.N().S(`

`) -//line views/stuff.qtpl:152 +//line views/stuff.qtpl:153 qw422016.E().S(lc.Get("help.empty_error_line_1")) -//line views/stuff.qtpl:152 +//line views/stuff.qtpl:153 qw422016.N().S(`

`) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.E().S(lc.Get("help.empty_error_line_2a")) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.N().S(` `) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.E().S(lc.Get("help.empty_error_link")) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.N().S(` `) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.E().S(lc.Get("help.empty_error_line_2b")) -//line views/stuff.qtpl:153 +//line views/stuff.qtpl:154 qw422016.N().S(`

`) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 } -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 func WriteHelpEmptyErrorHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 StreamHelpEmptyErrorHTML(qw422016, lc) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 } -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 func HelpEmptyErrorHTML(lc *l18n.Localizer) string { -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 WriteHelpEmptyErrorHTML(qb422016, lc) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 return qs422016 -//line views/stuff.qtpl:154 +//line views/stuff.qtpl:155 } -//line views/stuff.qtpl:156 +//line views/stuff.qtpl:157 func streamhelpTopicsHTML(qw422016 *qt422016.Writer, lang string, lc *l18n.Localizer) { -//line views/stuff.qtpl:156 +//line views/stuff.qtpl:157 qw422016.N().S(` `) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 } -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 func writehelpTopicsHTML(qq422016 qtio422016.Writer, lang string, lc *l18n.Localizer) { -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 streamhelpTopicsHTML(qw422016, lang, lc) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 } -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 func helpTopicsHTML(lang string, lc *l18n.Localizer) string { -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 writehelpTopicsHTML(qb422016, lang, lc) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 return qs422016 -//line views/stuff.qtpl:190 +//line views/stuff.qtpl:191 } -//line views/stuff.qtpl:192 +//line views/stuff.qtpl:193 func streamhelpTopicBadgeHTML(qw422016 *qt422016.Writer, lang, topic string) { -//line views/stuff.qtpl:192 +//line views/stuff.qtpl:193 qw422016.N().S(` ? `) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 } -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 func writehelpTopicBadgeHTML(qq422016 qtio422016.Writer, lang, topic string) { -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 streamhelpTopicBadgeHTML(qw422016, lang, topic) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 } -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 func helpTopicBadgeHTML(lang, topic string) string { -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 writehelpTopicBadgeHTML(qb422016, lang, topic) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 return qs422016 -//line views/stuff.qtpl:194 +//line views/stuff.qtpl:195 } -//line views/stuff.qtpl:196 +//line views/stuff.qtpl:197 func StreamUserListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:196 +//line views/stuff.qtpl:197 qw422016.N().S(`

`) -//line views/stuff.qtpl:199 +//line views/stuff.qtpl:200 qw422016.E().S(lc.Get("ui.users_heading")) -//line views/stuff.qtpl:199 +//line views/stuff.qtpl:200 qw422016.N().S(`

`) -//line views/stuff.qtpl:201 +//line views/stuff.qtpl:202 var ( admins = make([]string, 0) moderators = make([]string, 0) @@ -846,386 +849,406 @@ func StreamUserListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) { editors = append(editors, u.Name) } } + sort.Strings(admins) + sort.Strings(moderators) + sort.Strings(editors) -//line views/stuff.qtpl:216 +//line views/stuff.qtpl:220 qw422016.N().S(`

`) -//line views/stuff.qtpl:218 +//line views/stuff.qtpl:222 qw422016.E().S(lc.Get("ui.users_admins")) -//line views/stuff.qtpl:218 +//line views/stuff.qtpl:222 qw422016.N().S(`

    `) -//line views/stuff.qtpl:219 +//line views/stuff.qtpl:223 for _, name := range admins { -//line views/stuff.qtpl:219 +//line views/stuff.qtpl:223 qw422016.N().S(`
  1. `) -//line views/stuff.qtpl:220 +//line views/stuff.qtpl:224 qw422016.E().S(name) -//line views/stuff.qtpl:220 +//line views/stuff.qtpl:224 qw422016.N().S(`
  2. `) -//line views/stuff.qtpl:221 +//line views/stuff.qtpl:225 } -//line views/stuff.qtpl:221 +//line views/stuff.qtpl:225 qw422016.N().S(`

`) -//line views/stuff.qtpl:224 +//line views/stuff.qtpl:228 qw422016.E().S(lc.Get("ui.users_moderators")) -//line views/stuff.qtpl:224 +//line views/stuff.qtpl:228 qw422016.N().S(`

    `) -//line views/stuff.qtpl:225 +//line views/stuff.qtpl:229 for _, name := range moderators { -//line views/stuff.qtpl:225 +//line views/stuff.qtpl:229 qw422016.N().S(`
  1. `) -//line views/stuff.qtpl:226 +//line views/stuff.qtpl:230 qw422016.E().S(name) -//line views/stuff.qtpl:226 +//line views/stuff.qtpl:230 qw422016.N().S(`
  2. `) -//line views/stuff.qtpl:227 +//line views/stuff.qtpl:231 } -//line views/stuff.qtpl:227 +//line views/stuff.qtpl:231 qw422016.N().S(`

`) -//line views/stuff.qtpl:230 +//line views/stuff.qtpl:234 qw422016.E().S(lc.Get("ui.users_editors")) -//line views/stuff.qtpl:230 +//line views/stuff.qtpl:234 qw422016.N().S(`

    `) -//line views/stuff.qtpl:231 +//line views/stuff.qtpl:235 for _, name := range editors { -//line views/stuff.qtpl:231 +//line views/stuff.qtpl:235 qw422016.N().S(`
  1. `) -//line views/stuff.qtpl:232 +//line views/stuff.qtpl:236 qw422016.E().S(name) -//line views/stuff.qtpl:232 +//line views/stuff.qtpl:236 qw422016.N().S(`
  2. `) -//line views/stuff.qtpl:233 +//line views/stuff.qtpl:237 } -//line views/stuff.qtpl:233 +//line views/stuff.qtpl:237 qw422016.N().S(`
`) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 } -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 func WriteUserListHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 StreamUserListHTML(qw422016, lc) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 } -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 func UserListHTML(lc *l18n.Localizer) string { -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 WriteUserListHTML(qb422016, lc) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 return qs422016 -//line views/stuff.qtpl:237 +//line views/stuff.qtpl:241 } -//line views/stuff.qtpl:239 +//line views/stuff.qtpl:243 func StreamHyphaListHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:239 +//line views/stuff.qtpl:243 qw422016.N().S(`

`) -//line views/stuff.qtpl:242 +//line views/stuff.qtpl:246 qw422016.E().S(lc.Get("ui.list_heading")) -//line views/stuff.qtpl:242 +//line views/stuff.qtpl:246 qw422016.N().S(`

`) -//line views/stuff.qtpl:243 +//line views/stuff.qtpl:247 qw422016.E().S(lc.GetPlural("ui.list_desc", hyphae.Count())) -//line views/stuff.qtpl:243 +//line views/stuff.qtpl:247 qw422016.N().S(`

    `) -//line views/stuff.qtpl:245 - for h := range hyphae.YieldExistingHyphae() { -//line views/stuff.qtpl:245 +//line views/stuff.qtpl:250 + hyphaNames := make(chan string) + sortedHypha := hyphae.PathographicSort(hyphaNames) + for hypha := range hyphae.YieldExistingHyphae() { + hyphaNames <- hypha.Name + } + close(hyphaNames) + +//line views/stuff.qtpl:256 + qw422016.N().S(` + `) +//line views/stuff.qtpl:257 + for hyphaName := range sortedHypha { +//line views/stuff.qtpl:257 + qw422016.N().S(` + `) +//line views/stuff.qtpl:258 + hypha := hyphae.ByName(hyphaName) + +//line views/stuff.qtpl:258 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:247 - qw422016.E().S(util.BeautifulName(h.Name)) -//line views/stuff.qtpl:247 +//line views/stuff.qtpl:260 + qw422016.E().S(util.BeautifulName(hypha.Name)) +//line views/stuff.qtpl:260 qw422016.N().S(` `) -//line views/stuff.qtpl:248 - if h.BinaryPath != "" { -//line views/stuff.qtpl:248 +//line views/stuff.qtpl:261 + if hypha.BinaryPath != "" { +//line views/stuff.qtpl:261 qw422016.N().S(` `) -//line views/stuff.qtpl:249 - qw422016.E().S(filepath.Ext(h.BinaryPath)[1:]) -//line views/stuff.qtpl:249 +//line views/stuff.qtpl:262 + qw422016.E().S(filepath.Ext(hypha.BinaryPath)[1:]) +//line views/stuff.qtpl:262 qw422016.N().S(` `) -//line views/stuff.qtpl:250 +//line views/stuff.qtpl:263 } -//line views/stuff.qtpl:250 +//line views/stuff.qtpl:263 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:252 +//line views/stuff.qtpl:265 } -//line views/stuff.qtpl:252 +//line views/stuff.qtpl:265 qw422016.N().S(`
`) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 } -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 func WriteHyphaListHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 StreamHyphaListHTML(qw422016, lc) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 } -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 func HyphaListHTML(lc *l18n.Localizer) string { -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 WriteHyphaListHTML(qb422016, lc) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 return qs422016 -//line views/stuff.qtpl:256 +//line views/stuff.qtpl:269 } -//line views/stuff.qtpl:258 +//line views/stuff.qtpl:271 func StreamAboutHTML(qw422016 *qt422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:258 +//line views/stuff.qtpl:271 qw422016.N().S(`

`) -//line views/stuff.qtpl:262 +//line views/stuff.qtpl:275 qw422016.E().S(lc.Get("ui.about_title", &l18n.Replacements{"name": cfg.WikiName})) -//line views/stuff.qtpl:262 +//line views/stuff.qtpl:275 qw422016.N().S(`

  • `) -//line views/stuff.qtpl:264 +//line views/stuff.qtpl:277 qw422016.N().S(lc.Get("ui.about_version", &l18n.Replacements{"pre": "", "post": ""})) -//line views/stuff.qtpl:264 +//line views/stuff.qtpl:277 qw422016.N().S(` 1.5.0
  • `) -//line views/stuff.qtpl:265 +//line views/stuff.qtpl:278 if cfg.UseAuth { -//line views/stuff.qtpl:265 +//line views/stuff.qtpl:278 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:266 +//line views/stuff.qtpl:279 qw422016.E().S(lc.Get("ui.about_usercount")) -//line views/stuff.qtpl:266 +//line views/stuff.qtpl:279 qw422016.N().S(` `) -//line views/stuff.qtpl:266 +//line views/stuff.qtpl:279 qw422016.N().DUL(user.Count()) -//line views/stuff.qtpl:266 +//line views/stuff.qtpl:279 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:267 +//line views/stuff.qtpl:280 qw422016.E().S(lc.Get("ui.about_homepage")) -//line views/stuff.qtpl:267 +//line views/stuff.qtpl:280 qw422016.N().S(` `) -//line views/stuff.qtpl:267 +//line views/stuff.qtpl:280 qw422016.E().S(cfg.HomeHypha) -//line views/stuff.qtpl:267 +//line views/stuff.qtpl:280 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:268 +//line views/stuff.qtpl:281 qw422016.E().S(lc.Get("ui.about_admins")) -//line views/stuff.qtpl:268 +//line views/stuff.qtpl:281 qw422016.N().S(``) -//line views/stuff.qtpl:268 +//line views/stuff.qtpl:281 for i, username := range user.ListUsersWithGroup("admin") { -//line views/stuff.qtpl:269 +//line views/stuff.qtpl:282 if i > 0 { -//line views/stuff.qtpl:269 +//line views/stuff.qtpl:282 qw422016.N().S(` `) -//line views/stuff.qtpl:270 +//line views/stuff.qtpl:283 } -//line views/stuff.qtpl:270 +//line views/stuff.qtpl:283 qw422016.N().S(` `) -//line views/stuff.qtpl:271 +//line views/stuff.qtpl:284 qw422016.E().S(username) -//line views/stuff.qtpl:271 +//line views/stuff.qtpl:284 qw422016.N().S(``) -//line views/stuff.qtpl:271 +//line views/stuff.qtpl:284 } -//line views/stuff.qtpl:271 +//line views/stuff.qtpl:284 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:272 +//line views/stuff.qtpl:285 } else { -//line views/stuff.qtpl:272 +//line views/stuff.qtpl:285 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:273 +//line views/stuff.qtpl:286 qw422016.E().S(lc.Get("ui.about_noauth")) -//line views/stuff.qtpl:273 +//line views/stuff.qtpl:286 qw422016.N().S(`
  • `) -//line views/stuff.qtpl:274 +//line views/stuff.qtpl:287 } -//line views/stuff.qtpl:274 +//line views/stuff.qtpl:287 qw422016.N().S(`

`) -//line views/stuff.qtpl:276 +//line views/stuff.qtpl:289 qw422016.N().S(lc.Get("ui.about_hyphae", &l18n.Replacements{"link": "/list"})) -//line views/stuff.qtpl:276 +//line views/stuff.qtpl:289 qw422016.N().S(`

`) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 } -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 func WriteAboutHTML(qq422016 qtio422016.Writer, lc *l18n.Localizer) { -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 StreamAboutHTML(qw422016, lc) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 } -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 func AboutHTML(lc *l18n.Localizer) string { -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 WriteAboutHTML(qb422016, lc) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 return qs422016 -//line views/stuff.qtpl:280 +//line views/stuff.qtpl:293 } -//line views/stuff.qtpl:282 +//line views/stuff.qtpl:295 func StreamCommonScripts(qw422016 *qt422016.Writer) { -//line views/stuff.qtpl:282 +//line views/stuff.qtpl:295 qw422016.N().S(` `) -//line views/stuff.qtpl:283 +//line views/stuff.qtpl:296 for _, scriptPath := range cfg.CommonScripts { -//line views/stuff.qtpl:283 +//line views/stuff.qtpl:296 qw422016.N().S(` `) -//line views/stuff.qtpl:285 +//line views/stuff.qtpl:298 } -//line views/stuff.qtpl:285 +//line views/stuff.qtpl:298 qw422016.N().S(` `) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 } -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 func WriteCommonScripts(qq422016 qtio422016.Writer) { -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 StreamCommonScripts(qw422016) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 qt422016.ReleaseWriter(qw422016) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 } -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 func CommonScripts() string { -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 qb422016 := qt422016.AcquireByteBuffer() -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 WriteCommonScripts(qb422016) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 qs422016 := string(qb422016.B) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 qt422016.ReleaseByteBuffer(qb422016) -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 return qs422016 -//line views/stuff.qtpl:286 +//line views/stuff.qtpl:299 }