Import legacy nurinda.co.id website
This commit is contained in:
1 parent
3f59bb9038
commit
6e21646ac4
13389 files changed
+3246690
No files matched your search
@@ -0,0 +1,99 @@
|
||||
<?php defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' );
|
||||
|
||||
/**
|
||||
* Output a single element's editing form
|
||||
*
|
||||
* @var $type string Element type
|
||||
* @var $params array List of config-based params
|
||||
* @var $values array List of param_name => value
|
||||
* @var $context string Context param states which builder is it
|
||||
*/
|
||||
|
||||
// Validating and sanitizing input
|
||||
$values = ( isset( $values ) AND is_array( $values ) ) ? $values : array();
|
||||
$context = isset( $context ) ? $context : 'header';
|
||||
|
||||
// Validating, sanitizing and grouping params
|
||||
$groups = array();
|
||||
foreach ( $params as $param_name => &$param ) {
|
||||
if ( isset( $param['context'] ) AND ! in_array( $context, $param['context'] ) ) {
|
||||
continue;
|
||||
}
|
||||
$param['type'] = isset( $param['type'] ) ? $param['type'] : 'textfield';
|
||||
if ( $param['type'] == 'image' ) {
|
||||
$param['type'] = 'images';
|
||||
$param['multiple'] = FALSE;
|
||||
}
|
||||
if ( $param['type'] == 'html' AND $param_name != 'content' ) {
|
||||
// For VC-compatibility we may have only one wysiwyg field and it should be called content
|
||||
$param['type'] = 'textarea';
|
||||
}
|
||||
$param['classes'] = isset( $param['classes'] ) ? $param['classes'] : '';
|
||||
$param['std'] = isset( $param['std'] ) ? $param['std'] : '';
|
||||
// Filling missing values with standard ones
|
||||
if ( ! isset( $values[ $param_name ] ) ) {
|
||||
$values[ $param_name ] = $param['std'];
|
||||
}
|
||||
$group = isset( $param['group'] ) ? $param['group'] : us_translate( 'General' );
|
||||
if ( ! isset( $groups[ $group ] ) ) {
|
||||
$groups[ $group ] = array();
|
||||
}
|
||||
$groups[ $group ][ $param_name ] = &$param;
|
||||
}
|
||||
|
||||
$output = '<div class="usof-form for_' . $type . '">';
|
||||
if ( count( $groups ) > 1 ) {
|
||||
$group_index = 0;
|
||||
$output .= '<div class="usof-tabs">';
|
||||
$output .= '<div class="usof-tabs-list">';
|
||||
foreach ( $groups as $group => &$group_params ) {
|
||||
$output .= '<div class="usof-tabs-item' . ( $group_index ? '' : ' active' ) . '">' . $group . '</div>';
|
||||
$group_index ++;
|
||||
}
|
||||
$output .= '</div>';
|
||||
$output .= '<div class="usof-tabs-sections">';
|
||||
}
|
||||
|
||||
$group_index = 0;
|
||||
foreach ( $groups as &$group_params ) {
|
||||
if ( count( $groups ) > 1 ) {
|
||||
$output .= '<div class="usof-tabs-section" style="display: ' . ( $group_index ? 'none' : 'flex' ) . '">';
|
||||
}
|
||||
$attributes_with_prefixes = array(
|
||||
'title',
|
||||
'description',
|
||||
'std',
|
||||
'cols',
|
||||
'classes',
|
||||
'show_if',
|
||||
'states',
|
||||
'with_position',
|
||||
);
|
||||
foreach ( $group_params as $param_name => &$field ) {
|
||||
foreach ( $attributes_with_prefixes as $attribute ) {
|
||||
if ( ! empty( $field[ $context . '_' . $attribute ] ) ) {
|
||||
$field[ $attribute ] = $field[ $context . '_' . $attribute ];
|
||||
}
|
||||
}
|
||||
$output .= us_get_template(
|
||||
'vendor/usof/templates/field', array(
|
||||
'name' => $param_name,
|
||||
'id' => 'hb_elm_' . $type . '_' . $param_name,
|
||||
'field' => $field,
|
||||
'values' => $values,
|
||||
)
|
||||
);
|
||||
}
|
||||
if ( count( $groups ) > 1 ) {
|
||||
$output .= '</div>'; // .usof-tabs-section
|
||||
}
|
||||
$group_index ++;
|
||||
}
|
||||
|
||||
if ( count( $groups ) > 1 ) {
|
||||
$output .= '</div>'; // .usof-tabs-sections
|
||||
$output .= '</div>'; // .usof-tabs
|
||||
}
|
||||
$output .= '</div>';
|
||||
|
||||
echo $output;
|
||||
Reference in new issue
Block a user