Пример #1
0
 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;
 }
Пример #2
0
 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;
 }