Function Reference: geodir_update_options_compatibility_settings

Summary

Updates theme compatibility settings.

Global Values

$wpdb
(object) (required) WordPress Database object.

Default: None

Package

GeoDirectory

Change Log

Since: 1.0.0

Actions

‘gd_compat_save_settings’ [Line: 750]

Source File

geodir_update_options_compatibility_settings() is located in geodirectory-admin/admin_template_tags.php [Line: 592]

Source Code

function geodir_update_options_compatibility_settings()
{

    global $wpdb;


    $theme_settings = array();

    $theme_settings['geodir_wrapper_open_id'] = $_POST['geodir_wrapper_open_id'];
    $theme_settings['geodir_wrapper_open_class'] = $_POST['geodir_wrapper_open_class'];
    $theme_settings['geodir_wrapper_open_replace'] = stripslashes($_POST['geodir_wrapper_open_replace']);

    $theme_settings['geodir_wrapper_close_replace'] = stripslashes($_POST['geodir_wrapper_close_replace']);

    $theme_settings['geodir_wrapper_content_open_id'] = $_POST['geodir_wrapper_content_open_id'];
    $theme_settings['geodir_wrapper_content_open_class'] = $_POST['geodir_wrapper_content_open_class'];
    $theme_settings['geodir_wrapper_content_open_replace'] = stripslashes($_POST['geodir_wrapper_content_open_replace']);

    $theme_settings['geodir_wrapper_content_close_replace'] = stripslashes($_POST['geodir_wrapper_content_close_replace']);

    $theme_settings['geodir_article_open_id'] = $_POST['geodir_article_open_id'];
    $theme_settings['geodir_article_open_class'] = $_POST['geodir_article_open_class'];
    $theme_settings['geodir_article_open_replace'] = stripslashes($_POST['geodir_article_open_replace']);

    $theme_settings['geodir_article_close_replace'] = stripslashes($_POST['geodir_article_close_replace']);

    $theme_settings['geodir_sidebar_right_open_id'] = $_POST['geodir_sidebar_right_open_id'];
    $theme_settings['geodir_sidebar_right_open_class'] = $_POST['geodir_sidebar_right_open_class'];
    $theme_settings['geodir_sidebar_right_open_replace'] = stripslashes($_POST['geodir_sidebar_right_open_replace']);

    $theme_settings['geodir_sidebar_right_close_replace'] = stripslashes($_POST['geodir_sidebar_right_close_replace']);

    $theme_settings['geodir_sidebar_left_open_id'] = $_POST['geodir_sidebar_left_open_id'];
    $theme_settings['geodir_sidebar_left_open_class'] = $_POST['geodir_sidebar_left_open_class'];
    $theme_settings['geodir_sidebar_left_open_replace'] = stripslashes($_POST['geodir_sidebar_left_open_replace']);

    $theme_settings['geodir_sidebar_left_close_replace'] = stripslashes($_POST['geodir_sidebar_left_close_replace']);

    $theme_settings['geodir_main_content_open_id'] = $_POST['geodir_main_content_open_id'];
    $theme_settings['geodir_main_content_open_class'] = $_POST['geodir_main_content_open_class'];
    $theme_settings['geodir_main_content_open_replace'] = stripslashes($_POST['geodir_main_content_open_replace']);

    $theme_settings['geodir_main_content_close_replace'] = stripslashes($_POST['geodir_main_content_close_replace']);

// Other Actions
    $theme_settings['geodir_top_content_add'] = stripslashes($_POST['geodir_top_content_add']);
    $theme_settings['geodir_before_main_content_add'] = stripslashes($_POST['geodir_before_main_content_add']);

// Filters
    $theme_settings['geodir_full_page_class_filter'] = stripslashes($_POST['geodir_full_page_class_filter']);
    $theme_settings['geodir_before_widget_filter'] = stripslashes($_POST['geodir_before_widget_filter']);
    $theme_settings['geodir_after_widget_filter'] = stripslashes($_POST['geodir_after_widget_filter']);
    $theme_settings['geodir_before_title_filter'] = stripslashes($_POST['geodir_before_title_filter']);
    $theme_settings['geodir_after_title_filter'] = stripslashes($_POST['geodir_after_title_filter']);
    $theme_settings['geodir_menu_li_class_filter'] = stripslashes($_POST['geodir_menu_li_class_filter']);
    $theme_settings['geodir_sub_menu_ul_class_filter'] = stripslashes($_POST['geodir_sub_menu_ul_class_filter']);
    $theme_settings['geodir_sub_menu_li_class_filter'] = stripslashes($_POST['geodir_sub_menu_li_class_filter']);
    $theme_settings['geodir_menu_a_class_filter'] = stripslashes($_POST['geodir_menu_a_class_filter']);
    $theme_settings['geodir_sub_menu_a_class_filter'] = stripslashes($_POST['geodir_sub_menu_a_class_filter']);
//location manager filters
    $theme_settings['geodir_location_switcher_menu_li_class_filter'] = stripslashes($_POST['geodir_location_switcher_menu_li_class_filter']);
    $theme_settings['geodir_location_switcher_menu_a_class_filter'] = stripslashes($_POST['geodir_location_switcher_menu_a_class_filter']);
    $theme_settings['geodir_location_switcher_menu_sub_ul_class_filter'] = stripslashes($_POST['geodir_location_switcher_menu_sub_ul_class_filter']);
    $theme_settings['geodir_location_switcher_menu_sub_li_class_filter'] = stripslashes($_POST['geodir_location_switcher_menu_sub_li_class_filter']);


// theme required css
    $theme_settings['geodir_theme_compat_css'] = stripslashes($_POST['geodir_theme_compat_css']);

// theme required js
    $theme_settings['geodir_theme_compat_js'] = stripslashes($_POST['geodir_theme_compat_js']);

// theme compat name
    $theme_settings['gd_theme_compat'] = $_POST['gd_theme_compat'];
    if ($theme_settings['gd_theme_compat'] == '') {
        update_option('gd_theme_compat', '');
        update_option('theme_compatibility_setting', '');
        return;
    }

// theme default options
    $theme_settings['geodir_theme_compat_default_options'] = '';


//supported theme code
    $theme_settings['geodir_theme_compat_code'] = false;

    $theme = wp_get_theme();

    if ($theme->parent()) {
        $theme_name = str_replace(" ", "_", $theme->parent()->get('Name'));
    } else {
        $theme_name = str_replace(" ", "_", $theme->get('Name'));
    }

    if (in_array($theme_name, array('Avada', 'Enfold', 'X', 'Divi', 'Genesis', 'Jupiter', 'Multi_News','Kleo','Twenty_Seventeen'))) {// list of themes that have php files
        $theme_settings['geodir_theme_compat_code'] = $theme_name;
    }


    $theme_name = $theme_name . "_custom";
    $theme_arr = get_option('gd_theme_compats');
    update_option('gd_theme_compat', $theme_name);
    /**
     * Called before the theme compatibility settings are saved to the DB.
     *
     * @since 1.4.0
     * @param array $theme_settings {
     *    Attributes of the theme compatibility settings array.
     *
     *    @type string $geodir_wrapper_open_id Geodir wrapper open html id.
     *    @type string $geodir_wrapper_open_class Geodir wrapper open html class.
     *    @type string $geodir_wrapper_open_replace Geodir wrapper open content replace.
     *    @type string $geodir_wrapper_close_replace Geodir wrapper close content replace.
     *    @type string $geodir_wrapper_content_open_id Geodir wrapper content open html id.
     *    @type string $geodir_wrapper_content_open_class Geodir wrapper content open html class.
     *    @type string $geodir_wrapper_content_open_replace Geodir wrapper content open content replace.
     *    @type string $geodir_wrapper_content_close_replace Geodir wrapper content close content replace.
     *    @type string $geodir_article_open_id Geodir article open html id.
     *    @type string $geodir_article_open_class Geodir article open html class.
     *    @type string $geodir_article_open_replace Geodir article open content replace.
     *    @type string $geodir_article_close_replace Geodir article close content replace.
     *    @type string $geodir_sidebar_right_open_id Geodir sidebar right open html id.
     *    @type string $geodir_sidebar_right_open_class Geodir sidebar right open html class.
     *    @type string $geodir_sidebar_right_open_replace Geodir sidebar right open content replace.
     *    @type string $geodir_sidebar_right_close_replace Geodir sidebar right close content replace.
     *    @type string $geodir_sidebar_left_open_id Geodir sidebar left open html id.
     *    @type string $geodir_sidebar_left_open_class Geodir sidebar left open html class.
     *    @type string $geodir_sidebar_left_open_replace Geodir sidebar left open content replace.
     *    @type string $geodir_sidebar_left_close_replace Geodir sidebar left close content replace.
     *    @type string $geodir_main_content_open_id Geodir main content open html id.
     *    @type string $geodir_main_content_open_class Geodir main content open html class.
     *    @type string $geodir_main_content_open_replace Geodir main content open content replace.
     *    @type string $geodir_main_content_close_replace Geodir main content close content replace.
     *    @type string $geodir_top_content_add Geodir top content add.
     *    @type string $geodir_before_main_content_add Geodir before main content add.
     *    @type string $geodir_full_page_class_filter Geodir full page class filter.
     *    @type string $geodir_before_widget_filter Geodir before widget filter.
     *    @type string $geodir_after_widget_filter Geodir after widget filter.
     *    @type string $geodir_before_title_filter Geodir before title filter.
     *    @type string $geodir_after_title_filter Geodir after title filter.
     *    @type string $geodir_menu_li_class_filter Geodir menu li class filter.
     *    @type string $geodir_sub_menu_ul_class_filter Geodir sub menu ul class filter.
     *    @type string $geodir_sub_menu_li_class_filter Geodir sub menu li class filter.
     *    @type string $geodir_menu_a_class_filter Geodir menu a class filter.
     *    @type string $geodir_sub_menu_a_class_filter Geodir sub menu a class filter.
     *    @type string $geodir_location_switcher_menu_li_class_filter Geodir location switcher menu li class filter.
     *    @type string $geodir_location_switcher_menu_a_class_filter Geodir location switcher menu a class filter.
     *    @type string $geodir_location_switcher_menu_sub_ul_class_filter Geodir location switcher menu sub ul class filter.
     *    @type string $geodir_location_switcher_menu_sub_li_class_filter Geodir location switcher menu sub li class filter.
     *    @type string $geodir_theme_compat_css Geodir theme compatibility css.
     *    @type string $geodir_theme_compat_js Geodir theme compatibility js.
     *    @type string $gd_theme_compat Gd theme compatibility.
     *    @type string $geodir_theme_compat_default_options Geodir theme compatibility default options.
     *    @type bool $geodir_theme_compat_code Geodir theme compatibility code Ex: 'Avada.
     *
     * }
     */
    do_action('gd_compat_save_settings', $theme_settings);

//if($_POST['gd_theme_compat'])==
    $theme_arr[$theme_name] = $theme_settings;
    update_option('gd_theme_compats', $theme_arr);


//print_r($theme_settings);exit;
    update_option('theme_compatibility_setting', $theme_settings);

}