LLMS_Admin_Builder::heartbeat_received( array $res, array $data )
Handle AJAX Heartbeat received calls
Description Description
All builder data is sent through the heartbeat.
Parameters Parameters
- $res
-
(array) (Required) Response data.
- $data
-
(array) (Required) Data from the heartbeat api. Builder data will be in the "llms_builder" array.
Return Return
(array)
Source Source
File: includes/admin/class.llms.admin.builder.php
public static function heartbeat_received( $res, $data ) { // Exit if there's no builder data in the heartbeat data. if ( empty( $data['llms_builder'] ) ) { return $res; } // Isolate builder data & ensure slashes aren't removed. $data = $data['llms_builder']; // Escape slashes. $data = json_decode( $data, true ); // Setup our return. $ret = array( 'status' => 'success', 'message' => esc_html__( 'Success', 'lifterlms' ), ); // Need a numeric ID for a course post type! if ( empty( $data['id'] ) || ! is_numeric( $data['id'] ) || 'course' !== get_post_type( $data['id'] ) ) { $ret['status'] = 'error'; $ret['message'] = esc_html__( 'Error: Invalid or missing course ID.', 'lifterlms' ); } elseif ( ! current_user_can( 'edit_course', $data['id'] ) ) { $ret['status'] = 'error'; $ret['message'] = esc_html__( 'Error: You do not have permission to edit this course.', 'lifterlms' ); } else { if ( ! empty( $data['detach'] ) && is_array( $data['detach'] ) ) { $ret['detach'] = self::process_detachments( $data ); } if ( current_user_can( 'delete_course', $data['id'] ) ) { if ( ! empty( $data['trash'] ) && is_array( $data['trash'] ) ) { $ret['trash'] = self::process_trash( $data ); } } if ( ! empty( $data['updates'] ) && is_array( $data['updates'] ) ) { $ret['updates']['sections'] = self::process_updates( $data ); } } // Unescape slashes after saved. // This ensures that updates are recognized as successful during Sync comparisons. // phpcs:ignore -- commented out code // $ret = json_decode( str_replace( '\\\\', '\\', json_encode( $ret ) ), true ); // Return our data. $res['llms_builder'] = $ret; return $res; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.24.2 | Unknown. |
3.16.0 | Introduced. |