Example usage for com.liferay.portal.kernel.util HtmlUtil escapeAttribute

List of usage examples for com.liferay.portal.kernel.util HtmlUtil escapeAttribute

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util HtmlUtil escapeAttribute.

Prototype

public static String escapeAttribute(String attribute) 

Source Link

Document

Escapes the attribute value so that it is safe to use as an attribute value.

Usage

From source file:com.liferay.adaptive.media.image.taglib.servlet.taglib.AMImageImgTag.java

License:Open Source License

private String _getFallbackTag() throws PortalException {
    Map<String, Object> dynamicAttributes = getDynamicAttributes();

    StringBundler sb = new StringBundler(4 + (4 * dynamicAttributes.size()));

    sb.append("<img ");

    for (Map.Entry<String, Object> entry : dynamicAttributes.entrySet()) {
        sb.append(entry.getKey());/*  w w w  .j  a  v a 2  s. c o  m*/
        sb.append("=\"");

        Object value = entry.getValue();

        sb.append(HtmlUtil.escapeAttribute(value.toString()));

        sb.append("\" ");
    }

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

    String downloadURL = DLUtil.getPreviewURL(_fileVersion.getFileEntry(), _fileVersion, themeDisplay,
            StringPool.BLANK);

    sb.append("src=\"");
    sb.append(downloadURL);
    sb.append("\" />");

    return sb.toString();
}

From source file:com.liferay.content.targeting.portlet.ContentTargetingPortlet.java

License:Open Source License

protected void populateViewContext(String path, PortletRequest portletRequest, PortletResponse portletResponse,
        Template template, TemplateHashModel staticModels) throws Exception {

    HttpServletRequest request = PortalUtil.getHttpServletRequest(portletRequest);

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    if (Validator.isNull(path) || path.equals(ContentTargetingPath.VIEW)
            || path.equals(ContentTargetingPath.VIEW_CAMPAIGNS_RESOURCES)
            || path.equals(ContentTargetingPath.VIEW_USER_SEGMENTS_RESOURCES)) {

        template.put("actionKeys", staticModels.get(ActionKeys.class.getName()));
        template.put("campaignPermission", staticModels.get(CampaignPermission.class.getName()));
        template.put("contentTargetingPermission",
                staticModels.get(ContentTargetingPermission.class.getName()));
        template.put("userSegmentPermission", staticModels.get(UserSegmentPermission.class.getName()));

        PermissionChecker permissionChecker = (PermissionChecker) template.get("permissionChecker");

        long scopeGroupId = (Long) template.get("scopeGroupId");

        if (UserSegmentPermission.contains(permissionChecker, scopeGroupId, scopeGroupId, ActionKeys.DELETE)) {

            template.put("userSegmentsRowChecker", new RowChecker(portletResponse));
        }//from  ww  w.  j  a v a  2 s. co m

        if (CampaignPermission.contains(permissionChecker, scopeGroupId, scopeGroupId, ActionKeys.DELETE)) {

            template.put("campaignsRowChecker", new RowChecker(portletResponse));
        }

        String keywords = ParamUtil.getString(portletRequest, "keywords");

        template.put("campaignSearchContainerIterator",
                new CampaignSearchContainerIterator(scopeGroupId, keywords));
        template.put("userSegmentSearchContainerIterator",
                new UserSegmentSearchContainerIterator(scopeGroupId, keywords));
    } else if (path.equals(ContentTargetingPath.EDIT_CAMPAIGN)) {
        long campaignId = ParamUtil.getLong(portletRequest, "campaignId");

        template.put("campaignId", campaignId);

        int priority = 1;
        long userSegmentId = -1;

        Calendar endDate = Calendar.getInstance();
        Calendar startDate = Calendar.getInstance();

        if (campaignId > 0) {
            Campaign campaign = _campaignLocalService.getCampaign(campaignId);

            template.put("campaign", campaign);

            List<UserSegment> campaignUserSegments = _userSegmentLocalService
                    .getCampaignUserSegments(campaignId);

            priority = campaign.getPriority();

            // Initially, only one user segment per campaign is supported

            if ((campaignUserSegments != null) && !campaignUserSegments.isEmpty()) {

                UserSegment campaignUserSegment = campaignUserSegments.get(0);

                userSegmentId = campaignUserSegment.getUserSegmentId();
            }

            endDate.setTime(campaign.getEndDate());
            startDate.setTime(campaign.getStartDate());
        } else {
            Date now = new Date();

            endDate.setTime(now);
            endDate.add(Calendar.DATE, 1);

            startDate.setTime(now);
        }

        template.put("endDate", endDate);
        template.put("priority", priority);
        template.put("startDate", startDate);
        template.put("userSegmentId", userSegmentId);

        long[] groupIds = ContentTargetingUtil.getAncestorsAndCurrentGroupIds(themeDisplay.getScopeGroupId());

        List<UserSegment> userSegments = _userSegmentService.getUserSegments(groupIds);

        template.put("userSegments", userSegments);

        template.put("trackingActionsRegistry", _trackingActionsRegistry);

        Map<String, TrackingAction> trackingActions = _trackingActionsRegistry.getTrackingActions();

        boolean isolated = themeDisplay.isIsolated();

        try {
            themeDisplay.setIsolated(true);

            template.put("trackingActions", trackingActions.values());

            List<TrackingActionInstance> trackingActionInstances = getTrackingActionsFromRequest(portletRequest,
                    portletResponse);

            if (trackingActionInstances.isEmpty() && (campaignId > 0)) {
                trackingActionInstances = _trackingActionInstanceService.getTrackingActionInstances(campaignId);
            }

            List<TrackingActionTemplate> addedTrackingActionTemplates = new ArrayList<TrackingActionTemplate>();

            if (!trackingActionInstances.isEmpty()) {
                template.put("trackingActionInstances", trackingActionInstances);

                InvalidTrackingActionsException itae = getInvalidTrackingActionsException(portletRequest);

                for (TrackingActionInstance instance : trackingActionInstances) {

                    TrackingAction trackingAction = _trackingActionsRegistry
                            .getTrackingAction(instance.getTrackingActionKey());

                    if (trackingAction == null) {
                        continue;
                    }

                    TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate();

                    if (instance.getTrackingActionInstanceId() > 0) {
                        trackingActionTemplate
                                .setInstanceId(String.valueOf(instance.getTrackingActionInstanceId()));
                    } else {
                        trackingActionTemplate.setInstanceId(instance.getTrackingActionGuid());
                    }

                    trackingActionTemplate.setTrackingAction(trackingAction);

                    String html = getTrackingActionHtml(trackingAction, instance, template,
                            instance.getValues(), itae.getExceptions(instance.getTrackingActionGuid()));

                    trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                    addedTrackingActionTemplates.add(trackingActionTemplate);
                }
            }

            template.put("addedTrackingActionTemplates", addedTrackingActionTemplates);

            List<TrackingActionTemplate> trackingActionTemplates = new ArrayList<TrackingActionTemplate>();

            for (TrackingAction trackingAction : trackingActions.values()) {
                TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate();

                trackingActionTemplate.setTrackingAction(trackingAction);

                String html = getTrackingActionHtml(trackingAction, null, template, null, null);

                trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                trackingActionTemplates.add(trackingActionTemplate);
            }

            template.put("trackingActionTemplates", trackingActionTemplates);
        } finally {
            themeDisplay.setIsolated(isolated);
        }
    } else if (path.equals(ContentTargetingPath.EDIT_USER_SEGMENT)) {
        long userSegmentId = ParamUtil.getLong(portletRequest, "userSegmentId");

        template.put("ruleCategoriesRegistry", _ruleCategoriesRegistry);
        template.put("rulesRegistry", _rulesRegistry);
        template.put("userSegmentId", userSegmentId);

        Map<String, Rule> rules = _rulesRegistry.getRules();

        boolean isolated = themeDisplay.isIsolated();

        try {
            themeDisplay.setIsolated(true);

            template.put("rules", rules.values());

            List<RuleInstance> ruleInstances = getRulesFromRequest(portletRequest, portletResponse);

            if (ruleInstances.isEmpty() && (userSegmentId > 0)) {
                ruleInstances = _ruleInstanceService.getRuleInstances(userSegmentId);
            }

            List<RuleTemplate> addedRuleTemplates = new ArrayList<RuleTemplate>();

            if (!ruleInstances.isEmpty()) {
                template.put("ruleInstances", ruleInstances);

                InvalidRulesException ire = getInvalidRulesException(portletRequest);

                for (RuleInstance ruleInstance : ruleInstances) {
                    Rule rule = _rulesRegistry.getRule(ruleInstance.getRuleKey());

                    if (rule == null) {
                        continue;
                    }

                    RuleTemplate ruleTemplate = new RuleTemplate();

                    if (ruleInstance.getRuleInstanceId() > 0) {
                        ruleTemplate.setInstanceId(String.valueOf(ruleInstance.getRuleInstanceId()));
                    } else {
                        ruleTemplate.setInstanceId(ruleInstance.getRuleGuid());
                    }

                    ruleTemplate.setRule(rule);

                    String html = getRuleHtml(rule, ruleInstance, template, ruleInstance.getValues(),
                            ire.getRuleExceptions(ruleInstance.getRuleGuid()));

                    ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                    addedRuleTemplates.add(ruleTemplate);
                }
            }

            template.put("addedRuleTemplates", addedRuleTemplates);

            if (userSegmentId > 0) {
                UserSegment userSegment = _userSegmentLocalService.getUserSegment(userSegmentId);

                template.put("userSegment", userSegment);
            }

            List<RuleTemplate> ruleTemplates = new ArrayList<RuleTemplate>();

            for (Rule rule : rules.values()) {
                RuleTemplate ruleTemplate = new RuleTemplate();

                ruleTemplate.setRule(rule);

                String html = getRuleHtml(rule, null, template, null, null);

                ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                ruleTemplates.add(ruleTemplate);
            }

            template.put("ruleTemplates", ruleTemplates);
        } finally {
            themeDisplay.setIsolated(isolated);
        }
    } else if (path.equals(ContentTargetingPath.VIEW_REPORT)
            || path.equals(ContentTargetingPath.VIEW_REPORTS)) {

        String className = ParamUtil.getString(portletRequest, "className");
        long classPK = ParamUtil.getLong(portletRequest, "classPK");

        template.put("className", className);
        template.put("classPK", classPK);
        template.put("reportInstanceService", _reportInstanceService);

        String name = StringPool.BLANK;

        if (className.equals(Campaign.class.getName())) {
            Campaign campaign = _campaignLocalService.getCampaign(classPK);

            name = campaign.getName(themeDisplay.getLocale());

            BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, campaign);
        } else if (className.equals(UserSegment.class.getName())) {
            UserSegment userSegment = _userSegmentLocalService.getUserSegment(classPK);

            name = userSegment.getName(themeDisplay.getLocale());

            BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, userSegment);
        }

        if (path.equals(ContentTargetingPath.VIEW_REPORT)) {
            template.put("name", name);

            String reportKey = ParamUtil.getString(portletRequest, "reportKey");

            Report report = _reportsRegistry.getReport(reportKey);

            template.put("report", report);
            template.put("reportHtml", report.getHTML(cloneTemplateContext(template)));

            BreadcrumbUtil.addPortletBreadcrumbEntries(request, (RenderResponse) portletResponse, report);
        }

        if (path.equals(ContentTargetingPath.VIEW_REPORTS)) {
            PortletConfig portletConfig = (PortletConfig) portletRequest
                    .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG);

            String title = LanguageUtil.format(portletConfig, themeDisplay.getLocale(), "reports-for-the-x-x",
                    new Object[] { ResourceActionsUtil.getModelResource(themeDisplay.getLocale(), className),
                            name });

            template.put("title", title);

            template.put("reportSearchContainerIterator",
                    new ReportSearchContainerIterator(themeDisplay.getScopeGroupId(), null, className));
        }
    }
}

From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java

License:Open Source License

protected void populateViewContext(String path, PortletRequest portletRequest, PortletResponse portletResponse,
        Template template, TemplateHashModel staticModels) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    if (Validator.isNull(path) || path.equals(ContentTargetingPath.VIEW)
            || path.equals(ContentTargetingPath.VIEW_CAMPAIGNS_RESOURCES)
            || path.equals(ContentTargetingPath.VIEW_USER_SEGMENTS_RESOURCES)) {

        template.put("actionKeys", staticModels.get("com.liferay.contenttargeting.util.ActionKeys"));

        template.put("campaignPermission",
                staticModels.get("com.liferay.contenttargeting.service.permission." + "CampaignPermission"));
        template.put("contentTargetingPermission", staticModels
                .get("com.liferay.contenttargeting.service.permission." + "ContentTargetingPermission"));
        template.put("userSegmentPermission",
                staticModels.get("com.liferay.contenttargeting.service.permission." + "UserSegmentPermission"));

        String keywords = ParamUtil.getString(portletRequest, "keywords");

        template.put("campaignSearchContainerIterator",
                new CampaignSearchContainerIterator(themeDisplay.getScopeGroupId(), keywords));
        template.put("userSegmentSearchContainerIterator",
                new UserSegmentSearchContainerIterator(themeDisplay.getScopeGroupId(), keywords));
        template.put("usedUserSegmentExceptionClass", UsedUserSegmentException.class);
    } else if (path.equals(ContentTargetingPath.EDIT_CAMPAIGN)
            || path.equals(ContentTargetingPath.VIEW_CAMPAIGN_REPORTS)) {

        long campaignId = ParamUtil.getLong(portletRequest, "campaignId");

        template.put("campaignId", campaignId);

        int priority = 1;
        long userSegmentId = -1;

        if (campaignId > 0) {
            Campaign campaign = _campaignLocalService.getCampaign(campaignId);

            template.put("campaign", campaign);

            List<UserSegment> campaignUserSegments = _userSegmentLocalService
                    .getCampaignUserSegments(campaignId);

            priority = campaign.getPriority();

            // Initially, only one user segment per campaign is supported

            if ((campaignUserSegments != null) && !campaignUserSegments.isEmpty()) {

                UserSegment campaignUserSegment = campaignUserSegments.get(0);

                userSegmentId = campaignUserSegment.getUserSegmentId();
            }//from  w w w  . j  av  a2 s  .c  o m
        }

        template.put("priority", priority);
        template.put("userSegmentId", userSegmentId);

        long[] groupIds = ContentTargetingUtil.getAncestorsAndCurrentGroupIds(themeDisplay.getScopeGroupId());

        List<UserSegment> userSegments = _userSegmentService.getUserSegments(groupIds);

        template.put("userSegments", userSegments);

        template.put("trackingActionsRegistry", _trackingActionsRegistry);

        Map<String, TrackingAction> trackingActions = _trackingActionsRegistry.getTrackingActions();

        boolean isolated = themeDisplay.isIsolated();

        try {
            themeDisplay.setIsolated(true);

            template.put("trackingActions", trackingActions.values());

            if (campaignId > 0) {
                List<TrackingActionInstance> instances = _trackingActionInstanceService
                        .getTrackingActionInstances(campaignId);

                template.put("trackingActionInstances", instances);

                List<TrackingActionTemplate> addedTrackingActionTemplates = new ArrayList<TrackingActionTemplate>();

                for (TrackingActionInstance instance : instances) {
                    TrackingAction trackingAction = _trackingActionsRegistry
                            .getTrackingAction(instance.getTrackingActionKey());

                    TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate();

                    String html = trackingAction.getFormHTML(instance, _cloneTemplateContext(template));

                    trackingActionTemplate.setInstanceId(instance.getTrackingActionInstanceId());
                    trackingActionTemplate.setTrackingAction(trackingAction);
                    trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                    addedTrackingActionTemplates.add(trackingActionTemplate);
                }

                template.put("addedTrackingActionTemplates", addedTrackingActionTemplates);
            }

            List<TrackingActionTemplate> trackingActionTemplates = new ArrayList<TrackingActionTemplate>();

            for (TrackingAction trackingAction : trackingActions.values()) {
                TrackingActionTemplate trackingActionTemplate = new TrackingActionTemplate();

                String html = trackingAction.getFormHTML(null, _cloneTemplateContext(template));

                trackingActionTemplate.setTrackingAction(trackingAction);
                trackingActionTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                trackingActionTemplates.add(trackingActionTemplate);
            }

            template.put("trackingActionTemplates", trackingActionTemplates);

            if (path.equals(ContentTargetingPath.VIEW_CAMPAIGN_REPORTS)) {
                template.put("tabs2", ParamUtil.getString(portletRequest, "tabs2"));

                Map<String, Report> campaignReports = _reportsRegistry.getReports(Campaign.class.getName());

                List<ReportTemplate> campaignReportsTemplates = new ArrayList<ReportTemplate>();

                for (Report report : campaignReports.values()) {
                    ReportTemplate reportTemplate = new ReportTemplate();

                    String html = report.getHTML(_cloneTemplateContext(template));

                    reportTemplate.setReport(report);
                    reportTemplate.setTemplate(html);

                    campaignReportsTemplates.add(reportTemplate);
                }

                template.put("campaignReportsTabNames", ListUtil.toString(campaignReportsTemplates, "name"));
                template.put("campaignReportsTemplates", campaignReportsTemplates);
            }
        } finally {
            themeDisplay.setIsolated(isolated);
        }
    } else if (path.equals(ContentTargetingPath.EDIT_USER_SEGMENT)
            || path.equals(ContentTargetingPath.VIEW_USER_SEGMENT_REPORTS)) {

        long userSegmentId = ParamUtil.getLong(portletRequest, "userSegmentId");

        template.put("userSegmentId", userSegmentId);

        template.put("rulesRegistry", _rulesRegistry);

        Map<String, Rule> rules = _rulesRegistry.getRules();

        boolean isolated = themeDisplay.isIsolated();

        try {
            themeDisplay.setIsolated(true);

            template.put("rules", rules.values());

            if (userSegmentId > 0) {
                List<RuleInstance> ruleInstances = _ruleInstanceService.getRuleInstances(userSegmentId);

                template.put("ruleInstances", ruleInstances);

                List<RuleTemplate> addedRuleTemplates = new ArrayList<RuleTemplate>();

                for (RuleInstance ruleInstance : ruleInstances) {
                    Rule rule = _rulesRegistry.getRule(ruleInstance.getRuleKey());

                    RuleTemplate ruleTemplate = new RuleTemplate();

                    String html = rule.getFormHTML(ruleInstance, _cloneTemplateContext(template));

                    ruleTemplate.setInstanceId(ruleInstance.getRuleInstanceId());
                    ruleTemplate.setRule(rule);
                    ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                    addedRuleTemplates.add(ruleTemplate);
                }

                template.put("addedRuleTemplates", addedRuleTemplates);

                UserSegment userSegment = _userSegmentLocalService.getUserSegment(userSegmentId);

                template.put("userSegment", userSegment);
            }

            List<RuleTemplate> ruleTemplates = new ArrayList<RuleTemplate>();

            for (Rule rule : rules.values()) {
                RuleTemplate ruleTemplate = new RuleTemplate();

                String html = rule.getFormHTML(null, _cloneTemplateContext(template));

                ruleTemplate.setRule(rule);
                ruleTemplate.setTemplate(HtmlUtil.escapeAttribute(html));

                ruleTemplates.add(ruleTemplate);
            }

            template.put("ruleTemplates", ruleTemplates);

            if (path.equals(ContentTargetingPath.VIEW_USER_SEGMENT_REPORTS)) {

                template.put("tabs2", ParamUtil.getString(portletRequest, "tabs2"));

                Map<String, Report> userSegmentReports = _reportsRegistry
                        .getReports(UserSegment.class.getName());

                List<ReportTemplate> userSegmentReportsTemplates = new ArrayList<ReportTemplate>();

                for (Report report : userSegmentReports.values()) {
                    ReportTemplate reportTemplate = new ReportTemplate();

                    String html = report.getHTML(_cloneTemplateContext(template));

                    reportTemplate.setReport(report);
                    reportTemplate.setTemplate(html);

                    userSegmentReportsTemplates.add(reportTemplate);
                }

                template.put("userSegmentReportsTabNames",
                        ListUtil.toString(userSegmentReportsTemplates, "name"));
                template.put("userSegmentReportsTemplates", userSegmentReportsTemplates);
            }
        } finally {
            themeDisplay.setIsolated(isolated);
        }
    }
}

From source file:com.liferay.frontend.taglib.soy.servlet.taglib.TemplateRendererTag.java

License:Open Source License

protected void renderTemplate(JspWriter jspWriter, Map<String, Object> context)
        throws IOException, TemplateException {

    _template.putAll(context);//from  www  .j  a v  a  2s  .c o m

    _template.put(TemplateConstants.NAMESPACE, getTemplateNamespace());

    _template.prepare(request);

    jspWriter.append("<div id=\"");
    jspWriter.append(HtmlUtil.escapeAttribute(getComponentId()));
    jspWriter.append("\">");

    _template.processTemplate(jspWriter);

    jspWriter.append("</div>");
}

From source file:com.liferay.knowledgebase.admin.importer.util.KBArticleMarkdownConverter.java

License:Open Source License

public String processAttachmentsReferences(long userId, KBArticle kbArticle, ZipReader zipReader,
        Map<String, FileEntry> fileEntriesMap) throws PortalException {

    Set<Integer> indexes = new TreeSet<Integer>();

    int index = 0;

    while ((index = _html.indexOf("<img", index)) > -1) {
        indexes.add(index);// ww w. j a v  a  2s .c  o  m

        index += 4;
    }

    if (indexes.isEmpty()) {
        return _html;
    }

    StringBundler sb = new StringBundler();

    int previousIndex = 0;

    for (int curIndex : indexes) {
        if (curIndex < 0) {
            break;
        }

        if (curIndex > previousIndex) {

            // Append text from previous position up to image tag

            String text = _html.substring(previousIndex, curIndex);

            sb.append(text);
        }

        int pos = _html.indexOf("/>", curIndex);

        if (pos < 0) {
            if (_log.isDebugEnabled()) {
                _log.debug("Expected close tag for image " + _html.substring(curIndex));
            }

            sb.append(_html.substring(curIndex));

            previousIndex = curIndex;

            break;
        }

        String text = _html.substring(curIndex, pos);

        String imageFileName = KBArticleImporterUtil.extractImageFileName(text);

        FileEntry imageFileEntry = KBArticleImporterUtil.addImageFileEntry(imageFileName, userId, kbArticle,
                zipReader, fileEntriesMap);

        if (imageFileEntry == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to find image source " + text);
            }

            sb.append("<img alt=\"missing image\" src=\"\" ");
        } else {
            String imageSrc = StringPool.BLANK;

            try {
                imageSrc = DLUtil.getPreviewURL(imageFileEntry, imageFileEntry.getFileVersion(), null,
                        StringPool.BLANK);
            } catch (PortalException pe) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Unable to obtain image URL from file entry " + imageFileEntry.getFileEntryId());
                }
            }

            sb.append("<img alt=\"");
            sb.append(HtmlUtil.escapeAttribute(imageFileEntry.getTitle()));
            sb.append("\" src=\"");
            sb.append(imageSrc);
            sb.append("\" ");
        }

        previousIndex = pos;
    }

    if (previousIndex < _html.length()) {
        sb.append(_html.substring(previousIndex));
    }

    return sb.toString();
}

From source file:com.liferay.message.boards.parser.bbcode.internal.HtmlBBCodeTranslatorImpl.java

License:Open Source License

protected void handleFontFamily(StringBundler sb, Stack<String> tags, BBCodeItem bbCodeItem) {

    sb.append("<span style=\"font-family: ");
    sb.append(HtmlUtil.escapeAttribute(bbCodeItem.getAttribute()));
    sb.append("\">");

    tags.push("</span>");
}

From source file:com.liferay.message.boards.parser.bbcode.internal.HtmlBBCodeTranslatorImpl.java

License:Open Source License

protected void handleImage(StringBundler sb, Stack<String> tags, List<BBCodeItem> bbCodeItems,
        IntegerWrapper marker) {//w w  w . j a v  a2s . c  o  m

    sb.append("<img src=\"");

    int pos = marker.getValue();

    String src = extractData(bbCodeItems, marker, "img", BBCodeParser.TYPE_DATA, true);

    Matcher matcher = _imagePattern.matcher(src);

    if (matcher.matches()) {
        sb.append(HtmlUtil.escapeAttribute(src));
    }

    sb.append("\"");

    BBCodeItem bbCodeItem = bbCodeItems.get(pos);

    String attributes = bbCodeItem.getAttribute();

    if (Validator.isNotNull(attributes)) {
        sb.append(StringPool.SPACE);

        handleImageAttributes(sb, attributes);
    }

    sb.append(" />");

    tags.push(StringPool.BLANK);
}

From source file:com.liferay.message.boards.parser.bbcode.internal.HtmlBBCodeTranslatorImpl.java

License:Open Source License

protected void handleImageAttributes(StringBundler sb, String attributes) {
    Matcher matcher = _attributesPattern.matcher(attributes);

    while (matcher.find()) {
        String attributeName = matcher.group(1);

        if (Validator.isNotNull(attributeName)
                && _imageAttributes.contains(StringUtil.toLowerCase(attributeName))) {

            String attributeValue = matcher.group(2);

            sb.append(StringPool.SPACE);
            sb.append(attributeName);/*from  ww w  .java 2 s  .  c  o  m*/
            sb.append(StringPool.EQUAL);
            sb.append(StringPool.QUOTE);
            sb.append(HtmlUtil.escapeAttribute(attributeValue));
            sb.append(StringPool.QUOTE);
        }
    }
}

From source file:com.liferay.message.boards.parser.bbcode.internal.HtmlBBCodeTranslatorImplTest.java

License:Open Source License

@Test
public void testFontFamily() {
    String expected = "<span style=\"font-family: " + HtmlUtil.escapeAttribute("georgia, serif")
            + "\">text</span>";
    String actual = _htmlBBCodeTranslator.parse("[font=georgia, serif]text[/font]");

    Assert.assertEquals(expected, actual);
}

From source file:com.liferay.so.activities.hook.social.MicroblogsActivityInterpreter.java

License:Open Source License

protected String getBody(long classPK, int type, ServiceContext serviceContext) throws Exception {

    if (type == SocialActivityKeyConstants.MICROBLOGS_ADD_ENTRY) {
        return StringPool.BLANK;
    }/* ww w.ja v  a 2  s .c o  m*/

    MicroblogsEntry microblogsEntry = MicroblogsEntryLocalServiceUtil.fetchMicroblogsEntry(classPK);

    if (microblogsEntry == null) {
        return StringPool.BLANK;
    }

    if (microblogsEntry.getParentMicroblogsEntryId() > 0) {
        microblogsEntry = MicroblogsEntryLocalServiceUtil
                .fetchMicroblogsEntry(microblogsEntry.getParentMicroblogsEntryId());

        if (microblogsEntry == null) {
            return StringPool.BLANK;
        }
    }

    StringBundler sb = new StringBundler(12);

    sb.append("<div class=\"activity-body-container\">");
    sb.append("<div class=\"activity-body\">");
    sb.append("<div class=\"user-portrait\"><span class=\"avatar\">");
    sb.append("<a href=\"");

    User user = UserLocalServiceUtil.fetchUser(microblogsEntry.getUserId());

    if (user != null) {
        sb.append(user.getDisplayURL(serviceContext.getThemeDisplay()));
    }

    sb.append("\"><img alt=\"");

    if (user != null) {
        sb.append(HtmlUtil.escapeAttribute(user.getFullName()));
    }

    sb.append("\" src=");

    if (user != null) {
        sb.append(user.getPortraitURL(serviceContext.getThemeDisplay()));
    }

    sb.append("\"/></a></span></div><span class=\"microblog-content\">");
    sb.append(MicroblogsUtil.getProcessedContent(microblogsEntry, serviceContext));
    sb.append("</span></div></div>");

    return sb.toString();
}