MCPcopy Index your code
hub / github.com/TruthHun/BookStack / Prepare

Method Prepare

controllers/BaseController.go:75–202  ·  view source on GitHub ↗

Prepare 预处理.

()

Source from the content-addressed store, hash-verified

73
74// Prepare 预处理.
75func (this *BaseController) Prepare() {
76 this.refreshReferer()
77
78 this.Data["Version"] = utils.Version
79 this.IsMobile = utils.IsMobile(this.Ctx.Request.UserAgent())
80 this.Data["IsMobile"] = this.IsMobile
81 this.Member = models.NewMember() //初始化
82 this.EnableAnonymous = false
83 this.AllowRegister = true
84 this.EnableDocumentHistory = 0
85 this.OssDomain = strings.TrimRight(beego.AppConfig.String("oss::Domain"), "/ ")
86 this.Data["OssDomain"] = this.OssDomain
87 this.StaticDomain = strings.Trim(beego.AppConfig.DefaultString("static_domain", ""), "/")
88 this.Data["StaticDomain"] = this.StaticDomain
89
90 //从session中获取用户信息
91 if member, ok := this.GetSession(conf.LoginSessionName).(models.Member); ok && member.MemberId > 0 {
92 m, _ := models.NewMember().Find(member.MemberId)
93 this.Member = m
94 } else {
95 //如果Cookie中存在登录信息,从cookie中获取用户信息
96 if cookie, ok := this.GetSecureCookie(conf.GetAppKey(), "login"); ok {
97 var remember CookieRemember
98 err := utils.Decode(cookie, &remember)
99 if err == nil {
100 member, err := models.NewMember().Find(remember.MemberId)
101 if err == nil {
102 this.SetMember(*member)
103 this.Member = member
104 }
105 }
106 }
107
108 }
109 if this.Member.RoleName == "" {
110 this.Member.ResolveRoleName()
111 }
112 this.Data["Member"] = this.Member
113 this.Data["BaseUrl"] = this.BaseUrl()
114 this.Data["IsSignedToday"] = false
115 if this.Member.MemberId > 0 {
116 this.Data["IsSignedToday"] = models.NewSign().IsSignToday(this.Member.MemberId)
117 }
118
119 if options, err := models.NewOption().All(); err == nil {
120 this.Option = make(map[string]string, len(options))
121 for _, item := range options {
122 if item.OptionName == "SITE_NAME" {
123 this.Sitename = item.OptionValue
124 }
125 this.Data[item.OptionName] = item.OptionValue
126 this.Option[item.OptionName] = item.OptionValue
127 if strings.EqualFold(item.OptionName, "ENABLE_ANONYMOUS") && item.OptionValue == "true" {
128 this.EnableAnonymous = true
129 }
130
131 if strings.EqualFold(item.OptionName, "ENABLED_REGISTER") && item.OptionValue == "false" {
132 this.AllowRegister = false

Callers

nothing calls this directly

Calls 15

refreshRefererMethod · 0.95
SetMemberMethod · 0.95
BaseUrlMethod · 0.95
IsMobileFunction · 0.92
NewMemberFunction · 0.92
GetAppKeyFunction · 0.92
DecodeFunction · 0.92
NewSignFunction · 0.92
NewOptionFunction · 0.92
NewRelationshipFunction · 0.92
IsSignTodayMethod · 0.80
FindByKeyMethod · 0.80

Tested by

no test coverage detected