You can now filter views by one month.

More debug logging.
More progress with Topic Moving.
This commit is contained in:
Azareal 2018-01-12 10:22:28 +00:00
parent 3fca8114f0
commit 90a20d5b05
10 changed files with 220 additions and 131 deletions

View File

@ -329,6 +329,12 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
if common.Dev.SuperDebug {
log.Print("before routeStatic")
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)
@ -381,6 +387,13 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
case ua == "":
common.AgentViewCounter.Bump(14)
if common.Dev.DebugMode {
log.Print("Blank UA: ", req.UserAgent())
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)
@ -390,6 +403,12 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
common.AgentViewCounter.Bump(0)
if common.Dev.DebugMode {
log.Print("Unknown UA: ", req.UserAgent())
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)

View File

@ -574,6 +574,12 @@ func routePanelAnalyticsViews(w http.ResponseWriter, r *http.Request, user commo
var timeRange = "six-hours"
switch r.FormValue("timeRange") {
case "one-month":
timeQuantity = 30
timeUnit = "day"
timeSlices = 30
sliceWidth = 60 * 60 * 24
timeRange = "one-month"
case "two-days": // Two days is experimental
timeQuantity = 2
timeUnit = "day"
@ -680,6 +686,12 @@ func routePanelAnalyticsRouteViews(w http.ResponseWriter, r *http.Request, user
var timeRange = "six-hours"
switch r.FormValue("timeRange") {
case "one-month":
timeQuantity = 30
timeUnit = "day"
timeSlices = 30
sliceWidth = 60 * 60 * 24
timeRange = "one-month"
case "two-days": // Two days is experimental
timeQuantity = 2
timeUnit = "day"
@ -776,6 +788,12 @@ func routePanelAnalyticsAgentViews(w http.ResponseWriter, r *http.Request, user
var timeRange = "six-hours"
switch r.FormValue("timeRange") {
case "one-month":
timeQuantity = 30
timeUnit = "day"
timeSlices = 30
sliceWidth = 60 * 60 * 24
timeRange = "one-month"
case "two-days": // Two days is experimental
timeQuantity = 2
timeUnit = "day"

View File

@ -289,6 +289,12 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
if common.Dev.SuperDebug {
log.Print("before routeStatic")
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)
@ -341,6 +347,13 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
case ua == "":
common.AgentViewCounter.Bump({{.AllAgentMap.blank}})
if common.Dev.DebugMode {
log.Print("Blank UA: ", req.UserAgent())
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)
@ -350,6 +363,12 @@ func (router *GenRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
common.AgentViewCounter.Bump({{.AllAgentMap.unknown}})
if common.Dev.DebugMode {
log.Print("Unknown UA: ", req.UserAgent())
log.Print("Method: ", req.Method)
for key, value := range req.Header {
for _, vvalue := range value {
log.Print("Header '" + key + "': " + vvalue + "!!")
}
}
log.Print("prefix: ", prefix)
log.Print("req.URL.Path: ", req.URL.Path)
log.Print("extraData: ", extraData)

View File

@ -827,11 +827,12 @@ var topics_9 = []byte(`
</div>
<div class="pane_body">
<div class="pane_table">
<div class="pane_row"></div>
`)
var topics_10 = []byte(`<div class="pane_row">`)
var topics_11 = []byte(`</div>`)
var topics_12 = []byte(`
var topics_10 = []byte(`<div id="mover_fid_`)
var topics_11 = []byte(`" data-fid="`)
var topics_12 = []byte(`" class="pane_row">`)
var topics_13 = []byte(`</div>`)
var topics_14 = []byte(`
</div>
</div>
<div class="pane_buttons">
@ -842,18 +843,18 @@ var topics_12 = []byte(`
<div class="rowblock topic_create_form quick_create_form" style="display: none;" aria-label="Quick Topic Form">
<form name="topic_create_form_form" id="topic_create_form_form" enctype="multipart/form-data" action="/topic/create/submit/" method="post"></form>
<img class="little_row_avatar" src="`)
var topics_13 = []byte(`" height="64" alt="Your Avatar" title="Your Avatar" />
var topics_15 = []byte(`" height="64" alt="Your Avatar" title="Your Avatar" />
<div class="main_form">
<div class="topic_meta">
<div class="formrow topic_board_row real_first_child">
<div class="formitem"><select form="topic_create_form_form" id="topic_board_input" name="topic-board">
`)
var topics_14 = []byte(`<option `)
var topics_15 = []byte(`selected`)
var topics_16 = []byte(` value="`)
var topics_17 = []byte(`">`)
var topics_18 = []byte(`</option>`)
var topics_19 = []byte(`
var topics_16 = []byte(`<option `)
var topics_17 = []byte(`selected`)
var topics_18 = []byte(` value="`)
var topics_19 = []byte(`">`)
var topics_20 = []byte(`</option>`)
var topics_21 = []byte(`
</select></div>
</div>
<div class="formrow topic_name_row">
@ -871,77 +872,77 @@ var topics_19 = []byte(`
<div class="formitem">
<button form="topic_create_form_form" class="formbutton">Create Topic</button>
`)
var topics_20 = []byte(`
var topics_22 = []byte(`
<input name="upload_files" form="topic_create_form_form" id="upload_files" multiple type="file" style="display: none;" />
<label for="upload_files" class="formbutton add_file_button">Add File</label>
<div id="upload_file_dock"></div>`)
var topics_21 = []byte(`
var topics_23 = []byte(`
<button class="formbutton close_form">Cancel</button>
</div>
</div>
</div>
</div>
`)
var topics_22 = []byte(`
var topics_24 = []byte(`
<div id="topic_list" class="rowblock topic_list" aria-label="A list containing topics from every forum">
`)
var topics_23 = []byte(`<div class="topic_row" data-tid="`)
var topics_24 = []byte(`">
var topics_25 = []byte(`<div class="topic_row" data-tid="`)
var topics_26 = []byte(`">
<div class="rowitem topic_left passive datarow `)
var topics_25 = []byte(`topic_sticky`)
var topics_26 = []byte(`topic_closed`)
var topics_27 = []byte(`">
var topics_27 = []byte(`topic_sticky`)
var topics_28 = []byte(`topic_closed`)
var topics_29 = []byte(`">
<span class="selector"></span>
<a href="`)
var topics_28 = []byte(`"><img src="`)
var topics_29 = []byte(`" height="64" alt="`)
var topics_30 = []byte(`'s Avatar" title="`)
var topics_31 = []byte(`'s Avatar" /></a>
var topics_30 = []byte(`"><img src="`)
var topics_31 = []byte(`" height="64" alt="`)
var topics_32 = []byte(`'s Avatar" title="`)
var topics_33 = []byte(`'s Avatar" /></a>
<span class="topic_inner_left">
<a class="rowtopic" href="`)
var topics_32 = []byte(`" itemprop="itemListElement"><span>`)
var topics_33 = []byte(`</span></a> `)
var topics_34 = []byte(`<a class="rowsmall parent_forum" href="`)
var topics_35 = []byte(`">`)
var topics_36 = []byte(`</a>`)
var topics_37 = []byte(`
var topics_34 = []byte(`" itemprop="itemListElement"><span>`)
var topics_35 = []byte(`</span></a> `)
var topics_36 = []byte(`<a class="rowsmall parent_forum" href="`)
var topics_37 = []byte(`">`)
var topics_38 = []byte(`</a>`)
var topics_39 = []byte(`
<br /><a class="rowsmall starter" href="`)
var topics_38 = []byte(`">`)
var topics_39 = []byte(`</a>
var topics_40 = []byte(`">`)
var topics_41 = []byte(`</a>
`)
var topics_40 = []byte(`<span class="rowsmall topic_status_e topic_status_closed" title="Status: Closed"> | &#x1F512;&#xFE0E</span>`)
var topics_41 = []byte(`<span class="rowsmall topic_status_e topic_status_sticky" title="Status: Pinned"> | &#x1F4CD;&#xFE0E</span>`)
var topics_42 = []byte(`
var topics_42 = []byte(`<span class="rowsmall topic_status_e topic_status_closed" title="Status: Closed"> | &#x1F512;&#xFE0E</span>`)
var topics_43 = []byte(`<span class="rowsmall topic_status_e topic_status_sticky" title="Status: Pinned"> | &#x1F4CD;&#xFE0E</span>`)
var topics_44 = []byte(`
</span>
<span class="topic_inner_right rowsmall" style="float: right;">
<span class="replyCount">`)
var topics_43 = []byte(`</span><br />
var topics_45 = []byte(`</span><br />
<span class="likeCount">`)
var topics_44 = []byte(`</span>
var topics_46 = []byte(`</span>
</span>
</div>
<div class="rowitem topic_right passive datarow `)
var topics_45 = []byte(`topic_sticky`)
var topics_46 = []byte(`topic_closed`)
var topics_47 = []byte(`">
var topics_47 = []byte(`topic_sticky`)
var topics_48 = []byte(`topic_closed`)
var topics_49 = []byte(`">
<a href="`)
var topics_48 = []byte(`"><img src="`)
var topics_49 = []byte(`" height="64" alt="`)
var topics_50 = []byte(`'s Avatar" title="`)
var topics_51 = []byte(`'s Avatar" /></a>
var topics_50 = []byte(`"><img src="`)
var topics_51 = []byte(`" height="64" alt="`)
var topics_52 = []byte(`'s Avatar" title="`)
var topics_53 = []byte(`'s Avatar" /></a>
<span>
<a href="`)
var topics_52 = []byte(`" class="lastName" style="font-size: 14px;">`)
var topics_53 = []byte(`</a><br>
var topics_54 = []byte(`" class="lastName" style="font-size: 14px;">`)
var topics_55 = []byte(`</a><br>
<span class="rowsmall lastReplyAt">`)
var topics_54 = []byte(`</span>
var topics_56 = []byte(`</span>
</span>
</div>
</div>`)
var topics_55 = []byte(`<div class="rowitem passive">There aren't any topics yet.`)
var topics_56 = []byte(` <a href="/topics/create/">Start one?</a>`)
var topics_57 = []byte(`</div>`)
var topics_58 = []byte(`
var topics_57 = []byte(`<div class="rowitem passive">There aren't any topics yet.`)
var topics_58 = []byte(` <a href="/topics/create/">Start one?</a>`)
var topics_59 = []byte(`</div>`)
var topics_60 = []byte(`
</div>
</main>

View File

@ -3,9 +3,9 @@
// Code generated by Gosora. More below:
/* This file was automatically generated by the software. Please don't edit it as your changes may be overwritten at any moment. */
package main
import "net/http"
import "./common"
import "strconv"
import "net/http"
// nolint
func init() {
@ -102,113 +102,117 @@ w.Write(topics_9)
if len(tmpl_topics_vars.ForumList) != 0 {
for _, item := range tmpl_topics_vars.ForumList {
w.Write(topics_10)
w.Write([]byte(item.Name))
w.Write([]byte(strconv.Itoa(item.ID)))
w.Write(topics_11)
}
}
w.Write([]byte(strconv.Itoa(item.ID)))
w.Write(topics_12)
w.Write([]byte(tmpl_topics_vars.CurrentUser.Avatar))
w.Write([]byte(item.Name))
w.Write(topics_13)
}
}
w.Write(topics_14)
w.Write([]byte(tmpl_topics_vars.CurrentUser.Avatar))
w.Write(topics_15)
if len(tmpl_topics_vars.ForumList) != 0 {
for _, item := range tmpl_topics_vars.ForumList {
w.Write(topics_14)
if item.ID == tmpl_topics_vars.DefaultForum {
w.Write(topics_15)
}
w.Write(topics_16)
w.Write([]byte(strconv.Itoa(item.ID)))
if item.ID == tmpl_topics_vars.DefaultForum {
w.Write(topics_17)
w.Write([]byte(item.Name))
}
w.Write(topics_18)
}
}
w.Write([]byte(strconv.Itoa(item.ID)))
w.Write(topics_19)
if tmpl_topics_vars.CurrentUser.Perms.UploadFiles {
w.Write([]byte(item.Name))
w.Write(topics_20)
}
}
w.Write(topics_21)
}
}
if tmpl_topics_vars.CurrentUser.Perms.UploadFiles {
w.Write(topics_22)
}
w.Write(topics_23)
}
}
w.Write(topics_24)
if len(tmpl_topics_vars.TopicList) != 0 {
for _, item := range tmpl_topics_vars.TopicList {
w.Write(topics_23)
w.Write([]byte(strconv.Itoa(item.ID)))
w.Write(topics_24)
if item.Sticky {
w.Write(topics_25)
} else {
if item.IsClosed {
w.Write([]byte(strconv.Itoa(item.ID)))
w.Write(topics_26)
}
}
if item.Sticky {
w.Write(topics_27)
w.Write([]byte(item.Creator.Link))
w.Write(topics_28)
w.Write([]byte(item.Creator.Avatar))
w.Write(topics_29)
w.Write([]byte(item.Creator.Name))
w.Write(topics_30)
w.Write([]byte(item.Creator.Name))
w.Write(topics_31)
w.Write([]byte(item.Link))
w.Write(topics_32)
w.Write([]byte(item.Title))
w.Write(topics_33)
if item.ForumName != "" {
w.Write(topics_34)
w.Write([]byte(item.ForumLink))
w.Write(topics_35)
w.Write([]byte(item.ForumName))
w.Write(topics_36)
}
w.Write(topics_37)
w.Write([]byte(item.Creator.Link))
w.Write(topics_38)
w.Write([]byte(item.Creator.Name))
w.Write(topics_39)
if item.IsClosed {
w.Write(topics_40)
}
if item.Sticky {
w.Write(topics_41)
}
w.Write(topics_42)
w.Write([]byte(strconv.Itoa(item.PostCount)))
w.Write(topics_43)
w.Write([]byte(strconv.Itoa(item.LikeCount)))
w.Write(topics_44)
if item.Sticky {
w.Write(topics_45)
} else {
if item.IsClosed {
w.Write(topics_28)
}
}
w.Write(topics_29)
w.Write([]byte(item.Creator.Link))
w.Write(topics_30)
w.Write([]byte(item.Creator.Avatar))
w.Write(topics_31)
w.Write([]byte(item.Creator.Name))
w.Write(topics_32)
w.Write([]byte(item.Creator.Name))
w.Write(topics_33)
w.Write([]byte(item.Link))
w.Write(topics_34)
w.Write([]byte(item.Title))
w.Write(topics_35)
if item.ForumName != "" {
w.Write(topics_36)
w.Write([]byte(item.ForumLink))
w.Write(topics_37)
w.Write([]byte(item.ForumName))
w.Write(topics_38)
}
w.Write(topics_39)
w.Write([]byte(item.Creator.Link))
w.Write(topics_40)
w.Write([]byte(item.Creator.Name))
w.Write(topics_41)
if item.IsClosed {
w.Write(topics_42)
}
if item.Sticky {
w.Write(topics_43)
}
w.Write(topics_44)
w.Write([]byte(strconv.Itoa(item.PostCount)))
w.Write(topics_45)
w.Write([]byte(strconv.Itoa(item.LikeCount)))
w.Write(topics_46)
}
}
if item.Sticky {
w.Write(topics_47)
w.Write([]byte(item.LastUser.Link))
} else {
if item.IsClosed {
w.Write(topics_48)
w.Write([]byte(item.LastUser.Avatar))
}
}
w.Write(topics_49)
w.Write([]byte(item.LastUser.Name))
w.Write(topics_50)
w.Write([]byte(item.LastUser.Name))
w.Write(topics_51)
w.Write([]byte(item.LastUser.Link))
w.Write(topics_50)
w.Write([]byte(item.LastUser.Avatar))
w.Write(topics_51)
w.Write([]byte(item.LastUser.Name))
w.Write(topics_52)
w.Write([]byte(item.LastUser.Name))
w.Write(topics_53)
w.Write([]byte(item.RelativeLastReplyAt))
w.Write([]byte(item.LastUser.Link))
w.Write(topics_54)
}
} else {
w.Write([]byte(item.LastUser.Name))
w.Write(topics_55)
if tmpl_topics_vars.CurrentUser.Perms.CreateTopic {
w.Write([]byte(item.RelativeLastReplyAt))
w.Write(topics_56)
}
} else {
w.Write(topics_57)
}
if tmpl_topics_vars.CurrentUser.Perms.CreateTopic {
w.Write(topics_58)
}
w.Write(topics_59)
}
w.Write(topics_60)
w.Write(footer_0)
w.Write([]byte(common.BuildWidget("footer",tmpl_topics_vars.Header)))
w.Write(footer_1)

View File

@ -7,6 +7,7 @@
<div class="rowitem">
<a>Views</a>
<select class="timeRangeSelector to_right" name="timeRange">
<option val="one-month"{{if eq .TimeRange "one-month"}} selected{{end}}>1 month</option>
<option val="two-days"{{if eq .TimeRange "two-days"}} selected{{end}}>2 days</option>
<option val="one-day"{{if eq .TimeRange "one-day"}} selected{{end}}>1 day</option>
<option val="twelve-hours"{{if eq .TimeRange "twelve-hours"}} selected{{end}}>12 hours</option>

View File

@ -7,6 +7,7 @@
<div class="rowitem">
<a>{{.Agent}} Views</a>
<select class="timeRangeSelector to_right" name="timeRange">
<option val="one-month"{{if eq .TimeRange "one-month"}} selected{{end}}>1 month</option>
<option val="two-days"{{if eq .TimeRange "two-days"}} selected{{end}}>2 days</option>
<option val="one-day"{{if eq .TimeRange "one-day"}} selected{{end}}>1 day</option>
<option val="twelve-hours"{{if eq .TimeRange "twelve-hours"}} selected{{end}}>12 hours</option>

View File

@ -7,6 +7,7 @@
<div class="rowitem">
<a>{{.Route}} Views</a>
<select class="timeRangeSelector to_right" name="timeRange">
<option val="one-month"{{if eq .TimeRange "one-month"}} selected{{end}}>1 month</option>
<option val="two-days"{{if eq .TimeRange "two-days"}} selected{{end}}>2 days</option>
<option val="one-day"{{if eq .TimeRange "one-day"}} selected{{end}}>1 day</option>
<option val="twelve-hours"{{if eq .TimeRange "twelve-hours"}} selected{{end}}>12 hours</option>

View File

@ -44,8 +44,7 @@
</div>
<div class="pane_body">
<div class="pane_table">
<div class="pane_row"></div>
{{range .ForumList}}<div class="pane_row">{{.Name}}</div>{{end}}
{{range .ForumList}}<div id="mover_fid_{{.ID}}" data-fid="{{.ID}}" class="pane_row">{{.Name}}</div>{{end}}
</div>
</div>
<div class="pane_buttons">

View File

@ -289,14 +289,12 @@ h1, h3 {
}
.mod_floater_body select {
margin-left: auto;
border: none;
border-bottom: 1px solid var(--header-border-color);
outline: none;
}
.mod_floater_body button {
margin-left: 10px;
margin-right: auto;
border: none;
outline: none;
padding-left: 10px;
background: hsl(9, 97%, 56%);
@ -318,9 +316,37 @@ h1, h3 {
background-color: var(--inverse-primary-text-color);
border: 1px solid var(--header-border-color);
border-bottom: 2px solid var(--header-border-color);
padding: 8px;
padding-left: 12px;
padding-right: 12px;
/*padding: 8px;*/
padding-left: 16px;
padding-right: 16px;
z-index: 9999;
animation: fadein 0.8s;
}
.pane_header {
color: hsl(0,0%,55%);
padding-top: 12px;
padding-bottom: 12px;
border-bottom: 1px solid var(--element-border-color);
margin-bottom: 2px;
}
.pane_header h3 {
font-size: 14px;
font-weight: normal;
}
.pane_row {
color: var(--light-text-color);
border-bottom: 1px solid var(--element-border-color);
font-size: 13px;
padding-top: 5px;
padding-bottom: 8px;
margin-bottom: 3px;
}
.pane_buttons {
padding-top: 12px;
padding-bottom: 16px;
}
@keyframes fadein {