mirror of https://github.com/vtrois/kratos
67 lines
1.9 KiB
PHP
67 lines
1.9 KiB
PHP
<?php if (!defined('ABSPATH')) {
|
|
die;
|
|
}
|
|
/**
|
|
*
|
|
* Field: tabbed
|
|
*
|
|
* @since 1.0.0
|
|
* @version 1.0.0
|
|
*
|
|
*/
|
|
if (!class_exists('CSF_Field_tabbed')) {
|
|
class CSF_Field_tabbed extends CSF_Fields
|
|
{
|
|
|
|
public function __construct($field, $value = '', $unique = '', $where = '', $parent = '')
|
|
{
|
|
parent::__construct($field, $value, $unique, $where, $parent);
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
|
|
$unallows = array('tabbed');
|
|
|
|
echo $this->field_before();
|
|
|
|
echo '<div class="csf-tabbed-nav" data-depend-id="' . esc_attr($this->field['id']) . '">';
|
|
foreach ($this->field['tabs'] as $key => $tab) {
|
|
|
|
$tabbed_icon = (!empty($tab['icon'])) ? '<i class="csf--icon ' . esc_attr($tab['icon']) . '"></i>' : '';
|
|
$tabbed_active = (empty($key)) ? 'csf-tabbed-active' : '';
|
|
|
|
echo '<a href="#" class="' . esc_attr($tabbed_active) . '"">' . $tabbed_icon . esc_attr($tab['title']) . '</a>';
|
|
}
|
|
echo '</div>';
|
|
|
|
echo '<div class="csf-tabbed-contents">';
|
|
foreach ($this->field['tabs'] as $key => $tab) {
|
|
|
|
$tabbed_hidden = (!empty($key)) ? ' hidden' : '';
|
|
|
|
echo '<div class="csf-tabbed-content' . esc_attr($tabbed_hidden) . '">';
|
|
|
|
foreach ($tab['fields'] as $field) {
|
|
|
|
if (in_array($field['type'], $unallows)) {
|
|
$field['_notice'] = true;
|
|
}
|
|
|
|
$field_id = (isset($field['id'])) ? $field['id'] : '';
|
|
$field_default = (isset($field['default'])) ? $field['default'] : '';
|
|
$field_value = (isset($this->value[$field_id])) ? $this->value[$field_id] : $field_default;
|
|
$unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
|
|
|
|
CSF::field($field, $field_value, $unique_id, 'field/tabbed');
|
|
}
|
|
|
|
echo '</div>';
|
|
}
|
|
echo '</div>';
|
|
|
|
echo $this->field_after();
|
|
}
|
|
}
|
|
}
|