PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.14.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.14.0
2.14.0 2.13.0 2.13.1 2.12.0 2.11.1 2.11.0 2.10.0 2.9.0 2.7.4 2.7.5 2.7.6 2.7.7 2.8.0 2.8.1 2.9.1 trunk 1.0 1.0-beta1 1.0-beta2 1.0-beta3 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 All 81 releases
← All changes | includes/blocks/form-builder/helper.php +80 -0 2.7.6 → 2.14.0 View file →
@@ -1,0 +1,80 @@
1 +<?php
2 +namespace ABlocks\Blocks\FormBuilder;
3 +
4 +if ( ! defined( 'ABSPATH' ) ) {
5 + exit;
6 +}
7 +
8 +use ABlocks\Blocks\FormBuilder\EmailVerification;
9 +use SplTempFileObject;
10 +/**
11 + * @class Query
12 + */
13 +class Helper {
14 + public static function merge_query_params(
15 + string $url,
16 + string $attr = '',
17 + bool $check_alloed_host = false
18 + ) : string {
19 + $parsed_url = wp_parse_url( $url );
20 + $curr_host = wp_parse_url( home_url( '/' ), PHP_URL_HOST );
21 + $parsed_url['query'] = $parsed_url['query'] ?? '';
22 + $parsed_url['scheme'] = $parsed_url['scheme'] ?? '';
23 + $parsed_url['host'] = $parsed_url['host'] ?? $curr_host;
24 + $parsed_url['path'] = $parsed_url['path'] ?? '';
25 +
26 + // wp_send_json($parsed_url);
27 + if (
28 + $check_alloed_host &&
29 + ! in_array(
30 + $parsed_url['host'],
31 + array_merge(
32 + apply_filters( 'allowed_redirect_hosts', [] ),
33 + [
34 + $curr_host
35 + ]
36 + ),
37 + true
38 + )
39 + ) {
40 + return home_url( '/' );
41 + }
42 +
43 + parse_str( $parsed_url['query'], $query_params );
44 +
45 + foreach ( explode( ',', $attr ) ?? [] as $param ) {
46 + $q = explode( '|', $param );
47 + if (
48 + count( $q ?? [] ) === 2
49 + ) {
50 + $query_params[ $q[0] ] = $q[1];
51 + }
52 + }
53 +
54 + $new_query = http_build_query( $query_params );
55 +
56 + $new_url = '';
57 + if ( isset( $parsed_url['scheme'] ) && ! empty( $parsed_url['scheme'] ) ) {
58 + $new_url .= $parsed_url['scheme'] . '://';
59 + $new_url .= $parsed_url['host'];
60 + $new_url .= ( isset( $parsed_url['port'] ) ? ':' . $parsed_url['port'] : '' );
61 + }
62 + $new_url .= $parsed_url['path'] . ( empty( $new_query ) ? '' : '?' . $new_query );
63 +
64 + return empty( $new_url ) ? home_url( '/' ) : $new_url;
65 + }
66 +
67 +
68 + public static function form_builder_default_data( array $data ) : array {
69 + $form_builder_default = [];
70 + $form_builder_default['site_title'] = get_bloginfo( 'name' );
71 + $form_builder_default['admin_email'] = '[email protected]';
72 +
73 + if ( current_user_can( 'manage_options' ) ) {
74 + $form_builder_default['admin_email'] = get_option( 'admin_email' );
75 + }
76 +
77 + $data['form_builder'] = $form_builder_default;
78 + return $data;
79 + }
80 +}