function similarity() { require_once JPATH_COMPONENT . DS . 'models' . DS . 'data.php'; require_once JPATH_COMPONENT . DS . 'library' . DS . 'XmlConnector.php'; require_once JPATH_COMPONENT . DS . 'models' . DS . 'workdata.php'; $dataModel = new DataModel(); //načteme články z DB $art2 = $dataModel->loadArticle(JRequest::getVar('art2', -1), true); //overime, jestli jde o mapovani konkretni ulohy a podle toho nacteme prvni soubor $taskId = JRequest::getVar('taskId', 0); if ($taskId > 0) { //jde o úlohu require_once JPATH_COMPONENT . DS . 'models' . DS . 'tasks.php'; $tasksModel = new dbconnectModelTasks(); $task = $tasksModel->getTask($taskId); $art1content = $tasksModel->getTableContent($taskId); } else { //nacteme clanek z DB $art1 = $dataModel->loadArticle(JRequest::getVar('art1', -1), true); $art1content = $art1->text; } //zkontrolujeme,jestli jde o podporovane typy souboru a pripravime transformaci $error = false; $art1sourceType = ''; $art1dataXML = XmlConnector::loadInputXML($art1content, $art1sourceType); if ($art1dataXML) { $workData = new WorkDataModel(); $workData->reset(); $workData->save('assignClass', JRequest::getVar('assignClass', 'ManualAssignClass')); $workData->save('valuesAssignClass', JRequest::getVar('valuesAssignClass', 'ManualValuesAssignClass')); if ($taskId) { //jde o ulohu $workData->save('art1', array('taskId' => $task->id, 'title' => $task->name, 'sourceType' => (string) $art1sourceType)); } else { //jde o PMML soubor $workData->save('art1', array('id' => $art1->id, 'title' => $art1->title, 'sourceType' => (string) $art1sourceType)); } $art2sourceType = ''; $art2dataXML = XmlConnector::loadInputXML($art2->text, $art2sourceType); $workData->save('art2', array('id' => $art2->id, 'title' => $art2->title, 'sourceType' => (string) $art2sourceType)); if (!$art2dataXML) { $error = true; $this->showError(JText::_('FILE2_FORMAT_ERROR'), 'index.php?option=com_mapping&task=selArticles&task=selArticles&art1=' . $art1->id); } //máme zadaná FML data - uložíme ID do workdata $fmlId = JRequest::getInt('artFml', 0); if ($fmlId > 0) { $fmlArt = $dataModel->loadArticle($fmlId, true); if ($fmlArt) { $workData->save('fml', array('id' => $fmlArt->id, 'title' => $fmlArt->title)); } } } else { $error = true; $this->showError(JText::_('FILE1_FORMAT_ERROR'), 'index.php?option=com_mapping&task=selArticles&task=selArticles&art2=' . $art2->id); } if ($error) { //vyskytla se nejaka chyba if (isset($workData)) { $workData->unsetVar('art1'); $workData->unsetVar('art2'); $workData->unsetVar('fml'); } } else { //spustime vypocet podobnosti require_once JPATH_COMPONENT . DS . 'library' . DS . 'MatchingClass.php'; $matchingClass = new MatchingClass(); $matchingClass->loadXML($art1dataXML, $art2dataXML); $xmlData = $matchingClass->getMatchingXML(); //pripravime data pro useredit require_once JPATH_COMPONENT . DS . 'library' . DS . 'XmlConnector.php'; XMLConnector::loadMatchingXML($xmlData); //pokud mame FML, vyresime předdefinovaná mapování if ($fmlArt) { //máme definovaný mapovací soubor $this->autoAddUserMerges(simplexml_load_string($fmlArt->text), $workData); } //TODO//exit(var_dump($_SESSION)); //presmerujeme stranku na uzivatelske upravy $this->setRedirect('index.php?option=com_mapping&task=useredit'); } }