function iframe_alter_save($args) { $elem = $args['elem']; $obj =& $args['obj']; if (!elem_has_class($elem, 'iframe')) { return false; } // parse children elements to find iframe $childs = html_parse(elem_val($elem)); $i = false; foreach ($childs as $c) { if (elem_tag($c) == 'iframe') { $i = $c; break; } } if (!$i) { log_msg('warn', 'iframe_alter_save: no iframe element found, inner html is ' . var_dump_inl($childs)); return false; } // url if (elem_attr($i, 'src') !== NULL) { $obj['iframe-url'] = elem_attr($i, 'src'); } else { unset($obj['iframe-url']); } // scrolling if (elem_css($i, 'overflow') == 'hidden' || elem_css($i, 'overflow-x') == 'hidden' && elem_css($i, 'overflow-y') == 'hidden') { unset($obj['iframe-scroll']); } else { $obj['iframe-scroll'] = 'scroll'; } return true; }
function video_alter_save($args) { $elem = $args['elem']; $obj =& $args['obj']; if (!elem_has_class($elem, 'video')) { return false; } // parse children elements to find video $childs = html_parse(elem_val($elem)); $v = false; foreach ($childs as $c) { if (elem_tag($c) == 'video') { $v = $c; break; } } if (!$v) { log_msg('warn', 'video_alter_save: no video element found, inner html is ' . var_dump_inl($childs)); return false; } // autoplay if (elem_attr($v, 'autoplay') !== NULL) { $obj['video-autoplay'] = 'autoplay'; } else { $obj['video-autoplay'] = ''; } // loop if (elem_attr($v, 'loop') !== NULL) { $obj['video-loop'] = 'loop'; } else { unset($obj['video-loop']); } // controls if (elem_attr($v, 'controls') !== NULL) { $obj['video-controls'] = 'controls'; } else { unset($obj['video-controls']); } // volume if (elem_attr($v, 'audio') == 'muted') { $obj['video-volume'] = '0'; } else { unset($obj['video-volume']); } }