HEX
Server: Apache/2.4.38 (Debian)
System: Linux host457 5.14.0-4-amd64 #1 SMP Debian 5.14.16-1 (2021-11-03) x86_64
User: www-data (33)
PHP: 7.4.21
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/vhosts/harpoeditore.it/httpdocs/wp-content/themes/dt-the7/inc/classes/the7-simplebag.php
<?php
/**
 * @package The7
 */

namespace The7\Classes;

defined( 'ABSPATH' ) || exit;

/**
 * Simple bag.
 */
class The7_SimpleBag {
	const INDEX_LIST  = 1;
	const INDEX_ASSOC = 2;

	protected $items = array();

	public function get( $key, $index = self::INDEX_LIST ) {
		if ( is_array( $key ) ) {
			if ( self::INDEX_ASSOC === $index ) {
				return $this->get_assoc( $key );
			} else {
				return $this->get_list( $key );
			}
		} elseif ( $this->has( $key ) ) {
			return $this->items[ $key ];
		}

		return null;
	}

	public function set( $key, $value ) {
		$this->set_value( $this->items, $key, $value );
	}

	public function map( $items ) {
		foreach ( (array) $items as $key => $value ) {
			$this->items[ $key ] = $value;
		}
	}

	public function has( $key ) {
		return array_key_exists( $key, $this->items );
	}

	public function remove( $key ) {
		$this->remove_value( $this->items, $key );
	}

	public function get_all() {
		return $this->items;
	}

	protected function get_assoc( $keys ) {
		$_items = array();
		foreach ( $keys as $i => $k ) {
			if ( $this->has( $k ) ) {
				$_items[ $k ] = $this->items[ $k ];
			} else {
				$_items[ $k ] = null;
			}
		}
		return $_items;
	}

	protected function get_list( $keys ) {
		$_items = array();
		foreach ( $keys as $k ) {
			if ( $this->has( $k ) ) {
				$_items[] = $this->items[ $k ];
			} else {
				$_items[] = null;
			}
		}
		return $_items;
	}

	protected function set_value( &$array, $key, $value ) {
		if ( is_array( $key ) ) {
			if ( ! is_array( $value ) ) {
				$value = array( $value );
			}

			foreach ( $key as $i => $k ) {
				if ( ! $k ) {
					continue;
				}

				if ( array_key_exists( $i, $value ) ) {
					$array[ $k ] = $value[ $i ];
				} else {
					$array[ $k ] = null;
				}
			}
		} elseif ( $key ) {
			$array[ $key ] = $value;
		}
	}

	protected function remove_value( &$array, $key ) {
		if ( is_array( $key ) ) {
			foreach ( $key as $k ) {
				unset( $array[ $k ] );
			}
		} else {
			unset( $array[ $key ] );
		}
	}
}