Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Faker\Provider\tr_TR;class Person extends \Faker\Provider\Person{/*** @var array Turkish person name formats.*/protected static $maleNameFormats = ['{{firstNameMale}} {{lastName}}','{{firstNameMale}} {{lastName}}','{{firstNameMale}} {{lastName}}','{{titleMale}} {{firstNameMale}} {{lastName}}',];protected static $femaleNameFormats = ['{{firstNameFemale}} {{lastName}}','{{firstNameFemale}} {{lastName}}','{{firstNameFemale}} {{lastName}}','{{titleFemale}} {{firstNameFemale}} {{lastName}}',];/*** @see http://www.guzelisimler.com/en_cok_aranan_erkek_isimleri.php** @var array Turkish first names.*/protected static $firstNameMale = ['Ahmet', 'Ali', 'Alp', 'ArmaÄŸan', 'Atakan', 'AÅŸkın', 'Baran', 'Bartu', 'Berk', 'Berkay', 'Berke', 'Bora', 'Burak', 'Canberk','Cem', 'Cihan', 'Deniz', 'Efe', 'Ege', 'Ege', 'Emir', 'Emirhan', 'Emre', 'Ferid', 'Göktürk', 'Görkem', 'Güney','Kağan', 'Kerem', 'Koray', 'Kutay', 'Mert', 'Onur', 'Ogün', 'Polat', 'Rüzgar', 'Sarp', 'Serhan', 'Toprak', 'Tuna','Türker', 'Utku', 'Yağız', 'YiÄŸit', 'Çınar', 'Derin', 'Meriç', 'Barlas', 'DaÄŸhan', 'Doruk', 'ÇaÄŸan',];/*** @see http://www.guzelisimler.com/en_cok_aranan_kiz_isimleri.php** @var array Turkish first names.*/protected static $firstNameFemale = ['Ada', 'Esma', 'Emel', 'Ebru', 'Åžahnur', 'Ümran', 'Sinem', 'İrem', 'Rüya', 'Ece', 'Burcu',];/*** @see http://tr.wikipedia.org/wiki/Kategori:T%C3%BCrk%C3%A7e_soyadlar%C4%B1** @var array Turkish last names.*/protected static $lastName = ['Abacı', 'Abadan', 'Aclan', 'Adal', 'Adan', 'Adıvar', 'Akal', 'Akan', 'Akar', 'Akay','Akaydın', 'Akbulut', 'Akgül', 'Akışık', 'Akman', 'Akyürek', 'Akyüz', 'AkÅŸit', 'Alnıaçık','AlpuÄŸan', 'Alyanak', 'Arıcan', 'ArslanoÄŸlu', 'Atakol', 'Atan', 'Avan', 'Ayaydın', 'Aybar','Aydan', 'Aykaç', 'Ayverdi', 'AÄŸaoÄŸlu', 'AşıkoÄŸlu', 'Babacan', 'BabaoÄŸlu', 'Bademci','BakırcıoÄŸlu', 'Balaban', 'Balcı', 'BarbarosoÄŸlu', 'Baturalp', 'Baykam', 'BaÅŸoÄŸlu', 'BerberoÄŸlu','BeÅŸerler', 'BeÅŸok', 'Biçer', 'Bolatlı', 'Dalkıran', 'DaÄŸdaÅŸ', 'DaÄŸlaroÄŸlu', 'DemirbaÅŸ', 'Demirel','Denkel', 'Dizdar', 'Doğan', 'Durak', 'Durmaz', 'Duygulu', 'Düşenkalkar', 'Egeli', 'Ekici', 'Ekşioğlu','Eliçin', 'Elmastaşoğlu', 'Elçiboğa', 'Erbay', 'Erberk', 'Erbulak', 'Erdoğan', 'Erez', 'Erginsoy','Erkekli', 'Eronat', 'Ertepınar', 'Ertürk', 'Erçetin', 'EvliyaoÄŸlu', 'Fahri', 'GönültaÅŸ', 'Gümüşpala','Günday', 'Gürmen', 'Ilıcalı', 'Kahveci', 'Kaplangı', 'Karabulut', 'Karaböcek', 'KaradaÅŸ', 'Karaduman','Karaer', 'KasapoÄŸlu', 'KavaklıoÄŸlu', 'Kaya', 'KeseroÄŸlu', 'Keçeci', 'Kılıççı', 'Kıraç', 'Kocabıyık','Korol', 'Koyuncu', 'Koç', 'KoçoÄŸlu', 'KoçyiÄŸit', 'Kuday', 'KulaksızoÄŸlu', 'KumcuoÄŸlu', 'Kunt','Kunter', 'KurutluoÄŸlu', 'Kutlay', 'Kuzucu', 'Körmükçü', 'Köybaşı', 'KöylüoÄŸlu', 'Küçükler', 'LimoncuoÄŸlu','Mayhoş', 'Menemencioğlu', 'Mertoğlu', 'Nalbantoğlu', 'Nebioğlu', 'Numanoğlu', 'Okumuş', 'Okur', 'Oraloğlu','Orbay', 'Ozansoy', 'Paksüt', 'Pekkan', 'Pektemek', 'Polat', 'PoyrazoÄŸlu', 'Poçan', 'Sadıklar', 'Samancı','Sandalcı', 'SarıoÄŸlu', 'Saygıner', 'Sepetçi', 'Sezek', 'SinanoÄŸlu', 'Solmaz', 'Sözeri', 'SüleymanoÄŸlu','TahincioÄŸlu', 'Tanrıkulu', 'Tazegül', 'TaÅŸlı', 'Taşçı', 'Tekand', 'TekelioÄŸlu', 'TokatlıoÄŸlu', 'Tokgöz','TopaloÄŸlu', 'TopçuoÄŸlu', 'Toraman', 'Tunaboylu', 'Tunçeri', 'TuÄŸlu', 'TuÄŸluk', 'TürkdoÄŸan', 'Türkyılmaz','Tütüncü', 'Tüzün', 'Uca', 'Uluhan', 'VelioÄŸlu', 'Yalçın', 'Yazıcı', 'Yetkiner', 'YeÅŸilkaya', 'Yıldırım','YıldızoÄŸlu', 'Yılmazer', 'Yorulmaz', 'Çamdalı', 'ÇapanoÄŸlu', 'ÇatalbaÅŸ', 'Çağıran', 'Çetin', 'Çetiner','Çevik', 'Çörekçi', 'Önür', 'Örge', 'Öymen', 'Özberk', 'Özbey', 'Özbir', 'Özdenak', 'Özdoğan', 'Özgörkey','Özkara', 'Özkök', 'Öztonga', 'Öztuna',];protected static $title = ['Doç. Dr.', 'Dr.', 'Prof. Dr.'];public function title($gender = null){return static::titleMale();}/*** replaced by specific unisex Turkish title*/public static function titleMale(){return static::randomElement(static::$title);}/*** replaced by specific unisex Turkish title*/public static function titleFemale(){return static::titleMale();}/*** National Personal Identity number (tc kimlik no)** @see https://en.wikipedia.org/wiki/Turkish_Identification_Number** @return string on format XXXXXXXXXXX*/public function tcNo(){$randomDigits = static::numerify('#########');$checksum = self::tcNoChecksum($randomDigits);return $randomDigits . $checksum;}/*** Generates Turkish Identity Number Checksum* Gets first 9 digit as prefix and calculates checksum** @see https://en.wikipedia.org/wiki/Turkish_Identification_Number** @param string $identityPrefix** @return string Checksum (two digit)*/public static function tcNoChecksum($identityPrefix){if (strlen((string) $identityPrefix) !== 9) {throw new \InvalidArgumentException('Argument should be an integer and should be 9 digits.');}$oddSum = 0;$evenSum = 0;$identityArray = array_map('intval', str_split($identityPrefix)); // Creates array from intforeach ($identityArray as $index => $digit) {if ($index % 2 === 0) {$evenSum += $digit;} else {$oddSum += $digit;}}$tenthDigit = (7 * $evenSum - $oddSum) % 10;$eleventhDigit = ($evenSum + $oddSum + $tenthDigit) % 10;return $tenthDigit . $eleventhDigit;}/*** Checks whether a TCNo has a valid checksum** @param string $tcNo** @return bool*/public static function tcNoIsValid($tcNo){return self::tcNoChecksum(substr($tcNo, 0, -2)) === substr($tcNo, -2, 2);}}