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/wpkoopkj/wp-content/themes/ohio/inc/framework/components/options_cache.php
<?php

class OhioOptionsCache {

    /**
     * Cache items storage
     *
     * @var null|array
     */
    protected static $options = null;

    /**
     * Storage object options key
     *
     * @var string
     */
    protected static $db_cache_option_key = 'ohio_global_cache';

    /**
     * Init first call and parse cache storage from database
     *
     * @return void
     */
    protected static function init() {
        if ( !is_null( self::$options ) ) return;

        $cached_options = get_option( self::$db_cache_option_key );

        if ( $cached_options ) {
            self::$options = json_decode( $cached_options, true );
        }

        if ( !self::$options || !is_array( self::$options ) ) {
            self::$options = [];
        }
    }

    /**
     * Get cache value
     *
     * @param string $key
     * @return mixed
     */
    public static function get( $key ) {
        self::init();

        if ( !self::has( $key ) ) return null;

        return self::$options[$key];
    }

    /**
     * Check cache item existance in storage
     *
     * @param string $key
     * @return boolean
     */
    public static function has( $key ) {
        self::init();

        return array_key_exists( $key, self::$options );
    }

    /**
     * Set cache value
     *
     * @param string $key
     * @param mixed $value
     * @return void
     */
    public static function set( $key, $value ) {
        self::init();

        self::$options[$key] = $value;
    }

    /**
     * Remove cache item from storage
     *
     * @param string $key
     * @return void
     */
    public static function remove( $key ) {
        self::init();

        if ( !self::has( $key ) ) return;

        unset( self::$options[$key] );
    }

    /**
     * Save cache storage to database
     *
     * @return void
     */
    public static function save() {
        if ( is_null( self::$options ) ) return;

        update_option( self::$db_cache_option_key, json_encode( self::$options ) );
    }

    public static function flush() {
        self::$options = [];
        self::save();
    }
}