/** @deprecated As of 6.2.0, replaced by {@link #getUserName(long, ServiceContext)} */ protected String getUserName(long userId, ThemeDisplay themeDisplay) { try { if (userId <= 0) { return StringPool.BLANK; } User user = UserLocalServiceUtil.getUserById(userId); if (user.getUserId() == themeDisplay.getUserId()) { return HtmlUtil.escape(user.getFirstName()); } String userName = user.getFullName(); Group group = user.getGroup(); if (group.getGroupId() == themeDisplay.getScopeGroupId()) { return HtmlUtil.escape(userName); } String userDisplayURL = user.getDisplayURL(themeDisplay); userName = "******"user\" href=\"" + userDisplayURL + "\">" + HtmlUtil.escape(userName) + "</a>"; return userName; } catch (Exception e) { return StringPool.BLANK; } }
protected JSONArray getJSONArray(HttpServletRequest request) throws PortalException { JSONArray jsonArray = JSONFactoryUtil.createJSONArray(); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); SocialInteractionsConfiguration socialInteractionsConfiguration = SocialInteractionsConfigurationUtil.getSocialInteractionsConfiguration( themeDisplay.getCompanyId(), portletDisplay.getId()); String query = ParamUtil.getString(request, "query"); List<User> users = MentionsUserFinderUtil.getUsers( themeDisplay.getCompanyId(), themeDisplay.getUserId(), query, socialInteractionsConfiguration); for (User user : users) { if (user.isDefaultUser() || (themeDisplay.getUserId() == user.getUserId())) { continue; } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("fullName", user.getFullName()); jsonObject.put("portraitURL", user.getPortraitURL(themeDisplay)); jsonObject.put("profileURL", user.getDisplayURL(themeDisplay)); jsonObject.put("screenName", user.getScreenName()); jsonArray.put(jsonObject); } return jsonArray; }
protected void sendEmail(long mbMessageId, ThemeDisplay themeDisplay) throws Exception { MBMessage mbMessage = MBMessageLocalServiceUtil.getMBMessage(mbMessageId); User sender = UserLocalServiceUtil.getUser(mbMessage.getUserId()); Company company = CompanyLocalServiceUtil.getCompany(sender.getCompanyId()); InternetAddress from = new InternetAddress(company.getEmailAddress()); String subject = StringUtil.read( PrivateMessagingPortlet.class.getResourceAsStream( "dependencies/notification_message_subject.tmpl")); subject = StringUtil.replace( subject, new String[] {"[$COMPANY_NAME$]", "[$FROM_NAME$]"}, new String[] {company.getName(), sender.getFullName()}); String body = StringUtil.read( PrivateMessagingPortlet.class.getResourceAsStream( "dependencies/notification_message_body.tmpl")); long portraitId = sender.getPortraitId(); String tokenId = WebServerServletTokenUtil.getToken(sender.getPortraitId()); String portraitURL = themeDisplay.getPortalURL() + themeDisplay.getPathImage() + "/user_" + (sender.isFemale() ? "female" : "male") + "_portrait?img_id=" + portraitId + "&t=" + tokenId; body = StringUtil.replace( body, new String[] { "[$BODY$]", "[$COMPANY_NAME$]", "[$FROM_AVATAR$]", "[$FROM_NAME$]", "[$FROM_PROFILE_URL$]", "[$SUBJECT$]" }, new String[] { mbMessage.getBody(), company.getName(), portraitURL, sender.getFullName(), sender.getDisplayURL(themeDisplay), mbMessage.getSubject() }); List<UserThread> userThreads = UserThreadLocalServiceUtil.getMBThreadUserThreads(mbMessage.getThreadId()); for (UserThread userThread : userThreads) { if ((userThread.getUserId() == mbMessage.getUserId()) && UserNotificationManagerUtil.isDeliver( userThread.getUserId(), PortletKeys.PRIVATE_MESSAGING, PrivateMessagingConstants.NEW_MESSAGE, 0, UserNotificationDeliveryConstants.TYPE_EMAIL)) { continue; } User recipient = UserLocalServiceUtil.getUser(userThread.getUserId()); String threadURL = getThreadURL(recipient, mbMessage.getThreadId(), themeDisplay); if (Validator.isNull(threadURL)) { continue; } InternetAddress to = new InternetAddress(recipient.getEmailAddress()); Format dateFormatDateTime = FastDateFormatFactoryUtil.getDateTime( FastDateFormatConstants.LONG, FastDateFormatConstants.SHORT, recipient.getLocale(), recipient.getTimeZone()); String userThreadBody = StringUtil.replace( body, new String[] {"[$SENT_DATE$]", "[$THREAD_URL$]"}, new String[] {dateFormatDateTime.format(mbMessage.getCreateDate()), threadURL}); MailMessage mailMessage = new MailMessage(from, to, subject, userThreadBody, true); MailServiceUtil.sendEmail(mailMessage); } }