示例#1
0
 /**
  *  Akce pro dokončení úlohy mapování
  *  (naučení správných párů, nabídka na vygenerování FML)   
  */
 public function finalizedMapping()
 {
     require_once JPATH_COMPONENT . DS . 'models' . DS . 'workdata.php';
     require_once JPATH_COMPONENT . DS . 'models' . DS . 'data.php';
     $workData = new WorkDataModel();
     $art1 = $workData->load('art1');
     $dataModel = new DataModel();
     if (@$_POST['fmlArticleId'] > 0) {
         //máme ukládat do existujícího článku
         if ($dataModel->isArticleWritable($_POST['fmlArticleId'])) {
             $dataModel->saveArticle($_POST['fmlArticleId'], $this->generateFML());
             $fmlArticleId = $_POST['fmlArticleId'];
             $saved = true;
         }
     } elseif ($_POST['title'] != '' && isset($_POST['category'])) {
         $fmlArticleId = $dataModel->newArticle($_POST['title'], $this->generateFML());
         if ($fmlArticleId !== false && $fmlArticleId > 0) {
             $saved = true;
         }
     }
     if ($saved) {
         //data byla uložena
         require_once JPATH_COMPONENT . DS . 'views' . DS . 'main' . DS . 'finalizedMapping_info.html.php';
         $view = new MappingViewFinalizedMapping_info();
         if ($art1['taskId']) {
             //aktualizujeme data úlohy
             require_once JPATH_COMPONENT . DS . 'models' . DS . 'tasks.php';
             $tasksModel = new dbconnectModelTasks();
             $art2 = $workData->load('art2');
             $tasksModel->updateTaskArticles($art1['taskId'], array('fml' => $fmlArticleId, 'bkef' => $art2['id']));
             $view->assign('redirectUrl', 'index.php?option=com_dbconnect&task=listDMTasks');
         }
         $view->display();
     } else {
         require_once JPATH_COMPONENT . DS . 'views' . DS . 'main' . DS . 'finalizedMapping.html.php';
         $view = new MappingViewFinalizedMapping();
         //ověříme, jestli jde o mapování z konkrétní úlohy
         if ($art1['taskId']) {
             //jde o zpracovani ulohy - musime aktualizovat informace o uloze v DB
             require_once JPATH_COMPONENT . DS . 'models' . DS . 'tasks.php';
             $tasksModel = new dbconnectModelTasks();
             $task = $tasksModel->getTask($art1['taskId']);
             $view->assignRef('task', $task);
             if ($fmlArticle = $dataModel->loadArticle($task->fml_article)) {
                 //máme existující článek s mapováním
                 $view->assignRef('taskFmlArticle', $fmlArticle);
             }
         }
         //zobrazime view
         $view->display();
     }
 }