/** * Replace the Gravity Forms form choices with remotely-pulled Salesforce picklist options. * @param array $form The Gravity Forms array object * @param [type] $ajax [description] * @return array Modified GF array object */ function override_form($form, $ajax = null) { foreach ($form['fields'] as &$field) { // If the field has mapping enabled, and the object and field are defined, replace it if (!empty($field['salesforceMapEnabled']) && !empty($field['salesforceMapObject']) && !empty($field['salesforceMapField']) && !empty($field['salesforceMapType']) && $field['salesforceMapType'] === 'live') { $remote_field = GFSalesforce::getField($field['salesforceMapObject'], $field['salesforceMapField']); if ($remote_field && !is_wp_error($remote_field) && !empty($remote_field['picklistValues']) && is_array($remote_field['picklistValues'])) { $field = self::apply_picklist_to_field($remote_field['picklistValues'], $field); } } } return $form; }