/**
 * @since 3.4
 */
function qtranxf_update_config_options($config_files)
{
    //qtranxf_dbg_log('qtranxf_update_config_options: $config_files: ', $config_files);
    update_option('qtranslate_config_files', $config_files);
    $custom_config = get_option('qtranslate_custom_i18n_config', array());
    $cfg = qtranxf_load_config_all($config_files, $custom_config);
    update_option('qtranslate_admin_config', $cfg['admin-config']);
    update_option('qtranslate_front_config', $cfg['front-config']);
    //notify admin
    $messages = get_option('qtranslate_admin_notices');
    if (!is_array($messages)) {
        $messages = array();
    }
    $messages['config-files-changed'] = time();
    update_option('qtranslate_admin_notices', $messages);
}
/**
 * @since 3.4
 */
function qtranxf_update_config_options($config_files)
{
    global $q_config;
    //qtranxf_dbg_log('qtranxf_update_config_options: $config_files: ', $config_files);
    update_option('qtranslate_config_files', $config_files);
    $custom_config = get_option('qtranslate_custom_i18n_config', array());
    $cfg = qtranxf_load_config_all($config_files, $custom_config);
    update_option('qtranslate_admin_config', $cfg['admin-config']);
    update_option('qtranslate_front_config', $cfg['front-config']);
}
/**
 * Updates 'admin_config' and 'front_config' from *.json files listed in option 'config_files', and option 'custom_i18n_config'.
 * @since 3.3.1
 */
function qtranxf_update_i18n_config()
{
    global $q_config;
    if (!isset($q_config['config_files'])) {
        global $qtranslate_options;
        qtranxf_admin_set_default_options($qtranslate_options);
        qtranxf_load_option_array('config_files', $qtranslate_options['admin']['array']['config_files']);
        qtranxf_load_option_array('custom_i18n_config', $qtranslate_options['admin']['array']['custom_i18n_config']);
    }
    $json_files = $q_config['config_files'];
    $custom_i18n_config = $q_config['custom_i18n_config'];
    $cfg = qtranxf_load_config_all($json_files, $custom_i18n_config);
    if ($q_config['admin_config'] !== $cfg['admin-config']) {
        $q_config['admin_config'] = $cfg['admin-config'];
        qtranxf_update_option('admin_config');
    }
    if ($q_config['front_config'] !== $cfg['front-config']) {
        $q_config['front_config'] = $cfg['front-config'];
        qtranxf_update_option('front_config');
    }
}
/**
 * Updates 'admin_config' and 'front_config' from *.json files listed in option 'config_files', and option 'custom_i18n_config'.
 * @since 3.3.1
 */
function qtranxf_update_i18n_config()
{
    global $q_config;
    $json_files = $q_config['config_files'];
    $custom_i18n_config = $q_config['custom_i18n_config'];
    $cfg = qtranxf_load_config_all($json_files, $custom_i18n_config);
    if ($q_config['admin_config'] !== $cfg['admin-config']) {
        $q_config['admin_config'] = $cfg['admin-config'];
        qtranxf_update_option('admin_config');
    }
    if ($q_config['front_config'] !== $cfg['front-config']) {
        $q_config['front_config'] = $cfg['front-config'];
        qtranxf_update_option('front_config');
    }
}