Changeset 2292
- Timestamp:
- 01/13/2016 12:33:24 AM (9 years ago)
- Location:
- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php
r2288 r2292 547 547 548 548 /** 549 * Determines whether we want to perform actions on the given post based on the current context.550 *551 * Examples of actions we might perform are saving the meta fields during the `save_post` hook, or send out an552 * e-mail notification during the `transition_post_status` hook.553 *554 * This function is called by several other functions, each of which may require additional checks that are555 * specific to their circumstances. This function only covers checks that are common to all of its callers.556 *557 * @param WP_Post | array $post558 *559 * @return bool560 */561 protected function post_edit_is_actionable( $post ) {562 if ( is_array( $post ) ) {563 $post = (object) $post;564 }565 566 $is_actionable = true;567 $ignored_actions = array( 'trash', 'untrash', 'restore', 'bulk_edit' ); // todo ignore bulk deletion too568 569 // Don't take action on other post types570 if ( ! $post || $post->post_type != self::POST_TYPE ) {571 $is_actionable = false;572 }573 574 // Don't take action if the user isn't allowed. The ID will be missing from new posts during `wp_insert_post_data`, though, so skip it then.575 if ( $is_actionable && isset( $post->ID ) && ! current_user_can( 'edit_post', $post->ID ) ) {576 $is_actionable = false;577 }578 579 // Don't take action while trashing the post, etc580 if ( $is_actionable && isset( $_GET['action'] ) && in_array( $_GET['action'], $ignored_actions ) ) {581 $is_actionable = false;582 }583 584 // Don't take action during autosaves585 if ( $is_actionable && ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || $post->post_status == 'auto-draft' ) ) {586 $is_actionable = false;587 }588 589 return $is_actionable;590 }591 592 /**593 549 * Set the request's status based on whether the vendor has been paid. 594 550 * … … 598 554 */ 599 555 public function update_request_status( $post_data, $post_data_raw ) { 600 if ( $this->post_edit_is_actionable( $post_data) ) {556 if ( WordCamp_Budgets::post_edit_is_actionable( $post_data, self::POST_TYPE ) ) { 601 557 if ( $this->should_mark_request_incomplete() ) { 602 558 $post_data['post_status'] = 'incomplete'; … … 707 663 */ 708 664 public function save_payment( $post_id, $post ) { 709 if ( ! $this->post_edit_is_actionable( $post) ) {665 if ( ! WordCamp_Budgets::post_edit_is_actionable( $post, self::POST_TYPE ) ) { 710 666 return; 711 667 } -
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/wordcamp-budgets.php
r2288 r2292 167 167 168 168 /** 169 * Determines whether we want to perform actions on the given post based on the current context. 170 * 171 * Examples of actions we might perform are saving the meta fields during the `save_post` hook, or send out an 172 * e-mail notification during the `transition_post_status` hook. 173 * 174 * This function is called by several other functions, each of which may require additional checks that are 175 * specific to their circumstances. This function only covers checks that are common to all of its callers. 176 * 177 * @param WP_Post|array $post 178 * @param string $valid_post_type 179 * 180 * @return bool 181 */ 182 public static function post_edit_is_actionable( $post, $valid_post_type ) { 183 if ( is_array( $post ) ) { 184 $post = (object) $post; 185 } 186 187 $is_actionable = true; 188 $ignored_actions = array( 'trash', 'untrash', 'restore', 'bulk_edit' ); // todo ignore bulk deletion too 189 190 // Don't take action on other post types 191 if ( ! $post || $post->post_type != $valid_post_type ) { 192 $is_actionable = false; 193 } 194 195 // Don't take action if the user isn't allowed. The ID will be missing from new posts during `wp_insert_post_data`, though, so skip it then. 196 if ( $is_actionable && isset( $post->ID ) && ! current_user_can( 'edit_post', $post->ID ) ) { 197 $is_actionable = false; 198 } 199 200 // Don't take action while trashing the post, etc 201 if ( $is_actionable && isset( $_GET['action'] ) && in_array( $_GET['action'], $ignored_actions ) ) { 202 $is_actionable = false; 203 } 204 205 // Don't take action during autosaves 206 if ( $is_actionable && ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || $post->post_status == 'auto-draft' ) ) { 207 $is_actionable = false; 208 } 209 210 return $is_actionable; 211 } 212 213 /** 169 214 * Insert an entry into a log for one of the custom post types 170 215 *
Note: See TracChangeset
for help on using the changeset viewer.