From fcd4e7443434c4973d51fbc7842d39c4ec78deda Mon Sep 17 00:00:00 2001 From: Hasan Degismez Date: Thu, 19 Sep 2013 00:20:02 +0300 Subject: [PATCH] Improvements for Turkish internet provider --- src/Faker/Provider/tr_TR/Internet.php | 40 ++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/Faker/Provider/tr_TR/Internet.php b/src/Faker/Provider/tr_TR/Internet.php index 945b6af3..8e8955f0 100644 --- a/src/Faker/Provider/tr_TR/Internet.php +++ b/src/Faker/Provider/tr_TR/Internet.php @@ -4,5 +4,43 @@ namespace Faker\Provider\tr_TR; class Internet extends \Faker\Provider\Internet { - protected static $tld = array('com', 'com', 'com', 'com', 'com', 'com.tr', 'biz', 'info', 'net', 'org','az'); + protected static $freeEmailDomain = array('gmail.com', 'hotmail.com', 'yahoo.com', 'mynet.com', 'ttmail.com', 'turk.net'); + protected static $tld = array('com', 'com', 'com', 'com', 'com.tr', 'com.tr', 'info', 'net', 'org', 'org.tr','edu', 'edu.tr', 'edu.tr'); + + /** + * Converts Turkish characters to their ASCII representation + * + * @return string + */ + private static function toAscii($string) + { + + $from = array('ı', 'İ', 'ç', 'Ç', 'ğ', 'Ğ', 'ş', 'Ş', 'ü', 'Ü', 'ö', 'Ö'); + $to = array('i', 'I', 'c', 'C', 'g', 'G', 's', 'S', 'u', 'U', 'o', 'O'); + + return str_replace($from, $to, $string); + } + + /** + * @example 'jdoe' + */ + public function userName() + { + $format = static::randomElement(static::$userNameFormats); + + return static::toLower(static::toAscii(static::bothify($this->generator->parse($format)))); + } + + /** + * @example 'faber' + */ + public function domainWord() + { + $company = $this->generator->format('company'); + $companyElements = explode(' ', $company); + $company = $companyElements[0]; + $company = preg_replace('/\W/u', '', $company); + + return static::toLower(static::toAscii($company)); + } }