Example #1
0
 function getStepFamilyLabel(WT_Family $step_family)
 {
     foreach ($this->getChildFamilies() as $family) {
         if ($family !== $step_family) {
             // Must be a step-family
             foreach ($family->getSpouses() as $parent) {
                 foreach ($step_family->getSpouses() as $step_parent) {
                     if ($parent === $step_parent) {
                         // One common parent - must be a step family
                         if ($parent->getSex() == 'M') {
                             // Father’s family with someone else
                             if ($step_family->getSpouse($step_parent)) {
                                 return WT_I18N::translate('Father’s family with %s', $step_family->getSpouse($step_parent)->getFullName());
                             } else {
                                 return WT_I18N::translate('Father’s family with an unknown individual');
                             }
                         } else {
                             // Mother’s family with someone else
                             if ($step_family->getSpouse($step_parent)) {
                                 return WT_I18N::translate('Mother’s family with %s', $step_family->getSpouse($step_parent)->getFullName());
                             } else {
                                 return WT_I18N::translate('Mother’s family with an unknown individual');
                             }
                         }
                     }
                 }
             }
         }
     }
     // Perahps same parents - but a different family record?
     return WT_I18N::translate('Family with parents');
 }
Example #2
0
 function addFamilyDescendancy(WT_Family $family = null, $level = PHP_INT_MAX)
 {
     if (!$family) {
         return;
     }
     foreach ($family->getSpouses() as $spouse) {
         $this->addClipping($spouse);
     }
     foreach ($family->getChildren() as $child) {
         $this->addClipping($child);
         foreach ($child->getSpouseFamilies() as $child_family) {
             $this->addClipping($child_family);
             if ($level > 0) {
                 $this->addFamilyDescendancy($child_family, $level - 1);
                 // recurse on the childs family
             }
         }
     }
 }