@Override public void run() { CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); try { resultMap.put(path, templateComponent.printPlace(site, path, metadata)); } catch (IOException | TemplateException e) { resultMap.put(path, e.getMessage()); } synchronized (resultMap) { if (resultMap.size() >= count) { try { handler.put("map", resultMap).render(); } catch (Exception e) { log.error(e.getMessage()); } } } } }
@Override public void run() { CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); try { resultMap.put(path, templateComponent.printPlace(site, path, metadata)); } catch (IOException | TemplateException e) { resultMap.put(path, e.getMessage()); } synchronized (resultMap) { if (resultMap.size() >= count) { try { handler.put("map", resultMap).render(); } catch (Exception e) { log.error(e.getMessage()); } } } } }
private Map<String, Boolean> dealDir(SysSite site, String path) { path = path.replace("\\", CommonConstants.SEPARATOR).replace("//", CommonConstants.SEPARATOR); Map<String, Boolean> map = new LinkedHashMap<>(); String realPath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + path); List<FileInfo> list = fileComponent.getFileList(realPath, null); for (FileInfo fileInfo : list) { String filePath = path + fileInfo.getFileName(); if (fileInfo.isDirectory()) { map.putAll(dealDir(site, filePath + CommonConstants.SEPARATOR)); } else { try { CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + filePath)); templateComponent.staticPlace(site, filePath, metadata); map.put(filePath, true); } catch (IOException | TemplateException e) { map.put(filePath, false); } } } return map; }
private Map<String, Boolean> dealDir(SysSite site, String path) { path = path.replace("\\", CommonConstants.SEPARATOR).replace("//", CommonConstants.SEPARATOR); Map<String, Boolean> map = new LinkedHashMap<>(); String realPath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + path); List<FileInfo> list = fileComponent.getFileList(realPath, null); for (FileInfo fileInfo : list) { String filePath = path + fileInfo.getFileName(); if (fileInfo.isDirectory()) { map.putAll(dealDir(site, filePath + CommonConstants.SEPARATOR)); } else { try { CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + filePath)); templateComponent.staticPlace(site, filePath, metadata); map.put(filePath, true); } catch (IOException | TemplateException e) { map.put(filePath, false); } } } return map; }
@Override public void execute(RenderHandler handler) throws IOException, Exception { String path = handler.getString("path"); if (CommonUtils.notEmpty(path) && !path.endsWith(CommonConstants.SEPARATOR)) { handler.put("object", metadataComponent.getPlaceMetadata( siteComponent.getWebTemplateFilePath(getSite(handler), TemplateComponent.INCLUDE_DIRECTORY + path))) .render(); } }
@Override public void execute(RenderHandler handler) throws IOException, Exception { String path = handler.getString("path"); if (CommonUtils.notEmpty(path) && !path.endsWith(CommonConstants.SEPARATOR)) { handler.put("object", metadataComponent.getPlaceMetadata( siteComponent.getWebTemplateFilePath(getSite(handler), TemplateComponent.INCLUDE_DIRECTORY + path))) .render(); } }
SysSite site = getSite(handler); CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); if (site.isUseSsi()) { handler.print(new StringBuilder("<!--#include virtual=\"/").append(TemplateComponent.INCLUDE_DIRECTORY).append(path).append("\"-->")
SysSite site = getSite(handler); CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); if (site.isUseSsi()) { handler.print(new StringBuilder("<!--#include virtual=\"/").append(TemplateComponent.INCLUDE_DIRECTORY).append(path).append("\"-->")
@Override public void execute(RenderHandler handler) throws IOException, Exception { String path = handler.getString("path", CommonConstants.SEPARATOR); SysSite site = getSite(handler); if (site.isUseSsi()) { String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + path); if (fileComponent.isFile(filePath)) { Map<String, Boolean> map = new LinkedHashMap<>(); try { CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); templateComponent.staticPlace(site, path, metadata); map.put(path, true); } catch (IOException | TemplateException e) { map.put(path, false); } handler.put("map", map).render(); } else if (fileComponent.isDirectory(filePath)) { handler.put("map", dealDir(site, path)).render(); } } }
@Override public void execute(RenderHandler handler) throws IOException, Exception { String path = handler.getString("path", CommonConstants.SEPARATOR); SysSite site = getSite(handler); if (site.isUseSsi()) { String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + CommonConstants.SEPARATOR + path); if (fileComponent.isFile(filePath)) { Map<String, Boolean> map = new LinkedHashMap<>(); try { CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); templateComponent.staticPlace(site, path, metadata); map.put(path, true); } catch (IOException | TemplateException e) { map.put(path, false); } handler.put("map", map).render(); } else if (fileComponent.isDirectory(filePath)) { handler.put("map", dealDir(site, path)).render(); } } }
/** * @param path * @param _csrf * @param request * @param session * @param model * @return view name */ @RequestMapping("publishPlace") public String publishPlace(String path, String _csrf, HttpServletRequest request, HttpSession session, ModelMap model) { if (ControllerUtils.verifyNotEquals("_csrf", ControllerUtils.getAdminToken(request), _csrf, model)) { return CommonConstants.TEMPLATE_ERROR; } try { SysSite site = getSite(request); if (CommonUtils.notEmpty(path) && site.isUseSsi()) { CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); templateComponent.staticPlace(site, path, metadata); logOperateService.save(new LogOperate(site.getId(), ControllerUtils.getAdminFromSession(session).getId(), LogLoginService.CHANNEL_WEB_MANAGER, "static", RequestUtils.getIpAddress(request), CommonUtils.getDate(), path)); } return CommonConstants.TEMPLATE_DONE; } catch (IOException | TemplateException e) { model.addAttribute(CommonConstants.ERROR, e.getMessage()); log.error(e.getMessage(), e); return CommonConstants.TEMPLATE_ERROR; } }
/** * @param path * @param _csrf * @param request * @param session * @param model * @return view name */ @RequestMapping("publishPlace") public String publishPlace(String path, String _csrf, HttpServletRequest request, HttpSession session, ModelMap model) { if (ControllerUtils.verifyNotEquals("_csrf", ControllerUtils.getAdminToken(request), _csrf, model)) { return CommonConstants.TEMPLATE_ERROR; } try { SysSite site = getSite(request); if (CommonUtils.notEmpty(path) && site.isUseSsi()) { CmsPlaceMetadata metadata = metadataComponent .getPlaceMetadata(siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + path)); templateComponent.staticPlace(site, path, metadata); logOperateService.save(new LogOperate(site.getId(), ControllerUtils.getAdminFromSession(session).getId(), LogLoginService.CHANNEL_WEB_MANAGER, "static", RequestUtils.getIpAddress(request), CommonUtils.getDate(), path)); } return CommonConstants.TEMPLATE_DONE; } catch (IOException | TemplateException e) { model.addAttribute(CommonConstants.ERROR, e.getMessage()); log.error(e.getMessage(), e); return CommonConstants.TEMPLATE_ERROR; } }
SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds())
/** * @param id * @param returnUrl * @param request * @param session * @param model * @return view name */ @RequestMapping("delete") public String delete(Long id, String returnUrl, HttpServletRequest request, HttpSession session, ModelMap model) { SysSite site = getSite(request); if (isUnSafeUrl(returnUrl, site, request)) { returnUrl = site.getDynamicPath(); } CmsPlace entity = service.getEntity(id); SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds()) || !ArrayUtils.contains(metadata.getAdminIds(), user.getId()), model) || ControllerUtils.verifyNotEquals("siteId", site.getId(), entity.getSiteId(), model)) { return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } else { service.delete(id); logOperateService.save(new LogOperate(site.getId(), user.getId(), LogLoginService.CHANNEL_WEB, "delete.place", RequestUtils.getIpAddress(request), CommonUtils.getDate(), id.toString())); return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } }
/** * @param id * @param returnUrl * @param request * @param session * @param model * @return view name */ @RequestMapping("uncheck") public String uncheck(Long id, String returnUrl, HttpServletRequest request, HttpSession session, ModelMap model) { SysSite site = getSite(request); if (isUnSafeUrl(returnUrl, site, request)) { returnUrl = site.getDynamicPath(); } CmsPlace entity = service.getEntity(id); SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds()) || !ArrayUtils.contains(metadata.getAdminIds(), user.getId()), model) || ControllerUtils.verifyNotEquals("siteId", site.getId(), entity.getSiteId(), model)) { return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } else { service.uncheck(id); logOperateService.save(new LogOperate(site.getId(), user.getId(), LogLoginService.CHANNEL_WEB, "check.place", RequestUtils.getIpAddress(request), CommonUtils.getDate(), id.toString())); return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } }
/** * @param id * @param returnUrl * @param request * @param session * @param model * @return view name */ @RequestMapping("uncheck") public String uncheck(Long id, String returnUrl, HttpServletRequest request, HttpSession session, ModelMap model) { SysSite site = getSite(request); if (isUnSafeUrl(returnUrl, site, request)) { returnUrl = site.getDynamicPath(); } CmsPlace entity = service.getEntity(id); SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds()) || !ArrayUtils.contains(metadata.getAdminIds(), user.getId()), model) || ControllerUtils.verifyNotEquals("siteId", site.getId(), entity.getSiteId(), model)) { return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } else { service.uncheck(id); logOperateService.save(new LogOperate(site.getId(), user.getId(), LogLoginService.CHANNEL_WEB, "check.place", RequestUtils.getIpAddress(request), CommonUtils.getDate(), id.toString())); return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } }
/** * @param id * @param returnUrl * @param request * @param session * @param model * @return view name */ @RequestMapping("delete") public String delete(Long id, String returnUrl, HttpServletRequest request, HttpSession session, ModelMap model) { SysSite site = getSite(request); if (isUnSafeUrl(returnUrl, site, request)) { returnUrl = site.getDynamicPath(); } CmsPlace entity = service.getEntity(id); SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds()) || !ArrayUtils.contains(metadata.getAdminIds(), user.getId()), model) || ControllerUtils.verifyNotEquals("siteId", site.getId(), entity.getSiteId(), model)) { return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } else { service.delete(id); logOperateService.save(new LogOperate(site.getId(), user.getId(), LogLoginService.CHANNEL_WEB, "delete.place", RequestUtils.getIpAddress(request), CommonUtils.getDate(), id.toString())); return UrlBasedViewResolver.REDIRECT_URL_PREFIX + returnUrl; } }
SysUser user = ControllerUtils.getUserFromSession(session); String filePath = siteComponent.getWebTemplateFilePath(site, TemplateComponent.INCLUDE_DIRECTORY + entity.getPath()); CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); if (ControllerUtils.verifyCustom("manage", null == entity || null == user || CommonUtils.empty(metadata.getAdminIds())
CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); templateComponent.staticPlace(site, path, metadata);
CmsPlaceMetadata metadata = metadataComponent.getPlaceMetadata(filePath); templateComponent.staticPlace(site, path, metadata);