Passed
Push — master ( c36f81...e50c18 )
by Brian
35:43
created
includes/class-getpaid-post-types.php 1 patch
Indentation   +305 added lines, -305 removed lines patch added patch discarded remove patch
@@ -15,331 +15,331 @@
 block discarded – undo
15 15
 class GetPaid_Post_Types {
16 16
 
17 17
     /**
18
-	 * Hook in methods.
19
-	 */
20
-	public function __construct() {
21
-		add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
-		add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
-		add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
-		add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
-	}
18
+     * Hook in methods.
19
+     */
20
+    public function __construct() {
21
+        add_action( 'init', array( __CLASS__, 'register_post_types' ), 1 );
22
+        add_action( 'init', array( __CLASS__, 'register_post_status' ), 4 );
23
+        add_action( 'getpaid_flush_rewrite_rules', array( __CLASS__, 'flush_rewrite_rules' ) );
24
+        add_action( 'getpaid_after_register_post_types', array( __CLASS__, 'maybe_flush_rewrite_rules' ) );
25
+    }
26 26
 
27
-	/**
28
-	 * Register core post types.
29
-	 */
30
-	public static function register_post_types() {
27
+    /**
28
+     * Register core post types.
29
+     */
30
+    public static function register_post_types() {
31 31
 
32
-		if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
-			return;
34
-		}
32
+        if ( ! is_blog_installed() || post_type_exists( 'wpi_item' ) ) {
33
+            return;
34
+        }
35 35
 
36
-		$capabilities = wpinv_current_user_can_manage_invoicing();
36
+        $capabilities = wpinv_current_user_can_manage_invoicing();
37 37
 
38
-		// Fires before registering post types.
39
-		do_action( 'getpaid_register_post_types' );
38
+        // Fires before registering post types.
39
+        do_action( 'getpaid_register_post_types' );
40 40
 
41
-		// Register item post type.
42
-		register_post_type(
43
-			'wpi_item',
44
-			apply_filters(
45
-				'wpinv_register_post_type_invoice_item',
46
-				array(
47
-					'labels'             => array(
48
-						'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
-						'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
-						'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
-						'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
-						'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
-						'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
-						'new_item'           => __( 'New Item', 'invoicing' ),
55
-						'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
-						'view_item'          => __( 'View Item', 'invoicing' ),
57
-						'all_items'          => __( 'Items', 'invoicing' ),
58
-						'search_items'       => __( 'Search items', 'invoicing' ),
59
-						'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
-						'not_found'          => __( 'No items found.', 'invoicing' ),
61
-						'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
62
-					),
63
-					'description'           => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
-					'public'                => false,
65
-					'has_archive'           => false,
66
-					'_builtin'              => false,
67
-					'show_ui'               => true,
68
-					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
69
-					'show_in_nav_menus'     => false,
70
-					'supports'              => array( 'title', 'excerpt', 'thumbnail' ),
71
-					'rewrite'               => false,
72
-					'query_var'             => false,
73
-					'map_meta_cap'          => true,
74
-					'show_in_admin_bar'     => true,
75
-					'can_export'            => true,
76
-				)
77
-			)
78
-		);
41
+        // Register item post type.
42
+        register_post_type(
43
+            'wpi_item',
44
+            apply_filters(
45
+                'wpinv_register_post_type_invoice_item',
46
+                array(
47
+                    'labels'             => array(
48
+                        'name'               => _x( 'Items', 'post type general name', 'invoicing' ),
49
+                        'singular_name'      => _x( 'Item', 'post type singular name', 'invoicing' ),
50
+                        'menu_name'          => _x( 'Items', 'admin menu', 'invoicing' ),
51
+                        'name_admin_bar'     => _x( 'Item', 'add new on admin bar', 'invoicing' ),
52
+                        'add_new'            => _x( 'Add New', 'Item', 'invoicing' ),
53
+                        'add_new_item'       => __( 'Add New Item', 'invoicing' ),
54
+                        'new_item'           => __( 'New Item', 'invoicing' ),
55
+                        'edit_item'          => __( 'Edit Item', 'invoicing' ),
56
+                        'view_item'          => __( 'View Item', 'invoicing' ),
57
+                        'all_items'          => __( 'Items', 'invoicing' ),
58
+                        'search_items'       => __( 'Search items', 'invoicing' ),
59
+                        'parent_item_colon'  => __( 'Parent item:', 'invoicing' ),
60
+                        'not_found'          => __( 'No items found.', 'invoicing' ),
61
+                        'not_found_in_trash' => __( 'No items found in trash.', 'invoicing' )
62
+                    ),
63
+                    'description'           => __( 'This is where you can add new invoice items.', 'invoicing' ),
64
+                    'public'                => false,
65
+                    'has_archive'           => false,
66
+                    '_builtin'              => false,
67
+                    'show_ui'               => true,
68
+                    'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
69
+                    'show_in_nav_menus'     => false,
70
+                    'supports'              => array( 'title', 'excerpt', 'thumbnail' ),
71
+                    'rewrite'               => false,
72
+                    'query_var'             => false,
73
+                    'map_meta_cap'          => true,
74
+                    'show_in_admin_bar'     => true,
75
+                    'can_export'            => true,
76
+                )
77
+            )
78
+        );
79 79
 
80
-		// Register payment form post type.
81
-		register_post_type(
82
-			'wpi_payment_form',
83
-			apply_filters(
84
-				'wpinv_register_post_type_payment_form',
85
-				array(
86
-					'labels'             => array(
87
-						'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
-						'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
-						'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
-						'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
-						'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
-						'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
-						'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
-						'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
-						'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
-						'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
-						'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
-						'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
-						'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
-						'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' )
101
-					),
102
-					'description'        => __( 'Add new payment forms.', 'invoicing' ),
103
-					'public'             => false,
104
-					'show_ui'            => true,
105
-					'show_in_menu'       => $capabilities ? 'wpinv' : true,
106
-					'show_in_nav_menus'  => false,
107
-					'query_var'          => false,
108
-					'rewrite'            => true,
109
-					'map_meta_cap'       => true,
110
-					'has_archive'        => false,
111
-					'hierarchical'       => false,
112
-					'menu_position'      => null,
113
-					'supports'           => array( 'title' ),
114
-					'menu_icon'          => 'dashicons-media-form',
115
-					'capabilities' => array(
116
-						'edit_post'          => $capabilities,
117
-						'read_post'          => $capabilities,
118
-						'delete_post'        => $capabilities,
119
-						'edit_posts'         => 'update_core',
120
-						'edit_others_posts'  => 'update_core',
121
-						'delete_posts'       => 'update_core',
122
-						'publish_posts'      => 'update_core',
123
-						'read_private_posts' => 'update_core'
124
-					),
125
-				)
126
-			)
127
-		);
80
+        // Register payment form post type.
81
+        register_post_type(
82
+            'wpi_payment_form',
83
+            apply_filters(
84
+                'wpinv_register_post_type_payment_form',
85
+                array(
86
+                    'labels'             => array(
87
+                        'name'               => _x( 'Payment Forms', 'post type general name', 'invoicing' ),
88
+                        'singular_name'      => _x( 'Payment Form', 'post type singular name', 'invoicing' ),
89
+                        'menu_name'          => _x( 'Payment Forms', 'admin menu', 'invoicing' ),
90
+                        'name_admin_bar'     => _x( 'Payment Form', 'add new on admin bar', 'invoicing' ),
91
+                        'add_new'            => _x( 'Add New', 'Payment Form', 'invoicing' ),
92
+                        'add_new_item'       => __( 'Add New Payment Form', 'invoicing' ),
93
+                        'new_item'           => __( 'New Payment Form', 'invoicing' ),
94
+                        'edit_item'          => __( 'Edit Payment Form', 'invoicing' ),
95
+                        'view_item'          => __( 'View Payment Form', 'invoicing' ),
96
+                        'all_items'          => __( 'Payment Forms', 'invoicing' ),
97
+                        'search_items'       => __( 'Search Payment Forms', 'invoicing' ),
98
+                        'parent_item_colon'  => __( 'Parent Payment Forms:', 'invoicing' ),
99
+                        'not_found'          => __( 'No payment forms found.', 'invoicing' ),
100
+                        'not_found_in_trash' => __( 'No payment forms found in trash.', 'invoicing' )
101
+                    ),
102
+                    'description'        => __( 'Add new payment forms.', 'invoicing' ),
103
+                    'public'             => false,
104
+                    'show_ui'            => true,
105
+                    'show_in_menu'       => $capabilities ? 'wpinv' : true,
106
+                    'show_in_nav_menus'  => false,
107
+                    'query_var'          => false,
108
+                    'rewrite'            => true,
109
+                    'map_meta_cap'       => true,
110
+                    'has_archive'        => false,
111
+                    'hierarchical'       => false,
112
+                    'menu_position'      => null,
113
+                    'supports'           => array( 'title' ),
114
+                    'menu_icon'          => 'dashicons-media-form',
115
+                    'capabilities' => array(
116
+                        'edit_post'          => $capabilities,
117
+                        'read_post'          => $capabilities,
118
+                        'delete_post'        => $capabilities,
119
+                        'edit_posts'         => 'update_core',
120
+                        'edit_others_posts'  => 'update_core',
121
+                        'delete_posts'       => 'update_core',
122
+                        'publish_posts'      => 'update_core',
123
+                        'read_private_posts' => 'update_core'
124
+                    ),
125
+                )
126
+            )
127
+        );
128 128
 
129
-		// Register invoice post type.
130
-		register_post_type(
131
-			'wpi_invoice',
132
-			apply_filters(
133
-				'wpinv_register_post_type_invoice',
134
-				array(
135
-					'labels'                 => array(
136
-						'name'                  => __( 'Invoices', 'invoicing' ),
137
-						'singular_name'         => __( 'Invoice', 'invoicing' ),
138
-						'all_items'             => __( 'Invoices', 'invoicing' ),
139
-						'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
140
-						'add_new'               => __( 'Add New', 'invoicing' ),
141
-						'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
142
-						'edit'                  => __( 'Edit', 'invoicing' ),
143
-						'edit_item'             => __( 'Edit invoice', 'invoicing' ),
144
-						'new_item'              => __( 'New invoice', 'invoicing' ),
145
-						'view_item'             => __( 'View invoice', 'invoicing' ),
146
-						'view_items'            => __( 'View Invoices', 'invoicing' ),
147
-						'search_items'          => __( 'Search invoices', 'invoicing' ),
148
-						'not_found'             => __( 'No invoices found', 'invoicing' ),
149
-						'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
150
-						'parent'                => __( 'Parent invoice', 'invoicing' ),
151
-						'featured_image'        => __( 'Invoice image', 'invoicing' ),
152
-						'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
153
-						'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
154
-						'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
155
-						'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
156
-						'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
157
-						'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
158
-						'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
159
-						'items_list'            => __( 'Invoices list', 'invoicing' ),
160
-					),
161
-					'description'           => __( 'This is where invoices are stored.', 'invoicing' ),
162
-					'public'                => true,
163
-					'has_archive'           => false,
164
-					'publicly_queryable'    => true,
165
-        			'exclude_from_search'   => true,
166
-        			'show_ui'               => true,
167
-					'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
168
-					'show_in_nav_menus'     => false,
169
-					'supports'              => array( 'title', 'author', 'excerpt'  ),
170
-					'rewrite'               => array(
171
-						'slug'              => 'invoice',
172
-						'with_front'        => false,
173
-					),
174
-					'query_var'             => false,
175
-					'map_meta_cap'          => true,
176
-					'show_in_admin_bar'     => true,
177
-					'can_export'            => true,
178
-					'hierarchical'          => false,
179
-					'menu_position'         => null,
180
-					'menu_icon'             => 'dashicons-media-spreadsheet',
181
-				)
182
-			)
183
-		);
129
+        // Register invoice post type.
130
+        register_post_type(
131
+            'wpi_invoice',
132
+            apply_filters(
133
+                'wpinv_register_post_type_invoice',
134
+                array(
135
+                    'labels'                 => array(
136
+                        'name'                  => __( 'Invoices', 'invoicing' ),
137
+                        'singular_name'         => __( 'Invoice', 'invoicing' ),
138
+                        'all_items'             => __( 'Invoices', 'invoicing' ),
139
+                        'menu_name'             => _x( 'Invoices', 'Admin menu name', 'invoicing' ),
140
+                        'add_new'               => __( 'Add New', 'invoicing' ),
141
+                        'add_new_item'          => __( 'Add new invoice', 'invoicing' ),
142
+                        'edit'                  => __( 'Edit', 'invoicing' ),
143
+                        'edit_item'             => __( 'Edit invoice', 'invoicing' ),
144
+                        'new_item'              => __( 'New invoice', 'invoicing' ),
145
+                        'view_item'             => __( 'View invoice', 'invoicing' ),
146
+                        'view_items'            => __( 'View Invoices', 'invoicing' ),
147
+                        'search_items'          => __( 'Search invoices', 'invoicing' ),
148
+                        'not_found'             => __( 'No invoices found', 'invoicing' ),
149
+                        'not_found_in_trash'    => __( 'No invoices found in trash', 'invoicing' ),
150
+                        'parent'                => __( 'Parent invoice', 'invoicing' ),
151
+                        'featured_image'        => __( 'Invoice image', 'invoicing' ),
152
+                        'set_featured_image'    => __( 'Set invoice image', 'invoicing' ),
153
+                        'remove_featured_image' => __( 'Remove invoice image', 'invoicing' ),
154
+                        'use_featured_image'    => __( 'Use as invoice image', 'invoicing' ),
155
+                        'insert_into_item'      => __( 'Insert into invoice', 'invoicing' ),
156
+                        'uploaded_to_this_item' => __( 'Uploaded to this invoice', 'invoicing' ),
157
+                        'filter_items_list'     => __( 'Filter invoices', 'invoicing' ),
158
+                        'items_list_navigation' => __( 'Invoices navigation', 'invoicing' ),
159
+                        'items_list'            => __( 'Invoices list', 'invoicing' ),
160
+                    ),
161
+                    'description'           => __( 'This is where invoices are stored.', 'invoicing' ),
162
+                    'public'                => true,
163
+                    'has_archive'           => false,
164
+                    'publicly_queryable'    => true,
165
+                    'exclude_from_search'   => true,
166
+                    'show_ui'               => true,
167
+                    'show_in_menu'          => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
168
+                    'show_in_nav_menus'     => false,
169
+                    'supports'              => array( 'title', 'author', 'excerpt'  ),
170
+                    'rewrite'               => array(
171
+                        'slug'              => 'invoice',
172
+                        'with_front'        => false,
173
+                    ),
174
+                    'query_var'             => false,
175
+                    'map_meta_cap'          => true,
176
+                    'show_in_admin_bar'     => true,
177
+                    'can_export'            => true,
178
+                    'hierarchical'          => false,
179
+                    'menu_position'         => null,
180
+                    'menu_icon'             => 'dashicons-media-spreadsheet',
181
+                )
182
+            )
183
+        );
184 184
 
185
-		// Register discount post type.
186
-		register_post_type(
187
-			'wpi_discount',
188
-			apply_filters(
189
-				'wpinv_register_post_type_discount',
190
-				array(
191
-					'labels'                 => array(
192
-						'name'                  => __( 'Discounts', 'invoicing' ),
193
-						'singular_name'         => __( 'Discount', 'invoicing' ),
194
-						'all_items'             => __( 'Discounts', 'invoicing' ),
195
-						'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
196
-						'add_new'               => __( 'Add New', 'invoicing' ),
197
-						'add_new_item'          => __( 'Add new discount', 'invoicing' ),
198
-						'edit'                  => __( 'Edit', 'invoicing' ),
199
-						'edit_item'             => __( 'Edit discount', 'invoicing' ),
200
-						'new_item'              => __( 'New discount', 'invoicing' ),
201
-						'view_item'             => __( 'View discount', 'invoicing' ),
202
-						'view_items'            => __( 'View Discounts', 'invoicing' ),
203
-						'search_items'          => __( 'Search discounts', 'invoicing' ),
204
-						'not_found'             => __( 'No discounts found', 'invoicing' ),
205
-						'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
206
-						'parent'                => __( 'Parent discount', 'invoicing' ),
207
-						'featured_image'        => __( 'Discount image', 'invoicing' ),
208
-						'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
209
-						'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
210
-						'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
211
-						'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
212
-						'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
213
-						'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
214
-						'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
215
-						'items_list'            => __( 'Discounts list', 'invoicing' ),
216
-					),
217
-					'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
218
-					'public'             => false,
219
-					'can_export'         => true,
220
-					'_builtin'           => false,
221
-					'publicly_queryable' => false,
222
-					'exclude_from_search'=> true,
223
-					'show_ui'            => true,
224
-					'show_in_menu'       => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
225
-					'query_var'          => false,
226
-					'rewrite'            => false,
227
-					'map_meta_cap'       => true,
228
-					'has_archive'        => false,
229
-					'hierarchical'       => false,
230
-					'supports'           => array( 'title', 'excerpt' ),
231
-					'show_in_nav_menus'  => false,
232
-					'show_in_admin_bar'  => true,
233
-					'menu_position'      => null,
234
-				)
235
-			)
236
-		);
185
+        // Register discount post type.
186
+        register_post_type(
187
+            'wpi_discount',
188
+            apply_filters(
189
+                'wpinv_register_post_type_discount',
190
+                array(
191
+                    'labels'                 => array(
192
+                        'name'                  => __( 'Discounts', 'invoicing' ),
193
+                        'singular_name'         => __( 'Discount', 'invoicing' ),
194
+                        'all_items'             => __( 'Discounts', 'invoicing' ),
195
+                        'menu_name'             => _x( 'Discounts', 'Admin menu name', 'invoicing' ),
196
+                        'add_new'               => __( 'Add New', 'invoicing' ),
197
+                        'add_new_item'          => __( 'Add new discount', 'invoicing' ),
198
+                        'edit'                  => __( 'Edit', 'invoicing' ),
199
+                        'edit_item'             => __( 'Edit discount', 'invoicing' ),
200
+                        'new_item'              => __( 'New discount', 'invoicing' ),
201
+                        'view_item'             => __( 'View discount', 'invoicing' ),
202
+                        'view_items'            => __( 'View Discounts', 'invoicing' ),
203
+                        'search_items'          => __( 'Search discounts', 'invoicing' ),
204
+                        'not_found'             => __( 'No discounts found', 'invoicing' ),
205
+                        'not_found_in_trash'    => __( 'No discounts found in trash', 'invoicing' ),
206
+                        'parent'                => __( 'Parent discount', 'invoicing' ),
207
+                        'featured_image'        => __( 'Discount image', 'invoicing' ),
208
+                        'set_featured_image'    => __( 'Set discount image', 'invoicing' ),
209
+                        'remove_featured_image' => __( 'Remove discount image', 'invoicing' ),
210
+                        'use_featured_image'    => __( 'Use as discount image', 'invoicing' ),
211
+                        'insert_into_item'      => __( 'Insert into discount', 'invoicing' ),
212
+                        'uploaded_to_this_item' => __( 'Uploaded to this discount', 'invoicing' ),
213
+                        'filter_items_list'     => __( 'Filter discounts', 'invoicing' ),
214
+                        'items_list_navigation' => __( 'Discount navigation', 'invoicing' ),
215
+                        'items_list'            => __( 'Discounts list', 'invoicing' ),
216
+                    ),
217
+                    'description'        => __( 'This is where you can add new discounts that users can use in invoices.', 'invoicing' ),
218
+                    'public'             => false,
219
+                    'can_export'         => true,
220
+                    '_builtin'           => false,
221
+                    'publicly_queryable' => false,
222
+                    'exclude_from_search'=> true,
223
+                    'show_ui'            => true,
224
+                    'show_in_menu'       => wpinv_current_user_can_manage_invoicing() ? 'wpinv' : false,
225
+                    'query_var'          => false,
226
+                    'rewrite'            => false,
227
+                    'map_meta_cap'       => true,
228
+                    'has_archive'        => false,
229
+                    'hierarchical'       => false,
230
+                    'supports'           => array( 'title', 'excerpt' ),
231
+                    'show_in_nav_menus'  => false,
232
+                    'show_in_admin_bar'  => true,
233
+                    'menu_position'      => null,
234
+                )
235
+            )
236
+        );
237 237
 
238
-		do_action( 'getpaid_after_register_post_types' );
239
-	}
238
+        do_action( 'getpaid_after_register_post_types' );
239
+    }
240 240
 
241
-	/**
242
-	 * Register our custom post statuses.
243
-	 */
244
-	public static function register_post_status() {
241
+    /**
242
+     * Register our custom post statuses.
243
+     */
244
+    public static function register_post_status() {
245 245
 
246
-		$invoice_statuses = apply_filters(
247
-			'getpaid_register_invoice_post_statuses',
248
-			array(
246
+        $invoice_statuses = apply_filters(
247
+            'getpaid_register_invoice_post_statuses',
248
+            array(
249 249
 
250
-				'wpi-pending' => array(
251
-					'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
252
-        			'public'                    => true,
253
-        			'exclude_from_search'       => true,
254
-        			'show_in_admin_all_list'    => true,
255
-					'show_in_admin_status_list' => true,
256
-					/* translators: %s: number of invoices */
257
-        			'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' )
258
-				),
250
+                'wpi-pending' => array(
251
+                    'label'                     => _x( 'Pending Payment', 'Invoice status', 'invoicing' ),
252
+                    'public'                    => true,
253
+                    'exclude_from_search'       => true,
254
+                    'show_in_admin_all_list'    => true,
255
+                    'show_in_admin_status_list' => true,
256
+                    /* translators: %s: number of invoices */
257
+                    'label_count'               => _n_noop( 'Pending Payment <span class="count">(%s)</span>', 'Pending Payment <span class="count">(%s)</span>', 'invoicing' )
258
+                ),
259 259
 
260
-				'wpi-processing' => array(
261
-					'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
262
-        			'public'                    => true,
263
-        			'exclude_from_search'       => true,
264
-        			'show_in_admin_all_list'    => true,
265
-					'show_in_admin_status_list' => true,
266
-					/* translators: %s: number of invoices */
267
-        			'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
268
-				),
260
+                'wpi-processing' => array(
261
+                    'label'                     => _x( 'Processing', 'Invoice status', 'invoicing' ),
262
+                    'public'                    => true,
263
+                    'exclude_from_search'       => true,
264
+                    'show_in_admin_all_list'    => true,
265
+                    'show_in_admin_status_list' => true,
266
+                    /* translators: %s: number of invoices */
267
+                    'label_count'               => _n_noop( 'Processing <span class="count">(%s)</span>', 'Processing <span class="count">(%s)</span>', 'invoicing' )
268
+                ),
269 269
 
270
-				'wpi-onhold' => array(
271
-					'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
272
-        			'public'                    => true,
273
-        			'exclude_from_search'       => true,
274
-        			'show_in_admin_all_list'    => true,
275
-					'show_in_admin_status_list' => true,
276
-					/* translators: %s: number of invoices */
277
-        			'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
278
-				),
270
+                'wpi-onhold' => array(
271
+                    'label'                     => _x( 'On Hold', 'Invoice status', 'invoicing' ),
272
+                    'public'                    => true,
273
+                    'exclude_from_search'       => true,
274
+                    'show_in_admin_all_list'    => true,
275
+                    'show_in_admin_status_list' => true,
276
+                    /* translators: %s: number of invoices */
277
+                    'label_count'               => _n_noop( 'On Hold <span class="count">(%s)</span>', 'On Hold <span class="count">(%s)</span>', 'invoicing' )
278
+                ),
279 279
 
280
-				'wpi-cancelled' => array(
281
-					'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
282
-        			'public'                    => true,
283
-        			'exclude_from_search'       => true,
284
-        			'show_in_admin_all_list'    => true,
285
-					'show_in_admin_status_list' => true,
286
-					/* translators: %s: number of invoices */
287
-        			'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
288
-				),
280
+                'wpi-cancelled' => array(
281
+                    'label'                     => _x( 'Cancelled', 'Invoice status', 'invoicing' ),
282
+                    'public'                    => true,
283
+                    'exclude_from_search'       => true,
284
+                    'show_in_admin_all_list'    => true,
285
+                    'show_in_admin_status_list' => true,
286
+                    /* translators: %s: number of invoices */
287
+                    'label_count'               => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'invoicing' )
288
+                ),
289 289
 
290
-				'wpi-refunded' => array(
291
-					'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
292
-        			'public'                    => true,
293
-        			'exclude_from_search'       => true,
294
-        			'show_in_admin_all_list'    => true,
295
-					'show_in_admin_status_list' => true,
296
-					/* translators: %s: number of invoices */
297
-        			'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
298
-				),
290
+                'wpi-refunded' => array(
291
+                    'label'                     => _x( 'Refunded', 'Invoice status', 'invoicing' ),
292
+                    'public'                    => true,
293
+                    'exclude_from_search'       => true,
294
+                    'show_in_admin_all_list'    => true,
295
+                    'show_in_admin_status_list' => true,
296
+                    /* translators: %s: number of invoices */
297
+                    'label_count'               => _n_noop( 'Refunded <span class="count">(%s)</span>', 'Refunded <span class="count">(%s)</span>', 'invoicing' )
298
+                ),
299 299
 
300
-				'wpi-failed' => array(
301
-					'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
302
-        			'public'                    => true,
303
-        			'exclude_from_search'       => true,
304
-        			'show_in_admin_all_list'    => true,
305
-					'show_in_admin_status_list' => true,
306
-					/* translators: %s: number of invoices */
307
-        			'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
308
-				),
300
+                'wpi-failed' => array(
301
+                    'label'                     => _x( 'Failed', 'Invoice status', 'invoicing' ),
302
+                    'public'                    => true,
303
+                    'exclude_from_search'       => true,
304
+                    'show_in_admin_all_list'    => true,
305
+                    'show_in_admin_status_list' => true,
306
+                    /* translators: %s: number of invoices */
307
+                    'label_count'               => _n_noop( 'Failed <span class="count">(%s)</span>', 'Failed <span class="count">(%s)</span>', 'invoicing' )
308
+                ),
309 309
 
310
-				'wpi-renewal' => array(
311
-					'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
312
-        			'public'                    => true,
313
-        			'exclude_from_search'       => true,
314
-        			'show_in_admin_all_list'    => true,
315
-					'show_in_admin_status_list' => true,
316
-					/* translators: %s: number of invoices */
317
-        			'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
318
-				)
319
-			)
320
-		);
310
+                'wpi-renewal' => array(
311
+                    'label'                     => _x( 'Renewal', 'Invoice status', 'invoicing' ),
312
+                    'public'                    => true,
313
+                    'exclude_from_search'       => true,
314
+                    'show_in_admin_all_list'    => true,
315
+                    'show_in_admin_status_list' => true,
316
+                    /* translators: %s: number of invoices */
317
+                    'label_count'               => _n_noop( 'Renewal <span class="count">(%s)</span>', 'Renewal <span class="count">(%s)</span>', 'invoicing' )
318
+                )
319
+            )
320
+        );
321 321
 
322
-		foreach ( $invoice_statuses as $invoice_statuse => $args ) {
323
-			register_post_status( $invoice_statuse, $args );
324
-		}
325
-	}
322
+        foreach ( $invoice_statuses as $invoice_statuse => $args ) {
323
+            register_post_status( $invoice_statuse, $args );
324
+        }
325
+    }
326 326
 
327
-	/**
328
-	 * Flush rewrite rules.
329
-	 */
330
-	public static function flush_rewrite_rules() {
331
-		flush_rewrite_rules();
332
-	}
327
+    /**
328
+     * Flush rewrite rules.
329
+     */
330
+    public static function flush_rewrite_rules() {
331
+        flush_rewrite_rules();
332
+    }
333 333
 
334
-	/**
335
-	 * Flush rules to prevent 404.
336
-	 *
337
-	 */
338
-	public static function maybe_flush_rewrite_rules() {
339
-		if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
340
-			update_option( 'getpaid_flushed_rewrite_rules', '1' );
341
-			self::flush_rewrite_rules();
342
-		}
343
-	}
334
+    /**
335
+     * Flush rules to prevent 404.
336
+     *
337
+     */
338
+    public static function maybe_flush_rewrite_rules() {
339
+        if ( ! get_option( 'getpaid_flushed_rewrite_rules' ) ) {
340
+            update_option( 'getpaid_flushed_rewrite_rules', '1' );
341
+            self::flush_rewrite_rules();
342
+        }
343
+    }
344 344
 
345 345
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form.php 1 patch
Indentation   +584 added lines, -584 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,55 +10,55 @@  discard block
 block discarded – undo
10 10
 class GetPaid_Payment_Form extends GetPaid_Data {
11 11
 
12 12
     /**
13
-	 * Which data store to load.
14
-	 *
15
-	 * @var string
16
-	 */
13
+     * Which data store to load.
14
+     *
15
+     * @var string
16
+     */
17 17
     protected $data_store_name = 'payment_form';
18 18
 
19 19
     /**
20
-	 * This is the name of this object type.
21
-	 *
22
-	 * @var string
23
-	 */
24
-	protected $object_type = 'payment_form';
20
+     * This is the name of this object type.
21
+     *
22
+     * @var string
23
+     */
24
+    protected $object_type = 'payment_form';
25 25
 
26 26
     /**
27
-	 * Form Data array. This is the core form data exposed in APIs.
28
-	 *
29
-	 * @since 1.0.19
30
-	 * @var array
31
-	 */
32
-	protected $data = array(
33
-		'status'               => 'draft',
34
-		'version'              => '',
35
-		'date_created'         => null,
27
+     * Form Data array. This is the core form data exposed in APIs.
28
+     *
29
+     * @since 1.0.19
30
+     * @var array
31
+     */
32
+    protected $data = array(
33
+        'status'               => 'draft',
34
+        'version'              => '',
35
+        'date_created'         => null,
36 36
         'date_modified'        => null,
37 37
         'name'                 => '',
38 38
         'author'               => 1,
39 39
         'elements'             => null,
40
-		'items'                => null,
41
-		'earned'               => 0,
42
-		'refunded'             => 0,
43
-		'cancelled'            => 0,
44
-		'failed'               => 0,
45
-	);
46
-
47
-    /**
48
-	 * Stores meta in cache for future reads.
49
-	 *
50
-	 * A group must be set to to enable caching.
51
-	 *
52
-	 * @var string
53
-	 */
54
-	protected $cache_group = 'getpaid_forms';
55
-
56
-	/**
57
-	 * Stores a reference to the invoice if the form is for an invoice..
58
-	 *
59
-	 * @var WPInv_Invoice
60
-	 */
61
-	public $invoice = 0;
40
+        'items'                => null,
41
+        'earned'               => 0,
42
+        'refunded'             => 0,
43
+        'cancelled'            => 0,
44
+        'failed'               => 0,
45
+    );
46
+
47
+    /**
48
+     * Stores meta in cache for future reads.
49
+     *
50
+     * A group must be set to to enable caching.
51
+     *
52
+     * @var string
53
+     */
54
+    protected $cache_group = 'getpaid_forms';
55
+
56
+    /**
57
+     * Stores a reference to the invoice if the form is for an invoice..
58
+     *
59
+     * @var WPInv_Invoice
60
+     */
61
+    public $invoice = 0;
62 62
 
63 63
     /**
64 64
      * Stores a reference to the original WP_Post object
@@ -68,35 +68,35 @@  discard block
 block discarded – undo
68 68
     protected $post = null;
69 69
 
70 70
     /**
71
-	 * Get the form if ID is passed, otherwise the form is new and empty.
72
-	 *
73
-	 * @param  int|object|GetPaid_Payment_Form|WP_Post $form Form to read.
74
-	 */
75
-	public function __construct( $form = 0 ) {
76
-		parent::__construct( $form );
71
+     * Get the form if ID is passed, otherwise the form is new and empty.
72
+     *
73
+     * @param  int|object|GetPaid_Payment_Form|WP_Post $form Form to read.
74
+     */
75
+    public function __construct( $form = 0 ) {
76
+        parent::__construct( $form );
77 77
 
78
-		if ( is_numeric( $form ) && $form > 0 ) {
79
-			$this->set_id( $form );
80
-		} elseif ( $form instanceof self ) {
78
+        if ( is_numeric( $form ) && $form > 0 ) {
79
+            $this->set_id( $form );
80
+        } elseif ( $form instanceof self ) {
81 81
 
82
-			$this->set_id( $form->get_id() );
83
-			$this->invoice = $form->invoice;
82
+            $this->set_id( $form->get_id() );
83
+            $this->invoice = $form->invoice;
84 84
 
85
-		} elseif ( ! empty( $form->ID ) ) {
86
-			$this->set_id( $form->ID );
87
-		} else {
88
-			$this->set_object_read( true );
89
-		}
85
+        } elseif ( ! empty( $form->ID ) ) {
86
+            $this->set_id( $form->ID );
87
+        } else {
88
+            $this->set_object_read( true );
89
+        }
90 90
 
91 91
         // Load the datastore.
92
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
92
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
93 93
 
94
-		if ( $this->get_id() > 0 ) {
94
+        if ( $this->get_id() > 0 ) {
95 95
             $this->post = get_post( $this->get_id() );
96
-			$this->data_store->read( $this );
96
+            $this->data_store->read( $this );
97 97
         }
98 98
 
99
-	}
99
+    }
100 100
 
101 101
     /*
102 102
 	|--------------------------------------------------------------------------
@@ -114,358 +114,358 @@  discard block
 block discarded – undo
114 114
     */
115 115
 
116 116
     /**
117
-	 * Get plugin version when the form was created.
118
-	 *
119
-	 * @since 1.0.19
120
-	 * @param  string $context View or edit context.
121
-	 * @return string
122
-	 */
123
-	public function get_version( $context = 'view' ) {
124
-		return $this->get_prop( 'version', $context );
117
+     * Get plugin version when the form was created.
118
+     *
119
+     * @since 1.0.19
120
+     * @param  string $context View or edit context.
121
+     * @return string
122
+     */
123
+    public function get_version( $context = 'view' ) {
124
+        return $this->get_prop( 'version', $context );
125 125
     }
126 126
 
127 127
     /**
128
-	 * Get date when the form was created.
129
-	 *
130
-	 * @since 1.0.19
131
-	 * @param  string $context View or edit context.
132
-	 * @return string
133
-	 */
134
-	public function get_date_created( $context = 'view' ) {
135
-		return $this->get_prop( 'date_created', $context );
128
+     * Get date when the form was created.
129
+     *
130
+     * @since 1.0.19
131
+     * @param  string $context View or edit context.
132
+     * @return string
133
+     */
134
+    public function get_date_created( $context = 'view' ) {
135
+        return $this->get_prop( 'date_created', $context );
136 136
     }
137 137
 
138 138
     /**
139
-	 * Get GMT date when the form was created.
140
-	 *
141
-	 * @since 1.0.19
142
-	 * @param  string $context View or edit context.
143
-	 * @return string
144
-	 */
145
-	public function get_date_created_gmt( $context = 'view' ) {
139
+     * Get GMT date when the form was created.
140
+     *
141
+     * @since 1.0.19
142
+     * @param  string $context View or edit context.
143
+     * @return string
144
+     */
145
+    public function get_date_created_gmt( $context = 'view' ) {
146 146
         $date = $this->get_date_created( $context );
147 147
 
148 148
         if ( $date ) {
149 149
             $date = get_gmt_from_date( $date );
150 150
         }
151
-		return $date;
151
+        return $date;
152 152
     }
153 153
 
154 154
     /**
155
-	 * Get date when the form was last modified.
156
-	 *
157
-	 * @since 1.0.19
158
-	 * @param  string $context View or edit context.
159
-	 * @return string
160
-	 */
161
-	public function get_date_modified( $context = 'view' ) {
162
-		return $this->get_prop( 'date_modified', $context );
155
+     * Get date when the form was last modified.
156
+     *
157
+     * @since 1.0.19
158
+     * @param  string $context View or edit context.
159
+     * @return string
160
+     */
161
+    public function get_date_modified( $context = 'view' ) {
162
+        return $this->get_prop( 'date_modified', $context );
163 163
     }
164 164
 
165 165
     /**
166
-	 * Get GMT date when the form was last modified.
167
-	 *
168
-	 * @since 1.0.19
169
-	 * @param  string $context View or edit context.
170
-	 * @return string
171
-	 */
172
-	public function get_date_modified_gmt( $context = 'view' ) {
166
+     * Get GMT date when the form was last modified.
167
+     *
168
+     * @since 1.0.19
169
+     * @param  string $context View or edit context.
170
+     * @return string
171
+     */
172
+    public function get_date_modified_gmt( $context = 'view' ) {
173 173
         $date = $this->get_date_modified( $context );
174 174
 
175 175
         if ( $date ) {
176 176
             $date = get_gmt_from_date( $date );
177 177
         }
178
-		return $date;
178
+        return $date;
179 179
     }
180 180
 
181 181
     /**
182
-	 * Get the form name.
183
-	 *
184
-	 * @since 1.0.19
185
-	 * @param  string $context View or edit context.
186
-	 * @return string
187
-	 */
188
-	public function get_name( $context = 'view' ) {
189
-		return $this->get_prop( 'name', $context );
182
+     * Get the form name.
183
+     *
184
+     * @since 1.0.19
185
+     * @param  string $context View or edit context.
186
+     * @return string
187
+     */
188
+    public function get_name( $context = 'view' ) {
189
+        return $this->get_prop( 'name', $context );
190 190
     }
191 191
 
192 192
     /**
193
-	 * Alias of self::get_name().
194
-	 *
195
-	 * @since 1.0.19
196
-	 * @param  string $context View or edit context.
197
-	 * @return string
198
-	 */
199
-	public function get_title( $context = 'view' ) {
200
-		return $this->get_name( $context );
201
-	}
193
+     * Alias of self::get_name().
194
+     *
195
+     * @since 1.0.19
196
+     * @param  string $context View or edit context.
197
+     * @return string
198
+     */
199
+    public function get_title( $context = 'view' ) {
200
+        return $this->get_name( $context );
201
+    }
202 202
 
203 203
     /**
204
-	 * Get the owner of the form.
205
-	 *
206
-	 * @since 1.0.19
207
-	 * @param  string $context View or edit context.
208
-	 * @return int
209
-	 */
210
-	public function get_author( $context = 'view' ) {
211
-		return (int) $this->get_prop( 'author', $context );
204
+     * Get the owner of the form.
205
+     *
206
+     * @since 1.0.19
207
+     * @param  string $context View or edit context.
208
+     * @return int
209
+     */
210
+    public function get_author( $context = 'view' ) {
211
+        return (int) $this->get_prop( 'author', $context );
212 212
     }
213 213
 
214 214
     /**
215
-	 * Get the elements that make up the form.
216
-	 *
217
-	 * @since 1.0.19
218
-	 * @param  string $context View or edit context.
219
-	 * @return array
220
-	 */
221
-	public function get_elements( $context = 'view' ) {
222
-		$elements = $this->get_prop( 'elements', $context );
215
+     * Get the elements that make up the form.
216
+     *
217
+     * @since 1.0.19
218
+     * @param  string $context View or edit context.
219
+     * @return array
220
+     */
221
+    public function get_elements( $context = 'view' ) {
222
+        $elements = $this->get_prop( 'elements', $context );
223 223
 
224
-		if ( empty( $elements ) || ! is_array( $elements ) ) {
224
+        if ( empty( $elements ) || ! is_array( $elements ) ) {
225 225
             return wpinv_get_data( 'sample-payment-form' );
226
-		}
226
+        }
227 227
 
228
-		// Ensure that all required elements exist.
229
-		$_elements = array();
230
-		foreach ( $elements as $element ) {
228
+        // Ensure that all required elements exist.
229
+        $_elements = array();
230
+        foreach ( $elements as $element ) {
231 231
 
232
-			if ( $element['type'] == 'pay_button' && ! $this->has_element_type( 'gateway_select' ) ) {
232
+            if ( $element['type'] == 'pay_button' && ! $this->has_element_type( 'gateway_select' ) ) {
233 233
 
234
-				$_elements[] = array(
235
-					'text'        => __( 'Select Payment Method', 'invoicing' ),
236
-					'id'          => 'gtscicd',
237
-					'name'        => 'gtscicd',
238
-					'type'        => 'gateway_select',
239
-					'premade'     => true
234
+                $_elements[] = array(
235
+                    'text'        => __( 'Select Payment Method', 'invoicing' ),
236
+                    'id'          => 'gtscicd',
237
+                    'name'        => 'gtscicd',
238
+                    'type'        => 'gateway_select',
239
+                    'premade'     => true
240 240
 			
241
-				);
241
+                );
242 242
 
243
-			}
243
+            }
244 244
 
245
-			$_elements[] = $element;
245
+            $_elements[] = $element;
246 246
 
247
-		}
247
+        }
248 248
 
249 249
         return $_elements;
250
-	}
251
-
252
-	/**
253
-	 * Get the items sold via the form.
254
-	 *
255
-	 * @since 1.0.19
256
-	 * @param  string $context View or edit context.
257
-	 * @param  string $return objects or arrays.
258
-	 * @return GetPaid_Form_Item[]
259
-	 */
260
-	public function get_items( $context = 'view', $return = 'objects' ) {
261
-		$items = $this->get_prop( 'items', $context );
262
-
263
-		if ( empty( $items ) || ! is_array( $items ) ) {
250
+    }
251
+
252
+    /**
253
+     * Get the items sold via the form.
254
+     *
255
+     * @since 1.0.19
256
+     * @param  string $context View or edit context.
257
+     * @param  string $return objects or arrays.
258
+     * @return GetPaid_Form_Item[]
259
+     */
260
+    public function get_items( $context = 'view', $return = 'objects' ) {
261
+        $items = $this->get_prop( 'items', $context );
262
+
263
+        if ( empty( $items ) || ! is_array( $items ) ) {
264 264
             $items = wpinv_get_data( 'sample-payment-form-items' );
265
-		}
265
+        }
266
+
267
+        // Convert the items.
268
+        $prepared = array();
269
+
270
+        foreach ( $items as $key => $value ) {
271
+
272
+            // Form items.
273
+            if ( $value instanceof GetPaid_Form_Item ) {
274
+
275
+                if ( $value->can_purchase() ) {
276
+                    $prepared[] = $value;
277
+                }
278
+
279
+                continue;
280
+
281
+            }
266 282
 
267
-		// Convert the items.
268
-		$prepared = array();
283
+            // $item_id => $quantity (buy buttons)
284
+            if ( is_numeric( $key ) && is_numeric( $value ) ) {
285
+                $item = new GetPaid_Form_Item( $key );
269 286
 
270
-		foreach ( $items as $key => $value ) {
287
+                if ( $item->can_purchase() ) {
271 288
 
272
-			// Form items.
273
-			if ( $value instanceof GetPaid_Form_Item ) {
289
+                    $value = (float) $value;
290
+                    $item->set_quantity( $value );
291
+                    if ( 0 == $value ) {
292
+                        $item->set_quantity( 1 );
293
+                        $item->set_allow_quantities( true );
294
+                    }
274 295
 
275
-				if ( $value->can_purchase() ) {
276
-					$prepared[] = $value;
277
-				}
296
+                    $prepared[] = $item;
297
+                }
278 298
 
279
-				continue;
299
+                continue;
300
+            }
280 301
 
281
-			}
302
+            // Items saved via payment forms editor.
303
+            if ( is_array( $value ) && isset( $value['id'] ) ) {
282 304
 
283
-			// $item_id => $quantity (buy buttons)
284
-			if ( is_numeric( $key ) && is_numeric( $value ) ) {
285
-				$item = new GetPaid_Form_Item( $key );
305
+                $item = new GetPaid_Form_Item( $value['id'] );
286 306
 
287
-				if ( $item->can_purchase() ) {
307
+                if ( ! $item->can_purchase() ) {
308
+                    continue;
309
+                }
288 310
 
289
-					$value = (float) $value;
290
-					$item->set_quantity( $value );
291
-					if ( 0 == $value ) {
292
-						$item->set_quantity( 1 );
293
-						$item->set_allow_quantities( true );
294
-					}
311
+                // Sub-total (Cart items).
312
+                if ( isset( $value['subtotal'] ) ) {
313
+                    $item->set_price( $value['subtotal'] );
314
+                }
295 315
 
296
-					$prepared[] = $item;
297
-				}
316
+                if ( isset( $value['quantity'] ) ) {
317
+                    $item->set_quantity( $value['quantity'] );
318
+                }
298 319
 
299
-				continue;
300
-			}
320
+                if ( isset( $value['allow_quantities'] ) ) {
321
+                    $item->set_allow_quantities( $value['allow_quantities'] );
322
+                }
301 323
 
302
-			// Items saved via payment forms editor.
303
-			if ( is_array( $value ) && isset( $value['id'] ) ) {
324
+                if ( isset( $value['required'] ) ) {
325
+                    $item->set_is_required( $value['required'] );
326
+                }
304 327
 
305
-				$item = new GetPaid_Form_Item( $value['id'] );
328
+                if ( isset( $value['description'] ) ) {
329
+                    $item->set_custom_description( $value['description'] );
330
+                }
306 331
 
307
-				if ( ! $item->can_purchase() ) {
308
-					continue;
309
-				}
332
+                $prepared[] = $item;
333
+                continue;
310 334
 
311
-				// Sub-total (Cart items).
312
-				if ( isset( $value['subtotal'] ) ) {
313
-					$item->set_price( $value['subtotal'] );
314
-				}
335
+            }
315 336
 
316
-				if ( isset( $value['quantity'] ) ) {
317
-					$item->set_quantity( $value['quantity'] );
318
-				}
337
+            // $item_id => array( 'price' => 10 ) (item variations)
338
+            if ( is_numeric( $key ) && is_array( $value ) ) {
339
+                $item = new GetPaid_Form_Item( $key );
319 340
 
320
-				if ( isset( $value['allow_quantities'] ) ) {
321
-					$item->set_allow_quantities( $value['allow_quantities'] );
322
-				}
341
+                if ( isset( $value['price'] ) && $item->user_can_set_their_price() ) {
342
+                    $item->set_price( $value['price'] );
343
+                }
323 344
 
324
-				if ( isset( $value['required'] ) ) {
325
-					$item->set_is_required( $value['required'] );
326
-				}
345
+                if ( $item->can_purchase() ) {
346
+                    $prepared[] = $item;
347
+                }
327 348
 
328
-				if ( isset( $value['description'] ) ) {
329
-					$item->set_custom_description( $value['description'] );
330
-				}
349
+                continue;
350
+            }
331 351
 
332
-				$prepared[] = $item;
333
-				continue;
352
+        }
353
+
354
+        if ( 'objects' == $return && 'view' == $context ) {
355
+            return $prepared;
356
+        }
357
+
358
+        $items = array();
359
+        foreach ( $prepared as $item ) {
360
+            $items[] = $item->prepare_data_for_use();
361
+        }
362
+
363
+        return $items;
364
+    }
334 365
 
335
-			}
366
+    /**
367
+     * Get a single item belonging to the form.
368
+     *
369
+     * @since 1.0.19
370
+     * @param  int $item_id The item id to return.
371
+     * @return GetPaid_Form_Item|bool
372
+     */
373
+    public function get_item( $item_id ) {
336 374
 
337
-			// $item_id => array( 'price' => 10 ) (item variations)
338
-			if ( is_numeric( $key ) && is_array( $value ) ) {
339
-				$item = new GetPaid_Form_Item( $key );
375
+        if ( empty( $item_id ) || ! is_numeric( $item_id ) ) {
376
+            return false;
377
+        }
340 378
 
341
-				if ( isset( $value['price'] ) && $item->user_can_set_their_price() ) {
342
-					$item->set_price( $value['price'] );
343
-				}
344
-
345
-				if ( $item->can_purchase() ) {
346
-					$prepared[] = $item;
347
-				}
348
-
349
-				continue;
350
-			}
351
-
352
-		}
353
-
354
-		if ( 'objects' == $return && 'view' == $context ) {
355
-			return $prepared;
356
-		}
357
-
358
-		$items = array();
359
-		foreach ( $prepared as $item ) {
360
-			$items[] = $item->prepare_data_for_use();
361
-		}
362
-
363
-		return $items;
364
-	}
365
-
366
-	/**
367
-	 * Get a single item belonging to the form.
368
-	 *
369
-	 * @since 1.0.19
370
-	 * @param  int $item_id The item id to return.
371
-	 * @return GetPaid_Form_Item|bool
372
-	 */
373
-	public function get_item( $item_id ) {
374
-
375
-		if ( empty( $item_id ) || ! is_numeric( $item_id ) ) {
376
-			return false;
377
-		}
378
-
379
-		foreach( $this->get_items() as $item ) {
380
-			if ( $item->get_id() == (int) $item_id ) {
381
-				return $item;
382
-			}
383
-		}
384
-
385
-		return false;
386
-
387
-	}
388
-
389
-	/**
390
-	 * Gets a single element.
391
-	 *
392
-	 * @since 1.0.19
393
-	 * @param  string $element_type The element type to return.
394
-	 * @return array|bool
395
-	 */
396
-	public function get_element_type( $element_type ) {
397
-
398
-		if ( empty( $element_type ) || ! is_scalar( $element_type ) ) {
399
-			return false;
400
-		}
401
-
402
-		foreach ( $this->get_prop( 'elements' ) as $element ) {
403
-
404
-			if ( $element['type'] == $element_type ) {
405
-				return $element;
406
-			}
407
-
408
-		}
409
-
410
-		return false;
411
-
412
-	}
413
-
414
-	/**
415
-	 * Get the total amount earned via this form.
416
-	 *
417
-	 * @since 1.0.19
418
-	 * @param  string $context View or edit context.
419
-	 * @return float
420
-	 */
421
-	public function get_earned( $context = 'view' ) {
422
-		return $this->get_prop( 'earned', $context );
423
-	}
424
-
425
-	/**
426
-	 * Get the total amount refunded via this form.
427
-	 *
428
-	 * @since 1.0.19
429
-	 * @param  string $context View or edit context.
430
-	 * @return float
431
-	 */
432
-	public function get_refunded( $context = 'view' ) {
433
-		return $this->get_prop( 'refunded', $context );
434
-	}
435
-
436
-	/**
437
-	 * Get the total amount cancelled via this form.
438
-	 *
439
-	 * @since 1.0.19
440
-	 * @param  string $context View or edit context.
441
-	 * @return float
442
-	 */
443
-	public function get_cancelled( $context = 'view' ) {
444
-		return $this->get_prop( 'cancelled', $context );
445
-	}
446
-
447
-	/**
448
-	 * Get the total amount failed via this form.
449
-	 *
450
-	 * @since 1.0.19
451
-	 * @param  string $context View or edit context.
452
-	 * @return float
453
-	 */
454
-	public function get_failed( $context = 'view' ) {
455
-		return $this->get_prop( 'failed', $context );
456
-	}
457
-
458
-	/**
459
-	 * Get the currency.
460
-	 *
461
-	 * @since 1.0.19
462
-	 * @param  string $context View or edit context.
463
-	 * @return string
464
-	 */
465
-	public function get_currency() {
466
-		$currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency();
467
-		return apply_filters( 'getpaid-payment-form-currency', $currency, $this );
468
-	}
379
+        foreach( $this->get_items() as $item ) {
380
+            if ( $item->get_id() == (int) $item_id ) {
381
+                return $item;
382
+            }
383
+        }
384
+
385
+        return false;
386
+
387
+    }
388
+
389
+    /**
390
+     * Gets a single element.
391
+     *
392
+     * @since 1.0.19
393
+     * @param  string $element_type The element type to return.
394
+     * @return array|bool
395
+     */
396
+    public function get_element_type( $element_type ) {
397
+
398
+        if ( empty( $element_type ) || ! is_scalar( $element_type ) ) {
399
+            return false;
400
+        }
401
+
402
+        foreach ( $this->get_prop( 'elements' ) as $element ) {
403
+
404
+            if ( $element['type'] == $element_type ) {
405
+                return $element;
406
+            }
407
+
408
+        }
409
+
410
+        return false;
411
+
412
+    }
413
+
414
+    /**
415
+     * Get the total amount earned via this form.
416
+     *
417
+     * @since 1.0.19
418
+     * @param  string $context View or edit context.
419
+     * @return float
420
+     */
421
+    public function get_earned( $context = 'view' ) {
422
+        return $this->get_prop( 'earned', $context );
423
+    }
424
+
425
+    /**
426
+     * Get the total amount refunded via this form.
427
+     *
428
+     * @since 1.0.19
429
+     * @param  string $context View or edit context.
430
+     * @return float
431
+     */
432
+    public function get_refunded( $context = 'view' ) {
433
+        return $this->get_prop( 'refunded', $context );
434
+    }
435
+
436
+    /**
437
+     * Get the total amount cancelled via this form.
438
+     *
439
+     * @since 1.0.19
440
+     * @param  string $context View or edit context.
441
+     * @return float
442
+     */
443
+    public function get_cancelled( $context = 'view' ) {
444
+        return $this->get_prop( 'cancelled', $context );
445
+    }
446
+
447
+    /**
448
+     * Get the total amount failed via this form.
449
+     *
450
+     * @since 1.0.19
451
+     * @param  string $context View or edit context.
452
+     * @return float
453
+     */
454
+    public function get_failed( $context = 'view' ) {
455
+        return $this->get_prop( 'failed', $context );
456
+    }
457
+
458
+    /**
459
+     * Get the currency.
460
+     *
461
+     * @since 1.0.19
462
+     * @param  string $context View or edit context.
463
+     * @return string
464
+     */
465
+    public function get_currency() {
466
+        $currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency();
467
+        return apply_filters( 'getpaid-payment-form-currency', $currency, $this );
468
+    }
469 469
 
470 470
     /*
471 471
 	|--------------------------------------------------------------------------
@@ -478,22 +478,22 @@  discard block
 block discarded – undo
478 478
     */
479 479
 
480 480
     /**
481
-	 * Set plugin version when the item was created.
482
-	 *
483
-	 * @since 1.0.19
484
-	 */
485
-	public function set_version( $value ) {
486
-		$this->set_prop( 'version', $value );
481
+     * Set plugin version when the item was created.
482
+     *
483
+     * @since 1.0.19
484
+     */
485
+    public function set_version( $value ) {
486
+        $this->set_prop( 'version', $value );
487 487
     }
488 488
 
489 489
     /**
490
-	 * Set date when the item was created.
491
-	 *
492
-	 * @since 1.0.19
493
-	 * @param string $value Value to set.
490
+     * Set date when the item was created.
491
+     *
492
+     * @since 1.0.19
493
+     * @param string $value Value to set.
494 494
      * @return bool Whether or not the date was set.
495
-	 */
496
-	public function set_date_created( $value ) {
495
+     */
496
+    public function set_date_created( $value ) {
497 497
         $date = strtotime( $value );
498 498
 
499 499
         if ( $date ) {
@@ -506,13 +506,13 @@  discard block
 block discarded – undo
506 506
     }
507 507
 
508 508
     /**
509
-	 * Set date when the item was last modified.
510
-	 *
511
-	 * @since 1.0.19
512
-	 * @param string $value Value to set.
509
+     * Set date when the item was last modified.
510
+     *
511
+     * @since 1.0.19
512
+     * @param string $value Value to set.
513 513
      * @return bool Whether or not the date was set.
514
-	 */
515
-	public function set_date_modified( $value ) {
514
+     */
515
+    public function set_date_modified( $value ) {
516 516
         $date = strtotime( $value );
517 517
 
518 518
         if ( $date ) {
@@ -525,169 +525,169 @@  discard block
 block discarded – undo
525 525
     }
526 526
 
527 527
     /**
528
-	 * Set the item name.
529
-	 *
530
-	 * @since 1.0.19
531
-	 * @param  string $value New name.
532
-	 */
533
-	public function set_name( $value ) {
534
-		$this->set_prop( 'name', sanitize_text_field( $value ) );
535
-    }
536
-
537
-    /**
538
-	 * Alias of self::set_name().
539
-	 *
540
-	 * @since 1.0.19
541
-	 * @param  string $value New name.
542
-	 */
543
-	public function set_title( $value ) {
544
-		$this->set_name( $value );
545
-    }
546
-
547
-    /**
548
-	 * Set the owner of the item.
549
-	 *
550
-	 * @since 1.0.19
551
-	 * @param  int $value New author.
552
-	 */
553
-	public function set_author( $value ) {
554
-		$this->set_prop( 'author', (int) $value );
555
-	}
556
-
557
-	/**
558
-	 * Set the form elements.
559
-	 *
560
-	 * @since 1.0.19
561
-	 * @sinve 2.3.4 Array values sanitized.
562
-	 * @param  array $value Form elements.
563
-	 */
564
-	public function set_elements( $value ) {
565
-		if ( is_array( $value ) ) {
566
-
567
-			// sanitize
568
-			$value = $this->sanitize_array_values( $value );
569
-
570
-			$this->set_prop( 'elements', $value );
571
-		}
572
-	}
573
-
574
-	/**
575
-	 * Sanitize array values.
576
-	 *
577
-	 * @param $value
578
-	 *
579
-	 * @return mixed
580
-	 */
581
-	public function sanitize_array_values($value){
582
-
583
-		// sanitize
584
-		if(!empty($value )){
585
-
586
-			foreach($value as $key => $val_arr){
587
-
588
-				if(is_array($val_arr)){
589
-					// check if we have sub array items.
590
-					$sub_arr = array();
591
-					foreach($val_arr as $key2 => $val2){
592
-						if(is_array($val2)){
593
-							$sub_arr[$key2] = $this->sanitize_array_values($val2);
594
-							unset($val_arr[$key][$key2]);
595
-						}
596
-					}
597
-
598
-					// we allow some html in description so we sanitize it separately.
599
-					$help_text = !empty($val_arr['description']) ? wp_kses_post($val_arr['description']) : '';
600
-
601
-					// sanitize array elements
602
-					$value[$key] = array_map( 'sanitize_text_field', $val_arr );
603
-
604
-					// add back the description if set
605
-					if(isset($val_arr['description'])){ $value[$key]['description'] = $help_text;}
606
-
607
-					// add back sub array items after its been sanitized.
608
-					if ( ! empty( $sub_arr ) ) {
609
-						$value[$key] = array_merge($value[$key],$sub_arr);
610
-					}
611
-				}
612
-
613
-			}
614
-
615
-		}
616
-
617
-		return $value;
618
-	}
619
-
620
-	/**
621
-	 * Set the form items.
622
-	 *
623
-	 * @since 1.0.19
624
-	 * @param  array $value Form elements.
625
-	 */
626
-	public function set_items( $value ) {
627
-		if ( is_array( $value ) ) {
628
-			$this->set_prop( 'items', $value );
629
-		}
630
-	}
631
-
632
-	/**
633
-	 * Set the total amount earned via this form.
634
-	 *
635
-	 * @since 1.0.19
636
-	 * @param  float $value Amount earned.
637
-	 */
638
-	public function set_earned( $value ) {
639
-		$value = max( (float) $value, 0 );
640
-		$this->set_prop( 'earned', $value );
641
-	}
642
-
643
-	/**
644
-	 * Set the total amount refunded via this form.
645
-	 *
646
-	 * @since 1.0.19
647
-	 * @param  float $value Amount refunded.
648
-	 */
649
-	public function set_refunded( $value ) {
650
-		$value = max( (float) $value, 0 );
651
-		$this->set_prop( 'refunded', $value );
652
-	}
653
-
654
-	/**
655
-	 * Set the total amount cancelled via this form.
656
-	 *
657
-	 * @since 1.0.19
658
-	 * @param  float $value Amount cancelled.
659
-	 */
660
-	public function set_cancelled( $value ) {
661
-		$value = max( (float) $value, 0 );
662
-		$this->set_prop( 'cancelled', $value );
663
-	}
664
-
665
-	/**
666
-	 * Set the total amount failed via this form.
667
-	 *
668
-	 * @since 1.0.19
669
-	 * @param  float $value Amount cancelled.
670
-	 */
671
-	public function set_failed( $value ) {
672
-		$value = max( (float) $value, 0 );
673
-		$this->set_prop( 'failed', $value );
674
-	}
528
+     * Set the item name.
529
+     *
530
+     * @since 1.0.19
531
+     * @param  string $value New name.
532
+     */
533
+    public function set_name( $value ) {
534
+        $this->set_prop( 'name', sanitize_text_field( $value ) );
535
+    }
536
+
537
+    /**
538
+     * Alias of self::set_name().
539
+     *
540
+     * @since 1.0.19
541
+     * @param  string $value New name.
542
+     */
543
+    public function set_title( $value ) {
544
+        $this->set_name( $value );
545
+    }
546
+
547
+    /**
548
+     * Set the owner of the item.
549
+     *
550
+     * @since 1.0.19
551
+     * @param  int $value New author.
552
+     */
553
+    public function set_author( $value ) {
554
+        $this->set_prop( 'author', (int) $value );
555
+    }
556
+
557
+    /**
558
+     * Set the form elements.
559
+     *
560
+     * @since 1.0.19
561
+     * @sinve 2.3.4 Array values sanitized.
562
+     * @param  array $value Form elements.
563
+     */
564
+    public function set_elements( $value ) {
565
+        if ( is_array( $value ) ) {
566
+
567
+            // sanitize
568
+            $value = $this->sanitize_array_values( $value );
569
+
570
+            $this->set_prop( 'elements', $value );
571
+        }
572
+    }
573
+
574
+    /**
575
+     * Sanitize array values.
576
+     *
577
+     * @param $value
578
+     *
579
+     * @return mixed
580
+     */
581
+    public function sanitize_array_values($value){
582
+
583
+        // sanitize
584
+        if(!empty($value )){
585
+
586
+            foreach($value as $key => $val_arr){
587
+
588
+                if(is_array($val_arr)){
589
+                    // check if we have sub array items.
590
+                    $sub_arr = array();
591
+                    foreach($val_arr as $key2 => $val2){
592
+                        if(is_array($val2)){
593
+                            $sub_arr[$key2] = $this->sanitize_array_values($val2);
594
+                            unset($val_arr[$key][$key2]);
595
+                        }
596
+                    }
597
+
598
+                    // we allow some html in description so we sanitize it separately.
599
+                    $help_text = !empty($val_arr['description']) ? wp_kses_post($val_arr['description']) : '';
600
+
601
+                    // sanitize array elements
602
+                    $value[$key] = array_map( 'sanitize_text_field', $val_arr );
603
+
604
+                    // add back the description if set
605
+                    if(isset($val_arr['description'])){ $value[$key]['description'] = $help_text;}
606
+
607
+                    // add back sub array items after its been sanitized.
608
+                    if ( ! empty( $sub_arr ) ) {
609
+                        $value[$key] = array_merge($value[$key],$sub_arr);
610
+                    }
611
+                }
612
+
613
+            }
614
+
615
+        }
616
+
617
+        return $value;
618
+    }
619
+
620
+    /**
621
+     * Set the form items.
622
+     *
623
+     * @since 1.0.19
624
+     * @param  array $value Form elements.
625
+     */
626
+    public function set_items( $value ) {
627
+        if ( is_array( $value ) ) {
628
+            $this->set_prop( 'items', $value );
629
+        }
630
+    }
631
+
632
+    /**
633
+     * Set the total amount earned via this form.
634
+     *
635
+     * @since 1.0.19
636
+     * @param  float $value Amount earned.
637
+     */
638
+    public function set_earned( $value ) {
639
+        $value = max( (float) $value, 0 );
640
+        $this->set_prop( 'earned', $value );
641
+    }
642
+
643
+    /**
644
+     * Set the total amount refunded via this form.
645
+     *
646
+     * @since 1.0.19
647
+     * @param  float $value Amount refunded.
648
+     */
649
+    public function set_refunded( $value ) {
650
+        $value = max( (float) $value, 0 );
651
+        $this->set_prop( 'refunded', $value );
652
+    }
653
+
654
+    /**
655
+     * Set the total amount cancelled via this form.
656
+     *
657
+     * @since 1.0.19
658
+     * @param  float $value Amount cancelled.
659
+     */
660
+    public function set_cancelled( $value ) {
661
+        $value = max( (float) $value, 0 );
662
+        $this->set_prop( 'cancelled', $value );
663
+    }
664
+
665
+    /**
666
+     * Set the total amount failed via this form.
667
+     *
668
+     * @since 1.0.19
669
+     * @param  float $value Amount cancelled.
670
+     */
671
+    public function set_failed( $value ) {
672
+        $value = max( (float) $value, 0 );
673
+        $this->set_prop( 'failed', $value );
674
+    }
675 675
 
676 676
     /**
677 677
      * Create an item. For backwards compatibilty.
678 678
      *
679 679
      * @deprecated
680
-	 * @return int item id
680
+     * @return int item id
681 681
      */
682 682
     public function create( $data = array() ) {
683 683
 
684
-		// Set the properties.
685
-		if ( is_array( $data ) ) {
686
-			$this->set_props( $data );
687
-		}
684
+        // Set the properties.
685
+        if ( is_array( $data ) ) {
686
+            $this->set_props( $data );
687
+        }
688 688
 
689
-		// Save the item.
690
-		return $this->save();
689
+        // Save the item.
690
+        return $this->save();
691 691
 
692 692
     }
693 693
 
@@ -695,7 +695,7 @@  discard block
 block discarded – undo
695 695
      * Updates an item. For backwards compatibilty.
696 696
      *
697 697
      * @deprecated
698
-	 * @return int item id
698
+     * @return int item id
699 699
      */
700 700
     public function update( $data = array() ) {
701 701
         return $this->create( $data );
@@ -711,22 +711,22 @@  discard block
 block discarded – undo
711 711
 	*/
712 712
 
713 713
     /**
714
-	 * Checks whether this is the default payment form.
715
-	 *
716
-	 * @since 1.0.19
717
-	 * @return bool
718
-	 */
714
+     * Checks whether this is the default payment form.
715
+     *
716
+     * @since 1.0.19
717
+     * @return bool
718
+     */
719 719
     public function is_default() {
720 720
         $is_default = $this->get_id() == wpinv_get_default_payment_form();
721 721
         return (bool) apply_filters( 'wpinv_is_default_payment_form', $is_default, $this->get_id(), $this );
722
-	}
722
+    }
723 723
 
724 724
     /**
725
-	 * Checks whether the form is active.
726
-	 *
727
-	 * @since 1.0.19
728
-	 * @return bool
729
-	 */
725
+     * Checks whether the form is active.
726
+     *
727
+     * @since 1.0.19
728
+     * @return bool
729
+     */
730 730
     public function is_active() {
731 731
         $is_active = 0 !== (int) $this->get_id();
732 732
 
@@ -735,76 +735,76 @@  discard block
 block discarded – undo
735 735
         }
736 736
 
737 737
         return (bool) apply_filters( 'wpinv_is_payment_form_active', $is_active, $this );
738
-	}
739
-
740
-	/**
741
-	 * Checks whether the form has a given item.
742
-	 *
743
-	 * @since 1.0.19
744
-	 * @return bool
745
-	 */
738
+    }
739
+
740
+    /**
741
+     * Checks whether the form has a given item.
742
+     *
743
+     * @since 1.0.19
744
+     * @return bool
745
+     */
746 746
     public function has_item( $item_id ) {
747 747
         return false !== $this->get_item( $item_id );
748
-	}
749
-
750
-	/**
751
-	 * Checks whether the form has a given element.
752
-	 *
753
-	 * @since 1.0.19
754
-	 * @return bool
755
-	 */
748
+    }
749
+
750
+    /**
751
+     * Checks whether the form has a given element.
752
+     *
753
+     * @since 1.0.19
754
+     * @return bool
755
+     */
756 756
     public function has_element_type( $element_type ) {
757 757
         return false !== $this->get_element_type( $element_type );
758
-	}
759
-
760
-	/**
761
-	 * Checks whether this form is recurring or not.
762
-	 *
763
-	 * @since 1.0.19
764
-	 * @return bool
765
-	 */
758
+    }
759
+
760
+    /**
761
+     * Checks whether this form is recurring or not.
762
+     *
763
+     * @since 1.0.19
764
+     * @return bool
765
+     */
766 766
     public function is_recurring() {
767 767
 
768
-		if ( ! empty( $this->invoice ) ) {
769
-			return $this->invoice->is_recurring();
770
-		}
768
+        if ( ! empty( $this->invoice ) ) {
769
+            return $this->invoice->is_recurring();
770
+        }
771 771
 
772
-		foreach ( $this->get_items() as $item ) {
772
+        foreach ( $this->get_items() as $item ) {
773 773
 
774
-			if ( $item->is_recurring() ) {
775
-				return true;
776
-			}
774
+            if ( $item->is_recurring() ) {
775
+                return true;
776
+            }
777 777
 
778
-		}
778
+        }
779 779
 
780 780
         return false;
781
-	}
781
+    }
782 782
 
783
-	/**
784
-	 * Retrieves the form's html.
785
-	 *
786
-	 * @since 1.0.19
787
-	 */
783
+    /**
784
+     * Retrieves the form's html.
785
+     *
786
+     * @since 1.0.19
787
+     */
788 788
     public function get_html( $extra_markup = '' ) {
789 789
 
790
-		// Return the HTML.
791
-		return wpinv_get_template_html(
792
-			'payment-forms/form.php',
793
-			array(
794
-				'form'         => $this,
795
-				'extra_markup' => $extra_markup,
796
-			)
797
-		);
798
-
799
-	}
800
-
801
-	/**
802
-	 * Displays the payment form.
803
-	 *
804
-	 * @since 1.0.19
805
-	 */
790
+        // Return the HTML.
791
+        return wpinv_get_template_html(
792
+            'payment-forms/form.php',
793
+            array(
794
+                'form'         => $this,
795
+                'extra_markup' => $extra_markup,
796
+            )
797
+        );
798
+
799
+    }
800
+
801
+    /**
802
+     * Displays the payment form.
803
+     *
804
+     * @since 1.0.19
805
+     */
806 806
     public function display( $extra_markup = '' ) {
807
-		echo $this->get_html( $extra_markup );
807
+        echo $this->get_html( $extra_markup );
808 808
     }
809 809
 
810 810
 }
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission-fees.php 1 patch
Indentation   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -12,114 +12,114 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Fees {
14 14
 
15
-	/**
16
-	 * The fee validation error.
17
-	 * @var string
18
-	 */
19
-	public $fee_error;
20
-
21
-	/**
22
-	 * Submission fees.
23
-	 * @var array
24
-	 */
25
-	public $fees = array();
15
+    /**
16
+     * The fee validation error.
17
+     * @var string
18
+     */
19
+    public $fee_error;
20
+
21
+    /**
22
+     * Submission fees.
23
+     * @var array
24
+     */
25
+    public $fees = array();
26
+
27
+    /**
28
+     * Class constructor
29
+     *
30
+     * @param GetPaid_Payment_Form_Submission $submission
31
+     */
32
+    public function __construct( $submission ) {
33
+
34
+        // Process any existing invoice fees.
35
+        if ( $submission->has_invoice() ) {
36
+            $this->fees = $submission->get_invoice()->get_fees();
37
+        }
38
+
39
+        // Process price fields.
40
+        $data         = $submission->get_data();
41
+        $payment_form = $submission->get_payment_form();
42
+
43
+        foreach ( $payment_form->get_elements() as $element ) {
44
+
45
+            if ( 'price_input' == $element['type'] ) {
46
+                $this->process_price_input( $element, $data, $submission );
47
+            }
48
+
49
+            if ( 'price_select' == $element['type'] ) {
50
+                $this->process_price_select( $element, $data );
51
+            }
52
+
53
+        }
54
+
55
+    }
56
+
57
+    /**
58
+     * Process a price input field.
59
+     *
60
+     * @param array $element
61
+     * @param array $data
62
+     * @param GetPaid_Payment_Form_Submission $submission
63
+     */
64
+    public function process_price_input( $element, $data, $submission ) {
65
+
66
+        // Abort if not passed.
67
+        if ( empty( $data[ $element['id'] ] ) ) {
68
+            return;
69
+        }
70
+
71
+        $amount  = (float) wpinv_sanitize_amount( $data[ $element['id'] ] );
72
+        $minimum = empty( $element['minimum'] ) ? 0 : (float) wpinv_sanitize_amount( $element['minimum'] );
73
+
74
+        if ( $amount < $minimum ) {
75
+            throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), wpinv_price( $minimum, $submission->get_currency() ) ) );
76
+        }
77
+
78
+        $this->fees[ $element['label'] ] = array(
79
+            'name'          => $element['label'],
80
+            'initial_fee'   => $amount,
81
+            'recurring_fee' => 0,
82
+        );
83
+
84
+    }
26 85
 
27 86
     /**
28
-	 * Class constructor
29
-	 *
30
-	 * @param GetPaid_Payment_Form_Submission $submission
31
-	 */
32
-	public function __construct( $submission ) {
33
-
34
-		// Process any existing invoice fees.
35
-		if ( $submission->has_invoice() ) {
36
-			$this->fees = $submission->get_invoice()->get_fees();
37
-		}
38
-
39
-		// Process price fields.
40
-		$data         = $submission->get_data();
41
-		$payment_form = $submission->get_payment_form();
42
-
43
-		foreach ( $payment_form->get_elements() as $element ) {
44
-
45
-			if ( 'price_input' == $element['type'] ) {
46
-				$this->process_price_input( $element, $data, $submission );
47
-			}
48
-
49
-			if ( 'price_select' == $element['type'] ) {
50
-				$this->process_price_select( $element, $data );
51
-			}
52
-
53
-		}
54
-
55
-	}
56
-
57
-	/**
58
-	 * Process a price input field.
59
-	 *
60
-	 * @param array $element
61
-	 * @param array $data
62
-	 * @param GetPaid_Payment_Form_Submission $submission
63
-	 */
64
-	public function process_price_input( $element, $data, $submission ) {
65
-
66
-		// Abort if not passed.
67
-		if ( empty( $data[ $element['id'] ] ) ) {
68
-			return;
69
-		}
70
-
71
-		$amount  = (float) wpinv_sanitize_amount( $data[ $element['id'] ] );
72
-		$minimum = empty( $element['minimum'] ) ? 0 : (float) wpinv_sanitize_amount( $element['minimum'] );
73
-
74
-		if ( $amount < $minimum ) {
75
-			throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), wpinv_price( $minimum, $submission->get_currency() ) ) );
76
-		}
77
-
78
-		$this->fees[ $element['label'] ] = array(
79
-			'name'          => $element['label'],
80
-			'initial_fee'   => $amount,
81
-			'recurring_fee' => 0,
82
-		);
83
-
84
-	}
85
-
86
-	/**
87
-	 * Process a price select field.
88
-	 *
89
-	 * @param array $element
90
-	 * @param array $data
91
-	 */
92
-	public function process_price_select( $element, $data ) {
93
-
94
-		// Abort if not passed.
95
-		if ( empty( $data[ $element['id'] ] ) ) {
96
-			return;
97
-		}
98
-
99
-		$options    = getpaid_convert_price_string_to_options( $element['options'] );
100
-		$selected   = array_filter( array_map( 'trim', explode( ',', $data[ $element['id'] ] ) ) );
101
-		$total      = 0;
102
-		$sub_labels = array();
103
-
104
-		foreach ( $selected as $price ) {
105
-
106
-			if ( ! isset( $options[ $price ] ) ) {
107
-				throw new Exception( __( 'You have selected an invalid amount', 'invoicing' ) );
108
-			}
109
-
110
-			$price = explode( '|', $price );
111
-
112
-			$sub_labels[] = $price[0];
113
-			$total += (float) wpinv_sanitize_amount( $price[1] );
114
-		}
115
-
116
-		$this->fees[ $element['label'] ] = array(
117
-			'name'          => $element['label'],
118
-			'initial_fee'   => $total,
119
-			'recurring_fee' => 0,
120
-			'description'   => implode( ', ', $sub_labels ),
121
-		);
122
-
123
-	}
87
+     * Process a price select field.
88
+     *
89
+     * @param array $element
90
+     * @param array $data
91
+     */
92
+    public function process_price_select( $element, $data ) {
93
+
94
+        // Abort if not passed.
95
+        if ( empty( $data[ $element['id'] ] ) ) {
96
+            return;
97
+        }
98
+
99
+        $options    = getpaid_convert_price_string_to_options( $element['options'] );
100
+        $selected   = array_filter( array_map( 'trim', explode( ',', $data[ $element['id'] ] ) ) );
101
+        $total      = 0;
102
+        $sub_labels = array();
103
+
104
+        foreach ( $selected as $price ) {
105
+
106
+            if ( ! isset( $options[ $price ] ) ) {
107
+                throw new Exception( __( 'You have selected an invalid amount', 'invoicing' ) );
108
+            }
109
+
110
+            $price = explode( '|', $price );
111
+
112
+            $sub_labels[] = $price[0];
113
+            $total += (float) wpinv_sanitize_amount( $price[1] );
114
+        }
115
+
116
+        $this->fees[ $element['label'] ] = array(
117
+            'name'          => $element['label'],
118
+            'initial_fee'   => $total,
119
+            'recurring_fee' => 0,
120
+            'description'   => implode( ', ', $sub_labels ),
121
+        );
122
+
123
+    }
124 124
 
125 125
 }
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-authorize-net-gateway.php 1 patch
Indentation   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -13,58 +13,58 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'authorizenet';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 4;
35 35
 
36 36
     /**
37
-	 * Endpoint for requests from Authorize.net.
38
-	 *
39
-	 * @var string
40
-	 */
41
-	protected $notify_url;
42
-
43
-	/**
44
-	 * Endpoint for requests to Authorize.net.
45
-	 *
46
-	 * @var string
47
-	 */
37
+     * Endpoint for requests from Authorize.net.
38
+     *
39
+     * @var string
40
+     */
41
+    protected $notify_url;
42
+
43
+    /**
44
+     * Endpoint for requests to Authorize.net.
45
+     *
46
+     * @var string
47
+     */
48 48
     protected $endpoint;
49 49
 
50 50
     /**
51
-	 * Currencies this gateway is allowed for.
52
-	 *
53
-	 * @var array
54
-	 */
55
-	public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
51
+     * Currencies this gateway is allowed for.
52
+     *
53
+     * @var array
54
+     */
55
+    public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' );
56 56
 
57 57
     /**
58
-	 * URL to view a transaction.
59
-	 *
60
-	 * @var string
61
-	 */
58
+     * URL to view a transaction.
59
+     *
60
+     * @var string
61
+     */
62 62
     public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s';
63 63
 
64 64
     /**
65
-	 * Class constructor.
66
-	 */
67
-	public function __construct() {
65
+     * Class constructor.
66
+     */
67
+    public function __construct() {
68 68
 
69 69
         $this->title                = __( 'Credit Card / Debit Card', 'invoicing' );
70 70
         $this->method_title         = __( 'Authorize.Net', 'invoicing' );
@@ -76,11 +76,11 @@  discard block
 block discarded – undo
76 76
     }
77 77
 
78 78
     /**
79
-	 * Displays the payment method select field.
80
-	 *
81
-	 * @param int $invoice_id 0 or invoice id.
82
-	 * @param GetPaid_Payment_Form $form Current payment form.
83
-	 */
79
+     * Displays the payment method select field.
80
+     *
81
+     * @param int $invoice_id 0 or invoice id.
82
+     * @param GetPaid_Payment_Form $form Current payment form.
83
+     */
84 84
     public function payment_fields( $invoice_id, $form ) {
85 85
 
86 86
         // Let the user select a payment method.
@@ -91,16 +91,16 @@  discard block
 block discarded – undo
91 91
     }
92 92
 
93 93
     /**
94
-	 * Creates a customer profile.
95
-	 *
96
-	 *
97
-	 * @param WPInv_Invoice $invoice Invoice.
94
+     * Creates a customer profile.
95
+     *
96
+     *
97
+     * @param WPInv_Invoice $invoice Invoice.
98 98
      * @param array $submission_data Posted checkout fields.
99 99
      * @param bool $save Whether or not to save the payment as a token.
100 100
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
101
-	 * @return string|WP_Error Payment profile id.
102
-	 */
103
-	public function create_customer_profile( $invoice, $submission_data, $save = true ) {
101
+     * @return string|WP_Error Payment profile id.
102
+     */
103
+    public function create_customer_profile( $invoice, $submission_data, $save = true ) {
104 104
 
105 105
         // Remove non-digits from the number
106 106
         $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -175,14 +175,14 @@  discard block
 block discarded – undo
175 175
     }
176 176
 
177 177
     /**
178
-	 * Retrieves a customer profile.
179
-	 *
180
-	 *
181
-	 * @param string $profile_id profile id.
182
-	 * @return string|WP_Error Profile id.
178
+     * Retrieves a customer profile.
179
+     *
180
+     *
181
+     * @param string $profile_id profile id.
182
+     * @return string|WP_Error Profile id.
183 183
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile
184
-	 */
185
-	public function get_customer_profile( $profile_id ) {
184
+     */
185
+    public function get_customer_profile( $profile_id ) {
186 186
 
187 187
         // Generate args.
188 188
         $args = array(
@@ -197,17 +197,17 @@  discard block
 block discarded – undo
197 197
     }
198 198
 
199 199
     /**
200
-	 * Creates a customer profile.
201
-	 *
202
-	 *
200
+     * Creates a customer profile.
201
+     *
202
+     *
203 203
      * @param string $profile_id profile id.
204
-	 * @param WPInv_Invoice $invoice Invoice.
204
+     * @param WPInv_Invoice $invoice Invoice.
205 205
      * @param array $submission_data Posted checkout fields.
206 206
      * @param bool $save Whether or not to save the payment as a token.
207 207
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile
208
-	 * @return string|WP_Error Profile id.
209
-	 */
210
-	public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
208
+     * @return string|WP_Error Profile id.
209
+     */
210
+    public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) {
211 211
 
212 212
         // Remove non-digits from the number
213 213
         $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] );
@@ -282,13 +282,13 @@  discard block
 block discarded – undo
282 282
     }
283 283
 
284 284
     /**
285
-	 * Retrieves payment details from cache.
286
-	 *
287
-	 *
285
+     * Retrieves payment details from cache.
286
+     *
287
+     *
288 288
      * @param array $payment_details.
289
-	 * @return array|false Profile id.
290
-	 */
291
-	public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
289
+     * @return array|false Profile id.
290
+     */
291
+    public function retrieve_payment_profile_from_cache( $payment_details, $customer_profile, $invoice ) {
292 292
 
293 293
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
294 294
         $payment_details    = hash_hmac( 'sha256', json_encode( $payment_details ), SECURE_AUTH_KEY );
@@ -313,13 +313,13 @@  discard block
 block discarded – undo
313 313
     }
314 314
 
315 315
     /**
316
-	 * Securely adds payment details to cache.
317
-	 *
318
-	 *
316
+     * Securely adds payment details to cache.
317
+     *
318
+     *
319 319
      * @param array $payment_details.
320 320
      * @param string $payment_profile_id.
321
-	 */
322
-	public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
321
+     */
322
+    public function add_payment_profile_to_cache( $payment_details, $payment_profile_id ) {
323 323
 
324 324
         $cached_information = get_option( 'getpaid_authorize_net_cached_profiles', array() );
325 325
         $cached_information = is_array( $cached_information ) ? $cached_information : array();
@@ -331,15 +331,15 @@  discard block
 block discarded – undo
331 331
     }
332 332
 
333 333
     /**
334
-	 * Retrieves a customer payment profile.
335
-	 *
336
-	 *
337
-	 * @param string $customer_profile_id customer profile id.
334
+     * Retrieves a customer payment profile.
335
+     *
336
+     *
337
+     * @param string $customer_profile_id customer profile id.
338 338
      * @param string $payment_profile_id payment profile id.
339
-	 * @return string|WP_Error Profile id.
339
+     * @return string|WP_Error Profile id.
340 340
      * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile
341
-	 */
342
-	public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
341
+     */
342
+    public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) {
343 343
 
344 344
         // Generate args.
345 345
         $args = array(
@@ -355,15 +355,15 @@  discard block
 block discarded – undo
355 355
     }
356 356
 
357 357
     /**
358
-	 * Charges a customer payment profile.
359
-	 *
358
+     * Charges a customer payment profile.
359
+     *
360 360
      * @param string $customer_profile_id customer profile id.
361 361
      * @param string $payment_profile_id payment profile id.
362
-	 * @param WPInv_Invoice $invoice Invoice.
362
+     * @param WPInv_Invoice $invoice Invoice.
363 363
      * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile
364
-	 * @return WP_Error|object
365
-	 */
366
-	public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
364
+     * @return WP_Error|object
365
+     */
366
+    public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) {
367 367
 
368 368
         // Generate args.
369 369
         $args = array(
@@ -409,41 +409,41 @@  discard block
 block discarded – undo
409 409
     }
410 410
 
411 411
     /**
412
-	 * Processes a customer charge.
413
-	 *
412
+     * Processes a customer charge.
413
+     *
414 414
      * @param stdClass $result Api response.
415
-	 * @param WPInv_Invoice $invoice Invoice.
416
-	 */
417
-	public function process_charge_response( $result, $invoice ) {
415
+     * @param WPInv_Invoice $invoice Invoice.
416
+     */
417
+    public function process_charge_response( $result, $invoice ) {
418 418
 
419 419
         wpinv_clear_errors();
420
-		$response_code = (int) $result->transactionResponse->responseCode;
420
+        $response_code = (int) $result->transactionResponse->responseCode;
421 421
 
422
-		// Succeeded.
423
-		if ( 1 == $response_code || 4 == $response_code ) {
422
+        // Succeeded.
423
+        if ( 1 == $response_code || 4 == $response_code ) {
424 424
 
425
-			// Maybe set a transaction id.
426
-			if ( ! empty( $result->transactionResponse->transId ) ) {
427
-				$invoice->set_transaction_id( $result->transactionResponse->transId );
428
-			}
425
+            // Maybe set a transaction id.
426
+            if ( ! empty( $result->transactionResponse->transId ) ) {
427
+                $invoice->set_transaction_id( $result->transactionResponse->transId );
428
+            }
429 429
 
430
-			$invoice->add_note( sprintf( __( 'Authentication code: %s (%s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
430
+            $invoice->add_note( sprintf( __( 'Authentication code: %s (%s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true );
431 431
 
432
-			if ( 1 == $response_code ) {
433
-				return $invoice->mark_paid();
434
-			}
432
+            if ( 1 == $response_code ) {
433
+                return $invoice->mark_paid();
434
+            }
435 435
 
436
-			$invoice->set_status( 'wpi-onhold' );
437
-        	$invoice->add_note(
436
+            $invoice->set_status( 'wpi-onhold' );
437
+            $invoice->add_note(
438 438
                 sprintf(
439 439
                     __( 'Held for review: %s', 'invoicing' ),
440 440
                     $result->transactionResponse->messages->message[0]->description
441 441
                 )
442
-			);
442
+            );
443 443
 
444
-			return $invoice->save();
444
+            return $invoice->save();
445 445
 
446
-		}
446
+        }
447 447
 
448 448
         wpinv_set_error( 'card_declined', __( 'Credit card declined.', 'invoicing' ) );
449 449
 
@@ -455,13 +455,13 @@  discard block
 block discarded – undo
455 455
     }
456 456
 
457 457
     /**
458
-	 * Returns payment information.
459
-	 *
460
-	 *
461
-	 * @param array $card Card details.
462
-	 * @return array
463
-	 */
464
-	public function get_payment_information( $card ) {
458
+     * Returns payment information.
459
+     *
460
+     *
461
+     * @param array $card Card details.
462
+     * @return array
463
+     */
464
+    public function get_payment_information( $card ) {
465 465
         return array(
466 466
 
467 467
             'creditCard'         => array (
@@ -474,25 +474,25 @@  discard block
 block discarded – undo
474 474
     }
475 475
 
476 476
     /**
477
-	 * Returns the customer profile meta name.
478
-	 *
479
-	 *
480
-	 * @param WPInv_Invoice $invoice Invoice.
481
-	 * @return string
482
-	 */
483
-	public function get_customer_profile_meta_name( $invoice ) {
477
+     * Returns the customer profile meta name.
478
+     *
479
+     *
480
+     * @param WPInv_Invoice $invoice Invoice.
481
+     * @return string
482
+     */
483
+    public function get_customer_profile_meta_name( $invoice ) {
484 484
         return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id';
485 485
     }
486 486
 
487 487
     /**
488
-	 * Validates the submitted data.
489
-	 *
490
-	 *
491
-	 * @param array $submission_data Posted checkout fields.
488
+     * Validates the submitted data.
489
+     *
490
+     *
491
+     * @param array $submission_data Posted checkout fields.
492 492
      * @param WPInv_Invoice $invoice
493
-	 * @return WP_Error|string The payment profile id
494
-	 */
495
-	public function validate_submission_data( $submission_data, $invoice ) {
493
+     * @return WP_Error|string The payment profile id
494
+     */
495
+    public function validate_submission_data( $submission_data, $invoice ) {
496 496
 
497 497
         // Validate authentication details.
498 498
         $auth = $this->get_auth_params();
@@ -524,13 +524,13 @@  discard block
 block discarded – undo
524 524
     }
525 525
 
526 526
     /**
527
-	 * Returns invoice line items.
528
-	 *
529
-	 *
530
-	 * @param WPInv_Invoice $invoice Invoice.
531
-	 * @return array
532
-	 */
533
-	public function get_line_items( $invoice ) {
527
+     * Returns invoice line items.
528
+     *
529
+     *
530
+     * @param WPInv_Invoice $invoice Invoice.
531
+     * @return array
532
+     */
533
+    public function get_line_items( $invoice ) {
534 534
         $items = array();
535 535
 
536 536
         foreach ( $invoice->get_items() as $item ) {
@@ -568,15 +568,15 @@  discard block
 block discarded – undo
568 568
     }
569 569
 
570 570
     /**
571
-	 * Process Payment.
572
-	 *
573
-	 *
574
-	 * @param WPInv_Invoice $invoice Invoice.
575
-	 * @param array $submission_data Posted checkout fields.
576
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
577
-	 * @return array
578
-	 */
579
-	public function process_payment( $invoice, $submission_data, $submission ) {
571
+     * Process Payment.
572
+     *
573
+     *
574
+     * @param WPInv_Invoice $invoice Invoice.
575
+     * @param array $submission_data Posted checkout fields.
576
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
577
+     * @return array
578
+     */
579
+    public function process_payment( $invoice, $submission_data, $submission ) {
580 580
 
581 581
         // Validate the submitted data.
582 582
         $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice );
@@ -609,45 +609,45 @@  discard block
 block discarded – undo
609 609
 
610 610
         exit;
611 611
 
612
-	}
612
+    }
613 613
 	
614
-	/**
615
-	 * Processes the initial payment.
616
-	 *
614
+    /**
615
+     * Processes the initial payment.
616
+     *
617 617
      * @param WPInv_Invoice $invoice Invoice.
618
-	 */
619
-	protected function process_initial_payment( $invoice ) {
618
+     */
619
+    protected function process_initial_payment( $invoice ) {
620 620
 
621
-		$payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
621
+        $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
622 622
         $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
623
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
623
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
624 624
 
625
-		// Do we have an error?
626
-		if ( is_wp_error( $result ) ) {
627
-			wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
628
-			wpinv_send_back_to_checkout( $invoice );
629
-		}
625
+        // Do we have an error?
626
+        if ( is_wp_error( $result ) ) {
627
+            wpinv_set_error( $result->get_error_code(), $result->get_error_message() );
628
+            wpinv_send_back_to_checkout( $invoice );
629
+        }
630 630
 
631
-		// Process the response.
632
-		$this->process_charge_response( $result, $invoice );
631
+        // Process the response.
632
+        $this->process_charge_response( $result, $invoice );
633 633
 
634
-		if ( wpinv_get_errors() ) {
635
-			wpinv_send_back_to_checkout( $invoice );
636
-		}
634
+        if ( wpinv_get_errors() ) {
635
+            wpinv_send_back_to_checkout( $invoice );
636
+        }
637 637
 
638
-	}
638
+    }
639 639
 
640 640
     /**
641
-	 * Processes recurring payments.
642
-	 *
641
+     * Processes recurring payments.
642
+     *
643 643
      * @param WPInv_Invoice $invoice Invoice.
644 644
      * @param WPInv_Subscription[]|WPInv_Subscription $subscriptions Subscriptions.
645
-	 */
646
-	public function process_subscription( $invoice, $subscriptions ) {
645
+     */
646
+    public function process_subscription( $invoice, $subscriptions ) {
647 647
 
648 648
         // Check if there is an initial amount to charge.
649 649
         if ( (float) $invoice->get_total() > 0 ) {
650
-			$this->process_initial_payment( $invoice );
650
+            $this->process_initial_payment( $invoice );
651 651
         }
652 652
 
653 653
         // Activate the subscriptions.
@@ -665,36 +665,36 @@  discard block
 block discarded – undo
665 665
             }
666 666
         }
667 667
 
668
-		// Redirect to the success page.
668
+        // Redirect to the success page.
669 669
         wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) );
670 670
 
671 671
     }
672 672
 
673
-	/**
674
-	 * (Maybe) renews an authorize.net subscription profile.
675
-	 *
676
-	 *
673
+    /**
674
+     * (Maybe) renews an authorize.net subscription profile.
675
+     *
676
+     *
677 677
      * @param WPInv_Subscription $subscription
678
-	 */
679
-	public function maybe_renew_subscription( $subscription ) {
678
+     */
679
+    public function maybe_renew_subscription( $subscription ) {
680 680
 
681 681
         // Ensure its our subscription && it's active.
682 682
         if ( $this->id == $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
683 683
             $this->renew_subscription( $subscription );
684 684
         }
685 685
 
686
-	}
686
+    }
687 687
 
688 688
     /**
689
-	 * Renews a subscription.
690
-	 *
689
+     * Renews a subscription.
690
+     *
691 691
      * @param WPInv_Subscription $subscription
692
-	 */
693
-	public function renew_subscription( $subscription ) {
692
+     */
693
+    public function renew_subscription( $subscription ) {
694 694
 
695
-		// Generate the renewal invoice.
696
-		$new_invoice = $subscription->create_payment();
697
-		$old_invoice = $subscription->get_parent_payment();
695
+        // Generate the renewal invoice.
696
+        $new_invoice = $subscription->create_payment();
697
+        $old_invoice = $subscription->get_parent_payment();
698 698
 
699 699
         if ( empty( $new_invoice ) ) {
700 700
             $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false );
@@ -703,37 +703,37 @@  discard block
 block discarded – undo
703 703
         }
704 704
 
705 705
         // Charge the payment method.
706
-		$payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
707
-		$customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
708
-		$result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
709
-
710
-		// Do we have an error?
711
-		if ( is_wp_error( $result ) ) {
712
-
713
-			$old_invoice->add_note(
714
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
715
-				true,
716
-				false,
717
-				true
718
-			);
719
-			$subscription->failing();
720
-			return;
721
-
722
-		}
723
-
724
-		// Process the response.
725
-		$this->process_charge_response( $result, $new_invoice );
726
-
727
-		if ( wpinv_get_errors() ) {
728
-
729
-			$old_invoice->add_note(
730
-				sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
731
-				true,
732
-				false,
733
-				true
734
-			);
735
-			$subscription->failing();
736
-			return;
706
+        $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
707
+        $customer_profile   = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true );
708
+        $result             = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice );
709
+
710
+        // Do we have an error?
711
+        if ( is_wp_error( $result ) ) {
712
+
713
+            $old_invoice->add_note(
714
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ),
715
+                true,
716
+                false,
717
+                true
718
+            );
719
+            $subscription->failing();
720
+            return;
721
+
722
+        }
723
+
724
+        // Process the response.
725
+        $this->process_charge_response( $result, $new_invoice );
726
+
727
+        if ( wpinv_get_errors() ) {
728
+
729
+            $old_invoice->add_note(
730
+                sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ),
731
+                true,
732
+                false,
733
+                true
734
+            );
735
+            $subscription->failing();
736
+            return;
737 737
 
738 738
         }
739 739
 
@@ -742,13 +742,13 @@  discard block
 block discarded – undo
742 742
     }
743 743
 
744 744
     /**
745
-	 * Processes invoice addons.
746
-	 *
747
-	 * @param WPInv_Invoice $invoice
748
-	 * @param GetPaid_Form_Item[] $items
749
-	 * @return WPInv_Invoice
750
-	 */
751
-	public function process_addons( $invoice, $items ) {
745
+     * Processes invoice addons.
746
+     *
747
+     * @param WPInv_Invoice $invoice
748
+     * @param GetPaid_Form_Item[] $items
749
+     * @return WPInv_Invoice
750
+     */
751
+    public function process_addons( $invoice, $items ) {
752 752
 
753 753
         global $getpaid_authorize_addons;
754 754
 
@@ -768,7 +768,7 @@  discard block
 block discarded – undo
768 768
         $invoice->recalculate_total();
769 769
 
770 770
         $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true );
771
-		$customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
771
+        $customer_profile   = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true );
772 772
 
773 773
         add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 );
774 774
         $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice );
@@ -783,11 +783,11 @@  discard block
 block discarded – undo
783 783
     }
784 784
 
785 785
     /**
786
-	 * Processes invoice addons.
787
-	 *
786
+     * Processes invoice addons.
787
+     *
788 788
      * @param array $args
789
-	 * @return array
790
-	 */
789
+     * @return array
790
+     */
791 791
     public function filter_addons_request( $args ) {
792 792
 
793 793
         global $getpaid_authorize_addons;
@@ -821,11 +821,11 @@  discard block
 block discarded – undo
821 821
     }
822 822
 
823 823
     /**
824
-	 * Filters the gateway settings.
825
-	 *
826
-	 * @param array $admin_settings
827
-	 */
828
-	public function admin_settings( $admin_settings ) {
824
+     * Filters the gateway settings.
825
+     *
826
+     * @param array $admin_settings
827
+     */
828
+    public function admin_settings( $admin_settings ) {
829 829
 
830 830
         $currencies = sprintf(
831 831
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -865,7 +865,7 @@  discard block
 block discarded – undo
865 865
             'readonly' => true,
866 866
         );
867 867
 
868
-		return $admin_settings;
869
-	}
868
+        return $admin_settings;
869
+    }
870 870
 
871 871
 }
Please login to merge, or discard this patch.
includes/geolocation/class-getpaid-maxmind-geolocation.php 1 patch
Indentation   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -16,165 +16,165 @@
 block discarded – undo
16 16
  */
17 17
 class GetPaid_MaxMind_Geolocation {
18 18
 
19
-	/**
20
-	 * The service responsible for interacting with the MaxMind database.
21
-	 *
22
-	 * @var GetPaid_MaxMind_Database_Service
23
-	 */
24
-	private $database_service;
25
-
26
-	/**
27
-	 * Initialize the integration.
28
-	 */
29
-	public function __construct() {
30
-
31
-		/**
32
-		 * Supports overriding the database service to be used.
33
-		 *
34
-		 * @since 1.0.19
35
-		 * @return mixed|null The geolocation database service.
36
-		 */
37
-		$this->database_service = apply_filters( 'getpaid_maxmind_geolocation_database_service', null );
38
-		if ( null === $this->database_service ) {
39
-			$this->database_service = new GetPaid_MaxMind_Database_Service( $this->get_database_prefix() );
40
-		}
41
-
42
-		// Bind to the scheduled updater action.
43
-		add_action( 'getpaid_update_geoip_databases', array( $this, 'update_database' ) );
44
-
45
-		// Bind to the geolocation filter for MaxMind database lookups.
46
-		add_filter( 'getpaid_get_geolocation', array( $this, 'get_geolocation' ), 10, 2 );
47
-
48
-		// Handle maxmind key updates.
49
-		add_filter( 'wpinv_settings_sanitize_maxmind_license_key', array( $this, 'handle_key_updates' ) );
50
-
51
-	}
52
-
53
-	/**
54
-	 * Get database service.
55
-	 *
56
-	 * @return GetPaid_MaxMind_Database_Service|null
57
-	 */
58
-	public function get_database_service() {
59
-		return $this->database_service;
60
-	}
61
-
62
-	/**
63
-	 * Checks to make sure that the license key is valid.
64
-	 *
65
-	 * @param string $license_key The new license key.
66
-	 * @return string
67
-	 */
68
-	public function handle_key_updates( $license_key ) {
69
-
70
-		// Trim whitespaces and strip slashes.
71
-		$license_key = trim( $license_key );
72
-
73
-		// Abort if the license key is empty or unchanged.
74
-		if ( empty( $license_key ) ) {
75
-			return $license_key;
76
-		}
77
-
78
-		// Abort if a database exists and the license key is unchaged.
79
-		if ( file_exists( $this->database_service->get_database_path() && $license_key == wpinv_get_option( 'maxmind_license_key' ) ) ) {
80
-			return $license_key;
81
-		}
82
-
83
-		// Check the license key by attempting to download the Geolocation database.
84
-		$tmp_database_path = $this->database_service->download_database( $license_key );
85
-		if ( is_wp_error( $tmp_database_path ) ) {
86
-			getpaid_admin()->show_error( $tmp_database_path->get_error_message() );
87
-			return $license_key;
88
-		}
89
-
90
-		$this->update_database( /** @scrutinizer ignore-type */ $tmp_database_path );
91
-
92
-		return $license_key;
93
-	}
94
-
95
-	/**
96
-	 * Updates the database used for geolocation queries.
97
-	 *
98
-	 * @param string $tmp_database_path Temporary database path.
99
-	 */
100
-	public function update_database( $tmp_database_path = null ) {
101
-
102
-		// Allow us to easily interact with the filesystem.
103
-		require_once ABSPATH . 'wp-admin/includes/file.php';
104
-		WP_Filesystem();
105
-		global $wp_filesystem;
106
-
107
-		// Remove any existing archives to comply with the MaxMind TOS.
108
-		$target_database_path = $this->database_service->get_database_path();
109
-
110
-		// If there's no database path, we can't store the database.
111
-		if ( empty( $target_database_path ) ) {
112
-			return;
113
-		}
114
-
115
-		if ( $wp_filesystem->exists( $target_database_path ) ) {
116
-			$wp_filesystem->delete( $target_database_path );
117
-		}
118
-
119
-		// We can't download a database if there's no license key configured.
120
-		$license_key = wpinv_get_option( 'maxmind_license_key' );
121
-		if ( empty( $license_key ) ) {
122
-			return;
123
-		}
124
-
125
-		if ( empty( $tmp_database_path ) ) {
126
-			$tmp_database_path = $this->database_service->download_database( $license_key );
127
-		}
128
-
129
-		if ( is_wp_error( $tmp_database_path ) ) {
130
-			wpinv_error_log( $tmp_database_path->get_error_message() );
131
-			return;
132
-		}
133
-
134
-		// Move the new database into position.
135
-		$wp_filesystem->move( $tmp_database_path, $target_database_path, true );
136
-		$wp_filesystem->delete( dirname( $tmp_database_path ) );
137
-	}
138
-
139
-	/**
140
-	 * Performs a geolocation lookup against the MaxMind database for the given IP address.
141
-	 *
142
-	 * @param array  $data       Geolocation data.
143
-	 * @param string $ip_address The IP address to geolocate.
144
-	 * @return array Geolocation including country code, state, city and postcode based on an IP address.
145
-	 */
146
-	public function get_geolocation( $data, $ip_address ) {
147
-
148
-		if ( ! empty( $data['country'] ) || empty( $ip_address ) ) {
149
-			return $data;
150
-		}
151
-
152
-		$country_code = $this->database_service->get_iso_country_code_for_ip( $ip_address );
153
-
154
-		return array(
155
-			'country'  => $country_code,
156
-			'state'    => '',
157
-			'city'     => '',
158
-			'postcode' => '',
159
-		);
160
-
161
-	}
162
-
163
-	/**
164
-	 * Fetches the prefix for the MaxMind database file.
165
-	 *
166
-	 * @return string
167
-	 */
168
-	private function get_database_prefix() {
169
-
170
-		$prefix = get_option( 'wpinv_maxmind_database_prefix' );
171
-
172
-		if ( empty( $prefix ) ) {
173
-			$prefix = md5( uniqid( 'wpinv' ) );
174
-			update_option( 'wpinv_maxmind_database_prefix', $prefix );
175
-		}
176
-
177
-		return $prefix;
178
-	}
19
+    /**
20
+     * The service responsible for interacting with the MaxMind database.
21
+     *
22
+     * @var GetPaid_MaxMind_Database_Service
23
+     */
24
+    private $database_service;
25
+
26
+    /**
27
+     * Initialize the integration.
28
+     */
29
+    public function __construct() {
30
+
31
+        /**
32
+         * Supports overriding the database service to be used.
33
+         *
34
+         * @since 1.0.19
35
+         * @return mixed|null The geolocation database service.
36
+         */
37
+        $this->database_service = apply_filters( 'getpaid_maxmind_geolocation_database_service', null );
38
+        if ( null === $this->database_service ) {
39
+            $this->database_service = new GetPaid_MaxMind_Database_Service( $this->get_database_prefix() );
40
+        }
41
+
42
+        // Bind to the scheduled updater action.
43
+        add_action( 'getpaid_update_geoip_databases', array( $this, 'update_database' ) );
44
+
45
+        // Bind to the geolocation filter for MaxMind database lookups.
46
+        add_filter( 'getpaid_get_geolocation', array( $this, 'get_geolocation' ), 10, 2 );
47
+
48
+        // Handle maxmind key updates.
49
+        add_filter( 'wpinv_settings_sanitize_maxmind_license_key', array( $this, 'handle_key_updates' ) );
50
+
51
+    }
52
+
53
+    /**
54
+     * Get database service.
55
+     *
56
+     * @return GetPaid_MaxMind_Database_Service|null
57
+     */
58
+    public function get_database_service() {
59
+        return $this->database_service;
60
+    }
61
+
62
+    /**
63
+     * Checks to make sure that the license key is valid.
64
+     *
65
+     * @param string $license_key The new license key.
66
+     * @return string
67
+     */
68
+    public function handle_key_updates( $license_key ) {
69
+
70
+        // Trim whitespaces and strip slashes.
71
+        $license_key = trim( $license_key );
72
+
73
+        // Abort if the license key is empty or unchanged.
74
+        if ( empty( $license_key ) ) {
75
+            return $license_key;
76
+        }
77
+
78
+        // Abort if a database exists and the license key is unchaged.
79
+        if ( file_exists( $this->database_service->get_database_path() && $license_key == wpinv_get_option( 'maxmind_license_key' ) ) ) {
80
+            return $license_key;
81
+        }
82
+
83
+        // Check the license key by attempting to download the Geolocation database.
84
+        $tmp_database_path = $this->database_service->download_database( $license_key );
85
+        if ( is_wp_error( $tmp_database_path ) ) {
86
+            getpaid_admin()->show_error( $tmp_database_path->get_error_message() );
87
+            return $license_key;
88
+        }
89
+
90
+        $this->update_database( /** @scrutinizer ignore-type */ $tmp_database_path );
91
+
92
+        return $license_key;
93
+    }
94
+
95
+    /**
96
+     * Updates the database used for geolocation queries.
97
+     *
98
+     * @param string $tmp_database_path Temporary database path.
99
+     */
100
+    public function update_database( $tmp_database_path = null ) {
101
+
102
+        // Allow us to easily interact with the filesystem.
103
+        require_once ABSPATH . 'wp-admin/includes/file.php';
104
+        WP_Filesystem();
105
+        global $wp_filesystem;
106
+
107
+        // Remove any existing archives to comply with the MaxMind TOS.
108
+        $target_database_path = $this->database_service->get_database_path();
109
+
110
+        // If there's no database path, we can't store the database.
111
+        if ( empty( $target_database_path ) ) {
112
+            return;
113
+        }
114
+
115
+        if ( $wp_filesystem->exists( $target_database_path ) ) {
116
+            $wp_filesystem->delete( $target_database_path );
117
+        }
118
+
119
+        // We can't download a database if there's no license key configured.
120
+        $license_key = wpinv_get_option( 'maxmind_license_key' );
121
+        if ( empty( $license_key ) ) {
122
+            return;
123
+        }
124
+
125
+        if ( empty( $tmp_database_path ) ) {
126
+            $tmp_database_path = $this->database_service->download_database( $license_key );
127
+        }
128
+
129
+        if ( is_wp_error( $tmp_database_path ) ) {
130
+            wpinv_error_log( $tmp_database_path->get_error_message() );
131
+            return;
132
+        }
133
+
134
+        // Move the new database into position.
135
+        $wp_filesystem->move( $tmp_database_path, $target_database_path, true );
136
+        $wp_filesystem->delete( dirname( $tmp_database_path ) );
137
+    }
138
+
139
+    /**
140
+     * Performs a geolocation lookup against the MaxMind database for the given IP address.
141
+     *
142
+     * @param array  $data       Geolocation data.
143
+     * @param string $ip_address The IP address to geolocate.
144
+     * @return array Geolocation including country code, state, city and postcode based on an IP address.
145
+     */
146
+    public function get_geolocation( $data, $ip_address ) {
147
+
148
+        if ( ! empty( $data['country'] ) || empty( $ip_address ) ) {
149
+            return $data;
150
+        }
151
+
152
+        $country_code = $this->database_service->get_iso_country_code_for_ip( $ip_address );
153
+
154
+        return array(
155
+            'country'  => $country_code,
156
+            'state'    => '',
157
+            'city'     => '',
158
+            'postcode' => '',
159
+        );
160
+
161
+    }
162
+
163
+    /**
164
+     * Fetches the prefix for the MaxMind database file.
165
+     *
166
+     * @return string
167
+     */
168
+    private function get_database_prefix() {
169
+
170
+        $prefix = get_option( 'wpinv_maxmind_database_prefix' );
171
+
172
+        if ( empty( $prefix ) ) {
173
+            $prefix = md5( uniqid( 'wpinv' ) );
174
+            update_option( 'wpinv_maxmind_database_prefix', $prefix );
175
+        }
176
+
177
+        return $prefix;
178
+    }
179 179
 
180 180
 }
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-manual-gateway.php 1 patch
Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -13,30 +13,30 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Manual_Gateway extends GetPaid_Payment_Gateway {
14 14
 
15 15
     /**
16
-	 * Payment method id.
17
-	 *
18
-	 * @var string
19
-	 */
16
+     * Payment method id.
17
+     *
18
+     * @var string
19
+     */
20 20
     public $id = 'manual';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
34
-	public $order = 11;
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34
+    public $order = 11;
35 35
 
36 36
     /**
37
-	 * Class constructor.
38
-	 */
39
-	public function __construct() {
37
+     * Class constructor.
38
+     */
39
+    public function __construct() {
40 40
         parent::__construct();
41 41
 
42 42
         $this->title        = __( 'Test Gateway', 'invoicing' );
@@ -46,15 +46,15 @@  discard block
 block discarded – undo
46 46
     }
47 47
 
48 48
     /**
49
-	 * Process Payment.
50
-	 *
51
-	 *
52
-	 * @param WPInv_Invoice $invoice Invoice.
53
-	 * @param array $submission_data Posted checkout fields.
54
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
55
-	 * @return array
56
-	 */
57
-	public function process_payment( $invoice, $submission_data, $submission ) {
49
+     * Process Payment.
50
+     *
51
+     *
52
+     * @param WPInv_Invoice $invoice Invoice.
53
+     * @param array $submission_data Posted checkout fields.
54
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
55
+     * @return array
56
+     */
57
+    public function process_payment( $invoice, $submission_data, $submission ) {
58 58
 
59 59
         // Mark it as paid.
60 60
         $invoice->mark_paid();
@@ -85,12 +85,12 @@  discard block
 block discarded – undo
85 85
     }
86 86
 
87 87
     /**
88
-	 * (Maybe) renews a manual subscription profile.
89
-	 *
90
-	 *
88
+     * (Maybe) renews a manual subscription profile.
89
+     *
90
+     *
91 91
      * @param WPInv_Subscription $subscription
92
-	 */
93
-	public function maybe_renew_subscription( $subscription ) {
92
+     */
93
+    public function maybe_renew_subscription( $subscription ) {
94 94
 
95 95
         // Ensure its our subscription && it's active.
96 96
         if ( $this->id == $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) {
@@ -110,13 +110,13 @@  discard block
 block discarded – undo
110 110
     }
111 111
 
112 112
     /**
113
-	 * Processes invoice addons.
114
-	 *
115
-	 * @param WPInv_Invoice $invoice
116
-	 * @param GetPaid_Form_Item[] $items
117
-	 * @return WPInv_Invoice
118
-	 */
119
-	public function process_addons( $invoice, $items ) {
113
+     * Processes invoice addons.
114
+     *
115
+     * @param WPInv_Invoice $invoice
116
+     * @param GetPaid_Form_Item[] $items
117
+     * @return WPInv_Invoice
118
+     */
119
+    public function process_addons( $invoice, $items ) {
120 120
 
121 121
         foreach ( $items as $item ) {
122 122
             $invoice->add_item( $item );
Please login to merge, or discard this patch.
includes/class-wpinv-addons.php 1 patch
Indentation   +203 added lines, -203 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;
9
+    exit;
10 10
 }
11 11
 
12 12
 /**
@@ -15,71 +15,71 @@  discard block
 block discarded – undo
15 15
 class WPInv_Admin_Addons extends Ayecode_Addons {
16 16
 
17 17
 
18
-	/**
19
-	 * Get the extensions page tabs.
20
-	 *
21
-	 * @return array of tabs.
22
-	 */
23
-	public function get_tabs(){
24
-		$tabs = array(
25
-			'addons' => __("Addons", "invoicing"),
18
+    /**
19
+     * Get the extensions page tabs.
20
+     *
21
+     * @return array of tabs.
22
+     */
23
+    public function get_tabs(){
24
+        $tabs = array(
25
+            'addons' => __("Addons", "invoicing"),
26 26
             'gateways' => __("Payment Gateways", "invoicing"),
27 27
             'recommended_plugins' => __("Recommended plugins", "invoicing"),
28 28
             'membership' => __("Membership", "invoicing"),
29
-		);
30
-
31
-		return $tabs;
32
-	}
33
-
34
-	/**
35
-	 * Get section content for the addons screen.
36
-	 *
37
-	 * @param  string $section_id
38
-	 *
39
-	 * @return array
40
-	 */
41
-	public function get_section_data( $section_id ) {
42
-		$section      = self::get_tab( $section_id );
43
-		$api_url = "https://wpinvoicing.com/edd-api/v2/products/";
44
-		$section_data = new stdClass();
45
-
46
-		if($section_id=='recommended_plugins'){
47
-			$section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48
-		}
49
-		elseif ( ! empty( $section ) ) {
50
-			if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
51
-			//if ( 1==1) {
52
-
53
-				$query_args = array( 'category' => $section_id, 'number' => 100);
54
-				$query_args = apply_filters('wpeu_edd_api_query_args',$query_args,$api_url,$section_id);
55
-
56
-				$raw_section = wp_safe_remote_get( esc_url_raw( add_query_arg($query_args ,$api_url) ), array( 'user-agent' => 'Invoicing Addons Page','timeout'     => 15, ) );
57
-
58
-				if ( ! is_wp_error( $raw_section ) ) {
59
-					$section_data = json_decode( wp_remote_retrieve_body( $raw_section ) );
60
-
61
-					if ( ! empty( $section_data->products ) ) {
62
-						set_transient( 'wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS );
63
-					}
64
-				}
65
-			}
66
-		}
67
-
68
-		$products = isset($section_data->products) ? $section_data->products : '';
69
-
70
-		return apply_filters( 'wpi_addons_section_data', $products, $section_id );
71
-	}
72
-
73
-	/**
74
-	 * Outputs a button.
75
-	 *ccc
76
-	 * @param string $url
77
-	 * @param string $text
78
-	 * @param string $theme
79
-	 * @param string $plugin
80
-	 */
81
-	public function output_button( $addon ) {
82
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
29
+        );
30
+
31
+        return $tabs;
32
+    }
33
+
34
+    /**
35
+     * Get section content for the addons screen.
36
+     *
37
+     * @param  string $section_id
38
+     *
39
+     * @return array
40
+     */
41
+    public function get_section_data( $section_id ) {
42
+        $section      = self::get_tab( $section_id );
43
+        $api_url = "https://wpinvoicing.com/edd-api/v2/products/";
44
+        $section_data = new stdClass();
45
+
46
+        if($section_id=='recommended_plugins'){
47
+            $section_data->products = self::get_recommend_wp_plugins_edd_formatted();
48
+        }
49
+        elseif ( ! empty( $section ) ) {
50
+            if ( false === ( $section_data = get_transient( 'wpi_addons_section_' . $section_id ) ) ) { //@todo restore after testing
51
+            //if ( 1==1) {
52
+
53
+                $query_args = array( 'category' => $section_id, 'number' => 100);
54
+                $query_args = apply_filters('wpeu_edd_api_query_args',$query_args,$api_url,$section_id);
55
+
56
+                $raw_section = wp_safe_remote_get( esc_url_raw( add_query_arg($query_args ,$api_url) ), array( 'user-agent' => 'Invoicing Addons Page','timeout'     => 15, ) );
57
+
58
+                if ( ! is_wp_error( $raw_section ) ) {
59
+                    $section_data = json_decode( wp_remote_retrieve_body( $raw_section ) );
60
+
61
+                    if ( ! empty( $section_data->products ) ) {
62
+                        set_transient( 'wpi_addons_section_' . $section_id, $section_data, DAY_IN_SECONDS );
63
+                    }
64
+                }
65
+            }
66
+        }
67
+
68
+        $products = isset($section_data->products) ? $section_data->products : '';
69
+
70
+        return apply_filters( 'wpi_addons_section_data', $products, $section_id );
71
+    }
72
+
73
+    /**
74
+     * Outputs a button.
75
+     *ccc
76
+     * @param string $url
77
+     * @param string $text
78
+     * @param string $theme
79
+     * @param string $plugin
80
+     */
81
+    public function output_button( $addon ) {
82
+        $current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
83 83
 //		$button_text = __('Free','invoicing');
84 84
 //		$licensing = false;
85 85
 //		$installed = false;
@@ -91,123 +91,123 @@  discard block
 block discarded – undo
91 91
 //		$install_status = 'get';
92 92
 //		$onclick = '';
93 93
 
94
-		$wp_org_themes = array('supreme-directory','directory-starter');
95
-
96
-		$button_args = array(
97
-			'type' => ($current_tab == 'addons' || $current_tab =='gateways') ? 'addons' : $current_tab,
98
-			'id' => isset($addon->info->id) ? absint($addon->info->id) : '',
99
-			'title' => isset($addon->info->title) ? $addon->info->title : '',
100
-			'button_text' => __('Free','invoicing'),
101
-			'price_text' => __('Free','invoicing'),
102
-			'link' => isset($addon->info->link) ? $addon->info->link : '', // link to product
103
-			'url' => isset($addon->info->link) ? $addon->info->link : '', // button url
104
-			'class' => 'button-primary',
105
-			'install_status' => 'get',
106
-			'installed' => false,
107
-			'price' => '',
108
-			'licensing' => isset($addon->licensing->enabled) && $addon->licensing->enabled ? true : false,
109
-			'license' => isset($addon->licensing->license) && $addon->licensing->license ? $addon->licensing->license : '',
110
-			'onclick' => '',
111
-			'slug' => isset($addon->info->slug) ? $addon->info->slug : '',
112
-			'active' => false,
113
-			'file' => '',
114
-			'update_url' => '',
115
-		);
116
-
117
-		if( 'getpaid-stripe-payments' == $addon->info->slug || ( $current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug )){
118
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
119
-			$status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
120
-			$button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
121
-			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
122
-		}elseif( ($current_tab == 'addons' || $current_tab =='gateways') && isset($addon->info->id) && $addon->info->id){
123
-			include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
124
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
125
-			$status = self::install_plugin_install_status($addon);
126
-			$button_args['file'] = isset($status['file']) ? $status['file'] : '';
127
-			if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
128
-			$button_args['update_url'] = "https://wpinvoicing.com";
129
-		}elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
130
-			if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
131
-			$button_args['installed'] = self::is_theme_installed($addon);
132
-			if(!in_array($button_args['slug'],$wp_org_themes)){
133
-				$button_args['update_url'] = "https://wpinvoicing.com";
134
-			}
135
-		}
136
-
137
-		// set price
138
-		if(isset($addon->pricing) && !empty($addon->pricing)){
139
-			if(is_object($addon->pricing)){
140
-				$prices = (Array)$addon->pricing;
141
-				$button_args['price'] = reset($prices);
142
-			}elseif(isset($addon->pricing)){
143
-				$button_args['price'] = $addon->pricing;
144
-			}
145
-		}
146
-
147
-		// set price text
148
-		if( $button_args['price'] && $button_args['price'] != '0.00' ){
149
-			$button_args['price_text'] = sprintf( __('From: $%d', 'invoicing'), $button_args['price']);
150
-		}
151
-
152
-
153
-		// set if installed
154
-		if(in_array($button_args['install_status'], array('installed','latest_installed','update_available','newer_installed'))){
155
-			$button_args['installed'] = true;
156
-		}
94
+        $wp_org_themes = array('supreme-directory','directory-starter');
95
+
96
+        $button_args = array(
97
+            'type' => ($current_tab == 'addons' || $current_tab =='gateways') ? 'addons' : $current_tab,
98
+            'id' => isset($addon->info->id) ? absint($addon->info->id) : '',
99
+            'title' => isset($addon->info->title) ? $addon->info->title : '',
100
+            'button_text' => __('Free','invoicing'),
101
+            'price_text' => __('Free','invoicing'),
102
+            'link' => isset($addon->info->link) ? $addon->info->link : '', // link to product
103
+            'url' => isset($addon->info->link) ? $addon->info->link : '', // button url
104
+            'class' => 'button-primary',
105
+            'install_status' => 'get',
106
+            'installed' => false,
107
+            'price' => '',
108
+            'licensing' => isset($addon->licensing->enabled) && $addon->licensing->enabled ? true : false,
109
+            'license' => isset($addon->licensing->license) && $addon->licensing->license ? $addon->licensing->license : '',
110
+            'onclick' => '',
111
+            'slug' => isset($addon->info->slug) ? $addon->info->slug : '',
112
+            'active' => false,
113
+            'file' => '',
114
+            'update_url' => '',
115
+        );
116
+
117
+        if( 'getpaid-stripe-payments' == $addon->info->slug || ( $current_tab == 'recommended_plugins' && isset($addon->info->slug) && $addon->info->slug )){
118
+            include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
119
+            $status = install_plugin_install_status(array("slug"=>$button_args['slug'],"version"=>""));
120
+            $button_args['install_status'] = isset($status['status']) ? $status['status'] : 'install';
121
+            $button_args['file'] = isset($status['file']) ? $status['file'] : '';
122
+        }elseif( ($current_tab == 'addons' || $current_tab =='gateways') && isset($addon->info->id) && $addon->info->id){
123
+            include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' ); //for plugins_api..
124
+            if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
125
+            $status = self::install_plugin_install_status($addon);
126
+            $button_args['file'] = isset($status['file']) ? $status['file'] : '';
127
+            if(isset($status['status'])){$button_args['install_status'] = $status['status'];}
128
+            $button_args['update_url'] = "https://wpinvoicing.com";
129
+        }elseif($current_tab == 'themes' && isset($addon->info->id) && $addon->info->id) {
130
+            if(!empty($addon->licensing->edd_slug)){$button_args['slug'] = $addon->licensing->edd_slug;}
131
+            $button_args['installed'] = self::is_theme_installed($addon);
132
+            if(!in_array($button_args['slug'],$wp_org_themes)){
133
+                $button_args['update_url'] = "https://wpinvoicing.com";
134
+            }
135
+        }
136
+
137
+        // set price
138
+        if(isset($addon->pricing) && !empty($addon->pricing)){
139
+            if(is_object($addon->pricing)){
140
+                $prices = (Array)$addon->pricing;
141
+                $button_args['price'] = reset($prices);
142
+            }elseif(isset($addon->pricing)){
143
+                $button_args['price'] = $addon->pricing;
144
+            }
145
+        }
146
+
147
+        // set price text
148
+        if( $button_args['price'] && $button_args['price'] != '0.00' ){
149
+            $button_args['price_text'] = sprintf( __('From: $%d', 'invoicing'), $button_args['price']);
150
+        }
151
+
152
+
153
+        // set if installed
154
+        if(in_array($button_args['install_status'], array('installed','latest_installed','update_available','newer_installed'))){
155
+            $button_args['installed'] = true;
156
+        }
157 157
 
158 158
 //		print_r($button_args);
159
-		// set if active
160
-		if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161
-			if($button_args['type'] != 'themes'){
162
-				$button_args['active'] = is_plugin_active($button_args['file']);
163
-			}else{
164
-				$button_args['active'] = self::is_theme_active($addon);
165
-			}
166
-		}
167
-
168
-		// set button text and class
169
-		if($button_args['active']){
170
-			$button_args['button_text'] = __('Active','invoicing');
171
-			$button_args['class'] = ' button-secondary disabled ';
172
-		}elseif($button_args['installed']){
173
-			$button_args['button_text'] = __('Activate','invoicing');
174
-
175
-			if($button_args['type'] != 'themes'){
176
-				if ( current_user_can( 'manage_options' ) ) {
177
-					$button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
-				}else{
179
-					$button_args['url'] = '#';
180
-				}
181
-			}else{
182
-				if ( current_user_can( 'switch_themes' ) ) {
183
-					$button_args['url'] = self::get_theme_activation_url($addon);
184
-				}else{
185
-					$button_args['url'] = '#';
186
-				}
187
-			}
188
-
189
-		}else{
190
-			if($button_args['type'] == 'recommended_plugins'){
191
-				$button_args['button_text'] = __('Install','invoicing');
192
-			}else{
193
-				$button_args['button_text'] = __('Get it','invoicing');
194
-
195
-				/*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
159
+        // set if active
160
+        if($button_args['installed'] && ($button_args['file'] || $button_args['type'] == 'themes')){
161
+            if($button_args['type'] != 'themes'){
162
+                $button_args['active'] = is_plugin_active($button_args['file']);
163
+            }else{
164
+                $button_args['active'] = self::is_theme_active($addon);
165
+            }
166
+        }
167
+
168
+        // set button text and class
169
+        if($button_args['active']){
170
+            $button_args['button_text'] = __('Active','invoicing');
171
+            $button_args['class'] = ' button-secondary disabled ';
172
+        }elseif($button_args['installed']){
173
+            $button_args['button_text'] = __('Activate','invoicing');
174
+
175
+            if($button_args['type'] != 'themes'){
176
+                if ( current_user_can( 'manage_options' ) ) {
177
+                    $button_args['url'] = wp_nonce_url(admin_url('plugins.php?action=activate&plugin='.$button_args['file']), 'activate-plugin_' . $button_args['file']);
178
+                }else{
179
+                    $button_args['url'] = '#';
180
+                }
181
+            }else{
182
+                if ( current_user_can( 'switch_themes' ) ) {
183
+                    $button_args['url'] = self::get_theme_activation_url($addon);
184
+                }else{
185
+                    $button_args['url'] = '#';
186
+                }
187
+            }
188
+
189
+        }else{
190
+            if($button_args['type'] == 'recommended_plugins'){
191
+                $button_args['button_text'] = __('Install','invoicing');
192
+            }else{
193
+                $button_args['button_text'] = __('Get it','invoicing');
194
+
195
+                /*if($button_args['type'] == 'themes' && in_array($button_args['slug'],$wp_org_themes) ){
196 196
 					$button_args['button_text'] = __('Install','invoicing');
197 197
 					$button_args['url'] = self::get_theme_install_url($button_args['slug']);
198 198
 					$button_args['onclick'] = 'gd_set_button_installing(this);';
199 199
 				}*/
200 200
 
201
-			}
202
-		}
201
+            }
202
+        }
203 203
 
204 204
 		
205
-		// filter the button arguments
206
-		$button_args = apply_filters('edd_api_button_args',$button_args);
205
+        // filter the button arguments
206
+        $button_args = apply_filters('edd_api_button_args',$button_args);
207 207
 //		print_r($button_args);
208
-		// set price text
209
-		if(isset($button_args['price_text'])){
210
-			?>
208
+        // set price text
209
+        if(isset($button_args['price_text'])){
210
+            ?>
211 211
 			<a
212 212
 				target="_blank"
213 213
 				class="addons-price-text"
@@ -215,15 +215,15 @@  discard block
 block discarded – undo
215 215
 				<?php echo esc_html( $button_args['price_text'] ); ?>
216 216
 			</a>
217 217
 			<?php
218
-		}
218
+        }
219 219
 
220 220
 
221
-		$target = '';
222
-		if ( ! empty( $button_args['url'] ) ) {
223
-			$target = strpos($button_args['url'], get_site_url()) !== false ? '' : ' target="_blank" ';
224
-		}
221
+        $target = '';
222
+        if ( ! empty( $button_args['url'] ) ) {
223
+            $target = strpos($button_args['url'], get_site_url()) !== false ? '' : ' target="_blank" ';
224
+        }
225 225
 
226
-		?>
226
+        ?>
227 227
 		<a
228 228
 			data-licence="<?php echo esc_attr($button_args['license']);?>"
229 229
 			data-licensing="<?php echo $button_args['licensing'] ? 1 : 0;?>"
@@ -246,33 +246,33 @@  discard block
 block discarded – undo
246 246
 		<?php
247 247
 
248 248
 
249
-	}
250
-
251
-
252
-	/**
253
-	 * Handles output of the addons page in admin.
254
-	 */
255
-	public function output() {
256
-		$tabs            = self::get_tabs();
257
-		$sections        = self::get_sections();
258
-		$theme           = wp_get_theme();
259
-		$section_keys    = array_keys( $sections );
260
-		$current_section = isset( $_GET['section'] ) ? sanitize_text_field( $_GET['section'] ) : current( $section_keys );
261
-		$current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
262
-		include_once( WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php' );
263
-	}
264
-
265
-	/**
266
-	 * A list of recommended wp.org plugins.
267
-	 * @return array
268
-	 */
269
-	public function get_recommend_wp_plugins(){
270
-		$plugins = array(
249
+    }
250
+
251
+
252
+    /**
253
+     * Handles output of the addons page in admin.
254
+     */
255
+    public function output() {
256
+        $tabs            = self::get_tabs();
257
+        $sections        = self::get_sections();
258
+        $theme           = wp_get_theme();
259
+        $section_keys    = array_keys( $sections );
260
+        $current_section = isset( $_GET['section'] ) ? sanitize_text_field( $_GET['section'] ) : current( $section_keys );
261
+        $current_tab     = empty( $_GET['tab'] ) ? 'addons' : sanitize_title( $_GET['tab'] );
262
+        include_once( WPINV_PLUGIN_DIR . '/includes/admin/html-admin-page-addons.php' );
263
+    }
264
+
265
+    /**
266
+     * A list of recommended wp.org plugins.
267
+     * @return array
268
+     */
269
+    public function get_recommend_wp_plugins(){
270
+        $plugins = array(
271 271
             'invoicing-quotes' => array(
272 272
                 'url'   => 'https://wordpress.org/plugins/invoicing-quotes/',
273 273
                 'slug'   => 'invoicing-quotes',
274
-				'name'   => 'Quotes',
275
-				'thumbnail'  => 'https://ps.w.org/invoicing-quotes/assets/banner-772x250.jpg',
274
+                'name'   => 'Quotes',
275
+                'thumbnail'  => 'https://ps.w.org/invoicing-quotes/assets/banner-772x250.jpg',
276 276
                 'desc'   => __('Allows you to create quotes, send them to clients and convert them to Invoices when accepted by the customer.','invoicing'),
277 277
             ),
278 278
             'geodirectory' => array(
@@ -287,8 +287,8 @@  discard block
 block discarded – undo
287 287
                 'name'   => 'UsersWP',
288 288
                 'desc'   => __('Allow frontend user login and registration as well as have slick profile pages.','invoicing'),
289 289
             ),
290
-		);
290
+        );
291 291
 
292
-		return $plugins;
293
-	}
292
+        return $plugins;
293
+    }
294 294
 }
Please login to merge, or discard this patch.
includes/admin/html-admin-page-addons.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 if ( ! defined( 'ABSPATH' ) ) {
7
-	exit;
7
+    exit;
8 8
 }
9 9
 add_ThickBox();
10 10
 ?>
@@ -14,18 +14,18 @@  discard block
 block discarded – undo
14 14
 	<?php if ( $tabs ){ ?>
15 15
 		<nav class="nav-tab-wrapper wpi-nav-tab-wrapper">
16 16
 			<?php
17
-			foreach ( $tabs as $name => $label ) {
18
-				echo '<a href="' . admin_url( 'admin.php?page=wpi-addons&tab=' . $name ) . '" class="nav-tab ' . ( $current_tab == $name ? 'nav-tab-active' : '' ) . '">' . $label . '</a>';
19
-			}
20
-			do_action( 'wpi_addons_tabs' );
21
-			?>
17
+            foreach ( $tabs as $name => $label ) {
18
+                echo '<a href="' . admin_url( 'admin.php?page=wpi-addons&tab=' . $name ) . '" class="nav-tab ' . ( $current_tab == $name ? 'nav-tab-active' : '' ) . '">' . $label . '</a>';
19
+            }
20
+            do_action( 'wpi_addons_tabs' );
21
+            ?>
22 22
 		</nav>
23 23
 
24 24
 		<?php
25 25
 
26
-		if($current_tab == 'membership'){
26
+        if($current_tab == 'membership'){
27 27
 
28
-			?>
28
+            ?>
29 29
 
30 30
 			<div class="wpi-membership-tab-conatiner">
31 31
 				<div class="membership-content">
@@ -36,9 +36,9 @@  discard block
 block discarded – undo
36 36
 					<h2><?php _e("Have a membership key?","invoicing");?></h2>
37 37
 					<p>
38 38
 						<?php
39
-						$wpeu_admin = new External_Updates_Admin('wpinvoicing.com','1');
40
-						echo $wpeu_admin->render_licence_actions('wpinvoicing.com', 'membership',array(95, 106, 108,12351));
41
-						?>
39
+                        $wpeu_admin = new External_Updates_Admin('wpinvoicing.com','1');
40
+                        echo $wpeu_admin->render_licence_actions('wpinvoicing.com', 'membership',array(95, 106, 108,12351));
41
+                        ?>
42 42
 					</p>
43 43
 				<?php }?>
44 44
 
@@ -48,13 +48,13 @@  discard block
 block discarded – undo
48 48
 							<div class="feature-list">
49 49
 								<ul>
50 50
 									<?php
51
-									$addon_obj = new WPInv_Admin_Addons();
52
-									if ($addons = $addon_obj->get_section_data( 'addons' ) ) {
53
-										foreach ( $addons as $addon ) {
54
-											echo '<li><i class="far fa-check-circle fa-sm"></i> '.esc_html( $addon->info->title ).'</li>';
55
-										}
56
-									}
57
-									?>
51
+                                    $addon_obj = new WPInv_Admin_Addons();
52
+                                    if ($addons = $addon_obj->get_section_data( 'addons' ) ) {
53
+                                        foreach ( $addons as $addon ) {
54
+                                            echo '<li><i class="far fa-check-circle fa-sm"></i> '.esc_html( $addon->info->title ).'</li>';
55
+                                        }
56
+                                    }
57
+                                    ?>
58 58
 									</ul>
59 59
 
60 60
 									<div class="feature-cta">
@@ -65,12 +65,12 @@  discard block
 block discarded – undo
65 65
 									<h3><?php _e("Included Gateways:","invoicing");?></h3>
66 66
 									<ul>
67 67
 										<?php
68
-										if ($addons = $addon_obj->get_section_data( 'gateways' ) ) {
69
-											foreach ( $addons as $addon ) {
70
-												echo '<li><i class="far fa-check-circle fa-sm"></i> '.esc_html( $addon->info->title ).'</li>';
71
-											}
72
-										}
73
-										?>
68
+                                        if ($addons = $addon_obj->get_section_data( 'gateways' ) ) {
69
+                                            foreach ( $addons as $addon ) {
70
+                                                echo '<li><i class="far fa-check-circle fa-sm"></i> '.esc_html( $addon->info->title ).'</li>';
71
+                                            }
72
+                                        }
73
+                                        ?>
74 74
 								</ul>
75 75
 							</div>
76 76
 
@@ -81,8 +81,8 @@  discard block
 block discarded – undo
81 81
 						<div class="testimonial-content">
82 82
 							<div class="t-image">
83 83
 								<?php
84
-									echo '<img src="' . plugins_url( 'images/t-image2.png', dirname(__FILE__) ) . '" > ';
85
-								?>
84
+                                    echo '<img src="' . plugins_url( 'images/t-image2.png', dirname(__FILE__) ) . '" > ';
85
+                                ?>
86 86
 							</div>
87 87
 							<div class="t-content">
88 88
 								<p>
@@ -101,8 +101,8 @@  discard block
 block discarded – undo
101 101
 						<div class="testimonial-content">
102 102
 							<div class="t-image">
103 103
 								<?php
104
-									echo '<img src="' . plugins_url( 'images/t-image1.png', dirname(__FILE__) ) . '" > ';
105
-								?>
104
+                                    echo '<img src="' . plugins_url( 'images/t-image1.png', dirname(__FILE__) ) . '" > ';
105
+                                ?>
106 106
 							</div>
107 107
 							<div class="t-content">
108 108
 								<p>
@@ -126,20 +126,20 @@  discard block
 block discarded – undo
126 126
 			</div>
127 127
 		</div>
128 128
 			<?php
129
-		}else{
130
-			$installed_plugins = get_plugins();
129
+        }else{
130
+            $installed_plugins = get_plugins();
131 131
             $addon_obj = new WPInv_Admin_Addons();
132
-			if ($addons = $addon_obj->get_section_data( $current_tab ) ) :
133
-				?>
132
+            if ($addons = $addon_obj->get_section_data( $current_tab ) ) :
133
+                ?>
134 134
 				<ul class="wpi-products"><?php foreach ( $addons as $addon ) :
135 135
                         if(965==$addon->info->id){continue;}// don't show quote add on
136
-						?><li class="wpi-product">
136
+                        ?><li class="wpi-product">
137 137
 								<div class="wpi-product-title">
138 138
 									<h3><?php
139
-										if ( ! empty( $addon->info->excerpt) ){
140
-											echo wpi_help_tip( $addon->info->excerpt );
141
-										}
142
-										echo esc_html( $addon->info->title ); ?></h3>
139
+                                        if ( ! empty( $addon->info->excerpt) ){
140
+                                            echo wpi_help_tip( $addon->info->excerpt );
141
+                                        }
142
+                                        echo esc_html( $addon->info->title ); ?></h3>
143 143
 								</div>
144 144
 
145 145
 								<span class="wpi-product-image">
@@ -147,32 +147,32 @@  discard block
 block discarded – undo
147 147
 										<img src="<?php echo esc_attr( $addon->info->thumbnail ); ?>"/>
148 148
 									<?php endif;
149 149
 
150
-									if ( 'stripe-payment-gateway' == $addon->info->slug ) {
151
-										$addon->info->slug = 'getpaid-stripe-payments';
152
-										$addon->info->link = 'https://wordpress.org/plugins/getpaid-stripe-payments/';
153
-									}
154
-
155
-									if(isset($addon->info->link) && substr( $addon->info->link, 0, 21 ) === "https://wordpress.org"){
156
-										echo '<a href="'.admin_url('/plugin-install.php?tab=plugin-information&plugin='.$addon->info->slug).'&width=770&height=660&TB_iframe=true" class="thickbox" >';
157
-										echo '<span class="wpi-product-info">'.__('More info','invoicing').'</span>';
158
-										echo '</a>';
159
-									}elseif(isset($addon->info->link) && substr( $addon->info->link, 0, 23 ) === "https://wpinvoicing.com"){
160
-										if(defined('WP_EASY_UPDATES_ACTIVE')){
161
-											$url = admin_url('/plugin-install.php?tab=plugin-information&plugin='.$addon->info->slug.'&width=770&height=660&item_id='.$addon->info->id.'&update_url=https://wpinvoicing.com&TB_iframe=true');
162
-										}else{
163
-											// if installed show activation link
164
-											if(isset($installed_plugins['wp-easy-updates/external-updates.php'])){
165
-												$url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-activation';
166
-											}else{
167
-												$url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-for-external';
168
-											}
169
-										}
170
-										echo '<a href="'.$url.'" class="thickbox">';
171
-										echo '<span class="wpi-product-info">'.__('More info','invoicing').'</span>';
172
-										echo '</a>';
173
-									}
174
-
175
-									?>
150
+                                    if ( 'stripe-payment-gateway' == $addon->info->slug ) {
151
+                                        $addon->info->slug = 'getpaid-stripe-payments';
152
+                                        $addon->info->link = 'https://wordpress.org/plugins/getpaid-stripe-payments/';
153
+                                    }
154
+
155
+                                    if(isset($addon->info->link) && substr( $addon->info->link, 0, 21 ) === "https://wordpress.org"){
156
+                                        echo '<a href="'.admin_url('/plugin-install.php?tab=plugin-information&plugin='.$addon->info->slug).'&width=770&height=660&TB_iframe=true" class="thickbox" >';
157
+                                        echo '<span class="wpi-product-info">'.__('More info','invoicing').'</span>';
158
+                                        echo '</a>';
159
+                                    }elseif(isset($addon->info->link) && substr( $addon->info->link, 0, 23 ) === "https://wpinvoicing.com"){
160
+                                        if(defined('WP_EASY_UPDATES_ACTIVE')){
161
+                                            $url = admin_url('/plugin-install.php?tab=plugin-information&plugin='.$addon->info->slug.'&width=770&height=660&item_id='.$addon->info->id.'&update_url=https://wpinvoicing.com&TB_iframe=true');
162
+                                        }else{
163
+                                            // if installed show activation link
164
+                                            if(isset($installed_plugins['wp-easy-updates/external-updates.php'])){
165
+                                                $url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-activation';
166
+                                            }else{
167
+                                                $url = '#TB_inline?width=600&height=50&inlineId=wpi-wpeu-required-for-external';
168
+                                            }
169
+                                        }
170
+                                        echo '<a href="'.$url.'" class="thickbox">';
171
+                                        echo '<span class="wpi-product-info">'.__('More info','invoicing').'</span>';
172
+                                        echo '</a>';
173
+                                    }
174
+
175
+                                    ?>
176 176
 
177 177
 								</span>
178 178
 
@@ -180,15 +180,15 @@  discard block
 block discarded – undo
180 180
 								<span class="wpi-product-button">
181 181
 									<?php
182 182
                                     $addon_obj->output_button( $addon );
183
-									?>
183
+                                    ?>
184 184
 								</span>
185 185
 
186 186
 								<span class="wpi-price"><?php //print_r($addon); //echo wp_kses_post( $addon->price ); ?></span></li><?php endforeach; ?></ul>
187 187
 			<?php endif;
188
-		}
188
+        }
189 189
 
190
-	}
191
-	?>
190
+    }
191
+    ?>
192 192
 
193 193
 
194 194
 	<div class="clearfix" ></div>
@@ -207,8 +207,8 @@  discard block
 block discarded – undo
207 207
 			<input class="wpeu-licence-key" type="text" placeholder="<?php _e("Enter your licence key",'invoicing');?>"> <button class="button-primary wpeu-licence-popup-button" ><?php _e("Install",'invoicing');?></button>
208 208
 			<br>
209 209
 			<?php
210
-			echo sprintf( __('%sFind your licence key here%s OR %sBuy one here%s', 'invoicing'), '<a href="https://wpinvoicing.com/your-account/" target="_blank">','</a>','<a class="wpeu-licence-link" href="https://wpinvoicing.com/downloads/category/addons/" target="_blank">','</a>' );
211
-			?>
210
+            echo sprintf( __('%sFind your licence key here%s OR %sBuy one here%s', 'invoicing'), '<a href="https://wpinvoicing.com/your-account/" target="_blank">','</a>','<a class="wpeu-licence-link" href="https://wpinvoicing.com/downloads/category/addons/" target="_blank">','</a>' );
211
+            ?>
212 212
 		</span>
213 213
 	</div>
214 214
 
Please login to merge, or discard this patch.
includes/payments/class-getpaid-payment-form-submission-items.php 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -12,80 +12,80 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Items {
14 14
 
15
-	/**
16
-	 * Submission items.
17
-	 * @var GetPaid_Form_Item[]
18
-	 */
19
-	public $items = array();
15
+    /**
16
+     * Submission items.
17
+     * @var GetPaid_Form_Item[]
18
+     */
19
+    public $items = array();
20
+
21
+    /**
22
+     * Class constructor
23
+     *
24
+     * @param GetPaid_Payment_Form_Submission $submission
25
+     */
26
+    public function __construct( $submission ) {
27
+
28
+        $data         = $submission->get_data();
29
+        $payment_form = $submission->get_payment_form();
30
+
31
+        // Prepare the selected items.
32
+        $selected_items = array();
33
+        if ( ! empty( $data['getpaid-items'] ) ) {
34
+            $selected_items = wpinv_clean( $data['getpaid-items'] );
35
+        }
36
+
37
+        // For default forms, ensure that an item has been set.
38
+        if ( $payment_form->is_default() && ( ! $submission->has_invoice() || 'payment_form' == $submission->get_invoice()->get_created_via() ) && isset( $data['getpaid-form-items'] ) ) {
39
+            $form_items = wpinv_clean( $data['getpaid-form-items'] );
40
+            $payment_form->set_items( getpaid_convert_items_to_array( $form_items ) );
41
+        }
42
+
43
+        // Process each individual item.
44
+        foreach ( $payment_form->get_items() as $item ) {
45
+            $this->process_item( $item, $selected_items, $submission );
46
+        }
47
+
48
+    }
20 49
 
21 50
     /**
22
-	 * Class constructor
23
-	 *
24
-	 * @param GetPaid_Payment_Form_Submission $submission
25
-	 */
26
-	public function __construct( $submission ) {
27
-
28
-		$data         = $submission->get_data();
29
-		$payment_form = $submission->get_payment_form();
30
-
31
-		// Prepare the selected items.
32
-		$selected_items = array();
33
-		if ( ! empty( $data['getpaid-items'] ) ) {
34
-			$selected_items = wpinv_clean( $data['getpaid-items'] );
35
-		}
36
-
37
-		// For default forms, ensure that an item has been set.
38
-		if ( $payment_form->is_default() && ( ! $submission->has_invoice() || 'payment_form' == $submission->get_invoice()->get_created_via() ) && isset( $data['getpaid-form-items'] ) ) {
39
-			$form_items = wpinv_clean( $data['getpaid-form-items'] );
40
-			$payment_form->set_items( getpaid_convert_items_to_array( $form_items ) );
41
-		}
42
-
43
-		// Process each individual item.
44
-		foreach ( $payment_form->get_items() as $item ) {
45
-			$this->process_item( $item, $selected_items, $submission );
46
-		}
47
-
48
-	}
49
-
50
-	/**
51
-	 * Process a single item.
52
-	 *
53
-	 * @param GetPaid_Form_Item $item
54
-	 * @param array $selected_items
55
-	 * @param GetPaid_Payment_Form_Submission $submission
56
-	 */
57
-	public function process_item( $item, $selected_items, $submission ) {
58
-
59
-		// Abort if this is an optional item and it has not been selected.
60
-		if ( ! $item->is_required() && ! isset( $selected_items[ $item->get_id() ] ) ) {
61
-			return;
62
-		}
63
-
64
-		// (maybe) let customers change the quantities and prices.
65
-		if ( isset( $selected_items[ $item->get_id() ] ) ) {
66
-
67
-			// Maybe change the quantities.
68
-			if ( $item->allows_quantities() ) {
69
-				$item->set_quantity( (float) $selected_items[ $item->get_id() ]['quantity'] );
70
-			}
71
-
72
-			// Maybe change the price.
73
-			if ( $item->user_can_set_their_price() ) {
74
-				$price = (float) wpinv_sanitize_amount( $selected_items[ $item->get_id() ]['price'] );
75
-
76
-				if ( $item->get_minimum_price() > $price ) {
77
-					throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), wpinv_sanitize_amount( $item->get_minimum_price() ) ) );
78
-				}
79
-
80
-				$item->set_price( $price );
81
-
82
-			}
83
-
84
-		}
85
-
86
-		// Save the item.
87
-		$this->items[] = apply_filters( 'getpaid_payment_form_submission_processed_item' , $item, $submission );
88
-
89
-	}
51
+     * Process a single item.
52
+     *
53
+     * @param GetPaid_Form_Item $item
54
+     * @param array $selected_items
55
+     * @param GetPaid_Payment_Form_Submission $submission
56
+     */
57
+    public function process_item( $item, $selected_items, $submission ) {
58
+
59
+        // Abort if this is an optional item and it has not been selected.
60
+        if ( ! $item->is_required() && ! isset( $selected_items[ $item->get_id() ] ) ) {
61
+            return;
62
+        }
63
+
64
+        // (maybe) let customers change the quantities and prices.
65
+        if ( isset( $selected_items[ $item->get_id() ] ) ) {
66
+
67
+            // Maybe change the quantities.
68
+            if ( $item->allows_quantities() ) {
69
+                $item->set_quantity( (float) $selected_items[ $item->get_id() ]['quantity'] );
70
+            }
71
+
72
+            // Maybe change the price.
73
+            if ( $item->user_can_set_their_price() ) {
74
+                $price = (float) wpinv_sanitize_amount( $selected_items[ $item->get_id() ]['price'] );
75
+
76
+                if ( $item->get_minimum_price() > $price ) {
77
+                    throw new Exception( sprintf( __( 'The minimum allowed amount is %s', 'invoicing' ), wpinv_sanitize_amount( $item->get_minimum_price() ) ) );
78
+                }
79
+
80
+                $item->set_price( $price );
81
+
82
+            }
83
+
84
+        }
85
+
86
+        // Save the item.
87
+        $this->items[] = apply_filters( 'getpaid_payment_form_submission_processed_item' , $item, $submission );
88
+
89
+    }
90 90
 
91 91
 }
Please login to merge, or discard this patch.