diff --git a/Math/Matrix/DimensionException.php b/Math/Matrix/DimensionException.php deleted file mode 100644 index 29d1b9d66..000000000 --- a/Math/Matrix/DimensionException.php +++ /dev/null @@ -1,45 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Math\Matrix; - -/** - * Permission exception class. - * - * @category Framework - * @package phpOMS\System\File - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class DimensionException extends \RuntimeException -{ - /** - * Constructor. - * - * @param int $m Dimension M - * @param int $n Dimension N - * @param int $code Exception code - * @param \Exception Previous exception - * - * @since 1.0.0 - */ - public function __construct($m, $n, int $code = 0, \Exception $previous = null) - { - parent::__construct('Dimension of "' . $n . '-' . $m . '" invalid.', $code, $previous); - } -} diff --git a/Validation/Base/BIC.php b/Validation/Base/BIC.php deleted file mode 100644 index 26d584ffa..000000000 --- a/Validation/Base/BIC.php +++ /dev/null @@ -1,50 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class BIC extends ValidatorAbstract -{ - - /** - * Constructor. - * - * @since 1.0.0 - */ - public function __construct() - { - } - - /** - * {@inheritdoc} - */ - public static function isValid($value) : bool - { - return (bool) preg_match('/^[a-z]{6}[0-9a-z]{2}([0-9a-z]{3})?\z/i', $value); - } -} diff --git a/Validation/Base/CreditCard.php b/Validation/Base/CreditCard.php deleted file mode 100644 index 4c55c03d6..000000000 --- a/Validation/Base/CreditCard.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class CreditCard extends ValidatorAbstract -{ - - /** - * Constructor. - * - * @since 1.0.0 - */ - public function __construct() - { - } - - /** - * {@inheritdoc} - */ - public static function isValid($value) : bool - { - $value = preg_replace('/\D/', '', $value); - - // Set the string length and parity - $number_length = strlen($value); - $parity = $number_length % 2; - - // Loop through each digit and do the maths - $total = 0; - for ($i = 0; $i < $number_length; $i++) { - $digit = $value[$i]; - // Multiply alternate digits by two - if ($i % 2 == $parity) { - $digit *= 2; - // If the sum is two digits, add them together (in effect) - if ($digit > 9) { - $digit -= 9; - } - } - // Total up the digits - $total += $digit; - } - - // If the total mod 10 equals 0, the value is valid - return ($total % 10 == 0) ? true : false; - } - - /** - * Luhn algorithm or mod 10 algorithm is used to verify credit cards. - * - * @param string $num Credit card number. - * - * @return bool Returns true if the number is a valid credit card and false if it isn't. - * - * @since 1.0.0 - */ - public static function luhnTest(string $num) : bool - { - $len = strlen($num); - $sum = 0; - - for ($i = $len - 1; $i >= 0; $i--) { - $ord = ord($num[$i]); - - if (($len - 1) & $i) { - $sum += $ord; - } else { - $sum += $ord / 5 + (2 * $ord) % 10; - } - } - - return $sum % 10 == 0; - } -} diff --git a/Validation/Base/Email.php b/Validation/Base/Email.php deleted file mode 100644 index 6091e70e1..000000000 --- a/Validation/Base/Email.php +++ /dev/null @@ -1,60 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class Email extends ValidatorAbstract -{ - - /** - * Constructor. - * - * @since 1.0.0 - */ - private function __construct() - { - } - - /** - * {@inheritdoc} - */ - public static function isValid(string $value) : bool - { - if (filter_var($value, FILTER_VALIDATE_EMAIL) === false) { - self::$msg = 'Invalid Email by filter_var standards'; - self::$error = 1; - - return false; - } - - self::$msg = ''; - self::$error = 0; - - return true; - } -} diff --git a/Validation/Base/Hostname.php b/Validation/Base/Hostname.php deleted file mode 100644 index 9421c9c5c..000000000 --- a/Validation/Base/Hostname.php +++ /dev/null @@ -1,50 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class Hostname extends ValidatorAbstract -{ - - /** - * Constructor. - * - * @since 1.0.0 - */ - public function __construct() - { - } - - /** - * {@inheritdoc} - */ - public static function isValid($value) : bool - { - return filter_var(gethostbyname($value), FILTER_VALIDATE_IP) !== false; - } -} diff --git a/Validation/Base/Iban.php b/Validation/Base/Iban.php deleted file mode 100644 index 1c2a9c56b..000000000 --- a/Validation/Base/Iban.php +++ /dev/null @@ -1,174 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class Iban extends ValidatorAbstract -{ - /** - * Constructor. - * - * @since 1.0.0 - */ - private function __construct() - { - } - - /** - * @param string $value Iban to validate - * - * @return bool - * - * @since 1.0.0 - */ - public static function isValid($value) : bool - { - $value = str_replace(' ', '', strtolower($value)); - $enumName = 'C_' . strtoupper(substr($value, 0, 2)); - - if (!IbanEnum::isValidName($enumName)) { - self::$error = IbanErrorType::INVALID_COUNTRY; - - return false; - } - - $layout = str_replace(' ', '', IbanEnum::getByName($enumName)); - - if (strlen($value) !== strlen($layout)) { - self::$error = IbanErrorType::INVALID_LENGTH; - - return false; - } - - if (!self::validateZeros($value, $layout)) { - self::$error = IbanErrorType::EXPECTED_ZERO; - - return false; - } - - if (!self::validateNumeric($value, $layout)) { - self::$error = IbanErrorType::EXPECTED_NUMERIC; - - return false; - } - - if (!self::validateChecksum($value)) { - self::$error = IbanErrorType::INVALID_CHECKSUM; - - return false; - } - - return true; - } - - /** - * Validate positions that should have zeros - * - * @param string $iban Iban to validate - * @param string $layout Iban layout - * - * @return bool - * - * @since 1.0.0 - */ - private static function validateZeros(string $iban, string $layout) : bool - { - if (strpos($layout, '0') === false) { - return true; - } - - $lastPos = 0; - while (($lastPos = strpos($layout, '0', $lastPos)) !== false) { - if ($iban[$lastPos] !== '0') { - return false; - } - - $lastPos += 1; - } - - return true; - } - - /** - * Validate positions that should be numeric - * - * @param string $iban Iban to validate - * @param string $layout Iban layout - * - * @return bool - * - * @since 1.0.0 - */ - private static function validateNumeric(string $iban, string $layout) : bool - { - if (strpos($layout, 'n') === false) { - return true; - } - - $lastPos = 0; - while (($lastPos = strpos($layout, 'n', $lastPos)) !== false) { - if (!is_numeric($iban[$lastPos])) { - return false; - } - - $lastPos += 1; - } - - return true; - } - - /** - * Validate checksum - * - * @param string $iban Iban to validate - * - * @return bool - * - * @since 1.0.0 - */ - private static function validateChecksum(string $iban) : bool - { - $chars = ['a' => 10, 'b' => 11, 'c' => 12, 'd' => 13, 'e' => 14, 'f' => 15, 'g' => 16, 'h' => 17, 'i' => 18, - 'j' => 19, 'k' => 20, 'l' => 21, 'm' => 22, 'n' => 23, 'o' => 24, 'p' => 25, 'q' => 26, 'r' => 27, - 's' => 28, 't' => 29, 'u' => 30, 'v' => 31, 'w' => 32, 'x' => 33, 'y' => 34, 'z' => 35,]; - $moved = substr($iban, 4) . substr($iban, 0, 4); - $movedArray = str_split($moved); - $new = ''; - - foreach ($movedArray as $key => $value) { - if (!is_numeric($movedArray[$key])) { - $movedArray[$key] = $chars[$movedArray[$key]]; - } - - $new .= $movedArray[$key]; - } - - return bcmod($new, '97') == 1; - } -} diff --git a/Validation/Base/IbanEnum.php b/Validation/Base/IbanEnum.php deleted file mode 100644 index c6a9af503..000000000 --- a/Validation/Base/IbanEnum.php +++ /dev/null @@ -1,115 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Datatypes\Enum; - -/** - * Iban layout definition. - * - * @category Framework - * @package phpOMS\Localization - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class IbanEnum extends Enum -{ - /* public */ const C_AL = 'ALkk bbbs sssx cccc cccc cccc cccc'; - /* public */ const C_AD = 'ADkk bbbb ssss cccc cccc cccc'; - /* public */ const C_AT = 'ATkk bbbb bccc cccc cccc'; - /* public */ const C_AZ = 'AZkk bbbb cccc cccc cccc cccc cccc '; - /* public */ const C_BH = 'BHkk bbbb cccc cccc cccc cc'; - /* public */ const C_BE = 'BEkk bbbc cccc ccxx'; - /* public */ const C_BA = 'BAkk bbbs sscc cccc ccxx'; - /* public */ const C_BR = 'BRkk bbbb bbbb ssss sccc cccc ccct n'; - /* public */ const C_BG = 'BGkk bbbb ssss ttcc cccc cc'; - /* public */ const C_CR = 'CRkk bbbc cccc cccc cccc c'; - /* public */ const C_HR = 'HRkk bbbb bbbc cccc cccc c'; - /* public */ const C_CY = 'CYkk bbbs ssss cccc cccc cccc cccc'; - /* public */ const C_CZ = 'CZkk bbbb ssss sscc cccc cccc'; - /* public */ const C_DK = 'DKkk bbbb cccc cccc cc'; - /* public */ const C_DO = 'DOkk bbbb cccc cccc cccc cccc cccc'; - /* public */ const C_TL = 'TLkk bbbc cccc cccc cccc cxx'; - /* public */ const C_EE = 'EEkk bbss cccc cccc cccx'; - /* public */ const C_FO = 'FOkk bbbb cccc cccc cx'; - /* public */ const C_FI = 'FIkk bbbb bbcc cccc cx'; - /* public */ const C_FR = 'FRkk bbbb bsss sscc cccc cccc cxx'; - /* public */ const C_GE = 'GEkk bbcc cccc cccc cccc cc'; - /* public */ const C_DE = 'DEkk bbbb bbbb cccc cccc cc'; - /* public */ const C_GI = 'GIkk bbbb cccc cccc cccc ccc'; - /* public */ const C_GR = 'GRkk bbbs sssc cccc cccc cccc ccc'; - /* public */ const C_GL = 'GLkk bbbb cccc cccc cc'; - /* public */ const C_GT = 'GTkk bbbb mmtt cccc cccc cccc cccc'; - /* public */ const C_HU = 'HUkk bbbs sssk cccc cccc cccc cccx'; - /* public */ const C_IS = 'ISkk bbbb sscc cccc iiii iiii ii'; - /* public */ const C_IE = 'IEkk aaaa bbbb bbcc cccc cc'; - /* public */ const C_IL = 'ILkk bbbn nncc cccc cccc ccc'; - /* public */ const C_IT = 'ITkk xbbb bbss sssc cccc cccc ccc'; - /* public */ const C_JO = 'JOkk bbbb ssss cccc cccc cccc cccc cc'; - /* public */ const C_KZ = 'KZkk bbbc cccc cccc cccc'; - /* public */ const C_XK = 'XKkk bbbb cccc cccc cccc'; - /* public */ const C_KW = 'KWkk bbbb cccc cccc cccc cccc cccc cc'; - /* public */ const C_LV = 'LVkk bbbb cccc cccc cccc c'; - /* public */ const C_LB = 'LBkk bbbb cccc cccc cccc cccc cccc'; - /* public */ const C_LI = 'LIkk bbbb bccc cccc cccc c'; - /* public */ const C_LT = 'LTkk bbbb bccc cccc cccc'; - /* public */ const C_LU = 'LUkk bbbc cccc cccc cccc'; - /* public */ const C_MK = 'MKkk bbbc cccc cccc cxx'; - /* public */ const C_MT = 'MTkk bbbb ssss sccc cccc cccc cccc ccc'; - /* public */ const C_MR = 'MRkk bbbb bsss sscc cccc cccc cxx'; - /* public */ const C_MU = 'MUkk bbbb bbss cccc cccc cccc 000m mm'; - /* public */ const C_MC = 'MCkk bbbb bsss sscc cccc cccc cxx'; - /* public */ const C_MD = 'MDkk bbcc cccc cccc cccc cccc'; - /* public */ const C_ME = 'MEkk bbbc cccc cccc cccc xx'; - /* public */ const C_NL = 'NLkk bbbb cccc cccc cc'; - /* public */ const C_NO = 'NOkk bbbb cccc ccx'; - /* public */ const C_PK = 'PKkk bbbb cccc cccc cccc cccc'; - /* public */ const C_PS = 'PSkk bbbb xxxx xxxx xccc cccc cccc c'; - /* public */ const C_PL = 'PLkk bbbs sssx cccc cccc cccc cccc'; - /* public */ const C_PT = 'PTkk bbbb ssss cccc cccc cccx x'; - /* public */ const C_QA = 'QAkk bbbb cccc cccc cccc cccc cccc c'; - /* public */ const C_RO = 'ROkk bbbb cccc cccc cccc cccc'; - /* public */ const C_SM = 'SMkk xbbb bbss sssc cccc cccc ccc'; - /* public */ const C_SA = 'SAkk bbcc cccc cccc cccc cccc'; - /* public */ const C_RS = 'RSkk bbbc cccc cccc cccc xx'; - /* public */ const C_SK = 'SKkk bbbb ssss sscc cccc cccc'; - /* public */ const C_SI = 'SIkk bbss sccc cccc cxx'; - /* public */ const C_ES = 'ESkk bbbb ssss xxcc cccc cccc'; - /* public */ const C_SE = 'SEkk bbbc cccc cccc cccc cccc'; - /* public */ const C_CH = 'CHkk bbbb bccc cccc cccc c'; - /* public */ const C_TN = 'TNkk bbss sccc cccc cccc cccc'; - /* public */ const C_TR = 'TRkk bbbb bxcc cccc cccc cccc cc'; - /* public */ const C_UA = 'UAkk bbbb bbcc cccc cccc cccc cccc c'; - /* public */ const C_AE = 'AEkk bbbc cccc cccc cccc ccc'; - /* public */ const C_GB = 'GBkk bbbb ssss sscc cccc cc'; - /* public */ const C_VG = 'VGkk bbbb cccc cccc cccc cccc'; - /* public */ const C_SN = 'SNkk annn nnnn nnnn nnnn nnnn nnnn'; - /* public */ const C_MZ = 'MZkk nnnn nnnn nnnn nnnn nnnn n'; - /* public */ const C_ML = 'MLkk annn nnnn nnnn nnnn nnnn nnnn'; - /* public */ const C_MG = 'MGkk nnnn nnnn nnnn nnnn nnnn nnn'; - /* public */ const C_CI = 'CIkk annn nnnn nnnn nnnn nnnn nnnn'; - /* public */ const C_IR = 'IRkk nnnn nnnn nnnn nnnn nnnn nn'; - /* public */ const C_CV = 'CVkk nnnn nnnn nnnn nnnn nnnn n'; - /* public */ const C_CM = 'CMkk nnnn nnnn nnnn nnnn nnnn nnn'; - /* public */ const C_BI = 'BIkk nnnn nnnn nnnn'; - /* public */ const C_BF = 'BFkk nnnn nnnn nnnn nnnn nnnn nnn'; - /* public */ const C_BJ = 'BJkk annn nnnn nnnn nnnn nnnn nnnn'; - /* public */ const C_AO = 'AOkk nnnn nnnn nnnn nnnn nnnn n'; - /* public */ const C_DZ = 'DZkk nnnn nnnn nnnn nnnn nnnn'; -} diff --git a/Validation/Base/IbanErrorType.php b/Validation/Base/IbanErrorType.php deleted file mode 100644 index 29880dc1c..000000000 --- a/Validation/Base/IbanErrorType.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Datatypes\Enum; - -/** - * Iban error type enum. - * - * @category Framework - * @package phpOMS\Datatypes - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class IbanErrorType extends Enum -{ - /* public */ const INVALID_COUNTRY = 1; - /* public */ const INVALID_LENGTH = 2; - /* public */ const INVALID_CHECKSUM = 4; - /* public */ const EXPECTED_ZERO = 8; - /* public */ const EXPECTED_NUMERIC = 16; -} diff --git a/Validation/Base/Ip.php b/Validation/Base/Ip.php deleted file mode 100644 index 6404d4b54..000000000 --- a/Validation/Base/Ip.php +++ /dev/null @@ -1,60 +0,0 @@ - - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -declare(strict_types=1); - -namespace phpOMS\Validation\Base; - -use phpOMS\Validation\ValidatorAbstract; - -/** - * Validator abstract. - * - * @category Validation - * @package Framework - * @author OMS Development Team - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class Ip extends ValidatorAbstract -{ - - /** - * Constructor. - * - * @since 1.0.0 - */ - public function __construct() - { - } - - /** - * {@inheritdoc} - */ - public static function isValid($value) : bool - { - return filter_var($value, FILTER_VALIDATE_IP) !== false; - } - - public static function isValidIpv6($value) : bool - { - return filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) !== false; - } - - public static function isValidIpv4($value) : bool - { - return filter_var($value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) !== false; - } -}