From c7a8b733ed8537b83aac635fa003e414350887f4 Mon Sep 17 00:00:00 2001 From: Albert S Date: Sun, 29 Sep 2019 21:34:53 +0200 Subject: [PATCH] Handlers: set page title --- handlers/handler.cpp | 6 ++++++ handlers/handler.h | 1 + handlers/handlerallcategories.cpp | 1 + handlers/handlerallpages.cpp | 1 + handlers/handlercategory.cpp | 1 + handlers/handlerhistory.cpp | 5 ++++- handlers/handlerlogin.cpp | 1 + handlers/handlerpage.cpp | 1 + handlers/handlerpagedelete.cpp | 1 + handlers/handlerpageedit.cpp | 2 ++ handlers/handlersearch.cpp | 1 + 11 files changed, 20 insertions(+), 1 deletion(-) diff --git a/handlers/handler.cpp b/handlers/handler.cpp index cdd5980..b98b1fa 100644 --- a/handlers/handler.cpp +++ b/handlers/handler.cpp @@ -36,6 +36,7 @@ void Handler::setGeneralVars(TemplatePage &page) Response Handler::errorResponse(std::string errortitle, std::string errormessage, int status) { TemplatePage &error = this->templ->getPage("error"); + error.setVar("title", createPageTitle(errortitle)); error.setVar("errortitle", errortitle); error.setVar("errormessage", errormessage); //TODO: log? @@ -43,6 +44,11 @@ Response Handler::errorResponse(std::string errortitle, std::string errormessage return { status, error.render()}; } +std::string Handler::createPageTitle(std::string append) +{ + return this->handlersConfig->wikiname + " - " + append; //TODO: we might wanna make the format configurable +} + QueryOption Handler::queryOption(const Request &r) const { QueryOption result; diff --git a/handlers/handler.h b/handlers/handler.h index 4e0d632..c6ce9a0 100644 --- a/handlers/handler.h +++ b/handlers/handler.h @@ -48,6 +48,7 @@ public: void setGeneralVars(TemplatePage &page); virtual ~Handler() { } Response errorResponse(std::string errortitle, std::string errormessage, int status = 200); + std::string createPageTitle(std::string append); }; #endif // HANDLER_H diff --git a/handlers/handlerallcategories.cpp b/handlers/handlerallcategories.cpp index 02201d9..8a64cff 100644 --- a/handlers/handlerallcategories.cpp +++ b/handlers/handlerallcategories.cpp @@ -35,6 +35,7 @@ Response HandlerAllCategories::handleRequest(const Request &r) return this->urlProvider->category(str); }); searchPage.setVar("categorylist", body); + searchPage.setVar("title", createPageTitle("All categories")); setGeneralVars(searchPage); Response response; diff --git a/handlers/handlerallpages.cpp b/handlers/handlerallpages.cpp index 353c53a..a0da332 100644 --- a/handlers/handlerallpages.cpp +++ b/handlers/handlerallpages.cpp @@ -35,6 +35,7 @@ Response HandlerAllPages::handleRequest(const Request &r) TemplatePage &searchPage = this->templ->getPage("allpages"); std::string body = this->templ->renderSearch(resultList); searchPage.setVar("pagelist", body); + searchPage.setVar("title", createPageTitle("All pages")); setGeneralVars(searchPage); response.setBody(searchPage.render()); response.setStatus(200); diff --git a/handlers/handlercategory.cpp b/handlers/handlercategory.cpp index 275bb52..2031805 100644 --- a/handlers/handlercategory.cpp +++ b/handlers/handlercategory.cpp @@ -39,6 +39,7 @@ Response HandlerCategory::handleRequest(const Request &r) searchPage.setVar("pagelist", body); searchPage.setVar("categoryname", categoryname); setGeneralVars(searchPage); + searchPage.setVar("title", createPageTitle("Category: " + categoryname)); response.setBody(searchPage.render()); response.setStatus(200); return response; diff --git a/handlers/handlerhistory.cpp b/handlers/handlerhistory.cpp index 893fd69..379f5c3 100644 --- a/handlers/handlerhistory.cpp +++ b/handlers/handlerhistory.cpp @@ -27,13 +27,14 @@ Response HandlerHistory::handleRequest(const Request &r) { QueryOption qo = queryOption(r); std::string page = r.get("page"); - + std::string title; if(page.empty()) { if(!this->userSession->user.permissions.canSeeGlobalHistory()) { return errorResponse("Permission denied", "You can't see the changes history on this wiki", 403); } + title = "History"; } else { @@ -42,6 +43,7 @@ Response HandlerHistory::handleRequest(const Request &r) { return errorResponse("Permission denied", "You cannot see the changes history of this page", 403); } + title = "History: " + page; } @@ -116,6 +118,7 @@ Response HandlerHistory::handleRequest(const Request &r) unsigned int neworder = ( qo.order == DESCENDING ) ? ASCENDING : DESCENDING ; historyPage.setVar("linkrecentsort", makeSortedLink(qo.limit, qo.offset, neworder)); historyPage.setVar("revisionlist", this->templ->renderRevisionList(resultList, page.empty())); + historyPage.setVar("title", createPageTitle(title)); Response response; response.setBody(historyPage.render()); response.setStatus(200); diff --git a/handlers/handlerlogin.cpp b/handlers/handlerlogin.cpp index c25fe56..d55c817 100644 --- a/handlers/handlerlogin.cpp +++ b/handlers/handlerlogin.cpp @@ -124,6 +124,7 @@ Response HandlerLogin::handleRequest(const Request &r) TemplatePage &loginTemplatePage = this->templ->getPage("login"); setGeneralVars(loginTemplatePage); loginTemplatePage.setVar("loginurl", urlProvider->login(page)); + loginTemplatePage.setVar("title", createPageTitle("Login")); Response result; result.setStatus(200); result.setBody(loginTemplatePage.render()); diff --git a/handlers/handlerpage.cpp b/handlers/handlerpage.cpp index 43dfe41..60d14ee 100644 --- a/handlers/handlerpage.cpp +++ b/handlers/handlerpage.cpp @@ -87,6 +87,7 @@ void HandlerPage::setPageVars(TemplatePage &page, std::string pagename) page.setVar("headerlinks", headerlinks); page.setVar("page", pagename); + page.setVar("title", createPageTitle(pagename)); } diff --git a/handlers/handlerpagedelete.cpp b/handlers/handlerpagedelete.cpp index dcf44b8..b4f1289 100644 --- a/handlers/handlerpagedelete.cpp +++ b/handlers/handlerpagedelete.cpp @@ -52,6 +52,7 @@ Response HandlerPageDelete::handleRequest(PageDao &pageDao, std::string pagename TemplatePage delPage = this->templ->getPage("page_deletion"); delPage.setVar("deletionurl", this->urlProvider->pageDelete(pagename)); setPageVars(delPage, pagename); + delPage.setVar("title", createPageTitle("Delete:" + pagename)); Response r; r.setBody(delPage.render()); return r; diff --git a/handlers/handlerpageedit.cpp b/handlers/handlerpageedit.cpp index 07b7b07..3d41420 100644 --- a/handlers/handlerpageedit.cpp +++ b/handlers/handlerpageedit.cpp @@ -117,6 +117,7 @@ Response HandlerPageEdit::handleRequest(PageDao &pageDao, std::string pagename, templatePage.setVar("preview_content", parser.parse(pageDao, *this->urlProvider, newContent) ); templatePage.setVar("content", newContent); setPageVars(templatePage, pagename); + templatePage.setVar("title", createPageTitle("Preview: "+ pagename)); Response response; response.setBody(templatePage.render()); @@ -129,6 +130,7 @@ Response HandlerPageEdit::handleRequest(PageDao &pageDao, std::string pagename, templatePage.setVar("actionurl", urlProvider->editPage(pagename)); templatePage.setVar("content", body); setPageVars(templatePage, pagename); + templatePage.setVar("title", createPageTitle("Edit: "+ pagename)); Response response; response.setBody(templatePage.render()); return response; diff --git a/handlers/handlersearch.cpp b/handlers/handlersearch.cpp index 2529695..950c1cc 100644 --- a/handlers/handlersearch.cpp +++ b/handlers/handlersearch.cpp @@ -49,6 +49,7 @@ Response HandlerSearch::handleRequest(const Request &r) searchPage.setVar("pagelist", body); searchPage.setVar("searchterm", q); setGeneralVars(searchPage); + searchPage.setVar("title", createPageTitle("Search")); response.setBody(searchPage.render()); response.setStatus(200); return response;