/** * Default buttons are update and update_all * * @param string $xref * * @return string[] */ public function getActionButtons($xref) { if (Auth::user()->getPreference('auto_accept')) { return array(BatchUpdateModule::createSubmitButton(I18N::translate('Update'), $xref, 'update'), BatchUpdateModule::createSubmitButton(I18N::translate('Update all'), $xref, 'update_all')); } else { return array(BatchUpdateModule::createSubmitButton(I18N::translate('Update'), $xref, 'update')); } }
/** * Generate a list of married surnames that are not already present. * * @param string $xref * @param string $gedrec * * @return string[] */ private function surnamesToAdd($xref, $gedrec) { $wife_surnames = self::surnames($xref, $gedrec); $husb_surnames = array(); $missing_surnames = array(); preg_match_all('/^1 FAMS @(.+)@/m', $gedrec, $fmatch); foreach ($fmatch[1] as $famid) { $famrec = BatchUpdateModule::getLatestRecord($famid, 'FAM'); if (preg_match('/^1 MARR/m', $famrec) && preg_match('/^1 HUSB @(.+)@/m', $famrec, $hmatch)) { $husbrec = BatchUpdateModule::getLatestRecord($hmatch[1], 'INDI'); $husb_surnames = array_unique(array_merge($husb_surnames, self::surnames($hmatch[1], $husbrec))); } } foreach ($husb_surnames as $husb_surname) { if (!in_array($husb_surname, $wife_surnames)) { $missing_surnames[] = $husb_surname; } } return $missing_surnames; }