MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/www/wp-content/plugins/imageseo/src/Actions/Admin/Ajax/SaveOption.php
<?php

namespace ImageSeoWP\Actions\Admin\Ajax;

if (!defined('ABSPATH')) {
    exit;
}

class SaveOption
{
    public function hooks()
    {
        add_action('wp_ajax_imageseo_save_global_settings', [$this, 'saveGlobalSettings']);
        add_action('wp_ajax_imageseo_save_social_settings', [$this, 'saveSocialSettings']);
    }

    public function saveGlobalSettings()
    {
        if (!current_user_can('manage_options')) {
            wp_send_json_error([
                'code' => 'not_authorized',
            ]);
            exit;
        }

        if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'imageseo_save_global_settings')) {
            wp_send_json_error([
                'code' => 'not_authorized',
            ]);
            exit;
        }

        $options = sanitize_email($_POST['data']);

        $altWrite = false;
        if (isset($_POST['active_alt_write_upload'])) {
            $altWrite = ('false' === $_POST['active_alt_write_upload'] || '0' == $_POST['active_alt_write_upload']) ? 0 : 1;
        }

        $renameFile = false;
        if (isset($_POST['active_rename_write_upload'])) {
            $renameFile = ('false' === $_POST['active_rename_write_upload'] || '0' == $_POST['active_rename_write_upload']) ? 0 : 1;
        }

        $settings = [
            'active_alt_write_upload'      => $altWrite,
            'active_rename_write_upload'   => $renameFile,
            'default_language_ia'          => isset($_POST['default_language_ia']) ? $_POST['default_language_ia'] : false,
        ];

        $optionsBdd = imageseo_get_service('Option')->getOptions();
        $newOptions = wp_parse_args($settings, $optionsBdd);

        imageseo_get_service('Option')->setOptions($newOptions);

        wp_send_json_success();
    }

    public function saveSocialSettings()
    {
        if (!current_user_can('manage_options')) {
            wp_send_json_error([
                'code' => 'not_authorized',
            ]);
            exit;
        }

        if (!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'imageseo_save_social_settings')) {
            wp_send_json_error([
                'code' => 'not_authorized',
            ]);
            exit;
        }

        $settings = [
            'social_media_post_types'      => isset($_POST['social_media_post_types']) ? explode(',', $_POST['social_media_post_types']) : [],
        ];

        $optionsBdd = imageseo_get_service('Option')->getOptions();
        $newOptions = wp_parse_args($settings, $optionsBdd);

        imageseo_get_service('Option')->setOptions($newOptions);

        wp_send_json_success();
    }
}