PluginProbe
Happyforms – Form Builder for WordPress: Drag & Drop Contact Forms, Surveys, Payments & Multipurpose Forms / trunk
Happyforms – Form Builder for WordPress: Drag & Drop Contact Forms, Surveys, Payments & Multipurpose Forms vtrunk
1.26.15 trunk 1.0 1.10.0 1.11.0 1.11.1 1.12.0 1.12.1 1.12.10 1.12.11 1.12.12 1.12.2 1.12.3 1.12.4 1.12.5 1.12.6 1.12.7 1.12.8 1.12.9 1.13.0 1.13.1 1.13.10 1.13.11 1.13.12 1.13.2 All 194 releases
happyforms / core / classes / class-deactivation.php

class-deactivation.php in Happyforms – Form Builder for WordPress: Drag & Drop Contact Forms, Surveys, Payments & Multipurpose Forms trunk, at core/classes/class-deactivation.php

67 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class HappyForms_Deactivation {
4
5 private static $instance;
6
7 public $modal_action = 'happyforms-deactivate-modal-submit';
8 public $option = '_happyforms_cleanup_on_deactivate';
9
10 public static function instance() {
11 if ( is_null( self::$instance ) ) {
12 self::$instance = new self();
13 }
14
15 self::$instance->hook();
16
17 return self::$instance;
18 }
19
20 public function hook() {
21 add_action( 'admin_init', [ $this, 'register_modals' ] );
22 add_filter( 'happyforms_dashboard_modal_settings', [ $this, 'get_dashboard_modal_settings' ] );
23 add_action( 'wp_ajax_' . $this->modal_action, [ $this, 'deactivate_modal_submit' ] );
24 }
25
26 public function cleanup_on_deactivation() {
27 $cleanup = get_option( $this->option, false );
28
29 return $cleanup;
30 }
31
32 public function register_modals() {
33 $modals = happyforms_get_dashboard_modals();
34
35 $modals->register_modal( 'deactivate', [
36 'classes' => 'happyforms-modal__frame--deactivate'
37 ] );
38 }
39
40 public function get_dashboard_modal_settings( $settings ) {
41 $settings['deactivateModalAction'] = $this->modal_action;
42 $settings['deactivateModalNonce'] = wp_create_nonce( $this->modal_action );
43
44 return $settings;
45 }
46
47 public function deactivate_modal_submit() {
48 if ( ! check_ajax_referer( $this->modal_action ) ) {
49 return;
50 }
51
52 $keep_data = isset( $_POST['keep_data'] ) ? $_POST['keep_data'] : 'yes';
53
54 update_option( $this->option, 'no' === $keep_data );
55 }
56
57 }
58
59 if ( ! function_exists( 'happyforms_get_deactivation' ) ) :
60
61 function happyforms_get_deactivation() {
62 return HappyForms_Deactivation::instance();
63 }
64
65 endif;
66
67 happyforms_get_deactivation();