/** * MainWP Code Snippet — Praktijk-sites (Fluent Forms + Elementor JetFormBuilder) * * PLAK DIT in MainWP > Code Snippets > New Snippet. * Type: "Execute on Site" (niet "Return Info") * Doel: tag "Praktijk" * * Alle option-keys hieronder zijn afgeleid uit de LIVE opslag-payload van * Fluent Forms op adamdoctors.nl — niet gegokt. * * Wat het doet (idempotent — meermaals draaien is veilig): * 1. E-mail samenvattingen UIT (email_report.status = 'no') * 2. IP logging uitschakelen AAN (misc.isIpLogingDisabled = true) * 3. Honeypot security AAN (misc.honeypotStatus = 'yes') * 4. Token Based Spam Protection AAN (misc.tokenBasedProtectionStatus = 'yes') * 5. Demo-formulieren "Contact Form Demo" + "Subscription Form" verwijderen * — ALLEEN als ze 0 inzendingen hebben (veiligheidsslot) * 6. Elementor Custom Code "JetFormBuilder" vervangen door de nieuwe CSS/JS * * Wat het NIET doet: de licentie activeren. Die sleutel voer je zelf in. */ global $wpdb; $log = array(); /* ------------------------------------------------------------------ * * 1. Globale Fluent Forms instellingen (misc) * ------------------------------------------------------------------ */ $opt = get_option( '_fluentform_global_form_settings' ); if ( is_array( $opt ) ) { if ( ! isset( $opt['misc'] ) || ! is_array( $opt['misc'] ) ) { $opt['misc'] = array(); } // Alleen deze drie sleutels aanraken; de rest blijft ongemoeid. $opt['misc']['isIpLogingDisabled'] = true; // let op: FF schrijft "Loging" met één g $opt['misc']['honeypotStatus'] = 'yes'; $opt['misc']['tokenBasedProtectionStatus'] = 'yes'; update_option( '_fluentform_global_form_settings', $opt ); $log[] = 'misc: ip-logging uit, honeypot aan, token-protection aan'; } else { $log[] = 'LET OP: _fluentform_global_form_settings niet gevonden of geen array'; } /* ------------------------------------------------------------------ * * 2. E-mail samenvattingen uitzetten * De optienaam kan per FF-versie verschillen, dus we zoeken de optie * op aan de hand van zijn inhoud ("sending_day") in plaats van te gokken. * ------------------------------------------------------------------ */ $report_opts = $wpdb->get_col( "SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '%fluentform%' AND option_value LIKE '%sending_day%'" ); if ( empty( $report_opts ) ) { $log[] = 'e-mail samenvatting: geen optie gevonden (mogelijk al nooit ingesteld)'; } foreach ( $report_opts as $name ) { $val = get_option( $name ); if ( is_array( $val ) && isset( $val['status'] ) ) { $val['status'] = 'no'; update_option( $name, $val ); $log[] = 'e-mail samenvatting uit via optie: ' . $name; } } /* ------------------------------------------------------------------ * * 3. Demo-formulieren verwijderen (alleen zonder inzendingen) * ------------------------------------------------------------------ */ $forms_t = $wpdb->prefix . 'fluentform_forms'; $meta_t = $wpdb->prefix . 'fluentform_form_meta'; $entries_t = $wpdb->prefix . 'fluentform_submissions'; if ( $wpdb->get_var( "SHOW TABLES LIKE '{$forms_t}'" ) === $forms_t ) { $targets = array( 'Contact Form Demo', 'Subscription Form' ); foreach ( $targets as $title ) { $form_id = $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$forms_t} WHERE title = %s", $title ) ); if ( ! $form_id ) { $log[] = "formulier '{$title}': niet aanwezig"; continue; } // Veiligheidsslot: nooit een formulier met inzendingen weggooien. $count = 0; if ( $wpdb->get_var( "SHOW TABLES LIKE '{$entries_t}'" ) === $entries_t ) { $count = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$entries_t} WHERE form_id = %d", $form_id ) ); } if ( $count > 0 ) { $log[] = "formulier '{$title}': OVERGESLAGEN — heeft {$count} inzending(en)"; continue; } $wpdb->delete( $forms_t, array( 'id' => $form_id ), array( '%d' ) ); if ( $wpdb->get_var( "SHOW TABLES LIKE '{$meta_t}'" ) === $meta_t ) { $wpdb->delete( $meta_t, array( 'form_id' => $form_id ), array( '%d' ) ); } $log[] = "formulier '{$title}' (id {$form_id}) verwijderd"; } } else { $log[] = 'Fluent Forms tabellen niet gevonden'; } /* ------------------------------------------------------------------ * * 4. Elementor Custom Code "JetFormBuilder" vervangen * ------------------------------------------------------------------ */ $new_code = <<<'JFBCODE' JFBCODE; /* * LET OP: de titel verschilt per site! * adamdoctors.nl -> "JetFormBuilder" * 043arts.nl -> "FormBuilder" * Daarom matchen we op '%FormBuilder%', wat beide dekt. */ $snippets = $wpdb->get_results( "SELECT ID, post_title, post_content FROM {$wpdb->posts} WHERE post_type = 'elementor_snippet' AND post_status = 'publish' AND post_title LIKE '%FormBuilder%'" ); if ( empty( $snippets ) ) { $log[] = 'Elementor snippet "*FormBuilder*": NIET GEVONDEN'; } foreach ( $snippets as $s ) { // Al bijgewerkt? Dan overslaan (houdt de run idempotent en snel). if ( trim( $s->post_content ) === trim( $new_code ) ) { $log[] = 'Elementor snippet "' . $s->post_title . '" (id ' . $s->ID . ') was al up-to-date'; continue; } // wp_update_post ontsnapt content niet stuk; slashes toevoegen is nodig. wp_update_post( array( 'ID' => $s->ID, 'post_content' => wp_slash( $new_code ), ) ); $log[] = 'Elementor snippet "' . $s->post_title . '" (id ' . $s->ID . ') vervangen'; } /* ------------------------------------------------------------------ * * Rapport * ------------------------------------------------------------------ */ echo get_bloginfo( 'url' ) . "\n"; echo implode( "\n", $log );

Onze Medewerkers

Ontmoet onze medewerkers

Bekijk hier onze medewerkers en de dagen dat zij aanwezig zijn.
Klik op de foto om meer te lezen over de medewerker. 

Merel Schoonman

Merel Schoonman

Huisarts, Praktijkhouder

ma

di

wo

do

vr

Ismene Tchaussoglou

Ismene Tchaoussoglou

Huisarts

ma

di

wo

do

vr

Augusta van Bonzel

Augusta van Bonzel

POH Somatiek

ma

di

wo

do

vr

Praktijkondersteuner Somatiek Boudien

Boudien Zijlstra

POH Somatiek

ma

di

wo

do

vr

Rolinka van Vlastuin

Rolinka van Vlastuin

Praktijkassistente, Praktijkmanager i.o.

ma

di

wo

do

vr

Ellen Praktijkassistente

Ellen Kuijer

Praktijkassistente

ma

di

wo

do

vr

Eline Toonen

Praktijkassistente, Spreekuurondersteuner Huisarts (SOH)

ma

di

wo

do

vr