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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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



/**
 * Basic language object
 * 
 * @author Thomas Hunziker / Nico Eigenmann
 *
 */
class Customweb_Core_Language {
	
	private $ietfCode;
	private $language = null;
	
	/**
	 * Accepts any language input (IETF code, ISO Code or any other language name)
	 * 
	 * @param string $language
	 * @throws Exception
	 */
	public function __construct($language) {
		$language = (string)$language;
		Customweb_Core_Assert::hasLength($language, "The given language is empty.");
		$this->language = $language;
	}

	/**
	 * This method determines based on the provide HTTP header which language may be best match.
	 *
	 * @return Customweb_Core_Language
	 */
	public static function resolveCurrentLanguage() {
		$header = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
		if (strlen($header) >= 5 && preg_match('/([a-z]{2})[-_]{1}([a-z]{2})/i', substr($header, 0, 5))) {
			return new Customweb_Core_Language(substr($header, 0, 5));
		}
		else if (strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2 && preg_match('/[a-z]{2}/i', substr($header, 0, 2))) {
			return new Customweb_Core_Language(substr($header, 0, 2));
		}
		
		// In case no approach above does work we fall back to en_US
		return new Customweb_Core_Language("en_US");
	}
	
	
	/**
	 * @return string
	 */
	public function getIetfCode() {
		return Customweb_Core_Util_Language::getIetfCode($this->language);
	}
	
	/**
	 * @return string
	 */
	public function getIso2LetterCode() {
		return Customweb_Core_Util_Language::getLanguageFromIETF(Customweb_Core_Util_Language::getIetfCode($this->language));
	}
	
	/**
	 * @return string
	 */
	public function __toString() {
		return $this->language;
	}
	
	/**
	 * This method returns the not normalized language code / name input.
	 * 
	 * @return string
	 */
	public function getOriginalLanguageInput() {
		return $this->language;
	}
	
}

Spamworldpro Mini