PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 All 454 releases
elementor / modules / promotions / widgets / atomic-form-widget-promotion.php

atomic-form-widget-promotion.php in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at modules/promotions/widgets/atomic-form-widget-promotion.php

92 lines 2.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\Promotions\Widgets;
4
5 use Elementor\Plugin;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 class Atomic_Form_Widget_Promotion {
12
13 public function register(): void {
14 add_filter( 'elementor/editor/localize_settings', [ $this, 'add_promotion_data' ] );
15 }
16
17 private function is_active(): bool {
18 return Plugin::$instance->experiments->is_feature_active( 'e_atomic_elements' );
19 }
20
21 public function add_promotion_data( array $settings ): array {
22 if ( ! current_user_can( 'manage_options' ) || ! $this->is_active() ) {
23 return $settings;
24 }
25
26 if ( ! isset( $settings['atomicWidgetPromotions'] ) ) {
27 $settings['atomicWidgetPromotions'] = [];
28 }
29
30 $settings['atomicWidgetPromotions'][] = [
31 'type' => 'atomic-form',
32 'cardType' => 'atomic',
33 'widgets' => $this->get_widgets(),
34 'content' => $this->get_promotion_content(),
35 ];
36
37 return $settings;
38 }
39
40 private function get_widgets(): array {
41 return [
42 [
43 'name' => 'e-form',
44 'title' => __( 'Atomic Form', 'elementor' ),
45 'icon' => 'eicon-atomic-form',
46 'categories' => '["atomic-form"]',
47 ],
48 [
49 'name' => 'e-form-input',
50 'title' => __( 'Input', 'elementor' ),
51 'icon' => 'eicon-atomic-input',
52 'categories' => '["atomic-form"]',
53 ],
54 [
55 'name' => 'e-form-label',
56 'title' => __( 'Label', 'elementor' ),
57 'icon' => 'eicon-atomic-label',
58 'categories' => '["atomic-form"]',
59 ],
60 [
61 'name' => 'e-form-textarea',
62 'title' => __( 'Text area', 'elementor' ),
63 'icon' => 'eicon-atomic-text-area',
64 'categories' => '["atomic-form"]',
65 ],
66 [
67 'name' => 'e-form-submit-button',
68 'title' => __( 'Submit button', 'elementor' ),
69 'icon' => 'eicon-atomic-submit-button',
70 'categories' => '["atomic-form"]',
71 ],
72 [
73 'name' => 'e-form-checkbox',
74 'title' => __( 'Checkbox', 'elementor' ),
75 'icon' => 'eicon-atomic-checkbox',
76 'categories' => '["atomic-form"]',
77 ],
78 ];
79 }
80
81 private function get_promotion_content(): array {
82 return [
83 'title' => __( 'Atomic form', 'elementor' ),
84 'content' => __( 'Design fully customized forms to capture leads without compromising on style.', 'elementor' ),
85 'ctaText' => __( 'Upgrade now', 'elementor' ),
86 'animation' => 'atomic-form-animation',
87 'widgetCtaUrl' => 'https://go.elementor.com/go-pro-atomic-form-modal/',
88 'sectionCtaUrl' => 'https://go.elementor.com/go-pro-atomic-form-section/',
89 ];
90 }
91 }
92