예제 #1
0
 /**
  * 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'] . "&amp;type=sigpic&amp;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>";
     }
 }