/**
  * @see parent::getHtmlValue()
  */
 function getHtmlValue($object, $smarty = null, $params = array())
 {
     $value = $object->{$this->fieldName};
     // Empty value: no paragraph
     if (!$value) {
         return "";
     }
     // Truncate case: no breakers but inline bullets instead
     if ($truncate = CValue::read($params, "truncate")) {
         $value = CMbString::truncate($value, $truncate === true ? null : $truncate);
         $value = CMbString::nl2bull($value);
         return CMbString::htmlSpecialChars($value);
     }
     // Markdown case: full delegation
     if ($this->markdown) {
         // In order to prevent from double escaping
         $content = CMbString::markdown(html_entity_decode($value));
         return "<div class='markdown'>{$content}</div>";
     }
     // Standard case: breakers and paragraph enhancers
     $text = "";
     $value = str_replace(array("\r\n", "\r"), "\n", $value);
     $paragraphs = preg_split("/\n{2,}/", $value);
     foreach ($paragraphs as $_paragraph) {
         if (!empty($_paragraph)) {
             $_paragraph = nl2br(CMbString::htmlSpecialChars($_paragraph));
             $text .= "<p>{$_paragraph}</p>";
         }
     }
     return $text;
 }
 /**
  * Truncate a string, with a full string titled span if actually truncated
  * Example:  {$value|spancate}
  *
  * @param string $string      The string to truncate
  * @param int    $length      The maximum string length
  * @param string $etc         The ellipsis
  * @param bool   $break_words Break words
  * @param bool   $middle      Put the ellipsis at the middle of the string instead of at the end
  *
  * @return string
  */
 function spancate($string, $length = 80, $etc = '...', $break_words = true, $middle = false)
 {
     CAppUI::requireLibraryFile("smarty/libs/plugins/modifier.truncate");
     $string = html_entity_decode($string);
     $truncated = smarty_modifier_truncate($string, $length, $etc, $break_words, $middle);
     $truncated = CMbString::nl2bull($truncated);
     $string = CMbString::htmlEntities($string);
     return strlen($string) > $length ? "<span title=\"{$string}\">{$truncated}</span>" : $truncated;
 }