public function get_value_save_entry($value, $form, $input_name, $lead_id, $lead) { $dataArray = json_decode($value, true); $value = array(); for ($i = 1; $i < $dataArray['repeatCount'] + 1; $i++) { $childValue = array(); if (!array_key_exists('children', $dataArray) && !isset($dataArray['children'])) { continue; } foreach ($dataArray['children'] as $field_id => $field) { $inputData = array(); if (array_key_exists('inputs', $field)) { $inputNames = $field['inputs']; $repeatSkips = array(); if (array_key_exists('conditionalLogic', $field)) { if (is_array($field['conditionalLogic'])) { if (array_key_exists('skip', $field['conditionalLogic'])) { $repeatSkips = $field['conditionalLogic']['skip']; } } } if (is_array($repeatSkips)) { if (in_array($i, $repeatSkips) || in_array('all', $repeatSkips)) { continue; } } if (is_array($inputNames)) { foreach ($inputNames as $inputName) { if (substr($inputName, -2) == '[]') { $getInputName = substr($inputName, 0, strlen($inputName) - 2) . '-' . $dataArray['repeaterId'] . '-' . $i; } else { $getInputName = $inputName . '-' . $dataArray['repeaterId'] . '-' . $i; } $input_field_id_num = explode('.', $inputName); if (count($input_field_id_num) == 2) { $input_field_id_num = $input_field_id_num[1]; } else { $input_field_id_num = null; } $getInputData = rgpost(str_replace('.', '_', strval($getInputName))); if (!empty($getInputData)) { if (is_array($getInputData)) { $inputCount = 0; foreach ($getInputData as $theInputData) { if (!$input_field_id_num) { $inputCount++; $inputData[$inputCount] = $theInputData; } else { $inputData[$input_field_id_num] = $theInputData; } } } else { $inputData[1] = $getInputData; } } } } } else { if (GF_Field_Repeater::get_field_type($form, $field_id) == 'section') { $inputData = '[gfRepeater-section]'; } } $childValue[$field_id] = $inputData; } $value[$i] = $childValue; } return maybe_serialize($value); }