PHPMailer\PHPMailer

DSNConfigurator::configureOptions │ private │ WP 1.0

Configure options.

Метод класса: DSNConfigurator{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->configureOptions( $mailer, $options );
$mailer(PHPMailer) (обязательный)
PHPMailer instance.
$options(массив) (обязательный)
Options.

Код DSNConfigurator::configureOptions() WP 7.1.2

private function configureOptions(PHPMailer $mailer, $options)
{
    $allowedOptions = get_object_vars($mailer);

    unset($allowedOptions['Mailer']);
    unset($allowedOptions['SMTPAuth']);
    unset($allowedOptions['Username']);
    unset($allowedOptions['Password']);
    unset($allowedOptions['Hostname']);
    unset($allowedOptions['Port']);
    unset($allowedOptions['ErrorInfo']);

    $allowedOptions = \array_keys($allowedOptions);

    foreach ($options as $key => $value) {
        if (!in_array($key, $allowedOptions)) {
            throw new Exception(
                sprintf(
                    'Unknown option: "%s". Allowed values: "%s"',
                    $key,
                    implode('", "', $allowedOptions)
                )
            );
        }

        switch ($key) {
            case 'AllowEmpty':
            case 'SMTPAutoTLS':
            case 'SMTPKeepAlive':
            case 'SingleTo':
            case 'UseSendmailOptions':
            case 'do_verp':
            case 'DKIM_copyHeaderFields':
                $mailer->$key = (bool) $value;
                break;
            case 'Priority':
            case 'SMTPDebug':
            case 'WordWrap':
                $mailer->$key = (int) $value;
                break;
            default:
                $mailer->$key = $value;
                break;
        }
    }
}