Passed
Pull Request — master (#462)
by Viktor
04:15
created
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/admin/class-wpinv-customers-table.php 1 patch
Indentation   +220 added lines, -220 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 // Load WP_List_Table if not loaded
11 11
 if ( ! class_exists( 'WP_List_Table' ) ) {
12
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13 13
 }
14 14
 
15 15
 /**
@@ -21,223 +21,223 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class WPInv_Customers_Table extends WP_List_Table {
23 23
 
24
-	/**
25
-	 * @var int Number of items per page
26
-	 * @since 1.0.19
27
-	 */
28
-	public $per_page = 10;
29
-
30
-	/**
31
-	 * Get things started
32
-	 *
33
-	 * @since 1.0.19
34
-	 * @see WP_List_Table::__construct()
35
-	 */
36
-	public function __construct() {
37
-
38
-		// Set parent defaults
39
-		parent::__construct( array(
40
-			'singular' => 'id',
41
-			'plural'   => 'ids',
42
-			'ajax'     => false,
43
-		) );
44
-
45
-	}
46
-
47
-	/**
48
-	 * Gets the name of the primary column.
49
-	 *
50
-	 * @since 1.0.19
51
-	 * @access protected
52
-	 *
53
-	 * @return string Name of the primary column.
54
-	 */
55
-	protected function get_primary_column_name() {
56
-		return 'name';
57
-	}
58
-
59
-	/**
60
-	 * This function renders most of the columns in the list table.
61
-	 *
62
-	 * @since 1.0.19
63
-	 *
64
-	 * @param WP_User $item
65
-	 * @param string $column_name The name of the column
66
-	 *
67
-	 * @return string Column Name
68
-	 */
69
-	public function column_default( $item, $column_name ) {
70
-		$value = sanitize_text_field( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
71
-		return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
72
-	}
73
-
74
-	/**
75
-	 * Displays the country column.
76
-	 *
77
-	 * @since 1.0.19
78
-	 *
79
-	 * @param WP_User $user
80
-	 *
81
-	 * @return string Column Name
82
-	 */
83
-	public function column_country( $user ) {
84
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
85
-		if ( $country ) {
86
-			$country = wpinv_country_name( $country );
87
-		}
88
-		return sanitize_text_field( $country );
89
-	}
90
-
91
-	/**
92
-	 * Displays the state column.
93
-	 *
94
-	 * @since 1.0.19
95
-	 *
96
-	 * @param WP_User $user
97
-	 *
98
-	 * @return string Column Name
99
-	 */
100
-	public function column_state( $user ) {
101
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
102
-		$state   = $user->_wpinv_state;
103
-		if ( $state ) {
104
-			$state = wpinv_state_name( $state, $country );
105
-		}
106
-
107
-		return sanitize_text_field( $state );
108
-	}
109
-
110
-	/**
111
-	 * Generates content for a single row of the table
112
-	 * @since 1.0.19
113
-	 *
114
-	 * @param int $item The user id.
115
-	 */
116
-	public function single_row( $item ) {
117
-		$item = get_user_by( 'id', $item );
118
-
119
-		if ( empty( $item ) ) {
120
-			return;
121
-		}
122
-
123
-		echo '<tr>';
124
-		$this->single_row_columns( $item );
125
-		echo '</tr>';
126
-	}
127
-
128
-	/**
129
-	 * Displays the customers name
130
-	 *
131
-	 * @param  WP_User $customer customer.
132
-	 * @return string
133
-	 */
134
-	public function column_name( $customer ) {
135
-
136
-		// Customer view URL.
137
-		$view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
138
-		$row_actions = $this->row_actions(
139
-			array(
140
-				'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
141
-			)
142
-		);
143
-
144
-		// Get user's address.
145
-		$address = wpinv_get_user_address( $customer->ID );
146
-
147
-		// Customer email address.
148
-		$email       = sanitize_email( $customer->user_email );
149
-
150
-		// Customer's avatar.
151
-		$avatar = esc_url( get_avatar_url( $email ) );
152
-		$avatar = "<img src='$avatar' height='32' width='32'/>";
153
-
154
-		// Customer's name.
155
-		$name   = sanitize_text_field( "{$address['first_name']} {$address['last_name']}" );
156
-
157
-		if ( ! empty( $name ) ) {
158
-			$name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
159
-		}
160
-
161
-		$email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
162
-
163
-		return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
164
-
165
-	}
166
-
167
-	/**
168
-	 * Retrieve the table columns
169
-	 *
170
-	 * @since 1.0.19
171
-	 * @return array $columns Array of all the list table columns
172
-	 */
173
-	public function get_columns() {
174
-
175
-		$columns = array(
176
-			'name'     => __( 'Name', 'invoicing' ),
177
-			'country'  => __( 'Country', 'invoicing' ),
178
-			'state'    => __( 'State', 'invoicing' ),
179
-			'city'     => __( 'City', 'invoicing' ),
180
-			'zip'      => __( 'ZIP', 'invoicing' ),
181
-			'address'  => __( 'Address', 'invoicing' ),
182
-			'phone'    => __( 'Phone', 'invoicing' ),
183
-			'company'  => __( 'Company', 'invoicing' ),
184
-		);
185
-		return apply_filters( 'wpinv_customers_table_columns', $columns );
186
-
187
-	}
188
-
189
-	/**
190
-	 * Retrieve the current page number
191
-	 *
192
-	 * @since 1.0.19
193
-	 * @return int Current page number
194
-	 */
195
-	public function get_paged() {
196
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
197
-	}
198
-
199
-	/**
200
-	 * Returns bulk actions.
201
-	 *
202
-	 * @since 1.0.19
203
-	 * @return void
204
-	 */
205
-	public function bulk_actions( $which = '' ) {
206
-		return array();
207
-	}
208
-
209
-	/**
210
-	 *  Prepares the display query
211
-	 */
212
-	public function prepare_query() {
213
-		global $wpdb;
214
-
215
-		// Users with invoices.
216
-    	$customers = $wpdb->get_col(
217
-			$wpdb->prepare(
218
-				"SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE post_type=%s LIMIT %d,%d",
219
-				'wpi_invoice',
220
-				$this->get_paged() * 10 - 10,
221
-				$this->per_page
222
-			)
223
-		);
224
-
225
-		$this->items = $customers;
226
-		$this->total = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE post_type=%s", 'wpi_invoice' ) );
227
-
228
-	}
229
-
230
-	/**
231
-	 * Setup the final data for the table
232
-	 *
233
-	 * @since 1.0.19
234
-	 * @return void
235
-	 */
236
-	public function prepare_items() {
237
-		$columns               = $this->get_columns();
238
-		$hidden                = array(); // No hidden columns
239
-		$sortable              = $this->get_sortable_columns();
240
-		$this->_column_headers = array( $columns, $hidden, $sortable );
241
-		$this->prepare_query();
242
-	}
24
+    /**
25
+     * @var int Number of items per page
26
+     * @since 1.0.19
27
+     */
28
+    public $per_page = 10;
29
+
30
+    /**
31
+     * Get things started
32
+     *
33
+     * @since 1.0.19
34
+     * @see WP_List_Table::__construct()
35
+     */
36
+    public function __construct() {
37
+
38
+        // Set parent defaults
39
+        parent::__construct( array(
40
+            'singular' => 'id',
41
+            'plural'   => 'ids',
42
+            'ajax'     => false,
43
+        ) );
44
+
45
+    }
46
+
47
+    /**
48
+     * Gets the name of the primary column.
49
+     *
50
+     * @since 1.0.19
51
+     * @access protected
52
+     *
53
+     * @return string Name of the primary column.
54
+     */
55
+    protected function get_primary_column_name() {
56
+        return 'name';
57
+    }
58
+
59
+    /**
60
+     * This function renders most of the columns in the list table.
61
+     *
62
+     * @since 1.0.19
63
+     *
64
+     * @param WP_User $item
65
+     * @param string $column_name The name of the column
66
+     *
67
+     * @return string Column Name
68
+     */
69
+    public function column_default( $item, $column_name ) {
70
+        $value = sanitize_text_field( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
71
+        return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
72
+    }
73
+
74
+    /**
75
+     * Displays the country column.
76
+     *
77
+     * @since 1.0.19
78
+     *
79
+     * @param WP_User $user
80
+     *
81
+     * @return string Column Name
82
+     */
83
+    public function column_country( $user ) {
84
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
85
+        if ( $country ) {
86
+            $country = wpinv_country_name( $country );
87
+        }
88
+        return sanitize_text_field( $country );
89
+    }
90
+
91
+    /**
92
+     * Displays the state column.
93
+     *
94
+     * @since 1.0.19
95
+     *
96
+     * @param WP_User $user
97
+     *
98
+     * @return string Column Name
99
+     */
100
+    public function column_state( $user ) {
101
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
102
+        $state   = $user->_wpinv_state;
103
+        if ( $state ) {
104
+            $state = wpinv_state_name( $state, $country );
105
+        }
106
+
107
+        return sanitize_text_field( $state );
108
+    }
109
+
110
+    /**
111
+     * Generates content for a single row of the table
112
+     * @since 1.0.19
113
+     *
114
+     * @param int $item The user id.
115
+     */
116
+    public function single_row( $item ) {
117
+        $item = get_user_by( 'id', $item );
118
+
119
+        if ( empty( $item ) ) {
120
+            return;
121
+        }
122
+
123
+        echo '<tr>';
124
+        $this->single_row_columns( $item );
125
+        echo '</tr>';
126
+    }
127
+
128
+    /**
129
+     * Displays the customers name
130
+     *
131
+     * @param  WP_User $customer customer.
132
+     * @return string
133
+     */
134
+    public function column_name( $customer ) {
135
+
136
+        // Customer view URL.
137
+        $view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
138
+        $row_actions = $this->row_actions(
139
+            array(
140
+                'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
141
+            )
142
+        );
143
+
144
+        // Get user's address.
145
+        $address = wpinv_get_user_address( $customer->ID );
146
+
147
+        // Customer email address.
148
+        $email       = sanitize_email( $customer->user_email );
149
+
150
+        // Customer's avatar.
151
+        $avatar = esc_url( get_avatar_url( $email ) );
152
+        $avatar = "<img src='$avatar' height='32' width='32'/>";
153
+
154
+        // Customer's name.
155
+        $name   = sanitize_text_field( "{$address['first_name']} {$address['last_name']}" );
156
+
157
+        if ( ! empty( $name ) ) {
158
+            $name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
159
+        }
160
+
161
+        $email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
162
+
163
+        return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
164
+
165
+    }
166
+
167
+    /**
168
+     * Retrieve the table columns
169
+     *
170
+     * @since 1.0.19
171
+     * @return array $columns Array of all the list table columns
172
+     */
173
+    public function get_columns() {
174
+
175
+        $columns = array(
176
+            'name'     => __( 'Name', 'invoicing' ),
177
+            'country'  => __( 'Country', 'invoicing' ),
178
+            'state'    => __( 'State', 'invoicing' ),
179
+            'city'     => __( 'City', 'invoicing' ),
180
+            'zip'      => __( 'ZIP', 'invoicing' ),
181
+            'address'  => __( 'Address', 'invoicing' ),
182
+            'phone'    => __( 'Phone', 'invoicing' ),
183
+            'company'  => __( 'Company', 'invoicing' ),
184
+        );
185
+        return apply_filters( 'wpinv_customers_table_columns', $columns );
186
+
187
+    }
188
+
189
+    /**
190
+     * Retrieve the current page number
191
+     *
192
+     * @since 1.0.19
193
+     * @return int Current page number
194
+     */
195
+    public function get_paged() {
196
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
197
+    }
198
+
199
+    /**
200
+     * Returns bulk actions.
201
+     *
202
+     * @since 1.0.19
203
+     * @return void
204
+     */
205
+    public function bulk_actions( $which = '' ) {
206
+        return array();
207
+    }
208
+
209
+    /**
210
+     *  Prepares the display query
211
+     */
212
+    public function prepare_query() {
213
+        global $wpdb;
214
+
215
+        // Users with invoices.
216
+        $customers = $wpdb->get_col(
217
+            $wpdb->prepare(
218
+                "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE post_type=%s LIMIT %d,%d",
219
+                'wpi_invoice',
220
+                $this->get_paged() * 10 - 10,
221
+                $this->per_page
222
+            )
223
+        );
224
+
225
+        $this->items = $customers;
226
+        $this->total = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE post_type=%s", 'wpi_invoice' ) );
227
+
228
+    }
229
+
230
+    /**
231
+     * Setup the final data for the table
232
+     *
233
+     * @since 1.0.19
234
+     * @return void
235
+     */
236
+    public function prepare_items() {
237
+        $columns               = $this->get_columns();
238
+        $hidden                = array(); // No hidden columns
239
+        $sortable              = $this->get_sortable_columns();
240
+        $this->_column_headers = array( $columns, $hidden, $sortable );
241
+        $this->prepare_query();
242
+    }
243 243
 }
Please login to merge, or discard this patch.
includes/admin/class-getpaid-admin-profile.php 1 patch
Indentation   +145 added lines, -145 removed lines patch added patch discarded remove patch
@@ -5,106 +5,106 @@  discard block
 block discarded – undo
5 5
  */
6 6
 
7 7
 if ( ! defined( 'ABSPATH' ) ) {
8
-	exit; // Exit if accessed directly
8
+    exit; // Exit if accessed directly
9 9
 }
10 10
 
11 11
 if ( ! class_exists( 'GetPaid_Admin_Profile', false ) ) :
12 12
 
13
-	/**
14
-	 * GetPaid_Admin_Profile Class.
15
-	 */
16
-	class GetPaid_Admin_Profile {
17
-
18
-		/**
19
-		 * Hook in tabs.
20
-		 */
21
-		public function __construct() {
22
-			add_action( 'show_user_profile', array( $this, 'add_customer_meta_fields' ), 100 );
23
-			add_action( 'edit_user_profile', array( $this, 'add_customer_meta_fields' ), 100 );
24
-
25
-			add_action( 'personal_options_update', array( $this, 'save_customer_meta_fields' ) );
26
-			add_action( 'edit_user_profile_update', array( $this, 'save_customer_meta_fields' ) );
27
-		}
28
-
29
-		/**
30
-		 * Get Address Fields for the edit user pages.
31
-		 *
32
-		 * @return array Fields to display which are filtered through invoicing_customer_meta_fields before being returned
33
-		 */
34
-		public function get_customer_meta_fields() {
35
-
36
-			$show_fields = apply_filters(
37
-				'getpaid_customer_meta_fields',
38
-				array(
39
-					'billing'  => array(
40
-						'title'  => __( 'Billing Details (GetPaid)', 'invoicing' ),
41
-						'fields' => array(
42
-							'_wpinv_first_name' => array(
43
-								'label'       => __( 'First name', 'invoicing' ),
44
-								'description' => '',
45
-							),
46
-							'_wpinv_last_name'  => array(
47
-								'label'       => __( 'Last name', 'invoicing' ),
48
-								'description' => '',
49
-							),
50
-							'_wpinv_company'    => array(
51
-								'label'       => __( 'Company', 'invoicing' ),
52
-								'description' => '',
53
-							),
54
-							'_wpinv_address'  => array(
55
-								'label'       => __( 'Address', 'invoicing' ),
56
-								'description' => '',
57
-							),
58
-							'_wpinv_city'       => array(
59
-								'label'       => __( 'City', 'invoicing' ),
60
-								'description' => '',
61
-							),
62
-							'_wpinv_zip'   => array(
63
-								'label'       => __( 'Postcode / ZIP', 'invoicing' ),
64
-								'description' => '',
65
-							),
66
-							'_wpinv_country'    => array(
67
-								'label'       => __( 'Country / Region', 'invoicing' ),
68
-								'description' => '',
69
-								'class'       => 'getpaid_js_field-country',
70
-								'type'        => 'select',
71
-								'options'     => array( '' => __( 'Select a country / region&hellip;', 'invoicing' ) ) + wpinv_get_country_list(),
72
-							),
73
-							'_wpinv_state'      => array(
74
-								'label'       => __( 'State / County', 'invoicing' ),
75
-								'description' => __( 'State / County or state code', 'invoicing' ),
76
-								'class'       => 'getpaid_js_field-state regular-text',
77
-							),
78
-							'_wpinv_phone'      => array(
79
-								'label'       => __( 'Phone', 'invoicing' ),
80
-								'description' => '',
81
-							),
82
-							'_wpinv_vat_number'      => array(
83
-								'label'       => __( 'VAT Number', 'invoicing' ),
84
-								'description' => '',
85
-							),
86
-						),
87
-					),
88
-				)
89
-			);
90
-			return $show_fields;
91
-		}
92
-
93
-		/**
94
-		 * Show Address Fields on edit user pages.
95
-		 *
96
-		 * @param WP_User $user
97
-		 */
98
-		public function add_customer_meta_fields( $user ) {
99
-
100
-			if ( ! apply_filters( 'getpaid_current_user_can_edit_customer_meta_fields', current_user_can( 'manage_options' ), $user->ID ) ) {
101
-				return;
102
-			}
103
-
104
-			$show_fields = $this->get_customer_meta_fields();
105
-
106
-			foreach ( $show_fields as $fieldset_key => $fieldset ) :
107
-				?>
13
+    /**
14
+     * GetPaid_Admin_Profile Class.
15
+     */
16
+    class GetPaid_Admin_Profile {
17
+
18
+        /**
19
+         * Hook in tabs.
20
+         */
21
+        public function __construct() {
22
+            add_action( 'show_user_profile', array( $this, 'add_customer_meta_fields' ), 100 );
23
+            add_action( 'edit_user_profile', array( $this, 'add_customer_meta_fields' ), 100 );
24
+
25
+            add_action( 'personal_options_update', array( $this, 'save_customer_meta_fields' ) );
26
+            add_action( 'edit_user_profile_update', array( $this, 'save_customer_meta_fields' ) );
27
+        }
28
+
29
+        /**
30
+         * Get Address Fields for the edit user pages.
31
+         *
32
+         * @return array Fields to display which are filtered through invoicing_customer_meta_fields before being returned
33
+         */
34
+        public function get_customer_meta_fields() {
35
+
36
+            $show_fields = apply_filters(
37
+                'getpaid_customer_meta_fields',
38
+                array(
39
+                    'billing'  => array(
40
+                        'title'  => __( 'Billing Details (GetPaid)', 'invoicing' ),
41
+                        'fields' => array(
42
+                            '_wpinv_first_name' => array(
43
+                                'label'       => __( 'First name', 'invoicing' ),
44
+                                'description' => '',
45
+                            ),
46
+                            '_wpinv_last_name'  => array(
47
+                                'label'       => __( 'Last name', 'invoicing' ),
48
+                                'description' => '',
49
+                            ),
50
+                            '_wpinv_company'    => array(
51
+                                'label'       => __( 'Company', 'invoicing' ),
52
+                                'description' => '',
53
+                            ),
54
+                            '_wpinv_address'  => array(
55
+                                'label'       => __( 'Address', 'invoicing' ),
56
+                                'description' => '',
57
+                            ),
58
+                            '_wpinv_city'       => array(
59
+                                'label'       => __( 'City', 'invoicing' ),
60
+                                'description' => '',
61
+                            ),
62
+                            '_wpinv_zip'   => array(
63
+                                'label'       => __( 'Postcode / ZIP', 'invoicing' ),
64
+                                'description' => '',
65
+                            ),
66
+                            '_wpinv_country'    => array(
67
+                                'label'       => __( 'Country / Region', 'invoicing' ),
68
+                                'description' => '',
69
+                                'class'       => 'getpaid_js_field-country',
70
+                                'type'        => 'select',
71
+                                'options'     => array( '' => __( 'Select a country / region&hellip;', 'invoicing' ) ) + wpinv_get_country_list(),
72
+                            ),
73
+                            '_wpinv_state'      => array(
74
+                                'label'       => __( 'State / County', 'invoicing' ),
75
+                                'description' => __( 'State / County or state code', 'invoicing' ),
76
+                                'class'       => 'getpaid_js_field-state regular-text',
77
+                            ),
78
+                            '_wpinv_phone'      => array(
79
+                                'label'       => __( 'Phone', 'invoicing' ),
80
+                                'description' => '',
81
+                            ),
82
+                            '_wpinv_vat_number'      => array(
83
+                                'label'       => __( 'VAT Number', 'invoicing' ),
84
+                                'description' => '',
85
+                            ),
86
+                        ),
87
+                    ),
88
+                )
89
+            );
90
+            return $show_fields;
91
+        }
92
+
93
+        /**
94
+         * Show Address Fields on edit user pages.
95
+         *
96
+         * @param WP_User $user
97
+         */
98
+        public function add_customer_meta_fields( $user ) {
99
+
100
+            if ( ! apply_filters( 'getpaid_current_user_can_edit_customer_meta_fields', current_user_can( 'manage_options' ), $user->ID ) ) {
101
+                return;
102
+            }
103
+
104
+            $show_fields = $this->get_customer_meta_fields();
105
+
106
+            foreach ( $show_fields as $fieldset_key => $fieldset ) :
107
+                ?>
108 108
 				<h2><?php echo $fieldset['title']; ?></h2>
109 109
 				<table class="form-table" id="<?php echo esc_attr( 'getpaid-fieldset-' . $fieldset_key ); ?>">
110 110
 					<?php foreach ( $fieldset['fields'] as $key => $field ) : ?>
@@ -116,9 +116,9 @@  discard block
 block discarded – undo
116 116
 								<?php if ( ! empty( $field['type'] ) && 'select' === $field['type'] ) : ?>
117 117
 									<select name="<?php echo esc_attr( $key ); ?>" id="<?php echo esc_attr( $key ); ?>" class="<?php echo esc_attr( $field['class'] ); ?> wpi_select2" style="width: 25em;">
118 118
 										<?php
119
-											$selected = esc_attr( get_user_meta( $user->ID, $key, true ) );
120
-										foreach ( $field['options'] as $option_key => $option_value ) :
121
-											?>
119
+                                            $selected = esc_attr( get_user_meta( $user->ID, $key, true ) );
120
+                                        foreach ( $field['options'] as $option_key => $option_value ) :
121
+                                            ?>
122 122
 											<option value="<?php echo esc_attr( $option_key ); ?>" <?php selected( $selected, $option_key, true ); ?>><?php echo esc_html( $option_value ); ?></option>
123 123
 										<?php endforeach; ?>
124 124
 									</select>
@@ -133,52 +133,52 @@  discard block
 block discarded – undo
133 133
 					<?php endforeach; ?>
134 134
 				</table>
135 135
 				<?php
136
-			endforeach;
137
-		}
138
-
139
-		/**
140
-		 * Save Address Fields on edit user pages.
141
-		 *
142
-		 * @param int $user_id User ID of the user being saved
143
-		 */
144
-		public function save_customer_meta_fields( $user_id ) {
145
-			if ( ! apply_filters( 'getpaid_current_user_can_edit_customer_meta_fields', current_user_can( 'manage_options' ), $user_id ) ) {
146
-				return;
147
-			}
148
-
149
-			$save_fields = $this->get_customer_meta_fields();
150
-
151
-			foreach ( $save_fields as $fieldset ) {
152
-
153
-				foreach ( $fieldset['fields'] as $key => $field ) {
154
-
155
-					if ( isset( $field['type'] ) && 'checkbox' === $field['type'] ) {
156
-						update_user_meta( $user_id, $key, isset( $_POST[ $key ] ) );
157
-					} elseif ( isset( $_POST[ $key ] ) ) {
158
-						update_user_meta( $user_id, $key, wpinv_clean( $_POST[ $key ] ) );
159
-					}
160
-				}
161
-			}
162
-		}
163
-
164
-		/**
165
-		 * Get user meta for a given key, with fallbacks to core user info for pre-existing fields.
166
-		 *
167
-		 * @since 3.1.0
168
-		 * @param int    $user_id User ID of the user being edited
169
-		 * @param string $key     Key for user meta field
170
-		 * @return string
171
-		 */
172
-		protected function get_user_meta( $user_id, $key ) {
173
-			$value           = get_user_meta( $user_id, $key, true );
174
-			$existing_fields = array( '_wpinv_first_name', '_wpinv_last_name' );
175
-			if ( ! $value && in_array( $key, $existing_fields ) ) {
176
-				$value = get_user_meta( $user_id, str_replace( '_wpinv_', '', $key ), true );
177
-			}
178
-
179
-			return $value;
180
-		}
181
-	}
136
+            endforeach;
137
+        }
138
+
139
+        /**
140
+         * Save Address Fields on edit user pages.
141
+         *
142
+         * @param int $user_id User ID of the user being saved
143
+         */
144
+        public function save_customer_meta_fields( $user_id ) {
145
+            if ( ! apply_filters( 'getpaid_current_user_can_edit_customer_meta_fields', current_user_can( 'manage_options' ), $user_id ) ) {
146
+                return;
147
+            }
148
+
149
+            $save_fields = $this->get_customer_meta_fields();
150
+
151
+            foreach ( $save_fields as $fieldset ) {
152
+
153
+                foreach ( $fieldset['fields'] as $key => $field ) {
154
+
155
+                    if ( isset( $field['type'] ) && 'checkbox' === $field['type'] ) {
156
+                        update_user_meta( $user_id, $key, isset( $_POST[ $key ] ) );
157
+                    } elseif ( isset( $_POST[ $key ] ) ) {
158
+                        update_user_meta( $user_id, $key, wpinv_clean( $_POST[ $key ] ) );
159
+                    }
160
+                }
161
+            }
162
+        }
163
+
164
+        /**
165
+         * Get user meta for a given key, with fallbacks to core user info for pre-existing fields.
166
+         *
167
+         * @since 3.1.0
168
+         * @param int    $user_id User ID of the user being edited
169
+         * @param string $key     Key for user meta field
170
+         * @return string
171
+         */
172
+        protected function get_user_meta( $user_id, $key ) {
173
+            $value           = get_user_meta( $user_id, $key, true );
174
+            $existing_fields = array( '_wpinv_first_name', '_wpinv_last_name' );
175
+            if ( ! $value && in_array( $key, $existing_fields ) ) {
176
+                $value = get_user_meta( $user_id, str_replace( '_wpinv_', '', $key ), true );
177
+            }
178
+
179
+            return $value;
180
+        }
181
+    }
182 182
 
183 183
 endif;
184 184
 
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-items.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_Items {
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.