diff --git a/app/Utils/Geocode.php b/app/Utils/Geocode.php new file mode 100644 index 000000000000..61f30db26648 --- /dev/null +++ b/app/Utils/Geocode.php @@ -0,0 +1,16 @@ +=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^5.0 || ^4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Clue\\StreamFilter\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christian Lück", + "email": "christian@lueck.tv" + } + ], + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/php-stream-filter", + "keywords": [ + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" + ], + "time": "2017-08-18T09:54:01+00:00" + }, { "name": "davejamesmiller/laravel-breadcrumbs", "version": "5.2.0", @@ -480,6 +532,239 @@ ], "time": "2019-01-10T14:06:47+00:00" }, + { + "name": "geocoder-php/chain-provider", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/geocoder-php/chain-provider.git", + "reference": "be9d39b4097d3f926eb8465d051addaf46ead3ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/geocoder-php/chain-provider/zipball/be9d39b4097d3f926eb8465d051addaf46ead3ae", + "reference": "be9d39b4097d3f926eb8465d051addaf46ead3ae", + "shasum": "" + }, + "require": { + "php": "^7.0", + "psr/log": "^1.0", + "willdurand/geocoder": "^4.0" + }, + "provide": { + "geocoder-php/provider-implementation": "1.0" + }, + "require-dev": { + "nyholm/nsa": "^1.1", + "php-http/curl-client": "^1.7", + "php-http/message": "^1.0", + "phpunit/phpunit": "6.3.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Geocoder\\Provider\\Chain\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "description": "Geocoder chain adapter", + "homepage": "http://geocoder-php.org/Geocoder/", + "time": "2019-01-08T12:13:42+00:00" + }, + { + "name": "geocoder-php/common-http", + "version": "4.2.0", + "source": { + "type": "git", + "url": "https://github.com/geocoder-php/php-common-http.git", + "reference": "8e666f89d0b87121595ec2f5134a9f54bf4b0cd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/geocoder-php/php-common-http/zipball/8e666f89d0b87121595ec2f5134a9f54bf4b0cd2", + "reference": "8e666f89d0b87121595ec2f5134a9f54bf4b0cd2", + "shasum": "" + }, + "require": { + "php": "^7.0", + "php-http/client-implementation": "^1.0", + "php-http/discovery": "^1.4", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0.2", + "psr/http-message": "^1.0", + "psr/http-message-implementation": "^1.0", + "willdurand/geocoder": "^4.0" + }, + "require-dev": { + "nyholm/psr7": "^0.2.2", + "php-http/message": "^1.0", + "php-http/mock-client": "^1.0", + "phpunit/phpunit": "6.3.*", + "symfony/stopwatch": "~2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Geocoder\\Http\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + } + ], + "description": "Common files for HTTP based Geocoders", + "homepage": "http://geocoder-php.org", + "keywords": [ + "http geocoder" + ], + "time": "2018-11-15T22:27:27+00:00" + }, + { + "name": "geocoder-php/geo-plugin-provider", + "version": "4.0.1", + "source": { + "type": "git", + "url": "https://github.com/geocoder-php/geo-plugin-provider.git", + "reference": "db93987e5d88c170127f4b1f43b40b70a6b90123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/geocoder-php/geo-plugin-provider/zipball/db93987e5d88c170127f4b1f43b40b70a6b90123", + "reference": "db93987e5d88c170127f4b1f43b40b70a6b90123", + "shasum": "" + }, + "require": { + "geocoder-php/common-http": "^4.0", + "igorw/get-in": "^1.0", + "php": "^7.0", + "willdurand/geocoder": "^4.0" + }, + "provide": { + "geocoder-php/provider-implementation": "1.0" + }, + "require-dev": { + "geocoder-php/provider-integration-tests": "^1.0", + "nyholm/psr7": "^0.2.2", + "php-http/curl-client": "^1.7", + "php-http/message": "^1.0", + "phpunit/phpunit": "6.3.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Geocoder\\Provider\\GeoPlugin\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "description": "Geocoder GeoPlugin adapter", + "homepage": "http://geocoder-php.org/Geocoder/", + "time": "2018-03-02T15:46:47+00:00" + }, + { + "name": "geocoder-php/google-maps-provider", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/geocoder-php/google-maps-provider.git", + "reference": "40965c51683ef6210fe1694c90f0e42987996df8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/geocoder-php/google-maps-provider/zipball/40965c51683ef6210fe1694c90f0e42987996df8", + "reference": "40965c51683ef6210fe1694c90f0e42987996df8", + "shasum": "" + }, + "require": { + "geocoder-php/common-http": "^4.0", + "php": "^7.0", + "willdurand/geocoder": "^4.0" + }, + "provide": { + "geocoder-php/provider-implementation": "1.0" + }, + "require-dev": { + "geocoder-php/provider-integration-tests": "^1.0", + "nyholm/psr7": "^0.2.2", + "php-http/curl-client": "^1.7", + "php-http/message": "^1.0", + "phpunit/phpunit": "6.3.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Geocoder\\Provider\\GoogleMaps\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "description": "Geocoder GoogleMaps adapter", + "homepage": "http://geocoder-php.org/Geocoder/", + "time": "2018-12-03T09:19:55+00:00" + }, { "name": "guzzlehttp/guzzle", "version": "6.3.3", @@ -729,6 +1014,51 @@ ], "time": "2018-03-12T16:30:09+00:00" }, + { + "name": "igorw/get-in", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/igorw/get-in.git", + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/igorw/get-in/zipball/170ded831f49abc6a6061f655aba9bdbcf7b8111", + "reference": "170ded831f49abc6a6061f655aba9bdbcf7b8111", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/get_in.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + } + ], + "description": "Functions for for hash map (assoc array) traversal.", + "keywords": [ + "assoc-array", + "hash-map" + ], + "time": "2014-12-15T23:03:51+00:00" + }, { "name": "jakub-onderka/php-console-color", "version": "v0.2", @@ -1865,6 +2195,126 @@ ], "time": "2018-07-02T15:55:56+00:00" }, + { + "name": "php-http/curl-client", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/curl-client.git", + "reference": "6341a93d00e5d953fc868a3928b5167e6513f2b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/curl-client/zipball/6341a93d00e5d953fc868a3928b5167e6513f2b6", + "reference": "6341a93d00e5d953fc868a3928b5167e6513f2b6", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": "^5.5 || ^7.0", + "php-http/discovery": "^1.0", + "php-http/httplug": "^1.0", + "php-http/message": "^1.2", + "php-http/message-factory": "^1.0.2" + }, + "provide": { + "php-http/async-client-implementation": "1.0", + "php-http/client-implementation": "1.0" + }, + "require-dev": { + "guzzlehttp/psr7": "^1.0", + "php-http/client-integration-tests": "^0.6", + "phpunit/phpunit": "^4.8.27", + "zendframework/zend-diactoros": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Http\\Client\\Curl\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Михаил Красильников", + "email": "m.krasilnikov@yandex.ru" + } + ], + "description": "cURL client for PHP-HTTP", + "homepage": "http://php-http.org", + "keywords": [ + "curl", + "http" + ], + "time": "2018-03-26T19:21:48+00:00" + }, + { + "name": "php-http/discovery", + "version": "1.6.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "02b7ea21eafa0757af04140890a67d8ed45f83b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/02b7ea21eafa0757af04140890a67d8ed45f83b2", + "reference": "02b7ea21eafa0757af04140890a67d8ed45f83b2", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "conflict": { + "nyholm/psr7": "<1.0" + }, + "require-dev": { + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^2.4", + "puli/composer-plugin": "1.0.0-beta10" + }, + "suggest": { + "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories", + "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds installed HTTPlug implementations and PSR-7 message factories", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr7" + ], + "time": "2019-01-23T12:41:22+00:00" + }, { "name": "php-http/guzzle6-adapter", "version": "v1.1.1", @@ -1981,6 +2431,128 @@ ], "time": "2016-08-31T08:30:17+00:00" }, + { + "name": "php-http/message", + "version": "1.7.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message.git", + "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message/zipball/b159ffe570dffd335e22ef0b91a946eacb182fa1", + "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1", + "shasum": "" + }, + "require": { + "clue/stream-filter": "^1.4", + "php": "^5.4 || ^7.0", + "php-http/message-factory": "^1.0.2", + "psr/http-message": "^1.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0" + }, + "require-dev": { + "akeneo/phpspec-skip-example-extension": "^1.0", + "coduo/phpspec-data-provider-extension": "^1.0", + "ext-zlib": "*", + "guzzlehttp/psr7": "^1.0", + "henrikbjorn/phpspec-code-coverage": "^1.0", + "phpspec/phpspec": "^2.4", + "slim/slim": "^3.0", + "zendframework/zend-diactoros": "^1.0" + }, + "suggest": { + "ext-zlib": "Used with compressor/decompressor streams", + "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", + "slim/slim": "Used with Slim Framework PSR-7 implementation", + "zendframework/zend-diactoros": "Used with Diactoros Factories" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + }, + "files": [ + "src/filters.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "HTTP Message related tools", + "homepage": "http://php-http.org", + "keywords": [ + "http", + "message", + "psr-7" + ], + "time": "2018-11-01T09:32:41+00:00" + }, + { + "name": "php-http/message-factory", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "time": "2015-12-19T14:08:53+00:00" + }, { "name": "php-http/promise", "version": "v1.0.0", @@ -3595,21 +4167,103 @@ "time": "2017-11-27T11:13:29+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v2.5.2", + "name": "toin0u/geocoder-laravel", + "version": "4.0.21", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "cfd5dc225767ca154853752abc93aeec040fcf36" + "url": "https://github.com/geocoder-php/GeocoderLaravel.git", + "reference": "11408306ec9b148a7f465678488426f13dc26f25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/cfd5dc225767ca154853752abc93aeec040fcf36", - "reference": "cfd5dc225767ca154853752abc93aeec040fcf36", + "url": "https://api.github.com/repos/geocoder-php/GeocoderLaravel/zipball/11408306ec9b148a7f465678488426f13dc26f25", + "reference": "11408306ec9b148a7f465678488426f13dc26f25", "shasum": "" }, "require": { - "php": ">=5.3.9" + "geocoder-php/chain-provider": "^4.0", + "geocoder-php/geo-plugin-provider": "^4.0", + "geocoder-php/google-maps-provider": "^4.0", + "guzzlehttp/psr7": "*", + "illuminate/cache": "5.0 - 5.7", + "illuminate/support": "5.0 - 5.7", + "php": ">=7.1.3", + "php-http/curl-client": "*", + "willdurand/geocoder": "^4.0" + }, + "require-dev": { + "codedungeon/phpunit-result-printer": "*", + "doctrine/dbal": "^2.5", + "fzaninotto/faker": "~1.4", + "geocoder-php/bing-maps-provider": "^4.0", + "geocoder-php/geoip2-provider": "^4.0", + "geocoder-php/maxmind-binary-provider": "^4.0", + "mockery/mockery": "0.9.*", + "orchestra/database": "3.6.*", + "orchestra/testbench": "3.6.*", + "orchestra/testbench-browser-kit": "3.6.*", + "orchestra/testbench-dusk": "3.6.x-dev@dev", + "php-coveralls/php-coveralls": "*", + "phpunit/phpunit": "^7.0", + "sebastian/phpcpd": "*" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Geocoder\\Laravel\\Providers\\GeocoderService" + ] + } + }, + "autoload": { + "psr-4": { + "Geocoder\\Laravel\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike Bronner", + "email": "hello@genealabs.com", + "homepage": "https://genealabs.com", + "role": "Developer, Maintainer" + }, + { + "name": "Antoine Corcy", + "email": "contact@sbin.dk", + "homepage": "http://sbin.dk", + "role": "Original Creator" + } + ], + "description": "Geocoder Service Provider for Laravel", + "homepage": "http://geocoder-php.org/", + "keywords": [ + "geocoder", + "geocoding", + "laravel" + ], + "time": "2018-11-03T19:05:55+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "f3aae2877ecf916ee802b7a5b249d36658171df6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/f3aae2877ecf916ee802b7a5b249d36658171df6", + "reference": "f3aae2877ecf916ee802b7a5b249d36658171df6", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-ctype": "^1.9" }, "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.0" @@ -3617,7 +4271,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -3642,7 +4296,7 @@ "env", "environment" ], - "time": "2018-10-30T17:29:25+00:00" + "time": "2019-01-28T20:57:27+00:00" }, { "name": "webpatser/laravel-countries", @@ -5376,16 +6030,16 @@ }, { "name": "sebastian/environment", - "version": "4.0.1", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f" + "reference": "4a43e9af57b4afa663077b9bc85255dbc6e8a2bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f", - "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4a43e9af57b4afa663077b9bc85255dbc6e8a2bd", + "reference": "4a43e9af57b4afa663077b9bc85255dbc6e8a2bd", "shasum": "" }, "require": { @@ -5422,7 +6076,7 @@ "environment", "hhvm" ], - "time": "2018-11-25T09:31:21+00:00" + "time": "2019-01-28T15:26:03+00:00" }, { "name": "sebastian/exporter", diff --git a/config/geocoder.php b/config/geocoder.php new file mode 100644 index 000000000000..d04b40d4f6f6 --- /dev/null +++ b/config/geocoder.php @@ -0,0 +1,101 @@ + [ + + /* + |----------------------------------------------------------------------- + | Cache Store + |----------------------------------------------------------------------- + | + | Specify the cache store to use for caching. The value "null" will use + | the default cache store specified in /config/cache.php file. + | + | Default: null + | + */ + + 'store' => null, + + /* + |----------------------------------------------------------------------- + | Cache Duration + |----------------------------------------------------------------------- + | + | Specify the cache duration in minutes. The default approximates a + | "forever" cache, but there are certain issues with Laravel's forever + | caching methods that prevent us from using them in this project. + | + | Default: 9999999 (integer) + | + */ + + 'duration' => 9999999, + ], + + /* + |--------------------------------------------------------------------------- + | Providers + |--------------------------------------------------------------------------- + | + | Here you may specify any number of providers that should be used to + | perform geocaching operations. The `chain` provider is special, + | in that it can contain multiple providers that will be run in + | the sequence listed, should the previous provider fail. By + | default the first provider listed will be used, but you + | can explicitly call subsequently listed providers by + | alias: `app('geocoder')->using('google_maps')`. + | + | Please consult the official Geocoder documentation for more info. + | https://github.com/geocoder-php/Geocoder#providers + | + */ + 'providers' => [ + Chain::class => [ + GoogleMaps::class => [ + env('GOOGLE_MAPS_LOCALE', 'en-US'), + env('GOOGLE_MAPS_API_KEY'), + ], + GeoPlugin::class => [], + ], + ], + + /* + |--------------------------------------------------------------------------- + | Adapter + |--------------------------------------------------------------------------- + | + | You can specify which PSR-7-compliant HTTP adapter you would like to use. + | There are multiple options at your disposal: CURL, Guzzle, and others. + | + | Please consult the official Geocoder documentation for more info. + | https://github.com/geocoder-php/Geocoder#usage + | + | Default: Client::class (FQCN for CURL adapter) + | + */ + 'adapter' => Client::class, + + /* + |--------------------------------------------------------------------------- + | Reader + |--------------------------------------------------------------------------- + | + | You can specify a reader for specific providers, like GeoIp2, which + | connect to a local file-database. The reader should be set to an + | instance of the required reader class. + | + | Please consult the official Geocoder documentation for more info. + | https://github.com/geocoder-php/geoip2-provider + | + | Default: null + | + */ + 'reader' => null, + +];