| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- <?php
 
- /**
 
-  * Implements hook_services_resources().
 
-  */
 
- function geocoder_services_resources() {
 
-   return array(
 
-     'geocoder' => array(
 
-       'retrieve' => array(
 
-         'help' => 'Geocode data',
 
-         'file' => array('type' => 'inc', 'module' => 'geocoder', 'name' => 'geocoder.services'),
 
-         'callback' => 'geocoder_services_geocode',
 
-         'access callback' => 'geocoder_services_access',
 
-         'access arguments append' => TRUE,
 
-         'args' => array(
 
-           array(
 
-             'name' => 'handler',
 
-             'type' => 'string',
 
-             'description' => 'The geocoder handler to use - google, gpx, kml etc.',
 
-             'source' => array('path' => '0'),
 
-             'optional' => FALSE,
 
-           ),
 
-           array(
 
-             'name' => 'data',
 
-             'type' => 'string',
 
-             'description' => 'Value to geocode',
 
-             'source' => array('param' => 'data'),
 
-             'optional' => FALSE,
 
-           ),
 
-           array(
 
-             'name' => 'output',
 
-             'type' => 'string',
 
-             'description' => 'Output Format (GPX, WKT, etc.)',
 
-             'source' => array('param' => 'output'),
 
-             'optional' => TRUE,
 
-           ),
 
-         ),
 
-       ),
 
-       'index' => array(
 
-         'help' => 'List Geocoder Capabilities',
 
-         'file' => array('type' => 'inc', 'module' => 'geocoder', 'name' => 'geocoder.services'),
 
-         'callback' => 'geocoder_services_capabilities',
 
-         'access callback' => TRUE,
 
-       ),
 
-     ),
 
-   );
 
- }
 
- function geocoder_services_access($handler, $data, $output) {
 
-   if ($handler == 'default') {
 
-     $handler == 'json';
 
-   }
 
-   return geocoder_service_check_perms($handler);
 
- }
 
- /**
 
-  * Callback for geocoding service
 
-  *
 
-  * @param string $handler
 
-  * @param string $data
 
-  * @return object
 
-  */
 
- function geocoder_services_geocode($handler, $data, $format = 'default') {
 
-   geophp_load();
 
-   geocoder_service_check_request($handler, $format);
 
-   
 
-   $geom = geocoder($handler, $data);
 
-   if (!$format || $format == 'default') {
 
-     $result = $geom->out('json');
 
-     return json_decode($result);
 
-   }
 
-   else {
 
-     return $geom->out($format);
 
-   }
 
- }
 
- function geocoder_services_capabilities() {
 
-   geophp_load();
 
-   
 
-   $handlers = array();
 
-   foreach (geocoder_handler_info() as $hid => $handler) {
 
-     $handlers[$hid] = $handler['title'] . ' - ' . $handler['description'];
 
-   }
 
-   
 
-   $object = new stdClass();
 
-   $object->handlers = $handlers;
 
-   $object->output = geoPHP::getAdapterMap();
 
-   return $object;
 
- }
 
 
  |