예제 #1
0
 /**
  * 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;
 }