/** * Handles the parsing of a signature picture. Most of this is handled * based on the $parseUserinfo member. * * @param string Description for the sig pic * * @return string HTML representation of the sig pic */ function handle_bbcode_sigpic($description) { // remove unnecessary line breaks and escaped quotes $description = str_replace(array('<br>', '<br />', '\\"'), array('', '', '"'), $description); // permissions are checked on API method if (empty($this->parseUserinfo['userid']) or empty($this->parseUserinfo['sigpic'])) { // unknown user or no sigpic return ''; } if (self::$useFileAvatar) { $sigpic_url = $this->registry->options['sigpicurl'] . '/sigpic' . $this->parseUserinfo['userid'] . '_' . $this->parseUserinfo['sigpicrevision'] . '.gif'; } else { $sigpic_url = 'image.php?' . vB::getCurrentSession()->get('sessionurl') . 'u=' . $this->parseUserinfo['userid'] . "&type=sigpic&dateline=" . $this->parseUserinfo['sigpicdateline']; } /* if (defined('VB_AREA') AND VB_AREA != 'Forum') { // in a sub directory, may need to move up a level if ($sigpic_url[0] != '/' AND !preg_match('#^[a-z0-9]+:#i', $sigpic_url)) { $sigpic_url = '../' . $sigpic_url; } } */ $description = str_replace(array('\\"', '"'), '', trim($description)); if (self::getUserValue('userid') == 0 or self::getUserValue('showimages')) { return "<img src=\"{$sigpic_url}\" alt=\"{$description}\" border=\"0\" />"; } else { if (!$description) { $description = $sigpic_url; if (vB_String::vB_Strlen($description) > 55 and $this->isWysiwyg() == false) { $description = substr($description, 0, 36) . '...' . substr($description, -14); } } return "<a href=\"{$sigpic_url}\">{$description}</a>"; } }