public function Render()
{
static $arRender1 = array('ATTACH', 'GEO', 'PERCENT-COMPLETE', 'PRIORITY', 'DURATION', 'FREEBUSY', 'TZOFFSETFROM', 'TZOFFSETTO', 'TZURL', 'ATTENDEE', 'ORGANIZER', 'RECURRENCE-ID', 'URL', 'EXRULE', 'SEQUENCE', 'CREATED', 'RRULE', 'REPEAT', 'TRIGGER', 'N', 'ADR');
static $arRender2 = array('COMPLETED', 'DTEND', 'DUE', 'DTSTART', 'DTSTAMP', 'LAST-MODIFIED', 'CREATED', 'EXDATE', 'RDATE');
$name = preg_replace('/[;].*$/', '', $this->name);
$str = $this->content;
if (in_array($name, $arRender2))
{
if (isset($this->arParameters['VALUE']) && $this->arParameters['VALUE'] == 'DATE' && !mb_strpos($str, ','))
$str = mb_substr($str, 0, 8);
}
elseif (isset($this->arParameters['ENCODING']) && $this->arParameters['ENCODING'] == 'BASE64')
{
}
elseif (!in_array($name, $arRender1))
{
$str = preg_replace('/([,;\\])/', '\\$1', $str);
$str = preg_replace('/r?n/', '\\n', $str);
}
$name = sprintf("%s%s:", $this->name, $this->RenderParameters());
if ((mb_strlen($name) + mb_strlen($str)) <= 72)
$result = $name.$str;
elseif ((mb_strlen($name) + mb_strlen($str)) > 72 && (mb_strlen($name) < 72) && (mb_strlen($str) < 72))
$result = $name."rn ".$str;
else
$result = preg_replace('/(.{72})/'.BX_UTF_PCRE_MODIFIER, '$1'."rn ", $name.$str);
return $result;
}