Recipe_Post_Rest_Api::update( $request )
Add trigger or action to recipe
Contents
Parameters Parameters
- $request
-
(Required)
Return Return
(WP_REST_Response)
Source Source
File: src/core/automator-post-types/uo-recipe/class-recipe-post-rest-api.php
public function update( WP_REST_Request $request ) { if ( $request->has_param( 'itemId' ) && is_numeric( $request->get_param( 'itemId' ) ) && $request->has_param( 'optionCode' ) && $request->has_param( 'optionValue' ) ) { $item_id = absint( $request->get_param( 'itemId' ) ); $recipe_id = Automator()->get->maybe_get_recipe_id( $item_id ); $meta_key = (string) Automator()->utilities->automator_sanitize( $request->get_param( 'optionCode' ) ); $meta_value = Automator()->utilities->automator_sanitize( $request->get_param( 'optionValue' ), 'mixed' ); /* * Save human readable sentence that will be stored as trigger and action meta. * Once a trigger is completed, the human readable post meta value will be saved as trigger or action log * meta fr the user to have more detail about it in the logs. */ if ( $request->has_param( 'sentence_human_readable' ) ) { $human_readable = sanitize_text_field( $request->get_param( 'sentence_human_readable' ) ); update_post_meta( $item_id, 'sentence_human_readable', $human_readable ); } if ( $request->has_param( 'sentence_human_readable_html' ) ) { $human_readable = $request->get_param( 'sentence_human_readable_html' ); update_post_meta( $item_id, 'sentence_human_readable_html', $human_readable ); } // Make sure the parent post exists $item = get_post( $item_id ); if ( $item ) { if ( is_array( $meta_value ) ) { foreach ( $meta_value as $meta_key => $meta_val ) { update_post_meta( $item_id, $meta_key, $meta_val ); } } else { update_post_meta( $item_id, $meta_key, $meta_value ); } $return['message'] = 'Option updated!'; $return['success'] = true; $return['action'] = 'updated_option'; $return['data'] = array( $item, $meta_key, $meta_value ); $return['recipes_object'] = Automator()->get_recipes_data( true, $recipe_id ); $return = apply_filters( 'automator_option_updated', $return, $item, $meta_key, $meta_value ); return new WP_REST_Response( $return, 200 ); } else { $return['message'] = 'You are trying to update trigger meta for a trigger that does not exist. Please reload the page and trying again.'; $return['success'] = false; $return['data'] = $request; $return['post'] = ''; return new WP_REST_Response( $return, 200 ); } } $return['message'] = 'The data that was sent was malformed. Please reload the page and trying again.'; $return['success'] = false; $return['data'] = $request; $return['post'] = ''; return new WP_REST_Response( $return, 200 ); }
Expand full source code Collapse full source code View on Github