setQuery('SELECT `value` FROM `#__openaire` WHERE `key` = \'thriftConnectorHost\''); $host = $db -> loadResult(); $db -> setQuery('SELECT `value` FROM `#__openaire` WHERE `key` = \'thriftConnectorPort\''); $port = $db -> loadResult(); $db -> setQuery('SELECT `id` FROM #__menu where `link` like \'%com_openaire%\' and published=1 and alias=\'search\''); $this->searchMenuId = $db -> loadResult(); // Create a thrift connection (Boiler plate) $socket = new TSocket($host, $port); $socket->setRecvTimeout(30000); $this->transport = new TBufferedTransport($socket); $protocol = new TBinaryProtocol($this->transport); $this->client = new OpenAireConnectorClient($protocol); } function getSearchMenuId() { return $this->searchMenuId; } function getEvaluationStatistics() { // Open up the connection $this->transport->open(); $list = $this->client->getEvaluationStatistics(); $this->transport->close(); return $list; } function searchProjects($critName, $value) { switch ($critName) { case 'programme': $crit = ProjectSearchCriteria::programme; break; case 'subdivision': $crit = ProjectSearchCriteria::subdivision; break; case 'country': $crit = ProjectSearchCriteria::country; break; case 'organization': $crit = ProjectSearchCriteria::organization; break; case 'sc39': $crit = ProjectSearchCriteria::sc39; break; case 'noArticlesEmbargo': $crit = ProjectSearchCriteria::noArticlesEmbargo; break; } // Open up the connection $this->transport->open(); $list = $this->client->searchProjects($crit, $value); $this->transport->close(); return $list; } } ?>