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/Core/Util/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/lib/internal/Customweb/Core/Util/System.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.
 *
 */

/**
 * 
 * @author Thomas Hunziker
 */
final class Customweb_Core_Util_System {

	private static $defaultTimeZone = null;
	private static $defaultDateFormat = null;
	
	private function __construct() {

	}
	
	public static function getDefaultTimeZone() {
		if (self::$defaultTimeZone === null) {
			return date_default_timezone_get();
		}
		else {
			return self::$defaultTimeZone;
		}
	}
	
	public static function setDefaultTimeZone($timeZone) {
		self::$defaultTimeZone = $timeZone;
	}

	public static function getDefaultDateFormat() {
		// TODO: Implement a better default value
		if (self::$defaultDateFormat === null) {
			return 'Y/m/d';
		}
		else {
			return self::$defaultDateFormat;
		}
	}

	public static function getDefaultDateTimeFormat() {
		return self::getDefaultDateFormat() . ' G:i:s';
	}
	
	public static function setDefaultDateFormat($format) {
		self::$defaultDateFormat = $format;
	}
	
	/**
	 * 
	 * @return string
	 */
	public static function getTemporaryDirPath() {
		return rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
	}

	/**
	 * Returns the IP address of the client connected to the
	 * server. In case a proxy is used the method tries to find
	 * the correct IP address.
	 * 
	 * @throws Exception
	 * @deprecated Use instead always the provided request object
	 * @return string
	 */
	public static function getClientIPAddress(){
		return Customweb_Core_Http_ContextRequest::getClientIPAddress();
	}

	/**
	 * Returns the max execution time of the current request.
	 * 
	 * @return number
	 */
	public static function getMaxExecutionTime() {
		$maxExecutionTime = ini_get('max_execution_time');

		// Returns the default value, in case the ini_get fails.
		if ($maxExecutionTime === null || empty($maxExecutionTime) || $maxExecutionTime < 0) {
			return 30;
		}
		else {
			return intval($maxExecutionTime);
		}
	}
	
	/**
	 * Returns the unix timestamp of the script execution start time.
	 * 
	 * @return number
	 */
	public static function getScriptStartTime() {
		// TODO: Add here a better approach to get the time.
		if (isset($_SERVER['REQUEST_TIME'])) {
			return $_SERVER['REQUEST_TIME'];
		}
		else {
			return time();
		}
	}
	
	/**
	 * This method returns the maximal script execution time.
	 * 
	 * @return number Unix time stamp, when the script will be killed.
	 */
	public static function getScriptExecutionEndTime() {
		return self::getScriptStartTime() + self::getMaxExecutionTime();
	}

	/**
	 * This method returns the position at which the compiler halts with compilation.
	 * 
	 * @param string $file Path to the file.
	 * @throws Exception
	 * @return number
	 */
	public static function getCompilerHaltOffset($file) {
		if (defined('__COMPILER_HALT_OFFSET__')) {
			return __COMPILER_HALT_OFFSET__;
		}

		$handle = fopen($file, 'r');
		$buffer = '';
		while (false !== ($char = fgetc($handle))) {
			$buffer .= $char;
			if ($buffer == '__halt_compiler();') {
				return ftell($handle);
			} elseif (strpos('__halt_compiler();', $buffer) !== 0) {
				$buffer = '';
			}
		}

		throw new Exception('__halt_compiler() not found.');
	}
	
	
	/**
	 * Returns the URL of the current request.
	 *
	 * @return string
	 * @deprecated Use instead the provided request object.
	 */
	public static function getRequestUrl() {
		$protocol = 'http';
		if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
			$protocol = 'https';
		}
	
		$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
		return $protocol . "://" . self::getRequestHost() . $port . $_SERVER['REQUEST_URI'];
	}
	
	/**
	 * Returns the host of the current request.
	 *
	 * @return string
	 * @deprecated Use instead the provided request object.
	 */
	public static function getRequestHost() {
		if (isset($_SERVER['HTTP_X_FORWARDED_HOST']) && !empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
			$host = $_SERVER['HTTP_X_FORWARDED_HOST'];
			$elements = explode(',', $host);
			$host = trim(end($elements));
		}
		else {
			if (isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST'])) {
				$host = $_SERVER['HTTP_HOST'];
			}
			else {
				if (isset($_SERVER['SERVER_NAME']) && !empty($_SERVER['SERVER_NAME'])) {
					$host = $_SERVER['SERVER_NAME'];
				}
				else {
					if (isset($_SERVER['SERVER_ADDR']) && !empty($_SERVER['SERVER_ADDR'])) {
						$host = $_SERVER['SERVER_ADDR'];
					}
					else {
						$host = '';
					}
				}
			}
		}
	
		// Remove port number from host
		$host = preg_replace('/:\d+$/', '', $host);
	
		return trim($host);
	}
	
	/**
	 * Clears the output buffer. Prevents any error reporting.
	 */
	public static function clearOutputBuffer() {
		set_error_handler(array('Customweb_Core_Util_System', 'voidErrors'));
		ob_end_clean();
		restore_error_handler();
	}
	
	public static function voidErrors() {
		
	}

}

Spamworldpro Mini