PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.4.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.4.1
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.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 All 281 releases
surecart / app / src / Integrations / Beaver / BeaverFormModule.php
BeaverFormModule.php
116 lines 3.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Integrations\Beaver;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit; // Exit if accessed directly.
7 }
8
9 /**
10 * SureCart form form widget.
11 *
12 * Surecart widget that displays a form.
13 */
14 class BeaverFormModule extends \FLBuilderModule {
15
16 public function __construct() {
17 parent::__construct([
18 'name' => __('SureCart Form', 'surecart'),
19 'description' => __('SureCart Form', 'surecart'),
20 'group' => __('SureCart', 'surecart'),
21 'category' => __('SureCart', 'surecart'),
22 'dir' => SURECART_BB_DIR . 'ReusableFormModule/',
23 'url' => SURECART_BB_URL . 'ReusableFormModule/',
24 'icon' => 'button.svg',
25 'editor_export' => true, // Defaults to true and can be omitted.
26 'enabled' => true, // Defaults to true and can be omitted.
27 'partial_refresh' => false, // Defaults to false and can be omitted.
28 ]);
29
30 $this->slug = 'surecart-form';
31 }
32
33 /**
34 * Should be overridden by subclasses to enqueue
35 * additional css/js using the add_css and add_js methods.
36 *
37 * @since x.x.x
38 *
39 * @return void
40 */
41 public function enqueue_scripts() {
42 $this->add_js('surecart-beaver-scripts', plugins_url( 'ReusableFormModule/src/settings.js', __FILE__ ), array( 'jquery' ), time(), true );
43 }
44
45 /**
46 * Get settings
47 *
48 * @return array
49 */
50 public static function getSettings() {
51 $forms = (array) \SureCart::forms()->get_forms( [ 'numberposts' => -1 ] );
52 $form_data = [ 0 => __( 'Select a form', 'surecart' ) ];
53
54 foreach ( $forms as $form ) {
55 $form_data[ $form->ID ] = get_the_title( $form );
56 }
57
58 return [
59 'settings' => [
60 'title' => __( 'Settings', 'surecart' ),
61 'sections' => [
62 'sc_form_select' => [
63 'title' => 'Checkout Forms',
64 'fields' => [
65 'sc_form_id' => array(
66 'type' => 'select',
67 'label' => __( 'Checkout Form', 'surecart' ),
68 'options' => $form_data,
69 ),
70 'sc_form_select_ajax' => [
71 'type' => 'raw',
72 'content' => self::button_content()
73 ],
74 ],
75 ],
76 ],
77 ],
78 ];
79 }
80
81 /**
82 * Get buttons content
83 *
84 * @return html
85 */
86 public static function button_content() {
87 ob_start();
88 ?>
89 <div class="surecart-builder--custom-form-controls" style="text-align: right;">
90 <div class="surecart-builder--form-edit-buttons">
91 <a href="/wp-admin/post-new.php?post_type=sc_form" class="fl-builder-button surecart-create-bb-form" target="_blank">
92 <?php esc_html_e('Create', 'surecart'); ?>
93 </a> &nbsp;
94 <a href="#" class="fl-builder-button surecart-edit-bb-form" target="_blank">
95 <?php esc_html_e('Edit', 'surecart'); ?>
96 </a>
97 </div>
98 <?php
99 return ob_get_clean();
100 }
101
102 /**
103 * Display the block
104 *
105 * @return void
106 */
107 public function display() {
108 if ( ! $this->settings->sc_form_id ) {
109 return;
110 }
111
112 echo do_shortcode( '[sc_form id=' . $this->settings->sc_form_id . ']' );
113 return;
114 }
115 }
116