public function profilegroupoverride(&$data, &$dbfields, $numfields = array(), $textfields = array(), $setfields = array(), $clearfields = array()) { $fielddata = profilef::profileoverrideprepare($dbfields, $numfields, $textfields, $setfields, $clearfields); $or = false; foreach ($fielddata as $fd) { if (!$or) { if (strlen($fd) > 0) { $or = true; } } } if (!$or) { foreach ($textfields as $textfield) { if (!$or) { if (isset($dbfields['field_' . $textfield])) { if (trim($dbfields['field_' . $textfield]) != '') { // $or=true; } } } } } if ($or) { foreach ($setfields as $setfield) { $data[$setfield] = true; } foreach ($clearfields as $clearfield) { $data[$clearfield] = false; } foreach ($fielddata as $fk => $fd) { if (strlen($fd) < 1) { $data[$fk] = NULL; } else { $data[$fk] = $fd; } } foreach ($textfields as $textfield) { if (isset($dbfields['field_' . $textfield])) { $data[$textfield] = profilef::addSub($dbfields['field_' . $textfield], $setfields); } else { $data[$textfield] = ''; } } } else { foreach ($textfields as $textfield) { if (isset($dbfields['field_' . $textfield])) { if (isset($data[$textfield])) { $data[$textfield] .= "\n" . profilef::addSub($dbfields['field_' . $textfield], $setfields); } else { $data[$textfield] = profilef::addSub($dbfields['field_' . $textfield], $setfields); } } } } }