/*
Theme Name: Enfold Child
Description: A <a href='http://codex.wordpress.org/Child_Themes'>Child Theme</a> for the Enfold Wordpress Theme. If you plan to do a lot of file modifications we recommend to use this Theme instead of the original Theme. Updating will be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/



/*Add your own styles here:*/
/**
* Replaces the Gravity Forms Zapier sample entry response with the latest real entry, if available.
*
* @param WP_REST_Response $response The response to be returned.
* @param WP_REST_Server   $server   The current instance of the REST API server.
* @param WP_REST_Request  $request  The request which is currently in progress.
*/
add_filter( 'rest_post_dispatch', function ( $response, $server, $request ) {
if ( ! function_exists( 'gf_zapier' )
|| $response->get_status() !== 200
|| $request->get_method() !== 'GET'
|| empty( $request['form_id'] )
|| $request->get_route() !== "/gf/v2/forms/{$request['form_id']}/sample-entry"
|| ! GFAPI::current_user_can_any( 'gravityforms_view_entries' )
) {
return $response;
}
 
$entries = GFAPI::get_entries( $request['form_id'], array( 'status' => 'active' ), array(), array( 'page_size' => 1 ) );
if ( empty( $entries[0]['id'] ) ) {
return $response;
}
 
$form = GFAPI::get_form( $request['form_id'] );
$feed = array( 'meta' => array( 'adminLabels' => false ) );
 
return rest_ensure_response( gf_zapier()->get_body( $entries[0], $form, $feed ) );
}, 10, 3 );
add_filter( 'gform_zapier_field_value', function ( $value, $form_id, $field_id, $entry ) {
$field = GFAPI::get_field( $form_id, $field_id );

if ( $field instanceof GF_Field_FileUpload && $field->multipleFiles && ! empty( $value ) ) {
$value = json_decode( $value );
}

return $value;
}, 10, 4 );