Commit 1f9d3ad6 authored by Liang Ding's avatar Liang Ding

#12644

parent d6e0746f
...@@ -156,10 +156,7 @@ public class ArticleProcessor { ...@@ -156,10 +156,7 @@ public class ArticleProcessor {
return; return;
} }
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(); final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(context, "article-pwd.ftl");
context.setRenderer(renderer);
renderer.setTemplateName("article-pwd.ftl");
final Map<String, Object> dataModel = renderer.getDataModel(); final Map<String, Object> dataModel = renderer.getDataModel();
dataModel.put("articleId", articleId); dataModel.put("articleId", articleId);
dataModel.put("articlePermalink", article.optString(Article.ARTICLE_PERMALINK)); dataModel.put("articlePermalink", article.optString(Article.ARTICLE_PERMALINK));
......
...@@ -193,11 +193,9 @@ public class IndexProcessor { ...@@ -193,11 +193,9 @@ public class IndexProcessor {
return; return;
} }
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(); final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(context, "start.ftl");
final Map<String, Object> dataModel = renderer.getDataModel(); final Map<String, Object> dataModel = renderer.getDataModel();
final HttpServletRequest request = context.getRequest(); final HttpServletRequest request = context.getRequest();
renderer.setTemplateName("start.ftl");
context.setRenderer(renderer);
final Map<String, String> langs = langPropsService.getAll(Locales.getLocale(request)); final Map<String, String> langs = langPropsService.getAll(Locales.getLocale(request));
dataModel.putAll(langs); dataModel.putAll(langs);
dataModel.put(Common.VERSION, SoloServletListener.VERSION); dataModel.put(Common.VERSION, SoloServletListener.VERSION);
......
...@@ -125,10 +125,8 @@ public class AdminConsole { ...@@ -125,10 +125,8 @@ public class AdminConsole {
* @param context the specified context * @param context the specified context
*/ */
public void showAdminIndex(final RequestContext context) { public void showAdminIndex(final RequestContext context) {
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer();
context.setRenderer(renderer);
final String templateName = "admin-index.ftl"; final String templateName = "admin-index.ftl";
renderer.setTemplateName(templateName); final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(context, templateName);
final Map<String, String> langs = langPropsService.getAll(Latkes.getLocale()); final Map<String, String> langs = langPropsService.getAll(Latkes.getLocale());
final Map<String, Object> dataModel = renderer.getDataModel(); final Map<String, Object> dataModel = renderer.getDataModel();
dataModel.putAll(langs); dataModel.putAll(langs);
...@@ -175,13 +173,9 @@ public class AdminConsole { ...@@ -175,13 +173,9 @@ public class AdminConsole {
* @param context the specified context * @param context the specified context
*/ */
public void showAdminFunctions(final RequestContext context) { public void showAdminFunctions(final RequestContext context) {
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer();
context.setRenderer(renderer);
final String requestURI = context.requestURI(); final String requestURI = context.requestURI();
final String templateName = StringUtils.substringBetween(requestURI, Latkes.getContextPath() + '/', ".") + ".ftl"; final String templateName = StringUtils.substringBetween(requestURI, Latkes.getContextPath() + '/', ".") + ".ftl";
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(context, templateName);
LOGGER.log(Level.TRACE, "Admin function[templateName={0}]", templateName);
renderer.setTemplateName(templateName);
final Locale locale = Latkes.getLocale(); final Locale locale = Latkes.getLocale();
final Map<String, String> langs = langPropsService.getAll(locale); final Map<String, String> langs = langPropsService.getAll(locale);
...@@ -202,10 +196,8 @@ public class AdminConsole { ...@@ -202,10 +196,8 @@ public class AdminConsole {
* @param context the specified context * @param context the specified context
*/ */
public void showAdminPreferenceFunction(final RequestContext context) { public void showAdminPreferenceFunction(final RequestContext context) {
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer();
context.setRenderer(renderer);
final String templateName = "admin-preference.ftl"; final String templateName = "admin-preference.ftl";
renderer.setTemplateName(templateName); final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(context, templateName);
final Locale locale = Latkes.getLocale(); final Locale locale = Latkes.getLocale();
final Map<String, String> langs = langPropsService.getAll(locale); final Map<String, String> langs = langPropsService.getAll(locale);
......
...@@ -23,14 +23,31 @@ import org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer; ...@@ -23,14 +23,31 @@ import org.b3log.latke.servlet.renderer.AbstractFreeMarkerRenderer;
import org.b3log.solo.util.Skins; import org.b3log.solo.util.Skins;
/** /**
* <a href="http://freemarker.org">FreeMarker</a> HTTP response renderer for administrator console and initialization rendering. * <a href="http://freemarker.org">FreeMarker</a> HTTP response renderer for administrator console.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.5, Sep 26, 2018 * @version 1.0.1.6, Feb 7, 2019
* @since 0.4.1 * @since 0.4.1
*/ */
public final class ConsoleRenderer extends AbstractFreeMarkerRenderer { public final class ConsoleRenderer extends AbstractFreeMarkerRenderer {
/**
* HTTP servlet request context.
*/
private final RequestContext context;
/**
* Constructs a skin renderer with the specified request context and template name.
*
* @param context the specified request context
* @param templateName the specified template name
*/
public ConsoleRenderer(final RequestContext context, final String templateName) {
this.context = context;
this.context.setRenderer(this);
setTemplateName("admin/" + templateName);
}
@Override @Override
protected Template getTemplate() { protected Template getTemplate() {
return Skins.getTemplate(getTemplateName()); return Skins.getTemplate(getTemplateName());
......
...@@ -152,9 +152,7 @@ public class PluginConsole { ...@@ -152,9 +152,7 @@ public class PluginConsole {
* @param context the specified http request context * @param context the specified http request context
*/ */
public void toSetting(final RequestContext context) { public void toSetting(final RequestContext context) {
final ConsoleRenderer renderer = new ConsoleRenderer(); final ConsoleRenderer renderer = new ConsoleRenderer(context, "admin-plugin-setting.ftl");
context.setRenderer(renderer);
renderer.setTemplateName("admin-plugin-setting.ftl");
final Map<String, Object> dataModel = renderer.getDataModel(); final Map<String, Object> dataModel = renderer.getDataModel();
try { try {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<title>${adminConsoleLabel} - ${blogTitle}</title> <title>${adminConsoleLabel} - ${blogTitle}</title>
<link type="text/css" rel="stylesheet" href="${staticServePath}/css/default-base${miniPostfix}.css?${staticResourceVersion}" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/css/default-base${miniPostfix}.css?${staticResourceVersion}" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/css/default-admin${miniPostfix}.css?${staticResourceVersion}" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/css/default-admin${miniPostfix}.css?${staticResourceVersion}" />
<link type="text/css" rel="stylesheet" href="https://vditor.b3log.org/0.1.3/index.classic.css" /> <link type="text/css" rel="stylesheet" href="https://vditor.b3log.org/0.1.5/index.classic.css" />
<link type="text/css" rel="stylesheet" href="${staticServePath}/js/lib/highlight-9.13.1/styles/github.css?${staticResourceVersion}" /> <link type="text/css" rel="stylesheet" href="${staticServePath}/js/lib/highlight-9.13.1/styles/github.css?${staticResourceVersion}" />
<link rel="icon" type="image/png" href="${staticServePath}/favicon.png" /> <link rel="icon" type="image/png" href="${staticServePath}/favicon.png" />
<link rel="manifest" href="${servePath}/manifest.json"> <link rel="manifest" href="${servePath}/manifest.json">
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
</div> </div>
</div> </div>
<script src="${staticServePath}/js/lib/compress/admin-lib.min.js"></script> <script src="${staticServePath}/js/lib/compress/admin-lib.min.js"></script>
<script src="http://vditor.b3log.org/0.1.3/index.min.js"></script> <script src="http://vditor.b3log.org/0.1.5/index.min.js"></script>
<script src="${staticServePath}/js/common${miniPostfix}.js"></script> <script src="${staticServePath}/js/common${miniPostfix}.js"></script>
<#if "" == miniPostfix> <#if "" == miniPostfix>
<script src="${staticServePath}/js/admin/admin.js"></script> <script src="${staticServePath}/js/admin/admin.js"></script>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
--> -->
<#include "macro-common-page.ftl"> <#include "../macro-common-page.ftl">
<@commonPage "${articleViewPwdLabel}"> <@commonPage "${articleViewPwdLabel}">
<h2> <h2>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment