Skip to content

Commit 76a31aa

Browse files
committed
Merge pull request #36 from formapro/maxmind-binary-provide
[WIP][provider] add maxmind binary provider.
2 parents 443057a + 0f4bfee commit 76a31aa

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

DependencyInjection/BazingaGeocoderExtension.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,24 @@ public function load(array $configs, ContainerBuilder $container)
151151
$this->addProvider('maxmind', array($maxmindParams['api_key']));
152152
}
153153

154+
if (isset($config['providers']['maxmind_binary'])) {
155+
$maxmindBinaryParams = $config['providers']['maxmind_binary'];
156+
157+
$provider = new Definition(
158+
'%bazinga_geocoder.geocoder.provider.maxmind_binary.class%',
159+
array(
160+
$config['providers']['maxmind_binary']['binary_file'],
161+
$config['providers']['maxmind_binary']['open_flag'],
162+
)
163+
);
164+
165+
$provider
166+
->setPublic(false)
167+
->addTag('bazinga_geocoder.provider');
168+
169+
$this->container->setDefinition('bazinga_geocoder.provider.maxmind_binary', $provider);
170+
}
171+
154172
if (isset($config['providers']['cache'])) {
155173
$params = $config['providers']['cache'];
156174
$cache = new Reference($params['adapter']);

DependencyInjection/Configuration.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,16 @@ public function getConfigTreeBuilder()
138138
->end()
139139
->end()
140140
->end()
141+
->arrayNode('maxmind_binary')
142+
->children()
143+
->scalarNode('binary_file')
144+
->isRequired()->cannotBeEmpty()
145+
->end()
146+
->scalarNode('open_flag')
147+
->defaultValue(null)
148+
->end()
149+
->end()
150+
->end()
141151
->arrayNode('chain')
142152
->fixXmlConfig('provider')
143153
->children()

Resources/config/services.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
<parameter key="bazinga_geocoder.geocoder.provider.geo_ips.class">Geocoder\Provider\GeoIPsProvider</parameter>
2626
<parameter key="bazinga_geocoder.geocoder.provider.geo_plugin.class">Geocoder\Provider\GeoPluginProvider</parameter>
2727
<parameter key="bazinga_geocoder.geocoder.provider.maxmind.class">Geocoder\Provider\MaxMindProvider</parameter>
28+
<parameter key="bazinga_geocoder.geocoder.provider.maxmind_binary.class">Geocoder\Provider\MaxMindBinaryProvider</parameter>
2829
<parameter key="bazinga_geocoder.geocoder.provider.cache.class">Bazinga\Bundle\GeocoderBundle\Provider\CacheProvider</parameter>
2930
<parameter key="bazinga_geocoder.geocoder.provider.chain.class">Geocoder\Provider\ChainProvider</parameter>
3031

Tests/DependencyInjection/Fixtures/config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,7 @@ bazinga_geocoder:
4141
geo_plugin: ~
4242
maxmind:
4343
api_key: 123
44+
maxmind_binary:
45+
binary_file: /path/to/maxmind.dat
4446
chain:
4547
providers: [free_geo_ip, host_ip]

0 commit comments

Comments
 (0)