PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.9.1
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.9.1
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 1.1.2 All 80 releases
ablocks / includes / blocks / form-builder / helper.php

helper.php in aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder 2.9.1, at includes/blocks/form-builder/helper.php

75 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace ABlocks\Blocks\FormBuilder;
3
4 use ABlocks\Blocks\FormBuilder\EmailVerification;
5 use SplTempFileObject;
6 /**
7 * @class Query
8 */
9 class Helper {
10 public static function merge_query_params(
11 string $url,
12 string $attr = '',
13 bool $check_alloed_host = false
14 ) : string {
15 $parsed_url = wp_parse_url( $url );
16 $parsed_url['query'] = $parsed_url['query'] ?? '';
17 $parsed_url['scheme'] = $parsed_url['scheme'] ?? '';
18 $parsed_url['host'] = $parsed_url['host'] ?? '';
19 $parsed_url['path'] = $parsed_url['path'] ?? '';
20
21 if (
22 $check_alloed_host &&
23 ! in_array(
24 $parsed_url['host'],
25 array_merge(
26 apply_filters( 'allowed_redirect_hosts', [] ),
27 [
28 wp_parse_url( home_url( '/' ), PHP_URL_HOST )
29 ]
30 ),
31 true
32 )
33 ) {
34 return home_url( '/' );
35 }
36
37 parse_str( $parsed_url['query'], $query_params );
38
39 foreach ( explode( ',', $attr ) ?? [] as $param ) {
40 $q = explode( '|', $param );
41 if (
42 count( $q ?? [] ) === 2
43 ) {
44 $query_params[ $q[0] ] = $q[1];
45 }
46 }
47
48 $new_query = http_build_query( $query_params );
49
50 $new_url = '';
51 if ( isset( $parsed_url['scheme'] ) && ! empty( $parsed_url['scheme'] ) ) {
52 $new_url .= $parsed_url['scheme'] . '://';
53 $new_url .= $parsed_url['host'];
54 $new_url .= ( isset( $parsed_url['port'] ) ? ':' . $parsed_url['port'] : '' );
55 }
56 $new_url .= $parsed_url['path'] . ( empty( $new_query ) ? '' : '?' . $new_query );
57
58 return empty( $new_url ) ? home_url( '/' ) : $new_url;
59 }
60
61
62 public static function form_builder_default_data( array $data ) : array {
63 $form_builder_default = [];
64 $form_builder_default['site_title'] = get_bloginfo( 'name' );
65 $form_builder_default['admin_email'] = 'contact@example.com';
66
67 if ( current_user_can( 'manage_options' ) ) {
68 $form_builder_default['admin_email'] = get_option( 'admin_email' );
69 }
70
71 $data['form_builder'] = $form_builder_default;
72 return $data;
73 }
74 }
75