Skip to content

Commit 115959f

Browse files
committed
add opencage provider
1 parent 5b93692 commit 115959f

6 files changed

Lines changed: 26 additions & 0 deletions

File tree

DependencyInjection/BazingaGeocoderExtension.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,16 @@ public function load(array $configs, ContainerBuilder $container)
195195
$container->setDefinition('bazinga_geocoder.provider.maxmind_binary', $provider);
196196
}
197197

198+
if (isset($config['providers']['opencage'])) {
199+
$openCageParams = $config['providers']['opencage'];
200+
201+
$this->addProvider('opencage', array(
202+
$openCageParams['locale'],
203+
$openCageParams['use_ssl'],
204+
$openCageParams['api_key'],
205+
));
206+
}
207+
198208
if (isset($config['providers']['cache'])) {
199209
$params = $config['providers']['cache'];
200210
$cache = new Reference($params['adapter']);

DependencyInjection/Configuration.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@ public function getConfigTreeBuilder()
163163
->end()
164164
->end()
165165
->end()
166+
->arrayNode('opencage')
167+
->children()
168+
->scalarNode('locale')->defaultNull()->end()
169+
->booleanNode('use_ssl')->defaultFalse()->end()
170+
->scalarNode('api_key')->isRequired()->cannotBeEmpty()->end()
171+
->end()
172+
->end()
166173
->arrayNode('chain')
167174
->fixXmlConfig('provider')
168175
->children()

Resources/config/services.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
<parameter key="bazinga_geocoder.geocoder.provider.geo_plugin.class">Geocoder\Provider\GeoPluginProvider</parameter>
2828
<parameter key="bazinga_geocoder.geocoder.provider.maxmind.class">Geocoder\Provider\MaxMindProvider</parameter>
2929
<parameter key="bazinga_geocoder.geocoder.provider.maxmind_binary.class">Geocoder\Provider\MaxMindBinaryProvider</parameter>
30+
<parameter key="bazinga_geocoder.geocoder.provider.opencage.class">Geocoder\Provider\OpenCageProvider</parameter>
3031
<parameter key="bazinga_geocoder.geocoder.provider.cache.class">Bazinga\Bundle\GeocoderBundle\Provider\CacheProvider</parameter>
3132
<parameter key="bazinga_geocoder.geocoder.provider.chain.class">Geocoder\Provider\ChainProvider</parameter>
3233
<parameter key="bazinga_geocoder.geocoder.provider.tom_tom.class">Geocoder\Provider\TomTomProvider</parameter>

Resources/doc/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,10 @@ bazinga_geocoder:
293293
maxmind_binary:
294294
binary_file: ~ # Required
295295
open_flag: null
296+
opencage:
297+
locale: null
298+
use_ssl: false
299+
api_key: null
296300
chain:
297301
providers: []
298302
tom_tom:

Tests/DependencyInjection/BazingaGeocoderExtensionTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public function testLoad()
7373
'maxmind' => 'Geocoder\\Provider\\MaxmindProvider',
7474
'chain' => 'Geocoder\\Provider\\ChainProvider',
7575
'maxmind_binary' => 'Geocoder\\Provider\\MaxmindBinaryProvider',
76+
'opencage' => 'Geocoder\\Provider\\OpenCageProvider',
7677
) as $name => $class) {
7778
$this->assertInstanceOf($class, $providers[$name], sprintf('-> Assert that %s is instance of %s', $name, $class));
7879
}

Tests/DependencyInjection/Fixtures/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,8 @@ bazinga_geocoder:
4848
api_key: 123
4949
maxmind_binary:
5050
binary_file: %fixtures_dir%/maxmind.dat
51+
opencage:
52+
locale: en_US
53+
api_key: 123
5154
chain:
5255
providers: [free_geo_ip, host_ip]

0 commit comments

Comments
 (0)