File "class-helper.php"
Full Path: /home/aiclgcwq/photonindustriespvt.com/wp-content/themes/woodmart/inc/integrations/woocommerce/modules/checkout-fields/class-helper.php
File size: 2.35 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Checkout fields class.
*
* @package woodmart
*/
namespace XTS\Modules\Checkout_Fields;
use XTS\Singleton;
/**
* Checkout fields class.
*/
class Helper extends Singleton {
/**
* Init.
*/
public function init() {}
/**
* Get default fields list.
*
* @param string $current_tab Current tab.
*
* @return array
*/
public function get_default_fields( $current_tab = '' ) {
$default_fields = WC()->checkout()->get_checkout_fields();
$fields = get_transient( 'wd_default_checkout_fields' );
if ( empty( $fields ) ) {
$fields = array();
foreach ( $default_fields as $group_key => $checkout_groups_fields ) {
$new_current_tab_fields = array();
foreach ( $checkout_groups_fields as $key => $field ) {
$field['field_name'] = $key;
$field['status'] = true;
$field['required'] = ! empty( $field['required'] ) ? $field['required'] : false;
$field['priority'] = ! empty( $field['priority'] ) ? $field['priority'] : 10;
$new_current_tab_fields[ $key ] = $field;
}
$fields[ $group_key ] = $new_current_tab_fields;
}
set_transient( 'wd_default_checkout_fields', $fields );
}
$fields = apply_filters( 'woodmart_default_checkout_fields', $fields, $current_tab );
if ( ! empty( $current_tab ) && array_key_exists( $current_tab, $fields ) && ! empty( $fields[ $current_tab ] ) ) {
return $fields[ $current_tab ];
}
return $fields;
}
/**
* Arrays merge recursive.
*
* @param array $new_array New options list.
* @param array $defaults Default options list.
*
* @return array
*/
public function recursive_parse_args( $new_array, $defaults ) {
$new_args = (array) $defaults;
foreach ( $new_array as $key => $value ) {
if ( is_array( $value ) && isset( $new_args[ $key ] ) ) {
$new_args[ $key ] = array_merge( $value, $new_args[ $key ] );
} else {
$new_args[ $key ] = $value;
}
}
return $new_args;
}
/**
* Get template.
*
* @param string $template_name Template name.
* @param array $args Arguments for template.
*
* @return void
*/
public function get_template( $template_name, $args = array() ) {
if ( ! empty( $args ) && is_array( $args ) ) {
extract( $args ); // phpcs:ignore
}
include WOODMART_THEMEROOT . '/inc/integrations/woocommerce/modules/checkout-fields/templates/' . $template_name . '.php';
}
}