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;
}
Пример #2
0
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']);
    }
}