• type) { case 'wiaas_order_bundle': $value = $entry[$field->id]; list ($order_id, $item_id) = explode('|', $value); if ( ! empty($order_id) && ! empty($item_id)) { return array( 'id' => $item_id, 'name' => $field->get_selected_bundle_display_name($value) ); } return null; case '': } } public static function map_order_to_entry($order_id, $form, $bundle_item_id = null) { if (empty($form['fields']) || empty(GFCommon::get_fields_by_type( $form, array('wiaas_order')) ) ) { // form does not have order field so cannot be mapped return false; } $order = wc_get_order($order_id); $bundle_item = $order->get_item($bundle_item_id); $entry = array(); foreach ($form['fields'] as $field) { switch ($field->type) { case 'wiaas_order': $entry[(string) $field->id] = $order->get_id(); break; case 'wiaas_order_bundle': if ( empty($bundle_item) && $field->isRequired) { // there is no data for required field so entry cannot be created return false; } if (! empty($bundle_item)) { $entry[(string) $field->id] = $order->get_id() . '|' . $bundle_item->get_id(); } break; case 'wiaas_order_bundle_document': if ( empty($bundle_item) && $field->isRequired) { // there is no data for required field so entry cannot be created return false; } if (! empty($bundle_item)) { $documents = wiaas_get_order_item_documents($bundle_item, $field->wiaasDocTypeFilter); if ( empty($documents) && $field->isRequired) { // there is no data for required field so entry cannot be created return false; } if (! empty($documents)) { $document = $documents[0]; $entry[$field->id] = $document['version']; } } break; } } return $entry; } } Wiaas_Order_Fields::init();