HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux srvntsweb01 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 12 23:42:21 UTC 2025 x86_64
User: admntserv (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/credoplanning.com/wp-content/plugins/case-theme-import/includes/settings.php
<?php
/**
 * @Template: settings.php
 * @since: 1.0.0
 * @author: Case-Themes
 * @descriptions:
 * @create: 20-Nov-17
 */
if (!defined('ABSPATH')) {
    die();
}
/**
 * Export theme options
 *
 * @param $file
 */
function ct_ie_setting_export($file)
{
    global $wp_filesystem;

    $option_name = ct_ie_setting_get_opt_name($file);

    $file_contents = get_option($option_name);

    if (!$file_contents)
        return;

    $file_contents = json_encode($file_contents);

    $wp_filesystem->put_contents($file, $file_contents, FS_CHMOD_FILE); // Save it
}

function ct_ie_setting_import($folder)
{
    // File exists?
    $file = $folder. 'settings.json';
    $file_info = $folder. 'demo-info.json';

    if (file_exists($file)) {
        // Get file contents and decode
        $data = file_get_contents($file);

        if (file_exists($file_info)){ 
            $info_demo = json_decode(file_get_contents($file_info), true);   
            if(!empty($info_demo['old_domain'])){
                $data = str_replace( str_replace( "\"", '', json_encode( $info_demo['old_domain'] ) ), str_replace( "\"", '', json_encode( site_url() ) ), $data ); 
            }
        }

        $data = json_decode($data, true);

        $data = ct_ie_replace_theme_options($data);

        $option_name = ct_ie_setting_get_opt_name($file);

        update_option($option_name, $data);

        global $import_result;
        $import_result[] = 'Import theme options "'.$option_name.'" successfully!';
    }
}

function ct_ie_setting_get_opt_name($file)
{

    global $wp_filesystem;

    /**
     * Add WP_Filesystem Class
     *
     */
    if (!class_exists('WP_Filesystem')) {
        require_once(ABSPATH . 'wp-admin/includes/file.php');
        WP_Filesystem();
    }

    $opt_name = apply_filters('ct_ie_options_name', 'ct_theme_options');

    if (! file_exists($file)){
        return $opt_name;
    }

    $options = file_get_contents($file);

    $options = json_decode($options, true);

    return !empty($options['opt-name']) ? $options['opt-name'] : $opt_name;
}

function ct_ie_replace_theme_options($options)
{

    $_replaces = apply_filters('ct_ie_replace_theme_options', array());

    foreach ($_replaces as $pattern => $_replace) {
        if (isset($options[$pattern])) {
            $options[$pattern] = $_replace;
        }
    }

    return $options;
}