- Remove some empty lines from output of template conditions

release-0.6
alecpl 14 years ago
parent 00e18b7e42
commit 84581e9de7

@ -526,7 +526,7 @@ class rcube_template extends rcube_html_page
*/ */
private function parse_conditions($input) private function parse_conditions($input)
{ {
$matches = preg_split('/<roundcube:(if|elseif|else|endif)\s+([^>]+)>/is', $input, 2, PREG_SPLIT_DELIM_CAPTURE); $matches = preg_split('/<roundcube:(if|elseif|else|endif)\s+([^>]+)>\n?/is', $input, 2, PREG_SPLIT_DELIM_CAPTURE);
if ($matches && count($matches) == 4) { if ($matches && count($matches) == 4) {
if (preg_match('/^(else|endif)$/i', $matches[1])) { if (preg_match('/^(else|endif)$/i', $matches[1])) {
return $matches[0] . $this->parse_conditions($matches[3]); return $matches[0] . $this->parse_conditions($matches[3]);
@ -534,10 +534,10 @@ class rcube_template extends rcube_html_page
$attrib = parse_attrib_string($matches[2]); $attrib = parse_attrib_string($matches[2]);
if (isset($attrib['condition'])) { if (isset($attrib['condition'])) {
$condmet = $this->check_condition($attrib['condition']); $condmet = $this->check_condition($attrib['condition']);
$submatches = preg_split('/<roundcube:(elseif|else|endif)\s+([^>]+)>/is', $matches[3], 2, PREG_SPLIT_DELIM_CAPTURE); $submatches = preg_split('/<roundcube:(elseif|else|endif)\s+([^>]+)>\n?/is', $matches[3], 2, PREG_SPLIT_DELIM_CAPTURE);
if ($condmet) { if ($condmet) {
$result = $submatches[0]; $result = $submatches[0];
$result.= ($submatches[1] != 'endif' ? preg_replace('/.*<roundcube:endif\s+[^>]+>/Uis', '', $submatches[3], 1) : $submatches[3]); $result.= ($submatches[1] != 'endif' ? preg_replace('/.*<roundcube:endif\s+[^>]+>\n?/Uis', '', $submatches[3], 1) : $submatches[3]);
} }
else { else {
$result = "<roundcube:$submatches[1] $submatches[2]>" . $submatches[3]; $result = "<roundcube:$submatches[1] $submatches[2]>" . $submatches[3];

Loading…
Cancel
Save