class.jetpack-sync-module-attachments.php
| 1 | <?php |
| 2 | |
| 3 | class Jetpack_Sync_Module_Attachments extends Jetpack_Sync_Module { |
| 4 | function name() { |
| 5 | return 'attachments'; |
| 6 | } |
| 7 | |
| 8 | public function init_listeners( $callable ) { |
| 9 | add_action( 'edit_attachment', array( $this, 'send_attachment_info' ) ); |
| 10 | // Once we don't have to support 4.3 we can start using add_action( 'attachment_updated', $handler, 10, 3 ); instead |
| 11 | add_action( 'add_attachment', array( $this, 'send_attachment_info' ) ); |
| 12 | add_action( 'jetpack_sync_save_update_attachment', $callable, 10, 2 ); |
| 13 | add_action( 'jetpack_sync_save_add_attachment', $callable, 10, 2 ); |
| 14 | } |
| 15 | |
| 16 | function send_attachment_info( $attachment_id ) { |
| 17 | $attachment = get_post( $attachment_id ); |
| 18 | if ( 'add_attachment' === current_filter() ) { |
| 19 | /** |
| 20 | * Fires when the client needs to sync an new attachment |
| 21 | * |
| 22 | * @since 4.2.0 |
| 23 | * |
| 24 | * @param int The attachment ID |
| 25 | * @param object The attachment |
| 26 | */ |
| 27 | do_action( 'jetpack_sync_save_add_attachment', $attachment_id, $attachment ); |
| 28 | } else { |
| 29 | /** |
| 30 | * Fires when the client needs to sync an updated attachment |
| 31 | * |
| 32 | * @since 4.9.0 |
| 33 | * |
| 34 | * @param int The attachment ID |
| 35 | * @param object The attachment |
| 36 | * |
| 37 | * Previously this action was synced using jetpack_sync_save_add_attachment action. |
| 38 | */ |
| 39 | do_action( 'jetpack_sync_save_update_attachment', $attachment_id, $attachment ); |
| 40 | } |
| 41 | |
| 42 | } |
| 43 | } |
| 44 |