List of usage examples for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR
String FRIENDLY_URL_SEPARATOR
To view the source code for com.liferay.portal.kernel.util Portal FRIENDLY_URL_SEPARATOR.
Click Source Link
From source file:com.liferay.asset.publisher.web.util.AssetRSSUtil.java
License:Open Source License
protected static String getAssetPublisherURL(PortletRequest portletRequest) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); StringBundler sb = new StringBundler(6); String layoutFriendlyURL = GetterUtil.getString(PortalUtil.getLayoutFriendlyURL(layout, themeDisplay)); if (!layoutFriendlyURL.startsWith(Http.HTTP_WITH_SLASH) && !layoutFriendlyURL.startsWith(Http.HTTPS_WITH_SLASH)) { sb.append(themeDisplay.getPortalURL()); }//ww w. j a va2 s . com sb.append(layoutFriendlyURL); sb.append(Portal.FRIENDLY_URL_SEPARATOR); sb.append("asset_publisher/"); sb.append(portletDisplay.getInstanceId()); sb.append(StringPool.SLASH); return sb.toString(); }
From source file:com.liferay.blogs.internal.util.PingbackMethodImpl.java
License:Open Source License
protected ServiceContext buildServiceContext(long companyId, long groupId, String urlTitle) throws Exception { ServiceContext serviceContext = new ServiceContext(); String pingbackUserName = LanguageUtil.get(LocaleUtil.getSiteDefault(), "pingback"); serviceContext.setAttribute("pingbackUserName", pingbackUserName); StringBundler sb = new StringBundler(5); String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.VIEW); if (Validator.isNull(portletId)) { return serviceContext; }//from w w w. j ava2 s.c o m String layoutFullURL = PortalUtil.getLayoutFullURL(groupId, portletId); sb.append(layoutFullURL); sb.append(Portal.FRIENDLY_URL_SEPARATOR); Portlet portlet = _portletLocalService.getPortletById(companyId, portletId); sb.append(portlet.getFriendlyURLMapping()); sb.append(StringPool.SLASH); sb.append(urlTitle); serviceContext.setAttribute("redirect", sb.toString()); serviceContext.setLayoutFullURL(layoutFullURL); return serviceContext; }
From source file:com.liferay.blogs.internal.util.PingbackMethodImpl.java
License:Open Source License
protected BlogsEntry getBlogsEntry(long companyId) throws Exception { BlogsEntry entry = null;/*from ww w. ja v a2s . c o m*/ URL url = new URL(_targetURI); String friendlyURL = url.getPath(); int end = friendlyURL.indexOf(Portal.FRIENDLY_URL_SEPARATOR); if (end != -1) { friendlyURL = friendlyURL.substring(0, end); } long plid = PortalUtil.getPlidFromFriendlyURL(companyId, friendlyURL); long groupId = PortalUtil.getScopeGroupId(plid); Map<String, String[]> params = new HashMap<>(); FriendlyURLMapperThreadLocal.setPRPIdentifiers(new HashMap<String, String>()); String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.VIEW); Portlet portlet = _portletLocalService.getPortletById(portletId); FriendlyURLMapper friendlyURLMapper = portlet.getFriendlyURLMapperInstance(); friendlyURL = url.getPath(); end = friendlyURL.indexOf(Portal.FRIENDLY_URL_SEPARATOR); if (end != -1) { friendlyURL = friendlyURL.substring(end + Portal.FRIENDLY_URL_SEPARATOR.length() - 1); } Map<String, Object> requestContext = new HashMap<>(); friendlyURLMapper.populateParams(friendlyURL, params, requestContext); String param = getParam(params, "entryId"); if (Validator.isNotNull(param)) { long entryId = GetterUtil.getLong(param); entry = _blogsEntryLocalService.getEntry(entryId); } else { String urlTitle = getParam(params, "urlTitle"); entry = _blogsEntryLocalService.getEntry(groupId, urlTitle); } return entry; }
From source file:com.liferay.blogs.internal.verify.VerifyBlogsTrackbacks.java
License:Open Source License
private void _verifyPost(BlogsEntry entry, MBMessage mbMessage) throws PortalException { String entryURL = Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle(); String body = mbMessage.getBody(); String url = null;/*from www .j a v a 2 s . c om*/ int start = body.indexOf("[url="); if (start > -1) { start += "[url=".length(); int end = body.indexOf("]", start); if (end > -1) { url = body.substring(start, end); } } if (Validator.isNotNull(url)) { long defaultUserId = _userLocalService.getDefaultUserId(mbMessage.getCompanyId()); if (mbMessage.getUserId() == defaultUserId) { _linkbackConsumer.verifyTrackback(mbMessage.getMessageId(), url, entryURL); } } }
From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java
License:Open Source License
protected String getEntryURL(BlogsEntry entry, ServiceContext serviceContext) throws PortalException { String entryURL = GetterUtil.getString(serviceContext.getAttribute("entryURL")); if (Validator.isNotNull(entryURL)) { return entryURL; }/*from ww w .j a v a2 s. c o m*/ HttpServletRequest request = serviceContext.getRequest(); if (request == null) { return StringPool.BLANK; } String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.VIEW); if (Validator.isNotNull(portletId)) { String layoutURL = LayoutURLUtil.getLayoutURL(entry.getGroupId(), portletId, serviceContext); if (Validator.isNotNull(layoutURL)) { return layoutURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs" + StringPool.SLASH + entry.getEntryId(); } } portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.MANAGE); if (Validator.isNull(portletId)) { return StringPool.BLANK; } PortletURL portletURL = PortalUtil.getControlPanelPortletURL(request, portletId, PortletRequest.RENDER_PHASE); portletURL.setParameter("mvcRenderCommandName", "/blogs/view_entry"); portletURL.setParameter("entryId", String.valueOf(entry.getEntryId())); return portletURL.toString(); }
From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java
License:Open Source License
protected void pingGoogle(BlogsEntry entry, ServiceContext serviceContext) throws PortalException { if (!PropsValues.BLOGS_PING_GOOGLE_ENABLED || !entry.isApproved()) { return;/*from www.j a v a 2 s.com*/ } String portletId = PortletProviderUtil.getPortletId(BlogsEntry.class.getName(), PortletProvider.Action.MANAGE); if (Validator.isNull(portletId)) { if (_log.isDebugEnabled()) { _log.debug("Not pinging Google because there is no blogs portlet " + "provider"); } return; } String layoutFullURL = PortalUtil.getLayoutFullURL(serviceContext.getScopeGroupId(), portletId); if (Validator.isNull(layoutFullURL)) { return; } if (layoutFullURL.contains("://localhost")) { if (_log.isDebugEnabled()) { _log.debug("Not pinging Google because of localhost URL " + layoutFullURL); } return; } Group group = groupPersistence.findByPrimaryKey(entry.getGroupId()); StringBundler sb = new StringBundler(6); String name = group.getDescriptiveName(); String url = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs"; String changesURL = serviceContext.getPathMain() + "/blogs/rss"; sb.append("http://blogsearch.google.com/ping?name="); sb.append(HttpUtil.encodeURL(name)); sb.append("&url="); sb.append(HttpUtil.encodeURL(url)); sb.append("&changesURL="); sb.append(HttpUtil.encodeURL(changesURL)); String location = sb.toString(); if (_log.isInfoEnabled()) { _log.info("Pinging Google at " + location); } try { String response = HttpUtil.URLtoString(sb.toString()); if (_log.isInfoEnabled()) { _log.info("Google ping response: " + response); } } catch (IOException ioe) { _log.error("Unable to ping Google at " + location, ioe); } }
From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java
License:Open Source License
protected void pingPingback(BlogsEntry entry, ServiceContext serviceContext) throws PortalException { if (!PropsValues.BLOGS_PINGBACK_ENABLED || !entry.isAllowPingbacks() || !entry.isApproved()) { return;/*w w w . j a v a 2s . c o m*/ } HttpServletRequest request = serviceContext.getRequest(); if (request == null) { return; } ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); String layoutFullURL = PortalUtil.getLayoutFullURL(themeDisplay); if (Validator.isNull(layoutFullURL)) { return; } String sourceUri = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle(); Source source = new Source(entry.getContent()); List<StartTag> tags = source.getAllStartTags("a"); for (StartTag tag : tags) { String targetUri = tag.getAttributeValue("href"); if (Validator.isNotNull(targetUri)) { try { LinkbackProducerUtil.sendPingback(sourceUri, targetUri); } catch (Exception e) { _log.error("Error while sending pingback " + targetUri, e); } } } }
From source file:com.liferay.blogs.service.impl.BlogsEntryLocalServiceImpl.java
License:Open Source License
protected void pingTrackbacks(BlogsEntry entry, String[] trackbacks, boolean pingOldTrackbacks, ServiceContext serviceContext) throws PortalException { if (!PropsValues.BLOGS_TRACKBACK_ENABLED || !entry.isAllowTrackbacks() || !entry.isApproved()) { return;/*from ww w . ja v a 2 s . com*/ } HttpServletRequest request = serviceContext.getRequest(); if (request == null) { return; } ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); String layoutFullURL = PortalUtil.getLayoutFullURL(themeDisplay); if (Validator.isNull(layoutFullURL)) { return; } Map<String, String> parts = new HashMap<>(); String excerpt = StringUtil.shorten(HtmlUtil.extractText(entry.getContent()), PropsValues.BLOGS_LINKBACK_EXCERPT_LENGTH); String url = layoutFullURL + Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle(); parts.put("title", entry.getTitle()); parts.put("excerpt", excerpt); parts.put("url", url); parts.put("blog_name", entry.getUserName()); Set<String> trackbacksSet = null; if (ArrayUtil.isNotEmpty(trackbacks)) { trackbacksSet = SetUtil.fromArray(trackbacks); } else { trackbacksSet = new HashSet<>(); } if (pingOldTrackbacks) { trackbacksSet.addAll(SetUtil.fromArray(StringUtil.split(entry.getTrackbacks()))); entry.setTrackbacks(StringPool.BLANK); blogsEntryPersistence.update(entry); } Set<String> oldTrackbacks = SetUtil.fromArray(StringUtil.split(entry.getTrackbacks())); Set<String> validTrackbacks = new HashSet<>(); for (String trackback : trackbacksSet) { if (oldTrackbacks.contains(trackback)) { continue; } try { if (LinkbackProducerUtil.sendTrackback(trackback, parts)) { validTrackbacks.add(trackback); } } catch (Exception e) { _log.error("Error while sending trackback at " + trackback, e); } } if (!validTrackbacks.isEmpty()) { String newTrackbacks = StringUtil.merge(validTrackbacks); if (Validator.isNotNull(entry.getTrackbacks())) { newTrackbacks += StringPool.COMMA + entry.getTrackbacks(); } entry.setTrackbacks(newTrackbacks); blogsEntryPersistence.update(entry); } }
From source file:com.liferay.blogs.verify.VerifyBlogsTrackbacks.java
License:Open Source License
private void _verifyPost(BlogsEntry entry, MBMessage mbMessage) throws PortalException { String entryURL = Portal.FRIENDLY_URL_SEPARATOR + "blogs/" + entry.getUrlTitle(); String body = mbMessage.getBody(); String url = null;//ww w . ja v a2 s . c o m int start = body.indexOf("[url="); if (start > -1) { start += "[url=".length(); int end = body.indexOf("]", start); if (end > -1) { url = body.substring(start, end); } } if (Validator.isNotNull(url)) { long defaultUserId = _userLocalService.getDefaultUserId(mbMessage.getCompanyId()); if (mbMessage.getUserId() == defaultUserId) { LinkbackConsumerUtil.verifyTrackback(mbMessage.getMessageId(), url, entryURL); } } }
From source file:com.liferay.blogs.web.internal.trackback.Trackback.java
License:Open Source License
protected String buildEntryURL(BlogsEntry entry, ThemeDisplay themeDisplay) throws PortalException { StringBundler sb = new StringBundler(4); sb.append(_portal.getLayoutFullURL(themeDisplay)); sb.append(Portal.FRIENDLY_URL_SEPARATOR); sb.append("blogs/"); sb.append(entry.getUrlTitle());/*from w w w . j av a 2 s . c o m*/ return sb.toString(); }