Exemplo n.º 1
0
 public function meta_type_geo($template, $weight = 50)
 {
     $template = explode('|', $template);
     $tags = array('country', 'country_code', 'country_abbr', 'city_prefix', 'city_suffix', 'city', 'state', 'state_abbr', 'address', 'secondary_address', 'building_number', 'street_name', 'street_address', 'postalcode', 'latitude', 'longitude');
     $text = array();
     foreach ($template as $key => $tag) {
         preg_match('|^\\{\\% *([^\\ ]*) *\\%\\}$|i', $tag, $_parsed);
         if (!empty($_parsed)) {
             list($element, $term) = $_parsed;
             switch ($term) {
                 case 'country':
                     $text[] = $this->generator->country;
                     break;
                 case 'country_code':
                     $text[] = \FakerPress\Utils::get_country_alpha_code($this->generator->country, 2);
                     break;
                 case 'country_abbr':
                     $text[] = \FakerPress\Utils::get_country_alpha_code($this->generator->country, 3);
                     break;
                 case 'city_prefix':
                     $text[] = $this->generator->cityPrefix;
                     break;
                 case 'city_suffix':
                     $text[] = $this->generator->citySuffix;
                     break;
                 case 'city':
                     $text[] = $this->generator->city;
                     break;
                 case 'state':
                     $text[] = $this->generator->state;
                     break;
                 case 'state_abbr':
                     $text[] = $this->generator->stateAbbr;
                     break;
                 case 'address':
                     $text[] = $this->generator->address;
                     break;
                 case 'secondary_address':
                     $text[] = $this->generator->secondaryAddress;
                     break;
                 case 'building_number':
                     $text[] = $this->generator->buildingNumber;
                     break;
                 case 'street_name':
                     $text[] = $this->generator->streetName;
                     break;
                 case 'street_address':
                     $text[] = $this->generator->streetAddress;
                     break;
                 case 'postalcode':
                     $text[] = $this->generator->postcode;
                     break;
                 case 'latitude':
                     $text[] = $this->generator->latitude;
                     break;
                 case 'longitude':
                     $text[] = $this->generator->longitude;
                     break;
             }
         } else {
             $text[] = empty($tag) ? ' ' : $tag;
         }
     }
     $value = $this->generator->optional((int) $weight, null)->randomElement((array) implode('', $text));
     return $value;
 }