From 1f25f9e8afa78f3620bd8d7f24556b8e820755a6 Mon Sep 17 00:00:00 2001 From: Pedro Junior <v.ju.ni.or.v@gmail.com> Date: Mon, 8 Jul 2013 21:51:41 -0300 Subject: [PATCH 1/2] [pt_BR] Created Internet provider with brazilian domains, top-level domains and transliteration method. --- src/Faker/Provider/pt_BR/Internet.php | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/Faker/Provider/pt_BR/Internet.php diff --git a/src/Faker/Provider/pt_BR/Internet.php b/src/Faker/Provider/pt_BR/Internet.php new file mode 100644 index 00000000..00fd0d15 --- /dev/null +++ b/src/Faker/Provider/pt_BR/Internet.php @@ -0,0 +1,44 @@ +<?php + +namespace Faker\Provider\pt_BR; + +class Internet extends \Faker\Provider\Internet +{ + protected static $freeEmailDomain = array('gmail.com', 'yahoo.com', 'hotmail.com', 'uol.com.br', 'terra.com.br', 'ig.com.br'); + protected static $tld = array('com', 'com', 'com.br', 'com.br', 'net', 'net.br', 'br', 'org'); + + /** + * Converts pt-BR characters to their ASCII representation + * + * @param string $string + * @return string + */ + private static function toAscii($string) + { + return preg_replace('/&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);/i', '$1', + htmlentities($string, ENT_QUOTES, 'UTF-8')); + } + + /** + * @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)); + } +} From 533b83f8cd7fa6fc47208a4043652b91a7f4860d Mon Sep 17 00:00:00 2001 From: Pedro Junior <v.ju.ni.or.v@gmail.com> Date: Mon, 8 Jul 2013 21:54:26 -0300 Subject: [PATCH 2/2] Fix one invalid last name. --- src/Faker/Provider/pt_BR/Person.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Faker/Provider/pt_BR/Person.php b/src/Faker/Provider/pt_BR/Person.php index afbb8c59..fef16272 100644 --- a/src/Faker/Provider/pt_BR/Person.php +++ b/src/Faker/Provider/pt_BR/Person.php @@ -74,7 +74,7 @@ class Person extends \Faker\Provider\Person 'Salazar', 'Sales', 'Salgado', 'Sanches', 'Sandoval', 'Santacruz', 'Santana', 'Santiago', 'Saraiva', 'Sepúlveda', 'Serna', 'Serra', 'Serrano', 'Soares', 'Solano', 'Soto', 'Tamoio', 'Teles', 'Toledo', - 'Torres', 'Uchoa', 'Urias', 'Valdez', 'Valẽncia', 'Valentin', 'Vale', + 'Torres', 'Uchoa', 'Urias', 'Valdez', 'Valência', 'Valentin', 'Vale', 'Vasques', 'Vega', 'Velasques', 'Verdugo', 'Verdara', 'Vieira', 'Vila', 'Zamana', 'Zambrano', 'Zaragoça', 'da Cruz', 'da Rosa', 'da Silva', 'das Dores', 'das Neves', 'de Aguiar', 'de Oliveira', 'de Souza'