PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Integrations / Elementor / Widgets / ReusableFormWidget.php
surecart / app / src / Integrations / Elementor / Widgets Last commit date
AddToCartButton.php 3 months ago CartMenuIcon.php 1 year ago CollectionTags.php 1 year ago Media.php 1 year ago PriceChooser.php 1 year ago Product.php 1 year ago ProductCard.php 1 year ago ProductContent.php 7 months ago ProductLineItemNote.php 10 months ago ProductPricing.php 1 year ago ProductQuickAddButton.php 7 months ago ProductReviewAverageRatingStars.php 4 months ago ProductReviewAverageRatingValue.php 4 months ago ProductReviewBreakdown.php 4 months ago ProductReviewContent.php 4 months ago ProductReviewList.php 2 months ago ProductReviewRating.php 4 months ago ProductReviewTotalRating.php 4 months ago ProductReviews.php 4 months ago Quantity.php 1 year ago ReusableFormWidget.php 1 year ago SaleBadge.php 1 year ago SelectedPriceAdHocAmount.php 1 year ago VariantPills.php 6 months ago
ReusableFormWidget.php
180 lines
1 <?php
2
3 namespace SureCart\Integrations\Elementor\Widgets;
4
5 use Elementor\Widget_Base;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 /**
12 * SureCart form form widget.
13 *
14 * Surecart widget that displays a form.
15 */
16 class ReusableFormWidget extends Widget_Base {
17 /**
18 * Get widget name.
19 *
20 * Retrieve form widget name.
21 *
22 * @since x.x.x
23 * @access public
24 *
25 * @return string Widget name.
26 */
27 public function get_name() {
28 return 'surecart_form';
29 }
30
31 /**
32 * Get widget title.
33 *
34 * Retrieve form widget title.
35 *
36 * @since x.x.x
37 * @access public
38 *
39 * @return string Widget title.
40 */
41 public function get_title() {
42 return __( 'Checkout Form', 'surecart' );
43 }
44
45 /**
46 * Get widget icon.
47 *
48 * Retrieve form widget icon.
49 *
50 * @since x.x.x
51 * @access public
52 *
53 * @return string Widget icon.
54 */
55 public function get_icon() {
56 return 'eicon-form-horizontal surecart-checkout-icon';
57 }
58
59 /**
60 * Get widget categories.
61 *
62 * Retrieve the list of categories the form widget belongs to.
63 *
64 * Used to determine where to display the widget in the editor.
65 *
66 * @since x.x.x
67 * @access public
68 *
69 * @return array Widget categories.
70 */
71 public function get_categories() {
72 return [ 'surecart-elementor-checkout' ];
73 }
74
75 /**
76 * Get widget keywords.
77 *
78 * Retrieve the list of keywords the widget belongs to.
79 *
80 * @since x.x.x
81 * @access public
82 *
83 * @return array Widget keywords.
84 */
85 public function get_keywords() {
86 return [ 'form', 'surecart', 'checkout' ];
87 }
88
89 /**
90 * Register form widget controls.
91 *
92 * Adds different input fields to allow the user to change and customize the widget settings.
93 *
94 * @since x.x.x
95 * @access protected
96 */
97 protected function _register_controls() {
98 $this->start_controls_section(
99 'section_form',
100 [
101 'label' => __( 'Checkout Form', 'surecart' ),
102 ]
103 );
104
105 $options = $this->get_forms_options();
106
107 $this->add_control(
108 'sc_form_block',
109 [
110 'label' => __( 'Select Form', 'surecart' ),
111 'type' => \Elementor\Controls_Manager::SELECT2,
112 'options' => $options,
113 'default' => array_keys( $options )[0],
114 ]
115 );
116
117 $this->add_control(
118 'sc_edit_form',
119 [
120 'label' => __( 'Edit Form', 'surecart' ),
121 'type' => \Elementor\Controls_Manager::BUTTON,
122 'text' => __( 'Edit', 'surecart' ),
123 'event' => 'surecart:form:edit',
124 ]
125 );
126
127 $this->add_control(
128 'sc_create_form',
129 [
130 'label' => __( 'Create New Form', 'surecart' ),
131 'separator' => 'before',
132 'classes' => 'testclass',
133 'type' => \Elementor\Controls_Manager::BUTTON,
134 'text' => __( 'Create', 'surecart' ),
135 'event' => 'surecart:form:create',
136 ]
137 );
138
139 $this->end_controls_section();
140 }
141
142 /**
143 * Get froms options.
144 *
145 * @since x.x.x
146 *
147 * @return array
148 */
149 public function get_forms_options() {
150 $args = [
151 'numberposts' => -1,
152 'fields' => 'ids',
153 ];
154
155 $get_forms = \SureCart::forms()->get_forms( $args );
156
157 $options = [];
158
159 foreach ( $get_forms as $form ) {
160 $options[ $form ] = get_the_title( $form );
161 }
162
163 return $options;
164 }
165
166 /**
167 * Render form widget output on the frontend.
168 *
169 * Written in PHP and used to generate the final HTML.
170 *
171 * @since x.x.x
172 * @access protected
173 */
174 protected function render() {
175 $settings = $this->get_settings_for_display();
176
177 echo do_shortcode( '[sc_form id=' . $settings['sc_form_block'] . ']' );
178 }
179 }
180