543 lines
33 KiB
PHP
543 lines
33 KiB
PHP
<?php
|
|
/**
|
|
* Hesabix HTML Output
|
|
*
|
|
* @package Hesabix
|
|
* @author Mohammad Rezai
|
|
* @author URI https://pirouz.xyz
|
|
* @since 1.0.0
|
|
*/
|
|
|
|
class Hesabix_Html_output {
|
|
public static function init($options = array()) {
|
|
if (!empty($options)) {
|
|
foreach ($options as $value) {
|
|
if (!isset($value['type'])) continue;
|
|
if (!isset($value['id'])) $value['id'] = '';
|
|
if (!isset($value['title'])) $value['title'] = isset($value['name']) ? $value['name'] : '';
|
|
if (!isset($value['class'])) $value['class'] = '';
|
|
if (!isset($value['css'])) $value['css'] = '';
|
|
if (!isset($value['default'])) $value['default'] = '';
|
|
if (!isset($value['desc'])) $value['desc'] = '';
|
|
if (!isset($value['desc_tip'])) $value['desc_tip'] = false;
|
|
$custom_attributes = array();
|
|
if (!empty($value['custom_attributes']) && is_array($value['custom_attributes'])) {
|
|
foreach ($value['custom_attributes'] as $attribute => $attribute_value) {
|
|
$custom_attributes[] = esc_attr($attribute) . '="' . esc_attr($attribute_value) . '"';
|
|
}
|
|
}
|
|
if (true === $value['desc_tip']) {
|
|
$description = '';
|
|
$tip = $value['desc'];
|
|
} elseif (!empty($value['desc_tip'])) {
|
|
$description = $value['desc'];
|
|
$tip = $value['desc_tip'];
|
|
} elseif (!empty($value['desc'])) {
|
|
$description = $value['desc'];
|
|
$tip = '';
|
|
} else {
|
|
$description = $tip = '';
|
|
}
|
|
if ($description && in_array($value['type'], array('textarea', 'radio'))) {
|
|
$description = '<p style="margin-top:0" class="hesabix-p">' . wp_kses_post($description) . '</p>';
|
|
} elseif ($description && in_array($value['type'], array('checkbox'))) {
|
|
$description = wp_kses_post($description);
|
|
} elseif ($description) {
|
|
$description = '<span class="description">' . wp_kses_post($description) . '</span>';
|
|
}
|
|
if (isset($value['placeholder']) && !empty($value['placeholder'])) {
|
|
$placeholder = $value['placeholder'];
|
|
} else {
|
|
$placeholder = '';
|
|
}
|
|
if ($tip && in_array($value['type'], array('checkbox'))) {
|
|
|
|
$tip = '<p class="description hesabix-p">' . $tip . '</p>';
|
|
}
|
|
switch ($value['type']) {
|
|
case 'title':
|
|
if (!empty($value['title'])) {
|
|
|
|
}
|
|
if (!empty($value['desc'])) {
|
|
echo wpautop(wptexturize(wp_kses_post($value['desc'])));
|
|
}
|
|
echo '<table class="form-table hesabix-p">' . "\n\n";
|
|
break;
|
|
case 'sectionend':
|
|
echo '</table>';
|
|
break;
|
|
case 'text':
|
|
case 'email':
|
|
case 'number':
|
|
case 'color' :
|
|
case 'password' :
|
|
$type = $value['type'];
|
|
$class = '';
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
if ($value['type'] == 'color') {
|
|
$type = 'text';
|
|
$value['class'] .= 'colorpick';
|
|
$description .= '<div id="colorPickerDiv_' . esc_attr($value['id']) . '" class="colorpickdiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;display:none;"></div>';
|
|
}
|
|
?><tr style="vertical-align: top" <?php echo ($value['id'] === 'hesabix_invoice_freight_code') ? 'class="hesabix-freight-code-field hidden"' : (strpos($value['class'], 'custom-api-address-field') !== false ? 'class="custom-api-address-field"' : ''); ?>>
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-<?php echo sanitize_title($value['type']) ?>">
|
|
<input
|
|
name="<?php echo esc_attr($value['id']); ?>"
|
|
id="<?php echo esc_attr($value['id']); ?>"
|
|
type="<?php echo esc_attr($type); ?>"
|
|
style="<?php echo esc_attr($value['css']); ?>"
|
|
value="<?php echo esc_attr($option_value); ?>"
|
|
class="<?php echo esc_attr($value['class']); ?>"
|
|
placeholder="<?php echo esc_attr($placeholder); ?>"
|
|
<?php echo implode(' ', $custom_attributes); ?>
|
|
/> <?php echo $description; ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'textarea':
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
?><tr style="vertical-align: top">
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-<?php echo sanitize_title($value['type']) ?>">
|
|
<?php echo $description; ?>
|
|
<?php
|
|
if (isset($value['editor']) && $value['editor'] == 'true') {
|
|
|
|
echo wp_editor($option_value, $value['id']);
|
|
} else {
|
|
?>
|
|
<textarea
|
|
name="<?php echo esc_attr($value['id']); ?>"
|
|
id="<?php echo esc_attr($value['id']); ?>"
|
|
style="<?php echo esc_attr($value['css']); ?>"
|
|
class="<?php echo esc_attr($value['class']); ?>"
|
|
<?php echo implode(' ', $custom_attributes); ?>
|
|
><?php echo esc_textarea($option_value); ?></textarea>
|
|
<?php } ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'select' :
|
|
case 'multiselect' :
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
?><tr style="vertical-align: top">
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-<?php echo sanitize_title($value['type']) ?>">
|
|
<select
|
|
name="<?php echo esc_attr($value['id']); ?><?php if ($value['type'] == 'multiselect') echo '[]'; ?>"
|
|
id="<?php echo esc_attr($value['id']); ?>"
|
|
style="<?php echo esc_attr($value['css']); ?>"
|
|
class="<?php echo esc_attr($value['class']); ?>"
|
|
<?php echo implode(' ', $custom_attributes); ?>
|
|
<?php echo ( 'multiselect' == $value['type'] ) ? 'multiple="multiple"' : ''; ?>
|
|
>
|
|
<?php
|
|
foreach ($value['options'] as $key => $val) {
|
|
?>
|
|
<option value="<?php echo esc_attr($key); ?>" <?php
|
|
if (is_array($option_value)) {
|
|
selected(in_array($key, $option_value), true);
|
|
} else {
|
|
selected($option_value, $key);
|
|
}
|
|
?>><?php echo $val ?></option>
|
|
<?php
|
|
}
|
|
?>
|
|
</select> <?php echo $description; ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'custom_status_selector' :
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
|
|
if (!is_array($option_value)) {
|
|
if (is_string($option_value) && !empty($option_value)) {
|
|
$option_value = array_map('trim', explode(',', $option_value));
|
|
} else {
|
|
$option_value = array();
|
|
}
|
|
}
|
|
?><tr style="vertical-align: top">
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-custom-status-selector">
|
|
<div class="hesabix-status-selector">
|
|
<input type="hidden" name="<?php echo esc_attr($value['id']); ?>" value="<?php echo esc_attr(implode(',', $option_value)); ?>" />
|
|
<div class="hesabix-status-grid">
|
|
<?php
|
|
foreach ($value['options'] as $key => $val) {
|
|
$is_selected = in_array($key, $option_value);
|
|
$status_class = 'hesabix-status-' . str_replace('-', '-', $key);
|
|
?>
|
|
<div class="hesabix-status-item <?php echo $status_class; ?> <?php echo $is_selected ? 'selected' : ''; ?>">
|
|
<input type="checkbox" name="<?php echo esc_attr($value['id']); ?>_checkboxes[]" value="<?php echo esc_attr($key); ?>" <?php echo $is_selected ? 'checked' : ''; ?> />
|
|
<div class="hesabix-status-icon">
|
|
<?php
|
|
|
|
switch ($key) {
|
|
case 'pending':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>';
|
|
break;
|
|
case 'processing':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8z"/></svg>';
|
|
break;
|
|
case 'on-hold':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></svg>';
|
|
break;
|
|
case 'completed':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>';
|
|
break;
|
|
case 'cancelled':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>';
|
|
break;
|
|
case 'refunded':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>';
|
|
break;
|
|
case 'failed':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></svg>';
|
|
break;
|
|
case 'checkout-draft':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>';
|
|
break;
|
|
default:
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>';
|
|
}
|
|
?>
|
|
</div>
|
|
<div class="hesabix-status-content">
|
|
<div class="hesabix-status-title"><?php echo esc_html($val); ?></div>
|
|
<div class="hesabix-status-description">
|
|
<?php
|
|
|
|
switch ($key) {
|
|
case 'pending':
|
|
echo __('Order Pending Payment', 'hesabix');
|
|
break;
|
|
case 'processing':
|
|
echo __('Order Processing', 'hesabix');
|
|
break;
|
|
case 'on-hold':
|
|
echo __('Order On Hold', 'hesabix');
|
|
break;
|
|
case 'completed':
|
|
echo __('Order Completed', 'hesabix');
|
|
break;
|
|
case 'cancelled':
|
|
echo __('Order Cancelled', 'hesabix');
|
|
break;
|
|
case 'refunded':
|
|
echo __('Order Refunded', 'hesabix');
|
|
break;
|
|
case 'failed':
|
|
echo __('Order Failed', 'hesabix');
|
|
break;
|
|
case 'checkout-draft':
|
|
echo __('Order Draft', 'hesabix');
|
|
break;
|
|
default:
|
|
echo 'Order Status';
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php echo $description; ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'radio' :
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
?><tr style="vertical-align: top">
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-<?php echo sanitize_title($value['type']) ?>">
|
|
<fieldset>
|
|
<?php echo $description; ?>
|
|
<ul>
|
|
<?php
|
|
foreach ($value['options'] as $key => $val) {
|
|
?>
|
|
<li>
|
|
<label><input
|
|
name="<?php echo esc_attr($value['id']); ?>"
|
|
value="<?php echo $key; ?>"
|
|
type="radio"
|
|
style="<?php echo esc_attr($value['css']); ?>"
|
|
class="<?php echo esc_attr($value['class']); ?>"
|
|
<?php echo implode(' ', $custom_attributes); ?>
|
|
<?php checked($key, $option_value); ?>
|
|
/> <?php echo $val ?></label>
|
|
</li>
|
|
<?php
|
|
}
|
|
?>
|
|
</ul>
|
|
</fieldset>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'freight_switch':
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
|
|
if ($option_value === '0' || $option_value === 0) {
|
|
$option_value = '0'; // Save as Freight
|
|
} elseif ($option_value === '1' || $option_value === 1) {
|
|
$option_value = '1'; // Save as Service
|
|
} elseif (empty($option_value) || $option_value === 'disabled') {
|
|
$option_value = 'disabled'; // Don't Save
|
|
}
|
|
?><tr style="vertical-align: top">
|
|
<th scope="row" class="titledesc">
|
|
<label for="<?php echo esc_attr($value['id']); ?>"><?php echo esc_html($value['title']); ?></label>
|
|
<?php echo $tip; ?>
|
|
</th>
|
|
<td class="forminp forminp-freight-switch">
|
|
<div class="hesabix-freight-switch-container">
|
|
<div class="hesabix-freight-options">
|
|
<?php foreach ($value['options'] as $key => $val) : ?>
|
|
<div class="hesabix-freight-option <?php echo ($option_value == $key) ? 'active' : ''; ?>" data-value="<?php echo esc_attr($key); ?>">
|
|
<div class="hesabix-freight-option-content">
|
|
<div class="hesabix-freight-icon">
|
|
<?php
|
|
switch ($key) {
|
|
case 'disabled':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></svg>';
|
|
break;
|
|
case '0':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M19 7h-3V6a4 4 0 0 0-8 0v1H5a1 1 0 0 0-1 1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8a1 1 0 0 0-1-1zM10 6a2 2 0 0 1 4 0v1h-4V6zm8 13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9h2v1a1 1 0 0 0 2 0V9h4v1a1 1 0 0 0 2 0V9h2v10z"/></svg>';
|
|
break;
|
|
case '1':
|
|
echo '<svg viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>';
|
|
break;
|
|
}
|
|
?>
|
|
</div>
|
|
<div class="hesabix-freight-title"><?php echo esc_html($val); ?></div>
|
|
<div class="hesabix-freight-desc">
|
|
<?php
|
|
switch ($key) {
|
|
case 'disabled':
|
|
echo __('Freight cost is not saved in the invoice.', 'hesabix');
|
|
break;
|
|
case '0':
|
|
echo __('Freight cost is saved as a product.', 'hesabix');
|
|
break;
|
|
case '1':
|
|
echo __('Freight cost is saved as a service.', 'hesabix');
|
|
break;
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<input type="hidden" name="<?php echo esc_attr($value['id']); ?>" id="<?php echo esc_attr($value['id']); ?>" value="<?php echo esc_attr($option_value); ?>" />
|
|
</div>
|
|
<?php echo $description; ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
case 'checkbox' :
|
|
$option_value = self::get_option($value['id'], $value['default']);
|
|
$visbility_class = array();
|
|
if (!isset($value['hide_if_checked'])) {
|
|
$value['hide_if_checked'] = false;
|
|
}
|
|
if (!isset($value['show_if_checked'])) {
|
|
$value['show_if_checked'] = false;
|
|
}
|
|
if ('yes' == $value['hide_if_checked'] || 'yes' == $value['show_if_checked']) {
|
|
$visbility_class[] = 'hidden_option';
|
|
}
|
|
if ('option' == $value['hide_if_checked']) {
|
|
$visbility_class[] = 'hide_options_if_checked';
|
|
}
|
|
if ('option' == $value['show_if_checked']) {
|
|
$visbility_class[] = 'show_options_if_checked';
|
|
}
|
|
if (!isset($value['checkboxgroup']) || 'start' == $value['checkboxgroup']) {
|
|
?>
|
|
<tr style="vertical-align: top" class="<?php echo esc_attr(implode(' ', $visbility_class)); ?>">
|
|
<th scope="row" class="titledesc"><?php echo esc_html($value['title']) ?></th>
|
|
<td class="forminp forminp-checkbox">
|
|
<fieldset>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<fieldset class="<?php echo esc_attr(implode(' ', $visbility_class)); ?>">
|
|
<?php
|
|
}
|
|
if (!empty($value['title'])) {
|
|
?>
|
|
<legend class="screen-reader-text"><span><?php echo esc_html($value['title']) ?></span></legend>
|
|
<?php
|
|
}
|
|
?>
|
|
<label for="<?php echo $value['id'] ?>">
|
|
<span class="hesabix-switch">
|
|
<input
|
|
name="<?php echo esc_attr($value['id']); ?>"
|
|
id="<?php echo esc_attr($value['id']); ?>"
|
|
type="checkbox"
|
|
value="1"
|
|
<?php checked($option_value, 'yes'); ?>
|
|
<?php echo implode(' ', $custom_attributes); ?>
|
|
/>
|
|
<span class="hesabix-slider"></span>
|
|
</span>
|
|
<?php echo $description ?>
|
|
</label> <?php echo $tip; ?>
|
|
<?php
|
|
if (!isset($value['checkboxgroup']) || 'end' == $value['checkboxgroup']) {
|
|
?>
|
|
</fieldset>
|
|
</td>
|
|
</tr>
|
|
<?php
|
|
} else {
|
|
?>
|
|
</fieldset>
|
|
<?php
|
|
}
|
|
break;
|
|
case 'single_select_page' :
|
|
$args = array(
|
|
'name' => $value['id'],
|
|
'id' => $value['id'],
|
|
'sort_column' => 'menu_order',
|
|
'sort_order' => 'ASC',
|
|
'show_option_none' => ' ',
|
|
'class' => $value['class'],
|
|
'echo' => false,
|
|
'selected' => absint(self::get_option($value['id']))
|
|
);
|
|
if (isset($value['args'])) {
|
|
$args = wp_parse_args($value['args'], $args);
|
|
}
|
|
?><tr style="vertical-align: top" class="single_select_page">
|
|
<th scope="row" class="titledesc"><?php echo esc_html($value['title']) ?> <?php echo $tip; ?></th>
|
|
<td class="forminp">
|
|
<?php echo str_replace(' id=', " data-placeholder='" . __('Select a page…', 'Option') . "' style='" . $value['css'] . "' class='" . $value['class'] . "' id=", wp_dropdown_pages($args)); ?> <?php echo $description; ?>
|
|
</td>
|
|
</tr><?php
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public static function get_option($option_name, $default = '') {
|
|
|
|
if (strstr($option_name, '[')) {
|
|
parse_str($option_name, $option_array);
|
|
$option_name = current(array_keys($option_array));
|
|
$option_values = get_option($option_name, '');
|
|
$key = key($option_array[$option_name]);
|
|
if (isset($option_values[$key])) {
|
|
$option_value = $option_values[$key];
|
|
} else {
|
|
$option_value = null;
|
|
}
|
|
} else {
|
|
$option_value = get_option($option_name, null);
|
|
}
|
|
if (is_array($option_value)) {
|
|
$option_value = array_map('stripslashes', $option_value);
|
|
} elseif (!is_null($option_value)) {
|
|
$option_value = stripslashes($option_value);
|
|
if (empty($option_value) && !empty($default)) {
|
|
$option_value = null;
|
|
}
|
|
}
|
|
return $option_value === null ? $default : $option_value;
|
|
}
|
|
|
|
public static function save_fields($options) {
|
|
if (empty($_POST)) return false;
|
|
|
|
$update_options = array();
|
|
foreach ($options as $value) {
|
|
if (!isset($value['id']) || !isset($value['type'])) {
|
|
continue;
|
|
}
|
|
|
|
if (strstr($value['id'], '[')) {
|
|
parse_str($value['id'], $option_name_array);
|
|
$option_name = current(array_keys($option_name_array));
|
|
$setting_name = key($option_name_array[$option_name]);
|
|
$option_value = isset($_POST[$option_name][$setting_name]) ? wc_clean($_POST[$option_name][$setting_name]) : null;
|
|
} else {
|
|
$option_name = $value['id'];
|
|
$setting_name = '';
|
|
$option_value = isset($_POST[$value['id']]) ? wc_clean($_POST[$value['id']]) : null;
|
|
}
|
|
switch (sanitize_title($value['type'])) {
|
|
case 'checkbox' :
|
|
$option_value = is_null($option_value) ? 'no' : 'yes';
|
|
break;
|
|
case 'textarea' :
|
|
$option_value = wp_kses_post(trim($option_value));
|
|
break;
|
|
case 'text' :
|
|
case 'email':
|
|
case 'number':
|
|
case 'select' :
|
|
case 'color' :
|
|
case 'password' :
|
|
case 'radio' :
|
|
case 'custom_status_selector' :
|
|
case 'freight_switch' :
|
|
$option_value = $option_value;
|
|
break;
|
|
default :
|
|
break;
|
|
}
|
|
if (!is_null($option_value)) {
|
|
if ($option_name && $setting_name) {
|
|
if (!isset($update_options[$option_name])) {
|
|
$update_options[$option_name] = get_option($option_name, array());
|
|
}
|
|
if (!is_array($update_options[$option_name])) {
|
|
$update_options[$option_name] = array();
|
|
}
|
|
$update_options[$option_name][$setting_name] = $option_value;
|
|
} else {
|
|
$update_options[$option_name] = $option_value;
|
|
}
|
|
}
|
|
}
|
|
foreach ($update_options as $name => $value) {
|
|
update_option($name, wc_clean($value));
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
Hesabix_Html_output::init();
|