Files
wp-multisite-waas/views/admin-pages/fields/field-repeater.php
David Stone a815fdf179 Prep Plugin for release on WordPress.org
Escape everything that should be escaped.
Add nonce checks where needed.
Sanitize all inputs.
Apply Code style changes across the codebase.
Correct many deprecation notices.
Optimize load order of many filters.
2025-04-07 09:15:21 -06:00

146 lines
3.2 KiB
PHP

<?php
/**
* Repeater field view.
*
* @since 2.0.0
*/
?>
<?php if ( $field->title ) : ?>
<li id=""
class="<?php echo esc_attr(trim($field->wrapper_classes)); ?>" <?php echo $field->get_wrapper_html_attributes(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<div class="wu-w-full wu-block">
<?php
/**
* Adds the partial title template.
*
* @since 2.0.0
*/
wu_get_template(
'admin-pages/fields/partials/field-title',
['field' => $field]
);
?>
<?php
/**
* Adds the partial title template.
*
* @since 2.0.0
*/
wu_get_template(
'admin-pages/fields/partials/field-description',
[
'field' => $field,
]
);
?>
</div>
</li>
<?php endif; ?>
<?php
if (! $field->values && $field->value) {
$_values = [];
$columns = array_keys($field->value);
$values = $field->value;
foreach ($columns as $column) {
$count = count(array_pop($field->value));
for ($i = 0; $i < $count; $i++ ) {
$_values[ $i ][ $column ] = $field->value[ $column ][ $i ];
}
}
$field->values = $_values;
}
$fields = [];
foreach ($field->fields as $key => $value) {
$fields[ $key . '[]' ] = $field->fields[ $key ];
}
if (is_array($field->values)) {
$position = 0;
$field_len = count($field->values);
foreach ($field->values as $key => $value) {
$field_id = esc_attr($field->id);
$field_id .= $field_len - 1 !== $position ? $key : '';
++$position;
?>
<li id="<?php echo esc_attr($field_id); ?>-line"
class="field-repeater wu-bg-gray-100 <?php echo esc_attr($field->wrapper_classes); ?>" <?php echo $field->get_wrapper_html_attributes(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<div class="wu-w-full <?php echo esc_attr($field->classes); ?>">
<?php
foreach ($value as $field_name => $field_value) {
$fields[ $field_name . '[]' ]['value'] = $field_value;
}
(new \WP_Ultimo\UI\Form(
$field->id,
$fields,
[
'views' => 'admin-pages/fields',
'classes' => 'wu-flex',
'field_wrapper_classes' => 'wu-bg-transparent',
]
))->render();
?>
</div>
</li>
<?php
}
} else {
?>
<li id="<?php echo esc_attr($field->id); ?>-line"
class="field-repeater wu-bg-gray-100 <?php echo esc_attr($field->wrapper_classes); ?>" <?php echo $field->get_wrapper_html_attributes(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<div class="wu-w-full <?php echo esc_attr($field->classes); ?>">
<?php
/**
* Instantiate the form for the order details.
*
* @since 2.0.0
*/
(new \WP_Ultimo\UI\Form(
$field->id,
$fields,
[
'views' => 'admin-pages/fields',
'classes' => 'wu-flex',
'field_wrapper_classes' => 'wu-bg-transparent',
]
))->render();
?>
</div>
</li>
<?php
}
?>
<li class="<?php echo esc_attr($field->wrapper_classes); ?>" <?php echo $field->get_wrapper_html_attributes(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<a class="button wu-w-full wu-text-center" href="#"
v-on:click.prevent="duplicate_and_clean($event, '.field-repeater')">
<?php esc_html_e('Add new Line', 'wp-multisite-waas'); ?>
</a>
</li>