Files
formipay-public/vendor/wpcfto/metaboxes/metabox-display.php
2025-08-21 20:39:34 +07:00

189 lines
7.2 KiB
PHP

<?php
if (!defined('ABSPATH')) {
exit;
} //Exit if accessed directly
/***
* @var $post
* @var $metabox
* @var $args_id
*
*/
$vue_id = '';
if (empty($id)) {
/*We are on a post*/
$post_id = $post->ID;
$id = $metabox['id'];
$sections = $metabox['args'][$id];
$active = '';
$vue_id = "data-vue='" . $id . "'";
$source_id = "data-source='" . $post_id . "'";
} else {
if(apply_filters('wpcfto_enable_export_import', true)) {
$sections['wpcfto_import_export'] = array(
'name' => __('Import/Export', 'wpcfto'),
'icon' => 'fa fa-sync',
'fields' => array(
'wpcfto_import_export_field' => array(
'type' => 'import_export',
'id' => $metabox['id']
)
)
);
}
}
?>
<div v-cloak
class="stm_metaboxes_grid <?php echo esc_attr('sections_count_' . count($sections)); ?>" <?php echo stm_wpcfto_filtered_output($vue_id . ' ' . $source_id); ?>>
<div class="stm_metaboxes_grid__inner" v-if="data !== ''">
<div class="container">
<?php
// Hide Tab Nav if Menu Items == 1
$hide_tab_nav = false;
if (count($sections) == 1) {
foreach ($sections as $section_name => $section) {
$submenus = array_unique(array_column($section['fields'], 'submenu'));
if (count($submenus) <= 1) {
$hide_tab_nav = true;
}
}
}
?>
<div class="wpcfto-tab-nav <?php echo ($hide_tab_nav) ? 'hide' : ''; ?>">
<div class="wpcfto-tab-nav--inner">
<?php
foreach ($sections as $section_name => $section):
$section_order = array_search($section_name, array_keys($sections));
if ($section_order == 0) {
$active = $section_name;
}
$submenus = array_column($section['fields'], 'submenu');
$section_classes = array();
if ($active == $section_name) {
$section_classes[] = 'active';
}
if (empty($section['icon'])) {
$section_classes[] = 'no-icon';
}
if (!empty($submenus)) {
$section_classes[] = 'has-submenu';
}
$submenus = array_unique($submenus);
?>
<div class="wpcfto-nav <?php echo esc_attr(implode(' ', $section_classes)); ?>">
<div class="wpcfto-nav-title"
data-section="<?php echo esc_attr($section_name); ?>"
@click="changeTab('<?php echo esc_attr($section_name); ?>')">
<?php if (!empty($section['icon'])) : ?>
<i class="<?php echo esc_attr($section['icon']); ?>"></i>
<?php endif; ?>
<?php echo sanitize_text_field($section['name']); ?>
</div>
<?php if (!empty($submenus)): ?>
<div class="wpcfto-submenus">
<?php foreach ($submenus as $key => $submenu):
$submenu_classes = array();
if (in_array('active', $section_classes) && empty($key)) {
$submenu_classes[] = 'active';
}
?>
<div data-submenu="<?php echo esc_attr($section_name . '_' . sanitize_title($submenu)); ?>"
class="<?php echo esc_attr(implode(' ', $submenu_classes)); ?>"
@click="changeSubMenu('<?php echo esc_attr($section_name . '_' . sanitize_title($submenu)); ?>')">
<?php echo esc_attr($submenu); ?>
<i class="fa fa-chevron-right"></i>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</div>
<?php foreach ($sections as $section_name => $section):
$submenus = array_column($section['fields'], 'submenu');
$section_classes = array();
if ($section_name == $active) {
$section_classes[] = 'active';
}
if (!empty($submenus)) {
$section_classes[] = 'has-submenu-items';
}
?>
<div id="<?php echo esc_attr($section_name); ?>"
class="wpcfto-tab <?php echo esc_attr(implode(' ', $section_classes)); ?>">
<div class="container container-constructed">
<div class="row">
<div class="column">
<?php if (!empty($section['label'])) : ?>
<div data-notice="enable_courses_filter_notice"
class="wpcfto_generic_field wpcfto_generic_field__notice first opened">
<label><?php echo sanitize_text_field($section['label']); ?></label>
</div>
<?php endif; ?>
<?php $is_group_item = false; ?>
<?php foreach ($section['fields'] as $field_name => $field) {
if (isset($field['group']) && $field['group'] == 'started') $is_group_item = true;
$field['is_group_item'] = $is_group_item;
if (!empty($field['pre_open']) and $field['pre_open']) {
wpcfto_metaboxes_preopen_field($section, $section_name, $field, $field_name);
continue;
}
if (!empty($field['group'])) {
wpcfto_metaboxes_display_group_field($section, $section_name, $field, $field_name);
if ($field['group'] == 'ended') $is_group_item = false;
continue;
}
wpcfto_metaboxes_display_single_field($section, $section_name, $field, $field_name);
} ?>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>