@@ -1,7 +1,7 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { |
4 | - exit; |
|
4 | + exit; |
|
5 | 5 | } |
6 | 6 | |
7 | 7 | global $wpdb; |
@@ -1,26 +1,26 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { |
|
3 | +if (!defined('WP_UNINSTALL_PLUGIN')) { |
|
4 | 4 | exit; |
5 | 5 | } |
6 | 6 | |
7 | 7 | global $wpdb; |
8 | 8 | |
9 | -if ( get_option( 'wpinv_remove_data_on_invoice_unistall' ) ) { |
|
9 | +if (get_option('wpinv_remove_data_on_invoice_unistall')) { |
|
10 | 10 | |
11 | 11 | // Fetch settings. |
12 | - $settings = get_option( 'wpinv_settings' ); |
|
12 | + $settings = get_option('wpinv_settings'); |
|
13 | 13 | |
14 | 14 | // Delete pages. |
15 | - $pages = array( 'checkout_page', 'success_page', 'failure_page', 'invoice_history_page', 'quote_history_page', 'invoice_subscription_page' ); |
|
16 | - foreach ( $pages as $page ) { |
|
17 | - if ( is_array( $settings ) && ! empty( $settings[ $page ] ) ) { |
|
18 | - wp_delete_post( $settings[ $page ], true ); |
|
15 | + $pages = array('checkout_page', 'success_page', 'failure_page', 'invoice_history_page', 'quote_history_page', 'invoice_subscription_page'); |
|
16 | + foreach ($pages as $page) { |
|
17 | + if (is_array($settings) && !empty($settings[$page])) { |
|
18 | + wp_delete_post($settings[$page], true); |
|
19 | 19 | } |
20 | 20 | } |
21 | 21 | |
22 | 22 | // Delete options. |
23 | - $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpinv\_%';" ); |
|
23 | + $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpinv\_%';"); |
|
24 | 24 | |
25 | 25 | // Delete posts. |
26 | 26 | $wpdb->query( |
@@ -49,9 +49,9 @@ discard block |
||
49 | 49 | ); |
50 | 50 | |
51 | 51 | // Cleanup Cron Schedule |
52 | - wp_clear_scheduled_hook( 'wp_session_garbage_collection' ); |
|
53 | - wp_clear_scheduled_hook( 'wpinv_register_schedule_event_twicedaily' ); |
|
54 | - wp_clear_scheduled_hook( 'wpinv_register_schedule_event_daily' ); |
|
52 | + wp_clear_scheduled_hook('wp_session_garbage_collection'); |
|
53 | + wp_clear_scheduled_hook('wpinv_register_schedule_event_twicedaily'); |
|
54 | + wp_clear_scheduled_hook('wpinv_register_schedule_event_daily'); |
|
55 | 55 | |
56 | 56 | // Clear any cached data that has been removed |
57 | 57 | wp_cache_flush(); |
@@ -63,8 +63,8 @@ discard block |
||
63 | 63 | "{$wpdb->prefix}getpaid_invoice_items", |
64 | 64 | ); |
65 | 65 | |
66 | - foreach ( $tables as $table ) { |
|
67 | - $wpdb->query( "DROP TABLE IF EXISTS {$table}" ); |
|
66 | + foreach ($tables as $table) { |
|
67 | + $wpdb->query("DROP TABLE IF EXISTS {$table}"); |
|
68 | 68 | } |
69 | 69 | |
70 | 70 | } |
@@ -14,346 +14,346 @@ |
||
14 | 14 | */ |
15 | 15 | class GetPaid_Data_Store_WP { |
16 | 16 | |
17 | - /** |
|
18 | - * Meta type. This should match up with |
|
19 | - * the types available at https://developer.wordpress.org/reference/functions/add_metadata/. |
|
20 | - * WP defines 'post', 'user', 'comment', and 'term'. |
|
21 | - * |
|
22 | - * @var string |
|
23 | - */ |
|
24 | - protected $meta_type = 'post'; |
|
25 | - |
|
26 | - /** |
|
27 | - * This only needs set if you are using a custom metadata type. |
|
28 | - * |
|
29 | - * @var string |
|
30 | - */ |
|
31 | - protected $object_id_field_for_meta = ''; |
|
32 | - |
|
33 | - /** |
|
34 | - * Data stored in meta keys, but not considered "meta" for an object. |
|
35 | - * |
|
36 | - * @since 1.0.19 |
|
37 | - * |
|
38 | - * @var array |
|
39 | - */ |
|
40 | - protected $internal_meta_keys = array(); |
|
41 | - |
|
42 | - /** |
|
43 | - * Meta data which should exist in the DB, even if empty. |
|
44 | - * |
|
45 | - * @since 1.0.19 |
|
46 | - * |
|
47 | - * @var array |
|
48 | - */ |
|
49 | - protected $must_exist_meta_keys = array(); |
|
50 | - |
|
51 | - /** |
|
52 | - * A map of meta keys to data props. |
|
53 | - * |
|
54 | - * @since 1.0.19 |
|
55 | - * |
|
56 | - * @var array |
|
57 | - */ |
|
58 | - protected $meta_key_to_props = array(); |
|
59 | - |
|
60 | - /** |
|
61 | - * Returns an array of meta for an object. |
|
62 | - * |
|
63 | - * @since 1.0.19 |
|
64 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
65 | - * @return array |
|
66 | - */ |
|
67 | - public function read_meta( &$object ) { |
|
68 | - global $wpdb; |
|
69 | - $db_info = $this->get_db_info(); |
|
70 | - $raw_meta_data = $wpdb->get_results( |
|
71 | - $wpdb->prepare( |
|
72 | - "SELECT {$db_info['meta_id_field']} as meta_id, meta_key, meta_value |
|
17 | + /** |
|
18 | + * Meta type. This should match up with |
|
19 | + * the types available at https://developer.wordpress.org/reference/functions/add_metadata/. |
|
20 | + * WP defines 'post', 'user', 'comment', and 'term'. |
|
21 | + * |
|
22 | + * @var string |
|
23 | + */ |
|
24 | + protected $meta_type = 'post'; |
|
25 | + |
|
26 | + /** |
|
27 | + * This only needs set if you are using a custom metadata type. |
|
28 | + * |
|
29 | + * @var string |
|
30 | + */ |
|
31 | + protected $object_id_field_for_meta = ''; |
|
32 | + |
|
33 | + /** |
|
34 | + * Data stored in meta keys, but not considered "meta" for an object. |
|
35 | + * |
|
36 | + * @since 1.0.19 |
|
37 | + * |
|
38 | + * @var array |
|
39 | + */ |
|
40 | + protected $internal_meta_keys = array(); |
|
41 | + |
|
42 | + /** |
|
43 | + * Meta data which should exist in the DB, even if empty. |
|
44 | + * |
|
45 | + * @since 1.0.19 |
|
46 | + * |
|
47 | + * @var array |
|
48 | + */ |
|
49 | + protected $must_exist_meta_keys = array(); |
|
50 | + |
|
51 | + /** |
|
52 | + * A map of meta keys to data props. |
|
53 | + * |
|
54 | + * @since 1.0.19 |
|
55 | + * |
|
56 | + * @var array |
|
57 | + */ |
|
58 | + protected $meta_key_to_props = array(); |
|
59 | + |
|
60 | + /** |
|
61 | + * Returns an array of meta for an object. |
|
62 | + * |
|
63 | + * @since 1.0.19 |
|
64 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
65 | + * @return array |
|
66 | + */ |
|
67 | + public function read_meta( &$object ) { |
|
68 | + global $wpdb; |
|
69 | + $db_info = $this->get_db_info(); |
|
70 | + $raw_meta_data = $wpdb->get_results( |
|
71 | + $wpdb->prepare( |
|
72 | + "SELECT {$db_info['meta_id_field']} as meta_id, meta_key, meta_value |
|
73 | 73 | FROM {$db_info['table']} |
74 | 74 | WHERE {$db_info['object_id_field']} = %d |
75 | 75 | ORDER BY {$db_info['meta_id_field']}", |
76 | - $object->get_id() |
|
77 | - ) |
|
78 | - ); |
|
79 | - |
|
80 | - $this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys ); |
|
81 | - $meta_data = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) ); |
|
82 | - return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this ); |
|
83 | - } |
|
84 | - |
|
85 | - /** |
|
86 | - * Deletes meta based on meta ID. |
|
87 | - * |
|
88 | - * @since 1.0.19 |
|
89 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
90 | - * @param stdClass $meta (containing at least ->id). |
|
91 | - */ |
|
92 | - public function delete_meta( &$object, $meta ) { |
|
93 | - delete_metadata_by_mid( $this->meta_type, $meta->id ); |
|
94 | - } |
|
95 | - |
|
96 | - /** |
|
97 | - * Add new piece of meta. |
|
98 | - * |
|
99 | - * @since 1.0.19 |
|
100 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
101 | - * @param stdClass $meta (containing ->key and ->value). |
|
102 | - * @return int meta ID |
|
103 | - */ |
|
104 | - public function add_meta( &$object, $meta ) { |
|
105 | - return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false ); |
|
106 | - } |
|
107 | - |
|
108 | - /** |
|
109 | - * Update meta. |
|
110 | - * |
|
111 | - * @since 1.0.19 |
|
112 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
113 | - * @param stdClass $meta (containing ->id, ->key and ->value). |
|
114 | - */ |
|
115 | - public function update_meta( &$object, $meta ) { |
|
116 | - update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key ); |
|
117 | - } |
|
118 | - |
|
119 | - /** |
|
120 | - * Table structure is slightly different between meta types, this function will return what we need to know. |
|
121 | - * |
|
122 | - * @since 1.0.19 |
|
123 | - * @return array Array elements: table, object_id_field, meta_id_field |
|
124 | - */ |
|
125 | - protected function get_db_info() { |
|
126 | - global $wpdb; |
|
127 | - |
|
128 | - $meta_id_field = 'meta_id'; // users table calls this umeta_id so we need to track this as well. |
|
129 | - $table = $wpdb->prefix; |
|
130 | - |
|
131 | - // If we are dealing with a type of metadata that is not a core type, the table should be prefixed. |
|
132 | - if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) { |
|
133 | - $table .= 'getpaid_'; |
|
134 | - } |
|
135 | - |
|
136 | - $table .= $this->meta_type . 'meta'; |
|
137 | - $object_id_field = $this->meta_type . '_id'; |
|
138 | - |
|
139 | - // Figure out our field names. |
|
140 | - if ( 'user' === $this->meta_type ) { |
|
141 | - $meta_id_field = 'umeta_id'; |
|
142 | - $table = $wpdb->usermeta; |
|
143 | - } |
|
144 | - |
|
145 | - if ( ! empty( $this->object_id_field_for_meta ) ) { |
|
146 | - $object_id_field = $this->object_id_field_for_meta; |
|
147 | - } |
|
148 | - |
|
149 | - return array( |
|
150 | - 'table' => $table, |
|
151 | - 'object_id_field' => $object_id_field, |
|
152 | - 'meta_id_field' => $meta_id_field, |
|
153 | - ); |
|
154 | - } |
|
155 | - |
|
156 | - /** |
|
157 | - * Internal meta keys we don't want exposed as part of meta_data. This is in |
|
158 | - * addition to all data props with _ prefix. |
|
159 | - * |
|
160 | - * @since 1.0.19 |
|
161 | - * |
|
162 | - * @param string $key Prefix to be added to meta keys. |
|
163 | - * @return string |
|
164 | - */ |
|
165 | - protected function prefix_key( $key ) { |
|
166 | - return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key; |
|
167 | - } |
|
168 | - |
|
169 | - /** |
|
170 | - * Callback to remove unwanted meta data. |
|
171 | - * |
|
172 | - * @param object $meta Meta object to check if it should be excluded or not. |
|
173 | - * @return bool |
|
174 | - */ |
|
175 | - protected function exclude_internal_meta_keys( $meta ) { |
|
176 | - return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' ); |
|
177 | - } |
|
178 | - |
|
179 | - /** |
|
180 | - * Gets a list of props and meta keys that need updated based on change state |
|
181 | - * or if they are present in the database or not. |
|
182 | - * |
|
183 | - * @param GetPaid_Data $object The GetPaid_Data object. |
|
184 | - * @param array $meta_key_to_props A mapping of meta keys => prop names. |
|
185 | - * @param string $meta_type The internal WP meta type (post, user, etc). |
|
186 | - * @return array A mapping of meta keys => prop names, filtered by ones that should be updated. |
|
187 | - */ |
|
188 | - protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) { |
|
189 | - $props_to_update = array(); |
|
190 | - $changed_props = $object->get_changes(); |
|
191 | - |
|
192 | - // Props should be updated if they are a part of the $changed array or don't exist yet. |
|
193 | - foreach ( $meta_key_to_props as $meta_key => $prop ) { |
|
194 | - if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) { |
|
195 | - $props_to_update[ $meta_key ] = $prop; |
|
196 | - } |
|
197 | - } |
|
198 | - |
|
199 | - return $props_to_update; |
|
200 | - } |
|
201 | - |
|
202 | - /** |
|
203 | - * Read object data. |
|
204 | - * |
|
205 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
206 | - * @param WP_Post $post_object Post object. |
|
207 | - * @since 1.0.19 |
|
208 | - */ |
|
209 | - protected function read_object_data( &$object, $post_object ) { |
|
210 | - $id = $object->get_id(); |
|
211 | - $props = array(); |
|
212 | - |
|
213 | - foreach ( $this->meta_key_to_props as $meta_key => $prop ) { |
|
214 | - $props[ $prop ] = get_post_meta( $id, $meta_key, true ); |
|
215 | - } |
|
216 | - |
|
217 | - // Set object properties. |
|
218 | - $object->set_props( $props ); |
|
219 | - |
|
220 | - // Gets extra data associated with the object if needed. |
|
221 | - foreach ( $object->get_extra_data_keys() as $key ) { |
|
222 | - $function = 'set_' . $key; |
|
223 | - if ( is_callable( array( $object, $function ) ) ) { |
|
224 | - $object->{$function}( get_post_meta( $object->get_id(), $key, true ) ); |
|
225 | - } |
|
226 | - } |
|
227 | - } |
|
228 | - |
|
229 | - /** |
|
230 | - * Helper method that updates all the post meta for an object based on it's settings in the GetPaid_Data class. |
|
231 | - * |
|
232 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
233 | - * @since 1.0.19 |
|
234 | - */ |
|
235 | - protected function update_post_meta( &$object ) { |
|
236 | - |
|
237 | - $updated_props = array(); |
|
238 | - $props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props ); |
|
239 | - $object_type = $object->get_object_type(); |
|
240 | - |
|
241 | - foreach ( $props_to_update as $meta_key => $prop ) { |
|
242 | - $value = $object->{"get_$prop"}( 'edit' ); |
|
243 | - $value = is_string( $value ) ? wp_slash( $value ) : $value; |
|
244 | - |
|
245 | - $updated = $this->update_or_delete_post_meta( $object, $meta_key, $value ); |
|
246 | - |
|
247 | - if ( $updated ) { |
|
248 | - $updated_props[] = $prop; |
|
249 | - } |
|
250 | - } |
|
251 | - |
|
252 | - do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props ); |
|
253 | - } |
|
254 | - |
|
255 | - /** |
|
256 | - * Update meta data in, or delete it from, the database. |
|
257 | - * |
|
258 | - * Avoids storing meta when it's either an empty string or empty array or null. |
|
259 | - * Other empty values such as numeric 0 should still be stored. |
|
260 | - * Data-stores can force meta to exist using `must_exist_meta_keys`. |
|
261 | - * |
|
262 | - * Note: WordPress `get_metadata` function returns an empty string when meta data does not exist. |
|
263 | - * |
|
264 | - * @param GetPaid_Data $object The GetPaid_Data object. |
|
265 | - * @param string $meta_key Meta key to update. |
|
266 | - * @param mixed $meta_value Value to save. |
|
267 | - * |
|
268 | - * @since 1.0.19 Added to prevent empty meta being stored unless required. |
|
269 | - * |
|
270 | - * @return bool True if updated/deleted. |
|
271 | - */ |
|
272 | - protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) { |
|
273 | - if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) { |
|
274 | - $updated = delete_post_meta( $object->get_id(), $meta_key ); |
|
275 | - } else { |
|
276 | - $updated = update_post_meta( $object->get_id(), $meta_key, $meta_value ); |
|
277 | - } |
|
278 | - |
|
279 | - return (bool) $updated; |
|
280 | - } |
|
281 | - |
|
282 | - /** |
|
283 | - * Return list of internal meta keys. |
|
284 | - * |
|
285 | - * @since 1.0.19 |
|
286 | - * @return array |
|
287 | - */ |
|
288 | - public function get_internal_meta_keys() { |
|
289 | - return $this->internal_meta_keys; |
|
290 | - } |
|
291 | - |
|
292 | - /** |
|
293 | - * Clear any caches. |
|
294 | - * |
|
295 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
296 | - * @since 1.0.19 |
|
297 | - */ |
|
298 | - protected function clear_caches( &$object ) { |
|
299 | - clean_post_cache( $object->get_id() ); |
|
300 | - } |
|
301 | - |
|
302 | - /** |
|
303 | - * Method to delete a data object from the database. |
|
304 | - * |
|
305 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
306 | - * @param array $args Array of args to pass to the delete method. |
|
307 | - * |
|
308 | - * @return void |
|
309 | - */ |
|
310 | - public function delete( &$object, $args = array() ) { |
|
311 | - $id = $object->get_id(); |
|
312 | - $object_type = $object->get_object_type(); |
|
313 | - |
|
314 | - if ( 'invoice' == $object_type ) { |
|
315 | - $object_type = $object->get_type(); |
|
316 | - } |
|
317 | - |
|
318 | - $args = wp_parse_args( |
|
319 | - $args, |
|
320 | - array( |
|
321 | - 'force_delete' => false, |
|
322 | - ) |
|
323 | - ); |
|
324 | - |
|
325 | - if ( ! $id ) { |
|
326 | - return; |
|
327 | - } |
|
328 | - |
|
329 | - if ( $args['force_delete'] ) { |
|
330 | - do_action( "getpaid_delete_$object_type", $object ); |
|
331 | - wp_delete_post( $id, true ); |
|
332 | - $object->set_id( 0 ); |
|
333 | - } else { |
|
334 | - do_action( "getpaid_trash_$object_type", $object ); |
|
335 | - wp_trash_post( $id ); |
|
336 | - $object->set_status( 'trash' ); |
|
337 | - } |
|
338 | - } |
|
339 | - |
|
340 | - /** |
|
341 | - * Get the status to save to the post object. |
|
342 | - * |
|
343 | - * |
|
344 | - * @since 1.0.19 |
|
345 | - * @param GetPaid_Data $object GetPaid_Data object. |
|
346 | - * @return string |
|
347 | - */ |
|
348 | - protected function get_post_status( $object ) { |
|
349 | - $object_status = $object->get_status( 'edit' ); |
|
350 | - $object_type = $object->get_object_type(); |
|
351 | - |
|
352 | - if ( ! $object_status ) { |
|
353 | - $object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' ); |
|
354 | - } |
|
355 | - |
|
356 | - return $object_status; |
|
357 | - } |
|
76 | + $object->get_id() |
|
77 | + ) |
|
78 | + ); |
|
79 | + |
|
80 | + $this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys ); |
|
81 | + $meta_data = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) ); |
|
82 | + return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this ); |
|
83 | + } |
|
84 | + |
|
85 | + /** |
|
86 | + * Deletes meta based on meta ID. |
|
87 | + * |
|
88 | + * @since 1.0.19 |
|
89 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
90 | + * @param stdClass $meta (containing at least ->id). |
|
91 | + */ |
|
92 | + public function delete_meta( &$object, $meta ) { |
|
93 | + delete_metadata_by_mid( $this->meta_type, $meta->id ); |
|
94 | + } |
|
95 | + |
|
96 | + /** |
|
97 | + * Add new piece of meta. |
|
98 | + * |
|
99 | + * @since 1.0.19 |
|
100 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
101 | + * @param stdClass $meta (containing ->key and ->value). |
|
102 | + * @return int meta ID |
|
103 | + */ |
|
104 | + public function add_meta( &$object, $meta ) { |
|
105 | + return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false ); |
|
106 | + } |
|
107 | + |
|
108 | + /** |
|
109 | + * Update meta. |
|
110 | + * |
|
111 | + * @since 1.0.19 |
|
112 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
113 | + * @param stdClass $meta (containing ->id, ->key and ->value). |
|
114 | + */ |
|
115 | + public function update_meta( &$object, $meta ) { |
|
116 | + update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key ); |
|
117 | + } |
|
118 | + |
|
119 | + /** |
|
120 | + * Table structure is slightly different between meta types, this function will return what we need to know. |
|
121 | + * |
|
122 | + * @since 1.0.19 |
|
123 | + * @return array Array elements: table, object_id_field, meta_id_field |
|
124 | + */ |
|
125 | + protected function get_db_info() { |
|
126 | + global $wpdb; |
|
127 | + |
|
128 | + $meta_id_field = 'meta_id'; // users table calls this umeta_id so we need to track this as well. |
|
129 | + $table = $wpdb->prefix; |
|
130 | + |
|
131 | + // If we are dealing with a type of metadata that is not a core type, the table should be prefixed. |
|
132 | + if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) { |
|
133 | + $table .= 'getpaid_'; |
|
134 | + } |
|
135 | + |
|
136 | + $table .= $this->meta_type . 'meta'; |
|
137 | + $object_id_field = $this->meta_type . '_id'; |
|
138 | + |
|
139 | + // Figure out our field names. |
|
140 | + if ( 'user' === $this->meta_type ) { |
|
141 | + $meta_id_field = 'umeta_id'; |
|
142 | + $table = $wpdb->usermeta; |
|
143 | + } |
|
144 | + |
|
145 | + if ( ! empty( $this->object_id_field_for_meta ) ) { |
|
146 | + $object_id_field = $this->object_id_field_for_meta; |
|
147 | + } |
|
148 | + |
|
149 | + return array( |
|
150 | + 'table' => $table, |
|
151 | + 'object_id_field' => $object_id_field, |
|
152 | + 'meta_id_field' => $meta_id_field, |
|
153 | + ); |
|
154 | + } |
|
155 | + |
|
156 | + /** |
|
157 | + * Internal meta keys we don't want exposed as part of meta_data. This is in |
|
158 | + * addition to all data props with _ prefix. |
|
159 | + * |
|
160 | + * @since 1.0.19 |
|
161 | + * |
|
162 | + * @param string $key Prefix to be added to meta keys. |
|
163 | + * @return string |
|
164 | + */ |
|
165 | + protected function prefix_key( $key ) { |
|
166 | + return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key; |
|
167 | + } |
|
168 | + |
|
169 | + /** |
|
170 | + * Callback to remove unwanted meta data. |
|
171 | + * |
|
172 | + * @param object $meta Meta object to check if it should be excluded or not. |
|
173 | + * @return bool |
|
174 | + */ |
|
175 | + protected function exclude_internal_meta_keys( $meta ) { |
|
176 | + return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' ); |
|
177 | + } |
|
178 | + |
|
179 | + /** |
|
180 | + * Gets a list of props and meta keys that need updated based on change state |
|
181 | + * or if they are present in the database or not. |
|
182 | + * |
|
183 | + * @param GetPaid_Data $object The GetPaid_Data object. |
|
184 | + * @param array $meta_key_to_props A mapping of meta keys => prop names. |
|
185 | + * @param string $meta_type The internal WP meta type (post, user, etc). |
|
186 | + * @return array A mapping of meta keys => prop names, filtered by ones that should be updated. |
|
187 | + */ |
|
188 | + protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) { |
|
189 | + $props_to_update = array(); |
|
190 | + $changed_props = $object->get_changes(); |
|
191 | + |
|
192 | + // Props should be updated if they are a part of the $changed array or don't exist yet. |
|
193 | + foreach ( $meta_key_to_props as $meta_key => $prop ) { |
|
194 | + if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) { |
|
195 | + $props_to_update[ $meta_key ] = $prop; |
|
196 | + } |
|
197 | + } |
|
198 | + |
|
199 | + return $props_to_update; |
|
200 | + } |
|
201 | + |
|
202 | + /** |
|
203 | + * Read object data. |
|
204 | + * |
|
205 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
206 | + * @param WP_Post $post_object Post object. |
|
207 | + * @since 1.0.19 |
|
208 | + */ |
|
209 | + protected function read_object_data( &$object, $post_object ) { |
|
210 | + $id = $object->get_id(); |
|
211 | + $props = array(); |
|
212 | + |
|
213 | + foreach ( $this->meta_key_to_props as $meta_key => $prop ) { |
|
214 | + $props[ $prop ] = get_post_meta( $id, $meta_key, true ); |
|
215 | + } |
|
216 | + |
|
217 | + // Set object properties. |
|
218 | + $object->set_props( $props ); |
|
219 | + |
|
220 | + // Gets extra data associated with the object if needed. |
|
221 | + foreach ( $object->get_extra_data_keys() as $key ) { |
|
222 | + $function = 'set_' . $key; |
|
223 | + if ( is_callable( array( $object, $function ) ) ) { |
|
224 | + $object->{$function}( get_post_meta( $object->get_id(), $key, true ) ); |
|
225 | + } |
|
226 | + } |
|
227 | + } |
|
228 | + |
|
229 | + /** |
|
230 | + * Helper method that updates all the post meta for an object based on it's settings in the GetPaid_Data class. |
|
231 | + * |
|
232 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
233 | + * @since 1.0.19 |
|
234 | + */ |
|
235 | + protected function update_post_meta( &$object ) { |
|
236 | + |
|
237 | + $updated_props = array(); |
|
238 | + $props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props ); |
|
239 | + $object_type = $object->get_object_type(); |
|
240 | + |
|
241 | + foreach ( $props_to_update as $meta_key => $prop ) { |
|
242 | + $value = $object->{"get_$prop"}( 'edit' ); |
|
243 | + $value = is_string( $value ) ? wp_slash( $value ) : $value; |
|
244 | + |
|
245 | + $updated = $this->update_or_delete_post_meta( $object, $meta_key, $value ); |
|
246 | + |
|
247 | + if ( $updated ) { |
|
248 | + $updated_props[] = $prop; |
|
249 | + } |
|
250 | + } |
|
251 | + |
|
252 | + do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props ); |
|
253 | + } |
|
254 | + |
|
255 | + /** |
|
256 | + * Update meta data in, or delete it from, the database. |
|
257 | + * |
|
258 | + * Avoids storing meta when it's either an empty string or empty array or null. |
|
259 | + * Other empty values such as numeric 0 should still be stored. |
|
260 | + * Data-stores can force meta to exist using `must_exist_meta_keys`. |
|
261 | + * |
|
262 | + * Note: WordPress `get_metadata` function returns an empty string when meta data does not exist. |
|
263 | + * |
|
264 | + * @param GetPaid_Data $object The GetPaid_Data object. |
|
265 | + * @param string $meta_key Meta key to update. |
|
266 | + * @param mixed $meta_value Value to save. |
|
267 | + * |
|
268 | + * @since 1.0.19 Added to prevent empty meta being stored unless required. |
|
269 | + * |
|
270 | + * @return bool True if updated/deleted. |
|
271 | + */ |
|
272 | + protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) { |
|
273 | + if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) { |
|
274 | + $updated = delete_post_meta( $object->get_id(), $meta_key ); |
|
275 | + } else { |
|
276 | + $updated = update_post_meta( $object->get_id(), $meta_key, $meta_value ); |
|
277 | + } |
|
278 | + |
|
279 | + return (bool) $updated; |
|
280 | + } |
|
281 | + |
|
282 | + /** |
|
283 | + * Return list of internal meta keys. |
|
284 | + * |
|
285 | + * @since 1.0.19 |
|
286 | + * @return array |
|
287 | + */ |
|
288 | + public function get_internal_meta_keys() { |
|
289 | + return $this->internal_meta_keys; |
|
290 | + } |
|
291 | + |
|
292 | + /** |
|
293 | + * Clear any caches. |
|
294 | + * |
|
295 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
296 | + * @since 1.0.19 |
|
297 | + */ |
|
298 | + protected function clear_caches( &$object ) { |
|
299 | + clean_post_cache( $object->get_id() ); |
|
300 | + } |
|
301 | + |
|
302 | + /** |
|
303 | + * Method to delete a data object from the database. |
|
304 | + * |
|
305 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
306 | + * @param array $args Array of args to pass to the delete method. |
|
307 | + * |
|
308 | + * @return void |
|
309 | + */ |
|
310 | + public function delete( &$object, $args = array() ) { |
|
311 | + $id = $object->get_id(); |
|
312 | + $object_type = $object->get_object_type(); |
|
313 | + |
|
314 | + if ( 'invoice' == $object_type ) { |
|
315 | + $object_type = $object->get_type(); |
|
316 | + } |
|
317 | + |
|
318 | + $args = wp_parse_args( |
|
319 | + $args, |
|
320 | + array( |
|
321 | + 'force_delete' => false, |
|
322 | + ) |
|
323 | + ); |
|
324 | + |
|
325 | + if ( ! $id ) { |
|
326 | + return; |
|
327 | + } |
|
328 | + |
|
329 | + if ( $args['force_delete'] ) { |
|
330 | + do_action( "getpaid_delete_$object_type", $object ); |
|
331 | + wp_delete_post( $id, true ); |
|
332 | + $object->set_id( 0 ); |
|
333 | + } else { |
|
334 | + do_action( "getpaid_trash_$object_type", $object ); |
|
335 | + wp_trash_post( $id ); |
|
336 | + $object->set_status( 'trash' ); |
|
337 | + } |
|
338 | + } |
|
339 | + |
|
340 | + /** |
|
341 | + * Get the status to save to the post object. |
|
342 | + * |
|
343 | + * |
|
344 | + * @since 1.0.19 |
|
345 | + * @param GetPaid_Data $object GetPaid_Data object. |
|
346 | + * @return string |
|
347 | + */ |
|
348 | + protected function get_post_status( $object ) { |
|
349 | + $object_status = $object->get_status( 'edit' ); |
|
350 | + $object_type = $object->get_object_type(); |
|
351 | + |
|
352 | + if ( ! $object_status ) { |
|
353 | + $object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' ); |
|
354 | + } |
|
355 | + |
|
356 | + return $object_status; |
|
357 | + } |
|
358 | 358 | |
359 | 359 | } |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | * @version 1.0.19 |
6 | 6 | */ |
7 | 7 | |
8 | -defined( 'ABSPATH' ) || exit; |
|
8 | +defined('ABSPATH') || exit; |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * GetPaid_Data_Store_WP class. |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | * @param GetPaid_Data $object GetPaid_Data object. |
65 | 65 | * @return array |
66 | 66 | */ |
67 | - public function read_meta( &$object ) { |
|
67 | + public function read_meta(&$object) { |
|
68 | 68 | global $wpdb; |
69 | 69 | $db_info = $this->get_db_info(); |
70 | 70 | $raw_meta_data = $wpdb->get_results( |
@@ -77,9 +77,9 @@ discard block |
||
77 | 77 | ) |
78 | 78 | ); |
79 | 79 | |
80 | - $this->internal_meta_keys = array_merge( array_map( array( $this, 'prefix_key' ), $object->get_data_keys() ), $this->internal_meta_keys ); |
|
81 | - $meta_data = array_filter( $raw_meta_data, array( $this, 'exclude_internal_meta_keys' ) ); |
|
82 | - return apply_filters( "getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this ); |
|
80 | + $this->internal_meta_keys = array_merge(array_map(array($this, 'prefix_key'), $object->get_data_keys()), $this->internal_meta_keys); |
|
81 | + $meta_data = array_filter($raw_meta_data, array($this, 'exclude_internal_meta_keys')); |
|
82 | + return apply_filters("getpaid_data_store_wp_{$this->meta_type}_read_meta", $meta_data, $object, $this); |
|
83 | 83 | } |
84 | 84 | |
85 | 85 | /** |
@@ -89,8 +89,8 @@ discard block |
||
89 | 89 | * @param GetPaid_Data $object GetPaid_Data object. |
90 | 90 | * @param stdClass $meta (containing at least ->id). |
91 | 91 | */ |
92 | - public function delete_meta( &$object, $meta ) { |
|
93 | - delete_metadata_by_mid( $this->meta_type, $meta->id ); |
|
92 | + public function delete_meta(&$object, $meta) { |
|
93 | + delete_metadata_by_mid($this->meta_type, $meta->id); |
|
94 | 94 | } |
95 | 95 | |
96 | 96 | /** |
@@ -101,8 +101,8 @@ discard block |
||
101 | 101 | * @param stdClass $meta (containing ->key and ->value). |
102 | 102 | * @return int meta ID |
103 | 103 | */ |
104 | - public function add_meta( &$object, $meta ) { |
|
105 | - return add_metadata( $this->meta_type, $object->get_id(), $meta->key, is_string( $meta->value ) ? wp_slash( $meta->value ) : $meta->value, false ); |
|
104 | + public function add_meta(&$object, $meta) { |
|
105 | + return add_metadata($this->meta_type, $object->get_id(), $meta->key, is_string($meta->value) ? wp_slash($meta->value) : $meta->value, false); |
|
106 | 106 | } |
107 | 107 | |
108 | 108 | /** |
@@ -112,8 +112,8 @@ discard block |
||
112 | 112 | * @param GetPaid_Data $object GetPaid_Data object. |
113 | 113 | * @param stdClass $meta (containing ->id, ->key and ->value). |
114 | 114 | */ |
115 | - public function update_meta( &$object, $meta ) { |
|
116 | - update_metadata_by_mid( $this->meta_type, $meta->id, $meta->value, $meta->key ); |
|
115 | + public function update_meta(&$object, $meta) { |
|
116 | + update_metadata_by_mid($this->meta_type, $meta->id, $meta->value, $meta->key); |
|
117 | 117 | } |
118 | 118 | |
119 | 119 | /** |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | $table = $wpdb->prefix; |
130 | 130 | |
131 | 131 | // If we are dealing with a type of metadata that is not a core type, the table should be prefixed. |
132 | - if ( ! in_array( $this->meta_type, array( 'post', 'user', 'comment', 'term' ), true ) ) { |
|
132 | + if (!in_array($this->meta_type, array('post', 'user', 'comment', 'term'), true)) { |
|
133 | 133 | $table .= 'getpaid_'; |
134 | 134 | } |
135 | 135 | |
@@ -137,12 +137,12 @@ discard block |
||
137 | 137 | $object_id_field = $this->meta_type . '_id'; |
138 | 138 | |
139 | 139 | // Figure out our field names. |
140 | - if ( 'user' === $this->meta_type ) { |
|
140 | + if ('user' === $this->meta_type) { |
|
141 | 141 | $meta_id_field = 'umeta_id'; |
142 | 142 | $table = $wpdb->usermeta; |
143 | 143 | } |
144 | 144 | |
145 | - if ( ! empty( $this->object_id_field_for_meta ) ) { |
|
145 | + if (!empty($this->object_id_field_for_meta)) { |
|
146 | 146 | $object_id_field = $this->object_id_field_for_meta; |
147 | 147 | } |
148 | 148 | |
@@ -162,8 +162,8 @@ discard block |
||
162 | 162 | * @param string $key Prefix to be added to meta keys. |
163 | 163 | * @return string |
164 | 164 | */ |
165 | - protected function prefix_key( $key ) { |
|
166 | - return '_' === substr( $key, 0, 1 ) ? $key : '_' . $key; |
|
165 | + protected function prefix_key($key) { |
|
166 | + return '_' === substr($key, 0, 1) ? $key : '_' . $key; |
|
167 | 167 | } |
168 | 168 | |
169 | 169 | /** |
@@ -172,8 +172,8 @@ discard block |
||
172 | 172 | * @param object $meta Meta object to check if it should be excluded or not. |
173 | 173 | * @return bool |
174 | 174 | */ |
175 | - protected function exclude_internal_meta_keys( $meta ) { |
|
176 | - return ! in_array( $meta->meta_key, $this->internal_meta_keys, true ) && 0 !== stripos( $meta->meta_key, 'wp_' ); |
|
175 | + protected function exclude_internal_meta_keys($meta) { |
|
176 | + return !in_array($meta->meta_key, $this->internal_meta_keys, true) && 0 !== stripos($meta->meta_key, 'wp_'); |
|
177 | 177 | } |
178 | 178 | |
179 | 179 | /** |
@@ -185,14 +185,14 @@ discard block |
||
185 | 185 | * @param string $meta_type The internal WP meta type (post, user, etc). |
186 | 186 | * @return array A mapping of meta keys => prop names, filtered by ones that should be updated. |
187 | 187 | */ |
188 | - protected function get_props_to_update( $object, $meta_key_to_props, $meta_type = 'post' ) { |
|
188 | + protected function get_props_to_update($object, $meta_key_to_props, $meta_type = 'post') { |
|
189 | 189 | $props_to_update = array(); |
190 | 190 | $changed_props = $object->get_changes(); |
191 | 191 | |
192 | 192 | // Props should be updated if they are a part of the $changed array or don't exist yet. |
193 | - foreach ( $meta_key_to_props as $meta_key => $prop ) { |
|
194 | - if ( array_key_exists( $prop, $changed_props ) || ! metadata_exists( $meta_type, $object->get_id(), $meta_key ) ) { |
|
195 | - $props_to_update[ $meta_key ] = $prop; |
|
193 | + foreach ($meta_key_to_props as $meta_key => $prop) { |
|
194 | + if (array_key_exists($prop, $changed_props) || !metadata_exists($meta_type, $object->get_id(), $meta_key)) { |
|
195 | + $props_to_update[$meta_key] = $prop; |
|
196 | 196 | } |
197 | 197 | } |
198 | 198 | |
@@ -206,22 +206,22 @@ discard block |
||
206 | 206 | * @param WP_Post $post_object Post object. |
207 | 207 | * @since 1.0.19 |
208 | 208 | */ |
209 | - protected function read_object_data( &$object, $post_object ) { |
|
209 | + protected function read_object_data(&$object, $post_object) { |
|
210 | 210 | $id = $object->get_id(); |
211 | 211 | $props = array(); |
212 | 212 | |
213 | - foreach ( $this->meta_key_to_props as $meta_key => $prop ) { |
|
214 | - $props[ $prop ] = get_post_meta( $id, $meta_key, true ); |
|
213 | + foreach ($this->meta_key_to_props as $meta_key => $prop) { |
|
214 | + $props[$prop] = get_post_meta($id, $meta_key, true); |
|
215 | 215 | } |
216 | 216 | |
217 | 217 | // Set object properties. |
218 | - $object->set_props( $props ); |
|
218 | + $object->set_props($props); |
|
219 | 219 | |
220 | 220 | // Gets extra data associated with the object if needed. |
221 | - foreach ( $object->get_extra_data_keys() as $key ) { |
|
221 | + foreach ($object->get_extra_data_keys() as $key) { |
|
222 | 222 | $function = 'set_' . $key; |
223 | - if ( is_callable( array( $object, $function ) ) ) { |
|
224 | - $object->{$function}( get_post_meta( $object->get_id(), $key, true ) ); |
|
223 | + if (is_callable(array($object, $function))) { |
|
224 | + $object->{$function}(get_post_meta($object->get_id(), $key, true)); |
|
225 | 225 | } |
226 | 226 | } |
227 | 227 | } |
@@ -232,24 +232,24 @@ discard block |
||
232 | 232 | * @param GetPaid_Data $object GetPaid_Data object. |
233 | 233 | * @since 1.0.19 |
234 | 234 | */ |
235 | - protected function update_post_meta( &$object ) { |
|
235 | + protected function update_post_meta(&$object) { |
|
236 | 236 | |
237 | 237 | $updated_props = array(); |
238 | - $props_to_update = $this->get_props_to_update( $object, $this->meta_key_to_props ); |
|
238 | + $props_to_update = $this->get_props_to_update($object, $this->meta_key_to_props); |
|
239 | 239 | $object_type = $object->get_object_type(); |
240 | 240 | |
241 | - foreach ( $props_to_update as $meta_key => $prop ) { |
|
242 | - $value = $object->{"get_$prop"}( 'edit' ); |
|
243 | - $value = is_string( $value ) ? wp_slash( $value ) : $value; |
|
241 | + foreach ($props_to_update as $meta_key => $prop) { |
|
242 | + $value = $object->{"get_$prop"}('edit'); |
|
243 | + $value = is_string($value) ? wp_slash($value) : $value; |
|
244 | 244 | |
245 | - $updated = $this->update_or_delete_post_meta( $object, $meta_key, $value ); |
|
245 | + $updated = $this->update_or_delete_post_meta($object, $meta_key, $value); |
|
246 | 246 | |
247 | - if ( $updated ) { |
|
247 | + if ($updated) { |
|
248 | 248 | $updated_props[] = $prop; |
249 | 249 | } |
250 | 250 | } |
251 | 251 | |
252 | - do_action( "getpaid_{$object_type}_object_updated_props", $object, $updated_props ); |
|
252 | + do_action("getpaid_{$object_type}_object_updated_props", $object, $updated_props); |
|
253 | 253 | } |
254 | 254 | |
255 | 255 | /** |
@@ -269,11 +269,11 @@ discard block |
||
269 | 269 | * |
270 | 270 | * @return bool True if updated/deleted. |
271 | 271 | */ |
272 | - protected function update_or_delete_post_meta( $object, $meta_key, $meta_value ) { |
|
273 | - if ( in_array( $meta_value, array( array(), '', null ), true ) && ! in_array( $meta_key, $this->must_exist_meta_keys, true ) ) { |
|
274 | - $updated = delete_post_meta( $object->get_id(), $meta_key ); |
|
272 | + protected function update_or_delete_post_meta($object, $meta_key, $meta_value) { |
|
273 | + if (in_array($meta_value, array(array(), '', null), true) && !in_array($meta_key, $this->must_exist_meta_keys, true)) { |
|
274 | + $updated = delete_post_meta($object->get_id(), $meta_key); |
|
275 | 275 | } else { |
276 | - $updated = update_post_meta( $object->get_id(), $meta_key, $meta_value ); |
|
276 | + $updated = update_post_meta($object->get_id(), $meta_key, $meta_value); |
|
277 | 277 | } |
278 | 278 | |
279 | 279 | return (bool) $updated; |
@@ -295,8 +295,8 @@ discard block |
||
295 | 295 | * @param GetPaid_Data $object GetPaid_Data object. |
296 | 296 | * @since 1.0.19 |
297 | 297 | */ |
298 | - protected function clear_caches( &$object ) { |
|
299 | - clean_post_cache( $object->get_id() ); |
|
298 | + protected function clear_caches(&$object) { |
|
299 | + clean_post_cache($object->get_id()); |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | /** |
@@ -307,33 +307,33 @@ discard block |
||
307 | 307 | * |
308 | 308 | * @return void |
309 | 309 | */ |
310 | - public function delete( &$object, $args = array() ) { |
|
310 | + public function delete(&$object, $args = array()) { |
|
311 | 311 | $id = $object->get_id(); |
312 | 312 | $object_type = $object->get_object_type(); |
313 | 313 | |
314 | - if ( 'invoice' == $object_type ) { |
|
314 | + if ('invoice' == $object_type) { |
|
315 | 315 | $object_type = $object->get_type(); |
316 | 316 | } |
317 | 317 | |
318 | - $args = wp_parse_args( |
|
318 | + $args = wp_parse_args( |
|
319 | 319 | $args, |
320 | 320 | array( |
321 | 321 | 'force_delete' => false, |
322 | 322 | ) |
323 | 323 | ); |
324 | 324 | |
325 | - if ( ! $id ) { |
|
325 | + if (!$id) { |
|
326 | 326 | return; |
327 | 327 | } |
328 | 328 | |
329 | - if ( $args['force_delete'] ) { |
|
330 | - do_action( "getpaid_delete_$object_type", $object ); |
|
331 | - wp_delete_post( $id, true ); |
|
332 | - $object->set_id( 0 ); |
|
329 | + if ($args['force_delete']) { |
|
330 | + do_action("getpaid_delete_$object_type", $object); |
|
331 | + wp_delete_post($id, true); |
|
332 | + $object->set_id(0); |
|
333 | 333 | } else { |
334 | - do_action( "getpaid_trash_$object_type", $object ); |
|
335 | - wp_trash_post( $id ); |
|
336 | - $object->set_status( 'trash' ); |
|
334 | + do_action("getpaid_trash_$object_type", $object); |
|
335 | + wp_trash_post($id); |
|
336 | + $object->set_status('trash'); |
|
337 | 337 | } |
338 | 338 | } |
339 | 339 | |
@@ -345,12 +345,12 @@ discard block |
||
345 | 345 | * @param GetPaid_Data $object GetPaid_Data object. |
346 | 346 | * @return string |
347 | 347 | */ |
348 | - protected function get_post_status( $object ) { |
|
349 | - $object_status = $object->get_status( 'edit' ); |
|
348 | + protected function get_post_status($object) { |
|
349 | + $object_status = $object->get_status('edit'); |
|
350 | 350 | $object_type = $object->get_object_type(); |
351 | 351 | |
352 | - if ( ! $object_status ) { |
|
353 | - $object_status = apply_filters( "getpaid_default_{$object_type}_status", 'draft' ); |
|
352 | + if (!$object_status) { |
|
353 | + $object_status = apply_filters("getpaid_default_{$object_type}_status", 'draft'); |
|
354 | 354 | } |
355 | 355 | |
356 | 356 | return $object_status; |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 | <div class='form-check'> |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |