| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // Copyright 2017 Frédéric Guillot. All rights reserved.
- // Use of this source code is governed by the Apache 2.0
- // license that can be found in the LICENSE file.
- package controller
- import (
- "github.com/miniflux/miniflux/logger"
- "github.com/miniflux/miniflux/server/core"
- )
- // ShowSessions shows the list of active sessions.
- func (c *Controller) ShowSessions(ctx *core.Context, request *core.Request, response *core.Response) {
- user := ctx.LoggedUser()
- args, err := c.getCommonTemplateArgs(ctx)
- if err != nil {
- response.HTML().ServerError(err)
- return
- }
- sessions, err := c.store.Sessions(user.ID)
- if err != nil {
- response.HTML().ServerError(err)
- return
- }
- sessionCookie := request.Cookie("sessionID")
- response.HTML().Render("sessions", args.Merge(tplParams{
- "sessions": sessions,
- "currentSessionToken": sessionCookie,
- "menu": "settings",
- }))
- }
- // RemoveSession remove a session.
- func (c *Controller) RemoveSession(ctx *core.Context, request *core.Request, response *core.Response) {
- user := ctx.LoggedUser()
- sessionID, err := request.IntegerParam("sessionID")
- if err != nil {
- response.HTML().BadRequest(err)
- return
- }
- err = c.store.RemoveSessionByID(user.ID, sessionID)
- if err != nil {
- logger.Error("[Controller:RemoveSession] %v", err)
- }
- response.Redirect(ctx.Route("sessions"))
- }
|