summaryrefslogtreecommitdiff
path: root/app/wraper.go
diff options
context:
space:
mode:
authorlost+skunk <[email protected]>2024-06-27 14:51:46 +0300
committerlost+skunk <[email protected]>2024-06-27 14:51:46 +0300
commita8633b828f3e4e2d232e2194d9f2b85cdcd9e8db (patch)
treefb429d34eccf9248604230e18d3822ea7432471c /app/wraper.go
parentaec0bfc4384ba8451974a250c70e4fcb52717a1d (diff)
downloadskunky-art-a8633b828f3e4e2d232e2194d9f2b85cdcd9e8db.tar.gz
skunky-art-a8633b828f3e4e2d232e2194d9f2b85cdcd9e8db.tar.bz2
skunky-art-a8633b828f3e4e2d232e2194d9f2b85cdcd9e8db.zip
крымские наработки
Diffstat (limited to 'app/wraper.go')
-rw-r--r--app/wraper.go71
1 files changed, 69 insertions, 2 deletions
diff --git a/app/wraper.go b/app/wraper.go
index e252530..ccaccee 100644
--- a/app/wraper.go
+++ b/app/wraper.go
@@ -9,6 +9,7 @@ import (
"strconv"
"strings"
"text/template"
+ "time"
"git.macaw.me/skunky/devianter"
)
@@ -117,6 +118,68 @@ func (s skunkyart) NavBase(c dlist) string {
return list.String()
}
+func (s skunkyart) GRUser() {
+ var group struct {
+ GR devianter.GRuser
+ CreationDate string
+
+ About struct {
+ A devianter.About
+
+ DescriptionFormatted string
+ Interests string
+ Social string
+ BG devianter.Deviation
+ }
+ }
+
+ if len(s.Query) < 1 {
+ s.httperr(400)
+ return
+ }
+
+ var g devianter.Group
+ g.Name = s.Query
+ group.GR = g.GroupFunc()
+
+ if g := group.GR; !g.Owner.Group {
+ for _, x := range g.Gruser.Page.Modules {
+ var about = group.About.A
+ if x.ModuleData.About.RegDate != 0 {
+ about = x.ModuleData.About
+ }
+ group.About.DescriptionFormatted = ParseDescription(about.Description)
+
+ for _, val := range x.ModuleData.About.Interests {
+ var interest strings.Builder
+ interest.WriteString(val.Label)
+ interest.WriteString(": <b>")
+ interest.WriteString(val.Value)
+ interest.WriteString("</b><br>")
+ group.About.Interests += interest.String()
+ }
+
+ for _, val := range x.ModuleData.About.SocialLinks {
+ var social strings.Builder
+ social.WriteString(`<a target="_blank" href="`)
+ social.WriteString(val.Value)
+ social.WriteString(`">`)
+ social.WriteString(val.Value)
+ social.WriteString("</a><br>")
+ group.About.Social += social.String()
+ }
+
+ if rd := x.ModuleData.About.RegDate; rd != 0 {
+ group.CreationDate = time.Unix(time.Now().Unix()-rd, 0).UTC().String()
+ }
+ }
+ } else {
+
+ }
+
+ s.exe("html/gruser.htm", &group)
+}
+
func (s skunkyart) DeviationList(devs []devianter.Deviation, content ...dlist) string {
var list strings.Builder
list.WriteString(`<div class="content">`)
@@ -171,6 +234,7 @@ func (s skunkyart) Deviation(author, postname string) {
id := re[len(re)-1]
post.Post = devianter.DeviationFunc(id, author)
+ post.Post.Description = ParseDescription(post.Post.Deviation.TextContent)
// время публикации
post.StringTime = post.Post.Deviation.PublishedTime.UTC().String()
@@ -218,6 +282,7 @@ func (s skunkyart) Deviation(author, postname string) {
cmmts.WriteString(`">`)
cmmts.WriteString(x.User.Username)
cmmts.WriteString("</b></a> ")
+
if x.Parent > 0 {
cmmts.WriteString(` In reply to <a href="#`)
cmmts.WriteString(strconv.Itoa(x.Parent))
@@ -232,6 +297,7 @@ func (s skunkyart) Deviation(author, postname string) {
cmmts.WriteString(" [")
cmmts.WriteString(x.Posted.UTC().String())
cmmts.WriteString("]<p>")
+
cmmts.WriteString(x.Comment)
cmmts.WriteString("<p>👍: ")
cmmts.WriteString(strconv.Itoa(x.Likes))
@@ -263,7 +329,8 @@ func (s skunkyart) DD() {
func (s skunkyart) Search() {
// тут всё и так понятно
- if s.Type == 'a' || s.Type == 't' || s.Type == 'g' {
+ switch s.Type {
+ case 'a', 't', 'g':
var srch struct {
Search devianter.Search
List string
@@ -278,7 +345,7 @@ func (s skunkyart) Search() {
})
s.exe("html/search.htm", &srch)
- } else {
+ default:
s.httperr(400)
}
}