芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/xmintal-back/vendor/fakerphp/faker/src/Faker/Provider/kk_KZ/Person.php
[ self::CENTURY_19TH => self::MALE_CENTURY_19TH, self::CENTURY_20TH => self::MALE_CENTURY_20TH, self::CENTURY_21ST => self::MALE_CENTURY_21ST, ], self::GENDER_FEMALE => [ self::CENTURY_19TH => self::FEMALE_CENTURY_19TH, self::CENTURY_20TH => self::FEMALE_CENTURY_20TH, self::CENTURY_21ST => self::FEMALE_CENTURY_21ST, ], ]; /** * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F * * @var array */ protected static $maleNameFormats = [ '{{lastName}}ұлы {{firstNameMale}}', ]; /** * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F * * @var array */ protected static $femaleNameFormats = [ '{{lastName}}қызы {{firstNameFemale}}', ]; /** * @see http://koshpendi.kz/index.php/nomad/imena/ * * @var array */ protected static $firstNameMale = [ 'Аылғазы', 'Әбдіқадыр', 'Бабағожа', 'Ғайса', 'Дәмен', 'Егізбек', 'Жазылбек', 'Зұлпықар', 'Игісін', 'Кәдіржан', 'Қадырқан', 'Латиф', 'Мағаз', 'Нармағамбет', 'Оңалбай', 'Өндіріс', 'Пердебек', 'Рақат', 'Сағындық', 'Танабай', 'Уайыс', 'Ұйықбай', 'Үрімбай', 'Файзрахман', 'Хангелді', 'Шаттық', 'Ыстамбақы', 'Ібни', ]; /** * @see http://koshpendi.kz/index.php/nomad/imena/ * * @var array */ protected static $firstNameFemale = [ 'Асылтас', 'Әужа', 'Бүлдіршін', 'Гүлшаш', 'Ғафура', 'Ділдә', 'Еркежан', 'Жібек', 'Зылиқа', 'Ирада', 'Күнсұлу', 'Қырмызы', 'Ләтипа', 'Мүштәри', 'Нұршара', 'Орынша', 'Өрзия', 'Перизат', 'Рухия', 'Сындыбала', 'Тұрсынай', 'Уәсима', 'Ұрқия', 'Үрия', 'Фируза', 'Хафиза', 'Шырынгүл', 'Ырысты', 'Іңкәр', ]; /** * @see http://koshpendi.kz/index.php/nomad/imena/ * @see https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%B7%D0%B0%D1%85%D1%81%D0%BA%D0%B0%D1%8F_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D1%8F * * @var array */ protected static $lastName = [ 'Адырбай', 'Әжібай', 'Байбөрі', 'Ғизат', 'Ділдабек', 'Ешмұхамбет', 'Жігер', 'Зікірия', 'Иса', 'Кунту', 'Қыдыр', 'Лұқпан', 'Мышырбай', 'Нысынбай', 'Ошақбай', 'Өтетілеу', 'Пірәлі', 'Рүстем', 'Сырмұхамбет', 'Тілеміс', 'Уәлі', 'Ұлықбек', 'Үстем', 'Фахир', 'Хұсайын', 'Шілдебай', 'Ыстамбақы', 'Ісмет', ]; /** * Note! When calculating individual identification number * 2000-01-01 - 2000-12-31 counts as 21th century * 1900-01-01 - 1900-12-31 counts as 20th century * * @param int $year * * @return int */ private static function getCenturyByYear($year) { if (($year >= 2100) || ($year < 1800)) { throw new \InvalidArgumentException('Unexpected century'); } if ($year >= 2000) { return self::CENTURY_21ST; } if ($year >= 1900) { return self::CENTURY_20TH; } return self::CENTURY_19TH; } /** * National Individual Identification Numbers * * @see http://egov.kz/wps/portal/Content?contentPath=%2Fegovcontent%2Fcitizen_migration%2Fpassport_id_card%2Farticle%2Fiin_info&lang=en * @see https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80 * * @param \DateTime $birthDate * @param int $gender * * @return string 12 digits, like 780322300455 */ public static function individualIdentificationNumber(\DateTime $birthDate = null, $gender = self::GENDER_MALE) { if (!$birthDate) { $birthDate = DateTime::dateTimeBetween(); } do { $population = self::numberBetween(1000, 2000); $century = self::getCenturyByYear((int) $birthDate->format('Y')); $iin = $birthDate->format('ymd'); $iin .= (string) self::$genderCenturyMap[$gender][$century]; $iin .= (string) $population; $checksum = self::checkSum($iin); } while ($checksum === 10); return $iin . (string) $checksum; } /** * @param string $iinValue * * @return int */ public static function checkSum($iinValue) { $controlDigit = self::getControlDigit($iinValue, self::$firstSequenceBitWeights); if ($controlDigit === 10) { return self::getControlDigit($iinValue, self::$secondSequenceBitWeights); } return $controlDigit; } /** * @param string $iinValue * @param array $sequence * * @return int */ protected static function getControlDigit($iinValue, $sequence) { $sum = 0; for ($i = 0; $i <= 10; ++$i) { $sum += (int) $iinValue[$i] * $sequence[$i]; } return $sum % 11; } }