itemId = JRequest :: getUInt('Itemid', NULL); if (JFactory :: getUser()->guest) { $redirect='index.php?option=com_openaire&view=claim1'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:'').''.(JRequest :: getString('projectId')!=null)?'&projectId'.JRequest :: getString('projectId'):''.(JRequest :: getString('action')!=null)?'&action'.JRequest :: getString('action'):''; JFactory :: getApplication()->redirect(JRoute :: _('index.php?option=com_users&view=login'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:''). '&return=' . base64_encode(JRoute :: _($redirect, FALSE)), FALSE)); return TRUE; } $claimModel = $this->getModel(self :: CLAIM_MODEL); $searchModel = $this->getModel(self :: SEARCH_MODEL); $locale = JFactory :: getLanguage()->getTag(); $projectId = JRequest :: getString('projectId'); $this->funder = JRequest :: getString('funder'); $this -> fields_layout = JRequest :: getString('fields_layout', 'horizontal'); $statistics = $searchModel->getProjectStatistics($locale,true); $this->funders = ($statistics == NULL) ? NULL : $statistics['funder']->data; usort($this->funders, function ($funder1, $funder2) { return strcmp($funder1->name , $funder2-> name); }); $this->contexts = $claimModel->getContexts(); //echo('Contexts:
' . htmlspecialchars(print_r($claimModel -> getContexts(), TRUE)) . "
"); /*if (($this->funder == NULL) && ($this->funders != NULL)) { $funders = array_values($this->funders); $this->funder = array_shift($funders)->id; }*/ switch (JRequest :: getString('action')) { case self :: SUBMIT: $projectIds = JRequest :: getString('projects', NULL); $conceptIds = JFactory::getApplication()->input->get('concepts',NULL,'array'); if ($projectIds !== NULL){ $projectIds = explode(",", $projectIds); $claimModel->emptySelectedProjects(); foreach ($projectIds as $projectId) { $project = $searchModel->getProject($projectId, $locale); if ($project != NULL) { $project->id = $projectId; $claimModel->addSelectedProject($project); } } } if ($conceptIds !== NULL) { //var_dump($conceptIds); //exit; // $conceptIds = explode(",", $conceptIds); $claimModel->emptySelectedConcepts(); foreach ($conceptIds as $i => $conceptId) { $concept = $claimModel->getConcept($conceptId); if ($concept != NULL) { $concept -> id = $conceptId; $claimModel->addSelectedConcept($concept); } } } JFactory :: getApplication()->redirect(JRoute :: _('index.php?option=com_openaire&view=claim2'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:''), FALSE)); return TRUE; case self :: ADD_PROJECT: $project = $searchModel->getProject($projectId, $locale); if ($project != NULL) { $project->id = $projectId; $claimModel->addSelectedProject($project); } JFactory :: getApplication()->redirect(JRoute :: _(JUri :: base() . 'index.php?option=com_openaire&view=claim1&Itemid=' . $this->itemId . '&funder=' . $this->funder, FALSE)); return TRUE; case self :: REMOVE_PROJECT: $claimModel->removeSelectedProject($projectId); JFactory :: getApplication()->redirect(JRoute :: _(JUri :: base() . 'index.php?option=com_openaire&view=claim1&Itemid=' . $this->itemId . '&funder=' . $this->funder, FALSE)); return TRUE; case self :: ADD_CONCEPT: $conceptsIds = JFactory :: getApplication()->input->get('concept', array(),'array'); $subconceptsIds = JFactory :: getApplication()->input->get('subconcept', array(),'array'); foreach ($conceptsIds as $i => $conceptId) { if ($subconceptsIds[$i] == -1) $concept = $claimModel->getConcept($conceptId); else continue; if ($concept != NULL) { $concept->id = $conceptId; $claimModel->addSelectedConcept($concept); } } foreach ($subconceptsIds as $i => $subconceptId) { if ($subconceptId == -1) continue; $subconcept = $claimModel->getConcept($subconceptId); if ($subconcept != NULL) { $subconcept->id = $subconceptId; $claimModel->addSelectedConcept($subconcept); } } JFactory :: getApplication()->redirect(JRoute :: _('index.php?option=com_openaire&view=claim1'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:''), FALSE)); return TRUE; case self :: REMOVE_CONCEPT: $conceptId = JRequest :: getString('conceptId'); $claimModel->removeSelectedConcept($conceptId); JFactory :: getApplication()->redirect(JRoute :: _('index.php?option=com_openaire&view=claim1'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:''), FALSE)); return TRUE; case self :: STARTOVER: $claimModel->emptySelectedProjects(); $claimModel->emptySelectedConcepts(); $claimModel->emptySelectedPublications(); JFactory :: getApplication()->redirect(JRoute :: _('index.php?option=com_openaire&view=claim1'.(($this->itemId!==null)?'&Itemid=' . $this->itemId:''), FALSE)); return TRUE; } $this->selectedProjects = $claimModel->getSelectedProjects(); $this->selectedConcepts = $claimModel->getSelectedConcepts(); //JLog :: add("Retrieved contexts " . print_r($claimModel->getContexts(), TRUE), JLog :: DEBUG, self :: LOG); JLog :: add("Retrieved contexts " , JLog :: DEBUG, self :: LOG); if (count($errors = $this->get('Errors')) > 0) { JLog :: add('Error viewing claim1: ' . implode("\n", $errors), JLog :: ERROR, self :: LOG); return FALSE; } parent :: display($template); } }