HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
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: /home/bookcc/public_html/wp-content/plugins/wp-mail-catcher/src/Models/Settings.php
<?php

namespace WpMailCatcher\Models;

class Settings
{
    static public $optionsName = 'mailcatcher_settings';
    static private $settings = null;
    static private $defaultSettings = [
        'default_view_role' => 'manage_options',
        'default_settings_role' => 'manage_options',
        'auto_delete' => true,
        'timescale' => 'monthly'
    ];

    static public function get($key = null)
    {
        if (self::$settings == null) {
            self::$settings = unserialize(get_option(self::$optionsName, null));
        }

        if (self::$settings == null) {
            self::installOptions();
        }

        if ($key != null) {
            return isset(self::$settings[$key]) ? self::$settings[$key] : self::$defaultSettings[$key];
        }

        return self::$settings;
    }

    static public function update($newValues)
    {
        $settings = self::get();

        foreach ($newValues as $key => $newValue) {
            $settings[$key] = $newValue;
        }

        self::$settings = $settings;
        return update_option(self::$optionsName, serialize($settings));
    }

    static public function installOptions($force = false)
    {
        if ($force == true || get_option(self::$optionsName, false) == false) {
            add_option(self::$optionsName, serialize(self::$defaultSettings), '', 'no');
            self::$settings = self::$defaultSettings;
        }
    }

    public static function uninstallOptions()
    {
        delete_option(self::$optionsName);
    }
}