1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Implements PMA_StringByte interface using native PHP functions.
*
* @package PhpMyAdmin-String
* @subpackage Native
*/
if (! defined('PHPMYADMIN')) {
exit;
}
require_once 'libraries/StringAbstractType.class.php';
/**
* Implements PMA_StringByte interface using native PHP functions.
*
* @package PhpMyAdmin-String
* @subpackage Native
* @todo May be join this class with PMA_StringNative class
*/
class PMA_StringNativeType extends PMA_StringAbstractType
{
/**
* Checks if a character is an alphanumeric one
*
* @param string $c character to check for
*
* @return boolean whether the character is an alphanumeric one or not
*/
public function isAlnum($c)
{
return ($this->isAlpha($c) || $this->isDigit($c));
} // end of the "isAlnum()" function
/**
* Checks if a character is an alphabetic one
*
* @param string $c character to check for
*
* @return boolean whether the character is an alphabetic one or not
*/
public function isAlpha($c)
{
return ($this->isUpper($c) || $this->isLower($c));
} // end of the "isAlpha()" function
/**
* Checks if a character is a digit
*
* @param string $c character to check for
*
* @return boolean whether the character is a digit or not
*/
public function isDigit($c)
{
$ord_zero = 48; //ord('0');
$ord_nine = 57; //ord('9');
$ord_c = ord($c);
return $this->numberInRangeInclusive($ord_c, $ord_zero, $ord_nine);
} // end of the "isDigit()" function
/**
* Checks if a character is an upper alphabetic one
*
* @param string $c character to check for
*
* @return boolean whether the character is an upper alphabetic one or not
*/
public function isUpper($c)
{
$ord_A = 65; //ord('A');
$ord_Z = 90; //ord('Z');
$ord_c = ord($c);
return $this->numberInRangeInclusive($ord_c, $ord_A, $ord_Z);
} // end of the "isUpper()" function
/**
* Checks if a character is a lower alphabetic one
*
* @param string $c character to check for
*
* @return boolean whether the character is a lower alphabetic one or not
*/
public function isLower($c)
{
$ord_a = 97; //ord('a');
$ord_z = 122; //ord('z');
$ord_c = ord($c);
return $this->numberInRangeInclusive($ord_c, $ord_a, $ord_z);
} // end of the "isLower()" function
/**
* Checks if a character is a space one
*
* @param string $c character to check for
*
* @return boolean whether the character is a space one or not
*/
public function isSpace($c)
{
$ord_space = 32; //ord(' ')
$ord_tab = 9; //ord('\t')
$ord_CR = 13; //ord('\n')
$ord_NOBR = 160; //ord('U+00A0);
$ord_c = ord($c);
return ($ord_c == $ord_space
|| $ord_c == $ord_NOBR
|| $this->numberInRangeInclusive($ord_c, $ord_tab, $ord_CR));
} // end of the "isSpace()" function
/**
* Checks if a character is an hexadecimal digit
*
* @param string $c character to check for
*
* @return boolean whether the character is an hexadecimal digit or not
*/
public function isHexDigit($c)
{
$ord_Aupper = 65; //ord('A');
$ord_Fupper = 70; //ord('F');
$ord_Alower = 97; //ord('a');
$ord_Flower = 102; //ord('f');
$ord_zero = 48; //ord('0');
$ord_nine = 57; //ord('9');
$ord_c = ord($c);
return ($this->numberInRangeInclusive($ord_c, $ord_zero, $ord_nine)
|| $this->numberInRangeInclusive($ord_c, $ord_Aupper, $ord_Fupper)
|| $this->numberInRangeInclusive($ord_c, $ord_Alower, $ord_Flower));
} // end of the "isHexDigit()" function
}
?>
|