Skip to content

Commit 16540ed

Browse files
Mike van den Hoekmvdhoek1
authored andcommitted
feat: conditional usage of ssl certificates
1 parent 13f2b51 commit 16540ed

6 files changed

Lines changed: 67 additions & 32 deletions

File tree

languages/prefill-gravity-forms.pot

Lines changed: 33 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ msgstr ""
99
"MIME-Version: 1.0\n"
1010
"Content-Type: text/plain; charset=UTF-8\n"
1111
"Content-Transfer-Encoding: 8bit\n"
12-
"POT-Creation-Date: 2026-01-07T13:12:37+00:00\n"
12+
"POT-Creation-Date: 2026-01-07T14:36:51+00:00\n"
1313
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1414
"X-Generator: WP-CLI 2.12.0\n"
1515
"X-Domain: prefill-gravity-forms\n"
@@ -728,91 +728,99 @@ msgstr ""
728728
msgid "Deze authenticatie zal gebruikt worden naast de gebruikelijke authenticatie middels certificaten."
729729
msgstr ""
730730

731-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:122
731+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:120
732+
msgid "Gebruik SSL certificaten"
733+
msgstr ""
734+
735+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:121
736+
msgid "Schakel deze optie in om SSL certificaten te gebruiken voor de communicatie met de API van de leverancier."
737+
msgstr ""
738+
739+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:130
732740
msgid "API sleutel"
733741
msgstr ""
734742

735-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:124
736-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:155
743+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:132
744+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:163
737745
msgid "Vul alleen in als de API van de leverancier dit gebruikt."
738746
msgstr ""
739747

740-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:127
748+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:135
741749
msgid "Sleutel"
742750
msgstr ""
743751

744-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:131
745-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:162
752+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:139
746753
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:170
754+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:178
747755
msgid "Vul een waarde in"
748756
msgstr ""
749757

750-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:134
758+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:142
751759
msgid "Header naam"
752760
msgstr ""
753761

754-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:139
762+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:147
755763
msgid "Is vereist als header in HTTP verzoeken."
756764
msgstr ""
757765

758-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:153
766+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:161
759767
msgid "API OAuth 2.0"
760768
msgstr ""
761769

762-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:158
770+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:166
763771
msgid "Gebruikersnaam"
764772
msgstr ""
765773

766-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:165
767-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:238
774+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:173
775+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:246
768776
msgid "Wachtwoord"
769777
msgstr ""
770778

771-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:184
779+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:192
772780
msgid "Gebruikersmodel"
773781
msgstr ""
774782

775-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:187
783+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:195
776784
msgid "Activeer gebruikersmodel"
777785
msgstr ""
778786

779-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:188
787+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:196
780788
msgid "Het Gebruikersmodel (UserModel) bevat gegevens van de ingelogde burger die beschikbaar worden gesteld voor gebruik in templates en weergaven. Meer informatie is te vinden in de README van deze plugin."
781789
msgstr ""
782790

783-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:200
791+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:208
784792
msgid "Berichtenverkeer logboek"
785793
msgstr ""
786794

787-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:204
795+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:212
788796
msgid "Logging inschakelen"
789797
msgstr ""
790798

791-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:208
799+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:216
792800
msgid "Schakel deze optie in om het loggen van foutmeldingen te activeren. Dit kan nuttig zijn voor het opsporen en oplossen van problemen binnen de plug-in."
793801
msgstr ""
794802

795-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:213
803+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:221
796804
msgid "Certificaten"
797805
msgstr ""
798806

799-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:216
807+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:224
800808
msgid "Certificaten hoofd locatie"
801809
msgstr ""
802810

803-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:224
811+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:232
804812
msgid "Publieke locatie certificaten"
805813
msgstr ""
806814

807-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:231
815+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:239
808816
msgid "Privé locatie certificaten"
809817
msgstr ""
810818

811-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:243
819+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:251
812820
msgid "Dit veld mag leeg gelaten worden als er geen wachtwoord vereist is voor het maken van de verzoeken naar de \"Haalcentraal\" API."
813821
msgstr ""
814822

815-
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:257
823+
#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:274
816824
msgid "Geen certificaat geselecteerd"
817825
msgstr ""
818826

src/PrefillGravityForms/Controllers/BaseController.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ protected function timeoutOptionCURL(): int
402402

403403
protected function getDefaultCurlArgs(): array
404404
{
405-
return [
405+
$args = [
406406
CURLOPT_RETURNTRANSFER => true,
407407
CURLOPT_ENCODING => '',
408408
CURLOPT_MAXREDIRS => 10,
@@ -411,6 +411,13 @@ protected function getDefaultCurlArgs(): array
411411
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
412412
CURLOPT_CUSTOMREQUEST => 'GET',
413413
];
414+
415+
if ($this->settings->useSSLCertificates()) {
416+
$args[CURLOPT_SSLCERT] = $this->settings->getPublicCertificate();
417+
$args[CURLOPT_SSLKEY] = $this->settings->getPrivateCertificate();
418+
}
419+
420+
return $args;
414421
}
415422

416423
/**

src/PrefillGravityForms/Controllers/PinkRoccadeController.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,7 @@ protected function request(string $bsn = '', string $doelBinding = '', string $e
7373
{
7474
$curlArgs = [
7575
CURLOPT_URL => $this->getRequestURL($bsn, $expand),
76-
CURLOPT_HTTPHEADER => $this->getCurlHeaders($doelBinding),
77-
CURLOPT_SSLCERT => $this->settings->getPublicCertificate(),
78-
CURLOPT_SSLKEY => $this->settings->getPrivateCertificate(),
76+
CURLOPT_HTTPHEADER => $this->getCurlHeaders($doelBinding)
7977
];
8078

8179
return $this->handleCurl($curlArgs, CacheService::formatTransientKey($bsn));

src/PrefillGravityForms/Controllers/VrijBRPController.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,7 @@ protected function request(string $bsn = '', string $doelBinding = '', string $e
7373
{
7474
$curlArgs = [
7575
CURLOPT_URL => $this->getRequestURL($bsn, $expand),
76-
CURLOPT_HTTPHEADER => $this->getCurlHeaders($doelBinding),
77-
CURLOPT_SSLCERT => $this->settings->getPublicCertificate(),
78-
CURLOPT_SSLKEY => $this->settings->getPrivateCertificate(),
76+
CURLOPT_HTTPHEADER => $this->getCurlHeaders($doelBinding)
7977
];
8078

8179
return $this->handleCurl($curlArgs, CacheService::formatTransientKey($bsn));

src/PrefillGravityForms/GravityForms/GravityFormsAddon.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,14 @@ public function plugin_settings_fields(): array
116116
'required' => false,
117117
'default_value' => false,
118118
],
119+
[
120+
'label' => __('Gebruik SSL certificaten', 'prefill-gravity-forms'),
121+
'description' => __('Schakel deze optie in om SSL certificaten te gebruiken voor de communicatie met de API van de leverancier.', 'prefill-gravity-forms'),
122+
'type' => 'toggle',
123+
'name' => "{$prefix}use-ssl-certificates",
124+
'required' => false,
125+
'default_value' => false,
126+
]
119127
],
120128
],
121129
[
@@ -243,6 +251,15 @@ public function plugin_settings_fields(): array
243251
'tooltip' => esc_html__('Dit veld mag leeg gelaten worden als er geen wachtwoord vereist is voor het maken van de verzoeken naar de "Haalcentraal" API.', 'prefill-gravity-forms'),
244252
],
245253
],
254+
'dependency' => [
255+
'live' => true,
256+
'fields' => [
257+
[
258+
'field' => "{$prefix}use-ssl-certificates",
259+
'values' => [true, '1'],
260+
]
261+
]
262+
],
246263
],
247264
];
248265
}

src/PrefillGravityForms/GravityForms/GravityFormsSettings.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,13 @@ public function isUserModelEnabled(): bool
5050
return boolval($value);
5151
}
5252

53+
public function useSSLCertificates(): bool
54+
{
55+
$value = $this->options[$this->prefix . 'use-ssl-certificates'] ?? '0';
56+
57+
return boolval($value);
58+
}
59+
5360
public function getNumberOIN(): string
5461
{
5562
return $this->options[$this->prefix . 'oin-number'] ?? '';

0 commit comments

Comments
 (0)