'0', 'tplid' => false], $atts, 'asowp-products'));
ob_start();
?>
5) {
array_splice($material['data']['sizes']['allSizes'], 5);
}
}
if (isset($material['data']['colors']['allColors']) && is_array($material['data']['colors']['allColors'])) {
if (count($material['data']['colors']['allColors']) > 5) {
array_splice($material['data']['colors']['allColors'], 5);
}
}
if (isset($material['data']['additionalOptions'])) {
$material['data']['additionalOptions'] = [];
}
}
}
if (isset($config['data']['additionalOptions'])) {
$config['data']['additionalOptions'] = [];
}
$pageSettings = get_option("asowp_config_page", [])['others'];
$all_cliparts_groups = get_option("asowp-manages-cliparts", []);
$all_fonts = get_option("asowp-manages-fonts", []);
$all_shapes = get_option("asowp_all_shapes", []);
$all_fixingMethods = get_option("asowp_all_fixingMethods", []);
$all_borders = get_option("asowp_all_borders", []);
$outputOptions = get_option("asowp_output_options", []);
if (is_array($config) && !empty($config)) {
$configData = [
'name' => get_post_field('post_title', $configId),
'description' => get_post_field('post_content', $configId),
'icon' => $config['icon'],
'popImg' => $config['popImg'],
'data' => $config['data']
];
$config_fonts = $config['data']['settings']['customizerSign']['text']['selectedFonts'];
$config_cliparts = $config['data']['settings']['customizerSign']['images']['enableClipart'] == true ? $config['data']['settings']['customizerSign']['images']['enableClipart']['selectedClipartGroups'] : [];
$visibleFonts = [];
foreach ($config_fonts as $font) {
if (isset($all_fonts[$font])) {
$visibleFonts[] = $all_fonts[$font];
}
}
$this->includes_config_fonts($visibleFonts);
$this->include_custom_css($config['data']['settings']['themeColors']['customCSS']);
$visibleCliparts = [];
foreach ($config_cliparts as $part) {
if (isset($all_cliparts_groups[$part])) {
$visibleCliparts[] = $all_cliparts_groups[$part];
}
}
$all_manages = [
'fonts' => $visibleFonts,
'cliparts' => $visibleCliparts,
'borders' => $all_borders,
'pageSettings' => $pageSettings,
'allShapes' => $all_shapes,
'allFixingMethod' => $all_fixingMethods,
'allBorder' => $all_borders,
'outputOptions' => $outputOptions,
];
$product_price = $product->get_price();
$available_variations = $product->get_type() === 'variable' ? $product->get_available_variations() : [];
$templates = [];
if ($tplid !== false) {
$templates = get_post_meta($configId, "asowp-templates", true);
if (isset($templates[$tplid])) {
$template = $templates[$tplid];
$template['data'] = isset($template['data_file']) ? asowp_get_large_data($template['data_file']) : $template['data'];
$product_price = $templates[$tplid]['basePrice'];
} else {
$template = '';
}
}
$ASO = [
'skin' => $config['data']['settings']['themeColors']['skin'],
'productID' => $productid,
'product' => $product,
'currentConfig' => $configData,
'managesData' => $all_manages,
'regularPrice' => trim($product_price) !== '' ? $product_price : 0,
'thousandSep' => wc_get_price_thousand_separator(),
'decimalSep' => wc_get_price_decimal_separator(),
'decimals' => wc_get_price_decimals(),
'nbDecimals' => wc_get_price_decimals(),
'currencySymbol' => html_entity_decode(get_woocommerce_currency_symbol()),
'currency_pos' => get_option('woocommerce_currency_pos'),
'variations' => $available_variations,
'fixing_methods_url' => ASOWP_ASSETS . '/images/fixing-methodes',
'borders_url' => ASOWP_ASSETS . '/images/borders',
'templates' => [
'designFromTemplate' => isset($template) && !is_string($template),
'template' => isset($template) && !is_string($template) ? $template : []
],
'frontend_nonce' => wp_create_nonce('asowp_add_to_cart_after_custom')
];
wp_localize_script('asowp-frontend', 'asowp_configurator_data', $ASO);
wp_localize_script('asowp-frontend', 'asowp_data', [
'rest_url' => get_rest_url() . 'asowp/v1',
'ajax_url' => esc_url(admin_url('admin-ajax.php')),
'page' => 'configurator',
'site_url' => urlencode(get_site_url()),
'author' => ASOWP_ID
]);
?>
include_config_ttf_font_style($font['label'], $font_url);
} elseif (!empty($font['url'])) {
$this->include_config_ttf_font_style($font['label'], $font['url']);
}
}
}
private function include_config_ttf_font_style($font_label, $url)
{
$font_label = str_replace(" ", "-", $font_label);
$inline_style = "@font-face {
font-family: " . esc_html($font_label) . ";
src: url('" . esc_url($url) . "') format('truetype');
}";
wp_add_inline_style('asowp-frontend', $inline_style);
wp_add_inline_style('asowp-style', $inline_style);
}
private function include_custom_css($css)
{
wp_add_inline_style('asowp-frontend', $css);
}
}