@@ -20,19 +20,19 @@ |
||
| 20 | 20 | class ReviewCollection extends AbstractCollection |
| 21 | 21 | { |
| 22 | 22 | |
| 23 | - /** |
|
| 24 | - * @var string |
|
| 25 | - */ |
|
| 26 | - protected $item_class = Review::class; |
|
| 23 | + /** |
|
| 24 | + * @var string |
|
| 25 | + */ |
|
| 26 | + protected $item_class = Review::class; |
|
| 27 | 27 | |
| 28 | - /** |
|
| 29 | - * @param $item |
|
| 30 | - * |
|
| 31 | - * @return Review |
|
| 32 | - */ |
|
| 33 | - protected function parseItem($item): Review |
|
| 34 | - { |
|
| 28 | + /** |
|
| 29 | + * @param $item |
|
| 30 | + * |
|
| 31 | + * @return Review |
|
| 32 | + */ |
|
| 33 | + protected function parseItem($item): Review |
|
| 34 | + { |
|
| 35 | 35 | |
| 36 | - return ($item instanceof $this->item_class) ? $item : new $this->item_class($item); |
|
| 37 | - } |
|
| 36 | + return ($item instanceof $this->item_class) ? $item : new $this->item_class($item); |
|
| 37 | + } |
|
| 38 | 38 | } |
| 39 | 39 | \ No newline at end of file |
@@ -25,53 +25,53 @@ |
||
| 25 | 25 | class Geocoding extends Api |
| 26 | 26 | { |
| 27 | 27 | |
| 28 | - /** |
|
| 29 | - * @var string |
|
| 30 | - */ |
|
| 31 | - const SERVICE_ENDPOINT = 'geocode'; |
|
| 28 | + /** |
|
| 29 | + * @var string |
|
| 30 | + */ |
|
| 31 | + const SERVICE_ENDPOINT = 'geocode'; |
|
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * @var string |
|
| 35 | - */ |
|
| 36 | - protected $result_collection_type = GeocodingResultsCollection::class; |
|
| 33 | + /** |
|
| 34 | + * @var string |
|
| 35 | + */ |
|
| 36 | + protected $result_collection_type = GeocodingResultsCollection::class; |
|
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @param string $literal_address |
|
| 40 | - * |
|
| 41 | - * @return GoogleMapsResultsCollection |
|
| 42 | - */ |
|
| 43 | - public function getByAddress(string $literal_address): GoogleMapsResultsCollection |
|
| 44 | - { |
|
| 38 | + /** |
|
| 39 | + * @param string $literal_address |
|
| 40 | + * |
|
| 41 | + * @return GoogleMapsResultsCollection |
|
| 42 | + */ |
|
| 43 | + public function getByAddress(string $literal_address): GoogleMapsResultsCollection |
|
| 44 | + { |
|
| 45 | 45 | |
| 46 | - return $this->callApi([ |
|
| 47 | - GoogleMapsRequestFields::ADDRESS => $literal_address |
|
| 48 | - ]); |
|
| 49 | - } |
|
| 46 | + return $this->callApi([ |
|
| 47 | + GoogleMapsRequestFields::ADDRESS => $literal_address |
|
| 48 | + ]); |
|
| 49 | + } |
|
| 50 | 50 | |
| 51 | - /** |
|
| 52 | - * @param LatLng $latlng |
|
| 53 | - * |
|
| 54 | - * @return GoogleMapsResultsCollection |
|
| 55 | - */ |
|
| 56 | - public function getReverse(LatLng $latlng): GoogleMapsResultsCollection |
|
| 57 | - { |
|
| 51 | + /** |
|
| 52 | + * @param LatLng $latlng |
|
| 53 | + * |
|
| 54 | + * @return GoogleMapsResultsCollection |
|
| 55 | + */ |
|
| 56 | + public function getReverse(LatLng $latlng): GoogleMapsResultsCollection |
|
| 57 | + { |
|
| 58 | 58 | |
| 59 | - return $this->callApi([ |
|
| 60 | - GoogleMapsRequestFields::LATLNG => $latlng |
|
| 61 | - ]); |
|
| 62 | - } |
|
| 59 | + return $this->callApi([ |
|
| 60 | + GoogleMapsRequestFields::LATLNG => $latlng |
|
| 61 | + ]); |
|
| 62 | + } |
|
| 63 | 63 | |
| 64 | - /** |
|
| 65 | - * @param string $place_id |
|
| 66 | - * |
|
| 67 | - * @return GoogleMapsResultsCollection |
|
| 68 | - */ |
|
| 69 | - public function getByPlaceId(string $place_id): GoogleMapsResultsCollection |
|
| 70 | - { |
|
| 64 | + /** |
|
| 65 | + * @param string $place_id |
|
| 66 | + * |
|
| 67 | + * @return GoogleMapsResultsCollection |
|
| 68 | + */ |
|
| 69 | + public function getByPlaceId(string $place_id): GoogleMapsResultsCollection |
|
| 70 | + { |
|
| 71 | 71 | |
| 72 | - return $this->callApi([ |
|
| 73 | - GoogleMapsRequestFields::PLACE_ID => $place_id |
|
| 74 | - ]); |
|
| 75 | - } |
|
| 72 | + return $this->callApi([ |
|
| 73 | + GoogleMapsRequestFields::PLACE_ID => $place_id |
|
| 74 | + ]); |
|
| 75 | + } |
|
| 76 | 76 | |
| 77 | 77 | } |
| 78 | 78 | \ No newline at end of file |
@@ -38,135 +38,135 @@ |
||
| 38 | 38 | class PlacesResult extends GoogleMapsResult |
| 39 | 39 | { |
| 40 | 40 | |
| 41 | - /** |
|
| 42 | - * @var null|string |
|
| 43 | - */ |
|
| 44 | - protected $formatted_address = null; |
|
| 45 | - |
|
| 46 | - /** |
|
| 47 | - * @var string |
|
| 48 | - */ |
|
| 49 | - protected $name = ''; |
|
| 50 | - |
|
| 51 | - /** |
|
| 52 | - * @var Geometry |
|
| 53 | - */ |
|
| 54 | - protected $geometry = null; |
|
| 55 | - |
|
| 56 | - /** |
|
| 57 | - * @var string |
|
| 58 | - */ |
|
| 59 | - protected $icon = ''; |
|
| 60 | - |
|
| 61 | - /** |
|
| 62 | - * @var string |
|
| 63 | - */ |
|
| 64 | - protected $id = ''; |
|
| 65 | - |
|
| 66 | - /** |
|
| 67 | - * @var PhotoCollection |
|
| 68 | - */ |
|
| 69 | - protected $photos = null; |
|
| 70 | - |
|
| 71 | - /** |
|
| 72 | - * @var string |
|
| 73 | - */ |
|
| 74 | - protected $place_id = ''; |
|
| 75 | - |
|
| 76 | - /** |
|
| 77 | - * @var string |
|
| 78 | - */ |
|
| 79 | - protected $reference = ''; |
|
| 80 | - |
|
| 81 | - /** |
|
| 82 | - * @var string |
|
| 83 | - */ |
|
| 84 | - protected $vicinity = ''; |
|
| 85 | - |
|
| 86 | - /** |
|
| 87 | - * @var array |
|
| 88 | - */ |
|
| 89 | - protected $types = []; |
|
| 90 | - |
|
| 91 | - /** |
|
| 92 | - * @var array |
|
| 93 | - */ |
|
| 94 | - protected $opening_hours = []; |
|
| 95 | - |
|
| 96 | - /** |
|
| 97 | - * @var int |
|
| 98 | - */ |
|
| 99 | - protected $price_level = 0; |
|
| 100 | - |
|
| 101 | - /** |
|
| 102 | - * @var bool |
|
| 103 | - */ |
|
| 104 | - protected $permanently_closed = false; |
|
| 105 | - |
|
| 106 | - /** |
|
| 107 | - * @var ReviewCollection |
|
| 108 | - */ |
|
| 109 | - protected $reviews = null; |
|
| 110 | - |
|
| 111 | - /** |
|
| 112 | - * @var int |
|
| 113 | - */ |
|
| 114 | - protected $utc_offset = 0; |
|
| 115 | - |
|
| 116 | - /** |
|
| 117 | - * @var string |
|
| 118 | - */ |
|
| 119 | - protected $website = ''; |
|
| 120 | - |
|
| 121 | - /** |
|
| 122 | - * @var string |
|
| 123 | - */ |
|
| 124 | - protected $international_phone_number = ''; |
|
| 125 | - |
|
| 126 | - /** |
|
| 127 | - * @var string |
|
| 128 | - */ |
|
| 129 | - protected $formatted_phone_number = ''; |
|
| 130 | - |
|
| 131 | - /** |
|
| 132 | - * @var string |
|
| 133 | - */ |
|
| 134 | - protected $adr_address = ''; |
|
| 135 | - |
|
| 136 | - /** |
|
| 137 | - * @var array |
|
| 138 | - */ |
|
| 139 | - protected $typeCheck = [ |
|
| 140 | - GoogleMapsResultFields::FORMATTED_ADDRESS => 'string', |
|
| 141 | - GoogleMapsResultFields::NAME => 'string', |
|
| 142 | - GoogleMapsResultFields::GEOMETRY => Geometry::class, |
|
| 143 | - GoogleMapsResultFields::ICON => 'string', |
|
| 144 | - GoogleMapsResultFields::ID => 'string', |
|
| 145 | - GoogleMapsResultFields::PHOTOS => PhotoCollection::class, |
|
| 146 | - GoogleMapsResultFields::PLACE_ID => 'string', |
|
| 147 | - GoogleMapsResultFields::REFERENCE => 'string', |
|
| 148 | - GoogleMapsResultFields::VICINITY => 'string', |
|
| 149 | - GoogleMapsResultFields::TYPES => 'array', |
|
| 150 | - GoogleMapsResultFields::OPENING_HOURS => 'json', |
|
| 151 | - GoogleMapsResultFields::PRICE_LEVEL => 'int', |
|
| 152 | - GoogleMapsResultFields::RATING => 'float', |
|
| 153 | - GoogleMapsResultFields::PERMANENTLY_CLOSED => 'bool', |
|
| 154 | - GoogleMapsResultFields::PLUS_CODE => 'array', |
|
| 155 | - GoogleMapsResultFields::REVIEWS => ReviewCollection::class, |
|
| 156 | - GoogleMapsResultFields::UTC_OFFSET => 'int', |
|
| 157 | - GoogleMapsResultFields::WEBSITE => 'string', |
|
| 158 | - GoogleMapsResultFields::INTERNATIONAL_PHONE_NUMBER => 'string', |
|
| 159 | - GoogleMapsResultFields::FORMATTED_PHONE_NUMBER => 'string', |
|
| 160 | - GoogleMapsResultFields::ADR_ADDRESS => 'string', |
|
| 161 | - ]; |
|
| 162 | - |
|
| 163 | - /** |
|
| 164 | - * @return bool|null |
|
| 165 | - */ |
|
| 166 | - public function getPermanentlyClose(): bool |
|
| 167 | - { |
|
| 168 | - |
|
| 169 | - return $this->permanently_closed ?? false; |
|
| 170 | - } |
|
| 41 | + /** |
|
| 42 | + * @var null|string |
|
| 43 | + */ |
|
| 44 | + protected $formatted_address = null; |
|
| 45 | + |
|
| 46 | + /** |
|
| 47 | + * @var string |
|
| 48 | + */ |
|
| 49 | + protected $name = ''; |
|
| 50 | + |
|
| 51 | + /** |
|
| 52 | + * @var Geometry |
|
| 53 | + */ |
|
| 54 | + protected $geometry = null; |
|
| 55 | + |
|
| 56 | + /** |
|
| 57 | + * @var string |
|
| 58 | + */ |
|
| 59 | + protected $icon = ''; |
|
| 60 | + |
|
| 61 | + /** |
|
| 62 | + * @var string |
|
| 63 | + */ |
|
| 64 | + protected $id = ''; |
|
| 65 | + |
|
| 66 | + /** |
|
| 67 | + * @var PhotoCollection |
|
| 68 | + */ |
|
| 69 | + protected $photos = null; |
|
| 70 | + |
|
| 71 | + /** |
|
| 72 | + * @var string |
|
| 73 | + */ |
|
| 74 | + protected $place_id = ''; |
|
| 75 | + |
|
| 76 | + /** |
|
| 77 | + * @var string |
|
| 78 | + */ |
|
| 79 | + protected $reference = ''; |
|
| 80 | + |
|
| 81 | + /** |
|
| 82 | + * @var string |
|
| 83 | + */ |
|
| 84 | + protected $vicinity = ''; |
|
| 85 | + |
|
| 86 | + /** |
|
| 87 | + * @var array |
|
| 88 | + */ |
|
| 89 | + protected $types = []; |
|
| 90 | + |
|
| 91 | + /** |
|
| 92 | + * @var array |
|
| 93 | + */ |
|
| 94 | + protected $opening_hours = []; |
|
| 95 | + |
|
| 96 | + /** |
|
| 97 | + * @var int |
|
| 98 | + */ |
|
| 99 | + protected $price_level = 0; |
|
| 100 | + |
|
| 101 | + /** |
|
| 102 | + * @var bool |
|
| 103 | + */ |
|
| 104 | + protected $permanently_closed = false; |
|
| 105 | + |
|
| 106 | + /** |
|
| 107 | + * @var ReviewCollection |
|
| 108 | + */ |
|
| 109 | + protected $reviews = null; |
|
| 110 | + |
|
| 111 | + /** |
|
| 112 | + * @var int |
|
| 113 | + */ |
|
| 114 | + protected $utc_offset = 0; |
|
| 115 | + |
|
| 116 | + /** |
|
| 117 | + * @var string |
|
| 118 | + */ |
|
| 119 | + protected $website = ''; |
|
| 120 | + |
|
| 121 | + /** |
|
| 122 | + * @var string |
|
| 123 | + */ |
|
| 124 | + protected $international_phone_number = ''; |
|
| 125 | + |
|
| 126 | + /** |
|
| 127 | + * @var string |
|
| 128 | + */ |
|
| 129 | + protected $formatted_phone_number = ''; |
|
| 130 | + |
|
| 131 | + /** |
|
| 132 | + * @var string |
|
| 133 | + */ |
|
| 134 | + protected $adr_address = ''; |
|
| 135 | + |
|
| 136 | + /** |
|
| 137 | + * @var array |
|
| 138 | + */ |
|
| 139 | + protected $typeCheck = [ |
|
| 140 | + GoogleMapsResultFields::FORMATTED_ADDRESS => 'string', |
|
| 141 | + GoogleMapsResultFields::NAME => 'string', |
|
| 142 | + GoogleMapsResultFields::GEOMETRY => Geometry::class, |
|
| 143 | + GoogleMapsResultFields::ICON => 'string', |
|
| 144 | + GoogleMapsResultFields::ID => 'string', |
|
| 145 | + GoogleMapsResultFields::PHOTOS => PhotoCollection::class, |
|
| 146 | + GoogleMapsResultFields::PLACE_ID => 'string', |
|
| 147 | + GoogleMapsResultFields::REFERENCE => 'string', |
|
| 148 | + GoogleMapsResultFields::VICINITY => 'string', |
|
| 149 | + GoogleMapsResultFields::TYPES => 'array', |
|
| 150 | + GoogleMapsResultFields::OPENING_HOURS => 'json', |
|
| 151 | + GoogleMapsResultFields::PRICE_LEVEL => 'int', |
|
| 152 | + GoogleMapsResultFields::RATING => 'float', |
|
| 153 | + GoogleMapsResultFields::PERMANENTLY_CLOSED => 'bool', |
|
| 154 | + GoogleMapsResultFields::PLUS_CODE => 'array', |
|
| 155 | + GoogleMapsResultFields::REVIEWS => ReviewCollection::class, |
|
| 156 | + GoogleMapsResultFields::UTC_OFFSET => 'int', |
|
| 157 | + GoogleMapsResultFields::WEBSITE => 'string', |
|
| 158 | + GoogleMapsResultFields::INTERNATIONAL_PHONE_NUMBER => 'string', |
|
| 159 | + GoogleMapsResultFields::FORMATTED_PHONE_NUMBER => 'string', |
|
| 160 | + GoogleMapsResultFields::ADR_ADDRESS => 'string', |
|
| 161 | + ]; |
|
| 162 | + |
|
| 163 | + /** |
|
| 164 | + * @return bool|null |
|
| 165 | + */ |
|
| 166 | + public function getPermanentlyClose(): bool |
|
| 167 | + { |
|
| 168 | + |
|
| 169 | + return $this->permanently_closed ?? false; |
|
| 170 | + } |
|
| 171 | 171 | |
| 172 | 172 | } |
| 173 | 173 | \ No newline at end of file |
@@ -17,43 +17,43 @@ |
||
| 17 | 17 | class GoogleMapsResponseFields |
| 18 | 18 | { |
| 19 | 19 | |
| 20 | - /** |
|
| 21 | - * @var string results |
|
| 22 | - */ |
|
| 23 | - const RESULTS = 'results'; |
|
| 24 | - |
|
| 25 | - /** |
|
| 26 | - * @var string result |
|
| 27 | - * @since v0.6.0 |
|
| 28 | - */ |
|
| 29 | - const RESULT = 'result'; |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * @var string status |
|
| 33 | - */ |
|
| 34 | - const STATUS = 'status'; |
|
| 35 | - |
|
| 36 | - /** |
|
| 37 | - * @var string error_message |
|
| 38 | - */ |
|
| 39 | - const ERROR_MESSAGE = 'error_message'; |
|
| 40 | - |
|
| 41 | - /** |
|
| 42 | - * @var string candidates |
|
| 43 | - * @since 0.5.0 |
|
| 44 | - */ |
|
| 45 | - const CANDIDATES = 'candidates'; |
|
| 46 | - |
|
| 47 | - /** |
|
| 48 | - * @var string html_attributions |
|
| 49 | - * @since 0.5.0 |
|
| 50 | - */ |
|
| 51 | - const HTML_ATTRIBUTIONS = 'html_attributions'; |
|
| 52 | - |
|
| 53 | - /** |
|
| 54 | - * @var string next_page_token |
|
| 55 | - * @since 0.5.0 |
|
| 56 | - */ |
|
| 57 | - const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 20 | + /** |
|
| 21 | + * @var string results |
|
| 22 | + */ |
|
| 23 | + const RESULTS = 'results'; |
|
| 24 | + |
|
| 25 | + /** |
|
| 26 | + * @var string result |
|
| 27 | + * @since v0.6.0 |
|
| 28 | + */ |
|
| 29 | + const RESULT = 'result'; |
|
| 30 | + |
|
| 31 | + /** |
|
| 32 | + * @var string status |
|
| 33 | + */ |
|
| 34 | + const STATUS = 'status'; |
|
| 35 | + |
|
| 36 | + /** |
|
| 37 | + * @var string error_message |
|
| 38 | + */ |
|
| 39 | + const ERROR_MESSAGE = 'error_message'; |
|
| 40 | + |
|
| 41 | + /** |
|
| 42 | + * @var string candidates |
|
| 43 | + * @since 0.5.0 |
|
| 44 | + */ |
|
| 45 | + const CANDIDATES = 'candidates'; |
|
| 46 | + |
|
| 47 | + /** |
|
| 48 | + * @var string html_attributions |
|
| 49 | + * @since 0.5.0 |
|
| 50 | + */ |
|
| 51 | + const HTML_ATTRIBUTIONS = 'html_attributions'; |
|
| 52 | + |
|
| 53 | + /** |
|
| 54 | + * @var string next_page_token |
|
| 55 | + * @since 0.5.0 |
|
| 56 | + */ |
|
| 57 | + const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 58 | 58 | |
| 59 | 59 | } |
| 60 | 60 | \ No newline at end of file |
@@ -17,163 +17,163 @@ |
||
| 17 | 17 | class GoogleMapsRequestFields |
| 18 | 18 | { |
| 19 | 19 | |
| 20 | - /** |
|
| 21 | - * @var string key |
|
| 22 | - */ |
|
| 23 | - const KEY = 'key'; |
|
| 24 | - |
|
| 25 | - /** |
|
| 26 | - * @var string sensor |
|
| 27 | - */ |
|
| 28 | - const SENSOR = 'sensor'; |
|
| 29 | - |
|
| 30 | - /** |
|
| 31 | - * @var string latlng |
|
| 32 | - */ |
|
| 33 | - const LATLNG = 'latlng'; |
|
| 34 | - |
|
| 35 | - /** |
|
| 36 | - * @var string address |
|
| 37 | - */ |
|
| 38 | - const ADDRESS = 'address'; |
|
| 39 | - |
|
| 40 | - /** |
|
| 41 | - * @var string place_id |
|
| 42 | - */ |
|
| 43 | - const PLACE_ID = 'place_id'; |
|
| 44 | - |
|
| 45 | - /** |
|
| 46 | - * @var string location |
|
| 47 | - * @since 0.5.0 |
|
| 48 | - */ |
|
| 49 | - const LOCATION = 'location'; |
|
| 50 | - |
|
| 51 | - /** |
|
| 52 | - * @var string locations |
|
| 53 | - */ |
|
| 54 | - const LOCATIONS = 'locations'; |
|
| 55 | - |
|
| 56 | - /** |
|
| 57 | - * @var string path |
|
| 58 | - */ |
|
| 59 | - const PATH = 'path'; |
|
| 60 | - |
|
| 61 | - /** |
|
| 62 | - * @var string samples |
|
| 63 | - */ |
|
| 64 | - const SAMPLES = 'samples'; |
|
| 65 | - |
|
| 66 | - /** |
|
| 67 | - * @var string input |
|
| 68 | - * @since 0.5.0 |
|
| 69 | - */ |
|
| 70 | - const INPUT = 'input'; |
|
| 71 | - |
|
| 72 | - /** |
|
| 73 | - * @var string inputtype |
|
| 74 | - * @since 0.5.0 |
|
| 75 | - */ |
|
| 76 | - const INPUTTYPE = 'inputtype'; |
|
| 77 | - |
|
| 78 | - /** |
|
| 79 | - * @var string language |
|
| 80 | - * @since 0.5.0 |
|
| 81 | - */ |
|
| 82 | - const LANGUAGE = 'language'; |
|
| 83 | - |
|
| 84 | - /** |
|
| 85 | - * @var string fields |
|
| 86 | - * @since 0.5.0 |
|
| 87 | - */ |
|
| 88 | - const FIELDS = 'fields'; |
|
| 89 | - |
|
| 90 | - /** |
|
| 91 | - * @var string locationbias |
|
| 92 | - * @since 0.5.0 |
|
| 93 | - */ |
|
| 94 | - const LOCATIONBIAS = 'locationbias'; |
|
| 95 | - |
|
| 96 | - /** |
|
| 97 | - * @var string radius |
|
| 98 | - * @since 0.5.0 |
|
| 99 | - */ |
|
| 100 | - const RADIUS = 'radius'; |
|
| 101 | - |
|
| 102 | - /** |
|
| 103 | - * @var string rankby |
|
| 104 | - * @since 0.5.0 |
|
| 105 | - */ |
|
| 106 | - const RANKBY = 'rankby'; |
|
| 107 | - |
|
| 108 | - /** |
|
| 109 | - * @var string keyword |
|
| 110 | - * @since 0.5.0 |
|
| 111 | - */ |
|
| 112 | - const KEYWORD = 'keyword'; |
|
| 113 | - |
|
| 114 | - /** |
|
| 115 | - * @var string minprice |
|
| 116 | - * @since 0.5.0 |
|
| 117 | - */ |
|
| 118 | - const MINPRICE = 'minprice'; |
|
| 119 | - |
|
| 120 | - /** |
|
| 121 | - * @var string maxprice |
|
| 122 | - * @since 0.5.0 |
|
| 123 | - */ |
|
| 124 | - const MAXPRICE = 'maxprice'; |
|
| 125 | - |
|
| 126 | - /** |
|
| 127 | - * @var string name |
|
| 128 | - * @since 0.5.0 |
|
| 129 | - */ |
|
| 130 | - const NAME = 'name'; |
|
| 131 | - |
|
| 132 | - /** |
|
| 133 | - * @var string opennow |
|
| 134 | - * @since 0.5.0 |
|
| 135 | - */ |
|
| 136 | - const OPENNOW = 'opennow'; |
|
| 137 | - |
|
| 138 | - /** |
|
| 139 | - * @var string pagetoken |
|
| 140 | - * @since 0.5.0 |
|
| 141 | - */ |
|
| 142 | - const PAGETOKEN = 'pagetoken'; |
|
| 143 | - |
|
| 144 | - /** |
|
| 145 | - * @var string type |
|
| 146 | - * @since 0.5.0 |
|
| 147 | - */ |
|
| 148 | - const TYPE = 'type'; |
|
| 149 | - |
|
| 150 | - /** |
|
| 151 | - * @var string query |
|
| 152 | - * @since 0.5.0 |
|
| 153 | - */ |
|
| 154 | - const QUERY = 'query'; |
|
| 155 | - |
|
| 156 | - /** |
|
| 157 | - * @var string next_page_token |
|
| 158 | - * @since 0.5.0 |
|
| 159 | - */ |
|
| 160 | - const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 161 | - |
|
| 162 | - /** |
|
| 163 | - * @var string photoreference |
|
| 164 | - * @since 0.6.0 |
|
| 165 | - */ |
|
| 166 | - const PHOTOREFERENCE = 'photoreference'; |
|
| 167 | - |
|
| 168 | - /** |
|
| 169 | - * @var string maxwidth |
|
| 170 | - * @since 0.6.0 |
|
| 171 | - */ |
|
| 172 | - const MAXWIDTH = 'maxwidth'; |
|
| 173 | - |
|
| 174 | - /** |
|
| 175 | - * @var string maxheight |
|
| 176 | - * @since 0.6.0 |
|
| 177 | - */ |
|
| 178 | - const MAXHEIGHT = 'maxheight'; |
|
| 20 | + /** |
|
| 21 | + * @var string key |
|
| 22 | + */ |
|
| 23 | + const KEY = 'key'; |
|
| 24 | + |
|
| 25 | + /** |
|
| 26 | + * @var string sensor |
|
| 27 | + */ |
|
| 28 | + const SENSOR = 'sensor'; |
|
| 29 | + |
|
| 30 | + /** |
|
| 31 | + * @var string latlng |
|
| 32 | + */ |
|
| 33 | + const LATLNG = 'latlng'; |
|
| 34 | + |
|
| 35 | + /** |
|
| 36 | + * @var string address |
|
| 37 | + */ |
|
| 38 | + const ADDRESS = 'address'; |
|
| 39 | + |
|
| 40 | + /** |
|
| 41 | + * @var string place_id |
|
| 42 | + */ |
|
| 43 | + const PLACE_ID = 'place_id'; |
|
| 44 | + |
|
| 45 | + /** |
|
| 46 | + * @var string location |
|
| 47 | + * @since 0.5.0 |
|
| 48 | + */ |
|
| 49 | + const LOCATION = 'location'; |
|
| 50 | + |
|
| 51 | + /** |
|
| 52 | + * @var string locations |
|
| 53 | + */ |
|
| 54 | + const LOCATIONS = 'locations'; |
|
| 55 | + |
|
| 56 | + /** |
|
| 57 | + * @var string path |
|
| 58 | + */ |
|
| 59 | + const PATH = 'path'; |
|
| 60 | + |
|
| 61 | + /** |
|
| 62 | + * @var string samples |
|
| 63 | + */ |
|
| 64 | + const SAMPLES = 'samples'; |
|
| 65 | + |
|
| 66 | + /** |
|
| 67 | + * @var string input |
|
| 68 | + * @since 0.5.0 |
|
| 69 | + */ |
|
| 70 | + const INPUT = 'input'; |
|
| 71 | + |
|
| 72 | + /** |
|
| 73 | + * @var string inputtype |
|
| 74 | + * @since 0.5.0 |
|
| 75 | + */ |
|
| 76 | + const INPUTTYPE = 'inputtype'; |
|
| 77 | + |
|
| 78 | + /** |
|
| 79 | + * @var string language |
|
| 80 | + * @since 0.5.0 |
|
| 81 | + */ |
|
| 82 | + const LANGUAGE = 'language'; |
|
| 83 | + |
|
| 84 | + /** |
|
| 85 | + * @var string fields |
|
| 86 | + * @since 0.5.0 |
|
| 87 | + */ |
|
| 88 | + const FIELDS = 'fields'; |
|
| 89 | + |
|
| 90 | + /** |
|
| 91 | + * @var string locationbias |
|
| 92 | + * @since 0.5.0 |
|
| 93 | + */ |
|
| 94 | + const LOCATIONBIAS = 'locationbias'; |
|
| 95 | + |
|
| 96 | + /** |
|
| 97 | + * @var string radius |
|
| 98 | + * @since 0.5.0 |
|
| 99 | + */ |
|
| 100 | + const RADIUS = 'radius'; |
|
| 101 | + |
|
| 102 | + /** |
|
| 103 | + * @var string rankby |
|
| 104 | + * @since 0.5.0 |
|
| 105 | + */ |
|
| 106 | + const RANKBY = 'rankby'; |
|
| 107 | + |
|
| 108 | + /** |
|
| 109 | + * @var string keyword |
|
| 110 | + * @since 0.5.0 |
|
| 111 | + */ |
|
| 112 | + const KEYWORD = 'keyword'; |
|
| 113 | + |
|
| 114 | + /** |
|
| 115 | + * @var string minprice |
|
| 116 | + * @since 0.5.0 |
|
| 117 | + */ |
|
| 118 | + const MINPRICE = 'minprice'; |
|
| 119 | + |
|
| 120 | + /** |
|
| 121 | + * @var string maxprice |
|
| 122 | + * @since 0.5.0 |
|
| 123 | + */ |
|
| 124 | + const MAXPRICE = 'maxprice'; |
|
| 125 | + |
|
| 126 | + /** |
|
| 127 | + * @var string name |
|
| 128 | + * @since 0.5.0 |
|
| 129 | + */ |
|
| 130 | + const NAME = 'name'; |
|
| 131 | + |
|
| 132 | + /** |
|
| 133 | + * @var string opennow |
|
| 134 | + * @since 0.5.0 |
|
| 135 | + */ |
|
| 136 | + const OPENNOW = 'opennow'; |
|
| 137 | + |
|
| 138 | + /** |
|
| 139 | + * @var string pagetoken |
|
| 140 | + * @since 0.5.0 |
|
| 141 | + */ |
|
| 142 | + const PAGETOKEN = 'pagetoken'; |
|
| 143 | + |
|
| 144 | + /** |
|
| 145 | + * @var string type |
|
| 146 | + * @since 0.5.0 |
|
| 147 | + */ |
|
| 148 | + const TYPE = 'type'; |
|
| 149 | + |
|
| 150 | + /** |
|
| 151 | + * @var string query |
|
| 152 | + * @since 0.5.0 |
|
| 153 | + */ |
|
| 154 | + const QUERY = 'query'; |
|
| 155 | + |
|
| 156 | + /** |
|
| 157 | + * @var string next_page_token |
|
| 158 | + * @since 0.5.0 |
|
| 159 | + */ |
|
| 160 | + const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 161 | + |
|
| 162 | + /** |
|
| 163 | + * @var string photoreference |
|
| 164 | + * @since 0.6.0 |
|
| 165 | + */ |
|
| 166 | + const PHOTOREFERENCE = 'photoreference'; |
|
| 167 | + |
|
| 168 | + /** |
|
| 169 | + * @var string maxwidth |
|
| 170 | + * @since 0.6.0 |
|
| 171 | + */ |
|
| 172 | + const MAXWIDTH = 'maxwidth'; |
|
| 173 | + |
|
| 174 | + /** |
|
| 175 | + * @var string maxheight |
|
| 176 | + * @since 0.6.0 |
|
| 177 | + */ |
|
| 178 | + const MAXHEIGHT = 'maxheight'; |
|
| 179 | 179 | } |
| 180 | 180 | \ No newline at end of file |
@@ -17,162 +17,162 @@ |
||
| 17 | 17 | class GoogleMapsResultFields |
| 18 | 18 | { |
| 19 | 19 | |
| 20 | - /** |
|
| 21 | - * @var string address_components |
|
| 22 | - */ |
|
| 23 | - const ADDRESS_COMPONENTS = 'address_components'; |
|
| 24 | - |
|
| 25 | - /** |
|
| 26 | - * @var string formatted_address |
|
| 27 | - */ |
|
| 28 | - const FORMATTED_ADDRESS = 'formatted_address'; |
|
| 29 | - |
|
| 30 | - /** |
|
| 31 | - * @var string geometry |
|
| 32 | - */ |
|
| 33 | - const GEOMETRY = 'geometry'; |
|
| 34 | - |
|
| 35 | - /** |
|
| 36 | - * @var string viewport |
|
| 37 | - */ |
|
| 38 | - const VIEWPORT = 'viewport'; |
|
| 39 | - |
|
| 40 | - /** |
|
| 41 | - * @var string place_id |
|
| 42 | - */ |
|
| 43 | - const PLACE_ID = 'place_id'; |
|
| 44 | - |
|
| 45 | - /** |
|
| 46 | - * @var string location_type |
|
| 47 | - */ |
|
| 48 | - const LOCATION_TYPE = 'location_type'; |
|
| 49 | - |
|
| 50 | - /** |
|
| 51 | - * @var string types |
|
| 52 | - */ |
|
| 53 | - const TYPES = 'types'; |
|
| 54 | - |
|
| 55 | - /** |
|
| 56 | - * @var string location |
|
| 57 | - */ |
|
| 58 | - const LOCATION = 'location'; |
|
| 59 | - |
|
| 60 | - /** |
|
| 61 | - * @var string elevation |
|
| 62 | - */ |
|
| 63 | - const ELEVATION = 'elevation'; |
|
| 64 | - |
|
| 65 | - /** |
|
| 66 | - * @var string resolution |
|
| 67 | - */ |
|
| 68 | - const RESOLUTION = 'resolution'; |
|
| 69 | - |
|
| 70 | - /** |
|
| 71 | - * @var string icon |
|
| 72 | - * @since 0.5.0 |
|
| 73 | - */ |
|
| 74 | - const ICON = 'icon'; |
|
| 75 | - |
|
| 76 | - /** |
|
| 77 | - * @var string id |
|
| 78 | - * @since 0.5.0 |
|
| 79 | - */ |
|
| 80 | - const ID = 'id'; |
|
| 81 | - |
|
| 82 | - /** |
|
| 83 | - * @var string name |
|
| 84 | - * @since 0.5.0 |
|
| 85 | - */ |
|
| 86 | - const NAME = 'name'; |
|
| 87 | - |
|
| 88 | - /** |
|
| 89 | - * @var string photos |
|
| 90 | - * @since 0.5.0 |
|
| 91 | - */ |
|
| 92 | - const PHOTOS = 'photos'; |
|
| 93 | - |
|
| 94 | - /** |
|
| 95 | - * @var string reference |
|
| 96 | - * @since 0.5.0 |
|
| 97 | - */ |
|
| 98 | - const REFERENCE = 'reference'; |
|
| 99 | - |
|
| 100 | - /** |
|
| 101 | - * @var string vicinity |
|
| 102 | - * @since 0.5.0 |
|
| 103 | - */ |
|
| 104 | - const VICINITY = 'vicinity'; |
|
| 105 | - |
|
| 106 | - /** |
|
| 107 | - * @var string opening_hours |
|
| 108 | - * @since 0.5.0 |
|
| 109 | - */ |
|
| 110 | - const OPENING_HOURS = 'opening_hours'; |
|
| 111 | - |
|
| 112 | - /** |
|
| 113 | - * @var string price_level |
|
| 114 | - * @since 0.5.0 |
|
| 115 | - */ |
|
| 116 | - const PRICE_LEVEL = 'price_level'; |
|
| 117 | - |
|
| 118 | - /** |
|
| 119 | - * @var string rating |
|
| 120 | - * @since 0.5.0 |
|
| 121 | - */ |
|
| 122 | - const RATING = 'rating'; |
|
| 123 | - |
|
| 124 | - /** |
|
| 125 | - * @var string permanently_closed |
|
| 126 | - * @since 0.5.0 |
|
| 127 | - */ |
|
| 128 | - const PERMANENTLY_CLOSED = 'permanently_closed'; |
|
| 129 | - |
|
| 130 | - /** |
|
| 131 | - * @var string plus_code |
|
| 132 | - * @since 0.5.0 |
|
| 133 | - */ |
|
| 134 | - const PLUS_CODE = 'plus_code'; |
|
| 135 | - |
|
| 136 | - /** |
|
| 137 | - * @var string next_page_token |
|
| 138 | - * @since 0.5.0 |
|
| 139 | - */ |
|
| 140 | - const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 141 | - |
|
| 142 | - /** |
|
| 143 | - * @var string reviews |
|
| 144 | - * @since 0.6.0 |
|
| 145 | - */ |
|
| 146 | - const REVIEWS = 'reviews'; |
|
| 147 | - |
|
| 148 | - /** |
|
| 149 | - * @var string utc_offset |
|
| 150 | - * @since 0.6.0 |
|
| 151 | - */ |
|
| 152 | - const UTC_OFFSET = 'utc_offset'; |
|
| 153 | - |
|
| 154 | - /** |
|
| 155 | - * @var string website |
|
| 156 | - * @since 0.6.0 |
|
| 157 | - */ |
|
| 158 | - const WEBSITE = 'website'; |
|
| 159 | - |
|
| 160 | - /** |
|
| 161 | - * @var string international_phone_number |
|
| 162 | - * @since 0.6.0 |
|
| 163 | - */ |
|
| 164 | - const INTERNATIONAL_PHONE_NUMBER = 'international_phone_number'; |
|
| 165 | - |
|
| 166 | - /** |
|
| 167 | - * @var string formatted_phone_number |
|
| 168 | - * @since 0.6.0 |
|
| 169 | - */ |
|
| 170 | - const FORMATTED_PHONE_NUMBER = 'formatted_phone_number'; |
|
| 171 | - |
|
| 172 | - /** |
|
| 173 | - * @var string adr_address |
|
| 174 | - * @since 0.6.0 |
|
| 175 | - */ |
|
| 176 | - const ADR_ADDRESS = 'adr_address'; |
|
| 20 | + /** |
|
| 21 | + * @var string address_components |
|
| 22 | + */ |
|
| 23 | + const ADDRESS_COMPONENTS = 'address_components'; |
|
| 24 | + |
|
| 25 | + /** |
|
| 26 | + * @var string formatted_address |
|
| 27 | + */ |
|
| 28 | + const FORMATTED_ADDRESS = 'formatted_address'; |
|
| 29 | + |
|
| 30 | + /** |
|
| 31 | + * @var string geometry |
|
| 32 | + */ |
|
| 33 | + const GEOMETRY = 'geometry'; |
|
| 34 | + |
|
| 35 | + /** |
|
| 36 | + * @var string viewport |
|
| 37 | + */ |
|
| 38 | + const VIEWPORT = 'viewport'; |
|
| 39 | + |
|
| 40 | + /** |
|
| 41 | + * @var string place_id |
|
| 42 | + */ |
|
| 43 | + const PLACE_ID = 'place_id'; |
|
| 44 | + |
|
| 45 | + /** |
|
| 46 | + * @var string location_type |
|
| 47 | + */ |
|
| 48 | + const LOCATION_TYPE = 'location_type'; |
|
| 49 | + |
|
| 50 | + /** |
|
| 51 | + * @var string types |
|
| 52 | + */ |
|
| 53 | + const TYPES = 'types'; |
|
| 54 | + |
|
| 55 | + /** |
|
| 56 | + * @var string location |
|
| 57 | + */ |
|
| 58 | + const LOCATION = 'location'; |
|
| 59 | + |
|
| 60 | + /** |
|
| 61 | + * @var string elevation |
|
| 62 | + */ |
|
| 63 | + const ELEVATION = 'elevation'; |
|
| 64 | + |
|
| 65 | + /** |
|
| 66 | + * @var string resolution |
|
| 67 | + */ |
|
| 68 | + const RESOLUTION = 'resolution'; |
|
| 69 | + |
|
| 70 | + /** |
|
| 71 | + * @var string icon |
|
| 72 | + * @since 0.5.0 |
|
| 73 | + */ |
|
| 74 | + const ICON = 'icon'; |
|
| 75 | + |
|
| 76 | + /** |
|
| 77 | + * @var string id |
|
| 78 | + * @since 0.5.0 |
|
| 79 | + */ |
|
| 80 | + const ID = 'id'; |
|
| 81 | + |
|
| 82 | + /** |
|
| 83 | + * @var string name |
|
| 84 | + * @since 0.5.0 |
|
| 85 | + */ |
|
| 86 | + const NAME = 'name'; |
|
| 87 | + |
|
| 88 | + /** |
|
| 89 | + * @var string photos |
|
| 90 | + * @since 0.5.0 |
|
| 91 | + */ |
|
| 92 | + const PHOTOS = 'photos'; |
|
| 93 | + |
|
| 94 | + /** |
|
| 95 | + * @var string reference |
|
| 96 | + * @since 0.5.0 |
|
| 97 | + */ |
|
| 98 | + const REFERENCE = 'reference'; |
|
| 99 | + |
|
| 100 | + /** |
|
| 101 | + * @var string vicinity |
|
| 102 | + * @since 0.5.0 |
|
| 103 | + */ |
|
| 104 | + const VICINITY = 'vicinity'; |
|
| 105 | + |
|
| 106 | + /** |
|
| 107 | + * @var string opening_hours |
|
| 108 | + * @since 0.5.0 |
|
| 109 | + */ |
|
| 110 | + const OPENING_HOURS = 'opening_hours'; |
|
| 111 | + |
|
| 112 | + /** |
|
| 113 | + * @var string price_level |
|
| 114 | + * @since 0.5.0 |
|
| 115 | + */ |
|
| 116 | + const PRICE_LEVEL = 'price_level'; |
|
| 117 | + |
|
| 118 | + /** |
|
| 119 | + * @var string rating |
|
| 120 | + * @since 0.5.0 |
|
| 121 | + */ |
|
| 122 | + const RATING = 'rating'; |
|
| 123 | + |
|
| 124 | + /** |
|
| 125 | + * @var string permanently_closed |
|
| 126 | + * @since 0.5.0 |
|
| 127 | + */ |
|
| 128 | + const PERMANENTLY_CLOSED = 'permanently_closed'; |
|
| 129 | + |
|
| 130 | + /** |
|
| 131 | + * @var string plus_code |
|
| 132 | + * @since 0.5.0 |
|
| 133 | + */ |
|
| 134 | + const PLUS_CODE = 'plus_code'; |
|
| 135 | + |
|
| 136 | + /** |
|
| 137 | + * @var string next_page_token |
|
| 138 | + * @since 0.5.0 |
|
| 139 | + */ |
|
| 140 | + const NEXT_PAGE_TOKEN = 'next_page_token'; |
|
| 141 | + |
|
| 142 | + /** |
|
| 143 | + * @var string reviews |
|
| 144 | + * @since 0.6.0 |
|
| 145 | + */ |
|
| 146 | + const REVIEWS = 'reviews'; |
|
| 147 | + |
|
| 148 | + /** |
|
| 149 | + * @var string utc_offset |
|
| 150 | + * @since 0.6.0 |
|
| 151 | + */ |
|
| 152 | + const UTC_OFFSET = 'utc_offset'; |
|
| 153 | + |
|
| 154 | + /** |
|
| 155 | + * @var string website |
|
| 156 | + * @since 0.6.0 |
|
| 157 | + */ |
|
| 158 | + const WEBSITE = 'website'; |
|
| 159 | + |
|
| 160 | + /** |
|
| 161 | + * @var string international_phone_number |
|
| 162 | + * @since 0.6.0 |
|
| 163 | + */ |
|
| 164 | + const INTERNATIONAL_PHONE_NUMBER = 'international_phone_number'; |
|
| 165 | + |
|
| 166 | + /** |
|
| 167 | + * @var string formatted_phone_number |
|
| 168 | + * @since 0.6.0 |
|
| 169 | + */ |
|
| 170 | + const FORMATTED_PHONE_NUMBER = 'formatted_phone_number'; |
|
| 171 | + |
|
| 172 | + /** |
|
| 173 | + * @var string adr_address |
|
| 174 | + * @since 0.6.0 |
|
| 175 | + */ |
|
| 176 | + const ADR_ADDRESS = 'adr_address'; |
|
| 177 | 177 | |
| 178 | 178 | } |
| 179 | 179 | \ No newline at end of file |
@@ -18,43 +18,43 @@ |
||
| 18 | 18 | class ReviewFields |
| 19 | 19 | { |
| 20 | 20 | |
| 21 | - /** |
|
| 22 | - * @var string |
|
| 23 | - */ |
|
| 24 | - const AUTHOR_NAME = "author_name"; |
|
| 25 | - |
|
| 26 | - /** |
|
| 27 | - * @var string |
|
| 28 | - */ |
|
| 29 | - const AUTHOR_URL = "author_url"; |
|
| 30 | - |
|
| 31 | - /** |
|
| 32 | - * @var string |
|
| 33 | - */ |
|
| 34 | - const LANGUAGE = "language"; |
|
| 35 | - |
|
| 36 | - /** |
|
| 37 | - * @var string |
|
| 38 | - */ |
|
| 39 | - const PROFILE_PHOTO_URL = "profile_photo_url"; |
|
| 40 | - |
|
| 41 | - /** |
|
| 42 | - * @var string |
|
| 43 | - */ |
|
| 44 | - const RATING = "rating"; |
|
| 45 | - |
|
| 46 | - /** |
|
| 47 | - * @var string |
|
| 48 | - */ |
|
| 49 | - const RELATIVE_TIME_DESCRIPTION = "relative_time_description"; |
|
| 50 | - |
|
| 51 | - /** |
|
| 52 | - * @var string |
|
| 53 | - */ |
|
| 54 | - const TEXT = "text"; |
|
| 55 | - |
|
| 56 | - /** |
|
| 57 | - * @var string |
|
| 58 | - */ |
|
| 59 | - const TIME = "time"; |
|
| 21 | + /** |
|
| 22 | + * @var string |
|
| 23 | + */ |
|
| 24 | + const AUTHOR_NAME = "author_name"; |
|
| 25 | + |
|
| 26 | + /** |
|
| 27 | + * @var string |
|
| 28 | + */ |
|
| 29 | + const AUTHOR_URL = "author_url"; |
|
| 30 | + |
|
| 31 | + /** |
|
| 32 | + * @var string |
|
| 33 | + */ |
|
| 34 | + const LANGUAGE = "language"; |
|
| 35 | + |
|
| 36 | + /** |
|
| 37 | + * @var string |
|
| 38 | + */ |
|
| 39 | + const PROFILE_PHOTO_URL = "profile_photo_url"; |
|
| 40 | + |
|
| 41 | + /** |
|
| 42 | + * @var string |
|
| 43 | + */ |
|
| 44 | + const RATING = "rating"; |
|
| 45 | + |
|
| 46 | + /** |
|
| 47 | + * @var string |
|
| 48 | + */ |
|
| 49 | + const RELATIVE_TIME_DESCRIPTION = "relative_time_description"; |
|
| 50 | + |
|
| 51 | + /** |
|
| 52 | + * @var string |
|
| 53 | + */ |
|
| 54 | + const TEXT = "text"; |
|
| 55 | + |
|
| 56 | + /** |
|
| 57 | + * @var string |
|
| 58 | + */ |
|
| 59 | + const TIME = "time"; |
|
| 60 | 60 | } |
| 61 | 61 | \ No newline at end of file |
@@ -17,23 +17,23 @@ |
||
| 17 | 17 | class PlaceServicesEndpoints |
| 18 | 18 | { |
| 19 | 19 | |
| 20 | - /** |
|
| 21 | - * @var string |
|
| 22 | - */ |
|
| 23 | - const FINDPLACEFROMTEXT = "findplacefromtext"; |
|
| 20 | + /** |
|
| 21 | + * @var string |
|
| 22 | + */ |
|
| 23 | + const FINDPLACEFROMTEXT = "findplacefromtext"; |
|
| 24 | 24 | |
| 25 | - /** |
|
| 26 | - * @var string |
|
| 27 | - */ |
|
| 28 | - const NEARBYSEARCH = "nearbysearch"; |
|
| 25 | + /** |
|
| 26 | + * @var string |
|
| 27 | + */ |
|
| 28 | + const NEARBYSEARCH = "nearbysearch"; |
|
| 29 | 29 | |
| 30 | - /** |
|
| 31 | - * @var string |
|
| 32 | - */ |
|
| 33 | - const TEXTSEARCH = "textsearch"; |
|
| 30 | + /** |
|
| 31 | + * @var string |
|
| 32 | + */ |
|
| 33 | + const TEXTSEARCH = "textsearch"; |
|
| 34 | 34 | |
| 35 | - /** |
|
| 36 | - * @var string |
|
| 37 | - */ |
|
| 38 | - const DETAILS = "details"; |
|
| 35 | + /** |
|
| 36 | + * @var string |
|
| 37 | + */ |
|
| 38 | + const DETAILS = "details"; |
|
| 39 | 39 | } |
| 40 | 40 | \ No newline at end of file |