function sb_updated_theme_option($option, $old_value, $value) { if ($option === DFD_THEME_SETTINGS_NAME) { DfdThemeSettings::reloadInstance(); WP_Filesystem(); global $wp_filesystem; /** Capture variables.less output **/ ob_start(); require locate_template('/options/options/variables_less.php'); $variables_less = ob_get_clean(); $variables_less_uploads_file = locate_template('/assets/less.lib/_generated/variables.less'); if (!$wp_filesystem->put_contents($variables_less_uploads_file, $variables_less, 0644)) { file_put_contents($variables_less_uploads_file, $variables_less); } $colors_old_value = array('main_site_color' => isset($old_value['main_site_color']) ? $old_value['main_site_color'] : '', 'secondary_site_color' => isset($old_value['secondary_site_color']) ? $old_value['secondary_site_color'] : '', 'font_site_color' => isset($old_value['font_site_color']) ? $old_value['font_site_color'] : '', 'link_site_color' => isset($old_value['link_site_color']) ? $old_value['link_site_color'] : '', 'third_site_color' => isset($old_value['third_site_color']) ? $old_value['third_site_color'] : '', 'header_background_color' => isset($old_value['header_background_color']) ? $old_value['header_background_color'] : '', 'fixed_header_background_color' => isset($old_value['fixed_header_background_color']) ? $old_value['fixed_header_background_color'] : '', 'fixed_header_background_opacity' => isset($old_value['fixed_header_background_opacity']) ? $old_value['fixed_header_background_opacity'] : '', 'news_page_slider_background_hover' => isset($old_value['news_page_slider_background_hover']) ? $old_value['news_page_slider_background_hover'] : '', 'news_page_slider_opacity_hover' => isset($old_value['news_page_slider_opacity_hover']) ? $old_value['news_page_slider_opacity_hover'] : '', 'read_more_color' => isset($old_value['read_more_color']) ? $old_value['read_more_color'] : '', 'button_bg_color' => isset($old_value['button_bg_color']) ? $old_value['button_bg_color'] : ''); $colors_new_value = array('main_site_color' => isset($value['main_site_color']) ? $value['main_site_color'] : '', 'secondary_site_color' => isset($value['secondary_site_color']) ? $value['secondary_site_color'] : '', 'font_site_color' => isset($value['font_site_color']) ? $value['font_site_color'] : '', 'link_site_color' => isset($value['link_site_color']) ? $value['link_site_color'] : '', 'third_site_color' => isset($value['third_site_color']) ? $value['third_site_color'] : '', 'header_background_color' => isset($value['header_background_color']) ? $value['header_background_color'] : '', 'fixed_header_background_color' => isset($value['fixed_header_background_color']) ? $value['fixed_header_background_color'] : '', 'fixed_header_background_opacity' => isset($value['fixed_header_background_opacity']) ? $value['fixed_header_background_opacity'] : '', 'news_page_slider_background_hover' => isset($value['news_page_slider_background_hover']) ? $value['news_page_slider_background_hover'] : '', 'news_page_slider_opacity_hover' => isset($value['news_page_slider_opacity_hover']) ? $value['news_page_slider_opacity_hover'] : '', 'read_more_color' => isset($value['read_more_color']) ? $value['read_more_color'] : '', 'button_bg_color' => isset($value['button_bg_color']) ? $value['button_bg_color'] : ''); if ($colors_old_value !== $colors_new_value) { if (!class_exists('lessc')) { if (!file_exists(get_template_directory() . '/inc/lessc.inc.php')) { return false; } require get_template_directory() . '/inc/lessc.inc.php'; } try { $less = new lessc(); $less->setFormatter('compressed'); $less->compileFile(get_template_directory() . '/assets/less/app.less', get_template_directory() . '/assets/css/app.css'); unset($less); } catch (Exception $ex) { set_transient('redux-opts-exceptions-kadabra', array('Less compile error: ' . $ex->getMessage()), 1000); } try { $less = new lessc(); $less->setFormatter('compressed'); if (is_plugin_active('woocommerce/woocommerce.php')) { $less->compileFile(get_template_directory() . '/assets/less/woocommerce.less', get_template_directory() . '/assets/css/woocommerce.css'); } unset($less); } catch (Exception $ex) { set_transient('redux-opts-exceptions-kadabra', array('Less compile error: ' . $ex->getMessage()), 1000); } } } }