public function getGedcom() { $canDo = JoaktreeHelper::getActions(); $procObject = $this->getProcessObject(); if ($canDo->get('core.create') && $canDo->get('core.edit')) { switch ($procObject->status) { case 'new': $procObject->start = strftime('%H:%M:%S'); $procObject->msg = JText::sprintf('JTPROCESS_START_MSG', $procObject->id); case 'progress': // continue // continue case 'endload': // continue // continue case 'endpat': // continue $gedcomfile = new jt_gedcomfile2($procObject); $resObject = $gedcomfile->process('all'); if ($resObject->status == 'endrel') { $msg = jt_gedcomfile2::clear_gedcom(); if ($msg) { $resObject->msg .= $msg . '<br />'; } } $resObject->current = strftime('%H:%M:%S'); $this->setProcessObject($resObject); $return = json_encode($resObject); break; case 'endrel': // Start loop throuth the assign FT $procObject->status = 'start'; // Addition for processing tree-persons // Addition for processing tree-persons case 'start': // continue // continue case 'starttree': // continue // continue case 'progtree': // continue // continue case 'endtree': // continue // continue case 'treedef_1': // continue // continue case 'treedef_2': // continue // continue case 'treedef_3': // continue // continue case 'treedef_4': // continue // continue case 'treedef_5': // continue // continue case 'treedef_6': // continue $familyTree = new jt_trees($procObject); $resObject = $familyTree->assignFamilyTree(); $resObject->current = strftime('%H:%M:%S'); $this->setProcessObject($resObject); $return = json_encode($resObject); break; case 'endtreedef': // we are done $procObject->status = 'end'; $procObject->current = strftime('%H:%M:%S'); $procObject->end = $procObject->current; $this->setLastUpdateDateTime(); $this->setInitialChar(); $this->setProcessObject($procObject); $return = json_encode($procObject); break; // End: Addition for processing tree-persons // End: Addition for processing tree-persons case 'end': // store first empty object $appId = $procObject->id; $this->initObject($procObject->japp_ids); $newObject = $this->getProcessObject(); $newObject->msg = JText::sprintf('JTPROCESS_END_MSG', $appId); $return = json_encode($newObject); break; case 'error': // continue // continue default: // continue break; } } else { $procObject->status = 'error'; $procObject->msg = JText::_('JT_NOTAUTHORISED'); $return = json_encode($procObject); } return $return; }
public function getGedcom() { $canDo = JoaktreeHelper::getActions(); $localMsg = ''; if ($canDo->get('core.create') && $canDo->get('core.edit')) { $cids = JFactory::getApplication()->input->get('cid', null, 'array'); if (count($cids) == 0) { // no applications are selected $return = JText::_('JTGEDCOM_MESSAGE_NOAPPLICATIONS'); } else { foreach ($cids as $cid_num => $app_id) { $procObject = new processObject(); $current = strftime('%H:%M:%S'); $procObject->msg = JText::_('JTPROCESS_START') . ':' . $current; $procObject->id = (int) $app_id; $procObject->msg .= '<br />' . JText::sprintf('JTPROCESS_START_MSG', $procObject->id); $params = JoaktreeHelper::getJTParams($procObject->id); $processStep = (int) $params->get('processStep', 9); // as of version 1.2: new method if ($processStep == 4) { $gedcomfile = new jt_gedcomfile2($procObject); $procObject = $gedcomfile->process('person'); } if ($processStep == 5) { $gedcomfile = new jt_gedcomfile2($procObject); $procObject = $gedcomfile->process('family'); $ret = jt_gedcomfile2::clear_gedcom(); if ($ret) { $procObject->msg .= '<br />' . $ret; } } if ($processStep == 6) { $gedcomfile = new jt_gedcomfile2($procObject); $procObject = $gedcomfile->process('source'); } if ($processStep == 7) { $gedcomfile = new jt_gedcomfile2($procObject); $procObject = $gedcomfile->process('repository'); $procObject = $gedcomfile->process('note'); $procObject = $gedcomfile->process('document'); } if ($processStep == 9) { $gedcomfile = new jt_gedcomfile2($procObject); $procObject = $gedcomfile->process('all'); $ret = jt_gedcomfile2::clear_gedcom(); if ($ret) { $procObject->msg .= '<br />' . $ret; } } if ($procObject->status != 'error') { $this->setInitialChar(); $this->setLastUpdateDateTime(); if ($procObject->persons > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_PERSONS', $procObject->persons); } if ($procObject->families > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_FAMILIES', $procObject->families); } if ($procObject->sources > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_SOURCES', $procObject->sources); } if ($procObject->repos > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_REPOS', $procObject->repos); } if ($procObject->notes > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_NOTES', $procObject->notes); } if ($procObject->unknown > 0) { $procObject->msg .= '<br />' . JText::sprintf('JTGEDCOM_MESSAGE_UNKNOWN', $procObject->unknown); } $procObject->msg .= '<br />' . JText::sprintf('JTPROCESS_END_MSG', $procObject->id); } else { $return = $procObject->msg; } $current = strftime('%H:%M:%S'); $procObject->msg .= '<br />' . JText::_('JTPROCESS_END') . ':' . $current; $localMsg .= $procObject->msg; } $return = $localMsg; } } else { $return = JText::_('JT_NOTAUTHORISED'); } return $return; }