uawdijnntqw1x1x1
IP : 3.16.215.60
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
lib
/
dovecot
/
..
/
python
/
..
/
roundcube
/
plugins
/
..
/
program
/
lib
/
Roundcube
/
rcube_enriched.php
/
/
<?php /** +-----------------------------------------------------------------------+ | This file is part of the Roundcube Webmail client | | Copyright (C) 2005-2012, The Roundcube Dev Team | | | | Licensed under the GNU General Public License version 3 or | | any later version with exceptions for skins & plugins. | | See the README file for a full license statement. | | | | PURPOSE: | | Helper class to convert Enriched to HTML format (RFC 1523, 1896) | +-----------------------------------------------------------------------+ | Author: Aleksander Machniak <alec@alec.pl> | | Author: Ryo Chijiiwa (IlohaMail) | +-----------------------------------------------------------------------+ */ /** * Class for Enriched to HTML conversion * * @package Framework * @subpackage Utils */ class rcube_enriched { protected static function convert_newlines($body) { // remove single newlines, convert N newlines to N-1 $body = str_replace("\r\n", "\n", $body); $len = strlen($body); $nl = 0; $out = ''; for ($i=0; $i<$len; $i++) { $c = $body[$i]; if (ord($c) == 10) $nl++; if ($nl && ord($c) != 10) $nl = 0; if ($nl != 1) $out .= $c; else $out .= ' '; } return $out; } protected static function convert_formatting($body) { $replace = array( '<bold>' => '<b>', '</bold>' => '</b>', '<italic>' => '<i>', '</italic>' => '</i>', '<fixed>' => '<tt>', '</fixed>' => '</tt>', '<smaller>' => '<font size=-1>', '</smaller>'=> '</font>', '<bigger>' => '<font size=+1>', '</bigger>' => '</font>', '<underline>' => '<span style="text-decoration: underline">', '</underline>' => '</span>', '<flushleft>' => '<span style="text-align: left">', '</flushleft>' => '</span>', '<flushright>' => '<span style="text-align: right">', '</flushright>' => '</span>', '<flushboth>' => '<span style="text-align: justified">', '</flushboth>' => '</span>', '<indent>' => '<span style="padding-left: 20px">', '</indent>' => '</span>', '<indentright>' => '<span style="padding-right: 20px">', '</indentright>' => '</span>', ); return str_ireplace(array_keys($replace), array_values($replace), $body); } protected static function convert_font($body) { $pattern = '/(.*)\<fontfamily\>\<param\>(.*)\<\/param\>(.*)\<\/fontfamily\>(.*)/ims'; while (preg_match($pattern, $body, $a)) { if (count($a) != 5) continue; $body = $a[1].'<span style="font-family: '.$a[2].'">'.$a[3].'</span>'.$a[4]; } return $body; } protected static function convert_color($body) { $pattern = '/(.*)\<color\>\<param\>(.*)\<\/param\>(.*)\<\/color\>(.*)/ims'; while (preg_match($pattern, $body, $a)) { if (count($a) != 5) continue; // extract color (either by name, or ####,####,####) if (strpos($a[2],',')) { $rgb = explode(',',$a[2]); $color = '#'; for ($i=0; $i<3; $i++) $color .= substr($rgb[$i], 0, 2); // just take first 2 bytes } else { $color = $a[2]; } // put it all together $body = $a[1].'<span style="color: '.$color.'">'.$a[3].'</span>'.$a[4]; } return $body; } protected static function convert_excerpt($body) { $pattern = '/(.*)\<excerpt\>(.*)\<\/excerpt\>(.*)/i'; while (preg_match($pattern, $body, $a)) { if (count($a) != 4) continue; $quoted = ''; $lines = explode('<br>', $a[2]); foreach ($lines as $line) $quoted .= '>'.$line.'<br>'; $body = $a[1].'<span class="quotes">'.$quoted.'</span>'.$a[3]; } return $body; } /** * Converts Enriched text into HTML format * * @param string $body Enriched text * * @return string HTML text */ public static function to_html($body) { $body = str_replace('<<','<',$body); $body = self::convert_newlines($body); $body = str_replace("\n", '<br>', $body); $body = self::convert_formatting($body); $body = self::convert_color($body); $body = self::convert_font($body); $body = self::convert_excerpt($body); //$body = nl2br($body); return $body; } }
/var/lib/dovecot/../python/../roundcube/plugins/../program/lib/Roundcube/rcube_enriched.php