private function getMergeRow($titleString, &$mergeRevids) { for ($m = 1; $m < count($this->data); $m++) { for ($p = 0; $p < count($this->data[$m]); $p++) { if ($titleString == $this->data[$m][$p]['title']) { return array($m, $this->getMergeLogKey($this->data[$m][$p])); } } } if (GedcomUtil::isGedcomTitle($titleString)) { $revid = GedcomUtil::generateGedcomMergeLogKey($titleString); } else { $t = Title::newFromText($titleString, NS_PERSON); $revid = $t->getLatestRevID(GAID_FOR_UPDATE); // make sure you read the master db } // look for same revid in an existing row if ($revid) { for ($m = 1; $m < count($mergeRevids); $m++) { for ($p = 0; $p < count($mergeRevids[$m]); $p++) { if (in_array($revid, $mergeRevids[$m][$p])) { return array($m, $revid); } } } } return array(0, $revid ? $revid : ''); }