| | |
| | | $attributes = array(); |
| | | |
| | | // Handle body attributes that doesn't play nicely with div elements |
| | | if (preg_match('/<div class="' . preg_quote($body_id, '/') . '" ([^>]+)/', $body, $m)) { |
| | | $regexp = '/<div class="' . preg_quote($body_id, '/') . '"([^>]*)/'; |
| | | if (preg_match($regexp, $body, $m)) { |
| | | $attrs = $m[0]; |
| | | // Get bgcolor, we'll set it as background-color of the message container |
| | | if (preg_match('/bgcolor=["\']*([a-z0-9#]+)["\']*/', $attrs, $mb)) { |
| | | if ($m[1] && preg_match('/bgcolor=["\']*([a-z0-9#]+)["\']*/', $attrs, $mb)) { |
| | | $attributes['background-color'] = $mb[1]; |
| | | $attrs = preg_replace('/bgcolor=["\']*([a-z0-9#]+)["\']*/', '', $attrs); |
| | | } |
| | | // Get background, we'll set it as background-image of the message container |
| | | if (preg_match('/background=["\']*([^"\'>\s]+)["\']*/', $attrs, $mb)) { |
| | | if ($m[1] && preg_match('/background=["\']*([^"\'>\s]+)["\']*/', $attrs, $mb)) { |
| | | $attributes['background-image'] = 'url('.$mb[1].')'; |
| | | $attrs = preg_replace('/background=["\']*([^"\'>\s]+)["\']*/', '', $attrs); |
| | | } |
| | | if (!empty($attributes)) |
| | | $body = preg_replace('/<div class="' . preg_quote($body_id, '/') . '" [^>]+/', rtrim($attrs), $body, 1); |
| | | if (!empty($attributes)) { |
| | | $body = preg_replace($regexp, rtrim($attrs), $body, 1); |
| | | } |
| | | |
| | | // handle body styles related to background image |
| | | if ($attributes['background-image']) { |
| | |
| | | } |
| | | // make sure there's 'rcmBody' div, we need it for proper css modification |
| | | // its name is hardcoded in rcmail_message_body() also |
| | | else |
| | | else { |
| | | $body = '<div class="' . $body_id . '">' . $body . '</div>'; |
| | | } |
| | | |
| | | return $body; |
| | | } |