diff --git a/dvg_stuf_bg.api.php b/dvg_stuf_bg.api.php index 6edc855..35c1778 100644 --- a/dvg_stuf_bg.api.php +++ b/dvg_stuf_bg.api.php @@ -6,8 +6,6 @@ */ /** - * Implements hook_dvg_stuf_bg_soap_options(). - * * Use this hook to alter the SOAP options. * For example if you need to add a SSL handshake. */ @@ -26,7 +24,7 @@ function hook_dvg_stuf_bg_soap_options() { } /** - * Implements hook_dvg_stuf_bg_allowed_prefill_roles_alter(). + * Use this hook to add additional roles that should be allowed to use the prefill. */ function hook_dvg_stuf_bg_allowed_prefill_roles_alter(&$roles) { // Assign the role used by stuf bg. @@ -34,65 +32,26 @@ function hook_dvg_stuf_bg_allowed_prefill_roles_alter(&$roles) { } /** - * Implements hook_dvg_stuf_bg_natuurlijkpersoon_api_wsdl_alter(). - */ -function hook_dvg_stuf_bg_natuurlijkpersoon_api_wsdl_alter(&$wsdl) { - // Use a custom wsdl file. - $wsdl = drupal_get_path('module', 'dvg_stuf_bg_custom_module') . '/wsdl/bg0310/vraagAntwoord/bg0310_beantwoordVraag_vraagAntwoord.wsdl'; -} - -/** - * Implements hook_dvg_stuf_bg_natuurlijkpersoon_api_method_alter(). - */ -function hook_dvg_stuf_bg_natuurlijkpersoon_api_method_alter(&$method) { - // Call a different method. - $method = 'npsLv01Alternative'; -} - -/** - * Implements hook_dvg_stuf_bg_gezinssituatieopadresaanvrager_api_wsdl_alter(). - */ -function hook_dvg_stuf_bg_gezinssituatieopadresaanvrager_api_wsdl_alter(&$wsdl) { - // Use a custom wsdl file. - $wsdl = drupal_get_path('module', 'dvg_stuf_bg_custom_module') . '/wsdl/bg0310/prs/bg0310_vraagAntwoord_prs.wsdl'; -} - -/** - * Implements hook_dvg_stuf_bg_gezinssituatieopadresaanvrager_api_method_alter(). - */ -function hook_dvg_stuf_bg_gezinssituatieopadresaanvrager_api_method_alter(&$method) { - // Call a different method. - $method = 'npsLv01-prs-GezinssituatieOpAdresAanvrager-Alternative'; -} - -/** - * Implements hook_dvg_stuf_bg_vestiging_api_wsdl_alter(). - */ -function hook_dvg_stuf_bg_vestiging_api_wsdl_alter(&$wsdl) { - // Use a custom wsdl file. - $wsdl = drupal_get_path('module', 'dvg_stuf_bg_custom_module') . '/wsdl/bg0310/prs/bg0310_vraagAntwoord_prs.wsdl'; -} - -/** - * Implements hook_dvg_stuf_bg_vestiging_api_method_alter(). - */ -function hook_dvg_stuf_bg_vestiging_api_method_alter(&$method) { - // Call a different method. - $method = 'vesLv01-prs-Vestiging-Alternative'; -} - -/** - * Implements hook_dvg_stuf_bg_aoa_api_wsdl_alter(). - */ -function hook_dvg_stuf_bg_aoa_api_wsdl_alter(&$wsdl) { - // Use a custom wsdl file. - $wsdl = drupal_get_path('module', 'dvg_stuf_bg_custom_module') . '/wsdl/bg0310/vraagAntwoord/bg0310_beantwoordVraag_vraagAntwoord.wsdl'; -} - -/** - * Implements hook_dvg_stuf_bg_aoa_api_method_alter(). - */ -function hook_dvg_stuf_bg_aoa_api_method_alter(&$method) { - // Call a different method. - $method = 'aoaLv01Alternative'; + * Use this hook to alter the WSDL and/or method used for StUF calls. + * The type parameter can be used to identify what type of API call is done. + * + * @param string $wsdl + * The path to the WSDL that will be used for this call. + * @param string $method + * The method to use for this call. + * @param string $type + * Identifies what StUF BG call is done. + * One of: + * - natuurlijkpersoon + * - gezinssituatieopadresaanvrager + * - vestiging + * - aoa + */ +function hook_dvg_stuf_bg_api_call_alter(&$wsdl, &$method, $type) { + if ($type === 'natuurlijkpersoon') { + // Use a custom wsdl file. + $wsdl = drupal_get_path('module', 'dvg_stuf_bg_custom_module') . '/wsdl/bg0310/vraagAntwoord/bg0310_beantwoordVraag_vraagAntwoord.wsdl'; + // Call a different method. + $method = 'npsLv01Alternative'; + } } diff --git a/dvg_stuf_bg.module b/dvg_stuf_bg.module index 9f575cf..9058952 100644 --- a/dvg_stuf_bg.module +++ b/dvg_stuf_bg.module @@ -52,8 +52,8 @@ function dvg_stuf_bg_natuurlijk_persoon($reset = FALSE) { $wsdl = drupal_get_path('module', 'dvg_stuf_bg') . '/wsdl/bg0310/vraagAntwoord/bg0310_beantwoordVraag_vraagAntwoord.wsdl'; $method = 'npsLv01'; } - drupal_alter('dvg_stuf_bg_natuurlijkpersoon_api_wsdl', $wsdl); - drupal_alter('dvg_stuf_bg_natuurlijkpersoon_api_method', $method); + $call_type = 'natuurlijkpersoon'; + drupal_alter('dvg_stuf_bg_api_call', $wsdl, $method, $call_type); $bsn = FALSE; if (_dvg_digid_logged_in($user) || _dvg_stuf_bg_allowed_prefill_roles()) { if (dvg_stuf_bg_debug_mode()) { @@ -288,8 +288,8 @@ function dvg_stuf_bg_gezinssituatie_op_adres_aanvrager($bsn = FALSE, $reset = FA $url = variable_get('dvg_stuf_bg_gezinssituatieopadresaanvrager_api_url'); $wsdl = drupal_get_path('module', 'dvg_stuf_bg') . '/wsdl/bg0310/prs/bg0310_vraagAntwoord_prs.wsdl'; $method = 'npsLv01-prs-GezinssituatieOpAdresAanvrager'; - drupal_alter('dvg_stuf_bg_gezinssituatieopadresaanvrager_api_wsdl', $wsdl); - drupal_alter('dvg_stuf_bg_gezinssituatieopadresaanvrager_api_method', $method); + $call_type = 'gezinssituatieopadresaanvrager'; + drupal_alter('dvg_stuf_bg_api_call', $wsdl, $method, $call_type); if (_dvg_digid_logged_in($user) || _dvg_stuf_bg_allowed_prefill_roles()) { if (dvg_stuf_bg_debug_mode()) { $bsn = variable_get('dvg_stuf_bg_debug_bsn', ''); @@ -613,8 +613,8 @@ function dvg_stuf_bg_vestiging($reset = FALSE) { $url = variable_get('dvg_stuf_bg_vestiging_api_url'); $wsdl = drupal_get_path('module', 'dvg_stuf_bg') . '/wsdl/bg0310/prs/bg0310_vraagAntwoord_prs.wsdl'; $method = 'vesLv01-prs-Vestiging'; - drupal_alter('dvg_stuf_bg_vestiging_api_wsdl', $wsdl); - drupal_alter('dvg_stuf_bg_vestiging_api_method', $method); + $call_type = 'vestiging'; + drupal_alter('dvg_stuf_bg_api_call', $wsdl, $method, $call_type); $vestigings_nummer = FALSE; if (_dvg_eherkenning_logged_in($user) || _dvg_stuf_bg_allowed_prefill_roles()) { if (dvg_stuf_bg_debug_mode()) { @@ -789,8 +789,8 @@ function dvg_stuf_bg_adresgegevens($postal_code, $house_number, $house_letter = $url = variable_get('dvg_stuf_bg_aoa_api_url'); $wsdl = drupal_get_path('module', 'dvg_stuf_bg') . '/wsdl/bg0310/vraagAntwoord/bg0310_beantwoordVraag_vraagAntwoord.wsdl'; $method = 'aoaLv01'; - drupal_alter('dvg_stuf_bg_aoa_api_wsdl', $wsdl); - drupal_alter('dvg_stuf_bg_aoa_api_method', $method); + $call_type = 'aoa'; + drupal_alter('dvg_stuf_bg_api_call', $wsdl, $method, $call_type); $postal_code = strtoupper($postal_code); // Add a unique cache id per environment. $args['cache_id'] = get_cache_id();