Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/lib/internal/Customweb/Payment/Authorization/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/lib/internal/Customweb/Payment/Authorization/DefaultPaymentCustomerContext.php
<?php 
/**
  * You are allowed to use this API in your web application.
 *
 * Copyright (C) 2018 by customweb GmbH
 *
 * This program is licenced under the customweb software licence. With the
 * purchase or the installation of the software in your application you
 * accept the licence agreement. The allowed usage is outlined in the
 * customweb software licence which can be found under
 * http://www.sellxed.com/en/software-license-agreement
 *
 * Any modification or distribution is strictly forbidden. The license
 * grants you the installation in one application. For multiuse you will need
 * to purchase further licences at http://www.sellxed.com/shop.
 *
 * See the customweb software licence agreement for more details.
 *
 */


/**
 * Default implementation of Customweb_Payment_Authorization_IPaymentCustomerContext.
 *
 * @author Thomas Hunziker
 *
 */
class Customweb_Payment_Authorization_DefaultPaymentCustomerContext implements
Customweb_Payment_Authorization_IPaymentCustomerContext {

	private $map = array();
	private $updates = array();
	
	public function __construct($map) {
		if($map === null || !is_array($map)){
			$map = array();
		}
		$this->map = $map;
		
	}

	/**
	 * (non-PHPdoc)
	 * @see Customweb_Payment_Authorization_IPaymentCustomerContext::getMap()
	 */
	public function getMap() {
		return $this->map;
	}

	/**
	 * (non-PHPdoc)
	 * @see Customweb_Payment_Authorization_IPaymentCustomerContext::updateMap()
	 */
	public function updateMap(array $update) {
		$this->map = self::replaceRecursive($this->map, $update);
		$this->updates[] = $update;
		
		return $this;
	}
	
	/**
	 * This method applies all the updates collected to the given map and resets
	 * the internal storage of the updates.
	 * 
	 * @param array $map
	 * @return array Updated map
	 */
	public function applyUpdatesOnMapAndReset($map) {
		$map = $this->applyUpdatesOnMap($map);
		$this->resetUpdateStorage();
		return $map;
	}
	
	/**
	 * This method applies all the updates collected to the given map.
	 * 
	 * @param array $map
	 * @return array Updated map
	 */
	public function applyUpdatesOnMap($map) {
		if($map === null || !is_array($map)){
			$map = array();
		}
		foreach ($this->updates as $update) {
			$map = self::replaceRecursive($map, $update);
		}
		return $map;
	}

	/**
	 * This method resets the interal storage of the updates.
	 * 
	 * @return Customweb_Payment_Authorization_DefaultPaymentCustomerContext
	 */
	public function resetUpdateStorage() {
		$this->updates = array();
		return $this;
	}
	
	protected static function replaceRecursive($array, $array1) {
		$args = func_get_args();
		$array = $args[0];
		if (!is_array($array)) {
			return $array;
		}
		
		for ($i = 1; $i < count($args); $i++) {
			if (is_array($args[$i])) {
				$array = self::recurse($array, $args[$i]);
			}
		}
		return $array;
	}
	
	protected static function recurse($array, $array1) {
		foreach ($array1 as $key => $value)	{
			if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key]))) {
				$array[$key] = array();
			}

			if (is_array($value)) {
				$value = self::recurse($array[$key], $value);
			}
			$array[$key] = $value;
		}
		return $array;
	}

}

Spamworldpro Mini