Beispiel #1
0
 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 : '');
 }