/** * @param string $uri * @return string */ public function executeQuery($uri) { $bodyResource = Remote::getUriBody($uri); $contents = $bodyResource->getContents(); $results = json_decode($contents, true); if (!$results || !array_key_exists('results', $results)) { return false; } $finalresults = []; foreach ($results['results'] as $resultset) { $repo = $resultset['repo']; $arch = $resultset['arch']; $pkgname = $resultset['pkgname']; $pkgver = $resultset['pkgver'] . '-' . $resultset['pkgrel']; $pkgdesc = $resultset['pkgdesc'] . ' -- version ' . $pkgver; $uri = $this->buildPackageUri($repo, $arch, $pkgname); $title = $pkgname; $searchResult = new SearchResult(); $searchResult->setTitle($title); $searchResult->setDescription($pkgdesc); $searchResult->setUri($uri); $finalresults[] = $searchResult; } return $finalresults; }
/** * @param SearchResult $searchResult * @return string */ public function createSearchResultString(SearchResult $searchResult) { $str = $searchResult->getTitle(); $str .= ' - '; if ($searchResult->getDescription()) { $str .= $searchResult->getDescription(); $str .= ' - '; } $str .= $searchResult->getUri(); return $str; }