public function get_type()
    {
        return 'box';
    }
    protected function _get_defaults()
    {
        return array('title' => '');
    }
    protected function _enqueue_static($id, $option, $values, $data)
    {
        //
    }
    protected function _render($containers, $values, $data)
    {
        $html = '';
        foreach ($containers as $id => &$box) {
            if (empty($box['options'])) {
                continue;
            }
            unset($box['attr']['id']);
            // do not allow id overwrite, it is sent in first argument of render_box()
            $html .= fw()->backend->render_box('fw-options-box-' . $id, empty($box['title']) ? ' ' : $box['title'], fw()->backend->render_options($box['options'], $values, $data), array('attr' => $box['attr']));
        }
        if (!empty($html)) {
            $html = '<div class="fw-backend-postboxes metabox-holder">' . $html . '</div>';
        }
        return $html;
    }
}
FW_Container_Type::register('FW_Container_Type_Box');
    protected function _get_defaults()
    {
        return array('modal-size' => 'small', 'desc' => '');
    }
    protected function _enqueue_static($id, $option, $values, $data)
    {
        $uri = fw_get_framework_directory_uri('/includes/container-types/popup');
        wp_enqueue_script('fw-container-type-' . $this->get_type(), $uri . '/scripts.js', array('jquery', 'fw-events', 'fw'), fw()->manifest->get_version());
        wp_enqueue_style('fw');
        wp_enqueue_style('fw-container-type-' . $this->get_type(), $uri . '/styles.css', array(), fw()->manifest->get_version());
    }
    protected function _render($containers, $values, $data)
    {
        $html = '';
        $defaults = $this->get_defaults();
        foreach ($containers as $id => &$option) {
            $attr = $option['attr'];
            $attr['data-modal-title'] = $option['title'];
            if (in_array($option['modal-size'], array('small', 'medium', 'large'))) {
                $attr['data-modal-size'] = $option['modal-size'];
            } else {
                $attr['data-modal-size'] = $defaults['modal-size'];
            }
            $attr['id'] = $data['id_prefix'] . $id;
            $html .= '<div ' . fw_attr_to_html($attr) . '>' . '<p class="popup-button-wrapper">' . fw_html_tag('button', array('type' => 'button', 'class' => 'button button-secondary popup-button'), $option['title']) . '</p>' . (empty($option['desc']) ? '' : '<div class="popup-desc">' . $option['desc'] . '</div>') . '<div class="popup-options fw-hidden">' . fw()->backend->render_options($option['options'], $values, $data) . '</div>' . '</div>';
        }
        return $html;
    }
}
FW_Container_Type::register('FW_Container_Type_Popup');
<?php

if (!defined('FW')) {
    die('Forbidden');
}
class FW_Container_Type_Tab extends FW_Container_Type
{
    public function get_type()
    {
        return 'tab';
    }
    protected function _get_defaults()
    {
        return array('title' => '');
    }
    protected function _enqueue_static($id, $option, $values, $data)
    {
        //
    }
    protected function _render($containers, $values, $data)
    {
        return fw_render_view(dirname(__FILE__) . '/view.php', array('tabs' => &$containers, 'values' => &$values, 'options_data' => &$data));
    }
}
FW_Container_Type::register('FW_Container_Type_Tab');
Exemplo n.º 4
0
    {
        return 'group';
    }
    protected function _get_defaults()
    {
        return array();
    }
    protected function _enqueue_static($id, $option, $values, $data)
    {
        //
    }
    protected function _render($containers, $values, $data)
    {
        $html = '';
        foreach ($containers as $id => &$group) {
            $attr = isset($group['attr']) ? $group['attr'] : array();
            $attr['id'] = 'fw-backend-options-group-' . $id;
            if (!isset($attr['class'])) {
                $attr['class'] = 'fw-backend-options-group';
            } else {
                $attr['class'] = 'fw-backend-options-group ' . $attr['class'];
            }
            $html .= '<div ' . fw_attr_to_html($attr) . '>';
            $html .= fw()->backend->render_options($group['options'], $values, $data);
            $html .= '</div>';
        }
        return $html;
    }
}
FW_Container_Type::register('FW_Container_Type_Group');