HEX
Server: LiteSpeed
System: Linux cluster02.load-balancer.x2.network 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: kbdhpghp (1098)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /home/kbdhpghp/atenaleaders.com.br/wp-content/plugins/thim-core/admin/class-thim-admin-settings.php
<?php

/**
 * Class Thim_Admin_Settings
 *
 * @since 1.1.0
 */
class Thim_Admin_Settings extends Thim_Singleton {
	/**
	 * @var string
	 *
	 * @since 1.1.0
	 */
	private static $key_option = 'thim_core_admin_settings';

	/**
	 * @var array
	 *
	 * @since 1.1.0
	 */
	private static $settings = null;

	/**
	 * Thim_Admin_Settings constructor.
	 *
	 * @since 1.1.0
	 */
	protected function __construct() {
	}

	/**
	 * Get all settings.
	 *
	 * @since 1.1.0
	 *
	 * @return array
	 */
	private static function get_settings() {
		if ( self::$settings === null ) {
			self::$settings = get_option( self::$key_option, array() );
		}

		return (array) self::$settings;
	}

	/**
	 * Update settings.
	 *
	 * @since 1.1.0
	 *
	 * @param $settings array
	 */
	private static function update_settings( $settings ) {
		self::$settings = $settings;
		update_option( self::$key_option, $settings );
	}

	/**
	 * Get setting by key.
	 *
	 * @since 1.1.0
	 *
	 * @param $key
	 * @param $default
	 *
	 * @return mixed
	 */
	public static function get( $key, $default ) {
		$settings = self::get_settings();
		if ( ! isset( $settings[ $key ] ) ) {
			return $default;
		}

		return $settings[ $key ];
	}

	/**
	 * Set settings.
	 *
	 * @since 1.1.0
	 *
	 * @param $key
	 * @param $value
	 */
	public static function set( $key, $value ) {
		$settings         = self::get_settings();
		$settings[ $key ] = $value;
		self::update_settings( $settings );
	}
}