?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5/server/Admin/Managers/



?? Go up: /home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5/server/Admin

?? Viewing: FormSettingsManager.php

<?php

namespace KS_PAC_DCFH\Admin\Managers;

class FormSettingsManager
{
    private static $_instance;

    public static function instance(): self
    {
        if (self::$_instance === null) {
            self::$_instance = new self();
        }

        return self::$_instance;
    }

    public static function is_setting_active($key): bool
    {
        $options = get_option('et_divi');

        return isset($options[$key]) && 'on' === $options[$key];
    }

    public static function get_setting_value($key, $default = '')
    {
        $options = get_option('et_divi');

        return $options[$key] ?? $default;
    }

    public static function update_contact_form_details($contact_form_id, $args, $collect_ip_address): void
    {
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        $form_old_settings = get_option($option_key, []);
        $form_new_settings = [
            'unique_id' => $contact_form_id,
            'title' => $args['title'],
            'page_id' => $args['page_id'],
            'max_entries_allowed' => $args['max_entries_allowed'],
        ];
        $form_new_settings = wp_parse_args($form_new_settings, $form_old_settings);
        if (!ks_pac_dcfh_app()->misc_utils()::is_robot()) {
            $form_new_settings['views'] = isset($form_old_settings['views']) ? $form_old_settings['views'] + 1 : 1;
            $ip_address = et_core_get_ip_address();
            $cookie_name = 'dcfh_uniqueviews_'.md5($ip_address).'_'.$contact_form_id;
            if ($collect_ip_address && (!isset($_COOKIE[$cookie_name]) && !ks_pac_dcfh_app()->entry_meta_manager()::is_user_ip_exists($contact_form_id, $ip_address))) {
                $form_new_settings['unique_views'] = isset($form_old_settings['unique_views']) ? $form_old_settings['unique_views'] + 1 : 1;
            }
        }
        update_option($option_key, $form_new_settings, 'no');
    }

    public static function update_contact_form_total_entries($contact_form_id, $entries): void
    {
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        $form_settings = get_option($option_key);
        if ($form_settings !== false) {
            if (!isset($form_settings['total_entries']) || $form_settings['total_entries'] !== $entries) {
                $form_settings['total_entries'] = $entries;
                update_option($option_key, $form_settings, 'no');
            }
        }
    }

    public static function reset_contact_form_views($contact_form_id): void
    {
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        $form_settings = get_option($option_key);
        $form_settings['views'] = 0;
        $form_settings['unique_views'] = 0;
        update_option($option_key, $form_settings, 'no');
    }

    public static function delete_contact_form_options($contact_form_id): void
    {
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        delete_option($option_key);
    }

    public static function get_contact_form_title($contact_form_id)
    {
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        $form_settings = get_option($option_key);
        if ($form_settings !== false && isset($form_settings['title'])) {
            return $form_settings['title'];
        }

        return $contact_form_id;
    }

    public static function update_contact_form_query_params($contact_form_id, $query_params): void
    {
        $query_params = wp_list_pluck($query_params, 'label', 'field_id');
        $option_key = "_pwh_dcfh_contact_form_settings_$contact_form_id";
        $form_settings = get_option($option_key);
        if ($form_settings !== false) {
            if (!isset($form_settings['query_params'])) {
                $form_settings['query_params'] = [];
            }
            $new_query_params = wp_parse_args($query_params, $form_settings['query_params']);
            $new_query_params = array_unique($new_query_params);
            $form_settings['query_params'] = $new_query_params;
            update_option($option_key, $form_settings, 'no');
        }
    }

    public static function dynamic_entry_columns(): array
    {
        $columns = [];
        $option = ks_pac_dcfh_app()->settings_rep()->get_setting('optional_entry_list_columns', 'name');
        if (!empty($option) && is_string($option)) {
            $option = preg_replace('/\s*,\s*/', ',', $option);
            $columns = explode(',', strtolower($option));
            $columns = array_filter($columns, 'strlen');
        }

        return $columns;
    }

    public static function update_backup_status(array $message): void
    {
        update_option('dcfh_entries_auto_backup_status', $message, 'no');
    }

}


??

??