mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-26 18:03:39 +01:00
patch from jvl xs4all nl
This commit is contained in:
parent
fac250e6e0
commit
40586d80db
@ -1109,6 +1109,8 @@ class Horde_iCalendar {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the folded version of a line.
|
* Return the folded version of a line.
|
||||||
|
* JVL rewritten to fold on any ; or: or = if present before column 75
|
||||||
|
* this is still rfc2445 section 4.1 compliant
|
||||||
*/
|
*/
|
||||||
function _foldLine($line)
|
function _foldLine($line)
|
||||||
{
|
{
|
||||||
@ -1116,14 +1118,20 @@ class Horde_iCalendar {
|
|||||||
if (strlen($line) > 75) {
|
if (strlen($line) > 75) {
|
||||||
$foldedline = '';
|
$foldedline = '';
|
||||||
while (!empty($line)) {
|
while (!empty($line)) {
|
||||||
$maxLine = substr($line, 0, 75);
|
$maxLine = substr($line, 0, 75);
|
||||||
$cutPoint = max(60, max(strrpos($maxLine, ';'), strrpos($maxLine, ':')) + 1);
|
$cutPoint = 1+max(is_numeric($p1 = strrpos($maxLine,';')) ? $p1 : -1,
|
||||||
|
is_numeric($p1 = strrpos($maxLine,':')) ? $p1 : -1,
|
||||||
|
is_numeric($p1 = strrpos($maxLine,'=')) ? $p1 : -1);
|
||||||
|
if ($cutPoint < 1) // nothing found, then fold complete maxLine
|
||||||
|
$cutPoint = 75;
|
||||||
|
// now fold [0..(cutPoint-1)]
|
||||||
|
$foldedline .= (empty($foldedline))
|
||||||
|
? substr($line, 0, $cutPoint)
|
||||||
|
: $this->_newline . ' ' . substr($line, 0, $cutPoint);
|
||||||
|
|
||||||
$foldedline .= (empty($foldedline)) ?
|
$line = (strlen($line) <= $cutPoint)
|
||||||
substr($line, 0, $cutPoint) :
|
? ''
|
||||||
$this->_newline . ' ' . substr($line, 0, $cutPoint);
|
: substr($line, $cutPoint);
|
||||||
|
|
||||||
$line = (strlen($line) <= $cutPoint) ? '' : substr($line, $cutPoint);
|
|
||||||
}
|
}
|
||||||
return $foldedline;
|
return $foldedline;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user