Ejemplo n.º 1
0
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);
            }
        }
    }
}