/** * Returns rendered user name for given message. * * @param WiseChatMessage $message * * @return string HTML source */ public function getRenderedUserName($message) { $formattedUserName = $message->getUserName(); $displayMode = $this->options->getIntegerOption('link_wp_user_name', 0); $styles = ''; if ($displayMode > 0) { $messageUser = $message->getUser(); if ($this->options->isOptionEnabled('allow_change_text_color') && $messageUser !== null && strlen($messageUser->getDataProperty('textColor')) > 0) { $styles = sprintf('style="color: %s"', $messageUser->getDataProperty('textColor')); } } if ($displayMode === 1) { $linkUserNameTemplate = $this->options->getOption('link_user_name_template', null); $wpUser = $message->getWordPressUserId() != null ? $this->usersDAO->getWpUserByID($message->getWordPressUserId()) : null; $userNameLink = null; if ($linkUserNameTemplate != null) { $variables = array('id' => $wpUser !== null ? $wpUser->ID : '', 'username' => $wpUser !== null ? $wpUser->user_login : $message->getUserName(), 'displayname' => $wpUser !== null ? $wpUser->display_name : $message->getUserName()); $userNameLink = $this->getTemplatedString($variables, $linkUserNameTemplate); } else { if ($wpUser !== null) { $userNameLink = get_author_posts_url($wpUser->ID, $wpUser->display_name); } } if ($userNameLink != null) { $formattedUserName = sprintf("<a href='%s' target='_blank' rel='nofollow' %s>%s</a>", $userNameLink, $styles, $formattedUserName); } } else { if ($displayMode === 2) { $replyTag = '@' . $formattedUserName . ':'; $title = htmlspecialchars($this->options->getOption('message_insert_into_message', 'Insert into message') . ': ' . $replyTag, ENT_COMPAT); $formattedUserName = sprintf("<a href='javascript://' class='wcMessageUserReplyTo' %s title='%s'>%s</a>", $styles, $title, $formattedUserName); } } return $formattedUserName; }