HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah_err/wp-content/plugins/give/src/Email/GlobalSettingValidator.php
<?php

namespace Give\Email;

use Give_Admin_Settings;

/**
 * @since 2.17.1
 */
class GlobalSettingValidator
{
    /**
     * @since 2.17.1
     */
    public function __invoke()
    {
        // Bailout.
        if (
            ! Give_Admin_Settings::is_saving_settings() ||
            'emails' !== give_get_current_setting_tab() ||
            ! isset($_GET['section'])
        ) {
            return;
        }

        add_filter($this->getFilterHookName(), [$this, 'validateSetting']);
    }

    /**
     * @since 2.17.1
     * @since 2.17.2 Only filter value as unique array if set. Some settings do not need to be set, ie donation-receipt_recipient.
     */
    public function validateSetting($value)
    {
        if( ! empty( $value ) ) {
            // Same unique email address for email recipients.
            $recipientEmails = array_unique(array_filter($value));

            // Set default email recipient to admin email.
            $value = $recipientEmails ?: [get_bloginfo('admin_email')];
        }
        return $value;
    }

    /**
     * @since 2.17.1
     * Note: Filter hook defined in Give_Admin_Settings::save_fields function::1163
     *
     * @return string
     */
    private function getFilterHookName()
    {
        $email_type = give_get_current_setting_section();
        $settingName = "{$email_type}_recipient";

        return "give_admin_settings_sanitize_option_$settingName";
    }
}