forked from extern/egroupware
* eMail/HTMLawed: introduce and use new make_tag_strict option 3, to exclude font from applying strict measures to it
This commit is contained in:
parent
b61d5d537f
commit
627c65e6dd
@ -64,7 +64,7 @@ class egw_htmLawed
|
|||||||
'hook_tag'=>array('', '', 'name of custom function to further check attribute values', '25'),
|
'hook_tag'=>array('', '', 'name of custom function to further check attribute values', '25'),
|
||||||
'keep_bad'=>array('7', '6', 'keep, or remove <em>bad</em> tag content', '0'),
|
'keep_bad'=>array('7', '6', 'keep, or remove <em>bad</em> tag content', '0'),
|
||||||
'lc_std_val'=>array('2', '1', 'lower-case std. attribute values like <em>radio</em>', '0'),
|
'lc_std_val'=>array('2', '1', 'lower-case std. attribute values like <em>radio</em>', '0'),
|
||||||
'make_tag_strict'=>array('3', 'nil', 'transform deprecated elements', 'nil'),
|
'make_tag_strict'=>array('3', 'nil', 'transform deprecated elements', 'nil'), 3 is a new own config value, to indicate that transformation is to be performed, but don't transform font as size transformation of numeric sizes to keywords alters the intended result too much
|
||||||
'named_entity'=>array('2', '1', 'allow named entities, or convert numeric ones', '0'),
|
'named_entity'=>array('2', '1', 'allow named entities, or convert numeric ones', '0'),
|
||||||
'no_deprecated_attr'=>array('3', '1', 'allow deprecated attributes, or transform them', '0'),
|
'no_deprecated_attr'=>array('3', '1', 'allow deprecated attributes, or transform them', '0'),
|
||||||
'parent'=>array('', 'div', 'name of parent element', '25'),
|
'parent'=>array('', 'div', 'name of parent element', '25'),
|
||||||
@ -81,6 +81,7 @@ class egw_htmLawed
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$this->Configuration = array('comment'=>1, //remove comments
|
$this->Configuration = array('comment'=>1, //remove comments
|
||||||
|
'make_tag_strict'=>3,//3 is a new own config value, to indicate that transformation is to be performed, but don't transform font, as size transformation of numeric sizes to keywords alters the intended result too much
|
||||||
'balance'=>0,//turn off tag-balancing (config['balance']=>0). That will not introduce any security risk; only standards-compliant tag nesting check/filtering will be turned off (basic tag-balance will remain; i.e., there won't be any unclosed tag, etc., after filtering)
|
'balance'=>0,//turn off tag-balancing (config['balance']=>0). That will not introduce any security risk; only standards-compliant tag nesting check/filtering will be turned off (basic tag-balance will remain; i.e., there won't be any unclosed tag, etc., after filtering)
|
||||||
'tidy'=>1,
|
'tidy'=>1,
|
||||||
'elements' => "* -script",
|
'elements' => "* -script",
|
||||||
|
@ -631,7 +631,7 @@ if($e == 'dir' or $e == 'menu'){$e = 'ul'; return '';}
|
|||||||
if($e == 's' or $e == 'strike'){$e = 'span'; return 'text-decoration: line-through;';}
|
if($e == 's' or $e == 'strike'){$e = 'span'; return 'text-decoration: line-through;';}
|
||||||
if($e == 'u'){$e = 'span'; return 'text-decoration: underline;';}
|
if($e == 'u'){$e = 'span'; return 'text-decoration: underline;';}
|
||||||
static $fs = array('0'=>'xx-small', '1'=>'xx-small', '2'=>'small', '3'=>'medium', '4'=>'large', '5'=>'x-large', '6'=>'xx-large', '7'=>'300%', '-1'=>'smaller', '-2'=>'60%', '+1'=>'larger', '+2'=>'150%', '+3'=>'200%', '+4'=>'300%');
|
static $fs = array('0'=>'xx-small', '1'=>'xx-small', '2'=>'small', '3'=>'medium', '4'=>'large', '5'=>'x-large', '6'=>'xx-large', '7'=>'300%', '-1'=>'smaller', '-2'=>'60%', '+1'=>'larger', '+2'=>'150%', '+3'=>'200%', '+4'=>'300%');
|
||||||
if($e == 'font'){
|
if($e == 'font' && $t !=3){//3 is a new make_tag_strict config value, to indicate that transformation is to be performed, but don't transform font, as size transformation of numeric sizes to keywords alters the intended result too much
|
||||||
$a2 = '';
|
$a2 = '';
|
||||||
if(preg_match('`face\s*=\s*(\'|")([^=]+?)\\1`i', $a, $m) or preg_match('`face\s*=(\s*)(\S+)`i', $a, $m)){
|
if(preg_match('`face\s*=\s*(\'|")([^=]+?)\\1`i', $a, $m) or preg_match('`face\s*=(\s*)(\S+)`i', $a, $m)){
|
||||||
$a2 .= ' font-family: '. str_replace('"', '\'', trim($m[2])). ';';
|
$a2 .= ' font-family: '. str_replace('"', '\'', trim($m[2])). ';';
|
||||||
|
Loading…
Reference in New Issue
Block a user