104 lines
3.2 KiB
Go
104 lines
3.2 KiB
Go
package controllers
|
|
|
|
import (
|
|
"github.com/revel/revel"
|
|
// "strings"
|
|
// "time"
|
|
// "encoding/json"
|
|
// "github.com/leanote/leanote/app/info"
|
|
// . "github.com/leanote/leanote/app/lea"
|
|
// "github.com/leanote/leanote/app/lea/blog"
|
|
// "gopkg.in/mgo.v2/bson"
|
|
// "github.com/leanote/leanote/app/types"
|
|
// "io/ioutil"
|
|
// "math"
|
|
// "os"
|
|
// "path"
|
|
)
|
|
|
|
type Preview struct {
|
|
Blog
|
|
}
|
|
|
|
// 得到要预览的主题绝对路径
|
|
func (c Preview) getPreviewThemeAbsolutePath(themeId string) bool {
|
|
if themeId != "" {
|
|
c.Session["themeId"] = themeId // 存到session中, 下次的url就不能带了, 待优化, 有时会取不到
|
|
} else {
|
|
themeId = c.GetSession("themeId") // 直接从session中获取
|
|
}
|
|
if themeId == "" {
|
|
return false
|
|
}
|
|
theme := themeService.GetTheme(c.GetUserId(), themeId)
|
|
|
|
c.ViewArgs["isPreview"] = true
|
|
c.ViewArgs["themeId"] = themeId
|
|
c.ViewArgs["themeInfoPreview"] = theme.Info
|
|
c.ViewArgs["themePath"] = theme.Path
|
|
if theme.Path == "" {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
func (c Preview) Index(userIdOrEmail string, themeId string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath(themeId) {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Index(c.GetUserId())
|
|
// return blog.RenderTemplate("index.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(themeId))
|
|
}
|
|
|
|
func (c Preview) Tag(userIdOrEmail, tag string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Tag(c.GetUserId(), tag)
|
|
}
|
|
func (c Preview) Tags(userIdOrEmail string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Tags(c.GetUserId())
|
|
// if tag == "" {
|
|
// return blog.RenderTemplate("tags.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
// }
|
|
// return blog.RenderTemplate("tag_posts.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|
|
func (c Preview) Archives(userIdOrEmail string, notebookId string, year, month int) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Archives(c.GetUserId(), notebookId, year, month)
|
|
// return blog.RenderTemplate("archive.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|
|
func (c Preview) Cate(userIdOrEmail, notebookId string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Cate(userIdOrEmail, notebookId)
|
|
// return blog.RenderTemplate("cate.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|
|
func (c Preview) Post(userIdOrEmail, noteId string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Post(userIdOrEmail, noteId)
|
|
// return blog.RenderTemplate("view.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|
|
func (c Preview) Single(userIdOrEmail, singleId string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Single(userIdOrEmail, singleId)
|
|
// return blog.RenderTemplate("single.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|
|
func (c Preview) Search(userIdOrEmail, keywords string) revel.Result {
|
|
if !c.getPreviewThemeAbsolutePath("") {
|
|
return c.E404()
|
|
}
|
|
return c.Blog.Search(c.GetUserId(), keywords)
|
|
// return blog.RenderTemplate("search.html", c.ViewArgs, c.getPreviewThemeAbsolutePath(""))
|
|
}
|