Sindbad~EG File Manager

Current Path : /home/admin/aya.blog.lppelm.o2switch.site/wp-content/plugins/gutenix-wizard/src/
Upload File :
Current File : /home/admin/aya.blog.lppelm.o2switch.site/wp-content/plugins/gutenix-wizard/src/OptionStorage.php

<?php

namespace zw;

use zw\helpers\ArrayHelper;

class OptionStorage
{
    const VERSION = 1;

    const NAME = 'gutenixWizardData';

    public static $instance = null;

    /**
     * @return array|mixed|null
     */
    public static function get()
    {
        if (self::$instance === null) {
            self::$instance = \get_option(self::NAME);
            self::$instance = json_decode(self::$instance, true);
        }
        self::$instance = !is_array(self::$instance) ? array() : self::$instance;
        return self::$instance;
    }

    /**
     * @param array $value
     * @return mixed
     */
    public static function set($value = array())
    {
        if (!isset($value['_version'])) {
            $value['_version'] = self::VERSION;
        }

        if (!isset($value['_createdAt'])) {
            $value['_createdAt'] = date('Y-m-d H:i:s');
        }

        if (!isset($value['_updatedAt'])) {
            $value['_updatedAt'] = date('Y-m-d H:i:s');
        }

        return \update_option(self::NAME, json_encode($value), 'no');
    }

    /**
     * @param string $key
     * @param array $value
     */
    public static function setByPath($key = '', $value = array())
    {
        self::$instance = self::get();;
        ArrayHelper::setValue(self::$instance, $key, $value);
        self::set(self::$instance);
    }

    /**
     * @return mixed
     */
    public static function remove()
    {
        return delete_option(self::NAME);
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists