Passed
Push — master ( 32accd...dc49db )
by Brian
05:22
created
ayecode/wp-ayecode-ui/includes/components/class-aui-component-alert.php 1 patch
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,81 +11,81 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Alert {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 * 
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'info',
24
-			'class'      => '',
25
-			'icon' => '',
26
-			'heading'    => '',
27
-			'content'    => '',
28
-			'footer'     => '',
29
-			'dismissible'=> false,
30
-			'data'       => '',
31
-		);
14
+    /**
15
+     * Build the component.
16
+     * 
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'info',
24
+            'class'      => '',
25
+            'icon' => '',
26
+            'heading'    => '',
27
+            'content'    => '',
28
+            'footer'     => '',
29
+            'dismissible'=> false,
30
+            'data'       => '',
31
+        );
32 32
 
33
-		/**
34
-		 * Parse incoming $args into an array and merge it with $defaults
35
-		 */
36
-		$args   = wp_parse_args( $args, $defaults );
37
-		$output = '';
38
-		if ( ! empty( $args['content'] ) ) {
39
-			$type = sanitize_html_class( $args['type'] );
40
-			if($type=='error'){$type='danger';}
41
-			$icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
33
+        /**
34
+         * Parse incoming $args into an array and merge it with $defaults
35
+         */
36
+        $args   = wp_parse_args( $args, $defaults );
37
+        $output = '';
38
+        if ( ! empty( $args['content'] ) ) {
39
+            $type = sanitize_html_class( $args['type'] );
40
+            if($type=='error'){$type='danger';}
41
+            $icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
42 42
 
43
-			// set default icon
44
-			if(!$icon && $args['icon']!==false && $type){
45
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
46
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
47
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
48
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
49
-			}
43
+            // set default icon
44
+            if(!$icon && $args['icon']!==false && $type){
45
+                if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
46
+                elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
47
+                elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
48
+                elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
49
+            }
50 50
 
51
-			$data = '';
52
-			$class = !empty($args['class']) ? esc_attr($args['class']) : '';
53
-			if($args['dismissible']){$class .= " alert-dismissible fade show";}
51
+            $data = '';
52
+            $class = !empty($args['class']) ? esc_attr($args['class']) : '';
53
+            if($args['dismissible']){$class .= " alert-dismissible fade show";}
54 54
 
55
-			// open
56
-			$output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
55
+            // open
56
+            $output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
57 57
 
58
-			// heading
59
-			if ( ! empty( $args['heading'] ) ) {
60
-				$output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
61
-			}
58
+            // heading
59
+            if ( ! empty( $args['heading'] ) ) {
60
+                $output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
61
+            }
62 62
 
63
-			// icon
64
-			if ( ! empty( $icon) ) {
65
-				$output .= $icon." ";
66
-			}
63
+            // icon
64
+            if ( ! empty( $icon) ) {
65
+                $output .= $icon." ";
66
+            }
67 67
 
68
-			// content
69
-			$output .= $args['content'];
68
+            // content
69
+            $output .= $args['content'];
70 70
 
71
-			// dismissible
72
-			if($args['dismissible']){
73
-				$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
74
-				$output .= '<span aria-hidden="true">&times;</span>';
75
-				$output .= '</button>';
76
-			}
71
+            // dismissible
72
+            if($args['dismissible']){
73
+                $output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
74
+                $output .= '<span aria-hidden="true">&times;</span>';
75
+                $output .= '</button>';
76
+            }
77 77
 
78
-			// footer
79
-			if ( ! empty( $args['footer'] ) ) {
80
-				$output .= '<hr>';
81
-				$output .= '<p class="mb-0">' . $args['footer'] . '</p>';
82
-			}
78
+            // footer
79
+            if ( ! empty( $args['footer'] ) ) {
80
+                $output .= '<hr>';
81
+                $output .= '<p class="mb-0">' . $args['footer'] . '</p>';
82
+            }
83 83
 
84
-			// close
85
-			$output .= '</div>';
86
-		}
84
+            // close
85
+            $output .= '</div>';
86
+        }
87 87
 
88
-		return $output;
89
-	}
88
+        return $output;
89
+    }
90 90
 
91 91
 }
92 92
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-dropdown.php 1 patch
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,62 +11,62 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Dropdown {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'button',
24
-			'href'       => '#',
25
-			'class'      => 'btn btn-primary dropdown-toggle',
26
-			'wrapper_class' => '',
27
-			'dropdown_menu_class' => '',
28
-			'id'         => '',
29
-			'title'      => '',
30
-			'value'      => '',
31
-			'content'    => '',
32
-			'icon'       => '',
33
-			'hover_content' => '',
34
-			'hover_icon'    => '',
35
-			'data-toggle'   => 'dropdown',
36
-			'aria-haspopup' => 'true',
37
-			'aria-expanded' => 'false',
38
-			'dropdown_menu'          => '', // unescaped html menu (non-preferred way)
39
-			'dropdown_items'          => array(), // array of AUI calls
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'button',
24
+            'href'       => '#',
25
+            'class'      => 'btn btn-primary dropdown-toggle',
26
+            'wrapper_class' => '',
27
+            'dropdown_menu_class' => '',
28
+            'id'         => '',
29
+            'title'      => '',
30
+            'value'      => '',
31
+            'content'    => '',
32
+            'icon'       => '',
33
+            'hover_content' => '',
34
+            'hover_icon'    => '',
35
+            'data-toggle'   => 'dropdown',
36
+            'aria-haspopup' => 'true',
37
+            'aria-expanded' => 'false',
38
+            'dropdown_menu'          => '', // unescaped html menu (non-preferred way)
39
+            'dropdown_items'          => array(), // array of AUI calls
40 40
 
41
-		);
41
+        );
42 42
 
43
-		/**
44
-		 * Parse incoming $args into an array and merge it with $defaults
45
-		 */
46
-		$args   = wp_parse_args( $args, $defaults );
47
-		$output = '';
48
-		if ( ! empty( $args['type'] ) ) {
49
-			// wrapper open
50
-			$output .= '<div class="dropdown '.AUI_Component_Helper::esc_classes($args['wrapper_class']).'">';
43
+        /**
44
+         * Parse incoming $args into an array and merge it with $defaults
45
+         */
46
+        $args   = wp_parse_args( $args, $defaults );
47
+        $output = '';
48
+        if ( ! empty( $args['type'] ) ) {
49
+            // wrapper open
50
+            $output .= '<div class="dropdown '.AUI_Component_Helper::esc_classes($args['wrapper_class']).'">';
51 51
 
52
-			// button part
53
-			$output .= aui()->button($args);
52
+            // button part
53
+            $output .= aui()->button($args);
54 54
 
55
-			// dropdown-menu
56
-			if(!empty($args['dropdown_menu'])){
57
-				$output .= $args['dropdown_menu'];
58
-			}elseif(!empty($args['dropdown_items'])){
59
-				$output .= '<div class="dropdown-menu '.AUI_Component_Helper::esc_classes($args['dropdown_menu_class']).'" aria-labelledby="'.sanitize_html_class($args['id']).'">';
60
-				$output .= aui()->render($args['dropdown_items']);
61
-				$output .= '</div>';
62
-			}
55
+            // dropdown-menu
56
+            if(!empty($args['dropdown_menu'])){
57
+                $output .= $args['dropdown_menu'];
58
+            }elseif(!empty($args['dropdown_items'])){
59
+                $output .= '<div class="dropdown-menu '.AUI_Component_Helper::esc_classes($args['dropdown_menu_class']).'" aria-labelledby="'.sanitize_html_class($args['id']).'">';
60
+                $output .= aui()->render($args['dropdown_items']);
61
+                $output .= '</div>';
62
+            }
63 63
 
64
-			// wrapper close
65
-			$output .= '</div>';
64
+            // wrapper close
65
+            $output .= '</div>';
66 66
 
67
-		}
67
+        }
68 68
 
69
-		return $output;
70
-	}
69
+        return $output;
70
+    }
71 71
 
72 72
 }
73 73
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/example-plugin.php 1 patch
Indentation   +123 added lines, -123 removed lines patch added patch discarded remove patch
@@ -16,132 +16,132 @@
 block discarded – undo
16 16
 
17 17
 // If this file is called directly, abort.
18 18
 if ( ! defined( 'WPINC' ) ) {
19
-	die;
19
+    die;
20 20
 }
21 21
 
22 22
 class AyeCode_UI_Plugin {
23 23
 
24
-	/**
25
-	 * AUI Plugin constructor.
26
-	 *
27
-	 * @since 1.0.0
28
-	 */
29
-	public function __construct() {
30
-
31
-		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
-
34
-		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
-	}
37
-
38
-	public function maybe_show_examples(){
39
-		if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
40
-			echo "<head>";
41
-			wp_head();
42
-			echo "</head>";
43
-			echo "<body>";
44
-			echo $this->get_examples();
45
-			echo "</body>";
46
-			exit;
47
-		}
48
-	}
49
-
50
-	public function get_examples(){
51
-		$output = '';
52
-
53
-
54
-		// open form
55
-		$output .= "<form class='p-5 m-5 border rounded'>";
56
-
57
-		// input example
58
-		$output .= aui()->input(array(
59
-			'type'  =>  'text',
60
-			'id'    =>  'text-example',
61
-			'name'    =>  'text-example',
62
-			'placeholder'   => 'text placeholder',
63
-			'title'   => 'Text input example',
64
-			'value' =>  '',
65
-			'required'  => false,
66
-			'help_text' => 'help text',
67
-			'label' => 'Text input example label'
68
-		));
69
-
70
-		// input example
71
-		$output .= aui()->input(array(
72
-			'type'  =>  'url',
73
-			'id'    =>  'text-example2',
74
-			'name'    =>  'text-example',
75
-			'placeholder'   => 'url placeholder',
76
-			'title'   => 'Text input example',
77
-			'value' =>  '',
78
-			'required'  => false,
79
-			'help_text' => 'help text',
80
-			'label' => 'Text input example label'
81
-		));
82
-
83
-		// checkbox example
84
-		$output .= aui()->input(array(
85
-			'type'  =>  'checkbox',
86
-			'id'    =>  'checkbox-example',
87
-			'name'    =>  'checkbox-example',
88
-			'placeholder'   => 'checkbox-example',
89
-			'title'   => 'Checkbox example',
90
-			'value' =>  '1',
91
-			'checked'   => true,
92
-			'required'  => false,
93
-			'help_text' => 'help text',
94
-			'label' => 'Checkbox checked'
95
-		));
96
-
97
-		// checkbox example
98
-		$output .= aui()->input(array(
99
-			'type'  =>  'checkbox',
100
-			'id'    =>  'checkbox-example2',
101
-			'name'    =>  'checkbox-example2',
102
-			'placeholder'   => 'checkbox-example',
103
-			'title'   => 'Checkbox example',
104
-			'value' =>  '1',
105
-			'checked'   => false,
106
-			'required'  => false,
107
-			'help_text' => 'help text',
108
-			'label' => 'Checkbox un-checked'
109
-		));
110
-
111
-		// switch example
112
-		$output .= aui()->input(array(
113
-			'type'  =>  'checkbox',
114
-			'id'    =>  'switch-example',
115
-			'name'    =>  'switch-example',
116
-			'placeholder'   => 'checkbox-example',
117
-			'title'   => 'Switch example',
118
-			'value' =>  '1',
119
-			'checked'   => true,
120
-			'switch'    => true,
121
-			'required'  => false,
122
-			'help_text' => 'help text',
123
-			'label' => 'Switch on'
124
-		));
125
-
126
-		// switch example
127
-		$output .= aui()->input(array(
128
-			'type'  =>  'checkbox',
129
-			'id'    =>  'switch-example2',
130
-			'name'    =>  'switch-example2',
131
-			'placeholder'   => 'checkbox-example',
132
-			'title'   => 'Switch example',
133
-			'value' =>  '1',
134
-			'checked'   => false,
135
-			'switch'    => true,
136
-			'required'  => false,
137
-			'help_text' => 'help text',
138
-			'label' => 'Switch off'
139
-		));
140
-
141
-		// close form
142
-		$output .= "</form>";
143
-
144
-		return $output;
145
-	}
24
+    /**
25
+     * AUI Plugin constructor.
26
+     *
27
+     * @since 1.0.0
28
+     */
29
+    public function __construct() {
30
+
31
+        // load AUI
32
+        require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
+
34
+        // Maybe show example page
35
+        add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
+    }
37
+
38
+    public function maybe_show_examples(){
39
+        if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
40
+            echo "<head>";
41
+            wp_head();
42
+            echo "</head>";
43
+            echo "<body>";
44
+            echo $this->get_examples();
45
+            echo "</body>";
46
+            exit;
47
+        }
48
+    }
49
+
50
+    public function get_examples(){
51
+        $output = '';
52
+
53
+
54
+        // open form
55
+        $output .= "<form class='p-5 m-5 border rounded'>";
56
+
57
+        // input example
58
+        $output .= aui()->input(array(
59
+            'type'  =>  'text',
60
+            'id'    =>  'text-example',
61
+            'name'    =>  'text-example',
62
+            'placeholder'   => 'text placeholder',
63
+            'title'   => 'Text input example',
64
+            'value' =>  '',
65
+            'required'  => false,
66
+            'help_text' => 'help text',
67
+            'label' => 'Text input example label'
68
+        ));
69
+
70
+        // input example
71
+        $output .= aui()->input(array(
72
+            'type'  =>  'url',
73
+            'id'    =>  'text-example2',
74
+            'name'    =>  'text-example',
75
+            'placeholder'   => 'url placeholder',
76
+            'title'   => 'Text input example',
77
+            'value' =>  '',
78
+            'required'  => false,
79
+            'help_text' => 'help text',
80
+            'label' => 'Text input example label'
81
+        ));
82
+
83
+        // checkbox example
84
+        $output .= aui()->input(array(
85
+            'type'  =>  'checkbox',
86
+            'id'    =>  'checkbox-example',
87
+            'name'    =>  'checkbox-example',
88
+            'placeholder'   => 'checkbox-example',
89
+            'title'   => 'Checkbox example',
90
+            'value' =>  '1',
91
+            'checked'   => true,
92
+            'required'  => false,
93
+            'help_text' => 'help text',
94
+            'label' => 'Checkbox checked'
95
+        ));
96
+
97
+        // checkbox example
98
+        $output .= aui()->input(array(
99
+            'type'  =>  'checkbox',
100
+            'id'    =>  'checkbox-example2',
101
+            'name'    =>  'checkbox-example2',
102
+            'placeholder'   => 'checkbox-example',
103
+            'title'   => 'Checkbox example',
104
+            'value' =>  '1',
105
+            'checked'   => false,
106
+            'required'  => false,
107
+            'help_text' => 'help text',
108
+            'label' => 'Checkbox un-checked'
109
+        ));
110
+
111
+        // switch example
112
+        $output .= aui()->input(array(
113
+            'type'  =>  'checkbox',
114
+            'id'    =>  'switch-example',
115
+            'name'    =>  'switch-example',
116
+            'placeholder'   => 'checkbox-example',
117
+            'title'   => 'Switch example',
118
+            'value' =>  '1',
119
+            'checked'   => true,
120
+            'switch'    => true,
121
+            'required'  => false,
122
+            'help_text' => 'help text',
123
+            'label' => 'Switch on'
124
+        ));
125
+
126
+        // switch example
127
+        $output .= aui()->input(array(
128
+            'type'  =>  'checkbox',
129
+            'id'    =>  'switch-example2',
130
+            'name'    =>  'switch-example2',
131
+            'placeholder'   => 'checkbox-example',
132
+            'title'   => 'Switch example',
133
+            'value' =>  '1',
134
+            'checked'   => false,
135
+            'switch'    => true,
136
+            'required'  => false,
137
+            'help_text' => 'help text',
138
+            'label' => 'Switch off'
139
+        ));
140
+
141
+        // close form
142
+        $output .= "</form>";
143
+
144
+        return $output;
145
+    }
146 146
 }
147 147
 new AyeCode_UI_Plugin();
148 148
\ No newline at end of file
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-cache-helper.php 1 patch
Indentation   +115 added lines, -115 removed lines patch added patch discarded remove patch
@@ -11,121 +11,121 @@
 block discarded – undo
11 11
  */
12 12
 class GetPaid_Cache_Helper {
13 13
 
14
-	/**
15
-	 * Transients to delete on shutdown.
16
-	 *
17
-	 * @var array Array of transient keys.
18
-	 */
19
-	private static $delete_transients = array();
20
-
21
-	/**
22
-	 * Hook in methods.
23
-	 */
24
-	public static function init() {
25
-		add_action( 'shutdown', array( __CLASS__, 'delete_transients_on_shutdown' ), 10 );
26
-		add_action( 'wp', array( __CLASS__, 'prevent_caching' ) );
27
-	}
28
-
29
-	/**
30
-	 * Add a transient to delete on shutdown.
31
-	 *
32
-	 * @since 1.0.19
33
-	 * @param string|array $keys Transient key or keys.
34
-	 */
35
-	public static function queue_delete_transient( $keys ) {
36
-		self::$delete_transients = array_unique( array_merge( is_array( $keys ) ? $keys : array( $keys ), self::$delete_transients ) );
37
-	}
38
-
39
-	/**
40
-	 * Transients that don't need to be cleaned right away can be deleted on shutdown to avoid repetition.
41
-	 *
42
-	 * @since 1.0.19
43
-	 */
44
-	public static function delete_transients_on_shutdown() {
45
-		if ( self::$delete_transients ) {
46
-			foreach ( self::$delete_transients as $key ) {
47
-				delete_transient( $key );
48
-			}
49
-			self::$delete_transients = array();
50
-		}
51
-	}
52
-
53
-	/**
54
-	 * Get prefix for use with wp_cache_set. Allows all cache in a group to be invalidated at once.
55
-	 *
56
-	 * @param  string $group Group of cache to get.
57
-	 * @return string
58
-	 */
59
-	public static function get_cache_prefix( $group ) {
60
-		// Get cache key.
61
-		$prefix = wp_cache_get( 'getpaid_' . $group . '_cache_prefix', $group );
62
-
63
-		if ( false === $prefix ) {
64
-			$prefix = microtime();
65
-			wp_cache_set( 'getpaid_' . $group . '_cache_prefix', $prefix, $group );
66
-		}
67
-
68
-		return 'getpaid_cache_' . $prefix . '_';
69
-	}
70
-
71
-	/**
72
-	 * Invalidate cache group.
73
-	 *
74
-	 * @param string $group Group of cache to clear.
75
-	 * @since 1.0.19
76
-	 */
77
-	public static function invalidate_cache_group( $group ) {
78
-		wp_cache_set( 'getpaid_' . $group . '_cache_prefix', microtime(), $group );
79
-	}
80
-
81
-	/**
82
-	 * Prevent caching on certain pages
83
-	 */
84
-	public static function prevent_caching() {
85
-		if ( ! is_blog_installed() ) {
86
-			return;
87
-		}
88
-
89
-		if ( wpinv_is_checkout() || wpinv_is_success_page() || wpinv_is_invoice_history_page() || wpinv_is_subscriptions_history_page() ) {
90
-			self::set_nocache_constants();
91
-			nocache_headers();
92
-		}
93
-
94
-	}
95
-
96
-	/**
97
-	 * Get transient version.
98
-	 *
99
-	 *
100
-	 * @param  string  $group   Name for the group of transients we need to invalidate.
101
-	 * @param  boolean $refresh true to force a new version.
102
-	 * @return string transient version based on time(), 10 digits.
103
-	 */
104
-	public static function get_transient_version( $group, $refresh = false ) {
105
-		$transient_name  = $group . '-transient-version';
106
-		$transient_value = get_transient( $transient_name );
107
-
108
-		if ( false === $transient_value || true === $refresh ) {
109
-			$transient_value = (string) time();
110
-
111
-			set_transient( $transient_name, $transient_value );
112
-		}
113
-
114
-		return $transient_value;
115
-	}
116
-
117
-	/**
118
-	 * Set constants to prevent caching by some plugins.
119
-	 *
120
-	 * @param  mixed $return Value to return. Previously hooked into a filter.
121
-	 * @return mixed
122
-	 */
123
-	public static function set_nocache_constants( $return = true ) {
124
-		getpaid_maybe_define_constant( 'DONOTCACHEPAGE', true );
125
-		getpaid_maybe_define_constant( 'DONOTCACHEOBJECT', true );
126
-		getpaid_maybe_define_constant( 'DONOTCACHEDB', true );
127
-		return $return;
128
-	}
14
+    /**
15
+     * Transients to delete on shutdown.
16
+     *
17
+     * @var array Array of transient keys.
18
+     */
19
+    private static $delete_transients = array();
20
+
21
+    /**
22
+     * Hook in methods.
23
+     */
24
+    public static function init() {
25
+        add_action( 'shutdown', array( __CLASS__, 'delete_transients_on_shutdown' ), 10 );
26
+        add_action( 'wp', array( __CLASS__, 'prevent_caching' ) );
27
+    }
28
+
29
+    /**
30
+     * Add a transient to delete on shutdown.
31
+     *
32
+     * @since 1.0.19
33
+     * @param string|array $keys Transient key or keys.
34
+     */
35
+    public static function queue_delete_transient( $keys ) {
36
+        self::$delete_transients = array_unique( array_merge( is_array( $keys ) ? $keys : array( $keys ), self::$delete_transients ) );
37
+    }
38
+
39
+    /**
40
+     * Transients that don't need to be cleaned right away can be deleted on shutdown to avoid repetition.
41
+     *
42
+     * @since 1.0.19
43
+     */
44
+    public static function delete_transients_on_shutdown() {
45
+        if ( self::$delete_transients ) {
46
+            foreach ( self::$delete_transients as $key ) {
47
+                delete_transient( $key );
48
+            }
49
+            self::$delete_transients = array();
50
+        }
51
+    }
52
+
53
+    /**
54
+     * Get prefix for use with wp_cache_set. Allows all cache in a group to be invalidated at once.
55
+     *
56
+     * @param  string $group Group of cache to get.
57
+     * @return string
58
+     */
59
+    public static function get_cache_prefix( $group ) {
60
+        // Get cache key.
61
+        $prefix = wp_cache_get( 'getpaid_' . $group . '_cache_prefix', $group );
62
+
63
+        if ( false === $prefix ) {
64
+            $prefix = microtime();
65
+            wp_cache_set( 'getpaid_' . $group . '_cache_prefix', $prefix, $group );
66
+        }
67
+
68
+        return 'getpaid_cache_' . $prefix . '_';
69
+    }
70
+
71
+    /**
72
+     * Invalidate cache group.
73
+     *
74
+     * @param string $group Group of cache to clear.
75
+     * @since 1.0.19
76
+     */
77
+    public static function invalidate_cache_group( $group ) {
78
+        wp_cache_set( 'getpaid_' . $group . '_cache_prefix', microtime(), $group );
79
+    }
80
+
81
+    /**
82
+     * Prevent caching on certain pages
83
+     */
84
+    public static function prevent_caching() {
85
+        if ( ! is_blog_installed() ) {
86
+            return;
87
+        }
88
+
89
+        if ( wpinv_is_checkout() || wpinv_is_success_page() || wpinv_is_invoice_history_page() || wpinv_is_subscriptions_history_page() ) {
90
+            self::set_nocache_constants();
91
+            nocache_headers();
92
+        }
93
+
94
+    }
95
+
96
+    /**
97
+     * Get transient version.
98
+     *
99
+     *
100
+     * @param  string  $group   Name for the group of transients we need to invalidate.
101
+     * @param  boolean $refresh true to force a new version.
102
+     * @return string transient version based on time(), 10 digits.
103
+     */
104
+    public static function get_transient_version( $group, $refresh = false ) {
105
+        $transient_name  = $group . '-transient-version';
106
+        $transient_value = get_transient( $transient_name );
107
+
108
+        if ( false === $transient_value || true === $refresh ) {
109
+            $transient_value = (string) time();
110
+
111
+            set_transient( $transient_name, $transient_value );
112
+        }
113
+
114
+        return $transient_value;
115
+    }
116
+
117
+    /**
118
+     * Set constants to prevent caching by some plugins.
119
+     *
120
+     * @param  mixed $return Value to return. Previously hooked into a filter.
121
+     * @return mixed
122
+     */
123
+    public static function set_nocache_constants( $return = true ) {
124
+        getpaid_maybe_define_constant( 'DONOTCACHEPAGE', true );
125
+        getpaid_maybe_define_constant( 'DONOTCACHEOBJECT', true );
126
+        getpaid_maybe_define_constant( 'DONOTCACHEDB', true );
127
+        return $return;
128
+    }
129 129
 
130 130
 }
131 131
 
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-meta-data.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -15,104 +15,104 @@
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Meta_Data implements JsonSerializable {
17 17
 
18
-	/**
19
-	 * Current data for metadata
20
-	 *
21
-	 * @since 1.0.19
22
-	 * @var array
23
-	 */
24
-	protected $current_data;
18
+    /**
19
+     * Current data for metadata
20
+     *
21
+     * @since 1.0.19
22
+     * @var array
23
+     */
24
+    protected $current_data;
25 25
 
26
-	/**
27
-	 * Metadata data
28
-	 *
29
-	 * @since 1.0.19
30
-	 * @var array
31
-	 */
32
-	protected $data;
26
+    /**
27
+     * Metadata data
28
+     *
29
+     * @since 1.0.19
30
+     * @var array
31
+     */
32
+    protected $data;
33 33
 
34
-	/**
35
-	 * Constructor.
36
-	 *
37
-	 * @param array $meta Data to wrap behind this function.
38
-	 */
39
-	public function __construct( $meta = array() ) {
40
-		$this->current_data = $meta;
41
-		$this->apply_changes();
42
-	}
34
+    /**
35
+     * Constructor.
36
+     *
37
+     * @param array $meta Data to wrap behind this function.
38
+     */
39
+    public function __construct( $meta = array() ) {
40
+        $this->current_data = $meta;
41
+        $this->apply_changes();
42
+    }
43 43
 
44
-	/**
45
-	 * When converted to JSON.
46
-	 *
47
-	 * @return object|array
48
-	 */
49
-	public function jsonSerialize() {
50
-		return $this->get_data();
51
-	}
44
+    /**
45
+     * When converted to JSON.
46
+     *
47
+     * @return object|array
48
+     */
49
+    public function jsonSerialize() {
50
+        return $this->get_data();
51
+    }
52 52
 
53
-	/**
54
-	 * Merge changes with data and clear.
55
-	 */
56
-	public function apply_changes() {
57
-		$this->data = $this->current_data;
58
-	}
53
+    /**
54
+     * Merge changes with data and clear.
55
+     */
56
+    public function apply_changes() {
57
+        $this->data = $this->current_data;
58
+    }
59 59
 
60
-	/**
61
-	 * Creates or updates a property in the metadata object.
62
-	 *
63
-	 * @param string $key Key to set.
64
-	 * @param mixed  $value Value to set.
65
-	 */
66
-	public function __set( $key, $value ) {
67
-		$this->current_data[ $key ] = $value;
68
-	}
60
+    /**
61
+     * Creates or updates a property in the metadata object.
62
+     *
63
+     * @param string $key Key to set.
64
+     * @param mixed  $value Value to set.
65
+     */
66
+    public function __set( $key, $value ) {
67
+        $this->current_data[ $key ] = $value;
68
+    }
69 69
 
70
-	/**
71
-	 * Checks if a given key exists in our data. This is called internally
72
-	 * by `empty` and `isset`.
73
-	 *
74
-	 * @param string $key Key to check if set.
75
-	 *
76
-	 * @return bool
77
-	 */
78
-	public function __isset( $key ) {
79
-		return array_key_exists( $key, $this->current_data );
80
-	}
70
+    /**
71
+     * Checks if a given key exists in our data. This is called internally
72
+     * by `empty` and `isset`.
73
+     *
74
+     * @param string $key Key to check if set.
75
+     *
76
+     * @return bool
77
+     */
78
+    public function __isset( $key ) {
79
+        return array_key_exists( $key, $this->current_data );
80
+    }
81 81
 
82
-	/**
83
-	 * Returns the value of any property.
84
-	 *
85
-	 * @param string $key Key to get.
86
-	 * @return mixed Property value or NULL if it does not exists
87
-	 */
88
-	public function __get( $key ) {
89
-		if ( array_key_exists( $key, $this->current_data ) ) {
90
-			return $this->current_data[ $key ];
91
-		}
92
-		return null;
93
-	}
82
+    /**
83
+     * Returns the value of any property.
84
+     *
85
+     * @param string $key Key to get.
86
+     * @return mixed Property value or NULL if it does not exists
87
+     */
88
+    public function __get( $key ) {
89
+        if ( array_key_exists( $key, $this->current_data ) ) {
90
+            return $this->current_data[ $key ];
91
+        }
92
+        return null;
93
+    }
94 94
 
95
-	/**
96
-	 * Return data changes only.
97
-	 *
98
-	 * @return array
99
-	 */
100
-	public function get_changes() {
101
-		$changes = array();
102
-		foreach ( $this->current_data as $id => $value ) {
103
-			if ( ! array_key_exists( $id, $this->data ) || $value !== $this->data[ $id ] ) {
104
-				$changes[ $id ] = $value;
105
-			}
106
-		}
107
-		return $changes;
108
-	}
95
+    /**
96
+     * Return data changes only.
97
+     *
98
+     * @return array
99
+     */
100
+    public function get_changes() {
101
+        $changes = array();
102
+        foreach ( $this->current_data as $id => $value ) {
103
+            if ( ! array_key_exists( $id, $this->data ) || $value !== $this->data[ $id ] ) {
104
+                $changes[ $id ] = $value;
105
+            }
106
+        }
107
+        return $changes;
108
+    }
109 109
 
110
-	/**
111
-	 * Return all data as an array.
112
-	 *
113
-	 * @return array
114
-	 */
115
-	public function get_data() {
116
-		return $this->data;
117
-	}
110
+    /**
111
+     * Return all data as an array.
112
+     *
113
+     * @return array
114
+     */
115
+    public function get_data() {
116
+        return $this->data;
117
+    }
118 118
 }
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-item-info.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit; // Exit if accessed directly
11
+    exit; // Exit if accessed directly
12 12
 }
13 13
 
14 14
 /**
@@ -17,10 +17,10 @@  discard block
 block discarded – undo
17 17
 class GetPaid_Meta_Box_Item_Info {
18 18
 
19 19
     /**
20
-	 * Output the metabox.
21
-	 *
22
-	 * @param WP_Post $post
23
-	 */
20
+     * Output the metabox.
21
+     *
22
+     * @param WP_Post $post
23
+     */
24 24
     public static function output( $post ) {
25 25
 
26 26
         // Prepare the item.
@@ -97,9 +97,9 @@  discard block
 block discarded – undo
97 97
     }
98 98
 
99 99
     /**
100
-	 * Returns item type tolltip.
101
-	 *
102
-	 */
100
+     * Returns item type tolltip.
101
+     *
102
+     */
103 103
     public static function get_tooltip( $post ) {
104 104
 
105 105
         ob_start();
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-payment-form-info.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit; // Exit if accessed directly
11
+    exit; // Exit if accessed directly
12 12
 }
13 13
 
14 14
 /**
@@ -17,10 +17,10 @@  discard block
 block discarded – undo
17 17
 class GetPaid_Meta_Box_Payment_Form_Info {
18 18
 
19 19
     /**
20
-	 * Output the metabox.
21
-	 *
22
-	 * @param WP_Post $post
23
-	 */
20
+     * Output the metabox.
21
+     *
22
+     * @param WP_Post $post
23
+     */
24 24
     public static function output( $post ) {
25 25
 
26 26
         // Prepare the form.
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-invoice-details.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit; // Exit if accessed directly
11
+    exit; // Exit if accessed directly
12 12
 }
13 13
 
14 14
 /**
@@ -17,10 +17,10 @@  discard block
 block discarded – undo
17 17
 class GetPaid_Meta_Box_Invoice_Details {
18 18
 
19 19
     /**
20
-	 * Output the metabox.
21
-	 *
22
-	 * @param WP_Post $post
23
-	 */
20
+     * Output the metabox.
21
+     *
22
+     * @param WP_Post $post
23
+     */
24 24
     public static function output( $post ) {
25 25
 
26 26
         // Prepare the invoice.
Please login to merge, or discard this patch.
includes/admin/meta-boxes/class-getpaid-meta-box-resend-invoice.php 1 patch
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  */
7 7
 
8 8
 if ( ! defined( 'ABSPATH' ) ) {
9
-	exit; // Exit if accessed directly
9
+    exit; // Exit if accessed directly
10 10
 }
11 11
 
12 12
 /**
@@ -15,10 +15,10 @@  discard block
 block discarded – undo
15 15
 class GetPaid_Meta_Box_Resend_Invoice {
16 16
 
17 17
     /**
18
-	 * Output the metabox.
19
-	 *
20
-	 * @param WP_Post $post
21
-	 */
18
+     * Output the metabox.
19
+     *
20
+     * @param WP_Post $post
21
+     */
22 22
     public static function output( $post ) {
23 23
 
24 24
         // Fetch the invoice.
Please login to merge, or discard this patch.