Changeset 1732
- Timestamp:
- 07/10/2015 10:30:54 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/classes/payment-request.php
r1691 r1732 322 322 323 323 case 'requester': 324 $requester = get_user_by( 'id', $post->post_author ); 325 if ( is_a( $requester, 'WP_User' ) ) { 326 $value = sprintf( '%s <%s>', $requester->get( 'display_name' ), $requester->get( 'user_email' ) ); 327 } else { 328 $value = ''; 329 } 324 $value = $this->get_requester_formatted_email( $post->post_author ); 330 325 break; 331 326 … … 351 346 352 347 return $value; 348 } 349 350 /** 351 * Get the e-mail address of the requester in `Name <address>` format 352 * 353 * @param int $post_author_id 354 * 355 * @return false|string 356 */ 357 protected function get_requester_formatted_email( $post_author_id ) { 358 $address = false; 359 $requester = get_user_by( 'id', $post_author_id ); 360 361 if ( is_a( $requester, 'WP_User' ) ) { 362 $address = sprintf( '%s <%s>', $requester->get( 'display_name' ), $requester->get( 'user_email' ) ); 363 } 364 365 return $address; 353 366 } 354 367 … … 582 595 public function update_request_status( $post_data, $post_data_raw ) { 583 596 if ( $this->post_edit_is_actionable( $post_data ) ) { 597 $previous_status = $post_data['post_status']; 584 598 $post_data['post_status'] = strtotime( sanitize_text_field( $_POST['date_vendor_paid'] ) ) ? 'paid' : 'unpaid'; 599 600 if ( 'paid' != $previous_status && 'paid' == $post_data['post_status'] ) { 601 $this->notify_requester_payment_made( $post_data_raw['ID'], $post_data ); 602 } 585 603 } 586 604 587 605 return $post_data; 606 } 607 608 /** 609 * Notify the payment requester that it has been marked as paid. 610 * 611 * @param int $request_id 612 * @param array $post_data 613 */ 614 protected function notify_requester_payment_made( $request_id, $post_data ) { 615 if ( ! $to = $this->get_requester_formatted_email( $post_data['post_author'] ) ) { 616 return; 617 } 618 619 $subject = sprintf( '`%s` has been paid', $post_data['post_title'] ); 620 $headers = array( 'Reply-To: support@wordcamp.org' ); 621 622 $message = sprintf( 623 "The request for `%s` has been marked as paid by WordCamp Central. 624 625 You can view the request at: 626 627 %s 628 629 If you have any questions, please reply to let us know.", 630 $post_data['post_title'], 631 admin_url( sprintf( 'post.php?post=%s&action=edit', $request_id ) ) 632 ); 633 $message = str_replace( "\t", '', $message ); 634 635 wp_mail( $to, $subject, $message, $headers ); 588 636 } 589 637
Note: See TracChangeset
for help on using the changeset viewer.